@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,468 @@
1
+ {
2
+ "name": "globe",
3
+ "package": "@krizaka/charts",
4
+ "type": "chart",
5
+ "title": "Globe",
6
+ "summary": "The world as a lit 3D sphere — places, great-circle arcs, tinted regions — turning slowly while on screen, dragged by hand, in SVG without WebGL.",
7
+ "description": "The world as a lit 3D sphere — places, great-circle arcs, tinted regions — turning slowly while on screen, dragged by hand, in SVG without WebGL.",
8
+ "status": "beta",
9
+ "category": "charts",
10
+ "platforms": "web",
11
+ "engine": "svg",
12
+ "whenToUse": [
13
+ "Deployment regions and their replication links, on a product or status page.",
14
+ "A global presence told at a glance, with a few places named."
15
+ ],
16
+ "whenNotToUse": [
17
+ {
18
+ "when": "Values to compare by country (half the globe is hidden).",
19
+ "use": "geo-map"
20
+ },
21
+ {
22
+ "when": "More than a dozen places: the far side hides them.",
23
+ "use": "geo-map"
24
+ }
25
+ ],
26
+ "bestPractices": [
27
+ "Name the places as a reader knows them (“Paris · eu-west-3”); give their status a tone.",
28
+ "Keep `autoRotate` for a showcase; turn it off where the reader works.",
29
+ "Use `regions` for where the service is available, not for values."
30
+ ],
31
+ "accessibility": {
32
+ "keyboard": [
33
+ {
34
+ "keys": "Arrow keys",
35
+ "action": "Walk the places: the globe turns to each one, which is announced."
36
+ },
37
+ {
38
+ "keys": "Home / End",
39
+ "action": "Jump to the first or the last place."
40
+ },
41
+ {
42
+ "keys": "Esc",
43
+ "action": "Clears the active place; the turn resumes."
44
+ }
45
+ ],
46
+ "notes": [
47
+ "The turn runs only while the globe is on screen and the page visible, never under reduced motion, and stops on focus or drag.",
48
+ "The summary and the table list every place with its value and coordinates.",
49
+ "No WebGL: the sphere is SVG (an orthographic projection), sharp at any size and exportable."
50
+ ]
51
+ },
52
+ "related": [
53
+ "geo-map",
54
+ "sankey"
55
+ ],
56
+ "source": "packages/charts/src/meta/globe.ts",
57
+ "install": {
58
+ "web": "npm install @krizaka/charts",
59
+ "native": "npx expo install react-native-svg\nnpm install @krizaka/charts"
60
+ },
61
+ "web": {
62
+ "entry": "@krizaka/charts/globe",
63
+ "import": "import { Globe3D } from \"@krizaka/charts/globe\";",
64
+ "props": [
65
+ {
66
+ "component": "Globe3D",
67
+ "description": "The world as a lit sphere: deployment regions, the arcs between them, a slow turn.",
68
+ "props": [
69
+ {
70
+ "name": "points",
71
+ "type": "readonly GlobePoint[]",
72
+ "default": null,
73
+ "description": "The places: deployment regions, data centres, audiences.",
74
+ "required": true
75
+ },
76
+ {
77
+ "name": "title",
78
+ "type": "string",
79
+ "default": null,
80
+ "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
81
+ "required": true
82
+ },
83
+ {
84
+ "name": "arcs",
85
+ "type": "readonly GlobeArc[]",
86
+ "default": null,
87
+ "description": "Great-circle arcs between places: replication, traffic.",
88
+ "required": false
89
+ },
90
+ {
91
+ "name": "autoRotate",
92
+ "type": "boolean",
93
+ "default": null,
94
+ "description": "Turn slowly while on screen (never under reduced motion). Default true.",
95
+ "required": false
96
+ },
97
+ {
98
+ "name": "brand",
99
+ "type": "BrandId",
100
+ "default": null,
101
+ "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`).",
102
+ "required": false
103
+ },
104
+ {
105
+ "name": "center",
106
+ "type": "readonly [number, number]",
107
+ "default": null,
108
+ "description": "The longitude and latitude facing the reader at first. Default: the first point.",
109
+ "required": false
110
+ },
111
+ {
112
+ "name": "className",
113
+ "type": "string",
114
+ "default": null,
115
+ "description": "A class on the figure (layout: margins, grid placement).",
116
+ "required": false
117
+ },
118
+ {
119
+ "name": "dataTable",
120
+ "type": "boolean",
121
+ "default": null,
122
+ "description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
123
+ "required": false
124
+ },
125
+ {
126
+ "name": "description",
127
+ "type": "ReactNode",
128
+ "default": null,
129
+ "description": "A sentence under the title: the period, the unit, the source.",
130
+ "required": false
131
+ },
132
+ {
133
+ "name": "empty",
134
+ "type": "ReactNode",
135
+ "default": null,
136
+ "description": "What to show when there is nothing to draw (default: the `empty` label). An `EmptyState` of\n@krizaka /ui fits.",
137
+ "required": false
138
+ },
139
+ {
140
+ "name": "error",
141
+ "type": "ReactNode",
142
+ "default": null,
143
+ "description": "The data could not be loaded: `true` says the default words, a node says yours (a retry button…).",
144
+ "required": false
145
+ },
146
+ {
147
+ "name": "exportable",
148
+ "type": "boolean | readonly ExportFormat[]",
149
+ "default": null,
150
+ "description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
151
+ "required": false
152
+ },
153
+ {
154
+ "name": "format",
155
+ "type": "ValueFormat",
156
+ "default": null,
157
+ "description": "How the points' values are written.",
158
+ "required": false
159
+ },
160
+ {
161
+ "name": "height",
162
+ "type": "number",
163
+ "default": null,
164
+ "description": "The height of the plot in pixels. Default 280 (a sparkline: 32).",
165
+ "required": false
166
+ },
167
+ {
168
+ "name": "hideTitle",
169
+ "type": "boolean",
170
+ "default": null,
171
+ "description": "Visually hide the title (it stays the chart's accessible name): a card that already has its heading.",
172
+ "required": false
173
+ },
174
+ {
175
+ "name": "id",
176
+ "type": "string",
177
+ "default": null,
178
+ "description": "The id of the figure.",
179
+ "required": false
180
+ },
181
+ {
182
+ "name": "labels",
183
+ "type": "ChartLabelsInput",
184
+ "default": null,
185
+ "description": "The words, translated: the buttons, the states, the written summary.",
186
+ "required": false
187
+ },
188
+ {
189
+ "name": "live",
190
+ "type": "boolean",
191
+ "default": null,
192
+ "description": "Streaming data (a job queue, an auction): no entrance on updates, no announcement of every new point.",
193
+ "required": false
194
+ },
195
+ {
196
+ "name": "loading",
197
+ "type": "boolean",
198
+ "default": null,
199
+ "description": "The data is on its way: a skeleton of the chart, announced once.",
200
+ "required": false
201
+ },
202
+ {
203
+ "name": "locale",
204
+ "type": "Locale",
205
+ "default": null,
206
+ "description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
207
+ "required": false
208
+ },
209
+ {
210
+ "name": "pointLabel",
211
+ "type": "string",
212
+ "default": null,
213
+ "description": "The header of the places and of their values in the table.",
214
+ "required": false
215
+ },
216
+ {
217
+ "name": "regions",
218
+ "type": "readonly string[]",
219
+ "default": null,
220
+ "description": "Countries to tint in the accent (ISO alpha-2): where the service is available.",
221
+ "required": false
222
+ },
223
+ {
224
+ "name": "style",
225
+ "type": "CSSProperties",
226
+ "default": null,
227
+ "description": "Inline style on the figure (layout only: colours come from the tokens).",
228
+ "required": false
229
+ },
230
+ {
231
+ "name": "summary",
232
+ "type": "\"hidden\" | \"visible\"",
233
+ "default": null,
234
+ "description": "The written summary: read by screen readers only (`\"hidden\"`, default), or shown under the chart (`\"visible\"`).",
235
+ "required": false
236
+ },
237
+ {
238
+ "name": "summaryText",
239
+ "type": "string",
240
+ "default": null,
241
+ "description": "Your own summary instead of the generated one (still read first by screen readers).",
242
+ "required": false
243
+ },
244
+ {
245
+ "name": "valueLabel",
246
+ "type": "string",
247
+ "default": null,
248
+ "description": "The header of the points' values (“Availability”).",
249
+ "required": false
250
+ }
251
+ ]
252
+ }
253
+ ],
254
+ "examples": [
255
+ {
256
+ "name": "deployment-regions",
257
+ "title": "Deployment regions",
258
+ "description": "Orazaka's regions, their health as tones, the replication arcs between them.",
259
+ "path": "examples/globe/deployment-regions.tsx",
260
+ "module": "@krizaka/charts/registry/examples/globe/deployment-regions",
261
+ "code": "import { Globe3D } from \"@krizaka/charts/globe\";\n\nconst regions = [\n { label: \"Paris · eu-west-3\", lon: 2.35, lat: 48.86, value: 0.9998, tone: \"success\" as const },\n { label: \"Frankfurt · eu-central-1\", lon: 8.68, lat: 50.11, value: 0.9995, tone: \"success\" as const },\n { label: \"Montréal · ca-central-1\", lon: -73.57, lat: 45.5, value: 0.9991, tone: \"success\" as const },\n { label: \"Virginia · us-east-1\", lon: -77.46, lat: 38.95, value: 0.9962, tone: \"warning\" as const },\n { label: \"Singapore · ap-southeast-1\", lon: 103.82, lat: 1.35, value: 0.9997, tone: \"success\" as const },\n];\n\nexport default function DeploymentRegions() {\n return (\n <Globe3D\n title=\"Orazaka regions\"\n description=\"Availability over 30 days · replication from Paris\"\n points={regions}\n arcs={[\n { from: regions[0]!.label, to: regions[1]!.label },\n { from: regions[0]!.label, to: regions[2]!.label },\n { from: regions[2]!.label, to: regions[3]!.label },\n { from: regions[1]!.label, to: regions[4]!.label },\n ]}\n regions={[\"FR\", \"DE\", \"BE\", \"CH\", \"CA\", \"US\", \"SG\"]}\n center={[-20, 40]}\n format={{ style: \"number\", options: { style: \"percent\", maximumFractionDigits: 2 } }}\n pointLabel=\"Region\"\n valueLabel=\"Availability\"\n />\n );\n}\n"
262
+ }
263
+ ]
264
+ },
265
+ "native": null,
266
+ "files": [],
267
+ "dependencies": [
268
+ "@krizaka/intl@workspace:^",
269
+ "d3-geo@^3.1.1",
270
+ "echarts@^6.1.0",
271
+ "topojson-client@^3.1.0"
272
+ ],
273
+ "registryDependencies": [],
274
+ "demo": {
275
+ "path": "examples/globe/deployment-regions.tsx",
276
+ "content": "import { Globe3D } from \"@krizaka/charts/globe\";\n\nconst regions = [\n { label: \"Paris · eu-west-3\", lon: 2.35, lat: 48.86, value: 0.9998, tone: \"success\" as const },\n { label: \"Frankfurt · eu-central-1\", lon: 8.68, lat: 50.11, value: 0.9995, tone: \"success\" as const },\n { label: \"Montréal · ca-central-1\", lon: -73.57, lat: 45.5, value: 0.9991, tone: \"success\" as const },\n { label: \"Virginia · us-east-1\", lon: -77.46, lat: 38.95, value: 0.9962, tone: \"warning\" as const },\n { label: \"Singapore · ap-southeast-1\", lon: 103.82, lat: 1.35, value: 0.9997, tone: \"success\" as const },\n];\n\nexport default function DeploymentRegions() {\n return (\n <Globe3D\n title=\"Orazaka regions\"\n description=\"Availability over 30 days · replication from Paris\"\n points={regions}\n arcs={[\n { from: regions[0]!.label, to: regions[1]!.label },\n { from: regions[0]!.label, to: regions[2]!.label },\n { from: regions[2]!.label, to: regions[3]!.label },\n { from: regions[1]!.label, to: regions[4]!.label },\n ]}\n regions={[\"FR\", \"DE\", \"BE\", \"CH\", \"CA\", \"US\", \"SG\"]}\n center={[-20, 40]}\n format={{ style: \"number\", options: { style: \"percent\", maximumFractionDigits: 2 } }}\n pointLabel=\"Region\"\n valueLabel=\"Availability\"\n />\n );\n}\n"
277
+ },
278
+ "props": [
279
+ {
280
+ "component": "Globe3D",
281
+ "description": "The world as a lit sphere: deployment regions, the arcs between them, a slow turn.",
282
+ "props": [
283
+ {
284
+ "name": "points",
285
+ "type": "readonly GlobePoint[]",
286
+ "default": null,
287
+ "description": "The places: deployment regions, data centres, audiences.",
288
+ "required": true
289
+ },
290
+ {
291
+ "name": "title",
292
+ "type": "string",
293
+ "default": null,
294
+ "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
295
+ "required": true
296
+ },
297
+ {
298
+ "name": "arcs",
299
+ "type": "readonly GlobeArc[]",
300
+ "default": null,
301
+ "description": "Great-circle arcs between places: replication, traffic.",
302
+ "required": false
303
+ },
304
+ {
305
+ "name": "autoRotate",
306
+ "type": "boolean",
307
+ "default": null,
308
+ "description": "Turn slowly while on screen (never under reduced motion). Default true.",
309
+ "required": false
310
+ },
311
+ {
312
+ "name": "brand",
313
+ "type": "BrandId",
314
+ "default": null,
315
+ "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`).",
316
+ "required": false
317
+ },
318
+ {
319
+ "name": "center",
320
+ "type": "readonly [number, number]",
321
+ "default": null,
322
+ "description": "The longitude and latitude facing the reader at first. Default: the first point.",
323
+ "required": false
324
+ },
325
+ {
326
+ "name": "className",
327
+ "type": "string",
328
+ "default": null,
329
+ "description": "A class on the figure (layout: margins, grid placement).",
330
+ "required": false
331
+ },
332
+ {
333
+ "name": "dataTable",
334
+ "type": "boolean",
335
+ "default": null,
336
+ "description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
337
+ "required": false
338
+ },
339
+ {
340
+ "name": "description",
341
+ "type": "ReactNode",
342
+ "default": null,
343
+ "description": "A sentence under the title: the period, the unit, the source.",
344
+ "required": false
345
+ },
346
+ {
347
+ "name": "empty",
348
+ "type": "ReactNode",
349
+ "default": null,
350
+ "description": "What to show when there is nothing to draw (default: the `empty` label). An `EmptyState` of\n@krizaka /ui fits.",
351
+ "required": false
352
+ },
353
+ {
354
+ "name": "error",
355
+ "type": "ReactNode",
356
+ "default": null,
357
+ "description": "The data could not be loaded: `true` says the default words, a node says yours (a retry button…).",
358
+ "required": false
359
+ },
360
+ {
361
+ "name": "exportable",
362
+ "type": "boolean | readonly ExportFormat[]",
363
+ "default": null,
364
+ "description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
365
+ "required": false
366
+ },
367
+ {
368
+ "name": "format",
369
+ "type": "ValueFormat",
370
+ "default": null,
371
+ "description": "How the points' values are written.",
372
+ "required": false
373
+ },
374
+ {
375
+ "name": "height",
376
+ "type": "number",
377
+ "default": null,
378
+ "description": "The height of the plot in pixels. Default 280 (a sparkline: 32).",
379
+ "required": false
380
+ },
381
+ {
382
+ "name": "hideTitle",
383
+ "type": "boolean",
384
+ "default": null,
385
+ "description": "Visually hide the title (it stays the chart's accessible name): a card that already has its heading.",
386
+ "required": false
387
+ },
388
+ {
389
+ "name": "id",
390
+ "type": "string",
391
+ "default": null,
392
+ "description": "The id of the figure.",
393
+ "required": false
394
+ },
395
+ {
396
+ "name": "labels",
397
+ "type": "ChartLabelsInput",
398
+ "default": null,
399
+ "description": "The words, translated: the buttons, the states, the written summary.",
400
+ "required": false
401
+ },
402
+ {
403
+ "name": "live",
404
+ "type": "boolean",
405
+ "default": null,
406
+ "description": "Streaming data (a job queue, an auction): no entrance on updates, no announcement of every new point.",
407
+ "required": false
408
+ },
409
+ {
410
+ "name": "loading",
411
+ "type": "boolean",
412
+ "default": null,
413
+ "description": "The data is on its way: a skeleton of the chart, announced once.",
414
+ "required": false
415
+ },
416
+ {
417
+ "name": "locale",
418
+ "type": "Locale",
419
+ "default": null,
420
+ "description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
421
+ "required": false
422
+ },
423
+ {
424
+ "name": "pointLabel",
425
+ "type": "string",
426
+ "default": null,
427
+ "description": "The header of the places and of their values in the table.",
428
+ "required": false
429
+ },
430
+ {
431
+ "name": "regions",
432
+ "type": "readonly string[]",
433
+ "default": null,
434
+ "description": "Countries to tint in the accent (ISO alpha-2): where the service is available.",
435
+ "required": false
436
+ },
437
+ {
438
+ "name": "style",
439
+ "type": "CSSProperties",
440
+ "default": null,
441
+ "description": "Inline style on the figure (layout only: colours come from the tokens).",
442
+ "required": false
443
+ },
444
+ {
445
+ "name": "summary",
446
+ "type": "\"hidden\" | \"visible\"",
447
+ "default": null,
448
+ "description": "The written summary: read by screen readers only (`\"hidden\"`, default), or shown under the chart (`\"visible\"`).",
449
+ "required": false
450
+ },
451
+ {
452
+ "name": "summaryText",
453
+ "type": "string",
454
+ "default": null,
455
+ "description": "Your own summary instead of the generated one (still read first by screen readers).",
456
+ "required": false
457
+ },
458
+ {
459
+ "name": "valueLabel",
460
+ "type": "string",
461
+ "default": null,
462
+ "description": "The header of the points' values (“Availability”).",
463
+ "required": false
464
+ }
465
+ ]
466
+ }
467
+ ]
468
+ }