@krizaka/charts 0.0.0-stage → 0.1.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.
Files changed (273) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +47 -2
  3. package/dist/bar.d.ts +17 -0
  4. package/dist/bar.js +16 -0
  5. package/dist/bar.js.map +1 -0
  6. package/dist/candlestick-IG626XL4.js +13 -0
  7. package/dist/candlestick-IG626XL4.js.map +1 -0
  8. package/dist/candlestick.d.ts +42 -0
  9. package/dist/candlestick.js +13 -0
  10. package/dist/candlestick.js.map +1 -0
  11. package/dist/canvas-4MSYDVFO.js +14 -0
  12. package/dist/canvas-4MSYDVFO.js.map +1 -0
  13. package/dist/cartesian-BRhNQ3ib.d.ts +34 -0
  14. package/dist/chart.d.ts +58 -0
  15. package/dist/chart.js +11 -0
  16. package/dist/chart.js.map +1 -0
  17. package/dist/chunk-3CJHBJXA.js +186 -0
  18. package/dist/chunk-3CJHBJXA.js.map +1 -0
  19. package/dist/chunk-6FINSUOS.js +49 -0
  20. package/dist/chunk-6FINSUOS.js.map +1 -0
  21. package/dist/chunk-7CSAGFBW.js +166 -0
  22. package/dist/chunk-7CSAGFBW.js.map +1 -0
  23. package/dist/chunk-7TIFCK5E.js +103 -0
  24. package/dist/chunk-7TIFCK5E.js.map +1 -0
  25. package/dist/chunk-AHQXJSAQ.js +38 -0
  26. package/dist/chunk-AHQXJSAQ.js.map +1 -0
  27. package/dist/chunk-ANUCSRUN.js +43 -0
  28. package/dist/chunk-ANUCSRUN.js.map +1 -0
  29. package/dist/chunk-BISL7DYW.js +66 -0
  30. package/dist/chunk-BISL7DYW.js.map +1 -0
  31. package/dist/chunk-BZ5CQFPH.js +19 -0
  32. package/dist/chunk-BZ5CQFPH.js.map +1 -0
  33. package/dist/chunk-DWJPPEMC.js +455 -0
  34. package/dist/chunk-DWJPPEMC.js.map +1 -0
  35. package/dist/chunk-DZB6HEVO.js +73 -0
  36. package/dist/chunk-DZB6HEVO.js.map +1 -0
  37. package/dist/chunk-EK3Z647J.js +133 -0
  38. package/dist/chunk-EK3Z647J.js.map +1 -0
  39. package/dist/chunk-I5QUZVU2.js +234 -0
  40. package/dist/chunk-I5QUZVU2.js.map +1 -0
  41. package/dist/chunk-OB5EFDDH.js +118 -0
  42. package/dist/chunk-OB5EFDDH.js.map +1 -0
  43. package/dist/chunk-OER6ETT4.js +155 -0
  44. package/dist/chunk-OER6ETT4.js.map +1 -0
  45. package/dist/chunk-PTSB3H5Q.js +205 -0
  46. package/dist/chunk-PTSB3H5Q.js.map +1 -0
  47. package/dist/chunk-TPJDOB7R.js +15 -0
  48. package/dist/chunk-TPJDOB7R.js.map +1 -0
  49. package/dist/chunk-UNK4MJVG.js +378 -0
  50. package/dist/chunk-UNK4MJVG.js.map +1 -0
  51. package/dist/chunk-VKO2OYYM.js +88 -0
  52. package/dist/chunk-VKO2OYYM.js.map +1 -0
  53. package/dist/chunk-VKTZD7UT.js +107 -0
  54. package/dist/chunk-VKTZD7UT.js.map +1 -0
  55. package/dist/chunk-W5FX4TU3.js +102 -0
  56. package/dist/chunk-W5FX4TU3.js.map +1 -0
  57. package/dist/chunk-WBH2QU77.js +178 -0
  58. package/dist/chunk-WBH2QU77.js.map +1 -0
  59. package/dist/chunk-WIRCIOLH.js +145 -0
  60. package/dist/chunk-WIRCIOLH.js.map +1 -0
  61. package/dist/chunk-XAJ3KCC4.js +116 -0
  62. package/dist/chunk-XAJ3KCC4.js.map +1 -0
  63. package/dist/chunk-XC6BQ3RN.js +92 -0
  64. package/dist/chunk-XC6BQ3RN.js.map +1 -0
  65. package/dist/chunk-XLLYNNC6.js +89 -0
  66. package/dist/chunk-XLLYNNC6.js.map +1 -0
  67. package/dist/chunk-XR4ZJDOV.js +15 -0
  68. package/dist/chunk-XR4ZJDOV.js.map +1 -0
  69. package/dist/context-BgYUymEO.d.ts +163 -0
  70. package/dist/frame-I7_xYGy5.d.ts +45 -0
  71. package/dist/full-S2MBPEEP.js +11 -0
  72. package/dist/full-S2MBPEEP.js.map +1 -0
  73. package/dist/funnel-QU5ZPC52.js +13 -0
  74. package/dist/funnel-QU5ZPC52.js.map +1 -0
  75. package/dist/funnel.d.ts +26 -0
  76. package/dist/funnel.js +13 -0
  77. package/dist/funnel.js.map +1 -0
  78. package/dist/gauge.d.ts +38 -0
  79. package/dist/gauge.js +12 -0
  80. package/dist/gauge.js.map +1 -0
  81. package/dist/geo.d.ts +37 -0
  82. package/dist/geo.js +13 -0
  83. package/dist/geo.js.map +1 -0
  84. package/dist/globe.d.ts +36 -0
  85. package/dist/globe.js +12 -0
  86. package/dist/globe.js.map +1 -0
  87. package/dist/heatmap-JWQOKUGM.js +13 -0
  88. package/dist/heatmap-JWQOKUGM.js.map +1 -0
  89. package/dist/heatmap.d.ts +47 -0
  90. package/dist/heatmap.js +15 -0
  91. package/dist/heatmap.js.map +1 -0
  92. package/dist/host-_F8RgiIz.d.ts +15 -0
  93. package/dist/index.d.ts +22 -0
  94. package/dist/index.js +101 -0
  95. package/dist/index.js.map +1 -0
  96. package/dist/line.d.ts +25 -0
  97. package/dist/line.js +18 -0
  98. package/dist/line.js.map +1 -0
  99. package/dist/native.d.ts +300 -0
  100. package/dist/native.js +875 -0
  101. package/dist/native.js.map +1 -0
  102. package/dist/pie.d.ts +37 -0
  103. package/dist/pie.js +16 -0
  104. package/dist/pie.js.map +1 -0
  105. package/dist/provider.d.ts +73 -0
  106. package/dist/provider.js +24 -0
  107. package/dist/provider.js.map +1 -0
  108. package/dist/radar-75GRJ2IK.js +13 -0
  109. package/dist/radar-75GRJ2IK.js.map +1 -0
  110. package/dist/radar.d.ts +22 -0
  111. package/dist/radar.js +13 -0
  112. package/dist/radar.js.map +1 -0
  113. package/dist/sankey-XQTX2EG6.js +13 -0
  114. package/dist/sankey-XQTX2EG6.js.map +1 -0
  115. package/dist/sankey.d.ts +28 -0
  116. package/dist/sankey.js +13 -0
  117. package/dist/sankey.js.map +1 -0
  118. package/dist/scatter-XSNG4OKD.js +13 -0
  119. package/dist/scatter-XSNG4OKD.js.map +1 -0
  120. package/dist/scatter.d.ts +41 -0
  121. package/dist/scatter.js +15 -0
  122. package/dist/scatter.js.map +1 -0
  123. package/dist/sparkline.d.ts +26 -0
  124. package/dist/sparkline.js +15 -0
  125. package/dist/sparkline.js.map +1 -0
  126. package/dist/svg-BJUHYX3B.js +14 -0
  127. package/dist/svg-BJUHYX3B.js.map +1 -0
  128. package/dist/treemap-OMGGGB5U.js +13 -0
  129. package/dist/treemap-OMGGGB5U.js.map +1 -0
  130. package/dist/treemap.d.ts +24 -0
  131. package/dist/treemap.js +14 -0
  132. package/dist/treemap.js.map +1 -0
  133. package/dist/world-110m-DVFWXS42.js +18 -0
  134. package/dist/world-110m-DVFWXS42.js.map +1 -0
  135. package/package.json +518 -3
  136. package/registry/area-chart.json +784 -0
  137. package/registry/bar-chart.json +783 -0
  138. package/registry/calendar-heatmap.json +459 -0
  139. package/registry/candlestick.json +552 -0
  140. package/registry/chart.json +440 -0
  141. package/registry/charts-provider.json +190 -0
  142. package/registry/examples/area-chart/credits-usage.d.ts +4 -0
  143. package/registry/examples/area-chart/credits-usage.js +38 -0
  144. package/registry/examples/area-chart/credits-usage.tsx +32 -0
  145. package/registry/examples/area-chart/native/credits-usage.d.ts +4 -0
  146. package/registry/examples/area-chart/native/credits-usage.dark.png +0 -0
  147. package/registry/examples/area-chart/native/credits-usage.js +33 -0
  148. package/registry/examples/area-chart/native/credits-usage.light.png +0 -0
  149. package/registry/examples/area-chart/native/credits-usage.tsx +27 -0
  150. package/registry/examples/area-chart/storage.d.ts +4 -0
  151. package/registry/examples/area-chart/storage.js +27 -0
  152. package/registry/examples/area-chart/storage.tsx +21 -0
  153. package/registry/examples/bar-chart/jobs-by-status.d.ts +4 -0
  154. package/registry/examples/bar-chart/jobs-by-status.js +37 -0
  155. package/registry/examples/bar-chart/jobs-by-status.tsx +31 -0
  156. package/registry/examples/bar-chart/native/jobs-by-status.d.ts +4 -0
  157. package/registry/examples/bar-chart/native/jobs-by-status.dark.png +0 -0
  158. package/registry/examples/bar-chart/native/jobs-by-status.js +32 -0
  159. package/registry/examples/bar-chart/native/jobs-by-status.light.png +0 -0
  160. package/registry/examples/bar-chart/native/jobs-by-status.tsx +26 -0
  161. package/registry/examples/bar-chart/plans-by-quarter.d.ts +4 -0
  162. package/registry/examples/bar-chart/plans-by-quarter.js +31 -0
  163. package/registry/examples/bar-chart/plans-by-quarter.tsx +26 -0
  164. package/registry/examples/bar-chart/top-supporters.d.ts +4 -0
  165. package/registry/examples/bar-chart/top-supporters.js +32 -0
  166. package/registry/examples/bar-chart/top-supporters.tsx +27 -0
  167. package/registry/examples/calendar-heatmap/publishing.d.ts +4 -0
  168. package/registry/examples/calendar-heatmap/publishing.js +28 -0
  169. package/registry/examples/calendar-heatmap/publishing.tsx +23 -0
  170. package/registry/examples/candlestick/auction-bids.d.ts +4 -0
  171. package/registry/examples/candlestick/auction-bids.js +37 -0
  172. package/registry/examples/candlestick/auction-bids.tsx +32 -0
  173. package/registry/examples/chart/polar-uploads.d.ts +4 -0
  174. package/registry/examples/chart/polar-uploads.js +34 -0
  175. package/registry/examples/chart/polar-uploads.tsx +30 -0
  176. package/registry/examples/charts-provider/french-orazaka.d.ts +4 -0
  177. package/registry/examples/charts-provider/french-orazaka.js +26 -0
  178. package/registry/examples/charts-provider/french-orazaka.tsx +22 -0
  179. package/registry/examples/charts-provider/native/french-orazaka.d.ts +4 -0
  180. package/registry/examples/charts-provider/native/french-orazaka.dark.png +0 -0
  181. package/registry/examples/charts-provider/native/french-orazaka.js +17 -0
  182. package/registry/examples/charts-provider/native/french-orazaka.light.png +0 -0
  183. package/registry/examples/charts-provider/native/french-orazaka.tsx +17 -0
  184. package/registry/examples/funnel/signup.d.ts +4 -0
  185. package/registry/examples/funnel/signup.js +30 -0
  186. package/registry/examples/funnel/signup.tsx +24 -0
  187. package/registry/examples/gauge/challenge-goal.d.ts +4 -0
  188. package/registry/examples/gauge/challenge-goal.js +24 -0
  189. package/registry/examples/gauge/challenge-goal.tsx +18 -0
  190. package/registry/examples/gauge/credits-quota.d.ts +4 -0
  191. package/registry/examples/gauge/credits-quota.js +26 -0
  192. package/registry/examples/gauge/credits-quota.tsx +19 -0
  193. package/registry/examples/gauge/native/credits-quota.d.ts +4 -0
  194. package/registry/examples/gauge/native/credits-quota.dark.png +0 -0
  195. package/registry/examples/gauge/native/credits-quota.js +25 -0
  196. package/registry/examples/gauge/native/credits-quota.light.png +0 -0
  197. package/registry/examples/gauge/native/credits-quota.tsx +18 -0
  198. package/registry/examples/geo-map/viewers.d.ts +4 -0
  199. package/registry/examples/geo-map/viewers.js +43 -0
  200. package/registry/examples/geo-map/viewers.tsx +29 -0
  201. package/registry/examples/globe/deployment-regions.d.ts +4 -0
  202. package/registry/examples/globe/deployment-regions.js +36 -0
  203. package/registry/examples/globe/deployment-regions.tsx +30 -0
  204. package/registry/examples/heatmap/upload-activity.d.ts +4 -0
  205. package/registry/examples/heatmap/upload-activity.js +30 -0
  206. package/registry/examples/heatmap/upload-activity.tsx +25 -0
  207. package/registry/examples/line-chart/creator-earnings.d.ts +4 -0
  208. package/registry/examples/line-chart/creator-earnings.js +35 -0
  209. package/registry/examples/line-chart/creator-earnings.tsx +30 -0
  210. package/registry/examples/line-chart/forecast.d.ts +4 -0
  211. package/registry/examples/line-chart/forecast.js +36 -0
  212. package/registry/examples/line-chart/forecast.tsx +30 -0
  213. package/registry/examples/line-chart/live-jobs.d.ts +4 -0
  214. package/registry/examples/line-chart/live-jobs.js +21 -0
  215. package/registry/examples/line-chart/live-jobs.tsx +23 -0
  216. package/registry/examples/line-chart/native/creator-earnings.d.ts +4 -0
  217. package/registry/examples/line-chart/native/creator-earnings.dark.png +0 -0
  218. package/registry/examples/line-chart/native/creator-earnings.js +32 -0
  219. package/registry/examples/line-chart/native/creator-earnings.light.png +0 -0
  220. package/registry/examples/line-chart/native/creator-earnings.tsx +26 -0
  221. package/registry/examples/line-chart/states.d.ts +4 -0
  222. package/registry/examples/line-chart/states.js +16 -0
  223. package/registry/examples/line-chart/states.tsx +13 -0
  224. package/registry/examples/pie-chart/credit-spend.d.ts +4 -0
  225. package/registry/examples/pie-chart/credit-spend.js +30 -0
  226. package/registry/examples/pie-chart/credit-spend.tsx +24 -0
  227. package/registry/examples/pie-chart/native/credit-spend.d.ts +4 -0
  228. package/registry/examples/pie-chart/native/credit-spend.dark.png +0 -0
  229. package/registry/examples/pie-chart/native/credit-spend.js +17 -0
  230. package/registry/examples/pie-chart/native/credit-spend.light.png +0 -0
  231. package/registry/examples/pie-chart/native/credit-spend.tsx +12 -0
  232. package/registry/examples/pie-chart/storage-by-kind.d.ts +4 -0
  233. package/registry/examples/pie-chart/storage-by-kind.js +31 -0
  234. package/registry/examples/pie-chart/storage-by-kind.tsx +26 -0
  235. package/registry/examples/radar-chart/model-comparison.d.ts +4 -0
  236. package/registry/examples/radar-chart/model-comparison.js +33 -0
  237. package/registry/examples/radar-chart/model-comparison.tsx +28 -0
  238. package/registry/examples/sankey/credit-flow.d.ts +4 -0
  239. package/registry/examples/sankey/credit-flow.js +37 -0
  240. package/registry/examples/sankey/credit-flow.tsx +32 -0
  241. package/registry/examples/scatter-chart/watch-time.d.ts +4 -0
  242. package/registry/examples/scatter-chart/watch-time.js +36 -0
  243. package/registry/examples/scatter-chart/watch-time.tsx +31 -0
  244. package/registry/examples/sparkline/bars.d.ts +4 -0
  245. package/registry/examples/sparkline/bars.js +12 -0
  246. package/registry/examples/sparkline/bars.tsx +7 -0
  247. package/registry/examples/sparkline/native/stat-trend.d.ts +4 -0
  248. package/registry/examples/sparkline/native/stat-trend.dark.png +0 -0
  249. package/registry/examples/sparkline/native/stat-trend.js +12 -0
  250. package/registry/examples/sparkline/native/stat-trend.light.png +0 -0
  251. package/registry/examples/sparkline/native/stat-trend.tsx +7 -0
  252. package/registry/examples/sparkline/stat-trend.d.ts +4 -0
  253. package/registry/examples/sparkline/stat-trend.js +18 -0
  254. package/registry/examples/sparkline/stat-trend.tsx +15 -0
  255. package/registry/examples/sparkline/table-rows.d.ts +4 -0
  256. package/registry/examples/sparkline/table-rows.js +23 -0
  257. package/registry/examples/sparkline/table-rows.tsx +26 -0
  258. package/registry/examples/treemap/storage.d.ts +4 -0
  259. package/registry/examples/treemap/storage.js +17 -0
  260. package/registry/examples/treemap/storage.tsx +13 -0
  261. package/registry/funnel.json +486 -0
  262. package/registry/gauge.json +599 -0
  263. package/registry/geo-map.json +483 -0
  264. package/registry/globe.json +468 -0
  265. package/registry/heatmap.json +530 -0
  266. package/registry/index.json +420 -0
  267. package/registry/line-chart.json +792 -0
  268. package/registry/pie-chart.json +1287 -0
  269. package/registry/radar-chart.json +458 -0
  270. package/registry/sankey.json +502 -0
  271. package/registry/scatter-chart.json +558 -0
  272. package/registry/sparkline.json +562 -0
  273. package/registry/treemap.json +431 -0
