react-native-metrify 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/LICENSE +21 -0
- package/README.md +332 -0
- package/dist/cjs/core/animation/index.js +99 -0
- package/dist/cjs/core/animation/index.js.map +1 -0
- package/dist/cjs/core/animation/index.web.js +95 -0
- package/dist/cjs/core/animation/index.web.js.map +1 -0
- package/dist/cjs/core/hooks/index.js +50 -0
- package/dist/cjs/core/hooks/index.js.map +1 -0
- package/dist/cjs/core/index.js +36 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/core/layout/index.js +80 -0
- package/dist/cjs/core/layout/index.js.map +1 -0
- package/dist/cjs/core/math/index.js +62 -0
- package/dist/cjs/core/math/index.js.map +1 -0
- package/dist/cjs/core/theme/ThemeProvider.js +63 -0
- package/dist/cjs/core/theme/ThemeProvider.js.map +1 -0
- package/dist/cjs/core/theme/index.js +13 -0
- package/dist/cjs/core/theme/index.js.map +1 -0
- package/dist/cjs/core/theme/themes.js +120 -0
- package/dist/cjs/core/theme/themes.js.map +1 -0
- package/dist/cjs/core/types/index.js +11 -0
- package/dist/cjs/core/types/index.js.map +1 -0
- package/dist/cjs/core/utils/responsive.js +118 -0
- package/dist/cjs/core/utils/responsive.js.map +1 -0
- package/dist/cjs/core/utils/time.js +84 -0
- package/dist/cjs/core/utils/time.js.map +1 -0
- package/dist/cjs/index.js +28 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/renderer-svg/adapters/index.js +67 -0
- package/dist/cjs/renderer-svg/adapters/index.js.map +1 -0
- package/dist/cjs/renderer-svg/index.js +25 -0
- package/dist/cjs/renderer-svg/index.js.map +1 -0
- package/dist/cjs/renderer-svg/paths/arc.js +79 -0
- package/dist/cjs/renderer-svg/paths/arc.js.map +1 -0
- package/dist/cjs/renderer-svg/paths/index.js +23 -0
- package/dist/cjs/renderer-svg/paths/index.js.map +1 -0
- package/dist/cjs/renderer-svg/paths/line.js +70 -0
- package/dist/cjs/renderer-svg/paths/line.js.map +1 -0
- package/dist/cjs/renderer-svg/paths/rect.js +54 -0
- package/dist/cjs/renderer-svg/paths/rect.js.map +1 -0
- package/dist/cjs/renderer-svg/primitives/AnimatedCircle.js +54 -0
- package/dist/cjs/renderer-svg/primitives/AnimatedCircle.js.map +1 -0
- package/dist/cjs/renderer-svg/primitives/AnimatedPath.js +54 -0
- package/dist/cjs/renderer-svg/primitives/AnimatedPath.js.map +1 -0
- package/dist/cjs/renderer-svg/primitives/Text.js +66 -0
- package/dist/cjs/renderer-svg/primitives/Text.js.map +1 -0
- package/dist/cjs/renderer-svg/primitives/index.js +23 -0
- package/dist/cjs/renderer-svg/primitives/index.js.map +1 -0
- package/dist/cjs/widgets/AreaChart/AreaChart.js +179 -0
- package/dist/cjs/widgets/AreaChart/AreaChart.js.map +1 -0
- package/dist/cjs/widgets/AreaChart/index.js +6 -0
- package/dist/cjs/widgets/AreaChart/index.js.map +1 -0
- package/dist/cjs/widgets/AreaChart/types.js +3 -0
- package/dist/cjs/widgets/AreaChart/types.js.map +1 -0
- package/dist/cjs/widgets/BarChart/BarChart.js +203 -0
- package/dist/cjs/widgets/BarChart/BarChart.js.map +1 -0
- package/dist/cjs/widgets/BarChart/index.js +9 -0
- package/dist/cjs/widgets/BarChart/index.js.map +1 -0
- package/dist/cjs/widgets/BarChart/types.js +3 -0
- package/dist/cjs/widgets/BarChart/types.js.map +1 -0
- package/dist/cjs/widgets/BoxPlot/BoxPlot.js +186 -0
- package/dist/cjs/widgets/BoxPlot/BoxPlot.js.map +1 -0
- package/dist/cjs/widgets/BoxPlot/index.js +6 -0
- package/dist/cjs/widgets/BoxPlot/index.js.map +1 -0
- package/dist/cjs/widgets/BoxPlot/types.js +3 -0
- package/dist/cjs/widgets/BoxPlot/types.js.map +1 -0
- package/dist/cjs/widgets/BubbleChart/BubbleChart.js +158 -0
- package/dist/cjs/widgets/BubbleChart/BubbleChart.js.map +1 -0
- package/dist/cjs/widgets/BubbleChart/index.js +6 -0
- package/dist/cjs/widgets/BubbleChart/index.js.map +1 -0
- package/dist/cjs/widgets/BubbleChart/types.js +3 -0
- package/dist/cjs/widgets/BubbleChart/types.js.map +1 -0
- package/dist/cjs/widgets/CandlestickChart/CandlestickChart.js +168 -0
- package/dist/cjs/widgets/CandlestickChart/CandlestickChart.js.map +1 -0
- package/dist/cjs/widgets/CandlestickChart/index.js +6 -0
- package/dist/cjs/widgets/CandlestickChart/index.js.map +1 -0
- package/dist/cjs/widgets/CandlestickChart/types.js +3 -0
- package/dist/cjs/widgets/CandlestickChart/types.js.map +1 -0
- package/dist/cjs/widgets/FunnelChart/FunnelChart.js +149 -0
- package/dist/cjs/widgets/FunnelChart/FunnelChart.js.map +1 -0
- package/dist/cjs/widgets/FunnelChart/index.js +6 -0
- package/dist/cjs/widgets/FunnelChart/index.js.map +1 -0
- package/dist/cjs/widgets/FunnelChart/types.js +3 -0
- package/dist/cjs/widgets/FunnelChart/types.js.map +1 -0
- package/dist/cjs/widgets/Gauge/Gauge.js +171 -0
- package/dist/cjs/widgets/Gauge/Gauge.js.map +1 -0
- package/dist/cjs/widgets/Gauge/index.js +9 -0
- package/dist/cjs/widgets/Gauge/index.js.map +1 -0
- package/dist/cjs/widgets/Gauge/types.js +3 -0
- package/dist/cjs/widgets/Gauge/types.js.map +1 -0
- package/dist/cjs/widgets/GroupedBarChart/GroupedBarChart.js +155 -0
- package/dist/cjs/widgets/GroupedBarChart/GroupedBarChart.js.map +1 -0
- package/dist/cjs/widgets/GroupedBarChart/index.js +6 -0
- package/dist/cjs/widgets/GroupedBarChart/index.js.map +1 -0
- package/dist/cjs/widgets/GroupedBarChart/types.js +3 -0
- package/dist/cjs/widgets/GroupedBarChart/types.js.map +1 -0
- package/dist/cjs/widgets/Heatmap/Heatmap.js +182 -0
- package/dist/cjs/widgets/Heatmap/Heatmap.js.map +1 -0
- package/dist/cjs/widgets/Heatmap/index.js +6 -0
- package/dist/cjs/widgets/Heatmap/index.js.map +1 -0
- package/dist/cjs/widgets/Heatmap/types.js +3 -0
- package/dist/cjs/widgets/Heatmap/types.js.map +1 -0
- package/dist/cjs/widgets/Histogram/Histogram.js +152 -0
- package/dist/cjs/widgets/Histogram/Histogram.js.map +1 -0
- package/dist/cjs/widgets/Histogram/index.js +6 -0
- package/dist/cjs/widgets/Histogram/index.js.map +1 -0
- package/dist/cjs/widgets/Histogram/types.js +3 -0
- package/dist/cjs/widgets/Histogram/types.js.map +1 -0
- package/dist/cjs/widgets/HorizontalBarChart/HorizontalBarChart.js +124 -0
- package/dist/cjs/widgets/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
- package/dist/cjs/widgets/HorizontalBarChart/index.js +6 -0
- package/dist/cjs/widgets/HorizontalBarChart/index.js.map +1 -0
- package/dist/cjs/widgets/HorizontalBarChart/types.js +3 -0
- package/dist/cjs/widgets/HorizontalBarChart/types.js.map +1 -0
- package/dist/cjs/widgets/KPI/KPI.js +195 -0
- package/dist/cjs/widgets/KPI/KPI.js.map +1 -0
- package/dist/cjs/widgets/KPI/index.js +9 -0
- package/dist/cjs/widgets/KPI/index.js.map +1 -0
- package/dist/cjs/widgets/KPI/types.js +3 -0
- package/dist/cjs/widgets/KPI/types.js.map +1 -0
- package/dist/cjs/widgets/LineChart/LineChart.js +298 -0
- package/dist/cjs/widgets/LineChart/LineChart.js.map +1 -0
- package/dist/cjs/widgets/LineChart/index.js +9 -0
- package/dist/cjs/widgets/LineChart/index.js.map +1 -0
- package/dist/cjs/widgets/LineChart/types.js +3 -0
- package/dist/cjs/widgets/LineChart/types.js.map +1 -0
- package/dist/cjs/widgets/MultiLineSparkline/MultiLineSparkline.js +192 -0
- package/dist/cjs/widgets/MultiLineSparkline/MultiLineSparkline.js.map +1 -0
- package/dist/cjs/widgets/MultiLineSparkline/index.js +9 -0
- package/dist/cjs/widgets/MultiLineSparkline/index.js.map +1 -0
- package/dist/cjs/widgets/MultiLineSparkline/types.js +3 -0
- package/dist/cjs/widgets/MultiLineSparkline/types.js.map +1 -0
- package/dist/cjs/widgets/PieChart/PieChart.js +241 -0
- package/dist/cjs/widgets/PieChart/PieChart.js.map +1 -0
- package/dist/cjs/widgets/PieChart/index.js +9 -0
- package/dist/cjs/widgets/PieChart/index.js.map +1 -0
- package/dist/cjs/widgets/PieChart/types.js +3 -0
- package/dist/cjs/widgets/PieChart/types.js.map +1 -0
- package/dist/cjs/widgets/Progress/Progress.js +166 -0
- package/dist/cjs/widgets/Progress/Progress.js.map +1 -0
- package/dist/cjs/widgets/Progress/index.js +9 -0
- package/dist/cjs/widgets/Progress/index.js.map +1 -0
- package/dist/cjs/widgets/Progress/types.js +3 -0
- package/dist/cjs/widgets/Progress/types.js.map +1 -0
- package/dist/cjs/widgets/RadarChart/RadarChart.js +162 -0
- package/dist/cjs/widgets/RadarChart/RadarChart.js.map +1 -0
- package/dist/cjs/widgets/RadarChart/index.js +6 -0
- package/dist/cjs/widgets/RadarChart/index.js.map +1 -0
- package/dist/cjs/widgets/RadarChart/types.js +3 -0
- package/dist/cjs/widgets/RadarChart/types.js.map +1 -0
- package/dist/cjs/widgets/SankeyDiagram/SankeyDiagram.js +211 -0
- package/dist/cjs/widgets/SankeyDiagram/SankeyDiagram.js.map +1 -0
- package/dist/cjs/widgets/SankeyDiagram/index.js +6 -0
- package/dist/cjs/widgets/SankeyDiagram/index.js.map +1 -0
- package/dist/cjs/widgets/SankeyDiagram/types.js +3 -0
- package/dist/cjs/widgets/SankeyDiagram/types.js.map +1 -0
- package/dist/cjs/widgets/ScatterPlot/ScatterPlot.js +152 -0
- package/dist/cjs/widgets/ScatterPlot/ScatterPlot.js.map +1 -0
- package/dist/cjs/widgets/ScatterPlot/index.js +6 -0
- package/dist/cjs/widgets/ScatterPlot/index.js.map +1 -0
- package/dist/cjs/widgets/ScatterPlot/types.js +3 -0
- package/dist/cjs/widgets/ScatterPlot/types.js.map +1 -0
- package/dist/cjs/widgets/Sparkline/Sparkline.js +154 -0
- package/dist/cjs/widgets/Sparkline/Sparkline.js.map +1 -0
- package/dist/cjs/widgets/Sparkline/index.js +9 -0
- package/dist/cjs/widgets/Sparkline/index.js.map +1 -0
- package/dist/cjs/widgets/Sparkline/types.js +3 -0
- package/dist/cjs/widgets/Sparkline/types.js.map +1 -0
- package/dist/cjs/widgets/StackedBarChart/StackedBarChart.js +152 -0
- package/dist/cjs/widgets/StackedBarChart/StackedBarChart.js.map +1 -0
- package/dist/cjs/widgets/StackedBarChart/index.js +6 -0
- package/dist/cjs/widgets/StackedBarChart/index.js.map +1 -0
- package/dist/cjs/widgets/StackedBarChart/types.js +3 -0
- package/dist/cjs/widgets/StackedBarChart/types.js.map +1 -0
- package/dist/cjs/widgets/SunburstChart/SunburstChart.js +134 -0
- package/dist/cjs/widgets/SunburstChart/SunburstChart.js.map +1 -0
- package/dist/cjs/widgets/SunburstChart/index.js +6 -0
- package/dist/cjs/widgets/SunburstChart/index.js.map +1 -0
- package/dist/cjs/widgets/SunburstChart/types.js +3 -0
- package/dist/cjs/widgets/SunburstChart/types.js.map +1 -0
- package/dist/cjs/widgets/Treemap/Treemap.js +145 -0
- package/dist/cjs/widgets/Treemap/Treemap.js.map +1 -0
- package/dist/cjs/widgets/Treemap/index.js +6 -0
- package/dist/cjs/widgets/Treemap/index.js.map +1 -0
- package/dist/cjs/widgets/Treemap/types.js +3 -0
- package/dist/cjs/widgets/Treemap/types.js.map +1 -0
- package/dist/cjs/widgets/WaterfallChart/WaterfallChart.js +175 -0
- package/dist/cjs/widgets/WaterfallChart/WaterfallChart.js.map +1 -0
- package/dist/cjs/widgets/WaterfallChart/index.js +6 -0
- package/dist/cjs/widgets/WaterfallChart/index.js.map +1 -0
- package/dist/cjs/widgets/WaterfallChart/types.js +3 -0
- package/dist/cjs/widgets/WaterfallChart/types.js.map +1 -0
- package/dist/cjs/widgets/index.js +51 -0
- package/dist/cjs/widgets/index.js.map +1 -0
- package/dist/core/animation/index.d.ts +66 -0
- package/dist/core/animation/index.d.ts.map +1 -0
- package/dist/core/animation/index.web.d.ts +63 -0
- package/dist/core/animation/index.web.d.ts.map +1 -0
- package/dist/core/hooks/index.d.ts +34 -0
- package/dist/core/hooks/index.d.ts.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/layout/index.d.ts +39 -0
- package/dist/core/layout/index.d.ts.map +1 -0
- package/dist/core/math/index.d.ts +37 -0
- package/dist/core/math/index.d.ts.map +1 -0
- package/dist/core/theme/ThemeProvider.d.ts +19 -0
- package/dist/core/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/core/theme/index.d.ts +6 -0
- package/dist/core/theme/index.d.ts.map +1 -0
- package/dist/core/theme/themes.d.ts +13 -0
- package/dist/core/theme/themes.d.ts.map +1 -0
- package/dist/core/types/index.d.ts +137 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/utils/responsive.d.ts +92 -0
- package/dist/core/utils/responsive.d.ts.map +1 -0
- package/dist/core/utils/time.d.ts +20 -0
- package/dist/core/utils/time.d.ts.map +1 -0
- package/dist/esm/core/animation/index.js +88 -0
- package/dist/esm/core/animation/index.js.map +1 -0
- package/dist/esm/core/animation/index.web.js +81 -0
- package/dist/esm/core/animation/index.web.js.map +1 -0
- package/dist/esm/core/hooks/index.js +44 -0
- package/dist/esm/core/hooks/index.js.map +1 -0
- package/dist/esm/core/index.js +20 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/layout/index.js +73 -0
- package/dist/esm/core/layout/index.js.map +1 -0
- package/dist/esm/core/math/index.js +54 -0
- package/dist/esm/core/math/index.js.map +1 -0
- package/dist/esm/core/theme/ThemeProvider.js +26 -0
- package/dist/esm/core/theme/ThemeProvider.js.map +1 -0
- package/dist/esm/core/theme/index.js +6 -0
- package/dist/esm/core/theme/index.js.map +1 -0
- package/dist/esm/core/theme/themes.js +117 -0
- package/dist/esm/core/theme/themes.js.map +1 -0
- package/dist/esm/core/types/index.js +10 -0
- package/dist/esm/core/types/index.js.map +1 -0
- package/dist/esm/core/utils/responsive.js +112 -0
- package/dist/esm/core/utils/responsive.js.map +1 -0
- package/dist/esm/core/utils/time.js +79 -0
- package/dist/esm/core/utils/time.js.map +1 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/renderer-svg/adapters/index.js +62 -0
- package/dist/esm/renderer-svg/adapters/index.js.map +1 -0
- package/dist/esm/renderer-svg/index.js +9 -0
- package/dist/esm/renderer-svg/index.js.map +1 -0
- package/dist/esm/renderer-svg/paths/arc.js +74 -0
- package/dist/esm/renderer-svg/paths/arc.js.map +1 -0
- package/dist/esm/renderer-svg/paths/index.js +7 -0
- package/dist/esm/renderer-svg/paths/index.js.map +1 -0
- package/dist/esm/renderer-svg/paths/line.js +64 -0
- package/dist/esm/renderer-svg/paths/line.js.map +1 -0
- package/dist/esm/renderer-svg/paths/rect.js +50 -0
- package/dist/esm/renderer-svg/paths/rect.js.map +1 -0
- package/dist/esm/renderer-svg/primitives/AnimatedCircle.js +15 -0
- package/dist/esm/renderer-svg/primitives/AnimatedCircle.js.map +1 -0
- package/dist/esm/renderer-svg/primitives/AnimatedPath.js +15 -0
- package/dist/esm/renderer-svg/primitives/AnimatedPath.js.map +1 -0
- package/dist/esm/renderer-svg/primitives/Text.js +29 -0
- package/dist/esm/renderer-svg/primitives/Text.js.map +1 -0
- package/dist/esm/renderer-svg/primitives/index.js +7 -0
- package/dist/esm/renderer-svg/primitives/index.js.map +1 -0
- package/dist/esm/widgets/AreaChart/AreaChart.js +143 -0
- package/dist/esm/widgets/AreaChart/AreaChart.js.map +1 -0
- package/dist/esm/widgets/AreaChart/index.js +2 -0
- package/dist/esm/widgets/AreaChart/index.js.map +1 -0
- package/dist/esm/widgets/AreaChart/types.js +2 -0
- package/dist/esm/widgets/AreaChart/types.js.map +1 -0
- package/dist/esm/widgets/BarChart/BarChart.js +167 -0
- package/dist/esm/widgets/BarChart/BarChart.js.map +1 -0
- package/dist/esm/widgets/BarChart/index.js +5 -0
- package/dist/esm/widgets/BarChart/index.js.map +1 -0
- package/dist/esm/widgets/BarChart/types.js +2 -0
- package/dist/esm/widgets/BarChart/types.js.map +1 -0
- package/dist/esm/widgets/BoxPlot/BoxPlot.js +150 -0
- package/dist/esm/widgets/BoxPlot/BoxPlot.js.map +1 -0
- package/dist/esm/widgets/BoxPlot/index.js +2 -0
- package/dist/esm/widgets/BoxPlot/index.js.map +1 -0
- package/dist/esm/widgets/BoxPlot/types.js +2 -0
- package/dist/esm/widgets/BoxPlot/types.js.map +1 -0
- package/dist/esm/widgets/BubbleChart/BubbleChart.js +122 -0
- package/dist/esm/widgets/BubbleChart/BubbleChart.js.map +1 -0
- package/dist/esm/widgets/BubbleChart/index.js +2 -0
- package/dist/esm/widgets/BubbleChart/index.js.map +1 -0
- package/dist/esm/widgets/BubbleChart/types.js +2 -0
- package/dist/esm/widgets/BubbleChart/types.js.map +1 -0
- package/dist/esm/widgets/CandlestickChart/CandlestickChart.js +132 -0
- package/dist/esm/widgets/CandlestickChart/CandlestickChart.js.map +1 -0
- package/dist/esm/widgets/CandlestickChart/index.js +2 -0
- package/dist/esm/widgets/CandlestickChart/index.js.map +1 -0
- package/dist/esm/widgets/CandlestickChart/types.js +2 -0
- package/dist/esm/widgets/CandlestickChart/types.js.map +1 -0
- package/dist/esm/widgets/FunnelChart/FunnelChart.js +113 -0
- package/dist/esm/widgets/FunnelChart/FunnelChart.js.map +1 -0
- package/dist/esm/widgets/FunnelChart/index.js +2 -0
- package/dist/esm/widgets/FunnelChart/index.js.map +1 -0
- package/dist/esm/widgets/FunnelChart/types.js +2 -0
- package/dist/esm/widgets/FunnelChart/types.js.map +1 -0
- package/dist/esm/widgets/Gauge/Gauge.js +132 -0
- package/dist/esm/widgets/Gauge/Gauge.js.map +1 -0
- package/dist/esm/widgets/Gauge/index.js +5 -0
- package/dist/esm/widgets/Gauge/index.js.map +1 -0
- package/dist/esm/widgets/Gauge/types.js +2 -0
- package/dist/esm/widgets/Gauge/types.js.map +1 -0
- package/dist/esm/widgets/GroupedBarChart/GroupedBarChart.js +119 -0
- package/dist/esm/widgets/GroupedBarChart/GroupedBarChart.js.map +1 -0
- package/dist/esm/widgets/GroupedBarChart/index.js +2 -0
- package/dist/esm/widgets/GroupedBarChart/index.js.map +1 -0
- package/dist/esm/widgets/GroupedBarChart/types.js +2 -0
- package/dist/esm/widgets/GroupedBarChart/types.js.map +1 -0
- package/dist/esm/widgets/Heatmap/Heatmap.js +146 -0
- package/dist/esm/widgets/Heatmap/Heatmap.js.map +1 -0
- package/dist/esm/widgets/Heatmap/index.js +2 -0
- package/dist/esm/widgets/Heatmap/index.js.map +1 -0
- package/dist/esm/widgets/Heatmap/types.js +2 -0
- package/dist/esm/widgets/Heatmap/types.js.map +1 -0
- package/dist/esm/widgets/Histogram/Histogram.js +116 -0
- package/dist/esm/widgets/Histogram/Histogram.js.map +1 -0
- package/dist/esm/widgets/Histogram/index.js +2 -0
- package/dist/esm/widgets/Histogram/index.js.map +1 -0
- package/dist/esm/widgets/Histogram/types.js +2 -0
- package/dist/esm/widgets/Histogram/types.js.map +1 -0
- package/dist/esm/widgets/HorizontalBarChart/HorizontalBarChart.js +88 -0
- package/dist/esm/widgets/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
- package/dist/esm/widgets/HorizontalBarChart/index.js +2 -0
- package/dist/esm/widgets/HorizontalBarChart/index.js.map +1 -0
- package/dist/esm/widgets/HorizontalBarChart/types.js +2 -0
- package/dist/esm/widgets/HorizontalBarChart/types.js.map +1 -0
- package/dist/esm/widgets/KPI/KPI.js +159 -0
- package/dist/esm/widgets/KPI/KPI.js.map +1 -0
- package/dist/esm/widgets/KPI/index.js +5 -0
- package/dist/esm/widgets/KPI/index.js.map +1 -0
- package/dist/esm/widgets/KPI/types.js +2 -0
- package/dist/esm/widgets/KPI/types.js.map +1 -0
- package/dist/esm/widgets/LineChart/LineChart.js +262 -0
- package/dist/esm/widgets/LineChart/LineChart.js.map +1 -0
- package/dist/esm/widgets/LineChart/index.js +5 -0
- package/dist/esm/widgets/LineChart/index.js.map +1 -0
- package/dist/esm/widgets/LineChart/types.js +2 -0
- package/dist/esm/widgets/LineChart/types.js.map +1 -0
- package/dist/esm/widgets/MultiLineSparkline/MultiLineSparkline.js +153 -0
- package/dist/esm/widgets/MultiLineSparkline/MultiLineSparkline.js.map +1 -0
- package/dist/esm/widgets/MultiLineSparkline/index.js +5 -0
- package/dist/esm/widgets/MultiLineSparkline/index.js.map +1 -0
- package/dist/esm/widgets/MultiLineSparkline/types.js +2 -0
- package/dist/esm/widgets/MultiLineSparkline/types.js.map +1 -0
- package/dist/esm/widgets/PieChart/PieChart.js +205 -0
- package/dist/esm/widgets/PieChart/PieChart.js.map +1 -0
- package/dist/esm/widgets/PieChart/index.js +5 -0
- package/dist/esm/widgets/PieChart/index.js.map +1 -0
- package/dist/esm/widgets/PieChart/types.js +2 -0
- package/dist/esm/widgets/PieChart/types.js.map +1 -0
- package/dist/esm/widgets/Progress/Progress.js +130 -0
- package/dist/esm/widgets/Progress/Progress.js.map +1 -0
- package/dist/esm/widgets/Progress/index.js +5 -0
- package/dist/esm/widgets/Progress/index.js.map +1 -0
- package/dist/esm/widgets/Progress/types.js +2 -0
- package/dist/esm/widgets/Progress/types.js.map +1 -0
- package/dist/esm/widgets/RadarChart/RadarChart.js +126 -0
- package/dist/esm/widgets/RadarChart/RadarChart.js.map +1 -0
- package/dist/esm/widgets/RadarChart/index.js +2 -0
- package/dist/esm/widgets/RadarChart/index.js.map +1 -0
- package/dist/esm/widgets/RadarChart/types.js +2 -0
- package/dist/esm/widgets/RadarChart/types.js.map +1 -0
- package/dist/esm/widgets/SankeyDiagram/SankeyDiagram.js +175 -0
- package/dist/esm/widgets/SankeyDiagram/SankeyDiagram.js.map +1 -0
- package/dist/esm/widgets/SankeyDiagram/index.js +2 -0
- package/dist/esm/widgets/SankeyDiagram/index.js.map +1 -0
- package/dist/esm/widgets/SankeyDiagram/types.js +2 -0
- package/dist/esm/widgets/SankeyDiagram/types.js.map +1 -0
- package/dist/esm/widgets/ScatterPlot/ScatterPlot.js +116 -0
- package/dist/esm/widgets/ScatterPlot/ScatterPlot.js.map +1 -0
- package/dist/esm/widgets/ScatterPlot/index.js +2 -0
- package/dist/esm/widgets/ScatterPlot/index.js.map +1 -0
- package/dist/esm/widgets/ScatterPlot/types.js +2 -0
- package/dist/esm/widgets/ScatterPlot/types.js.map +1 -0
- package/dist/esm/widgets/Sparkline/Sparkline.js +118 -0
- package/dist/esm/widgets/Sparkline/Sparkline.js.map +1 -0
- package/dist/esm/widgets/Sparkline/index.js +5 -0
- package/dist/esm/widgets/Sparkline/index.js.map +1 -0
- package/dist/esm/widgets/Sparkline/types.js +2 -0
- package/dist/esm/widgets/Sparkline/types.js.map +1 -0
- package/dist/esm/widgets/StackedBarChart/StackedBarChart.js +116 -0
- package/dist/esm/widgets/StackedBarChart/StackedBarChart.js.map +1 -0
- package/dist/esm/widgets/StackedBarChart/index.js +2 -0
- package/dist/esm/widgets/StackedBarChart/index.js.map +1 -0
- package/dist/esm/widgets/StackedBarChart/types.js +2 -0
- package/dist/esm/widgets/StackedBarChart/types.js.map +1 -0
- package/dist/esm/widgets/SunburstChart/SunburstChart.js +98 -0
- package/dist/esm/widgets/SunburstChart/SunburstChart.js.map +1 -0
- package/dist/esm/widgets/SunburstChart/index.js +2 -0
- package/dist/esm/widgets/SunburstChart/index.js.map +1 -0
- package/dist/esm/widgets/SunburstChart/types.js +2 -0
- package/dist/esm/widgets/SunburstChart/types.js.map +1 -0
- package/dist/esm/widgets/Treemap/Treemap.js +109 -0
- package/dist/esm/widgets/Treemap/Treemap.js.map +1 -0
- package/dist/esm/widgets/Treemap/index.js +2 -0
- package/dist/esm/widgets/Treemap/index.js.map +1 -0
- package/dist/esm/widgets/Treemap/types.js +2 -0
- package/dist/esm/widgets/Treemap/types.js.map +1 -0
- package/dist/esm/widgets/WaterfallChart/WaterfallChart.js +139 -0
- package/dist/esm/widgets/WaterfallChart/WaterfallChart.js.map +1 -0
- package/dist/esm/widgets/WaterfallChart/index.js +2 -0
- package/dist/esm/widgets/WaterfallChart/index.js.map +1 -0
- package/dist/esm/widgets/WaterfallChart/types.js +2 -0
- package/dist/esm/widgets/WaterfallChart/types.js.map +1 -0
- package/dist/esm/widgets/index.js +35 -0
- package/dist/esm/widgets/index.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/renderer-svg/adapters/index.d.ts +21 -0
- package/dist/renderer-svg/adapters/index.d.ts.map +1 -0
- package/dist/renderer-svg/index.d.ts +9 -0
- package/dist/renderer-svg/index.d.ts.map +1 -0
- package/dist/renderer-svg/paths/arc.d.ts +24 -0
- package/dist/renderer-svg/paths/arc.d.ts.map +1 -0
- package/dist/renderer-svg/paths/index.d.ts +7 -0
- package/dist/renderer-svg/paths/index.d.ts.map +1 -0
- package/dist/renderer-svg/paths/line.d.ts +21 -0
- package/dist/renderer-svg/paths/line.d.ts.map +1 -0
- package/dist/renderer-svg/paths/rect.d.ts +24 -0
- package/dist/renderer-svg/paths/rect.d.ts.map +1 -0
- package/dist/renderer-svg/primitives/AnimatedCircle.d.ts +19 -0
- package/dist/renderer-svg/primitives/AnimatedCircle.d.ts.map +1 -0
- package/dist/renderer-svg/primitives/AnimatedPath.d.ts +19 -0
- package/dist/renderer-svg/primitives/AnimatedPath.d.ts.map +1 -0
- package/dist/renderer-svg/primitives/Text.d.ts +25 -0
- package/dist/renderer-svg/primitives/Text.d.ts.map +1 -0
- package/dist/renderer-svg/primitives/index.d.ts +7 -0
- package/dist/renderer-svg/primitives/index.d.ts.map +1 -0
- package/dist/widgets/AreaChart/AreaChart.d.ts +7 -0
- package/dist/widgets/AreaChart/AreaChart.d.ts.map +1 -0
- package/dist/widgets/AreaChart/index.d.ts +3 -0
- package/dist/widgets/AreaChart/index.d.ts.map +1 -0
- package/dist/widgets/AreaChart/types.d.ts +30 -0
- package/dist/widgets/AreaChart/types.d.ts.map +1 -0
- package/dist/widgets/BarChart/BarChart.d.ts +10 -0
- package/dist/widgets/BarChart/BarChart.d.ts.map +1 -0
- package/dist/widgets/BarChart/index.d.ts +6 -0
- package/dist/widgets/BarChart/index.d.ts.map +1 -0
- package/dist/widgets/BarChart/types.d.ts +24 -0
- package/dist/widgets/BarChart/types.d.ts.map +1 -0
- package/dist/widgets/BoxPlot/BoxPlot.d.ts +7 -0
- package/dist/widgets/BoxPlot/BoxPlot.d.ts.map +1 -0
- package/dist/widgets/BoxPlot/index.d.ts +3 -0
- package/dist/widgets/BoxPlot/index.d.ts.map +1 -0
- package/dist/widgets/BoxPlot/types.d.ts +25 -0
- package/dist/widgets/BoxPlot/types.d.ts.map +1 -0
- package/dist/widgets/BubbleChart/BubbleChart.d.ts +7 -0
- package/dist/widgets/BubbleChart/BubbleChart.d.ts.map +1 -0
- package/dist/widgets/BubbleChart/index.d.ts +3 -0
- package/dist/widgets/BubbleChart/index.d.ts.map +1 -0
- package/dist/widgets/BubbleChart/types.d.ts +30 -0
- package/dist/widgets/BubbleChart/types.d.ts.map +1 -0
- package/dist/widgets/CandlestickChart/CandlestickChart.d.ts +7 -0
- package/dist/widgets/CandlestickChart/CandlestickChart.d.ts.map +1 -0
- package/dist/widgets/CandlestickChart/index.d.ts +3 -0
- package/dist/widgets/CandlestickChart/index.d.ts.map +1 -0
- package/dist/widgets/CandlestickChart/types.d.ts +27 -0
- package/dist/widgets/CandlestickChart/types.d.ts.map +1 -0
- package/dist/widgets/FunnelChart/FunnelChart.d.ts +7 -0
- package/dist/widgets/FunnelChart/FunnelChart.d.ts.map +1 -0
- package/dist/widgets/FunnelChart/index.d.ts +3 -0
- package/dist/widgets/FunnelChart/index.d.ts.map +1 -0
- package/dist/widgets/FunnelChart/types.d.ts +20 -0
- package/dist/widgets/FunnelChart/types.d.ts.map +1 -0
- package/dist/widgets/Gauge/Gauge.d.ts +11 -0
- package/dist/widgets/Gauge/Gauge.d.ts.map +1 -0
- package/dist/widgets/Gauge/index.d.ts +6 -0
- package/dist/widgets/Gauge/index.d.ts.map +1 -0
- package/dist/widgets/Gauge/types.d.ts +18 -0
- package/dist/widgets/Gauge/types.d.ts.map +1 -0
- package/dist/widgets/GroupedBarChart/GroupedBarChart.d.ts +7 -0
- package/dist/widgets/GroupedBarChart/GroupedBarChart.d.ts.map +1 -0
- package/dist/widgets/GroupedBarChart/index.d.ts +3 -0
- package/dist/widgets/GroupedBarChart/index.d.ts.map +1 -0
- package/dist/widgets/GroupedBarChart/types.d.ts +27 -0
- package/dist/widgets/GroupedBarChart/types.d.ts.map +1 -0
- package/dist/widgets/Heatmap/Heatmap.d.ts +7 -0
- package/dist/widgets/Heatmap/Heatmap.d.ts.map +1 -0
- package/dist/widgets/Heatmap/index.d.ts +3 -0
- package/dist/widgets/Heatmap/index.d.ts.map +1 -0
- package/dist/widgets/Heatmap/types.d.ts +25 -0
- package/dist/widgets/Heatmap/types.d.ts.map +1 -0
- package/dist/widgets/Histogram/Histogram.d.ts +7 -0
- package/dist/widgets/Histogram/Histogram.d.ts.map +1 -0
- package/dist/widgets/Histogram/index.d.ts +3 -0
- package/dist/widgets/Histogram/index.d.ts.map +1 -0
- package/dist/widgets/Histogram/types.d.ts +17 -0
- package/dist/widgets/Histogram/types.d.ts.map +1 -0
- package/dist/widgets/HorizontalBarChart/HorizontalBarChart.d.ts +7 -0
- package/dist/widgets/HorizontalBarChart/HorizontalBarChart.d.ts.map +1 -0
- package/dist/widgets/HorizontalBarChart/index.d.ts +3 -0
- package/dist/widgets/HorizontalBarChart/index.d.ts.map +1 -0
- package/dist/widgets/HorizontalBarChart/types.d.ts +21 -0
- package/dist/widgets/HorizontalBarChart/types.d.ts.map +1 -0
- package/dist/widgets/KPI/KPI.d.ts +11 -0
- package/dist/widgets/KPI/KPI.d.ts.map +1 -0
- package/dist/widgets/KPI/index.d.ts +6 -0
- package/dist/widgets/KPI/index.d.ts.map +1 -0
- package/dist/widgets/KPI/types.d.ts +17 -0
- package/dist/widgets/KPI/types.d.ts.map +1 -0
- package/dist/widgets/LineChart/LineChart.d.ts +10 -0
- package/dist/widgets/LineChart/LineChart.d.ts.map +1 -0
- package/dist/widgets/LineChart/index.d.ts +6 -0
- package/dist/widgets/LineChart/index.d.ts.map +1 -0
- package/dist/widgets/LineChart/types.d.ts +31 -0
- package/dist/widgets/LineChart/types.d.ts.map +1 -0
- package/dist/widgets/MultiLineSparkline/MultiLineSparkline.d.ts +10 -0
- package/dist/widgets/MultiLineSparkline/MultiLineSparkline.d.ts.map +1 -0
- package/dist/widgets/MultiLineSparkline/index.d.ts +6 -0
- package/dist/widgets/MultiLineSparkline/index.d.ts.map +1 -0
- package/dist/widgets/MultiLineSparkline/types.d.ts +22 -0
- package/dist/widgets/MultiLineSparkline/types.d.ts.map +1 -0
- package/dist/widgets/PieChart/PieChart.d.ts +10 -0
- package/dist/widgets/PieChart/PieChart.d.ts.map +1 -0
- package/dist/widgets/PieChart/index.d.ts +6 -0
- package/dist/widgets/PieChart/index.d.ts.map +1 -0
- package/dist/widgets/PieChart/types.d.ts +23 -0
- package/dist/widgets/PieChart/types.d.ts.map +1 -0
- package/dist/widgets/Progress/Progress.d.ts +11 -0
- package/dist/widgets/Progress/Progress.d.ts.map +1 -0
- package/dist/widgets/Progress/index.d.ts +6 -0
- package/dist/widgets/Progress/index.d.ts.map +1 -0
- package/dist/widgets/Progress/types.d.ts +17 -0
- package/dist/widgets/Progress/types.d.ts.map +1 -0
- package/dist/widgets/RadarChart/RadarChart.d.ts +7 -0
- package/dist/widgets/RadarChart/RadarChart.d.ts.map +1 -0
- package/dist/widgets/RadarChart/index.d.ts +3 -0
- package/dist/widgets/RadarChart/index.d.ts.map +1 -0
- package/dist/widgets/RadarChart/types.d.ts +26 -0
- package/dist/widgets/RadarChart/types.d.ts.map +1 -0
- package/dist/widgets/SankeyDiagram/SankeyDiagram.d.ts +7 -0
- package/dist/widgets/SankeyDiagram/SankeyDiagram.d.ts.map +1 -0
- package/dist/widgets/SankeyDiagram/index.d.ts +3 -0
- package/dist/widgets/SankeyDiagram/index.d.ts.map +1 -0
- package/dist/widgets/SankeyDiagram/types.d.ts +26 -0
- package/dist/widgets/SankeyDiagram/types.d.ts.map +1 -0
- package/dist/widgets/ScatterPlot/ScatterPlot.d.ts +7 -0
- package/dist/widgets/ScatterPlot/ScatterPlot.d.ts.map +1 -0
- package/dist/widgets/ScatterPlot/index.d.ts +3 -0
- package/dist/widgets/ScatterPlot/index.d.ts.map +1 -0
- package/dist/widgets/ScatterPlot/types.d.ts +29 -0
- package/dist/widgets/ScatterPlot/types.d.ts.map +1 -0
- package/dist/widgets/Sparkline/Sparkline.d.ts +11 -0
- package/dist/widgets/Sparkline/Sparkline.d.ts.map +1 -0
- package/dist/widgets/Sparkline/index.d.ts +6 -0
- package/dist/widgets/Sparkline/index.d.ts.map +1 -0
- package/dist/widgets/Sparkline/types.d.ts +16 -0
- package/dist/widgets/Sparkline/types.d.ts.map +1 -0
- package/dist/widgets/StackedBarChart/StackedBarChart.d.ts +7 -0
- package/dist/widgets/StackedBarChart/StackedBarChart.d.ts.map +1 -0
- package/dist/widgets/StackedBarChart/index.d.ts +3 -0
- package/dist/widgets/StackedBarChart/index.d.ts.map +1 -0
- package/dist/widgets/StackedBarChart/types.d.ts +26 -0
- package/dist/widgets/StackedBarChart/types.d.ts.map +1 -0
- package/dist/widgets/SunburstChart/SunburstChart.d.ts +7 -0
- package/dist/widgets/SunburstChart/SunburstChart.d.ts.map +1 -0
- package/dist/widgets/SunburstChart/index.d.ts +3 -0
- package/dist/widgets/SunburstChart/index.d.ts.map +1 -0
- package/dist/widgets/SunburstChart/types.d.ts +20 -0
- package/dist/widgets/SunburstChart/types.d.ts.map +1 -0
- package/dist/widgets/Treemap/Treemap.d.ts +7 -0
- package/dist/widgets/Treemap/Treemap.d.ts.map +1 -0
- package/dist/widgets/Treemap/index.d.ts +3 -0
- package/dist/widgets/Treemap/index.d.ts.map +1 -0
- package/dist/widgets/Treemap/types.d.ts +21 -0
- package/dist/widgets/Treemap/types.d.ts.map +1 -0
- package/dist/widgets/WaterfallChart/WaterfallChart.d.ts +7 -0
- package/dist/widgets/WaterfallChart/WaterfallChart.d.ts.map +1 -0
- package/dist/widgets/WaterfallChart/index.d.ts +3 -0
- package/dist/widgets/WaterfallChart/index.d.ts.map +1 -0
- package/dist/widgets/WaterfallChart/types.d.ts +24 -0
- package/dist/widgets/WaterfallChart/types.d.ts.map +1 -0
- package/dist/widgets/index.d.ts +29 -0
- package/dist/widgets/index.d.ts.map +1 -0
- package/package.json +84 -0
- package/src/core/animation/index.ts +113 -0
- package/src/core/animation/index.web.ts +112 -0
- package/src/core/hooks/index.ts +66 -0
- package/src/core/index.ts +26 -0
- package/src/core/layout/index.ts +101 -0
- package/src/core/math/index.ts +72 -0
- package/src/core/package.json +13 -0
- package/src/core/theme/ThemeProvider.tsx +36 -0
- package/src/core/theme/index.ts +5 -0
- package/src/core/theme/themes.ts +132 -0
- package/src/core/types/index.ts +164 -0
- package/src/core/utils/responsive.ts +203 -0
- package/src/core/utils/time.ts +100 -0
- package/src/index.ts +13 -0
- package/src/renderer-svg/adapters/index.ts +84 -0
- package/src/renderer-svg/index.ts +8 -0
- package/src/renderer-svg/package.json +17 -0
- package/src/renderer-svg/paths/arc.ts +93 -0
- package/src/renderer-svg/paths/index.ts +6 -0
- package/src/renderer-svg/paths/line.ts +83 -0
- package/src/renderer-svg/paths/rect.ts +80 -0
- package/src/renderer-svg/primitives/AnimatedCircle.tsx +48 -0
- package/src/renderer-svg/primitives/AnimatedPath.tsx +48 -0
- package/src/renderer-svg/primitives/Text.tsx +73 -0
- package/src/renderer-svg/primitives/index.ts +6 -0
- package/src/widgets/AreaChart/AreaChart.tsx +213 -0
- package/src/widgets/AreaChart/index.ts +2 -0
- package/src/widgets/AreaChart/types.ts +34 -0
- package/src/widgets/BarChart/BarChart.tsx +249 -0
- package/src/widgets/BarChart/index.ts +10 -0
- package/src/widgets/BarChart/types.ts +27 -0
- package/src/widgets/BoxPlot/BoxPlot.tsx +252 -0
- package/src/widgets/BoxPlot/index.ts +2 -0
- package/src/widgets/BoxPlot/types.ts +27 -0
- package/src/widgets/BubbleChart/BubbleChart.tsx +175 -0
- package/src/widgets/BubbleChart/index.ts +2 -0
- package/src/widgets/BubbleChart/types.ts +33 -0
- package/src/widgets/CandlestickChart/CandlestickChart.tsx +204 -0
- package/src/widgets/CandlestickChart/index.ts +2 -0
- package/src/widgets/CandlestickChart/types.ts +29 -0
- package/src/widgets/FunnelChart/FunnelChart.tsx +172 -0
- package/src/widgets/FunnelChart/index.ts +2 -0
- package/src/widgets/FunnelChart/types.ts +22 -0
- package/src/widgets/Gauge/Gauge.tsx +235 -0
- package/src/widgets/Gauge/index.ts +5 -0
- package/src/widgets/Gauge/types.ts +19 -0
- package/src/widgets/GroupedBarChart/GroupedBarChart.tsx +190 -0
- package/src/widgets/GroupedBarChart/index.ts +2 -0
- package/src/widgets/GroupedBarChart/types.ts +30 -0
- package/src/widgets/Heatmap/Heatmap.tsx +216 -0
- package/src/widgets/Heatmap/index.ts +2 -0
- package/src/widgets/Heatmap/types.ts +27 -0
- package/src/widgets/Histogram/Histogram.tsx +173 -0
- package/src/widgets/Histogram/index.ts +2 -0
- package/src/widgets/Histogram/types.ts +18 -0
- package/src/widgets/HorizontalBarChart/HorizontalBarChart.tsx +125 -0
- package/src/widgets/HorizontalBarChart/index.ts +2 -0
- package/src/widgets/HorizontalBarChart/types.ts +23 -0
- package/src/widgets/KPI/KPI.tsx +222 -0
- package/src/widgets/KPI/index.ts +5 -0
- package/src/widgets/KPI/types.ts +19 -0
- package/src/widgets/LineChart/LineChart.tsx +364 -0
- package/src/widgets/LineChart/index.ts +10 -0
- package/src/widgets/LineChart/types.ts +34 -0
- package/src/widgets/MultiLineSparkline/MultiLineSparkline.tsx +234 -0
- package/src/widgets/MultiLineSparkline/index.ts +10 -0
- package/src/widgets/MultiLineSparkline/types.ts +25 -0
- package/src/widgets/PieChart/PieChart.tsx +275 -0
- package/src/widgets/PieChart/index.ts +10 -0
- package/src/widgets/PieChart/types.ts +26 -0
- package/src/widgets/Progress/Progress.tsx +201 -0
- package/src/widgets/Progress/index.ts +5 -0
- package/src/widgets/Progress/types.ts +19 -0
- package/src/widgets/RadarChart/RadarChart.tsx +213 -0
- package/src/widgets/RadarChart/index.ts +2 -0
- package/src/widgets/RadarChart/types.ts +29 -0
- package/src/widgets/SankeyDiagram/SankeyDiagram.tsx +272 -0
- package/src/widgets/SankeyDiagram/index.ts +2 -0
- package/src/widgets/SankeyDiagram/types.ts +29 -0
- package/src/widgets/ScatterPlot/ScatterPlot.tsx +167 -0
- package/src/widgets/ScatterPlot/index.ts +2 -0
- package/src/widgets/ScatterPlot/types.ts +32 -0
- package/src/widgets/Sparkline/Sparkline.tsx +203 -0
- package/src/widgets/Sparkline/index.ts +5 -0
- package/src/widgets/Sparkline/types.ts +18 -0
- package/src/widgets/StackedBarChart/StackedBarChart.tsx +181 -0
- package/src/widgets/StackedBarChart/index.ts +2 -0
- package/src/widgets/StackedBarChart/types.ts +29 -0
- package/src/widgets/SunburstChart/SunburstChart.tsx +176 -0
- package/src/widgets/SunburstChart/index.ts +2 -0
- package/src/widgets/SunburstChart/types.ts +22 -0
- package/src/widgets/Treemap/Treemap.tsx +191 -0
- package/src/widgets/Treemap/index.ts +2 -0
- package/src/widgets/Treemap/types.ts +23 -0
- package/src/widgets/WaterfallChart/WaterfallChart.tsx +226 -0
- package/src/widgets/WaterfallChart/index.ts +2 -0
- package/src/widgets/WaterfallChart/types.ts +26 -0
- package/src/widgets/index.ts +40 -0
- package/src/widgets/package.json +18 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunnelChart.js","sourceRoot":"","sources":["../../../../src/widgets/FunnelChart/FunnelChart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/widgets/FunnelChart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/widgets/FunnelChart/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gauge Widget - Show progress toward a goal
|
|
3
|
+
* Demonstrates SVG + math separation
|
|
4
|
+
*/
|
|
5
|
+
import React, { memo, useMemo } from 'react';
|
|
6
|
+
import { View, Text as RNText, StyleSheet } from 'react-native';
|
|
7
|
+
import Svg from 'react-native-svg';
|
|
8
|
+
import { useWidgetDimensions, useWidgetTheme, clamp, interpolate, normalize, createFontSizeCalculator, } from '../../core';
|
|
9
|
+
import { createArcPath, AnimatedPath, Text, formatNumber, } from '../../renderer-svg';
|
|
10
|
+
/**
|
|
11
|
+
* Gauge Widget Component
|
|
12
|
+
*/
|
|
13
|
+
export const Gauge = memo(({ data, width, height, loading = false, theme: themeOverride, animated = true, startAngle = -120, endAngle = 120, thickness = 12, showValue = true, showLabel = true, fontSize: fontConfig, testID, }) => {
|
|
14
|
+
const theme = useWidgetTheme(themeOverride);
|
|
15
|
+
const dimensions = useWidgetDimensions(width, height, 200, 200);
|
|
16
|
+
// Create responsive font size calculator
|
|
17
|
+
const fontSizes = useMemo(() => createFontSizeCalculator(dimensions.width, dimensions.height, fontConfig), [dimensions.width, dimensions.height, fontConfig]);
|
|
18
|
+
// Handle states
|
|
19
|
+
if (loading) {
|
|
20
|
+
return (<View style={[
|
|
21
|
+
styles.container,
|
|
22
|
+
{
|
|
23
|
+
width: dimensions.width,
|
|
24
|
+
height: dimensions.height,
|
|
25
|
+
backgroundColor: theme.colors.surface,
|
|
26
|
+
borderRadius: theme.radius.md,
|
|
27
|
+
},
|
|
28
|
+
]} testID={`${testID}-loading`}>
|
|
29
|
+
<RNText style={[styles.loadingText, { color: theme.colors.textSecondary }]}>
|
|
30
|
+
Loading...
|
|
31
|
+
</RNText>
|
|
32
|
+
</View>);
|
|
33
|
+
}
|
|
34
|
+
if (!data) {
|
|
35
|
+
return (<View style={[
|
|
36
|
+
styles.container,
|
|
37
|
+
{
|
|
38
|
+
width: dimensions.width,
|
|
39
|
+
height: dimensions.height,
|
|
40
|
+
backgroundColor: theme.colors.surface,
|
|
41
|
+
borderRadius: theme.radius.md,
|
|
42
|
+
},
|
|
43
|
+
]} testID={`${testID}-empty`}>
|
|
44
|
+
<RNText style={[styles.emptyText, { color: theme.colors.textSecondary }]}>
|
|
45
|
+
No data
|
|
46
|
+
</RNText>
|
|
47
|
+
</View>);
|
|
48
|
+
}
|
|
49
|
+
const { value, max, label, unit = '' } = data;
|
|
50
|
+
const normalizedValue = clamp(value, 0, max);
|
|
51
|
+
// Calculate dimensions
|
|
52
|
+
const size = Math.min(dimensions.width, dimensions.height);
|
|
53
|
+
const center = size / 2;
|
|
54
|
+
const radius = (size - thickness - theme.spacing.md * 2) / 2;
|
|
55
|
+
// Calculate progress (no animation for Expo Go)
|
|
56
|
+
const progressValue = normalize(normalizedValue, 0, max);
|
|
57
|
+
const currentAngle = interpolate(progressValue, [0, 1], [startAngle, endAngle]);
|
|
58
|
+
// Background arc path (full gauge)
|
|
59
|
+
const backgroundArcPath = useMemo(() => createArcPath({
|
|
60
|
+
cx: center,
|
|
61
|
+
cy: center,
|
|
62
|
+
radius,
|
|
63
|
+
startAngle,
|
|
64
|
+
endAngle,
|
|
65
|
+
}), [center, radius, startAngle, endAngle]);
|
|
66
|
+
// Foreground arc path
|
|
67
|
+
const foregroundArcPath = useMemo(() => createArcPath({
|
|
68
|
+
cx: center,
|
|
69
|
+
cy: center,
|
|
70
|
+
radius,
|
|
71
|
+
startAngle,
|
|
72
|
+
endAngle: currentAngle,
|
|
73
|
+
}), [center, radius, startAngle, currentAngle]);
|
|
74
|
+
// Display value
|
|
75
|
+
const displayValue = useMemo(() => `${formatNumber(normalizedValue, 'compact')}${unit}`, [normalizedValue, unit]);
|
|
76
|
+
const displayMax = useMemo(() => `/ ${formatNumber(max, 'compact')}${unit}`, [max, unit]);
|
|
77
|
+
return (<View style={[
|
|
78
|
+
styles.container,
|
|
79
|
+
{
|
|
80
|
+
width: dimensions.width,
|
|
81
|
+
height: dimensions.height,
|
|
82
|
+
backgroundColor: theme.colors.surface,
|
|
83
|
+
borderRadius: theme.radius.md,
|
|
84
|
+
padding: theme.spacing.md,
|
|
85
|
+
},
|
|
86
|
+
]} testID={testID}>
|
|
87
|
+
<Svg width={size} height={size}>
|
|
88
|
+
{/* Background arc */}
|
|
89
|
+
<AnimatedPath d={backgroundArcPath} stroke={theme.colors.borderLight} strokeWidth={thickness} strokeLinecap="round" fill="transparent"/>
|
|
90
|
+
|
|
91
|
+
{/* Foreground arc */}
|
|
92
|
+
<AnimatedPath d={foregroundArcPath} stroke={theme.colors.chartPrimary} strokeWidth={thickness} strokeLinecap="round" fill="transparent"/>
|
|
93
|
+
|
|
94
|
+
{/* Center value text */}
|
|
95
|
+
{showValue && (<>
|
|
96
|
+
<Text x={center} y={center - 8} text={displayValue} fontSize={fontSizes.value(theme.fontScale.xl)} fontWeight="bold" fill={theme.colors.text}/>
|
|
97
|
+
<Text x={center} y={center + 16} text={displayMax} fontSize={fontSizes.secondary(theme.fontScale.sm)} fill={theme.colors.textSecondary}/>
|
|
98
|
+
</>)}
|
|
99
|
+
</Svg>
|
|
100
|
+
|
|
101
|
+
{/* Label */}
|
|
102
|
+
{showLabel && label && (<RNText style={[
|
|
103
|
+
styles.label,
|
|
104
|
+
{
|
|
105
|
+
color: theme.colors.textSecondary,
|
|
106
|
+
fontSize: fontSizes.label(theme.fontScale.sm),
|
|
107
|
+
marginTop: theme.spacing.sm,
|
|
108
|
+
},
|
|
109
|
+
]}>
|
|
110
|
+
{label}
|
|
111
|
+
</RNText>)}
|
|
112
|
+
</View>);
|
|
113
|
+
});
|
|
114
|
+
Gauge.displayName = 'Gauge';
|
|
115
|
+
const styles = StyleSheet.create({
|
|
116
|
+
container: {
|
|
117
|
+
justifyContent: 'center',
|
|
118
|
+
alignItems: 'center',
|
|
119
|
+
},
|
|
120
|
+
loadingText: {
|
|
121
|
+
fontSize: 16,
|
|
122
|
+
},
|
|
123
|
+
emptyText: {
|
|
124
|
+
fontSize: 16,
|
|
125
|
+
},
|
|
126
|
+
label: {
|
|
127
|
+
textAlign: 'center',
|
|
128
|
+
textTransform: 'uppercase',
|
|
129
|
+
letterSpacing: 0.5,
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=Gauge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Gauge.js","sourceRoot":"","sources":["../../../../src/widgets/Gauge/Gauge.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/widgets/Gauge/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/widgets/Gauge/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GroupedBarChart Widget - Multiple bars side by side
|
|
3
|
+
*/
|
|
4
|
+
import React, { memo, useMemo } from 'react';
|
|
5
|
+
import { View, Text as RNText, StyleSheet } from 'react-native';
|
|
6
|
+
import Svg, { Rect } from 'react-native-svg';
|
|
7
|
+
import { useWidgetDimensions, useWidgetTheme, normalize } from '../../core';
|
|
8
|
+
import { Text } from '../../renderer-svg/primitives';
|
|
9
|
+
export const GroupedBarChart = memo(({ data: widgetData, width, height, loading = false, theme: themeOverride, barWidth = 20, groupSpacing = 32, barSpacing = 4, showValues = false, showLabels = true, showLegend = true, maxGroups = 10, testID, }) => {
|
|
10
|
+
const theme = useWidgetTheme(themeOverride);
|
|
11
|
+
const dimensions = useWidgetDimensions(width, height, 350, 250);
|
|
12
|
+
if (loading) {
|
|
13
|
+
return (<View style={[styles.container, { width: dimensions.width, height: dimensions.height, backgroundColor: theme.colors.surface, borderRadius: theme.radius.md }]} testID={`${testID}-loading`}>
|
|
14
|
+
<RNText style={[styles.loadingText, { color: theme.colors.textSecondary }]}>Loading...</RNText>
|
|
15
|
+
</View>);
|
|
16
|
+
}
|
|
17
|
+
if (!widgetData || !widgetData.data || widgetData.data.length === 0) {
|
|
18
|
+
return (<View style={[styles.container, { width: dimensions.width, height: dimensions.height, backgroundColor: theme.colors.surface, borderRadius: theme.radius.md }]} testID={`${testID}-empty`}>
|
|
19
|
+
<RNText style={[styles.emptyText, { color: theme.colors.textSecondary }]}>No data</RNText>
|
|
20
|
+
</View>);
|
|
21
|
+
}
|
|
22
|
+
const { data, title } = widgetData;
|
|
23
|
+
const displayData = data.slice(0, maxGroups);
|
|
24
|
+
const padding = theme.spacing.md;
|
|
25
|
+
const titleHeight = title ? theme.fontScale.md + theme.spacing.sm : 0;
|
|
26
|
+
const legendHeight = showLegend ? 40 : 0;
|
|
27
|
+
const labelHeight = showLabels ? theme.fontScale.sm + theme.spacing.xs : 0;
|
|
28
|
+
const chartHeight = dimensions.height - padding * 2 - titleHeight - legendHeight - labelHeight;
|
|
29
|
+
const chartWidth = dimensions.width - padding * 2;
|
|
30
|
+
const maxValue = useMemo(() => {
|
|
31
|
+
return Math.max(...displayData.flatMap(group => group.values.map(v => v.value)));
|
|
32
|
+
}, [displayData]);
|
|
33
|
+
// Get all unique value labels for legend
|
|
34
|
+
const allValueLabels = useMemo(() => {
|
|
35
|
+
const labels = new Map();
|
|
36
|
+
displayData.forEach(group => {
|
|
37
|
+
group.values.forEach(val => {
|
|
38
|
+
labels.set(val.label, val.color);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
return Array.from(labels.entries()).map(([label, color]) => ({ label, color }));
|
|
42
|
+
}, [displayData]);
|
|
43
|
+
const groups = useMemo(() => {
|
|
44
|
+
return displayData.map((group, groupIndex) => {
|
|
45
|
+
const barsInGroup = group.values.length;
|
|
46
|
+
const groupWidth = barsInGroup * barWidth + (barsInGroup - 1) * barSpacing;
|
|
47
|
+
const groupX = groupIndex * (groupWidth + groupSpacing);
|
|
48
|
+
const bars = group.values.map((val, barIndex) => {
|
|
49
|
+
const barX = groupX + barIndex * (barWidth + barSpacing);
|
|
50
|
+
const normalizedValue = normalize(val.value, 0, maxValue);
|
|
51
|
+
const barHeight = normalizedValue * chartHeight;
|
|
52
|
+
const barY = chartHeight - barHeight;
|
|
53
|
+
return {
|
|
54
|
+
x: barX,
|
|
55
|
+
y: barY,
|
|
56
|
+
width: barWidth,
|
|
57
|
+
height: barHeight,
|
|
58
|
+
color: val.color,
|
|
59
|
+
value: val.value,
|
|
60
|
+
label: val.label,
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
groupLabel: group.groupLabel,
|
|
65
|
+
bars,
|
|
66
|
+
groupX,
|
|
67
|
+
groupWidth,
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}, [displayData, barWidth, barSpacing, groupSpacing, chartHeight, maxValue]);
|
|
71
|
+
return (<View style={[styles.wrapper, { width: dimensions.width, height: dimensions.height, backgroundColor: theme.colors.surface, borderRadius: theme.radius.md, padding }]} testID={testID}>
|
|
72
|
+
{title && (<RNText style={[styles.title, { color: theme.colors.text, fontSize: theme.fontScale.md, fontWeight: 'bold', marginBottom: theme.spacing.sm }]}>
|
|
73
|
+
{title}
|
|
74
|
+
</RNText>)}
|
|
75
|
+
|
|
76
|
+
<View style={styles.chartContainer}>
|
|
77
|
+
<Svg width={chartWidth} height={chartHeight + (showValues ? 20 : 0)}>
|
|
78
|
+
{groups.map((group, groupIndex) => (group.bars.map((bar, barIndex) => (<React.Fragment key={`group-${groupIndex}-bar-${barIndex}`}>
|
|
79
|
+
<Rect x={bar.x} y={bar.y} width={bar.width} height={bar.height} fill={bar.color} rx={theme.radius.sm} ry={theme.radius.sm}/>
|
|
80
|
+
{showValues && (<Text x={bar.x + bar.width / 2} y={bar.y - 4} text={bar.value.toString()} fontSize={theme.fontScale.xs} fill={theme.colors.textSecondary} textAnchor="middle"/>)}
|
|
81
|
+
</React.Fragment>))))}
|
|
82
|
+
</Svg>
|
|
83
|
+
|
|
84
|
+
{showLabels && (<View style={styles.labelsContainer}>
|
|
85
|
+
{groups.map((group, index) => (<View key={`label-${index}`} style={[styles.labelItem, { left: group.groupX + group.groupWidth / 2 - 30, width: 60 }]}>
|
|
86
|
+
<RNText style={[styles.labelText, { color: theme.colors.textSecondary, fontSize: theme.fontScale.xs }]} numberOfLines={1}>
|
|
87
|
+
{group.groupLabel}
|
|
88
|
+
</RNText>
|
|
89
|
+
</View>))}
|
|
90
|
+
</View>)}
|
|
91
|
+
</View>
|
|
92
|
+
|
|
93
|
+
{showLegend && (<View style={styles.legend}>
|
|
94
|
+
{allValueLabels.map((item, index) => (<View key={`legend-${index}`} style={styles.legendItem}>
|
|
95
|
+
<View style={[styles.legendColor, { backgroundColor: item.color }]}/>
|
|
96
|
+
<RNText style={[styles.legendText, { color: theme.colors.textSecondary, fontSize: theme.fontScale.xs }]}>
|
|
97
|
+
{item.label}
|
|
98
|
+
</RNText>
|
|
99
|
+
</View>))}
|
|
100
|
+
</View>)}
|
|
101
|
+
</View>);
|
|
102
|
+
});
|
|
103
|
+
GroupedBarChart.displayName = 'GroupedBarChart';
|
|
104
|
+
const styles = StyleSheet.create({
|
|
105
|
+
wrapper: { justifyContent: 'flex-start', alignItems: 'flex-start' },
|
|
106
|
+
container: { justifyContent: 'center', alignItems: 'center' },
|
|
107
|
+
loadingText: { fontSize: 16 },
|
|
108
|
+
emptyText: { fontSize: 16 },
|
|
109
|
+
title: { textAlign: 'center', width: '100%' },
|
|
110
|
+
chartContainer: { flex: 1, width: '100%' },
|
|
111
|
+
labelsContainer: { position: 'relative', height: 30, marginTop: 4 },
|
|
112
|
+
labelItem: { position: 'absolute', alignItems: 'center' },
|
|
113
|
+
labelText: { textAlign: 'center' },
|
|
114
|
+
legend: { flexDirection: 'row', flexWrap: 'wrap', justifyContent: 'center', marginTop: 12, gap: 12 },
|
|
115
|
+
legendItem: { flexDirection: 'row', alignItems: 'center', gap: 6 },
|
|
116
|
+
legendColor: { width: 12, height: 12, borderRadius: 2 },
|
|
117
|
+
legendText: { textTransform: 'uppercase', letterSpacing: 0.5 },
|
|
118
|
+
});
|
|
119
|
+
//# sourceMappingURL=GroupedBarChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupedBarChart.js","sourceRoot":"","sources":["../../../../src/widgets/GroupedBarChart/GroupedBarChart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/widgets/GroupedBarChart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/widgets/GroupedBarChart/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Heatmap Widget - Grid of colored cells
|
|
3
|
+
*/
|
|
4
|
+
import React, { memo, useMemo } from 'react';
|
|
5
|
+
import { View, Text as RNText, StyleSheet } from 'react-native';
|
|
6
|
+
import Svg, { Rect } from 'react-native-svg';
|
|
7
|
+
import { useWidgetDimensions, useWidgetTheme, normalize } from '../../core';
|
|
8
|
+
import { Text } from '../../renderer-svg/primitives';
|
|
9
|
+
export const Heatmap = memo(({ data: widgetData, width, height, loading = false, theme: themeOverride, cellSize = 30, cellSpacing = 2, showValues = false, showLabels = true, colorScheme = 'blue', minColor, maxColor, testID, }) => {
|
|
10
|
+
const theme = useWidgetTheme(themeOverride);
|
|
11
|
+
const dimensions = useWidgetDimensions(width, height, 400, 300);
|
|
12
|
+
if (loading) {
|
|
13
|
+
return (<View style={[styles.container, { width: dimensions.width, height: dimensions.height, backgroundColor: theme.colors.surface, borderRadius: theme.radius.md }]} testID={`${testID}-loading`}>
|
|
14
|
+
<RNText style={[styles.loadingText, { color: theme.colors.textSecondary }]}>Loading...</RNText>
|
|
15
|
+
</View>);
|
|
16
|
+
}
|
|
17
|
+
if (!widgetData || !widgetData.data || widgetData.data.length === 0) {
|
|
18
|
+
return (<View style={[styles.container, { width: dimensions.width, height: dimensions.height, backgroundColor: theme.colors.surface, borderRadius: theme.radius.md }]} testID={`${testID}-empty`}>
|
|
19
|
+
<RNText style={[styles.emptyText, { color: theme.colors.textSecondary }]}>No data</RNText>
|
|
20
|
+
</View>);
|
|
21
|
+
}
|
|
22
|
+
const { data, xLabels, yLabels, title } = widgetData;
|
|
23
|
+
const padding = theme.spacing.md;
|
|
24
|
+
const titleHeight = title ? theme.fontScale.md + theme.spacing.sm : 0;
|
|
25
|
+
const yLabelWidth = showLabels ? 60 : 0;
|
|
26
|
+
const xLabelHeight = showLabels ? 30 : 0;
|
|
27
|
+
// Get min/max values for color scaling
|
|
28
|
+
const { minValue, maxValue } = useMemo(() => {
|
|
29
|
+
const values = data.map(d => d.value);
|
|
30
|
+
return {
|
|
31
|
+
minValue: Math.min(...values),
|
|
32
|
+
maxValue: Math.max(...values),
|
|
33
|
+
};
|
|
34
|
+
}, [data]);
|
|
35
|
+
// Color scheme mapping
|
|
36
|
+
const getColorForValue = (value) => {
|
|
37
|
+
const normalizedValue = normalize(value, minValue, maxValue);
|
|
38
|
+
if (minColor && maxColor) {
|
|
39
|
+
// Custom colors - simple interpolation
|
|
40
|
+
return interpolateColor(minColor, maxColor, normalizedValue);
|
|
41
|
+
}
|
|
42
|
+
// Predefined color schemes
|
|
43
|
+
switch (colorScheme) {
|
|
44
|
+
case 'blue':
|
|
45
|
+
return `rgba(59, 130, 246, ${0.2 + normalizedValue * 0.8})`;
|
|
46
|
+
case 'green':
|
|
47
|
+
return `rgba(16, 185, 129, ${0.2 + normalizedValue * 0.8})`;
|
|
48
|
+
case 'red':
|
|
49
|
+
return `rgba(239, 68, 68, ${0.2 + normalizedValue * 0.8})`;
|
|
50
|
+
case 'purple':
|
|
51
|
+
return `rgba(139, 92, 246, ${0.2 + normalizedValue * 0.8})`;
|
|
52
|
+
case 'gradient':
|
|
53
|
+
if (normalizedValue < 0.5) {
|
|
54
|
+
return `rgba(59, 130, 246, ${0.2 + normalizedValue * 1.6})`;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return `rgba(239, 68, 68, ${(normalizedValue - 0.5) * 2 * 0.8 + 0.2})`;
|
|
58
|
+
}
|
|
59
|
+
default:
|
|
60
|
+
return `rgba(59, 130, 246, ${0.2 + normalizedValue * 0.8})`;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
// Create grid cells
|
|
64
|
+
const cells = useMemo(() => {
|
|
65
|
+
return data.map(point => {
|
|
66
|
+
const xIndex = typeof point.x === 'number' ? point.x : xLabels.indexOf(point.x);
|
|
67
|
+
const yIndex = typeof point.y === 'number' ? point.y : yLabels.indexOf(point.y);
|
|
68
|
+
const x = xIndex * (cellSize + cellSpacing);
|
|
69
|
+
const y = yIndex * (cellSize + cellSpacing);
|
|
70
|
+
return {
|
|
71
|
+
x,
|
|
72
|
+
y,
|
|
73
|
+
width: cellSize,
|
|
74
|
+
height: cellSize,
|
|
75
|
+
color: getColorForValue(point.value),
|
|
76
|
+
value: point.value,
|
|
77
|
+
xIndex,
|
|
78
|
+
yIndex,
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
}, [data, xLabels, yLabels, cellSize, cellSpacing, minValue, maxValue, colorScheme]);
|
|
82
|
+
const chartWidth = xLabels.length * (cellSize + cellSpacing);
|
|
83
|
+
const chartHeight = yLabels.length * (cellSize + cellSpacing);
|
|
84
|
+
return (<View style={[styles.wrapper, { width: dimensions.width, height: dimensions.height, backgroundColor: theme.colors.surface, borderRadius: theme.radius.md, padding }]} testID={testID}>
|
|
85
|
+
{title && (<RNText style={[styles.title, { color: theme.colors.text, fontSize: theme.fontScale.md, fontWeight: 'bold', marginBottom: theme.spacing.sm }]}>
|
|
86
|
+
{title}
|
|
87
|
+
</RNText>)}
|
|
88
|
+
|
|
89
|
+
<View style={styles.chartRow}>
|
|
90
|
+
{showLabels && (<View style={[styles.yLabels, { width: yLabelWidth, height: chartHeight }]}>
|
|
91
|
+
{yLabels.map((label, index) => (<RNText key={`y-${index}`} style={[
|
|
92
|
+
styles.yLabel,
|
|
93
|
+
{
|
|
94
|
+
color: theme.colors.textSecondary,
|
|
95
|
+
fontSize: theme.fontScale.xs,
|
|
96
|
+
top: index * (cellSize + cellSpacing) + cellSize / 2 - 6,
|
|
97
|
+
},
|
|
98
|
+
]}>
|
|
99
|
+
{label}
|
|
100
|
+
</RNText>))}
|
|
101
|
+
</View>)}
|
|
102
|
+
|
|
103
|
+
<View>
|
|
104
|
+
<Svg width={chartWidth} height={chartHeight}>
|
|
105
|
+
{cells.map((cell, index) => (<React.Fragment key={`cell-${index}`}>
|
|
106
|
+
<Rect x={cell.x} y={cell.y} width={cell.width} height={cell.height} fill={cell.color} rx={theme.radius.sm} ry={theme.radius.sm}/>
|
|
107
|
+
{showValues && (<Text x={cell.x + cell.width / 2} y={cell.y + cell.height / 2} text={cell.value.toFixed(0)} fontSize={theme.fontScale.xs} fill={theme.colors.text} textAnchor="middle"/>)}
|
|
108
|
+
</React.Fragment>))}
|
|
109
|
+
</Svg>
|
|
110
|
+
|
|
111
|
+
{showLabels && (<View style={[styles.xLabels, { width: chartWidth }]}>
|
|
112
|
+
{xLabels.map((label, index) => (<RNText key={`x-${index}`} style={[
|
|
113
|
+
styles.xLabel,
|
|
114
|
+
{
|
|
115
|
+
color: theme.colors.textSecondary,
|
|
116
|
+
fontSize: theme.fontScale.xs,
|
|
117
|
+
left: index * (cellSize + cellSpacing),
|
|
118
|
+
width: cellSize,
|
|
119
|
+
},
|
|
120
|
+
]}>
|
|
121
|
+
{label}
|
|
122
|
+
</RNText>))}
|
|
123
|
+
</View>)}
|
|
124
|
+
</View>
|
|
125
|
+
</View>
|
|
126
|
+
</View>);
|
|
127
|
+
});
|
|
128
|
+
Heatmap.displayName = 'Heatmap';
|
|
129
|
+
// Simple color interpolation helper
|
|
130
|
+
function interpolateColor(color1, color2, factor) {
|
|
131
|
+
// Simple implementation - just use opacity for now
|
|
132
|
+
return `${color2.substring(0, 7)}${Math.round((0.2 + factor * 0.8) * 255).toString(16)}`;
|
|
133
|
+
}
|
|
134
|
+
const styles = StyleSheet.create({
|
|
135
|
+
wrapper: { justifyContent: 'flex-start', alignItems: 'flex-start' },
|
|
136
|
+
container: { justifyContent: 'center', alignItems: 'center' },
|
|
137
|
+
loadingText: { fontSize: 16 },
|
|
138
|
+
emptyText: { fontSize: 16 },
|
|
139
|
+
title: { textAlign: 'center', width: '100%' },
|
|
140
|
+
chartRow: { flexDirection: 'row' },
|
|
141
|
+
yLabels: { position: 'relative', marginRight: 8 },
|
|
142
|
+
yLabel: { position: 'absolute', right: 0, textAlign: 'right' },
|
|
143
|
+
xLabels: { position: 'relative', height: 30, marginTop: 4 },
|
|
144
|
+
xLabel: { position: 'absolute', textAlign: 'center' },
|
|
145
|
+
});
|
|
146
|
+
//# sourceMappingURL=Heatmap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Heatmap.js","sourceRoot":"","sources":["../../../../src/widgets/Heatmap/Heatmap.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/widgets/Heatmap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/widgets/Heatmap/types.ts"],"names":[],"mappings":""}
|