@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,502 @@
1
+ {
2
+ "name": "sankey",
3
+ "package": "@krizaka/charts",
4
+ "type": "chart",
5
+ "title": "Sankey",
6
+ "summary": "Flows between stages — credits from plans to models to outcomes — with widths proportional to the amounts.",
7
+ "description": "Flows between stages — credits from plans to models to outcomes — with widths proportional to the amounts.",
8
+ "status": "beta",
9
+ "category": "charts",
10
+ "platforms": "web",
11
+ "engine": "echarts",
12
+ "whenToUse": [
13
+ "Where an amount goes, in two or three steps: credits by plan, then by model, then by outcome.",
14
+ "A journey with branches: viewers from sources to subscriptions."
15
+ ],
16
+ "whenNotToUse": [
17
+ {
18
+ "when": "A single sequence of stages that only loses people.",
19
+ "use": "funnel"
20
+ },
21
+ {
22
+ "when": "A split at one level.",
23
+ "use": "pie-chart"
24
+ }
25
+ ],
26
+ "bestPractices": [
27
+ "Keep to about a dozen nodes; group the small flows.",
28
+ "Use `vertical` on narrow screens."
29
+ ],
30
+ "accessibility": {
31
+ "keyboard": [
32
+ {
33
+ "keys": "Tab",
34
+ "action": "Moves the focus to the plot (one tab stop), then to the data and export buttons."
35
+ },
36
+ {
37
+ "keys": "Arrow keys",
38
+ "action": "Walk the items one by one: each is announced and highlighted, its tooltip shown."
39
+ },
40
+ {
41
+ "keys": "Home / End",
42
+ "action": "Jump to the first or the last item."
43
+ },
44
+ {
45
+ "keys": "Esc",
46
+ "action": "Hides the tooltip and clears the highlight."
47
+ }
48
+ ],
49
+ "notes": [
50
+ "The plot is a group named by the title and described by a summary written from the data, read before anything else.",
51
+ "The data table is always in the page for assistive technology; “Show data” reveals it for everyone.",
52
+ "The engine (ECharts core and this one chart type) loads when the chart nears the screen; a skeleton of the same height holds its place, so nothing shifts.",
53
+ "Under reduced motion the chart is drawn without animation.",
54
+ "The keyboard walks the flows; the table lists every source, target and amount."
55
+ ]
56
+ },
57
+ "related": [
58
+ "funnel",
59
+ "treemap",
60
+ "pie-chart"
61
+ ],
62
+ "source": "packages/charts/src/meta/sankey.ts",
63
+ "install": {
64
+ "web": "npm install @krizaka/charts",
65
+ "native": "npx expo install react-native-svg\nnpm install @krizaka/charts"
66
+ },
67
+ "web": {
68
+ "entry": "@krizaka/charts/sankey",
69
+ "import": "import { Sankey } from \"@krizaka/charts/sankey\";",
70
+ "props": [
71
+ {
72
+ "component": "Sankey",
73
+ "description": "",
74
+ "props": [
75
+ {
76
+ "name": "data",
77
+ "type": "readonly T[]",
78
+ "default": null,
79
+ "description": "One row per flow.",
80
+ "required": true
81
+ },
82
+ {
83
+ "name": "source",
84
+ "type": "string | ((datum: T, index: number) => string)",
85
+ "default": null,
86
+ "description": "The fields (or functions) naming where the flow comes from and where it goes.",
87
+ "required": true
88
+ },
89
+ {
90
+ "name": "target",
91
+ "type": "string | ((datum: T, index: number) => string)",
92
+ "default": null,
93
+ "description": "The field (or function) naming where the flow goes.",
94
+ "required": true
95
+ },
96
+ {
97
+ "name": "title",
98
+ "type": "string",
99
+ "default": null,
100
+ "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
101
+ "required": true
102
+ },
103
+ {
104
+ "name": "value",
105
+ "type": "string | ((datum: T, index: number) => number)",
106
+ "default": null,
107
+ "description": "The field of its amount.",
108
+ "required": true
109
+ },
110
+ {
111
+ "name": "brand",
112
+ "type": "BrandId",
113
+ "default": null,
114
+ "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`).",
115
+ "required": false
116
+ },
117
+ {
118
+ "name": "className",
119
+ "type": "string",
120
+ "default": null,
121
+ "description": "A class on the figure (layout: margins, grid placement).",
122
+ "required": false
123
+ },
124
+ {
125
+ "name": "dataTable",
126
+ "type": "boolean",
127
+ "default": null,
128
+ "description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
129
+ "required": false
130
+ },
131
+ {
132
+ "name": "description",
133
+ "type": "ReactNode",
134
+ "default": null,
135
+ "description": "A sentence under the title: the period, the unit, the source.",
136
+ "required": false
137
+ },
138
+ {
139
+ "name": "empty",
140
+ "type": "ReactNode",
141
+ "default": null,
142
+ "description": "What to show when there is nothing to draw (default: the `empty` label). An `EmptyState` of\n@krizaka /ui fits.",
143
+ "required": false
144
+ },
145
+ {
146
+ "name": "error",
147
+ "type": "ReactNode",
148
+ "default": null,
149
+ "description": "The data could not be loaded: `true` says the default words, a node says yours (a retry button…).",
150
+ "required": false
151
+ },
152
+ {
153
+ "name": "exportable",
154
+ "type": "boolean | readonly ExportFormat[]",
155
+ "default": null,
156
+ "description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
157
+ "required": false
158
+ },
159
+ {
160
+ "name": "format",
161
+ "type": "ValueFormat",
162
+ "default": null,
163
+ "description": "How the amounts are written.",
164
+ "required": false
165
+ },
166
+ {
167
+ "name": "height",
168
+ "type": "number",
169
+ "default": null,
170
+ "description": "The height of the plot in pixels. Default 280 (a sparkline: 32).",
171
+ "required": false
172
+ },
173
+ {
174
+ "name": "hideTitle",
175
+ "type": "boolean",
176
+ "default": null,
177
+ "description": "Visually hide the title (it stays the chart's accessible name): a card that already has its heading.",
178
+ "required": false
179
+ },
180
+ {
181
+ "name": "id",
182
+ "type": "string",
183
+ "default": null,
184
+ "description": "The id of the figure.",
185
+ "required": false
186
+ },
187
+ {
188
+ "name": "labels",
189
+ "type": "ChartLabelsInput",
190
+ "default": null,
191
+ "description": "The words, translated: the buttons, the states, the written summary.",
192
+ "required": false
193
+ },
194
+ {
195
+ "name": "live",
196
+ "type": "boolean",
197
+ "default": null,
198
+ "description": "Streaming data (a job queue, an auction): no entrance on updates, no announcement of every new point.",
199
+ "required": false
200
+ },
201
+ {
202
+ "name": "loading",
203
+ "type": "boolean",
204
+ "default": null,
205
+ "description": "The data is on its way: a skeleton of the chart, announced once.",
206
+ "required": false
207
+ },
208
+ {
209
+ "name": "locale",
210
+ "type": "Locale",
211
+ "default": null,
212
+ "description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
213
+ "required": false
214
+ },
215
+ {
216
+ "name": "renderer",
217
+ "type": "Renderer",
218
+ "default": null,
219
+ "description": "`svg` (default): sharp, exportable as SVG. `canvas`: for tens of thousands of marks.",
220
+ "required": false
221
+ },
222
+ {
223
+ "name": "sourceLabel",
224
+ "type": "string",
225
+ "default": null,
226
+ "description": "The headers of the data table.",
227
+ "required": false
228
+ },
229
+ {
230
+ "name": "style",
231
+ "type": "CSSProperties",
232
+ "default": null,
233
+ "description": "Inline style on the figure (layout only: colours come from the tokens).",
234
+ "required": false
235
+ },
236
+ {
237
+ "name": "summary",
238
+ "type": "\"hidden\" | \"visible\"",
239
+ "default": null,
240
+ "description": "The written summary: read by screen readers only (`\"hidden\"`, default), or shown under the chart (`\"visible\"`).",
241
+ "required": false
242
+ },
243
+ {
244
+ "name": "summaryText",
245
+ "type": "string",
246
+ "default": null,
247
+ "description": "Your own summary instead of the generated one (still read first by screen readers).",
248
+ "required": false
249
+ },
250
+ {
251
+ "name": "targetLabel",
252
+ "type": "string",
253
+ "default": null,
254
+ "description": "The header of the targets.",
255
+ "required": false
256
+ },
257
+ {
258
+ "name": "valueLabel",
259
+ "type": "string",
260
+ "default": null,
261
+ "description": "The header of the amounts.",
262
+ "required": false
263
+ },
264
+ {
265
+ "name": "vertical",
266
+ "type": "boolean",
267
+ "default": null,
268
+ "description": "Lay the stages out top to bottom (narrow screens). Default: left to right.",
269
+ "required": false
270
+ }
271
+ ]
272
+ }
273
+ ],
274
+ "examples": [
275
+ {
276
+ "name": "credit-flow",
277
+ "title": "Credit flow",
278
+ "description": "A month of Orazaka credits, from plans to models to outcomes.",
279
+ "path": "examples/sankey/credit-flow.tsx",
280
+ "module": "@krizaka/charts/registry/examples/sankey/credit-flow",
281
+ "code": "import { Sankey } from \"@krizaka/charts/sankey\";\n\n// Thousands of credits in September.\nconst flows = [\n { from: \"Pro plans\", to: \"Chat\", credits: 182 },\n { from: \"Pro plans\", to: \"Image\", credits: 64 },\n { from: \"Studio plans\", to: \"Video\", credits: 121 },\n { from: \"Studio plans\", to: \"Image\", credits: 48 },\n { from: \"Studio plans\", to: \"Chat\", credits: 37 },\n { from: \"Chat\", to: \"Delivered\", credits: 211 },\n { from: \"Chat\", to: \"Refunded\", credits: 8 },\n { from: \"Image\", to: \"Delivered\", credits: 104 },\n { from: \"Image\", to: \"Refunded\", credits: 8 },\n { from: \"Video\", to: \"Delivered\", credits: 109 },\n { from: \"Video\", to: \"Refunded\", credits: 12 },\n];\n\nexport default function CreditFlow() {\n return (\n <Sankey\n title=\"Where the credits went (k)\"\n data={flows}\n source=\"from\"\n target=\"to\"\n value=\"credits\"\n format=\"integer\"\n sourceLabel=\"From\"\n targetLabel=\"To\"\n valueLabel=\"Credits (k)\"\n />\n );\n}\n"
282
+ }
283
+ ]
284
+ },
285
+ "native": null,
286
+ "files": [],
287
+ "dependencies": [
288
+ "@krizaka/intl@workspace:^",
289
+ "d3-geo@^3.1.1",
290
+ "echarts@^6.1.0",
291
+ "topojson-client@^3.1.0"
292
+ ],
293
+ "registryDependencies": [],
294
+ "demo": {
295
+ "path": "examples/sankey/credit-flow.tsx",
296
+ "content": "import { Sankey } from \"@krizaka/charts/sankey\";\n\n// Thousands of credits in September.\nconst flows = [\n { from: \"Pro plans\", to: \"Chat\", credits: 182 },\n { from: \"Pro plans\", to: \"Image\", credits: 64 },\n { from: \"Studio plans\", to: \"Video\", credits: 121 },\n { from: \"Studio plans\", to: \"Image\", credits: 48 },\n { from: \"Studio plans\", to: \"Chat\", credits: 37 },\n { from: \"Chat\", to: \"Delivered\", credits: 211 },\n { from: \"Chat\", to: \"Refunded\", credits: 8 },\n { from: \"Image\", to: \"Delivered\", credits: 104 },\n { from: \"Image\", to: \"Refunded\", credits: 8 },\n { from: \"Video\", to: \"Delivered\", credits: 109 },\n { from: \"Video\", to: \"Refunded\", credits: 12 },\n];\n\nexport default function CreditFlow() {\n return (\n <Sankey\n title=\"Where the credits went (k)\"\n data={flows}\n source=\"from\"\n target=\"to\"\n value=\"credits\"\n format=\"integer\"\n sourceLabel=\"From\"\n targetLabel=\"To\"\n valueLabel=\"Credits (k)\"\n />\n );\n}\n"
297
+ },
298
+ "props": [
299
+ {
300
+ "component": "Sankey",
301
+ "description": "",
302
+ "props": [
303
+ {
304
+ "name": "data",
305
+ "type": "readonly T[]",
306
+ "default": null,
307
+ "description": "One row per flow.",
308
+ "required": true
309
+ },
310
+ {
311
+ "name": "source",
312
+ "type": "string | ((datum: T, index: number) => string)",
313
+ "default": null,
314
+ "description": "The fields (or functions) naming where the flow comes from and where it goes.",
315
+ "required": true
316
+ },
317
+ {
318
+ "name": "target",
319
+ "type": "string | ((datum: T, index: number) => string)",
320
+ "default": null,
321
+ "description": "The field (or function) naming where the flow goes.",
322
+ "required": true
323
+ },
324
+ {
325
+ "name": "title",
326
+ "type": "string",
327
+ "default": null,
328
+ "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
329
+ "required": true
330
+ },
331
+ {
332
+ "name": "value",
333
+ "type": "string | ((datum: T, index: number) => number)",
334
+ "default": null,
335
+ "description": "The field of its amount.",
336
+ "required": true
337
+ },
338
+ {
339
+ "name": "brand",
340
+ "type": "BrandId",
341
+ "default": null,
342
+ "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`).",
343
+ "required": false
344
+ },
345
+ {
346
+ "name": "className",
347
+ "type": "string",
348
+ "default": null,
349
+ "description": "A class on the figure (layout: margins, grid placement).",
350
+ "required": false
351
+ },
352
+ {
353
+ "name": "dataTable",
354
+ "type": "boolean",
355
+ "default": null,
356
+ "description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
357
+ "required": false
358
+ },
359
+ {
360
+ "name": "description",
361
+ "type": "ReactNode",
362
+ "default": null,
363
+ "description": "A sentence under the title: the period, the unit, the source.",
364
+ "required": false
365
+ },
366
+ {
367
+ "name": "empty",
368
+ "type": "ReactNode",
369
+ "default": null,
370
+ "description": "What to show when there is nothing to draw (default: the `empty` label). An `EmptyState` of\n@krizaka /ui fits.",
371
+ "required": false
372
+ },
373
+ {
374
+ "name": "error",
375
+ "type": "ReactNode",
376
+ "default": null,
377
+ "description": "The data could not be loaded: `true` says the default words, a node says yours (a retry button…).",
378
+ "required": false
379
+ },
380
+ {
381
+ "name": "exportable",
382
+ "type": "boolean | readonly ExportFormat[]",
383
+ "default": null,
384
+ "description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
385
+ "required": false
386
+ },
387
+ {
388
+ "name": "format",
389
+ "type": "ValueFormat",
390
+ "default": null,
391
+ "description": "How the amounts are written.",
392
+ "required": false
393
+ },
394
+ {
395
+ "name": "height",
396
+ "type": "number",
397
+ "default": null,
398
+ "description": "The height of the plot in pixels. Default 280 (a sparkline: 32).",
399
+ "required": false
400
+ },
401
+ {
402
+ "name": "hideTitle",
403
+ "type": "boolean",
404
+ "default": null,
405
+ "description": "Visually hide the title (it stays the chart's accessible name): a card that already has its heading.",
406
+ "required": false
407
+ },
408
+ {
409
+ "name": "id",
410
+ "type": "string",
411
+ "default": null,
412
+ "description": "The id of the figure.",
413
+ "required": false
414
+ },
415
+ {
416
+ "name": "labels",
417
+ "type": "ChartLabelsInput",
418
+ "default": null,
419
+ "description": "The words, translated: the buttons, the states, the written summary.",
420
+ "required": false
421
+ },
422
+ {
423
+ "name": "live",
424
+ "type": "boolean",
425
+ "default": null,
426
+ "description": "Streaming data (a job queue, an auction): no entrance on updates, no announcement of every new point.",
427
+ "required": false
428
+ },
429
+ {
430
+ "name": "loading",
431
+ "type": "boolean",
432
+ "default": null,
433
+ "description": "The data is on its way: a skeleton of the chart, announced once.",
434
+ "required": false
435
+ },
436
+ {
437
+ "name": "locale",
438
+ "type": "Locale",
439
+ "default": null,
440
+ "description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
441
+ "required": false
442
+ },
443
+ {
444
+ "name": "renderer",
445
+ "type": "Renderer",
446
+ "default": null,
447
+ "description": "`svg` (default): sharp, exportable as SVG. `canvas`: for tens of thousands of marks.",
448
+ "required": false
449
+ },
450
+ {
451
+ "name": "sourceLabel",
452
+ "type": "string",
453
+ "default": null,
454
+ "description": "The headers of the data table.",
455
+ "required": false
456
+ },
457
+ {
458
+ "name": "style",
459
+ "type": "CSSProperties",
460
+ "default": null,
461
+ "description": "Inline style on the figure (layout only: colours come from the tokens).",
462
+ "required": false
463
+ },
464
+ {
465
+ "name": "summary",
466
+ "type": "\"hidden\" | \"visible\"",
467
+ "default": null,
468
+ "description": "The written summary: read by screen readers only (`\"hidden\"`, default), or shown under the chart (`\"visible\"`).",
469
+ "required": false
470
+ },
471
+ {
472
+ "name": "summaryText",
473
+ "type": "string",
474
+ "default": null,
475
+ "description": "Your own summary instead of the generated one (still read first by screen readers).",
476
+ "required": false
477
+ },
478
+ {
479
+ "name": "targetLabel",
480
+ "type": "string",
481
+ "default": null,
482
+ "description": "The header of the targets.",
483
+ "required": false
484
+ },
485
+ {
486
+ "name": "valueLabel",
487
+ "type": "string",
488
+ "default": null,
489
+ "description": "The header of the amounts.",
490
+ "required": false
491
+ },
492
+ {
493
+ "name": "vertical",
494
+ "type": "boolean",
495
+ "default": null,
496
+ "description": "Lay the stages out top to bottom (narrow screens). Default: left to right.",
497
+ "required": false
498
+ }
499
+ ]
500
+ }
501
+ ]
502
+ }