@@ -0,0 +1,30 @@
1
+ import { Chart } from "@krizaka/charts/chart";
2
+
3
+ const 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];
4
+ const hours = uploads.map((_, h) => `${String(h).padStart(2, "0")}:00`);
5
+
6
+ // Only what the option needs: polar bars and the tooltip (not all of ECharts).
7
+ const modules = async () => {
8
+ const [{ use: register }, { BarChart }, { PolarComponent, TooltipComponent }] = await Promise.all([import("echarts/core"), import("echarts/charts"), import("echarts/components")]);
9
+ register([BarChart, PolarComponent, TooltipComponent]);
10
+ };
11
+
12
+ export default function PolarUploads() {
13
+ return (
14
+ <Chart
15
+ title="Uploads by hour of the day"
16
+ modules={modules}
17
+ option={(theme) => ({
18
+ polar: { radius: ["18%", "80%"] },
19
+ angleAxis: { type: "category", data: hours, axisLabel: { color: theme.text2, interval: 2 }, axisLine: { lineStyle: { color: theme.axis } } },
20
+ radiusAxis: { axisLabel: { show: false }, splitLine: { lineStyle: { color: theme.grid } }, axisLine: { show: false } },
21
+ tooltip: { trigger: "item" },
22
+ series: [{ type: "bar", coordinateSystem: "polar", data: uploads, itemStyle: { color: theme.palette[0], borderRadius: 3 } }],
23
+ })}
24
+ summaryText={`Uploads by hour: quietest at 02:00 (1), busiest at 19:00 (61).`}
25
+ table={{ columns: ["Hour", "Uploads"], rows: hours.map((h, i) => [h, String(uploads[i])]) }}
26
+ items={uploads.map((u, i) => ({ seriesIndex: 0, dataIndex: i, text: `${hours[i]}: ${u}` }))}
27
+ height={340}
28
+ />
29
+ );
30
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;
@@ -0,0 +1,26 @@
1
+ "use client";
2
+
3
+ // registry/examples/charts-provider/french-orazaka.tsx
4
+ import { BarChart } from "@krizaka/charts/bar";
5
+ import { ChartsProvider } from "@krizaka/charts/provider";
6
+ import { jsx } from "react/jsx-runtime";
7
+ var months = [
8
+ { month: "2026-06", credits: 412e3 },
9
+ { month: "2026-07", credits: 468500 },
10
+ { month: "2026-08", credits: 391200 },
11
+ { month: "2026-09", credits: 523900 }
12
+ ];
13
+ function FrenchOrazaka() {
14
+ return /* @__PURE__ */ jsx(
15
+ ChartsProvider,
16
+ {
17
+ locale: "fr-FR",
18
+ brand: "orazaka",
19
+ labels: { showData: "Voir les donn\xE9es", hideData: "Masquer les donn\xE9es", empty: "Pas encore de donn\xE9es.", kinds: { bar: "Histogramme" } },
20
+ children: /* @__PURE__ */ jsx(BarChart, { title: "Cr\xE9dits consomm\xE9s par mois", data: months, x: "month", xLabel: "Mois", y: "credits", yLabel: "Cr\xE9dits", format: "compact" })
21
+ }
22
+ );
23
+ }
24
+ export {
25
+ FrenchOrazaka as default
26
+ };
@@ -0,0 +1,22 @@
1
+ import { BarChart } from "@krizaka/charts/bar";
2
+ import { ChartsProvider } from "@krizaka/charts/provider";
3
+
4
+ const months = [
5
+ { month: "2026-06", credits: 412_000 },
6
+ { month: "2026-07", credits: 468_500 },
7
+ { month: "2026-08", credits: 391_200 },
8
+ { month: "2026-09", credits: 523_900 },
9
+ ];
10
+
11
+ // Once near the app's root: the locale, the brand's palette, the words from the app's catalogue.
12
+ export default function FrenchOrazaka() {
13
+ return (
14
+ <ChartsProvider
15
+ locale="fr-FR"
16
+ brand="orazaka"
17
+ labels={{ showData: "Voir les données", hideData: "Masquer les données", empty: "Pas encore de données.", kinds: { bar: "Histogramme" } }}
18
+ >
19
+ <BarChart title="Crédits consommés par mois" data={months} x="month" xLabel="Mois" y="credits" yLabel="Crédits" format="compact" />
20
+ </ChartsProvider>
21
+ );
22
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;
@@ -0,0 +1,17 @@
1
+ "use client";
2
+
3
+ // registry/examples/charts-provider/native/french-orazaka.tsx
4
+ import { BarChart, ChartsProvider } from "@krizaka/charts/native";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var months = [
7
+ { month: "2026-06", credits: 412e3 },
8
+ { month: "2026-07", credits: 468500 },
9
+ { month: "2026-08", credits: 391200 },
10
+ { month: "2026-09", credits: 523900 }
11
+ ];
12
+ function FrenchOrazaka() {
13
+ return /* @__PURE__ */ jsx(ChartsProvider, { locale: "fr-FR", brand: "orazaka", children: /* @__PURE__ */ jsx(BarChart, { title: "Cr\xE9dits consomm\xE9s par mois", data: months, x: "month", y: "credits", yLabel: "Cr\xE9dits", format: "compact" }) });
14
+ }
15
+ export {
16
+ FrenchOrazaka as default
17
+ };
@@ -0,0 +1,17 @@
1
+ import { BarChart, ChartsProvider } from "@krizaka/charts/native";
2
+
3
+ const months = [
4
+ { month: "2026-06", credits: 412_000 },
5
+ { month: "2026-07", credits: 468_500 },
6
+ { month: "2026-08", credits: 391_200 },
7
+ { month: "2026-09", credits: 523_900 },
8
+ ];
9
+
10
+ // In an app: scheme and theme from @krizaka/ui/native's useTheme(), so the charts follow its mode and brand.
11
+ export default function FrenchOrazaka() {
12
+ return (
13
+ <ChartsProvider locale="fr-FR" brand="orazaka">
14
+ <BarChart title="Crédits consommés par mois" data={months} x="month" y="credits" yLabel="Crédits" format="compact" />
15
+ </ChartsProvider>
16
+ );
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;
@@ -0,0 +1,30 @@
1
+ "use client";
2
+
3
+ // registry/examples/funnel/signup.tsx
4
+ import { Funnel } from "@krizaka/charts/funnel";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var stages = [
7
+ { stage: "Visited the creator page", people: 48200 },
8
+ { stage: "Created an account", people: 9640 },
9
+ { stage: "Verified their identity", people: 6170 },
10
+ { stage: "Published a first video", people: 3210 },
11
+ { stage: "Made a first sale", people: 1180 }
12
+ ];
13
+ function Signup() {
14
+ return /* @__PURE__ */ jsx(
15
+ Funnel,
16
+ {
17
+ title: "Creator sign-up, September",
18
+ data: stages,
19
+ label: "stage",
20
+ value: "people",
21
+ stageLabel: "Stage",
22
+ valueLabel: "Creators",
23
+ fromFirstLabel: "% of visits",
24
+ fromPreviousLabel: "% of previous"
25
+ }
26
+ );
27
+ }
28
+ export {
29
+ Signup as default
30
+ };
@@ -0,0 +1,24 @@
1
+ import { Funnel } from "@krizaka/charts/funnel";
2
+
3
+ const stages = [
4
+ { stage: "Visited the creator page", people: 48_200 },
5
+ { stage: "Created an account", people: 9_640 },
6
+ { stage: "Verified their identity", people: 6_170 },
7
+ { stage: "Published a first video", people: 3_210 },
8
+ { stage: "Made a first sale", people: 1_180 },
9
+ ];
10
+
11
+ export default function Signup() {
12
+ return (
13
+ <Funnel
14
+ title="Creator sign-up, September"
15
+ data={stages}
16
+ label="stage"
17
+ value="people"
18
+ stageLabel="Stage"
19
+ valueLabel="Creators"
20
+ fromFirstLabel="% of visits"
21
+ fromPreviousLabel="% of previous"
22
+ />
23
+ );
24
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;
@@ -0,0 +1,24 @@
1
+ "use client";
2
+
3
+ // registry/examples/gauge/challenge-goal.tsx
4
+ import { Gauge } from "@krizaka/charts/gauge";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function ChallengeGoal() {
7
+ return /* @__PURE__ */ jsx(
8
+ Gauge,
9
+ {
10
+ title: "\u201CShoot the sunrise from the Mont-Royal\u201D",
11
+ description: "Challenge in escrow \xB7 6 days left",
12
+ value: 186e3,
13
+ max: 3e5,
14
+ format: { style: "money", currency: "CAD" },
15
+ caption: "raised",
16
+ target: { value: 25e4, label: "Objective" },
17
+ tone: "accent",
18
+ style: { maxWidth: 320 }
19
+ }
20
+ );
21
+ }
22
+ export {
23
+ ChallengeGoal as default
24
+ };
@@ -0,0 +1,18 @@
1
+ import { Gauge } from "@krizaka/charts/gauge";
2
+
3
+ // A challenge's escrow, in cents, against its objective.
4
+ export default function ChallengeGoal() {
5
+ return (
6
+ <Gauge
7
+ title="“Shoot the sunrise from the Mont-Royal”"
8
+ description="Challenge in escrow · 6 days left"
9
+ value={186_000}
10
+ max={300_000}
11
+ format={{ style: "money", currency: "CAD" }}
12
+ caption="raised"
13
+ target={{ value: 250_000, label: "Objective" }}
14
+ tone="accent"
15
+ style={{ maxWidth: 320 }}
16
+ />
17
+ );
18
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;
@@ -0,0 +1,26 @@
1
+ "use client";
2
+
3
+ // registry/examples/gauge/credits-quota.tsx
4
+ import { Gauge } from "@krizaka/charts/gauge";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function CreditsQuota() {
7
+ return /* @__PURE__ */ jsx(
8
+ Gauge,
9
+ {
10
+ title: "Credits used this month",
11
+ value: 41250,
12
+ max: 5e4,
13
+ format: "compact",
14
+ caption: "of 50K credits",
15
+ zones: [
16
+ { to: 4e4, tone: "success", label: "Within plan" },
17
+ { to: 47500, tone: "warning", label: "Nearing the limit" },
18
+ { to: 5e4, tone: "danger", label: "At the limit" }
19
+ ],
20
+ style: { maxWidth: 320 }
21
+ }
22
+ );
23
+ }
24
+ export {
25
+ CreditsQuota as default
26
+ };
@@ -0,0 +1,19 @@
1
+ import { Gauge } from "@krizaka/charts/gauge";
2
+
3
+ export default function CreditsQuota() {
4
+ return (
5
+ <Gauge
6
+ title="Credits used this month"
7
+ value={41_250}
8
+ max={50_000}
9
+ format="compact"
10
+ caption="of 50K credits"
11
+ zones={[
12
+ { to: 40_000, tone: "success", label: "Within plan" },
13
+ { to: 47_500, tone: "warning", label: "Nearing the limit" },
14
+ { to: 50_000, tone: "danger", label: "At the limit" },
15
+ ]}
16
+ style={{ maxWidth: 320 }}
17
+ />
18
+ );
19
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;
@@ -0,0 +1,25 @@
1
+ "use client";
2
+
3
+ // registry/examples/gauge/native/credits-quota.tsx
4
+ import { Gauge } from "@krizaka/charts/native";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function CreditsQuota() {
7
+ return /* @__PURE__ */ jsx(
8
+ Gauge,
9
+ {
10
+ title: "Credits used this month",
11
+ value: 41250,
12
+ max: 5e4,
13
+ format: "compact",
14
+ caption: "of 50K credits",
15
+ zones: [
16
+ { to: 4e4, tone: "success" },
17
+ { to: 47500, tone: "warning" },
18
+ { to: 5e4, tone: "danger" }
19
+ ]
20
+ }
21
+ );
22
+ }
23
+ export {
24
+ CreditsQuota as default
25
+ };
@@ -0,0 +1,18 @@
1
+ import { Gauge } from "@krizaka/charts/native";
2
+
3
+ export default function CreditsQuota() {
4
+ return (
5
+ <Gauge
6
+ title="Credits used this month"
7
+ value={41_250}
8
+ max={50_000}
9
+ format="compact"
10
+ caption="of 50K credits"
11
+ zones={[
12
+ { to: 40_000, tone: "success" },
13
+ { to: 47_500, tone: "warning" },
14
+ { to: 50_000, tone: "danger" },
15
+ ]}
16
+ />
17
+ );
18
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;
@@ -0,0 +1,43 @@
1
+ "use client";
2
+
3
+ // registry/examples/geo-map/viewers.tsx
4
+ import { GeoMap } from "@krizaka/charts/geo";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var countries = [
7
+ { code: "FR", viewers: 48200 },
8
+ { code: "CA", viewers: 31500 },
9
+ { code: "BE", viewers: 9800 },
10
+ { code: "CH", viewers: 7400 },
11
+ { code: "MA", viewers: 12900 },
12
+ { code: "SN", viewers: 6100 },
13
+ { code: "US", viewers: 15300 },
14
+ { code: "DE", viewers: 4200 },
15
+ { code: "TN", viewers: 5600 },
16
+ { code: "CI", viewers: 4900 },
17
+ { code: "BR", viewers: 2300 },
18
+ { code: "JP", viewers: 1800 }
19
+ ];
20
+ var cities = [
21
+ { label: "Paris", lon: 2.35, lat: 48.86, value: 21400 },
22
+ { label: "Montr\xE9al", lon: -73.57, lat: 45.5, value: 17800 },
23
+ { label: "Casablanca", lon: -7.59, lat: 33.57, value: 6300 },
24
+ { label: "Dakar", lon: -17.45, lat: 14.69, value: 3900 }
25
+ ];
26
+ function Viewers() {
27
+ return /* @__PURE__ */ jsx(
28
+ GeoMap,
29
+ {
30
+ title: "Viewers by country, last 90 days",
31
+ data: countries,
32
+ region: "code",
33
+ value: "viewers",
34
+ points: cities,
35
+ format: "compact",
36
+ regionLabel: "Country",
37
+ valueLabel: "Viewers"
38
+ }
39
+ );
40
+ }
41
+ export {
42
+ Viewers as default
43
+ };
@@ -0,0 +1,29 @@
1
+ import { GeoMap } from "@krizaka/charts/geo";
2
+
3
+ const countries = [
4
+ { code: "FR", viewers: 48_200 }, { code: "CA", viewers: 31_500 }, { code: "BE", viewers: 9_800 },
5
+ { code: "CH", viewers: 7_400 }, { code: "MA", viewers: 12_900 }, { code: "SN", viewers: 6_100 },
6
+ { code: "US", viewers: 15_300 }, { code: "DE", viewers: 4_200 }, { code: "TN", viewers: 5_600 },
7
+ { code: "CI", viewers: 4_900 }, { code: "BR", viewers: 2_300 }, { code: "JP", viewers: 1_800 },
8
+ ];
9
+ const cities = [
10
+ { label: "Paris", lon: 2.35, lat: 48.86, value: 21_400 },
11
+ { label: "Montréal", lon: -73.57, lat: 45.5, value: 17_800 },
12
+ { label: "Casablanca", lon: -7.59, lat: 33.57, value: 6_300 },
13
+ { label: "Dakar", lon: -17.45, lat: 14.69, value: 3_900 },
14
+ ];
15
+
16
+ export default function Viewers() {
17
+ return (
18
+ <GeoMap
19
+ title="Viewers by country, last 90 days"
20
+ data={countries}
21
+ region="code"
22
+ value="viewers"
23
+ points={cities}
24
+ format="compact"
25
+ regionLabel="Country"
26
+ valueLabel="Viewers"
27
+ />
28
+ );
29
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;
@@ -0,0 +1,36 @@
1
+ "use client";
2
+
3
+ // registry/examples/globe/deployment-regions.tsx
4
+ import { Globe3D } from "@krizaka/charts/globe";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var regions = [
7
+ { label: "Paris \xB7 eu-west-3", lon: 2.35, lat: 48.86, value: 0.9998, tone: "success" },
8
+ { label: "Frankfurt \xB7 eu-central-1", lon: 8.68, lat: 50.11, value: 0.9995, tone: "success" },
9
+ { label: "Montr\xE9al \xB7 ca-central-1", lon: -73.57, lat: 45.5, value: 0.9991, tone: "success" },
10
+ { label: "Virginia \xB7 us-east-1", lon: -77.46, lat: 38.95, value: 0.9962, tone: "warning" },
11
+ { label: "Singapore \xB7 ap-southeast-1", lon: 103.82, lat: 1.35, value: 0.9997, tone: "success" }
12
+ ];
13
+ function DeploymentRegions() {
14
+ return /* @__PURE__ */ jsx(
15
+ Globe3D,
16
+ {
17
+ title: "Orazaka regions",
18
+ description: "Availability over 30 days \xB7 replication from Paris",
19
+ points: regions,
20
+ arcs: [
21
+ { from: regions[0].label, to: regions[1].label },
22
+ { from: regions[0].label, to: regions[2].label },
23
+ { from: regions[2].label, to: regions[3].label },
24
+ { from: regions[1].label, to: regions[4].label }
25
+ ],
26
+ regions: ["FR", "DE", "BE", "CH", "CA", "US", "SG"],
27
+ center: [-20, 40],
28
+ format: { style: "number", options: { style: "percent", maximumFractionDigits: 2 } },
29
+ pointLabel: "Region",
30
+ valueLabel: "Availability"
31
+ }
32
+ );
33
+ }
34
+ export {
35
+ DeploymentRegions as default
36
+ };
@@ -0,0 +1,30 @@
1
+ import { Globe3D } from "@krizaka/charts/globe";
2
+
3
+ const regions = [
4
+ { label: "Paris · eu-west-3", lon: 2.35, lat: 48.86, value: 0.9998, tone: "success" as const },
5
+ { label: "Frankfurt · eu-central-1", lon: 8.68, lat: 50.11, value: 0.9995, tone: "success" as const },
6
+ { label: "Montréal · ca-central-1", lon: -73.57, lat: 45.5, value: 0.9991, tone: "success" as const },
7
+ { label: "Virginia · us-east-1", lon: -77.46, lat: 38.95, value: 0.9962, tone: "warning" as const },
8
+ { label: "Singapore · ap-southeast-1", lon: 103.82, lat: 1.35, value: 0.9997, tone: "success" as const },
9
+ ];
10
+
11
+ export default function DeploymentRegions() {
12
+ return (
13
+ <Globe3D
14
+ title="Orazaka regions"
15
+ description="Availability over 30 days · replication from Paris"
16
+ points={regions}
17
+ arcs={[
18
+ { from: regions[0]!.label, to: regions[1]!.label },
19
+ { from: regions[0]!.label, to: regions[2]!.label },
20
+ { from: regions[2]!.label, to: regions[3]!.label },
21
+ { from: regions[1]!.label, to: regions[4]!.label },
22
+ ]}
23
+ regions={["FR", "DE", "BE", "CH", "CA", "US", "SG"]}
24
+ center={[-20, 40]}
25
+ format={{ style: "number", options: { style: "percent", maximumFractionDigits: 2 } }}
26
+ pointLabel="Region"
27
+ valueLabel="Availability"
28
+ />
29
+ );
30
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;
@@ -0,0 +1,30 @@
1
+ "use client";
2
+
3
+ // registry/examples/heatmap/upload-activity.tsx
4
+ import { Heatmap } from "@krizaka/charts/heatmap";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
7
+ var hours = ["00", "03", "06", "09", "12", "15", "18", "21"];
8
+ var cells = days.flatMap(
9
+ (day, d) => hours.map((hour, h) => ({ day, hour: `${hour}:00`, uploads: Math.round((h >= 5 ? 40 : h >= 3 ? 22 : 6) * (d >= 5 ? 1.6 : 1) + (d * 7 + h * 3) % 11) }))
10
+ );
11
+ function UploadActivity() {
12
+ return /* @__PURE__ */ jsx(
13
+ Heatmap,
14
+ {
15
+ title: "Uploads by day and hour",
16
+ description: "Last 4 weeks, Montr\xE9al time",
17
+ data: cells,
18
+ x: "hour",
19
+ y: "day",
20
+ value: "uploads",
21
+ yCategories: days,
22
+ xLabel: "Hour",
23
+ yLabel: "Day",
24
+ format: "integer"
25
+ }
26
+ );
27
+ }
28
+ export {
29
+ UploadActivity as default
30
+ };
@@ -0,0 +1,25 @@
1
+ import { Heatmap } from "@krizaka/charts/heatmap";
2
+
3
+ const days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
4
+ const hours = ["00", "03", "06", "09", "12", "15", "18", "21"];
5
+ // A deterministic week: evenings and weekends are busier.
6
+ const cells = days.flatMap((day, d) =>
7
+ hours.map((hour, h) => ({ day, hour: `${hour}:00`, uploads: Math.round((h >= 5 ? 40 : h >= 3 ? 22 : 6) * (d >= 5 ? 1.6 : 1) + ((d * 7 + h * 3) % 11)) })),
8
+ );
9
+
10
+ export default function UploadActivity() {
11
+ return (
12
+ <Heatmap
13
+ title="Uploads by day and hour"
14
+ description="Last 4 weeks, Montréal time"
15
+ data={cells}
16
+ x="hour"
17
+ y="day"
18
+ value="uploads"
19
+ yCategories={days}
20
+ xLabel="Hour"
21
+ yLabel="Day"
22
+ format="integer"
23
+ />
24
+ );
25
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;
@@ -0,0 +1,35 @@
1
+ "use client";
2
+
3
+ // registry/examples/line-chart/creator-earnings.tsx
4
+ import { LineChart } from "@krizaka/charts/line";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var earnings = [
7
+ { month: "2026-04", earnings: 182e3, tips: 21e3 },
8
+ { month: "2026-05", earnings: 164e3, tips: 18500 },
9
+ { month: "2026-06", earnings: 231e3, tips: 26e3 },
10
+ { month: "2026-07", earnings: 298e3, tips: 31e3 },
11
+ { month: "2026-08", earnings: 276e3, tips: 35500 },
12
+ { month: "2026-09", earnings: 342e3, tips: 41e3 }
13
+ ];
14
+ function CreatorEarnings() {
15
+ return /* @__PURE__ */ jsx(
16
+ LineChart,
17
+ {
18
+ title: "Earnings, last 6 months",
19
+ description: "Video sales and tips, before fees",
20
+ data: earnings,
21
+ x: "month",
22
+ xLabel: "Month",
23
+ series: [
24
+ { key: "earnings", label: "Video sales" },
25
+ { key: "tips", label: "Tips" }
26
+ ],
27
+ format: { style: "money", currency: "EUR" },
28
+ thresholds: [{ value: 25e4, label: "Payout threshold", tone: "success" }],
29
+ exportable: true
30
+ }
31
+ );
32
+ }
33
+ export {
34
+ CreatorEarnings as default
35
+ };
@@ -0,0 +1,30 @@
1
+ import { LineChart } from "@krizaka/charts/line";
2
+
3
+ // Amounts in cents, as the ledger stores them.
4
+ const earnings = [
5
+ { month: "2026-04", earnings: 182_000, tips: 21_000 },
6
+ { month: "2026-05", earnings: 164_000, tips: 18_500 },
7
+ { month: "2026-06", earnings: 231_000, tips: 26_000 },
8
+ { month: "2026-07", earnings: 298_000, tips: 31_000 },
9
+ { month: "2026-08", earnings: 276_000, tips: 35_500 },
10
+ { month: "2026-09", earnings: 342_000, tips: 41_000 },
11
+ ];
12
+
13
+ export default function CreatorEarnings() {
14
+ return (
15
+ <LineChart
16
+ title="Earnings, last 6 months"
17
+ description="Video sales and tips, before fees"
18
+ data={earnings}
19
+ x="month"
20
+ xLabel="Month"
21
+ series={[
22
+ { key: "earnings", label: "Video sales" },
23
+ { key: "tips", label: "Tips" },
24
+ ]}
25
+ format={{ style: "money", currency: "EUR" }}
26
+ thresholds={[{ value: 250_000, label: "Payout threshold", tone: "success" }]}
27
+ exportable
28
+ />
29
+ );
30
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/charts registry. */
3
+ declare const Example: ComponentType;
4
+ export default Example;