├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github └── workflows │ ├── deploy.yml │ └── static-deploy.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .sentryclirc ├── .stylelintrc.js ├── README.md ├── assets ├── development │ ├── H5设计器.md │ ├── README.md │ ├── attention │ │ ├── 1.21.md │ │ └── README.md │ ├── component.md │ ├── data.md │ ├── function.md │ ├── screen.md │ ├── structure.md │ ├── 展示组件抽离.md │ └── 版本升级文档修改流程.md ├── docs │ ├── 1.0.md │ ├── 1.1.md │ ├── 1.10.md │ ├── 1.11.md │ ├── 1.12.md │ ├── 1.13.md │ ├── 1.14.md │ ├── 1.15.md │ ├── 1.16.md │ ├── 1.17.md │ ├── 1.18.md │ ├── 1.19.md │ ├── 1.2.md │ ├── 1.20.md │ ├── 1.21.md │ ├── 1.3.md │ ├── 1.4.md │ ├── 1.5.md │ ├── 1.6.md │ ├── 1.7.md │ ├── 1.8.md │ └── 1.9.md ├── icons │ ├── icon-128x128.png │ ├── icon-192x192.png │ └── icon-512x512.png ├── other │ ├── background.jpeg │ ├── home_bg.png │ ├── screenshoot-1.png │ ├── screenshoot-2.png │ ├── screenshoot-3.jpg │ ├── screenshoot-4.jpg │ ├── screenshoot-5.jpg │ └── screenshoot-6.jpg └── panel.png ├── config ├── config.ts ├── defaultSettings.ts ├── proxy.ts ├── router-config.ts └── theme.ts ├── jsconfig.json ├── mock └── .gitkeep ├── package.json ├── public ├── CNAME ├── components │ ├── ali-map.jpg │ ├── audio.jpg │ ├── bar-basic.png │ ├── box-plot.png │ ├── bubble-scatter.png │ ├── button.jpg │ ├── cachet-bar.png │ ├── candlestick-basic.png │ ├── carousel-basic.jpg │ ├── carousel-text.jpg │ ├── checkbox.jpg │ ├── circle-pie.png │ ├── clock-gauge.png │ ├── count-up-number.jpg │ ├── date-picker.jpg │ ├── decoration-1.jpg │ ├── decoration-2.jpg │ ├── decoration-3.jpg │ ├── decoration-4.jpg │ ├── decoration-5.jpg │ ├── decoration-6.jpg │ ├── decoration-7.jpg │ ├── decoration-8.jpg │ ├── default-chart.png │ ├── full-screen.jpg │ ├── funnel-basic.png │ ├── gauge-basic.png │ ├── horizontal-bar.png │ ├── icon.jpg │ ├── iframe.jpg │ ├── image-basic.jpg │ ├── input.jpg │ ├── line-bar.png │ ├── line-basic.png │ ├── list-basic.jpg │ ├── lucky-draw.jpg │ ├── model.jpg │ ├── negative-bar.png │ ├── nightingale-pie.png │ ├── pagination.jpg │ ├── parallel-basic.png │ ├── path-basic.jpg │ ├── percent-bar.png │ ├── percent-pie.png │ ├── pictorial-bar-basic.png │ ├── picture-wall.jpg │ ├── pie-basic.png │ ├── polar-bar.png │ ├── polar-stack-bar.png │ ├── progress-bar.png │ ├── qrcode.jpg │ ├── radar-basic.png │ ├── radial-bar.png │ ├── radial-line.png │ ├── radial-stack-line.png │ ├── radio.jpg │ ├── rank-bar.png │ ├── rate.jpg │ ├── scatter-basic.png │ ├── scatter-map.png │ ├── select-basic.jpg │ ├── stack-bar.png │ ├── state-card.jpg │ ├── state-list.jpg │ ├── step-line.png │ ├── steps.jpg │ ├── sub-burst-basic.png │ ├── switch.jpg │ ├── tab-basic.jpg │ ├── tag.jpg │ ├── text-carousel.jpg │ ├── text.jpg │ ├── ticket.jpg │ ├── time-machine.jpg │ ├── title-basic.jpg │ ├── tree-map-basic.png │ ├── tree.png │ ├── typed.jpg │ ├── video-basic.jpg │ ├── water-ball.png │ ├── waterfall-bar.png │ ├── weather.png │ ├── word-cloud.png │ └── zebra-bar.png ├── favicon.ico ├── home │ ├── area-chart.png │ ├── bar-chart.png │ ├── condition-1.png │ ├── condition-2.png │ ├── condition-normal.png │ ├── dot-chart.png │ ├── earth-chart.png │ ├── image-chart.png │ ├── line-chart.png │ ├── list-chart.png │ ├── pie-chart.png │ ├── radar-chart.png │ ├── thermogram-chart.png │ ├── title-chart.png │ ├── video-chart.png │ └── wall.svg ├── login │ ├── cloud-bottom.png │ ├── cloud-small.png │ ├── cloud-top.png │ ├── login-background-main.png │ ├── login-left-circle.png │ ├── login-main-background.png │ └── login-pink-background.png ├── logo.jpg ├── other │ ├── prizes-1.png │ ├── prizes-2.png │ ├── prizes-3.png │ ├── prizes-4.png │ ├── prizes-5.png │ └── prizes-6.png ├── pro_icon.svg └── start-background.jpeg ├── scripts ├── GenerateComponent │ ├── README.md │ ├── TemplateComponentFolder │ │ ├── component │ │ │ └── index.tsx │ │ ├── config │ │ │ ├── Condition.tsx │ │ │ └── index.tsx │ │ ├── defaultConfig.ts │ │ ├── id.ts │ │ ├── index.ts │ │ └── type.ts │ ├── TemplateComponentImport.txt │ ├── index.js │ ├── parentType.js │ └── subParent.js ├── StaticFileDebug │ └── index.js └── write-sentry-key.js ├── src ├── INTERNAL.md ├── access.ts ├── app.tsx ├── component-type.d.ts ├── component.d.ts ├── components │ ├── BackgroundSelect │ │ ├── index.less │ │ └── index.tsx │ ├── ChartComponents │ │ ├── Chart │ │ │ ├── Bar │ │ │ │ ├── BarBasic │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── CachetBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── HorizontalBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── LineBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── NegativeBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── PercentBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── PolarBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Polar.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── PolarStackBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Polar.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── ProgressBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── RadialBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── RankBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── StackBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── WaterFallBar │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ └── ZebraBar │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── BoxPlot │ │ │ │ └── BoxPlotBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── Candlestick │ │ │ │ └── CandlestickBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── Funnel │ │ │ │ └── FunnelBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── Gauge │ │ │ │ ├── ClockGauge │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ └── GaugeBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── Line │ │ │ │ ├── LineBasic │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── RadialLine │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── RadialStackLine │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ └── StepLine │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── Parallel │ │ │ │ └── ParallelBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ ├── ParallelAxis.tsx │ │ │ │ │ ├── ParallelConfig.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── PictorialBar │ │ │ │ └── PictorialBarBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── Pie │ │ │ │ ├── CirclePie │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Statistics.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── NightingalePie │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── PercentPie │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── LineStyle.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Statistics.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ └── PieBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── Radar │ │ │ │ └── RadarBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ ├── Radar.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── Scatter │ │ │ │ ├── BubbleScatter │ │ │ │ │ ├── component │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ │ ├── Series.tsx │ │ │ │ │ │ ├── Title.tsx │ │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ │ └── ScatterBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Axis.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── GridConfig.tsx │ │ │ │ │ ├── Legend.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── SunBurst │ │ │ │ └── SunBurstBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ ├── Tree │ │ │ │ └── TreeBasic │ │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── defaultConfig.ts │ │ │ │ │ ├── id.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── type.ts │ │ │ └── TreeMap │ │ │ │ └── TreeMapBasic │ │ │ │ ├── component │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ ├── Animation.tsx │ │ │ │ ├── Condition.tsx │ │ │ │ ├── Series.tsx │ │ │ │ ├── Tooltip.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ ├── Common │ │ │ ├── AngleSelect │ │ │ │ ├── CircleSelect.tsx │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── AnimationConfig │ │ │ │ └── index.tsx │ │ │ ├── AxisConfig │ │ │ │ ├── XAxisPosition.tsx │ │ │ │ ├── YAxisPosition.tsx │ │ │ │ └── index.tsx │ │ │ ├── BarCarouselConfig │ │ │ │ ├── index.tsx │ │ │ │ └── useBarCarousel.ts │ │ │ ├── BaseConfig │ │ │ │ ├── connect.ts │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── BootstrapIconSelect │ │ │ │ └── index.tsx │ │ │ ├── BoxShadowConfig │ │ │ │ └── index.tsx │ │ │ ├── CenterPositionConfig │ │ │ │ └── index.tsx │ │ │ ├── ChartAnimationTypeSelect │ │ │ │ └── index.tsx │ │ │ ├── ChartGradientSelect │ │ │ │ └── index.tsx │ │ │ ├── Checkbox │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── ClipPathSelect │ │ │ │ └── index.tsx │ │ │ ├── Collapse │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── Component │ │ │ │ ├── EventEmitter.ts │ │ │ │ ├── hook │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── useAnimationChange.ts │ │ │ │ │ ├── useChartComponentResize.ts │ │ │ │ │ ├── useChartComponentTooltip.ts │ │ │ │ │ ├── useChartEvent.ts │ │ │ │ │ ├── useChartPerConfig.ts │ │ │ │ │ ├── useChartValueMap.ts │ │ │ │ │ ├── useComponent.ts │ │ │ │ │ ├── useComponentResize.ts │ │ │ │ │ ├── useComponentSize.ts │ │ │ │ │ ├── useCondition.ts │ │ │ │ │ ├── useFilterChange.ts │ │ │ │ │ ├── useGroupComponent.ts │ │ │ │ │ └── useLinkageInteractive.ts │ │ │ │ └── index.tsx │ │ │ ├── ComponentOptionConfig │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── ConditionConfig │ │ │ │ ├── components │ │ │ │ │ ├── CodeEditor │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── InitialStateConfig │ │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── ConfigRender │ │ │ │ ├── SubConfigRender.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── type.ts │ │ │ │ └── utils.tsx │ │ │ ├── ConfigWrapper │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── Constants │ │ │ │ └── defaultConfig.ts │ │ │ ├── DataConfig │ │ │ │ ├── components │ │ │ │ │ ├── FieldMap │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── ResponseData │ │ │ │ │ │ ├── components │ │ │ │ │ │ ├── AutoUpdate │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── CodeViewer │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── DataConfigDetail │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── DataFilter │ │ │ │ │ │ │ │ ├── List.tsx │ │ │ │ │ │ │ │ ├── ListItem │ │ │ │ │ │ │ │ │ ├── NameEditor.tsx │ │ │ │ │ │ │ │ │ ├── StepData.tsx │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── addItem.tsx │ │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── DefineConfig │ │ │ │ │ │ │ │ ├── ApiConfig │ │ │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── MockConfig │ │ │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── SaveCodeEditor │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── StaticConfig │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── type.d.ts │ │ │ │ │ │ │ ├── NormalTitle │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── ResponseDataMap │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── ResponseDataTitle │ │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── SubTitle │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── connect.ts │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── Dropdown │ │ │ │ └── index.tsx │ │ │ ├── FetchFragment │ │ │ │ ├── connect.ts │ │ │ │ └── index.tsx │ │ │ ├── FontConfig │ │ │ │ └── index.tsx │ │ │ ├── FormModal │ │ │ │ └── index.tsx │ │ │ ├── FormatterSelect │ │ │ │ └── index.tsx │ │ │ ├── GridConfig │ │ │ │ └── index.tsx │ │ │ ├── Icon │ │ │ │ └── index.tsx │ │ │ ├── IconRadio │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── Input │ │ │ │ └── index.tsx │ │ │ ├── InputNumber │ │ │ │ └── index.tsx │ │ │ ├── InterActiveConfig │ │ │ │ ├── components │ │ │ │ │ ├── BaseConfig │ │ │ │ │ │ ├── FieldSetting.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── LinkageConfig │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── connect.ts │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── KeyWordPosition │ │ │ │ └── index.tsx │ │ │ ├── LabelPositionConfig │ │ │ │ └── index.tsx │ │ │ ├── LegendConfig │ │ │ │ └── index.tsx │ │ │ ├── LineStyleGroupConfig │ │ │ │ └── index.tsx │ │ │ ├── LineStyleSelect │ │ │ │ └── index.tsx │ │ │ ├── LocalUpload │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── MapTable │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── MarginConfig │ │ │ │ └── index.tsx │ │ │ ├── MaxMinConfig │ │ │ │ └── index.tsx │ │ │ ├── Modal │ │ │ │ └── index.tsx │ │ │ ├── MultipleSeriesConfig │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── NumberPositionConfig │ │ │ │ └── index.tsx │ │ │ ├── Opacity │ │ │ │ └── index.tsx │ │ │ ├── OrientSelect │ │ │ │ └── index.tsx │ │ │ ├── PositionConfig │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── RenderWrapper │ │ │ │ ├── InViewportWrapper │ │ │ │ │ └── index.tsx │ │ │ │ ├── README.md │ │ │ │ ├── ShowIdWrapper │ │ │ │ │ ├── connect.ts │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── RuleTree │ │ │ │ ├── components │ │ │ │ │ ├── Condition │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── Header │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── InnerConnectLeft │ │ │ │ │ │ ├── index.svg │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── InnerConnectRight │ │ │ │ │ │ ├── index.svg │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── OuterConnectLeft │ │ │ │ │ │ ├── index.svg │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── OuterConnectRight │ │ │ │ │ │ ├── index.svg │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── Select │ │ │ │ └── index.tsx │ │ │ ├── SeriesLabelConfig │ │ │ │ └── index.tsx │ │ │ ├── ShadowConfig │ │ │ │ └── index.tsx │ │ │ ├── SimpleHueSelect │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── SingleDefineSelect │ │ │ │ └── index.tsx │ │ │ ├── Slider │ │ │ │ └── index.tsx │ │ │ ├── Structure │ │ │ │ ├── ConfigList │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── Container │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── FullForm │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── HalfForm │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── HalfFormPlaceHolder │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ └── PlaceHolder │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ ├── Switch │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── SymbolSelect │ │ │ │ └── index.tsx │ │ │ ├── TextAlignConfig │ │ │ │ └── index.tsx │ │ │ ├── Textarea │ │ │ │ └── index.tsx │ │ │ ├── Tooltip │ │ │ │ └── index.tsx │ │ │ ├── TooltipAnimationConfig │ │ │ │ └── index.tsx │ │ │ ├── TooltipCommon │ │ │ │ └── index.tsx │ │ │ ├── global.less │ │ │ ├── index.less │ │ │ └── utils │ │ │ │ └── index.ts │ │ ├── Font │ │ │ ├── CountUpNumber │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── FontCarousel │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Icon │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── LoopText │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Tag │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Text │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── TimeMachine │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ └── Title │ │ │ │ ├── component │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ ├── Condition.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ ├── Interactive │ │ │ ├── Button │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Checkbox │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Datepicker │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── components │ │ │ │ │ │ └── CodeEditor │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── FullScreen │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Input │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Pagination │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Radio │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Rate │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Select │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Steps │ │ │ │ ├── component │ │ │ │ │ ├── components │ │ │ │ │ │ └── RcSteps │ │ │ │ │ │ │ ├── Step.tsx │ │ │ │ │ │ │ ├── Steps.tsx │ │ │ │ │ │ │ ├── css │ │ │ │ │ │ │ ├── custom-icon.less │ │ │ │ │ │ │ ├── iconfont.less │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ ├── label-placement.less │ │ │ │ │ │ │ ├── nav.less │ │ │ │ │ │ │ ├── progress-dot.less │ │ │ │ │ │ │ ├── small.less │ │ │ │ │ │ │ ├── variables.less │ │ │ │ │ │ │ └── vertical.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── interface.ts │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Switch │ │ │ │ ├── component │ │ │ │ │ ├── components │ │ │ │ │ │ └── Switch │ │ │ │ │ │ │ ├── getBackgroundColor.js │ │ │ │ │ │ │ ├── hexColorPropType.js │ │ │ │ │ │ │ ├── icons.jsx │ │ │ │ │ │ │ └── index.jsx │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ └── Tab │ │ │ │ ├── component │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ ├── Map │ │ │ ├── Ali3DMap │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Base.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── Scatter.tsx │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ └── ScatterMap │ │ │ │ ├── component │ │ │ │ ├── china.json │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ ├── Condition.tsx │ │ │ │ ├── Geo.tsx │ │ │ │ ├── Scatter.tsx │ │ │ │ ├── Tooltip.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ ├── Media │ │ │ ├── Audio │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Carousel │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Image │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Model │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── PictureWall │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ └── Video │ │ │ │ ├── component │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ ├── Condition.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ ├── Other │ │ │ ├── Iframe │ │ │ │ ├── component │ │ │ │ │ ├── MessageTooltip │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── MessageUitl │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── List │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── LuckyDraw │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── util.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── PathBasic │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── QrCode │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── StateCard │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── StateList │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── WaterBall │ │ │ │ ├── component │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ ├── Animation.tsx │ │ │ │ │ ├── Condition.tsx │ │ │ │ │ ├── Series.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Weather │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ └── WordCloud │ │ │ │ ├── component │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ ├── Condition.tsx │ │ │ │ ├── Series.tsx │ │ │ │ ├── Tooltip.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ ├── README.md │ │ ├── Source │ │ │ ├── Decoration1 │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Decoration2 │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Decoration3 │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Decoration4 │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Decoration5 │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Decoration6 │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Decoration7 │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Decoration8 │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ ├── Ticket │ │ │ │ ├── component │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ │ └── Typed │ │ │ │ ├── component │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── config │ │ │ │ └── index.tsx │ │ │ │ ├── defaultConfig.ts │ │ │ │ ├── id.ts │ │ │ │ ├── index.ts │ │ │ │ └── type.ts │ │ └── index.ts │ ├── CodeEditor │ │ └── index.tsx │ ├── CodeView │ │ └── index.tsx │ ├── ColorGradientSelect │ │ ├── index.less │ │ └── index.tsx │ ├── ColorImageBackground │ │ ├── index.less │ │ └── index.tsx │ ├── ColorMatcher │ │ └── index.tsx │ ├── ColorSelect │ │ ├── index.less │ │ └── index.tsx │ ├── ComponentError │ │ ├── index.less │ │ └── index.tsx │ ├── ComponentSelect │ │ ├── index.less │ │ └── index.tsx │ ├── ConfirmModal │ │ └── index.tsx │ ├── ContextMenu │ │ ├── Actions │ │ │ ├── Bottom.tsx │ │ │ ├── ChangeComponentWithData.tsx │ │ │ ├── Clone.tsx │ │ │ ├── Copy.tsx │ │ │ ├── CopyComponentWithStyle.tsx │ │ │ ├── Delete.tsx │ │ │ ├── EditName.tsx │ │ │ ├── Group.tsx │ │ │ ├── Lock.tsx │ │ │ ├── NextOrder.tsx │ │ │ ├── Paste.tsx │ │ │ ├── PrevOrder.tsx │ │ │ ├── RecoverDefault.tsx │ │ │ ├── Redo.tsx │ │ │ ├── Show.tsx │ │ │ ├── Top.tsx │ │ │ ├── UnGroup.tsx │ │ │ ├── Undo.tsx │ │ │ ├── index.tsx │ │ │ ├── type.ts │ │ │ └── useChildren.tsx │ │ ├── action.map.ts │ │ ├── connect.ts │ │ └── index.tsx │ ├── CoverSelect │ │ └── index.tsx │ ├── DebounceButton │ │ └── index.tsx │ ├── Decoration │ │ ├── Decoration1 │ │ │ ├── index.less │ │ │ └── index.tsx │ │ ├── Decoration11 │ │ │ ├── index.less │ │ │ └── index.tsx │ │ ├── Decoration2 │ │ │ ├── index.less │ │ │ └── index.tsx │ │ ├── Decoration3 │ │ │ ├── index.less │ │ │ └── index.tsx │ │ ├── Decoration4 │ │ │ ├── index.less │ │ │ └── index.tsx │ │ ├── Decoration5 │ │ │ ├── index.less │ │ │ └── index.tsx │ │ ├── Decoration6 │ │ │ ├── index.less │ │ │ └── index.tsx │ │ └── Decoration8 │ │ │ ├── index.less │ │ │ └── index.tsx │ ├── DeepStructureComponent │ │ └── index.tsx │ ├── DesignerBackground │ │ ├── index.less │ │ └── index.tsx │ ├── Empty │ │ └── index.tsx │ ├── EnterSubmitWrapper │ │ └── index.tsx │ ├── FocusWrapper │ │ └── index.tsx │ ├── GhostButton │ │ ├── index.less │ │ └── index.tsx │ ├── GlobalLoadingActionButton │ │ └── index.tsx │ ├── GuideLine │ │ ├── connect.ts │ │ ├── index.less │ │ ├── index.tsx │ │ └── utils.ts │ ├── IconTooltip │ │ ├── index.less │ │ └── index.tsx │ ├── ImageUpload │ │ ├── Input.tsx │ │ ├── index.less │ │ └── index.tsx │ ├── InternalBackground │ │ ├── components │ │ │ └── Background │ │ │ │ ├── ColorLineBackground │ │ │ │ ├── Canvas.jsx │ │ │ │ ├── index.jsx │ │ │ │ └── index.less │ │ │ │ ├── DoodleBubbleBackground │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── GradientMixBackground │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ └── index.tsx │ ├── InternalBorder │ │ ├── components │ │ │ └── Border │ │ │ │ ├── BorderBox1 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox10 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox11 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox12 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox13 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox2 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox3 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox4 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox5 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox6 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox7 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox8 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── BorderBox9 │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── ConnorBorder │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── DashedBorder │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── FlickerBorder │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── GradientBorder │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── GradientLoopBorder │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── RotateLoopBorder │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ │ ├── autoResize-prev.js │ │ │ │ ├── autoResize.ts │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.less │ │ │ │ ├── index.tsx │ │ │ │ └── type.ts │ │ ├── connect.ts │ │ └── index.tsx │ ├── IntroductionButton │ │ ├── index.less │ │ └── index.tsx │ ├── LazyLoad │ │ └── index.tsx │ ├── LoadingButton │ │ └── index.tsx │ ├── PageLoading │ │ ├── index.less │ │ └── index.tsx │ ├── ParamsSelect │ │ ├── connect.ts │ │ ├── index.less │ │ └── index.tsx │ ├── PromptChrome │ │ ├── index.less │ │ └── index.tsx │ ├── RelationBorder │ │ ├── index.less │ │ └── index.tsx │ ├── RequestMessage │ │ └── index.tsx │ ├── Ruler │ │ ├── connect.ts │ │ └── index.tsx │ ├── ScreenComponentConfigChangeTooltip │ │ ├── Constants │ │ │ ├── 1.21 │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ ├── connect.ts │ │ ├── index.less │ │ └── index.tsx │ ├── ScrollText │ │ ├── index.less │ │ └── index.tsx │ ├── SyncCodeEditor │ │ ├── Clipboard.tsx │ │ ├── Editor.tsx │ │ ├── EditorNext.tsx │ │ ├── FullScreenEditor.tsx │ │ ├── FunctionHeader.tsx │ │ ├── Typesetting.tsx │ │ ├── index.less │ │ └── index.tsx │ ├── Tooltip │ │ ├── index.less │ │ └── index.tsx │ └── Winbox │ │ └── index.tsx ├── favicon.ico ├── global.less ├── global.ts ├── hooks │ ├── index.ts │ ├── useAnyDva.ts │ ├── useBackground.ts │ ├── useClipPath.ts │ ├── useComponentHover.ts │ ├── useComponentStyle.ts │ ├── useComponentsPath.ts │ ├── useControlModalDisabledKeyPressVisible.ts │ ├── useDeepUpdateEffect.ts │ ├── useFirstChange.ts │ ├── useGetUserInfo.ts │ ├── useGlobalLoading.ts │ ├── useHash.ts │ ├── useIsScrolling.ts │ ├── useLayerHover.ts │ ├── useLocalStorage.ts │ ├── usePanelFocus.ts │ ├── usePrimaryColor.ts │ ├── useResponseData.ts │ ├── useScrollBar.ts │ └── useValidatorChange.ts ├── layouts │ ├── AuthLayout │ │ └── index.tsx │ ├── CommonLayout │ │ └── index.tsx │ ├── StaticLayout │ │ └── index.tsx │ └── components │ │ ├── Avatar │ │ ├── connect.ts │ │ └── index.tsx │ │ └── CommonLayout │ │ ├── ContainerWrapper │ │ └── index.tsx │ │ ├── ContainerWrapper4Static │ │ └── index.tsx │ │ ├── DocumentTitleSetWrapper │ │ └── index.tsx │ │ ├── DocumentTitleSetWrapper4Static │ │ └── index.tsx │ │ ├── EnvironmentPrompt │ │ └── index.tsx │ │ ├── EventEmitWrapper │ │ └── index.tsx │ │ ├── FetchLoginWrapper │ │ ├── connect.ts │ │ └── index.tsx │ │ ├── InitialConfigWrapper │ │ └── index.tsx │ │ ├── ListLayout │ │ ├── index.less │ │ └── index.tsx │ │ └── index.tsx ├── lib │ ├── color-thief.js │ └── shine.js ├── loading.tsx ├── manifest.json ├── models │ ├── connect.d.ts │ ├── data.ts │ ├── global.ts │ ├── local.ts │ ├── settings.ts │ └── user.ts ├── pages │ ├── Designer │ │ ├── components │ │ │ ├── ExchangeScreenFlag │ │ │ │ ├── components │ │ │ │ │ └── MobilePreviewer │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── connect.ts │ │ │ │ └── index.tsx │ │ │ ├── FetchScreenComponent │ │ │ │ ├── connect.ts │ │ │ │ └── index.tsx │ │ │ ├── Header │ │ │ │ ├── ActionList │ │ │ │ │ ├── components │ │ │ │ │ │ ├── CollapseConfigPanel │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ComponentListCollapse │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ComponentSearch │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── DebugConfig │ │ │ │ │ │ │ ├── Winbox │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ └── InsertComponent │ │ │ │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── LayerSearch │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── LayerShowControl │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── connect.ts │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── LeftContent │ │ │ │ ├── components │ │ │ │ │ ├── CallbackManage │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── ComponentList │ │ │ │ │ │ ├── SearchList.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── item.tsx │ │ │ │ │ ├── ComponentTypeList │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── ConstantManage │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── LayerManage │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── Header │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── Tree │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── ActionBar │ │ │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── TreeNode │ │ │ │ │ │ │ │ │ ├── Lock.tsx │ │ │ │ │ │ │ │ │ ├── NameEdit.tsx │ │ │ │ │ │ │ │ │ ├── Visible.tsx │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── prev-tree.tsx │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── LensConfig │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── LocalConfigMange │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── BackgroundConfig │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── CrossClipboard │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── GuideLineSticky │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── RequestDefaultConfig │ │ │ │ │ │ ├── CodeEditor │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── ThemeConfig │ │ │ │ │ │ ├── ColorItem.tsx │ │ │ │ │ │ ├── CustomConfig │ │ │ │ │ │ │ ├── UploadImage.tsx │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── ToolBar │ │ │ │ │ │ ├── action.map.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── PageLoading │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── Panel │ │ │ │ ├── components │ │ │ │ │ ├── Clipboard │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── ComponentList │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── H5AutoHeight │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── Painter │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── PanelWrapper │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── AbsorbGuideLine │ │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── GuideLineButton │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── Ruler │ │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── ReactSelecto │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── ToolBar │ │ │ │ │ │ ├── components │ │ │ │ │ │ ├── PanelThumb │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── Scale │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── ShortcutKeys │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── RenderComponent │ │ │ │ ├── components │ │ │ │ │ ├── Content │ │ │ │ │ │ ├── ComponentInternalWrapper │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ComponentWrapper │ │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── SubGroup │ │ │ │ │ │ │ ├── AbstractComponent.tsx │ │ │ │ │ │ │ ├── CarouselGroupWrapper.tsx │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── HoverChangeWrapper.tsx │ │ │ │ │ ├── NameTag │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── SelectChangeWrapper.tsx │ │ │ │ │ └── Wrapper │ │ │ │ │ │ ├── H5Wrapper │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── PcWrapper │ │ │ │ │ │ ├── KeyActionComponent.tsx │ │ │ │ │ │ ├── ResizeComponent.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── connect.ts │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── RightContent │ │ │ │ ├── components │ │ │ │ │ ├── ComponentConfig │ │ │ │ │ │ ├── ConfigComponent.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── GlobalConfig │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── ScaleConfig │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── ThemeConfig │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── GroupConfig │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── CarouselConfig │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ └── ComponentList │ │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── ComponentSelect │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── Config │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── OptionConfig │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── ConditionConfig │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── KeyWordPosition │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── TransformConfig │ │ │ │ │ │ │ │ │ │ ├── ChildTransformConfig.tsx │ │ │ │ │ │ │ │ │ │ ├── PerspectiveConfig.tsx │ │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── WrapperConfig │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── connect.ts │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── MultiConfig │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── connect.ts │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ └── ShepherdWrapper │ │ │ │ ├── connect.ts │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ ├── connect.ts │ │ ├── index.less │ │ ├── index.tsx │ │ └── utils │ │ │ └── component │ │ │ ├── GenerateList │ │ │ └── index.tsx │ │ │ └── index.tsx │ ├── Forget │ │ ├── connect.ts │ │ └── index.tsx │ ├── Home │ │ ├── components │ │ │ ├── ActionSection │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── AnimationSection │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── AnimationSvg │ │ │ │ ├── Animation.tsx │ │ │ │ └── index.tsx │ │ │ ├── AnimationTitle │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── Background │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── LinearBackground │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── MatterBoxes │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ └── SubMainSection │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ ├── index.less │ │ └── index.tsx │ ├── Login │ │ ├── components │ │ │ └── Background │ │ │ │ └── index.tsx │ │ ├── connect.ts │ │ ├── index.less │ │ └── index.tsx │ ├── ModelList │ │ ├── components │ │ │ └── List │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ ├── index.less │ │ └── index.tsx │ ├── Previewer │ │ ├── connect.ts │ │ └── index.tsx │ ├── Register │ │ ├── connect.ts │ │ └── index.tsx │ ├── ScreenList │ │ ├── components │ │ │ ├── AddDesigner │ │ │ │ └── index.tsx │ │ │ ├── ScreenList │ │ │ │ ├── ShareSetting.tsx │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ └── SvgAnimation │ │ │ │ ├── SvgMap.tsx │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ ├── connect.ts │ │ ├── index.less │ │ └── index.tsx │ ├── Share │ │ ├── components │ │ │ ├── PainterWrapper │ │ │ │ └── index.tsx │ │ │ ├── PasswordConfirm │ │ │ │ └── index.tsx │ │ │ └── WaterMark │ │ │ │ ├── connect.ts │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ ├── connect.ts │ │ ├── index.less │ │ ├── index.tsx │ │ ├── useResize.ts │ │ └── useWrapperProps.ts │ ├── Test │ │ └── index.tsx │ └── Viewer │ │ ├── connect.ts │ │ └── index.tsx ├── services │ ├── api.d.ts │ ├── index.ts │ ├── mock.ts │ ├── model.ts │ ├── screen.ts │ ├── third.ts │ ├── upload.ts │ └── user.ts ├── theme │ ├── essos.project.json │ ├── macarons.project.json │ ├── roma.project.json │ ├── shine.project.json │ ├── westeros.project.json │ └── wonderland.project.json ├── typings.d.ts └── utils │ ├── Assist │ ├── About │ │ ├── README.md │ │ └── index.tsx │ ├── BreakingChange │ │ ├── ComponentInputButtonWidthChange │ │ │ ├── README.md │ │ │ └── index.ts │ │ ├── ComponentTransformOriginChange │ │ │ ├── README.md │ │ │ └── index.ts │ │ ├── ConditionChange │ │ │ ├── README.md │ │ │ └── index.ts │ │ ├── README.md │ │ ├── ScreenComponentConfigChangeTooltip │ │ │ ├── README.md │ │ │ └── index.ts │ │ ├── ScreenThemeTypeChange │ │ │ ├── README.md │ │ │ └── index.ts │ │ └── index.ts │ ├── ClipboardComponent │ │ └── index.ts │ ├── Component │ │ ├── ComponentActionValidator.ts │ │ ├── ComponentThemeChange.ts │ │ ├── ComponentUtil.ts │ │ └── index.tsx │ ├── ComponentSelect │ │ └── index.ts │ ├── CopyAndPaste │ │ └── index.ts │ ├── DataChangePool │ │ ├── SaveScreenData.ts │ │ └── index.ts │ ├── EchartsLoader │ │ └── index.ts │ ├── ErrorBoundary │ │ └── index.ts │ ├── EventEmitter │ │ ├── ComponentAbout.event.ts │ │ ├── PresetEmit │ │ │ └── index.ts │ │ ├── README.md │ │ └── index.ts │ ├── FilterData │ │ └── index.tsx │ ├── GlobalComponent │ │ └── index.ts │ ├── GlobalConfig │ │ └── index.ts │ ├── GlobalDva │ │ └── index.ts │ ├── Group │ │ └── index.ts │ ├── History │ │ └── index.ts │ ├── Interactive │ │ └── index.ts │ ├── LeadInAndOutput │ │ └── index.ts │ ├── LocalConfig │ │ └── index.ts │ ├── Logger │ │ ├── RequestLogger │ │ │ ├── index.less │ │ │ └── index.tsx │ │ ├── Window │ │ │ ├── index.less │ │ │ └── index.tsx │ │ └── index.ts │ ├── MultiComponentAction │ │ └── index.ts │ ├── Progress │ │ └── index.ts │ ├── RequestPool │ │ └── index.ts │ ├── Theme │ │ └── index.ts │ ├── Upload │ │ └── index.ts │ └── VariableString │ │ └── index.ts │ ├── captureCover.ts │ ├── constants │ ├── another.ts │ ├── color.ts │ ├── data.ts │ ├── defaultValue.ts │ ├── index.ts │ ├── mobile.ts │ ├── screenData.ts │ └── theme.ts │ ├── getImageColor.ts │ ├── index.ts │ ├── request.ts │ ├── string2arraybuffer.ts │ └── tool.ts ├── tsconfig.json ├── typings.d.ts └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | 15 | [Makefile] 16 | indent_style = tab 17 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | /lambda/ 2 | /scripts 3 | /config 4 | .history -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: [require.resolve('@umijs/fabric/dist/eslint')], 3 | globals: { 4 | ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: true, 5 | page: true, 6 | REACT_APP_ENV: true, 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | **/*.md 2 | **/*.svg 3 | **/*.ejs 4 | **/*.html 5 | scripts/* 6 | package.json 7 | .umi 8 | .umi-production 9 | .umi-test 10 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all", 4 | "printWidth": 80, 5 | "importOrder": [ 6 | "", 7 | "^@(.*)", 8 | "^[./]" 9 | ], 10 | "overrides": [ 11 | { 12 | "files": ".prettierrc", 13 | "options": { "parser": "json" } 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /.sentryclirc: -------------------------------------------------------------------------------- 1 | [auth] 2 | token=token 3 | 4 | [defaults] 5 | url = https://sentry.io 6 | org = food-billboard 7 | project = create-chart -------------------------------------------------------------------------------- /.stylelintrc.js: -------------------------------------------------------------------------------- 1 | const fabric = require('@umijs/fabric'); 2 | 3 | module.exports = { 4 | ...fabric.stylelint, 5 | }; 6 | -------------------------------------------------------------------------------- /assets/development/H5设计器.md: -------------------------------------------------------------------------------- 1 | 2 | # H5大屏设计器 3 | 4 | 设计在手机上查看的大屏。 5 | 6 | ## 功能 7 | 8 | - 取消对预览和分享页面关于是否`手机浏览器`的判断。 9 | - 增加数据结构对手机大屏的标识。 10 | - 增加`pc`转`h5`的支持。 11 | - 阉割或修改设计阶段画布的操作。 12 | - 列表和模板列表增加Pc和H5筛选。 13 | - 新建时选择PC和H5 14 | - 可在编辑时对大屏进行类型修改。并支持预览。 15 | 16 | ## 细节 17 | 18 | ### 阉割或修改设计阶段画布的操作 19 | - 流式布局 20 | - 居中显示(space-between) 21 | - 全局增加padding 22 | - 取消drag 23 | - 增加sort-hoc 24 | - 置顶置底逻辑修改 25 | - 标尺显示动态更新 26 | - 画布动态增加高度 27 | - 宽高尺寸不可编辑 -------------------------------------------------------------------------------- /assets/development/README.md: -------------------------------------------------------------------------------- 1 | 2 | # 开发思路 3 | 4 | 放一些开发过程中,构思的一些东西。 -------------------------------------------------------------------------------- /assets/development/attention/README.md: -------------------------------------------------------------------------------- 1 | # 记录逻辑代码更新细节 -------------------------------------------------------------------------------- /assets/development/展示组件抽离.md: -------------------------------------------------------------------------------- 1 | 2 | # 抽离展示组件 3 | 4 | 允许在脱离项目对大屏进行展示。 5 | 6 | ## 去掉不需要的模块 7 | 8 | - 登录判断 9 | - 生命周期判断 10 | - Mock数据接口默认不调用,使用props 11 | - 服务端请求接口默认不调用,使用props -------------------------------------------------------------------------------- /assets/development/版本升级文档修改流程.md: -------------------------------------------------------------------------------- 1 | # 版本升级文档修改流程 2 | 3 | 1. `package.json`文件的`version`字段 4 | 2. `README.md`文件 5 | - 当前版本修改 6 | - `changelog` 7 | - 说在后头的版本 8 | 3. `/assets/docs`增加新版本迭代信息文件 -------------------------------------------------------------------------------- /assets/docs/1.0.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1.0 版本 3 | 4 | ## 目录结构 5 | - `/list` 大屏列表 6 | - `/login` 登录 7 | - `/register` 注册 8 | - `/forget` 忘记密码 9 | - `/designer` 设计器 10 | - `/preview` 预览 11 | - `/share` 分享 12 | ## 功能 13 | 其中的一些细节功能可以自行操作了解 14 | ### 图层 15 | 左边列表中提供图层的功能设置组件的一些属性,包括置顶、置底、显示/隐藏、成组/取消成组、锁定/取消锁定、复制/粘贴、删除、重命名等。 16 | ### 数据 17 | 目前数据只提供了`静态数据`和`api数据` 18 | 并且提供了 19 | - 数据过滤器功能 20 | - 全局常量 21 | - 字符串变量(可以在api的headers和body中使用变量) 22 | 23 | ### 交互 24 | 大部分组件包含了对应的事件用于响应数据的变化,并且同步到绑定了该组件变量的对应组件中,达到数据联动的效果。 25 | 26 | 27 | -------------------------------------------------------------------------------- /assets/docs/1.10.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1.10 3 | 4 | ### 设计器 5 | fix(): 辅助线放大缩小后位置变动 6 | fix(): 拖拽辅助线多次保存 7 | fix(): 关闭过滤器,组件未刷新 8 | fix(): 颜色选择多次调用保存 9 | fix(): 配置在聚焦情况切换选中组件未保存 10 | 11 | feat(): 新增组件拖拽事件 12 | feat(): 新增画布缩略图 13 | feat(): 组件列表可折叠 14 | feat(): 组件onChange预调用 15 | 16 | style(): 画布顶点位置修改 17 | 18 | refactor(): 辅助线吸附效果优化 19 | 20 | ### 组件 21 | 22 | 新增组件 23 | - 天气预报 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /assets/docs/1.11.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1.11 3 | 4 | ### 设计器 5 | 6 | feat(): 滤镜 7 | 8 | refactor(): 自动保存取消关闭提示 9 | 10 | ### 组件 11 | 12 | 新增组件 13 | - 高德地图 14 | - 3d模型 15 | - 声音 16 | 17 | 优化组件 18 | - iframe支持上下层级交互 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /assets/docs/1.12.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1.12 3 | 4 | ### 设计器 5 | 6 | feat(): 图层搜索 7 | feat(): 组件搜索 8 | 9 | style(): 组件研发未完成状态标识 10 | style(): 组件列表大图预览 11 | 12 | refactor(): 错误弹窗单例模式 13 | 14 | ### 组件 15 | 16 | 新增组件 17 | - 路径动画 18 | - 二维码 19 | 20 | 优化组件 21 | - 高德地图事件 22 | - 高德地图坐标配置新增 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /assets/docs/1.13.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1.13 3 | 4 | ### 设计器 5 | 6 | feat(): 跨屏复制粘贴组件 7 | feat(): 组件与组增加边框配置 8 | feat(): 所有组件增加链接跳转配置 9 | feat(): 增加全局配置,预设背景选择 10 | 11 | ### 组件 12 | 13 | 新增组件 14 | - 抽奖 15 | 16 | 优化组件 17 | - 天气组件频繁调用接口 18 | - 高德地图弹框背景色默认值修改 19 | - 取消高德地图设计时的鼠标事件 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /assets/docs/1.16.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1.16 3 | 4 | ### 首页 5 | 6 | refactor(): 首页样式重构 7 | 8 | ### 列表 9 | 10 | fix(): 页面重新显示时,查询未带上参数 11 | 12 | feat(): 分享操作完成,不自动关闭弹窗 13 | 14 | style(): 部分按钮颜色修改 15 | 16 | ### 设计器 17 | 18 | fix(): 数据配置页面badge组件颜色不正确 19 | fix(): 线上bug处理 20 | 21 | feat(): 增加主题色自定义输入颜色 22 | feat(): 代码编辑器增加简单语法提示 23 | feat(): 过滤器方法增加第三参数,对象,当前存在[mock](http://mockjs.com/)实例 24 | feat(): 增加一键清空无引用过滤器功能 25 | 26 | ### 组件 27 | 28 | 新增组件 29 | - 分页 30 | 31 | 优化组件 32 | - 基础柱形图、渐变柱形图、排名、横向柱形图,增加轮播配置 33 | - 部分组件增加默认圆角 -------------------------------------------------------------------------------- /assets/docs/1.17.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1.17 3 | 4 | ### 首页 5 | 6 | style(): logo旁文字在手机端显示太小 7 | style(): 控制刚体元素在页面中的宽度 8 | 9 | ### 设计器 10 | 11 | fix(): 组内元素调整大小没有同步调整组的大小 12 | 13 | style(): 图层列表组件hover文字颜色显示不对 14 | style(): 画布模块最外层不设置滚动 15 | style(): 画布去除横向滚动条 16 | 17 | refactor(): 组件相关使用按需加载 18 | 19 | ### 组件 20 | 21 | 优化组件 22 | - 搜索组件,按钮占比配置使用百分比 23 | - switch默认背景色不对 24 | - 下拉框组件层级显示错误 -------------------------------------------------------------------------------- /assets/docs/1.19.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1.19 3 | 4 | ### 设计器 5 | 6 | fix(): 前端大屏导出按钮一直loading 7 | fix(): 前端大屏移动端切换错误调用接口 8 | fix(): 前端大屏新增首次拖入组件报错 9 | 10 | feat(): 组内轮播 11 | feat(): 增加内置背景粒子动画 12 | 13 | style(): 图层排序ui样式修改 14 | 15 | refactor(): 未操作过期时间延长,或者在页面显示的情况下增加时间 16 | refactor(): 跳转交互配置,不启用无法编辑输入框 17 | 18 | -------------------------------------------------------------------------------- /assets/docs/1.20.md: -------------------------------------------------------------------------------- 1 | ## 1.20.1 2 | 3 | ### 设计器 4 | 5 | fix(): 保存时没有id导致保存失败 6 | 7 | refactor(): 错别字 8 | 9 | ## 1.20 10 | 11 | ### 设计器 12 | 13 | fix(): 折叠组件列表,搜索弹出框位置错误 14 | fix(): 折叠右侧配置面板,标尺和辅助线的尺寸未更新 15 | 16 | -------------------------------------------------------------------------------- /assets/docs/1.7.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1.7 3 | 4 | ### 首页 5 | style(): 新增介绍首页 6 | 7 | ### 大屏列表&模板列表 8 | style(): 增加背景动效 9 | 10 | ### 登录权限页面 11 | style(): 登录背景重构 12 | 13 | ### 设计器 14 | fix(): 数据更改图表无动画 15 | fix(): 组内组件新增mock字段报错 16 | fix(): mock重新获取数据的按钮不显示 17 | fix(): 数据改变图表组件没更新 18 | 19 | feat(): 组件配置更新按批次提交后台 20 | feat(): 设计状态下定时请求不开启 21 | feat(): 增加代码形式的相关功能开关 22 | feat(): 保存超时提示 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /assets/docs/1.9.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1.9 3 | 4 | ### 首页 5 | 6 | style(): 增加背景特效 7 | 8 | ### 设计器 9 | fix(): 列表页没有调获取用户信息接口 10 | fix(): 关联参数下拉框值不变的情况触发保存 11 | fix(): 生产环境自动保存模式,关闭页面时出现保存提示 12 | fix(): 删除操作触发多次保存 13 | 14 | feat(): 画布组件的`hover`映射到图层中 15 | 16 | style(): 图层文本编辑的背景颜色修改 17 | style(): 条件配置新增按钮颜色不正确 18 | 19 | refactor(): 保存进度条优化 20 | refactor(): 非成组组件支持对齐 21 | refactor(): 选中过滤器后自动取消下拉的值 22 | refactor(): 取消组件`icon`保存后台 23 | 24 | ### 组件 25 | 26 | 优化组件 27 | - 图片、视频、轮播图增加`外框形状`配置 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /assets/other/background.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/other/background.jpeg -------------------------------------------------------------------------------- /assets/other/home_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/other/home_bg.png -------------------------------------------------------------------------------- /assets/other/screenshoot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/other/screenshoot-1.png -------------------------------------------------------------------------------- /assets/other/screenshoot-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/other/screenshoot-2.png -------------------------------------------------------------------------------- /assets/other/screenshoot-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/other/screenshoot-3.jpg -------------------------------------------------------------------------------- /assets/other/screenshoot-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/other/screenshoot-4.jpg -------------------------------------------------------------------------------- /assets/other/screenshoot-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/other/screenshoot-5.jpg -------------------------------------------------------------------------------- /assets/other/screenshoot-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/other/screenshoot-6.jpg -------------------------------------------------------------------------------- /assets/panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/assets/panel.png -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "emitDecoratorMetadata": true, 4 | "experimentalDecorators": true, 5 | "baseUrl": ".", 6 | "paths": { 7 | "@/*": ["./src/*"] 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /mock/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/mock/.gitkeep -------------------------------------------------------------------------------- /public/CNAME: -------------------------------------------------------------------------------- 1 | preview.pro.ant.design -------------------------------------------------------------------------------- /public/components/ali-map.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/ali-map.jpg -------------------------------------------------------------------------------- /public/components/audio.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/audio.jpg -------------------------------------------------------------------------------- /public/components/bar-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/bar-basic.png -------------------------------------------------------------------------------- /public/components/box-plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/box-plot.png -------------------------------------------------------------------------------- /public/components/bubble-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/bubble-scatter.png -------------------------------------------------------------------------------- /public/components/button.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/button.jpg -------------------------------------------------------------------------------- /public/components/cachet-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/cachet-bar.png -------------------------------------------------------------------------------- /public/components/candlestick-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/candlestick-basic.png -------------------------------------------------------------------------------- /public/components/carousel-basic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/carousel-basic.jpg -------------------------------------------------------------------------------- /public/components/carousel-text.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/carousel-text.jpg -------------------------------------------------------------------------------- /public/components/checkbox.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/checkbox.jpg -------------------------------------------------------------------------------- /public/components/circle-pie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/circle-pie.png -------------------------------------------------------------------------------- /public/components/clock-gauge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/clock-gauge.png -------------------------------------------------------------------------------- /public/components/count-up-number.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/count-up-number.jpg -------------------------------------------------------------------------------- /public/components/date-picker.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/date-picker.jpg -------------------------------------------------------------------------------- /public/components/decoration-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/decoration-1.jpg -------------------------------------------------------------------------------- /public/components/decoration-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/decoration-2.jpg -------------------------------------------------------------------------------- /public/components/decoration-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/decoration-3.jpg -------------------------------------------------------------------------------- /public/components/decoration-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/decoration-4.jpg -------------------------------------------------------------------------------- /public/components/decoration-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/decoration-5.jpg -------------------------------------------------------------------------------- /public/components/decoration-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/decoration-6.jpg -------------------------------------------------------------------------------- /public/components/decoration-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/decoration-7.jpg -------------------------------------------------------------------------------- /public/components/decoration-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/decoration-8.jpg -------------------------------------------------------------------------------- /public/components/default-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/default-chart.png -------------------------------------------------------------------------------- /public/components/full-screen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/full-screen.jpg -------------------------------------------------------------------------------- /public/components/funnel-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/funnel-basic.png -------------------------------------------------------------------------------- /public/components/gauge-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/gauge-basic.png -------------------------------------------------------------------------------- /public/components/horizontal-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/horizontal-bar.png -------------------------------------------------------------------------------- /public/components/icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/icon.jpg -------------------------------------------------------------------------------- /public/components/iframe.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/iframe.jpg -------------------------------------------------------------------------------- /public/components/image-basic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/image-basic.jpg -------------------------------------------------------------------------------- /public/components/input.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/input.jpg -------------------------------------------------------------------------------- /public/components/line-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/line-bar.png -------------------------------------------------------------------------------- /public/components/line-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/line-basic.png -------------------------------------------------------------------------------- /public/components/list-basic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/list-basic.jpg -------------------------------------------------------------------------------- /public/components/lucky-draw.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/lucky-draw.jpg -------------------------------------------------------------------------------- /public/components/model.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/model.jpg -------------------------------------------------------------------------------- /public/components/negative-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/negative-bar.png -------------------------------------------------------------------------------- /public/components/nightingale-pie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/nightingale-pie.png -------------------------------------------------------------------------------- /public/components/pagination.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/pagination.jpg -------------------------------------------------------------------------------- /public/components/parallel-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/parallel-basic.png -------------------------------------------------------------------------------- /public/components/path-basic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/path-basic.jpg -------------------------------------------------------------------------------- /public/components/percent-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/percent-bar.png -------------------------------------------------------------------------------- /public/components/percent-pie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/percent-pie.png -------------------------------------------------------------------------------- /public/components/pictorial-bar-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/pictorial-bar-basic.png -------------------------------------------------------------------------------- /public/components/picture-wall.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/picture-wall.jpg -------------------------------------------------------------------------------- /public/components/pie-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/pie-basic.png -------------------------------------------------------------------------------- /public/components/polar-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/polar-bar.png -------------------------------------------------------------------------------- /public/components/polar-stack-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/polar-stack-bar.png -------------------------------------------------------------------------------- /public/components/progress-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/progress-bar.png -------------------------------------------------------------------------------- /public/components/qrcode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/qrcode.jpg -------------------------------------------------------------------------------- /public/components/radar-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/radar-basic.png -------------------------------------------------------------------------------- /public/components/radial-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/radial-bar.png -------------------------------------------------------------------------------- /public/components/radial-line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/radial-line.png -------------------------------------------------------------------------------- /public/components/radial-stack-line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/radial-stack-line.png -------------------------------------------------------------------------------- /public/components/radio.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/radio.jpg -------------------------------------------------------------------------------- /public/components/rank-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/rank-bar.png -------------------------------------------------------------------------------- /public/components/rate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/rate.jpg -------------------------------------------------------------------------------- /public/components/scatter-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/scatter-basic.png -------------------------------------------------------------------------------- /public/components/scatter-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/scatter-map.png -------------------------------------------------------------------------------- /public/components/select-basic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/select-basic.jpg -------------------------------------------------------------------------------- /public/components/stack-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/stack-bar.png -------------------------------------------------------------------------------- /public/components/state-card.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/state-card.jpg -------------------------------------------------------------------------------- /public/components/state-list.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/state-list.jpg -------------------------------------------------------------------------------- /public/components/step-line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/step-line.png -------------------------------------------------------------------------------- /public/components/steps.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/steps.jpg -------------------------------------------------------------------------------- /public/components/sub-burst-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/sub-burst-basic.png -------------------------------------------------------------------------------- /public/components/switch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/switch.jpg -------------------------------------------------------------------------------- /public/components/tab-basic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/tab-basic.jpg -------------------------------------------------------------------------------- /public/components/tag.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/tag.jpg -------------------------------------------------------------------------------- /public/components/text-carousel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/text-carousel.jpg -------------------------------------------------------------------------------- /public/components/text.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/text.jpg -------------------------------------------------------------------------------- /public/components/ticket.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/ticket.jpg -------------------------------------------------------------------------------- /public/components/time-machine.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/time-machine.jpg -------------------------------------------------------------------------------- /public/components/title-basic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/title-basic.jpg -------------------------------------------------------------------------------- /public/components/tree-map-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/tree-map-basic.png -------------------------------------------------------------------------------- /public/components/tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/tree.png -------------------------------------------------------------------------------- /public/components/typed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/typed.jpg -------------------------------------------------------------------------------- /public/components/video-basic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/video-basic.jpg -------------------------------------------------------------------------------- /public/components/water-ball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/water-ball.png -------------------------------------------------------------------------------- /public/components/waterfall-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/waterfall-bar.png -------------------------------------------------------------------------------- /public/components/weather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/weather.png -------------------------------------------------------------------------------- /public/components/word-cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/word-cloud.png -------------------------------------------------------------------------------- /public/components/zebra-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/components/zebra-bar.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/favicon.ico -------------------------------------------------------------------------------- /public/home/area-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/area-chart.png -------------------------------------------------------------------------------- /public/home/bar-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/bar-chart.png -------------------------------------------------------------------------------- /public/home/condition-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/condition-1.png -------------------------------------------------------------------------------- /public/home/condition-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/condition-2.png -------------------------------------------------------------------------------- /public/home/condition-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/condition-normal.png -------------------------------------------------------------------------------- /public/home/dot-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/dot-chart.png -------------------------------------------------------------------------------- /public/home/earth-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/earth-chart.png -------------------------------------------------------------------------------- /public/home/image-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/image-chart.png -------------------------------------------------------------------------------- /public/home/line-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/line-chart.png -------------------------------------------------------------------------------- /public/home/list-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/list-chart.png -------------------------------------------------------------------------------- /public/home/pie-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/pie-chart.png -------------------------------------------------------------------------------- /public/home/radar-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/radar-chart.png -------------------------------------------------------------------------------- /public/home/thermogram-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/thermogram-chart.png -------------------------------------------------------------------------------- /public/home/title-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/title-chart.png -------------------------------------------------------------------------------- /public/home/video-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/home/video-chart.png -------------------------------------------------------------------------------- /public/home/wall.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/login/cloud-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/login/cloud-bottom.png -------------------------------------------------------------------------------- /public/login/cloud-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/login/cloud-small.png -------------------------------------------------------------------------------- /public/login/cloud-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/login/cloud-top.png -------------------------------------------------------------------------------- /public/login/login-background-main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/login/login-background-main.png -------------------------------------------------------------------------------- /public/login/login-left-circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/login/login-left-circle.png -------------------------------------------------------------------------------- /public/login/login-main-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/login/login-main-background.png -------------------------------------------------------------------------------- /public/login/login-pink-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/login/login-pink-background.png -------------------------------------------------------------------------------- /public/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/logo.jpg -------------------------------------------------------------------------------- /public/other/prizes-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/other/prizes-1.png -------------------------------------------------------------------------------- /public/other/prizes-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/other/prizes-2.png -------------------------------------------------------------------------------- /public/other/prizes-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/other/prizes-3.png -------------------------------------------------------------------------------- /public/other/prizes-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/other/prizes-4.png -------------------------------------------------------------------------------- /public/other/prizes-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/other/prizes-5.png -------------------------------------------------------------------------------- /public/other/prizes-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/other/prizes-6.png -------------------------------------------------------------------------------- /public/start-background.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/public/start-background.jpeg -------------------------------------------------------------------------------- /scripts/GenerateComponent/README.md: -------------------------------------------------------------------------------- 1 | 2 | # 快速生成新组件 3 | 4 | ## 所需参数 5 | 6 | - 大类型 7 | parent 8 | 组件所属的大类型,比如`chart`、`font`、`source`、`other`、`` 9 | - 子类型 10 | sub 11 | 组件所属的子类型 12 | - 类型 13 | type 14 | 组件自身的类型 15 | - 标题 16 | title 17 | 组件的名称 18 | - 描述 19 | description 20 | 组件的描述,可选 21 | - 键名 22 | key 23 | 组件的`key`,不写则表示类型 -------------------------------------------------------------------------------- /scripts/GenerateComponent/TemplateComponentFolder/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID:ComponentSelfType = '{{COMPONENT_TYPE}}'; -------------------------------------------------------------------------------- /scripts/GenerateComponent/TemplateComponentFolder/type.ts: -------------------------------------------------------------------------------- 1 | export type T{{COMPONENT_NAME}}Config = { 2 | color: ComponentData.TColorConfig 3 | content: string 4 | counter: number 5 | textStyle: ComponentData.TFontConfig 6 | condition: ComponentData.ComponentConditionConfig; 7 | }; 8 | -------------------------------------------------------------------------------- /scripts/GenerateComponent/TemplateComponentImport.txt: -------------------------------------------------------------------------------- 1 | import ThisIsComponentImage from '../../../../../../public/components/default-chart.png' 2 | 3 | export default { 4 | type: 'component-type-prefix', 5 | parentType: 'component-parent-type-prefix', 6 | subParentType: 'component-sub-parent-type-prefix', 7 | icon: ThisIsComponentImage, 8 | title: 'component-title-prefix', 9 | description: 'component-description-prefix' 10 | } -------------------------------------------------------------------------------- /src/INTERNAL.md: -------------------------------------------------------------------------------- 1 | 2 | ## 内部细节 3 | 4 | ### 全局事件 5 | 携带注释 #绑定全局事件 -------------------------------------------------------------------------------- /src/access.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/src/access.ts -------------------------------------------------------------------------------- /src/components/BackgroundSelect/index.less: -------------------------------------------------------------------------------- 1 | .component-background-select { 2 | } 3 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/BarBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'BAR_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/CachetBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'CACHET_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/CachetBar/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "CACHET_BAR" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "CACHET_BAR" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/HorizontalBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'HORIZONTAL_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/LineBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'LINE_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/LineBar/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "LINE_BAR" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "LINE_BAR" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/NegativeBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'NEGATIVE_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/PercentBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'PERCENT_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/PolarBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'POLAR_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/PolarBar/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "POLAR_BAR" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "POLAR_BAR" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/PolarStackBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'POLAR_STACK_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/ProgressBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'PROGRESS_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/RadialBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'RADIAL_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/RadialBar/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "RADIAL_BAR" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "RADIAL_BAR" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/RankBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'RANK_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/RankBar/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "RANK_BAR" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "RANK_BAR" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/StackBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'STACK_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/StackBar/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "STACK_BAR" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "STACK_BAR" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/WaterFallBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'WATER_FALL_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/ZebraBar/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'ZEBRA_BAR'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Bar/ZebraBar/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "ZEBRA_BAR" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "ZEBRA_BAR" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/BoxPlot/BoxPlotBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'BOX_PLOT_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Candlestick/CandlestickBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'CANDLESTICK_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Funnel/FunnelBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'FUNNEL_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Gauge/ClockGauge/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'CLOCK_GAUGE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Gauge/GaugeBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'GAUGE_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Line/LineBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'LINE_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Line/LineBasic/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "LINE_BASIC" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "LINE_BASIC" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Line/RadialLine/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'RADIAL_LINE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Line/RadialStackLine/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'RADIAL_STACK_LINE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Line/StepLine/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'STEP_LINE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Line/StepLine/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "STEP_LINE" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "STEP_LINE" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Parallel/ParallelBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'PARALLEL_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/PictorialBar/PictorialBarBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'PICTORIAL_BAR_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Pie/CirclePie/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'CIRCLE_PIE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Pie/CirclePie/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "CIRCLE_PIE" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "CIRCLE_PIE" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Pie/NightingalePie/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'NIGHTINGALE_PIE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Pie/PercentPie/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'PERCENT_PIE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Pie/PieBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'PIE_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Pie/PieBasic/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "PIE_BASIC" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "PIE_BASIC" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Radar/RadarBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'RADAR_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Scatter/BubbleScatter/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'BUBBLE_SCATTER'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Scatter/ScatterBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'SCATTER_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/SunBurst/SunBurstBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'SUN_BURST_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/SunBurst/SunBurstBasic/type.ts: -------------------------------------------------------------------------------- 1 | export type TSunBurstBasicConfig = { 2 | tooltip: ComponentData.ComponentTooltip; 3 | series: { 4 | center: [number, number]; 5 | radius: number; 6 | label: Omit & { 7 | formatter: string; 8 | }; 9 | nodeClick: false | 'rootToNode'; 10 | }; 11 | animation: ComponentData.ComponentChartAnimationConfig; 12 | condition: ComponentData.ComponentConditionConfig; 13 | }; 14 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Tree/TreeBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'TREE_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/Tree/TreeBasic/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "TREE_BASIC" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "TREE_BASIC" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Chart/TreeMap/TreeMapBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'TREE_MAP_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/BaseConfig/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | return { 5 | components: state.global.components, 6 | flag: state.global.screenData.config.flag.type, 7 | }; 8 | }; 9 | 10 | export const mapDispatchToProps = (dispatch: any) => ({}); 11 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/BaseConfig/index.less: -------------------------------------------------------------------------------- 1 | .component-design-config-base { 2 | } 3 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Checkbox/index.less: -------------------------------------------------------------------------------- 1 | .design-config-checkbox { 2 | font-size: 12px; 3 | :global { 4 | .ant-checkbox { 5 | font-size: 12px; 6 | } 7 | .ant-checkbox-inner { 8 | width: 14px; 9 | height: 14px; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Checkbox/index.tsx: -------------------------------------------------------------------------------- 1 | import {} from 'react'; 2 | import { Checkbox as AntCheckbox } from 'antd'; 3 | import { CheckboxProps } from 'antd/es/checkbox'; 4 | import classnames from 'classnames'; 5 | import styles from './index.less'; 6 | 7 | const Switch = (props: CheckboxProps) => { 8 | return ( 9 | 13 | ); 14 | }; 15 | 16 | export default Switch; 17 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Component/hook/index.ts: -------------------------------------------------------------------------------- 1 | export * from './useComponent'; 2 | export * from './useChartComponentResize'; 3 | export * from './useChartValueMap'; 4 | export * from './useComponentResize'; 5 | export * from './useAnimationChange'; 6 | export * from './useCondition'; 7 | export * from './useChartComponentTooltip'; 8 | export * from './useGroupComponent'; 9 | export * from './useChartPerConfig'; 10 | export * from './useComponentSize'; 11 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Component/hook/useChartEvent.ts: -------------------------------------------------------------------------------- 1 | import {} from 'react'; 2 | 3 | export function useChartEvent() {} 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Component/hook/useComponentResize.ts: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react'; 2 | 3 | export function useComponentResize( 4 | value: ComponentData.TComponentData, 5 | callback?: () => void, 6 | ) { 7 | const { 8 | config: { 9 | style: { width, height }, 10 | }, 11 | } = value; 12 | 13 | useEffect(() => { 14 | callback?.(); 15 | }, [width, height]); 16 | } 17 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/AutoUpdate/index.less: -------------------------------------------------------------------------------- 1 | .design-config-auto-update { 2 | margin-top: 15px; 3 | margin-left: 10px; 4 | font-size: 12px; 5 | :global { 6 | .ant-input-number { 7 | width: 32px; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/CodeViewer/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | const { filter, params, constants } = state.global.screenData.config.attr; 5 | return { 6 | filter, 7 | params, 8 | constants, 9 | }; 10 | }; 11 | 12 | export const mapDispatchToProps = (dispatch: any) => ({}); 13 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/DataFilter/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | return { 5 | filter: state.global.screenData.config.attr.filter, 6 | }; 7 | }; 8 | 9 | export const mapDispatchToProps = (dispatch: any) => ({ 10 | setCallbackData: (value: any) => 11 | dispatch({ type: 'global/setCallbackData', value }), 12 | }); 13 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/DefineConfig/ApiConfig/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | return { 5 | params: state.global.screenData.config.attr.params, 6 | constants: state.global.screenData.config.attr.constants, 7 | }; 8 | }; 9 | 10 | export const mapDispatchToProps = (dispatch: any) => ({}); 11 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/DefineConfig/ApiConfig/index.less: -------------------------------------------------------------------------------- 1 | .api-config-copy-text { 2 | margin-bottom: 0 !important; 3 | :global { 4 | .ant-typography-copy { 5 | color: white !important; 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/DefineConfig/MockConfig/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | return { 5 | params: state.global.screenData.config.attr.params, 6 | constants: state.global.screenData.config.attr.constants, 7 | }; 8 | }; 9 | 10 | export const mapDispatchToProps = (dispatch: any) => ({}); 11 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/DefineConfig/type.d.ts: -------------------------------------------------------------------------------- 1 | export type TOnChange = ( 2 | value: SuperPartial, 3 | ) => void; 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/ResponseDataTitle/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | return { 5 | params: state.global.screenData.config.attr.params, 6 | constants: state.global.screenData.config.attr.constants, 7 | }; 8 | }; 9 | 10 | export const mapDispatchToProps = (dispatch: any) => ({}); 11 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/components/SubTitle/index.less: -------------------------------------------------------------------------------- 1 | .design-config-data-detail-sub-title { 2 | margin-top: 15px; 3 | font-size: 12px; 4 | font-size: 12px; 5 | } 6 | .design-config-data-detail-sub-form { 7 | margin: 10px 0; 8 | font-size: 12px; 9 | } 10 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/components/ResponseData/components/DataConfigDetail/index.less: -------------------------------------------------------------------------------- 1 | .design-config-data-detail { 2 | width: 100%; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/DataConfig/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | return {}; 5 | }; 6 | 7 | export const mapDispatchToProps = (dispatch: any) => ({}); 8 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/FetchFragment/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | return { 5 | params: state.global.screenData.config.attr.params, 6 | filter: state.global.screenData.config.attr.filter, 7 | constants: state.global.screenData.config.attr.constants, 8 | screenType: state.global.screenType, 9 | }; 10 | }; 11 | 12 | export const mapDispatchToProps = (dispatch: any) => ({}); 13 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Icon/index.tsx: -------------------------------------------------------------------------------- 1 | import { createFromIconfontCN } from '@ant-design/icons'; 2 | 3 | const IconFont = createFromIconfontCN({ 4 | scriptUrl: '//at.alicdn.com/t/c/font_3208102_8u5ei3wwylp.js', 5 | }); 6 | 7 | export default IconFont; 8 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/InterActiveConfig/components/BaseConfig/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | return { 5 | params: state.global.screenData.config.attr.params, 6 | }; 7 | }; 8 | 9 | export const mapDispatchToProps = (dispatch: any) => ({ 10 | setScreen: (value: any) => dispatch({ type: 'global/setScreen', value }), 11 | }); 12 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/InterActiveConfig/components/LinkageConfig/index.less: -------------------------------------------------------------------------------- 1 | .design-config-interactive-linkage { 2 | } 3 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/InterActiveConfig/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | return { 5 | components: state.global.components, 6 | }; 7 | }; 8 | 9 | export const mapDispatchToProps = (dispatch: any) => ({}); 10 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/InterActiveConfig/index.less: -------------------------------------------------------------------------------- 1 | @import '~antd/es/style/themes/default.less'; 2 | 3 | .design-config-interactive { 4 | background-color: @layout-header-background; 5 | padding-bottom: 8px; 6 | } 7 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/LocalUpload/index.less: -------------------------------------------------------------------------------- 1 | .component-local-upload-button { 2 | & > span { 3 | font-size: 30px; 4 | } 5 | & > div { 6 | font-size: 12px; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Modal/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/food-billboard/create-chart/6c1ca842c00da8842a06e87b3b2eed50fa394fcf/src/components/ChartComponents/Common/Modal/index.tsx -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/PositionConfig/index.less: -------------------------------------------------------------------------------- 1 | @import '~antd/es/style/themes/default.less'; 2 | 3 | .design-config-position-config-active { 4 | color: white !important; 5 | background-color: @primary-color !important; 6 | } 7 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/RenderWrapper/README.md: -------------------------------------------------------------------------------- 1 | # 对组件的render进行一系列的同类处理 -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/RenderWrapper/ShowIdWrapper/connect.ts: -------------------------------------------------------------------------------- 1 | import { ConnectState } from '@/models/connect'; 2 | 3 | export const mapStateToProps = (state: ConnectState) => { 4 | return { 5 | debug: state.local.debug, 6 | screenType: state.global.screenType, 7 | }; 8 | }; 9 | 10 | export const mapDispatchToProps = () => ({}); 11 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/RenderWrapper/ShowIdWrapper/index.less: -------------------------------------------------------------------------------- 1 | .render-wrapper-show-id { 2 | position: absolute; 3 | left: 0; 4 | top: 0; 5 | font-size: 14px; 6 | user-select: none; 7 | pointer-events: none; 8 | z-index: 0; 9 | } 10 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/RuleTree/components/InnerConnectLeft/index.tsx: -------------------------------------------------------------------------------- 1 | import {} from 'react'; 2 | import { ReactComponent as Connect } from './index.svg'; 3 | 4 | const InnerConnectLeft = () => { 5 | return ( 6 |
13 | 14 |
15 | ); 16 | }; 17 | 18 | export default InnerConnectLeft; 19 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/RuleTree/components/InnerConnectRight/index.tsx: -------------------------------------------------------------------------------- 1 | import {} from 'react'; 2 | import { ReactComponent as Connect } from './index.svg'; 3 | 4 | const InnerConnectLeft = () => { 5 | return ( 6 |
13 | 14 |
15 | ); 16 | }; 17 | 18 | export default InnerConnectLeft; 19 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/RuleTree/components/OuterConnectLeft/index.tsx: -------------------------------------------------------------------------------- 1 | import {} from 'react'; 2 | import { ReactComponent as Connect } from './index.svg'; 3 | 4 | const OuterConnectLeft = (props: {}) => { 5 | return ( 6 |
13 | 14 |
15 | ); 16 | }; 17 | 18 | export default OuterConnectLeft; 19 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/RuleTree/components/OuterConnectRight/index.tsx: -------------------------------------------------------------------------------- 1 | import {} from 'react'; 2 | import { ReactComponent as Connect } from './index.svg'; 3 | 4 | const OuterConnectRight = () => { 5 | return ( 6 |
13 | 14 |
15 | ); 16 | }; 17 | 18 | export default OuterConnectRight; 19 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/SimpleHueSelect/index.less: -------------------------------------------------------------------------------- 1 | .simple-hue-select-wrapper { 2 | align-items: center; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Structure/Container/index.less: -------------------------------------------------------------------------------- 1 | .design-config-form-item-container { 2 | margin-left: -4px; 3 | margin-right: -4px; 4 | display: flex; 5 | flex-flow: wrap; 6 | align-items: center; 7 | justify-content: space-between; 8 | padding-bottom: 0; 9 | line-height: var(--config-component-height); 10 | position: relative; 11 | } 12 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Structure/Container/index.tsx: -------------------------------------------------------------------------------- 1 | import { ReactNode } from 'react'; 2 | import styles from './index.less'; 3 | 4 | const FormContainer = ({ children }: { children?: ReactNode }) => { 5 | return ( 6 |
7 | {children} 8 |
9 | ); 10 | }; 11 | 12 | export default FormContainer; 13 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Structure/FullForm/index.less: -------------------------------------------------------------------------------- 1 | .design-config-full-form { 2 | padding: 0 4px 4px 4px; 3 | width: 100%; 4 | &-content { 5 | line-height: var(--config-component-height); 6 | } 7 | &-label { 8 | color: rgb(92, 99, 102); 9 | height: 16px; 10 | line-height: 16px; 11 | font-size: 12px; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Structure/HalfForm/index.less: -------------------------------------------------------------------------------- 1 | .design-config-half-form { 2 | padding: 0 4px 4px 4px; 3 | width: 48%; 4 | &-content { 5 | line-height: var(--config-component-height); 6 | } 7 | &-label { 8 | color: rgb(92, 99, 102); 9 | height: 16px; 10 | line-height: 16px; 11 | font-size: 12px; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Structure/HalfFormPlaceHolder/index.less: -------------------------------------------------------------------------------- 1 | .design-config-half-form-placeholder { 2 | cursor: pointer; 3 | position: absolute; 4 | left: 50%; 5 | transform: translateX(-6px); 6 | font-size: 14px; 7 | } 8 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Structure/PlaceHolder/index.less: -------------------------------------------------------------------------------- 1 | .design-right-placeholder { 2 | display: block; 3 | width: 16px; 4 | height: var(--config-component-height); 5 | margin-right: 4px; 6 | position: relative; 7 | line-height: var(--config-component-height); 8 | text-align: center; 9 | } 10 | .design-right-placeholder-show { 11 | } 12 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/Switch/index.tsx: -------------------------------------------------------------------------------- 1 | import {} from 'react'; 2 | import { Switch as AntSwitch } from 'antd'; 3 | import { SwitchProps } from 'antd/es/switch'; 4 | import classnames from 'classnames'; 5 | import styles from './index.less'; 6 | 7 | const Switch = (props: SwitchProps) => { 8 | return ( 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default Switch; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Common/index.less: -------------------------------------------------------------------------------- 1 | @design-config-sub-color: #bcc9d4; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/CountUpNumber/component/index.less: -------------------------------------------------------------------------------- 1 | .component-font-count-up-number { 2 | white-space: nowrap; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/CountUpNumber/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'COUNT_UP_NUMBER'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/FontCarousel/component/index.less: -------------------------------------------------------------------------------- 1 | .component-font-carousel { 2 | &-wrapper { 3 | display: flex; 4 | align-items: center; 5 | } 6 | &-main { 7 | display: flex; 8 | align-items: center; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/FontCarousel/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'FONT_CAROUSEL'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/FontCarousel/type.ts: -------------------------------------------------------------------------------- 1 | export type TFontCarouselConfig = { 2 | textStyle: ComponentData.TFontConfig; 3 | speed: number; 4 | direction: 'left' | 'right'; 5 | play: boolean; 6 | pauseOnHover: boolean; 7 | delay: number; 8 | condition: ComponentData.ComponentConditionConfig; 9 | }; 10 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Icon/component/index.less: -------------------------------------------------------------------------------- 1 | .component-font-icon { 2 | align-items: center; 3 | justify-content: center; 4 | :global { 5 | .bi { 6 | position: relative; 7 | } 8 | .bi::before { 9 | position: absolute; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Icon/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'ICON'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Icon/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "ICON" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "ICON" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Icon/type.ts: -------------------------------------------------------------------------------- 1 | export type TIconConfig = { 2 | color: ComponentData.TColorConfig; 3 | value: string; 4 | }; 5 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/LoopText/component/index.less: -------------------------------------------------------------------------------- 1 | .component-font-loop-text { 2 | white-space: nowrap; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/LoopText/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'LOOP_TEXT'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/LoopText/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "LOOP_TEXT" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "LOOP_TEXT" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Tag/component/index.less: -------------------------------------------------------------------------------- 1 | .component-other-font-tag { 2 | width: 100%; 3 | height: 100%; 4 | overflow: hidden; 5 | } 6 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Tag/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'TAG'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Tag/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "TAG" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "TAG" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Tag/type.ts: -------------------------------------------------------------------------------- 1 | export type TTagConfig = { 2 | margin: number; 3 | textStyle: ComponentData.TFontConfig; 4 | series: { 5 | color: ComponentData.TColorConfig; 6 | icon?: string; 7 | }[]; 8 | icon: { 9 | position: 'start' | 'end'; 10 | margin: number; 11 | }; 12 | condition: ComponentData.ComponentConditionConfig; 13 | }; 14 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Text/component/index.less: -------------------------------------------------------------------------------- 1 | .component-font-text { 2 | overflow: hidden; 3 | &-carousel { 4 | animation: transform 1s linear infinite; 5 | } 6 | } 7 | @keyframes transform { 8 | 0% { 9 | transform: translateY(0); 10 | } 11 | 100% { 12 | transform: translateY(-50%); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Text/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'TEXT'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Text/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "TEXT" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "TEXT" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Text/type.ts: -------------------------------------------------------------------------------- 1 | export type TTextConfig = { 2 | textStyle: ComponentData.TFontConfig & { 3 | lineHeight: number; 4 | letterSpacing: number; 5 | textAlign: 'left' | 'right' | 'justify'; 6 | textIndent: number; 7 | }; 8 | animation: { 9 | show: boolean; 10 | speed: number; 11 | }; 12 | condition: ComponentData.ComponentConditionConfig; 13 | }; 14 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/TimeMachine/component/index.less: -------------------------------------------------------------------------------- 1 | .component-font-time-machine { 2 | &-main { 3 | justify-content: center; 4 | align-items: center; 5 | white-space: nowrap; 6 | display: flex; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/TimeMachine/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'TIME_MACHINE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/TimeMachine/type.ts: -------------------------------------------------------------------------------- 1 | export type TTimeMachineConfig = { 2 | textStyle: ComponentData.TFontConfig; 3 | icon: { 4 | show: boolean; 5 | value: string; 6 | color: ComponentData.TColorConfig; 7 | size: number; 8 | margin: number; 9 | position: 'before' | 'after'; 10 | }; 11 | formatter: string; 12 | }; 13 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Title/component/index.less: -------------------------------------------------------------------------------- 1 | .component-font-title { 2 | } 3 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Title/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'TITLE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Font/Title/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "TITLE" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "TITLE" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Button/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'BUTTON'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Button/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "BUTTON" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "BUTTON" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Button/type.ts: -------------------------------------------------------------------------------- 1 | export type TButtonConfig = { 2 | textStyle: ComponentData.TFontConfig; 3 | backgroundColor: ComponentData.TColorConfig; 4 | icon: string; 5 | borderRadius: number; 6 | type: 'primary' | 'default'; 7 | actionType: 'submit' | 'normal'; 8 | condition: ComponentData.ComponentConditionConfig; 9 | }; 10 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Checkbox/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'CHECKBOX'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Checkbox/type.ts: -------------------------------------------------------------------------------- 1 | export type TCheckboxConfig = { 2 | borderColor: ComponentData.TColorConfig; 3 | borderRadius: number; 4 | backgroundColor: ComponentData.TColorConfig; 5 | textStyle: ComponentData.TFontConfig; 6 | size: number; 7 | defaultChecked: string; 8 | active: { 9 | borderColor: ComponentData.TColorConfig; 10 | backgroundColor: ComponentData.TColorConfig; 11 | }; 12 | check: { 13 | color: ComponentData.TColorConfig; 14 | }; 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Datepicker/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'DATE_PICKER'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/FullScreen/component/index.less: -------------------------------------------------------------------------------- 1 | .component-interactive-full-screen { 2 | &-main { 3 | & > div { 4 | padding: 16%; 5 | & img { 6 | left: 50%; 7 | top: 50%; 8 | transform: translateX(-50%) translateY(-50%); 9 | object-fit: contain; 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/FullScreen/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'FULL_SCREEN'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/FullScreen/type.ts: -------------------------------------------------------------------------------- 1 | export type TFullScreenConfig = { 2 | backgroundColor: ComponentData.TColorConfig; 3 | borderRadius: number; 4 | icon: { 5 | enter: string; 6 | quit: string; 7 | }; 8 | }; 9 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Input/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'INPUT'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Input/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "INPUT" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "INPUT" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Pagination/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'PAGINATION'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Radio/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'RADIO'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Radio/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "RADIO" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "RADIO" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Radio/type.ts: -------------------------------------------------------------------------------- 1 | export type TRadioConfig = { 2 | borderColor: ComponentData.TColorConfig; 3 | backgroundColor: ComponentData.TColorConfig; 4 | textStyle: ComponentData.TFontConfig; 5 | size: number; 6 | defaultChecked: string; 7 | active: { 8 | borderColor: ComponentData.TColorConfig; 9 | backgroundColor: ComponentData.TColorConfig; 10 | }; 11 | check: { 12 | color: ComponentData.TColorConfig; 13 | }; 14 | }; 15 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Rate/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'RATE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Rate/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "RATE" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "RATE" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Rate/type.ts: -------------------------------------------------------------------------------- 1 | export type TRateConfig = { 2 | backgroundColor: ComponentData.TColorConfig; 3 | rateBackgroundColor: ComponentData.TColorConfig; 4 | size: number; 5 | count: number; 6 | margin: number; 7 | defaultValue: number; 8 | shape: string; 9 | allowHalf: boolean; 10 | allowClear: boolean; 11 | }; 12 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Select/component/index.less: -------------------------------------------------------------------------------- 1 | .component-interactive-select { 2 | :global { 3 | [class$='indicatorContainer'] { 4 | &:hover { 5 | color: currentColor; 6 | } 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Select/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'SELECT'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Select/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "SELECT" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "SELECT" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Steps/component/components/RcSteps/index.ts: -------------------------------------------------------------------------------- 1 | // rc-steps 应该是比较早的版本了 2 | 3 | import Steps from './Steps'; 4 | import Step from './Step'; 5 | import './css/index.less'; 6 | 7 | export { Step }; 8 | export default Steps; 9 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Steps/component/components/RcSteps/interface.ts: -------------------------------------------------------------------------------- 1 | export type Status = 'error' | 'process' | 'finish' | 'wait'; 2 | 3 | export interface Icons { 4 | finish: React.ReactNode; 5 | error: React.ReactNode; 6 | } 7 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Steps/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'STEPS'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Steps/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "STEPS" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "STEPS" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Switch/component/index.less: -------------------------------------------------------------------------------- 1 | .component-interactive-switch { 2 | &-icon { 3 | align-items: center; 4 | justify-content: center; 5 | white-space: nowrap; 6 | } 7 | .react-switch-handle { 8 | // width: ; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Switch/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'SWITCH'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Switch/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "SWITCH" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "SWITCH" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Tab/component/index.less: -------------------------------------------------------------------------------- 1 | .component-interactive-tab { 2 | &-item { 3 | display: flex; 4 | align-items: center; 5 | justify-content: center; 6 | cursor: pointer; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Tab/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'TAB'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Tab/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "TAB" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "TAB" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Interactive/Tab/type.ts: -------------------------------------------------------------------------------- 1 | export type TTabConfig = { 2 | defaultValue: string; 3 | base: { 4 | textStyle: ComponentData.TFontConfig; 5 | backgroundColor: ComponentData.TColorConfig; 6 | border: ComponentData.ComponentLineGroupConfig; 7 | }; 8 | active: { 9 | textStyle: ComponentData.TFontConfig; 10 | backgroundColor: ComponentData.TColorConfig; 11 | border: ComponentData.ComponentLineGroupConfig; 12 | }; 13 | loop: { 14 | show: boolean; 15 | speed: number; 16 | }; 17 | }; 18 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Map/Ali3DMap/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'ALI3D_MAP'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Map/Ali3DMap/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "ALI3D_MAP" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "ALI3D_MAP" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Map/ScatterMap/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'SCATTER_MAP'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Audio/component/index.less: -------------------------------------------------------------------------------- 1 | .component-media-audio { 2 | overflow: hidden; 3 | position: relative; 4 | audio { 5 | width: 100%; 6 | height: 100%; 7 | } 8 | &-tooltip { 9 | position: absolute; 10 | z-index: 1; 11 | text-align: center; 12 | left: 50%; 13 | top: 50%; 14 | transform: translateX(-50%) translateY(-50%); 15 | font-size: 14px; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Audio/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'AUDIO'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Audio/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "AUDIO" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "AUDIO" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Audio/type.ts: -------------------------------------------------------------------------------- 1 | export type TAudioConfig = { 2 | autoplay: boolean; 3 | loop: boolean; 4 | controls: boolean; 5 | condition: ComponentData.ComponentConditionConfig; 6 | }; 7 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Carousel/component/index.less: -------------------------------------------------------------------------------- 1 | .component-media-carousel { 2 | :global { 3 | .slick-dots { 4 | margin: 0; 5 | li button::before { 6 | display: none; 7 | } 8 | } 9 | .slick-list { 10 | height: 100%; 11 | } 12 | .ant-carousel { 13 | width: 100%; 14 | height: 100%; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Carousel/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'CAROUSEL'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Carousel/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "CAROUSEL" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "CAROUSEL" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Carousel/type.ts: -------------------------------------------------------------------------------- 1 | import { PathStyleMap } from '@/hooks/useClipPath'; 2 | 3 | export type TCarouselConfig = { 4 | speed: number; 5 | autoplay: boolean; 6 | clipPath: keyof typeof PathStyleMap; 7 | dot: { 8 | show: boolean; 9 | position: 'top' | 'bottom' | 'left' | 'right'; 10 | }; 11 | pauseOnHover: boolean; 12 | // easing: string 13 | fade: boolean; 14 | condition: ComponentData.ComponentConditionConfig; 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Image/component/index.less: -------------------------------------------------------------------------------- 1 | .component-media-image { 2 | } 3 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Image/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'IMAGE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Image/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "IMAGE" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "IMAGE" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Image/type.ts: -------------------------------------------------------------------------------- 1 | import { PathStyleMap } from '@/hooks/useClipPath'; 2 | 3 | export type TImageConfig = { 4 | type: 'image' | 'color'; 5 | clipPath: keyof typeof PathStyleMap; 6 | content: string | ComponentData.TColorConfig; 7 | repeat: { 8 | x: boolean; 9 | y: boolean; 10 | }; 11 | condition: ComponentData.ComponentConditionConfig; 12 | preview: { 13 | show: boolean; 14 | }; 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Model/component/index.less: -------------------------------------------------------------------------------- 1 | .component-media-model { 2 | overflow: hidden; 3 | position: relative; 4 | & iframe { 5 | width: 100%; 6 | height: 100%; 7 | } 8 | &-loading { 9 | position: absolute; 10 | left: 50%; 11 | top: 50%; 12 | transform: translateX(-50%) translateY(-50%); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Model/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'MODEL'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Model/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "MODEL" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "MODEL" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Model/type.ts: -------------------------------------------------------------------------------- 1 | export type TModelConfig = { 2 | position: { 3 | x: number; 4 | y: number; 5 | z: number; 6 | }; 7 | focus: { 8 | x: number; 9 | y: number; 10 | z: number; 11 | }; 12 | scale: number; 13 | color: ComponentData.TColorConfig; 14 | rotate: { 15 | show: boolean; 16 | speed: number; 17 | }; 18 | }; 19 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/PictureWall/component/index.less: -------------------------------------------------------------------------------- 1 | .component-media-picture-wall { 2 | } 3 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/PictureWall/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'PICTURE_WALL'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/PictureWall/type.ts: -------------------------------------------------------------------------------- 1 | export type TPictureWallConfig = { 2 | maxCount: number; 3 | columnCount: number; 4 | margin: [number, number]; 5 | preview: { 6 | show: boolean; 7 | }; 8 | }; 9 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Video/component/index.less: -------------------------------------------------------------------------------- 1 | .component-media-video { 2 | video { 3 | width: 100%; 4 | height: 100%; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Video/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'VIDEO'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Video/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "VIDEO" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "VIDEO" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Media/Video/type.ts: -------------------------------------------------------------------------------- 1 | import { PathStyleMap } from '@/hooks/useClipPath'; 2 | 3 | export type TVideoConfig = { 4 | autoplay: boolean; 5 | loop: boolean; 6 | controls: boolean; 7 | muted: boolean; 8 | condition: ComponentData.ComponentConditionConfig; 9 | clipPath: keyof typeof PathStyleMap; 10 | }; 11 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/Iframe/component/MessageTooltip/index.less: -------------------------------------------------------------------------------- 1 | .component-iframe-message-tooltip { 2 | text-align: left; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/Iframe/component/index.less: -------------------------------------------------------------------------------- 1 | .component-other-iframe { 2 | overflow: hidden; 3 | & > div { 4 | transform-origin: left top; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/Iframe/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'IFRAME'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/Iframe/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "IFRAME" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "IFRAME" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/Iframe/type.ts: -------------------------------------------------------------------------------- 1 | export type TIFrameConfig = { 2 | scrolling: 'yes' | 'no' | 'auto'; 3 | scale: number; 4 | pointEvent: boolean; 5 | relationParams: string[]; 6 | }; 7 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/List/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'LIST'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/List/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "LIST" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "LIST" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/LuckyDraw/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'LUCKY_DRAW'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/LuckyDraw/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "LUCKY_DRAW" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "LUCKY_DRAW" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/PathBasic/component/index.less: -------------------------------------------------------------------------------- 1 | .component-other-path-basic { 2 | &-shape { 3 | transform-origin: center center; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/PathBasic/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'PATH_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/PathBasic/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "PATH_BASIC" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "PATH_BASIC" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/QrCode/component/index.less: -------------------------------------------------------------------------------- 1 | .component-other-qr-code { 2 | overflow: hidden; 3 | &-content { 4 | position: relative; 5 | &-image { 6 | width: 100%; 7 | height: 100%; 8 | } 9 | } 10 | &-logo { 11 | position: absolute; 12 | left: 50%; 13 | top: 50%; 14 | transform: translateX(-50%) translateY(-50%); 15 | z-index: 1; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/QrCode/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'QR_CODE'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/QrCode/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "QR_CODE" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "QR_CODE" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/QrCode/type.ts: -------------------------------------------------------------------------------- 1 | export type TQrCodeConfig = { 2 | logo: { 3 | show: boolean; 4 | image: string; 5 | size: { 6 | width: number; 7 | height: number; 8 | }; 9 | borderRadius: number; 10 | border: ComponentData.ComponentLineGroupConfig; 11 | }; 12 | base: { 13 | backgroundColor: ComponentData.TColorConfig; 14 | codeColor: ComponentData.TColorConfig; 15 | margin: number; 16 | }; 17 | condition: ComponentData.ComponentConditionConfig; 18 | }; 19 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/StateCard/component/index.less: -------------------------------------------------------------------------------- 1 | .component-other-state-card { 2 | width: 100%; 3 | height: 100%; 4 | overflow: hidden; 5 | &-content { 6 | } 7 | &-column { 8 | &-state { 9 | } 10 | &-main { 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/StateCard/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'STATE_CARD'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/StateCard/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "STATE_CARD" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "STATE_CARD" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/StateCard/type.ts: -------------------------------------------------------------------------------- 1 | export type TStateCardConfig = { 2 | margin: number; 3 | textStyle: ComponentData.TFontConfig; 4 | stateList: { 5 | value: string; 6 | stateIcon: { 7 | color: ComponentData.TColorConfig; 8 | }; 9 | }[]; 10 | stateIcon: { 11 | position: 'start' | 'end'; 12 | borderRadius: number; 13 | rotate: number; 14 | margin: number; 15 | size: [number, number]; 16 | }; 17 | condition: ComponentData.ComponentConditionConfig; 18 | }; 19 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/StateList/component/index.less: -------------------------------------------------------------------------------- 1 | .component-other-state-list { 2 | &-content { 3 | width: 100%; 4 | height: 100%; 5 | &-item { 6 | display: inline-flex; 7 | float: left; 8 | overflow: hidden; 9 | word-break: break-all; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/StateList/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'STATE_LIST'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/StateList/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "STATE_LIST" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "STATE_LIST" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/WaterBall/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'WATER_BALL'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/WaterBall/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "WATER_BALL" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "WATER_BALL" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/WaterBall/type.ts: -------------------------------------------------------------------------------- 1 | export type TWaterBallConfig = { 2 | series: { 3 | label: Omit; 4 | amplitude: number; 5 | backgroundStyle: { 6 | color: ComponentData.TColorConfig; 7 | }; 8 | color: ComponentData.TGradientColorConfig; 9 | center: [number, number]; 10 | radius: number; 11 | }; 12 | condition: ComponentData.ComponentConditionConfig; 13 | animation: ComponentData.ComponentChartAnimationConfig; 14 | }; 15 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/Weather/component/index.less: -------------------------------------------------------------------------------- 1 | .component-other-weather { 2 | white-space: nowrap; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/Weather/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'WEATHER'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/Weather/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "WEATHER" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "WEATHER" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/Weather/type.ts: -------------------------------------------------------------------------------- 1 | export type TWeatherConfig = { 2 | align: { 3 | vertical: 'flex-start' | 'flex-end' | 'center'; 4 | horizontal: 'flex-start' | 'flex-end' | 'center'; 5 | }; 6 | show: ('info' | 'temperature' | 'humidity' | 'direct' | 'power' | 'aqi')[]; 7 | textStyle: ComponentData.TFontConfig; 8 | widMap: { 9 | show: boolean; 10 | value: { 11 | wid: string; 12 | icon?: string; 13 | weather?: string; 14 | color?: ComponentData.TColorConfig; 15 | }[]; 16 | }; 17 | }; 18 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Other/WordCloud/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'WORD_CLOUD_BASIC'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration1/component/index.less: -------------------------------------------------------------------------------- 1 | .component-source-decoration-1 { 2 | overflow: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration1/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'DECORATION_1'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration1/type.ts: -------------------------------------------------------------------------------- 1 | export type TDecoration1Config = { 2 | color: ComponentData.TColorConfig[]; 3 | }; 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration2/component/index.less: -------------------------------------------------------------------------------- 1 | .component-source-decoration-2 { 2 | overflow: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration2/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'DECORATION_2'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration2/type.ts: -------------------------------------------------------------------------------- 1 | export type TDecoration2Config = { 2 | color: ComponentData.TColorConfig[]; 3 | dur: number; 4 | reverse: boolean; 5 | }; 6 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration3/component/index.less: -------------------------------------------------------------------------------- 1 | .component-source-decoration-3 { 2 | overflow: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration3/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'DECORATION_3'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration3/type.ts: -------------------------------------------------------------------------------- 1 | export type TDecoration3Config = { 2 | color: ComponentData.TColorConfig[]; 3 | }; 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration4/component/index.less: -------------------------------------------------------------------------------- 1 | .component-source-decoration-4 { 2 | overflow: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration4/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'DECORATION_4'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration4/type.ts: -------------------------------------------------------------------------------- 1 | export type TDecoration4Config = { 2 | color: ComponentData.TColorConfig[]; 3 | dur: number; 4 | reverse: boolean; 5 | }; 6 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration5/component/index.less: -------------------------------------------------------------------------------- 1 | .component-source-decoration-5 { 2 | overflow: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration5/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'DECORATION_5'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration5/type.ts: -------------------------------------------------------------------------------- 1 | export type TDecoration5Config = { 2 | color: ComponentData.TColorConfig[]; 3 | dur: number; 4 | }; 5 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration6/component/index.less: -------------------------------------------------------------------------------- 1 | .component-source-decoration-6 { 2 | overflow: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration6/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'DECORATION_6'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration6/type.ts: -------------------------------------------------------------------------------- 1 | export type TDecoration6Config = { 2 | color: ComponentData.TColorConfig[]; 3 | }; 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration7/component/index.less: -------------------------------------------------------------------------------- 1 | .component-source-decoration-7 { 2 | overflow: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration7/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'DECORATION_7'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration7/type.ts: -------------------------------------------------------------------------------- 1 | export type TDecoration7Config = { 2 | color: ComponentData.TColorConfig[]; 3 | reverse: boolean; 4 | }; 5 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration8/component/index.less: -------------------------------------------------------------------------------- 1 | .component-source-decoration-8 { 2 | overflow: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration8/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'DECORATION_8'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Decoration8/type.ts: -------------------------------------------------------------------------------- 1 | export type TDecoration8Config = { 2 | color: ComponentData.TColorConfig[]; 3 | }; 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Ticket/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'TICKET'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Ticket/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "TICKET" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "TICKET" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Ticket/type.ts: -------------------------------------------------------------------------------- 1 | export type TTicketConfig = { 2 | radius: number; 3 | length: number; 4 | dashed: { 5 | show: boolean; 6 | color: ComponentData.TColorConfig; 7 | }; 8 | shadow: { 9 | show: boolean; 10 | }; 11 | color: ComponentData.TColorConfig; 12 | }; 13 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Typed/component/index.less: -------------------------------------------------------------------------------- 1 | .component-source-typed { 2 | overflow: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Typed/id.ts: -------------------------------------------------------------------------------- 1 | export const CHART_ID: ComponentSelfType = 'TYPED'; 2 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Typed/index.ts: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | import defaultConfig, { themeConfig } from './defaultConfig'; 3 | import { CHART_ID } from './id'; 4 | 5 | export default { 6 | defaultConfig, 7 | themeConfig, 8 | configComponent: LazyLoadWrapper(() => { 9 | return import(/* webpackChunkName: "TYPED" */ './config'); 10 | }), 11 | render: LazyLoadWrapper(() => { 12 | return import(/* webpackChunkName: "TYPED" */ './component'); 13 | }), 14 | type: CHART_ID, 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/ChartComponents/Source/Typed/type.ts: -------------------------------------------------------------------------------- 1 | export type TTypedConfig = { 2 | textStyle: ComponentData.TFontConfig; 3 | loop: boolean; 4 | typeSpeed: number; 5 | }; 6 | -------------------------------------------------------------------------------- /src/components/CodeEditor/index.tsx: -------------------------------------------------------------------------------- 1 | import LazyLoadWrapper from '@/components/LazyLoad'; 2 | 3 | export default LazyLoadWrapper(() => { 4 | return import(/* webpackChunkName: "CODE_EDITOR" */ '../SyncCodeEditor'); 5 | }); 6 | -------------------------------------------------------------------------------- /src/components/ColorGradientSelect/index.less: -------------------------------------------------------------------------------- 1 | .component-gradient-select { 2 | &-color { 3 | width: 100%; 4 | height: 80px; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/components/ColorImageBackground/index.less: -------------------------------------------------------------------------------- 1 | .component-color-image-background { 2 | position: relative; 3 | display: flex; 4 | flex-direction: column; 5 | align-items: center; 6 | &-image { 7 | z-index: 0; 8 | position: absolute; 9 | left: 0; 10 | top: 0; 11 | width: 100%; 12 | height: 100%; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/components/ColorMatcher/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const ColorMatcher = () => { 4 | return
配色选择
; 5 | }; 6 | 7 | export default ColorMatcher; 8 | -------------------------------------------------------------------------------- /src/components/ColorSelect/index.less: -------------------------------------------------------------------------------- 1 | .component-color-select { 2 | width: 24px; 3 | height: 24px; 4 | flex: none; 5 | } 6 | .component-color-select-tooltip { 7 | :global { 8 | .ant-tooltip-inner { 9 | padding: 0; 10 | } 11 | input[id^='rc-editable-input'] { 12 | color: black; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/components/ComponentError/index.less: -------------------------------------------------------------------------------- 1 | .component-error { 2 | flex-direction: column; 3 | justify-content: center; 4 | align-items: center; 5 | border: 1px solid white; 6 | border-radius: 8px; 7 | &-icon { 8 | margin-bottom: 12px; 9 | } 10 | &-title { 11 | font-weight: bold; 12 | line-height: 1.8; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/components/ComponentSelect/index.less: -------------------------------------------------------------------------------- 1 | .component-select { 2 | &-item { 3 | } 4 | &-item-active { 5 | } 6 | &-loading { 7 | width: 100%; 8 | height: 100%; 9 | position: absolute; 10 | left: 0; 11 | top: 0; 12 | z-index: 1; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/components/ContextMenu/Actions/Redo.tsx: -------------------------------------------------------------------------------- 1 | import { useCallback } from 'react'; 2 | import { RedoOutlined } from '@ant-design/icons'; 3 | import useChildren from './useChildren'; 4 | 5 | const RedoAction = () => { 6 | const handleClick = useCallback(() => {}, []); 7 | 8 | return ( 9 |
10 | 11 | 重做 12 |
13 | ); 14 | }; 15 | 16 | export default RedoAction; 17 | -------------------------------------------------------------------------------- /src/components/ContextMenu/Actions/Undo.tsx: -------------------------------------------------------------------------------- 1 | import { useCallback } from 'react'; 2 | import { UndoOutlined } from '@ant-design/icons'; 3 | import useChildren from './useChildren'; 4 | import { CommonActionType } from './type'; 5 | 6 | const UndoAction = (props: CommonActionType) => { 7 | const handleClick = useCallback(() => {}, []); 8 | 9 | return ( 10 |
11 | 12 | 撤销 13 |
14 | ); 15 | }; 16 | 17 | export default UndoAction; 18 | -------------------------------------------------------------------------------- /src/components/Decoration/Decoration1/index.less: -------------------------------------------------------------------------------- 1 | .component-decoration-1 { 2 | width: 100%; 3 | height: 100%; 4 | 5 | svg { 6 | transform-origin: left top; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/components/Decoration/Decoration11/index.less: -------------------------------------------------------------------------------- 1 | .component-decoration-11 { 2 | position: relative; 3 | width: 100%; 4 | height: 100%; 5 | display: flex; 6 | 7 | &-content { 8 | position: absolute; 9 | top: 0px; 10 | left: 0px; 11 | width: 100%; 12 | height: 100%; 13 | display: flex; 14 | align-items: center; 15 | justify-content: center; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/components/Decoration/Decoration2/index.less: -------------------------------------------------------------------------------- 1 | .component-decoration-2 { 2 | display: flex; 3 | width: 100%; 4 | height: 100%; 5 | justify-content: center; 6 | align-items: center; 7 | } 8 | -------------------------------------------------------------------------------- /src/components/Decoration/Decoration3/index.less: -------------------------------------------------------------------------------- 1 | .component-decoration-3 { 2 | width: 100%; 3 | height: 100%; 4 | 5 | svg { 6 | transform-origin: left top; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/components/Decoration/Decoration5/index.less: -------------------------------------------------------------------------------- 1 | .component-decoration-5 { 2 | width: 100%; 3 | height: 100%; 4 | } 5 | -------------------------------------------------------------------------------- /src/components/Decoration/Decoration6/index.less: -------------------------------------------------------------------------------- 1 | .component-decoration-6 { 2 | width: 100%; 3 | height: 100%; 4 | 5 | svg { 6 | transform-origin: left top; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/components/Decoration/Decoration8/index.less: -------------------------------------------------------------------------------- 1 | .component-decoration-8 { 2 | display: flex; 3 | width: 100%; 4 | height: 100%; 5 | } 6 | -------------------------------------------------------------------------------- /src/components/DeepStructureComponent/index.tsx: -------------------------------------------------------------------------------- 1 | // [Parent, Children] 2 | const ReduceLayout = (Components: any[]) => { 3 | return Components.reduceRight((Component, CurComponent) => { 4 | if (!Component) 5 | return (props: any) => { 6 | return ; 7 | }; 8 | return (props: any) => { 9 | return ; 10 | }; 11 | }, null); 12 | }; 13 | 14 | export default ReduceLayout; 15 | -------------------------------------------------------------------------------- /src/components/DesignerBackground/index.less: -------------------------------------------------------------------------------- 1 | .designer-page-background { 2 | width: 100%; 3 | height: 100%; 4 | background: currentColor; 5 | background-image: linear-gradient(currentColor 14px, transparent 0), 6 | linear-gradient(90deg, pink 1px, transparent 0); 7 | background-size: 15px 15px, 15px 15px; 8 | top: 0; 9 | left: 0; 10 | overflow: hidden; 11 | } 12 | -------------------------------------------------------------------------------- /src/components/Empty/index.tsx: -------------------------------------------------------------------------------- 1 | import { Empty as AntEmpty, EmptyProps } from 'antd'; 2 | 3 | const Empty = (props: EmptyProps) => { 4 | return ; 5 | }; 6 | 7 | export default Empty; 8 | -------------------------------------------------------------------------------- /src/components/GhostButton/index.less: -------------------------------------------------------------------------------- 1 | @import '~antd/es/style/themes/default.less'; 2 | 3 | .design-config-ghost-btn { 4 | width: 120px; 5 | &:hover { 6 | color: white !important; 7 | background-color: @primary-color !important; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/components/GhostButton/index.tsx: -------------------------------------------------------------------------------- 1 | import { Button } from 'antd'; 2 | import { ButtonProps } from 'antd/es/button'; 3 | import classnames from 'classnames'; 4 | import styles from './index.less'; 5 | 6 | const GhostButton = (props: ButtonProps) => { 7 | const { className, ...nextProps } = props; 8 | 9 | return ( 10 |