@krizaka/charts 0.0.0-stage → 0.2.0
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/LICENSE +202 -0
- package/README.md +59 -2
- package/dist/bar.d.ts +17 -0
- package/dist/bar.js +17 -0
- package/dist/bar.js.map +1 -0
- package/dist/candlestick-IG626XL4.js +13 -0
- package/dist/candlestick-IG626XL4.js.map +1 -0
- package/dist/candlestick.d.ts +42 -0
- package/dist/candlestick.js +13 -0
- package/dist/candlestick.js.map +1 -0
- package/dist/canvas-4MSYDVFO.js +14 -0
- package/dist/canvas-4MSYDVFO.js.map +1 -0
- package/dist/cartesian-BRhNQ3ib.d.ts +34 -0
- package/dist/chart.d.ts +58 -0
- package/dist/chart.js +11 -0
- package/dist/chart.js.map +1 -0
- package/dist/chunk-3CJHBJXA.js +186 -0
- package/dist/chunk-3CJHBJXA.js.map +1 -0
- package/dist/chunk-4LBXEAGC.js +133 -0
- package/dist/chunk-4LBXEAGC.js.map +1 -0
- package/dist/chunk-6FINSUOS.js +49 -0
- package/dist/chunk-6FINSUOS.js.map +1 -0
- package/dist/chunk-AA5EWWYV.js +38 -0
- package/dist/chunk-AA5EWWYV.js.map +1 -0
- package/dist/chunk-ANUCSRUN.js +43 -0
- package/dist/chunk-ANUCSRUN.js.map +1 -0
- package/dist/chunk-ARARFMNE.js +88 -0
- package/dist/chunk-ARARFMNE.js.map +1 -0
- package/dist/chunk-BISL7DYW.js +66 -0
- package/dist/chunk-BISL7DYW.js.map +1 -0
- package/dist/chunk-BV4DBGN7.js +178 -0
- package/dist/chunk-BV4DBGN7.js.map +1 -0
- package/dist/chunk-C4MFZLJM.js +19 -0
- package/dist/chunk-C4MFZLJM.js.map +1 -0
- package/dist/chunk-CSSZLFLO.js +116 -0
- package/dist/chunk-CSSZLFLO.js.map +1 -0
- package/dist/chunk-CVWSMUUB.js +378 -0
- package/dist/chunk-CVWSMUUB.js.map +1 -0
- package/dist/chunk-E5DKBSWX.js +2 -0
- package/dist/chunk-E5DKBSWX.js.map +1 -0
- package/dist/chunk-EEP7PS2L.js +54 -0
- package/dist/chunk-EEP7PS2L.js.map +1 -0
- package/dist/chunk-EQLC2QVN.js +73 -0
- package/dist/chunk-EQLC2QVN.js.map +1 -0
- package/dist/chunk-FINOPIDN.js +2 -0
- package/dist/chunk-FINOPIDN.js.map +1 -0
- package/dist/chunk-G2KF2WL4.js +2 -0
- package/dist/chunk-G2KF2WL4.js.map +1 -0
- package/dist/chunk-I3D7KUGN.js +205 -0
- package/dist/chunk-I3D7KUGN.js.map +1 -0
- package/dist/chunk-IKQV3NSL.js +76 -0
- package/dist/chunk-IKQV3NSL.js.map +1 -0
- package/dist/chunk-JTKR7ZWP.js +468 -0
- package/dist/chunk-JTKR7ZWP.js.map +1 -0
- package/dist/chunk-KNDHO67X.js +78 -0
- package/dist/chunk-KNDHO67X.js.map +1 -0
- package/dist/chunk-L2EKYWVI.js +94 -0
- package/dist/chunk-L2EKYWVI.js.map +1 -0
- package/dist/chunk-MXLITIGU.js +92 -0
- package/dist/chunk-MXLITIGU.js.map +1 -0
- package/dist/chunk-NCIQMRV3.js +155 -0
- package/dist/chunk-NCIQMRV3.js.map +1 -0
- package/dist/chunk-OB5EFDDH.js +118 -0
- package/dist/chunk-OB5EFDDH.js.map +1 -0
- package/dist/chunk-OIRHLJBC.js +83 -0
- package/dist/chunk-OIRHLJBC.js.map +1 -0
- package/dist/chunk-PBQV3B6O.js +145 -0
- package/dist/chunk-PBQV3B6O.js.map +1 -0
- package/dist/chunk-POQIHFAZ.js +2 -0
- package/dist/chunk-POQIHFAZ.js.map +1 -0
- package/dist/chunk-PWMMXRMC.js +234 -0
- package/dist/chunk-PWMMXRMC.js.map +1 -0
- package/dist/chunk-SLEJDQ3A.js +81 -0
- package/dist/chunk-SLEJDQ3A.js.map +1 -0
- package/dist/chunk-TPJDOB7R.js +15 -0
- package/dist/chunk-TPJDOB7R.js.map +1 -0
- package/dist/chunk-VKZZY2QD.js +103 -0
- package/dist/chunk-VKZZY2QD.js.map +1 -0
- package/dist/chunk-W5FX4TU3.js +102 -0
- package/dist/chunk-W5FX4TU3.js.map +1 -0
- package/dist/chunk-W5ILLSPK.js +107 -0
- package/dist/chunk-W5ILLSPK.js.map +1 -0
- package/dist/chunk-WBHFVBSK.js +25 -0
- package/dist/chunk-WBHFVBSK.js.map +1 -0
- package/dist/chunk-WNUFGMS7.js +113 -0
- package/dist/chunk-WNUFGMS7.js.map +1 -0
- package/dist/chunk-WVTIKOII.js +15 -0
- package/dist/chunk-WVTIKOII.js.map +1 -0
- package/dist/chunk-XDDALY4C.js +166 -0
- package/dist/chunk-XDDALY4C.js.map +1 -0
- package/dist/chunk-XLLYNNC6.js +89 -0
- package/dist/chunk-XLLYNNC6.js.map +1 -0
- package/dist/context-BgYUymEO.d.ts +163 -0
- package/dist/credits.d.ts +42 -0
- package/dist/credits.js +21 -0
- package/dist/credits.js.map +1 -0
- package/dist/earnings.d.ts +29 -0
- package/dist/earnings.js +22 -0
- package/dist/earnings.js.map +1 -0
- package/dist/frame-I7_xYGy5.d.ts +45 -0
- package/dist/full-S2MBPEEP.js +11 -0
- package/dist/full-S2MBPEEP.js.map +1 -0
- package/dist/funnel-QU5ZPC52.js +13 -0
- package/dist/funnel-QU5ZPC52.js.map +1 -0
- package/dist/funnel.d.ts +26 -0
- package/dist/funnel.js +13 -0
- package/dist/funnel.js.map +1 -0
- package/dist/gauge.d.ts +38 -0
- package/dist/gauge.js +13 -0
- package/dist/gauge.js.map +1 -0
- package/dist/geo.d.ts +37 -0
- package/dist/geo.js +13 -0
- package/dist/geo.js.map +1 -0
- package/dist/globe.d.ts +36 -0
- package/dist/globe.js +12 -0
- package/dist/globe.js.map +1 -0
- package/dist/goal.d.ts +26 -0
- package/dist/goal.js +17 -0
- package/dist/goal.js.map +1 -0
- package/dist/heatmap-JWQOKUGM.js +13 -0
- package/dist/heatmap-JWQOKUGM.js.map +1 -0
- package/dist/heatmap.d.ts +47 -0
- package/dist/heatmap.js +15 -0
- package/dist/heatmap.js.map +1 -0
- package/dist/host-_F8RgiIz.d.ts +15 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +148 -0
- package/dist/index.js.map +1 -0
- package/dist/labels-DE_743fQ.d.ts +72 -0
- package/dist/latency.d.ts +33 -0
- package/dist/latency.js +24 -0
- package/dist/latency.js.map +1 -0
- package/dist/line.d.ts +25 -0
- package/dist/line.js +19 -0
- package/dist/line.js.map +1 -0
- package/dist/native.d.ts +494 -0
- package/dist/native.js +1244 -0
- package/dist/native.js.map +1 -0
- package/dist/pie.d.ts +37 -0
- package/dist/pie.js +16 -0
- package/dist/pie.js.map +1 -0
- package/dist/provider.d.ts +73 -0
- package/dist/provider.js +24 -0
- package/dist/provider.js.map +1 -0
- package/dist/radar-75GRJ2IK.js +13 -0
- package/dist/radar-75GRJ2IK.js.map +1 -0
- package/dist/radar.d.ts +22 -0
- package/dist/radar.js +13 -0
- package/dist/radar.js.map +1 -0
- package/dist/sankey-XQTX2EG6.js +13 -0
- package/dist/sankey-XQTX2EG6.js.map +1 -0
- package/dist/sankey.d.ts +28 -0
- package/dist/sankey.js +13 -0
- package/dist/sankey.js.map +1 -0
- package/dist/scatter-XSNG4OKD.js +13 -0
- package/dist/scatter-XSNG4OKD.js.map +1 -0
- package/dist/scatter.d.ts +41 -0
- package/dist/scatter.js +15 -0
- package/dist/scatter.js.map +1 -0
- package/dist/sparkline.d.ts +26 -0
- package/dist/sparkline.js +16 -0
- package/dist/sparkline.js.map +1 -0
- package/dist/svg-BJUHYX3B.js +14 -0
- package/dist/svg-BJUHYX3B.js.map +1 -0
- package/dist/throughput.d.ts +37 -0
- package/dist/throughput.js +24 -0
- package/dist/throughput.js.map +1 -0
- package/dist/ticker.d.ts +38 -0
- package/dist/ticker.js +22 -0
- package/dist/ticker.js.map +1 -0
- package/dist/treemap-OMGGGB5U.js +13 -0
- package/dist/treemap-OMGGGB5U.js.map +1 -0
- package/dist/treemap.d.ts +24 -0
- package/dist/treemap.js +14 -0
- package/dist/treemap.js.map +1 -0
- package/dist/world-110m-DVFWXS42.js +18 -0
- package/dist/world-110m-DVFWXS42.js.map +1 -0
- package/package.json +614 -3
- package/registry/area-chart.json +785 -0
- package/registry/bar-chart.json +784 -0
- package/registry/calendar-heatmap.json +460 -0
- package/registry/candlestick.json +553 -0
- package/registry/chart.json +441 -0
- package/registry/charts-provider.json +191 -0
- package/registry/credit-usage.json +473 -0
- package/registry/earnings-chart.json +703 -0
- package/registry/examples/area-chart/credits-usage.d.ts +4 -0
- package/registry/examples/area-chart/credits-usage.js +38 -0
- package/registry/examples/area-chart/credits-usage.tsx +32 -0
- package/registry/examples/area-chart/native/credits-usage.d.ts +4 -0
- package/registry/examples/area-chart/native/credits-usage.dark.png +0 -0
- package/registry/examples/area-chart/native/credits-usage.js +33 -0
- package/registry/examples/area-chart/native/credits-usage.light.png +0 -0
- package/registry/examples/area-chart/native/credits-usage.tsx +27 -0
- package/registry/examples/area-chart/storage.d.ts +4 -0
- package/registry/examples/area-chart/storage.js +27 -0
- package/registry/examples/area-chart/storage.tsx +21 -0
- package/registry/examples/bar-chart/jobs-by-status.d.ts +4 -0
- package/registry/examples/bar-chart/jobs-by-status.js +37 -0
- package/registry/examples/bar-chart/jobs-by-status.tsx +31 -0
- package/registry/examples/bar-chart/native/jobs-by-status.d.ts +4 -0
- package/registry/examples/bar-chart/native/jobs-by-status.dark.png +0 -0
- package/registry/examples/bar-chart/native/jobs-by-status.js +32 -0
- package/registry/examples/bar-chart/native/jobs-by-status.light.png +0 -0
- package/registry/examples/bar-chart/native/jobs-by-status.tsx +26 -0
- package/registry/examples/bar-chart/plans-by-quarter.d.ts +4 -0
- package/registry/examples/bar-chart/plans-by-quarter.js +31 -0
- package/registry/examples/bar-chart/plans-by-quarter.tsx +26 -0
- package/registry/examples/bar-chart/top-supporters.d.ts +4 -0
- package/registry/examples/bar-chart/top-supporters.js +32 -0
- package/registry/examples/bar-chart/top-supporters.tsx +27 -0
- package/registry/examples/calendar-heatmap/publishing.d.ts +4 -0
- package/registry/examples/calendar-heatmap/publishing.js +28 -0
- package/registry/examples/calendar-heatmap/publishing.tsx +23 -0
- package/registry/examples/candlestick/auction-bids.d.ts +4 -0
- package/registry/examples/candlestick/auction-bids.js +37 -0
- package/registry/examples/candlestick/auction-bids.tsx +32 -0
- package/registry/examples/chart/polar-uploads.d.ts +4 -0
- package/registry/examples/chart/polar-uploads.js +34 -0
- package/registry/examples/chart/polar-uploads.tsx +30 -0
- package/registry/examples/charts-provider/french-orazaka.d.ts +4 -0
- package/registry/examples/charts-provider/french-orazaka.js +26 -0
- package/registry/examples/charts-provider/french-orazaka.tsx +22 -0
- package/registry/examples/charts-provider/native/french-orazaka.d.ts +4 -0
- package/registry/examples/charts-provider/native/french-orazaka.dark.png +0 -0
- package/registry/examples/charts-provider/native/french-orazaka.js +17 -0
- package/registry/examples/charts-provider/native/french-orazaka.light.png +0 -0
- package/registry/examples/charts-provider/native/french-orazaka.tsx +17 -0
- package/registry/examples/credit-usage/monthly-credits.d.ts +4 -0
- package/registry/examples/credit-usage/monthly-credits.js +24 -0
- package/registry/examples/credit-usage/monthly-credits.tsx +19 -0
- package/registry/examples/credit-usage/native/monthly-credits.d.ts +4 -0
- package/registry/examples/credit-usage/native/monthly-credits.dark.png +0 -0
- package/registry/examples/credit-usage/native/monthly-credits.js +23 -0
- package/registry/examples/credit-usage/native/monthly-credits.light.png +0 -0
- package/registry/examples/credit-usage/native/monthly-credits.tsx +18 -0
- package/registry/examples/credit-usage/storage-plan.d.ts +4 -0
- package/registry/examples/credit-usage/storage-plan.js +21 -0
- package/registry/examples/credit-usage/storage-plan.tsx +15 -0
- package/registry/examples/earnings-chart/creator-month.d.ts +4 -0
- package/registry/examples/earnings-chart/creator-month.js +29 -0
- package/registry/examples/earnings-chart/creator-month.tsx +24 -0
- package/registry/examples/earnings-chart/gross-and-net.d.ts +4 -0
- package/registry/examples/earnings-chart/gross-and-net.js +29 -0
- package/registry/examples/earnings-chart/gross-and-net.tsx +24 -0
- package/registry/examples/earnings-chart/native/creator-month.d.ts +4 -0
- package/registry/examples/earnings-chart/native/creator-month.dark.png +0 -0
- package/registry/examples/earnings-chart/native/creator-month.js +29 -0
- package/registry/examples/earnings-chart/native/creator-month.light.png +0 -0
- package/registry/examples/earnings-chart/native/creator-month.tsx +24 -0
- package/registry/examples/funnel/signup.d.ts +4 -0
- package/registry/examples/funnel/signup.js +30 -0
- package/registry/examples/funnel/signup.tsx +24 -0
- package/registry/examples/gauge/challenge-goal.d.ts +4 -0
- package/registry/examples/gauge/challenge-goal.js +24 -0
- package/registry/examples/gauge/challenge-goal.tsx +18 -0
- package/registry/examples/gauge/credits-quota.d.ts +4 -0
- package/registry/examples/gauge/credits-quota.js +26 -0
- package/registry/examples/gauge/credits-quota.tsx +19 -0
- package/registry/examples/gauge/native/credits-quota.d.ts +4 -0
- package/registry/examples/gauge/native/credits-quota.dark.png +0 -0
- package/registry/examples/gauge/native/credits-quota.js +25 -0
- package/registry/examples/gauge/native/credits-quota.light.png +0 -0
- package/registry/examples/gauge/native/credits-quota.tsx +18 -0
- package/registry/examples/geo-map/viewers.d.ts +4 -0
- package/registry/examples/geo-map/viewers.js +43 -0
- package/registry/examples/geo-map/viewers.tsx +29 -0
- package/registry/examples/globe/deployment-regions.d.ts +4 -0
- package/registry/examples/globe/deployment-regions.js +36 -0
- package/registry/examples/globe/deployment-regions.tsx +30 -0
- package/registry/examples/goal-progress/challenge-pot.d.ts +4 -0
- package/registry/examples/goal-progress/challenge-pot.js +22 -0
- package/registry/examples/goal-progress/challenge-pot.tsx +16 -0
- package/registry/examples/goal-progress/goal-reached.d.ts +4 -0
- package/registry/examples/goal-progress/goal-reached.js +11 -0
- package/registry/examples/goal-progress/goal-reached.tsx +6 -0
- package/registry/examples/goal-progress/native/challenge-pot.d.ts +4 -0
- package/registry/examples/goal-progress/native/challenge-pot.dark.png +0 -0
- package/registry/examples/goal-progress/native/challenge-pot.js +11 -0
- package/registry/examples/goal-progress/native/challenge-pot.light.png +0 -0
- package/registry/examples/goal-progress/native/challenge-pot.tsx +6 -0
- package/registry/examples/heatmap/upload-activity.d.ts +4 -0
- package/registry/examples/heatmap/upload-activity.js +30 -0
- package/registry/examples/heatmap/upload-activity.tsx +25 -0
- package/registry/examples/job-throughput/live-hours.d.ts +4 -0
- package/registry/examples/job-throughput/live-hours.js +33 -0
- package/registry/examples/job-throughput/live-hours.tsx +28 -0
- package/registry/examples/job-throughput/native/week-of-jobs.d.ts +4 -0
- package/registry/examples/job-throughput/native/week-of-jobs.dark.png +0 -0
- package/registry/examples/job-throughput/native/week-of-jobs.js +20 -0
- package/registry/examples/job-throughput/native/week-of-jobs.light.png +0 -0
- package/registry/examples/job-throughput/native/week-of-jobs.tsx +16 -0
- package/registry/examples/job-throughput/week-of-jobs.d.ts +4 -0
- package/registry/examples/job-throughput/week-of-jobs.js +20 -0
- package/registry/examples/job-throughput/week-of-jobs.tsx +16 -0
- package/registry/examples/latency-chart/by-capability.d.ts +4 -0
- package/registry/examples/latency-chart/by-capability.js +26 -0
- package/registry/examples/latency-chart/by-capability.tsx +21 -0
- package/registry/examples/latency-chart/native/by-capability.d.ts +4 -0
- package/registry/examples/latency-chart/native/by-capability.dark.png +0 -0
- package/registry/examples/latency-chart/native/by-capability.js +17 -0
- package/registry/examples/latency-chart/native/by-capability.light.png +0 -0
- package/registry/examples/latency-chart/native/by-capability.tsx +13 -0
- package/registry/examples/latency-chart/time-to-result.d.ts +4 -0
- package/registry/examples/latency-chart/time-to-result.js +27 -0
- package/registry/examples/latency-chart/time-to-result.tsx +22 -0
- package/registry/examples/line-chart/creator-earnings.d.ts +4 -0
- package/registry/examples/line-chart/creator-earnings.js +35 -0
- package/registry/examples/line-chart/creator-earnings.tsx +30 -0
- package/registry/examples/line-chart/forecast.d.ts +4 -0
- package/registry/examples/line-chart/forecast.js +36 -0
- package/registry/examples/line-chart/forecast.tsx +30 -0
- package/registry/examples/line-chart/live-jobs.d.ts +4 -0
- package/registry/examples/line-chart/live-jobs.js +21 -0
- package/registry/examples/line-chart/live-jobs.tsx +23 -0
- package/registry/examples/line-chart/native/creator-earnings.d.ts +4 -0
- package/registry/examples/line-chart/native/creator-earnings.dark.png +0 -0
- package/registry/examples/line-chart/native/creator-earnings.js +32 -0
- package/registry/examples/line-chart/native/creator-earnings.light.png +0 -0
- package/registry/examples/line-chart/native/creator-earnings.tsx +26 -0
- package/registry/examples/line-chart/states.d.ts +4 -0
- package/registry/examples/line-chart/states.js +16 -0
- package/registry/examples/line-chart/states.tsx +13 -0
- package/registry/examples/pie-chart/credit-spend.d.ts +4 -0
- package/registry/examples/pie-chart/credit-spend.js +30 -0
- package/registry/examples/pie-chart/credit-spend.tsx +24 -0
- package/registry/examples/pie-chart/native/credit-spend.d.ts +4 -0
- package/registry/examples/pie-chart/native/credit-spend.dark.png +0 -0
- package/registry/examples/pie-chart/native/credit-spend.js +17 -0
- package/registry/examples/pie-chart/native/credit-spend.light.png +0 -0
- package/registry/examples/pie-chart/native/credit-spend.tsx +12 -0
- package/registry/examples/pie-chart/storage-by-kind.d.ts +4 -0
- package/registry/examples/pie-chart/storage-by-kind.js +31 -0
- package/registry/examples/pie-chart/storage-by-kind.tsx +26 -0
- package/registry/examples/price-ticker/auction-room.d.ts +4 -0
- package/registry/examples/price-ticker/auction-room.js +21 -0
- package/registry/examples/price-ticker/auction-room.tsx +17 -0
- package/registry/examples/price-ticker/native/auction-room.d.ts +4 -0
- package/registry/examples/price-ticker/native/auction-room.dark.png +0 -0
- package/registry/examples/price-ticker/native/auction-room.js +19 -0
- package/registry/examples/price-ticker/native/auction-room.light.png +0 -0
- package/registry/examples/price-ticker/native/auction-room.tsx +15 -0
- package/registry/examples/price-ticker/no-bid-yet.d.ts +4 -0
- package/registry/examples/price-ticker/no-bid-yet.js +11 -0
- package/registry/examples/price-ticker/no-bid-yet.tsx +6 -0
- package/registry/examples/radar-chart/model-comparison.d.ts +4 -0
- package/registry/examples/radar-chart/model-comparison.js +33 -0
- package/registry/examples/radar-chart/model-comparison.tsx +28 -0
- package/registry/examples/sankey/credit-flow.d.ts +4 -0
- package/registry/examples/sankey/credit-flow.js +37 -0
- package/registry/examples/sankey/credit-flow.tsx +32 -0
- package/registry/examples/scatter-chart/watch-time.d.ts +4 -0
- package/registry/examples/scatter-chart/watch-time.js +36 -0
- package/registry/examples/scatter-chart/watch-time.tsx +31 -0
- package/registry/examples/sparkline/bars.d.ts +4 -0
- package/registry/examples/sparkline/bars.js +12 -0
- package/registry/examples/sparkline/bars.tsx +7 -0
- package/registry/examples/sparkline/native/stat-trend.d.ts +4 -0
- package/registry/examples/sparkline/native/stat-trend.dark.png +0 -0
- package/registry/examples/sparkline/native/stat-trend.js +12 -0
- package/registry/examples/sparkline/native/stat-trend.light.png +0 -0
- package/registry/examples/sparkline/native/stat-trend.tsx +7 -0
- package/registry/examples/sparkline/stat-trend.d.ts +4 -0
- package/registry/examples/sparkline/stat-trend.js +18 -0
- package/registry/examples/sparkline/stat-trend.tsx +15 -0
- package/registry/examples/sparkline/table-rows.d.ts +4 -0
- package/registry/examples/sparkline/table-rows.js +23 -0
- package/registry/examples/sparkline/table-rows.tsx +26 -0
- package/registry/examples/treemap/storage.d.ts +4 -0
- package/registry/examples/treemap/storage.js +17 -0
- package/registry/examples/treemap/storage.tsx +13 -0
- package/registry/funnel.json +487 -0
- package/registry/gauge.json +600 -0
- package/registry/geo-map.json +484 -0
- package/registry/globe.json +469 -0
- package/registry/goal-progress.json +520 -0
- package/registry/heatmap.json +531 -0
- package/registry/index.json +582 -0
- package/registry/job-throughput.json +654 -0
- package/registry/latency-chart.json +671 -0
- package/registry/line-chart.json +793 -0
- package/registry/pie-chart.json +1288 -0
- package/registry/price-ticker.json +684 -0
- package/registry/radar-chart.json +459 -0
- package/registry/sankey.json +503 -0
- package/registry/scatter-chart.json +559 -0
- package/registry/sparkline.json +563 -0
- package/registry/treemap.json +432 -0
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "chart",
|
|
3
|
+
"package": "@krizaka/charts",
|
|
4
|
+
"type": "chart",
|
|
5
|
+
"title": "Chart (ECharts option)",
|
|
6
|
+
"summary": "Any ECharts option on the Krizaka frame: the theme resolved from the tokens, the lazy engine, the states, the table, the keyboard, the export.",
|
|
7
|
+
"description": "Any ECharts option on the Krizaka frame: the theme resolved from the tokens, the lazy engine, the states, the table, the keyboard, the export.",
|
|
8
|
+
"status": "beta",
|
|
9
|
+
"category": "charts",
|
|
10
|
+
"platforms": "web",
|
|
11
|
+
"engine": "echarts",
|
|
12
|
+
"tier": "advanced",
|
|
13
|
+
"whenToUse": [
|
|
14
|
+
"A chart type the typed components do not cover: polar bars, a sunburst, a parallel axis, a graph."
|
|
15
|
+
],
|
|
16
|
+
"whenNotToUse": [
|
|
17
|
+
{
|
|
18
|
+
"when": "A type the package has: its props say more and its summary is written for you.",
|
|
19
|
+
"use": "line-chart"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"bestPractices": [
|
|
23
|
+
"Pass `modules` with only what the option needs (`use([...])` in a module of yours): the default loads all of ECharts.",
|
|
24
|
+
"Write `summaryText` and `table`: an option is opaque, the alternative is yours to give.",
|
|
25
|
+
"Read the colours from the theme function (`theme.palette`, `theme.text2`), never hard-coded."
|
|
26
|
+
],
|
|
27
|
+
"accessibility": {
|
|
28
|
+
"keyboard": [
|
|
29
|
+
{
|
|
30
|
+
"keys": "Tab",
|
|
31
|
+
"action": "Moves the focus to the plot (one tab stop), then to the data and export buttons."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"keys": "Arrow keys",
|
|
35
|
+
"action": "Walk the items one by one: each is announced and highlighted, its tooltip shown."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"keys": "Home / End",
|
|
39
|
+
"action": "Jump to the first or the last item."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"keys": "Esc",
|
|
43
|
+
"action": "Hides the tooltip and clears the highlight."
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"notes": [
|
|
47
|
+
"The plot is a group named by the title and described by `summaryText`.",
|
|
48
|
+
"Give `items` for the arrow keys to walk; without them the plot is not a tab stop.",
|
|
49
|
+
"`table` is the data table, always in the page for assistive technology."
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"related": [
|
|
53
|
+
"charts-provider",
|
|
54
|
+
"radar-chart",
|
|
55
|
+
"heatmap"
|
|
56
|
+
],
|
|
57
|
+
"source": "packages/charts/src/meta/chart.ts",
|
|
58
|
+
"install": {
|
|
59
|
+
"web": "npm install @krizaka/charts",
|
|
60
|
+
"native": "npx expo install react-native-svg\nnpm install @krizaka/charts"
|
|
61
|
+
},
|
|
62
|
+
"web": {
|
|
63
|
+
"entry": "@krizaka/charts/chart",
|
|
64
|
+
"import": "import { Chart } from \"@krizaka/charts/chart\";",
|
|
65
|
+
"props": [
|
|
66
|
+
{
|
|
67
|
+
"component": "Chart",
|
|
68
|
+
"description": "Any ECharts option, themed and framed like the typed charts. Memoise `option` when it is a function.",
|
|
69
|
+
"props": [
|
|
70
|
+
{
|
|
71
|
+
"name": "option",
|
|
72
|
+
"type": "ECBasicOption | ((theme: ResolvedTheme, size: { width: number; height: number; }) => ECBasicOption)",
|
|
73
|
+
"default": null,
|
|
74
|
+
"description": "The ECharts option, or a function of the resolved theme (colours as plain strings, the palette, the ramp).",
|
|
75
|
+
"required": true
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "summaryText",
|
|
79
|
+
"type": "string",
|
|
80
|
+
"default": null,
|
|
81
|
+
"description": "The written summary: an option says nothing on its own.",
|
|
82
|
+
"required": true
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "table",
|
|
86
|
+
"type": "TableModel",
|
|
87
|
+
"default": null,
|
|
88
|
+
"description": "The data as a table: the alternative of every chart.",
|
|
89
|
+
"required": true
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "title",
|
|
93
|
+
"type": "string",
|
|
94
|
+
"default": null,
|
|
95
|
+
"description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
|
|
96
|
+
"required": true
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "brand",
|
|
100
|
+
"type": "BrandId",
|
|
101
|
+
"default": null,
|
|
102
|
+
"description": "The brand whose palette the charts use. Without it, a chart follows a `.brand-<id>` ancestor, else Krizaka. Set it\nwhen the app loads a brand stylesheet on `:root` (`@krizaka/tokens/brands/orazaka.css`).",
|
|
103
|
+
"required": false
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "className",
|
|
107
|
+
"type": "string",
|
|
108
|
+
"default": null,
|
|
109
|
+
"description": "A class on the figure (layout: margins, grid placement).",
|
|
110
|
+
"required": false
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "dataTable",
|
|
114
|
+
"type": "boolean",
|
|
115
|
+
"default": null,
|
|
116
|
+
"description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
|
|
117
|
+
"required": false
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "description",
|
|
121
|
+
"type": "ReactNode",
|
|
122
|
+
"default": null,
|
|
123
|
+
"description": "A sentence under the title: the period, the unit, the source.",
|
|
124
|
+
"required": false
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "empty",
|
|
128
|
+
"type": "ReactNode",
|
|
129
|
+
"default": null,
|
|
130
|
+
"description": "What to show when there is nothing to draw (default: the `empty` label). An `EmptyState` of\n@krizaka /ui fits.",
|
|
131
|
+
"required": false
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "error",
|
|
135
|
+
"type": "ReactNode",
|
|
136
|
+
"default": null,
|
|
137
|
+
"description": "The data could not be loaded: `true` says the default words, a node says yours (a retry button…).",
|
|
138
|
+
"required": false
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "exportable",
|
|
142
|
+
"type": "boolean | readonly ExportFormat[]",
|
|
143
|
+
"default": null,
|
|
144
|
+
"description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
|
|
145
|
+
"required": false
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"name": "height",
|
|
149
|
+
"type": "number",
|
|
150
|
+
"default": null,
|
|
151
|
+
"description": "The height of the plot in pixels. Default 280 (a sparkline: 32).",
|
|
152
|
+
"required": false
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "hideTitle",
|
|
156
|
+
"type": "boolean",
|
|
157
|
+
"default": null,
|
|
158
|
+
"description": "Visually hide the title (it stays the chart's accessible name): a card that already has its heading.",
|
|
159
|
+
"required": false
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"name": "id",
|
|
163
|
+
"type": "string",
|
|
164
|
+
"default": null,
|
|
165
|
+
"description": "The id of the figure.",
|
|
166
|
+
"required": false
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"name": "items",
|
|
170
|
+
"type": "readonly WalkItem[]",
|
|
171
|
+
"default": null,
|
|
172
|
+
"description": "What the arrow keys walk (series and data indexes, and what each one says).",
|
|
173
|
+
"required": false
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"name": "labels",
|
|
177
|
+
"type": "ChartLabelsInput",
|
|
178
|
+
"default": null,
|
|
179
|
+
"description": "The words, translated: the buttons, the states, the written summary.",
|
|
180
|
+
"required": false
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"name": "live",
|
|
184
|
+
"type": "boolean",
|
|
185
|
+
"default": null,
|
|
186
|
+
"description": "Streaming data (a job queue, an auction): no entrance on updates, no announcement of every new point.",
|
|
187
|
+
"required": false
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "loading",
|
|
191
|
+
"type": "boolean",
|
|
192
|
+
"default": null,
|
|
193
|
+
"description": "The data is on its way: a skeleton of the chart, announced once.",
|
|
194
|
+
"required": false
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "locale",
|
|
198
|
+
"type": "Locale",
|
|
199
|
+
"default": null,
|
|
200
|
+
"description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
|
|
201
|
+
"required": false
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "modules",
|
|
205
|
+
"type": "(() => Promise<unknown>)",
|
|
206
|
+
"default": "() => import(\"../echarts/engines/full\")",
|
|
207
|
+
"description": "Registers what the option needs, from `echarts/charts` and `echarts/components` (tree-shaken):\n`() => import(\"./my-echarts\")` where that module calls `use([...])`. Default: all of ECharts (~380 kB gzip).",
|
|
208
|
+
"required": false
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"name": "onItem",
|
|
212
|
+
"type": "((item: { seriesIndex: number; dataIndex: number; }) => void)",
|
|
213
|
+
"default": null,
|
|
214
|
+
"description": "A click (or Enter) on a data item.",
|
|
215
|
+
"required": false
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "renderer",
|
|
219
|
+
"type": "Renderer",
|
|
220
|
+
"default": null,
|
|
221
|
+
"description": "`svg` (default): sharp, exportable as SVG. `canvas`: for tens of thousands of marks.",
|
|
222
|
+
"required": false
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"name": "style",
|
|
226
|
+
"type": "CSSProperties",
|
|
227
|
+
"default": null,
|
|
228
|
+
"description": "Inline style on the figure (layout only: colours come from the tokens).",
|
|
229
|
+
"required": false
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"name": "summary",
|
|
233
|
+
"type": "\"hidden\" | \"visible\"",
|
|
234
|
+
"default": null,
|
|
235
|
+
"description": "The written summary: read by screen readers only (`\"hidden\"`, default), or shown under the chart (`\"visible\"`).",
|
|
236
|
+
"required": false
|
|
237
|
+
}
|
|
238
|
+
]
|
|
239
|
+
}
|
|
240
|
+
],
|
|
241
|
+
"examples": [
|
|
242
|
+
{
|
|
243
|
+
"name": "polar-uploads",
|
|
244
|
+
"title": "Polar bars",
|
|
245
|
+
"description": "Uploads per hour on a clock face: a type the package does not ship, with only its modules loaded.",
|
|
246
|
+
"path": "examples/chart/polar-uploads.tsx",
|
|
247
|
+
"module": "@krizaka/charts/registry/examples/chart/polar-uploads",
|
|
248
|
+
"code": "import { Chart } from \"@krizaka/charts/chart\";\n\nconst uploads = [3, 2, 1, 1, 2, 4, 9, 18, 26, 31, 34, 37, 41, 39, 36, 38, 44, 52, 58, 61, 49, 33, 17, 8];\nconst hours = uploads.map((_, h) => `${String(h).padStart(2, \"0\")}:00`);\n\n// Only what the option needs: polar bars and the tooltip (not all of ECharts).\nconst modules = async () => {\n const [{ use: register }, { BarChart }, { PolarComponent, TooltipComponent }] = await Promise.all([import(\"echarts/core\"), import(\"echarts/charts\"), import(\"echarts/components\")]);\n register([BarChart, PolarComponent, TooltipComponent]);\n};\n\nexport default function PolarUploads() {\n return (\n <Chart\n title=\"Uploads by hour of the day\"\n modules={modules}\n option={(theme) => ({\n polar: { radius: [\"18%\", \"80%\"] },\n angleAxis: { type: \"category\", data: hours, axisLabel: { color: theme.text2, interval: 2 }, axisLine: { lineStyle: { color: theme.axis } } },\n radiusAxis: { axisLabel: { show: false }, splitLine: { lineStyle: { color: theme.grid } }, axisLine: { show: false } },\n tooltip: { trigger: \"item\" },\n series: [{ type: \"bar\", coordinateSystem: \"polar\", data: uploads, itemStyle: { color: theme.palette[0], borderRadius: 3 } }],\n })}\n summaryText={`Uploads by hour: quietest at 02:00 (1), busiest at 19:00 (61).`}\n table={{ columns: [\"Hour\", \"Uploads\"], rows: hours.map((h, i) => [h, String(uploads[i])]) }}\n items={uploads.map((u, i) => ({ seriesIndex: 0, dataIndex: i, text: `${hours[i]}: ${u}` }))}\n height={340}\n />\n );\n}\n"
|
|
249
|
+
}
|
|
250
|
+
]
|
|
251
|
+
},
|
|
252
|
+
"native": null,
|
|
253
|
+
"files": [],
|
|
254
|
+
"dependencies": [
|
|
255
|
+
"@krizaka/intl@workspace:^",
|
|
256
|
+
"d3-geo@^3.1.1",
|
|
257
|
+
"echarts@^6.1.0",
|
|
258
|
+
"topojson-client@^3.1.0"
|
|
259
|
+
],
|
|
260
|
+
"registryDependencies": [],
|
|
261
|
+
"demo": {
|
|
262
|
+
"path": "examples/chart/polar-uploads.tsx",
|
|
263
|
+
"content": "import { Chart } from \"@krizaka/charts/chart\";\n\nconst uploads = [3, 2, 1, 1, 2, 4, 9, 18, 26, 31, 34, 37, 41, 39, 36, 38, 44, 52, 58, 61, 49, 33, 17, 8];\nconst hours = uploads.map((_, h) => `${String(h).padStart(2, \"0\")}:00`);\n\n// Only what the option needs: polar bars and the tooltip (not all of ECharts).\nconst modules = async () => {\n const [{ use: register }, { BarChart }, { PolarComponent, TooltipComponent }] = await Promise.all([import(\"echarts/core\"), import(\"echarts/charts\"), import(\"echarts/components\")]);\n register([BarChart, PolarComponent, TooltipComponent]);\n};\n\nexport default function PolarUploads() {\n return (\n <Chart\n title=\"Uploads by hour of the day\"\n modules={modules}\n option={(theme) => ({\n polar: { radius: [\"18%\", \"80%\"] },\n angleAxis: { type: \"category\", data: hours, axisLabel: { color: theme.text2, interval: 2 }, axisLine: { lineStyle: { color: theme.axis } } },\n radiusAxis: { axisLabel: { show: false }, splitLine: { lineStyle: { color: theme.grid } }, axisLine: { show: false } },\n tooltip: { trigger: \"item\" },\n series: [{ type: \"bar\", coordinateSystem: \"polar\", data: uploads, itemStyle: { color: theme.palette[0], borderRadius: 3 } }],\n })}\n summaryText={`Uploads by hour: quietest at 02:00 (1), busiest at 19:00 (61).`}\n table={{ columns: [\"Hour\", \"Uploads\"], rows: hours.map((h, i) => [h, String(uploads[i])]) }}\n items={uploads.map((u, i) => ({ seriesIndex: 0, dataIndex: i, text: `${hours[i]}: ${u}` }))}\n height={340}\n />\n );\n}\n"
|
|
264
|
+
},
|
|
265
|
+
"props": [
|
|
266
|
+
{
|
|
267
|
+
"component": "Chart",
|
|
268
|
+
"description": "Any ECharts option, themed and framed like the typed charts. Memoise `option` when it is a function.",
|
|
269
|
+
"props": [
|
|
270
|
+
{
|
|
271
|
+
"name": "option",
|
|
272
|
+
"type": "ECBasicOption | ((theme: ResolvedTheme, size: { width: number; height: number; }) => ECBasicOption)",
|
|
273
|
+
"default": null,
|
|
274
|
+
"description": "The ECharts option, or a function of the resolved theme (colours as plain strings, the palette, the ramp).",
|
|
275
|
+
"required": true
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"name": "summaryText",
|
|
279
|
+
"type": "string",
|
|
280
|
+
"default": null,
|
|
281
|
+
"description": "The written summary: an option says nothing on its own.",
|
|
282
|
+
"required": true
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"name": "table",
|
|
286
|
+
"type": "TableModel",
|
|
287
|
+
"default": null,
|
|
288
|
+
"description": "The data as a table: the alternative of every chart.",
|
|
289
|
+
"required": true
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"name": "title",
|
|
293
|
+
"type": "string",
|
|
294
|
+
"default": null,
|
|
295
|
+
"description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
|
|
296
|
+
"required": true
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"name": "brand",
|
|
300
|
+
"type": "BrandId",
|
|
301
|
+
"default": null,
|
|
302
|
+
"description": "The brand whose palette the charts use. Without it, a chart follows a `.brand-<id>` ancestor, else Krizaka. Set it\nwhen the app loads a brand stylesheet on `:root` (`@krizaka/tokens/brands/orazaka.css`).",
|
|
303
|
+
"required": false
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"name": "className",
|
|
307
|
+
"type": "string",
|
|
308
|
+
"default": null,
|
|
309
|
+
"description": "A class on the figure (layout: margins, grid placement).",
|
|
310
|
+
"required": false
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"name": "dataTable",
|
|
314
|
+
"type": "boolean",
|
|
315
|
+
"default": null,
|
|
316
|
+
"description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
|
|
317
|
+
"required": false
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"name": "description",
|
|
321
|
+
"type": "ReactNode",
|
|
322
|
+
"default": null,
|
|
323
|
+
"description": "A sentence under the title: the period, the unit, the source.",
|
|
324
|
+
"required": false
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"name": "empty",
|
|
328
|
+
"type": "ReactNode",
|
|
329
|
+
"default": null,
|
|
330
|
+
"description": "What to show when there is nothing to draw (default: the `empty` label). An `EmptyState` of\n@krizaka /ui fits.",
|
|
331
|
+
"required": false
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"name": "error",
|
|
335
|
+
"type": "ReactNode",
|
|
336
|
+
"default": null,
|
|
337
|
+
"description": "The data could not be loaded: `true` says the default words, a node says yours (a retry button…).",
|
|
338
|
+
"required": false
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"name": "exportable",
|
|
342
|
+
"type": "boolean | readonly ExportFormat[]",
|
|
343
|
+
"default": null,
|
|
344
|
+
"description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
|
|
345
|
+
"required": false
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"name": "height",
|
|
349
|
+
"type": "number",
|
|
350
|
+
"default": null,
|
|
351
|
+
"description": "The height of the plot in pixels. Default 280 (a sparkline: 32).",
|
|
352
|
+
"required": false
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"name": "hideTitle",
|
|
356
|
+
"type": "boolean",
|
|
357
|
+
"default": null,
|
|
358
|
+
"description": "Visually hide the title (it stays the chart's accessible name): a card that already has its heading.",
|
|
359
|
+
"required": false
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"name": "id",
|
|
363
|
+
"type": "string",
|
|
364
|
+
"default": null,
|
|
365
|
+
"description": "The id of the figure.",
|
|
366
|
+
"required": false
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"name": "items",
|
|
370
|
+
"type": "readonly WalkItem[]",
|
|
371
|
+
"default": null,
|
|
372
|
+
"description": "What the arrow keys walk (series and data indexes, and what each one says).",
|
|
373
|
+
"required": false
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"name": "labels",
|
|
377
|
+
"type": "ChartLabelsInput",
|
|
378
|
+
"default": null,
|
|
379
|
+
"description": "The words, translated: the buttons, the states, the written summary.",
|
|
380
|
+
"required": false
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"name": "live",
|
|
384
|
+
"type": "boolean",
|
|
385
|
+
"default": null,
|
|
386
|
+
"description": "Streaming data (a job queue, an auction): no entrance on updates, no announcement of every new point.",
|
|
387
|
+
"required": false
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"name": "loading",
|
|
391
|
+
"type": "boolean",
|
|
392
|
+
"default": null,
|
|
393
|
+
"description": "The data is on its way: a skeleton of the chart, announced once.",
|
|
394
|
+
"required": false
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"name": "locale",
|
|
398
|
+
"type": "Locale",
|
|
399
|
+
"default": null,
|
|
400
|
+
"description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
|
|
401
|
+
"required": false
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"name": "modules",
|
|
405
|
+
"type": "(() => Promise<unknown>)",
|
|
406
|
+
"default": "() => import(\"../echarts/engines/full\")",
|
|
407
|
+
"description": "Registers what the option needs, from `echarts/charts` and `echarts/components` (tree-shaken):\n`() => import(\"./my-echarts\")` where that module calls `use([...])`. Default: all of ECharts (~380 kB gzip).",
|
|
408
|
+
"required": false
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"name": "onItem",
|
|
412
|
+
"type": "((item: { seriesIndex: number; dataIndex: number; }) => void)",
|
|
413
|
+
"default": null,
|
|
414
|
+
"description": "A click (or Enter) on a data item.",
|
|
415
|
+
"required": false
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"name": "renderer",
|
|
419
|
+
"type": "Renderer",
|
|
420
|
+
"default": null,
|
|
421
|
+
"description": "`svg` (default): sharp, exportable as SVG. `canvas`: for tens of thousands of marks.",
|
|
422
|
+
"required": false
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"name": "style",
|
|
426
|
+
"type": "CSSProperties",
|
|
427
|
+
"default": null,
|
|
428
|
+
"description": "Inline style on the figure (layout only: colours come from the tokens).",
|
|
429
|
+
"required": false
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"name": "summary",
|
|
433
|
+
"type": "\"hidden\" | \"visible\"",
|
|
434
|
+
"default": null,
|
|
435
|
+
"description": "The written summary: read by screen readers only (`\"hidden\"`, default), or shown under the chart (`\"visible\"`).",
|
|
436
|
+
"required": false
|
|
437
|
+
}
|
|
438
|
+
]
|
|
439
|
+
}
|
|
440
|
+
]
|
|
441
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "charts-provider",
|
|
3
|
+
"package": "@krizaka/charts",
|
|
4
|
+
"type": "chart",
|
|
5
|
+
"title": "Charts provider",
|
|
6
|
+
"summary": "The locale, the brand palette and the words of every chart below it, set once; plus the sliding window for live data.",
|
|
7
|
+
"description": "The locale, the brand palette and the words of every chart below it, set once; plus the sliding window for live data.",
|
|
8
|
+
"status": "beta",
|
|
9
|
+
"category": "charts",
|
|
10
|
+
"platforms": "both",
|
|
11
|
+
"engine": null,
|
|
12
|
+
"tier": "core",
|
|
13
|
+
"whenToUse": [
|
|
14
|
+
"Once near the root of an app: its locale (`fr-FR`), its brand (`orazaka`), its translated words.",
|
|
15
|
+
"An app that loads a brand stylesheet on `:root` rather than a `.brand-<id>` class: set `brand` here."
|
|
16
|
+
],
|
|
17
|
+
"whenNotToUse": [
|
|
18
|
+
{
|
|
19
|
+
"when": "To change one chart only: every chart takes `locale`, `brand` and `labels` itself.",
|
|
20
|
+
"use": "line-chart"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"bestPractices": [
|
|
24
|
+
"Translate `labels` from the app's catalogue; the summary templates take `{placeholders}`.",
|
|
25
|
+
"In React Native, pass `scheme` and `theme` from @krizaka/ui/native's `useTheme()` so the charts follow the app's theme and brand."
|
|
26
|
+
],
|
|
27
|
+
"accessibility": {
|
|
28
|
+
"keyboard": [],
|
|
29
|
+
"notes": [
|
|
30
|
+
"The words it sets are what screen readers hear: the summary, the role description, the keyboard hint."
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"related": [
|
|
34
|
+
"line-chart",
|
|
35
|
+
"chart",
|
|
36
|
+
"bar-chart"
|
|
37
|
+
],
|
|
38
|
+
"source": "packages/charts/src/meta/charts-provider.ts",
|
|
39
|
+
"install": {
|
|
40
|
+
"web": "npm install @krizaka/charts",
|
|
41
|
+
"native": "npx expo install react-native-svg\nnpm install @krizaka/charts"
|
|
42
|
+
},
|
|
43
|
+
"web": {
|
|
44
|
+
"entry": "@krizaka/charts/provider",
|
|
45
|
+
"import": "import { ChartsProvider, useSlidingWindow } from \"@krizaka/charts/provider\";",
|
|
46
|
+
"props": [
|
|
47
|
+
{
|
|
48
|
+
"component": "ChartsProvider",
|
|
49
|
+
"description": "Sets the locale, the brand and the words of every chart below it.",
|
|
50
|
+
"props": [
|
|
51
|
+
{
|
|
52
|
+
"name": "brand",
|
|
53
|
+
"type": "BrandId",
|
|
54
|
+
"default": null,
|
|
55
|
+
"description": "The brand whose palette the charts use. Without it, a chart follows a `.brand-<id>` ancestor, else Krizaka. Set it\nwhen the app loads a brand stylesheet on `:root` (`@krizaka/tokens/brands/orazaka.css`).",
|
|
56
|
+
"required": false
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "labels",
|
|
60
|
+
"type": "ChartLabelsInput",
|
|
61
|
+
"default": null,
|
|
62
|
+
"description": "The words, translated: the buttons, the states, the written summary.",
|
|
63
|
+
"required": false
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "locale",
|
|
67
|
+
"type": "Locale",
|
|
68
|
+
"default": null,
|
|
69
|
+
"description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
|
|
70
|
+
"required": false
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"examples": [
|
|
76
|
+
{
|
|
77
|
+
"name": "french-orazaka",
|
|
78
|
+
"title": "French, Orazaka",
|
|
79
|
+
"description": "Figures and dates in French, the Orazaka palette, the words translated.",
|
|
80
|
+
"path": "examples/charts-provider/french-orazaka.tsx",
|
|
81
|
+
"module": "@krizaka/charts/registry/examples/charts-provider/french-orazaka",
|
|
82
|
+
"code": "import { BarChart } from \"@krizaka/charts/bar\";\nimport { ChartsProvider } from \"@krizaka/charts/provider\";\n\nconst months = [\n { month: \"2026-06\", credits: 412_000 },\n { month: \"2026-07\", credits: 468_500 },\n { month: \"2026-08\", credits: 391_200 },\n { month: \"2026-09\", credits: 523_900 },\n];\n\n// Once near the app's root: the locale, the brand's palette, the words from the app's catalogue.\nexport default function FrenchOrazaka() {\n return (\n <ChartsProvider\n locale=\"fr-FR\"\n brand=\"orazaka\"\n labels={{ showData: \"Voir les données\", hideData: \"Masquer les données\", empty: \"Pas encore de données.\", kinds: { bar: \"Histogramme\" } }}\n >\n <BarChart title=\"Crédits consommés par mois\" data={months} x=\"month\" xLabel=\"Mois\" y=\"credits\" yLabel=\"Crédits\" format=\"compact\" />\n </ChartsProvider>\n );\n}\n"
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"native": {
|
|
87
|
+
"entry": "@krizaka/charts/native",
|
|
88
|
+
"import": "import { ChartsProvider } from \"@krizaka/charts/native\";",
|
|
89
|
+
"differences": [
|
|
90
|
+
"Also takes `scheme` and `theme` (the app's roles); no `useSlidingWindow` export on native."
|
|
91
|
+
],
|
|
92
|
+
"props": [
|
|
93
|
+
{
|
|
94
|
+
"component": "ChartsProvider",
|
|
95
|
+
"description": "Sets the locale, brand, words, scheme and theme of every chart below it.",
|
|
96
|
+
"props": [
|
|
97
|
+
{
|
|
98
|
+
"name": "brand",
|
|
99
|
+
"type": "BrandId",
|
|
100
|
+
"default": null,
|
|
101
|
+
"description": "The brand whose palette leads. Default Krizaka.",
|
|
102
|
+
"required": false
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "labels",
|
|
106
|
+
"type": "ChartLabelsInput",
|
|
107
|
+
"default": null,
|
|
108
|
+
"description": "The words: the readout, the summary.",
|
|
109
|
+
"required": false
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "locale",
|
|
113
|
+
"type": "Locale",
|
|
114
|
+
"default": null,
|
|
115
|
+
"description": "The locale of every figure and date. Default `\"en-US\"`.",
|
|
116
|
+
"required": false
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "scheme",
|
|
120
|
+
"type": "Mode",
|
|
121
|
+
"default": null,
|
|
122
|
+
"description": "Dark or light. Default: the device's (pass `useTheme().scheme` of\n@krizaka /ui/native to follow the app).",
|
|
123
|
+
"required": false
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"name": "theme",
|
|
127
|
+
"type": "Partial<ChartTheme>",
|
|
128
|
+
"default": null,
|
|
129
|
+
"description": "The app's colour roles (`useTheme().theme` of\n@krizaka /ui/native): a product's brand overrides apply.",
|
|
130
|
+
"required": false
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"examples": [
|
|
136
|
+
{
|
|
137
|
+
"name": "french-orazaka",
|
|
138
|
+
"title": "French, Orazaka",
|
|
139
|
+
"description": "French figures, the Orazaka palette.",
|
|
140
|
+
"path": "examples/charts-provider/native/french-orazaka.tsx",
|
|
141
|
+
"module": "@krizaka/charts/registry/examples/charts-provider/native/french-orazaka",
|
|
142
|
+
"code": "import { BarChart, ChartsProvider } from \"@krizaka/charts/native\";\n\nconst months = [\n { month: \"2026-06\", credits: 412_000 },\n { month: \"2026-07\", credits: 468_500 },\n { month: \"2026-08\", credits: 391_200 },\n { month: \"2026-09\", credits: 523_900 },\n];\n\n// In an app: scheme and theme from @krizaka/ui/native's useTheme(), so the charts follow its mode and brand.\nexport default function FrenchOrazaka() {\n return (\n <ChartsProvider locale=\"fr-FR\" brand=\"orazaka\">\n <BarChart title=\"Crédits consommés par mois\" data={months} x=\"month\" y=\"credits\" yLabel=\"Crédits\" format=\"compact\" />\n </ChartsProvider>\n );\n}\n",
|
|
143
|
+
"screenshots": {
|
|
144
|
+
"dark": "examples/charts-provider/native/french-orazaka.dark.png",
|
|
145
|
+
"light": "examples/charts-provider/native/french-orazaka.light.png"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
"files": [],
|
|
151
|
+
"dependencies": [
|
|
152
|
+
"@krizaka/intl@workspace:^",
|
|
153
|
+
"d3-geo@^3.1.1",
|
|
154
|
+
"echarts@^6.1.0",
|
|
155
|
+
"topojson-client@^3.1.0"
|
|
156
|
+
],
|
|
157
|
+
"registryDependencies": [],
|
|
158
|
+
"demo": {
|
|
159
|
+
"path": "examples/charts-provider/french-orazaka.tsx",
|
|
160
|
+
"content": "import { BarChart } from \"@krizaka/charts/bar\";\nimport { ChartsProvider } from \"@krizaka/charts/provider\";\n\nconst months = [\n { month: \"2026-06\", credits: 412_000 },\n { month: \"2026-07\", credits: 468_500 },\n { month: \"2026-08\", credits: 391_200 },\n { month: \"2026-09\", credits: 523_900 },\n];\n\n// Once near the app's root: the locale, the brand's palette, the words from the app's catalogue.\nexport default function FrenchOrazaka() {\n return (\n <ChartsProvider\n locale=\"fr-FR\"\n brand=\"orazaka\"\n labels={{ showData: \"Voir les données\", hideData: \"Masquer les données\", empty: \"Pas encore de données.\", kinds: { bar: \"Histogramme\" } }}\n >\n <BarChart title=\"Crédits consommés par mois\" data={months} x=\"month\" xLabel=\"Mois\" y=\"credits\" yLabel=\"Crédits\" format=\"compact\" />\n </ChartsProvider>\n );\n}\n"
|
|
161
|
+
},
|
|
162
|
+
"props": [
|
|
163
|
+
{
|
|
164
|
+
"component": "ChartsProvider",
|
|
165
|
+
"description": "Sets the locale, the brand and the words of every chart below it.",
|
|
166
|
+
"props": [
|
|
167
|
+
{
|
|
168
|
+
"name": "brand",
|
|
169
|
+
"type": "BrandId",
|
|
170
|
+
"default": null,
|
|
171
|
+
"description": "The brand whose palette the charts use. Without it, a chart follows a `.brand-<id>` ancestor, else Krizaka. Set it\nwhen the app loads a brand stylesheet on `:root` (`@krizaka/tokens/brands/orazaka.css`).",
|
|
172
|
+
"required": false
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"name": "labels",
|
|
176
|
+
"type": "ChartLabelsInput",
|
|
177
|
+
"default": null,
|
|
178
|
+
"description": "The words, translated: the buttons, the states, the written summary.",
|
|
179
|
+
"required": false
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"name": "locale",
|
|
183
|
+
"type": "Locale",
|
|
184
|
+
"default": null,
|
|
185
|
+
"description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
|
|
186
|
+
"required": false
|
|
187
|
+
}
|
|
188
|
+
]
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
}
|