@krizaka/charts 0.3.1 → 0.4.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 (171) hide show
  1. package/dist/actions-5VG352VZ.js +53 -0
  2. package/dist/actions-5VG352VZ.js.map +1 -0
  3. package/dist/bar.d.ts +3 -3
  4. package/dist/bar.js +7 -6
  5. package/dist/candlestick.d.ts +2 -2
  6. package/dist/candlestick.js +6 -5
  7. package/dist/card.d.ts +52 -0
  8. package/dist/card.js +19 -0
  9. package/dist/card.js.map +1 -0
  10. package/dist/{cartesian-BRhNQ3ib.d.ts → cartesian-CEY_wwe_.d.ts} +12 -2
  11. package/dist/chart.d.ts +2 -2
  12. package/dist/chart.js +5 -4
  13. package/dist/{chunk-BV4DBGN7.js → chunk-7W4T255Q.js} +4 -4
  14. package/dist/{chunk-W5ILLSPK.js → chunk-AGSSNMK5.js} +5 -5
  15. package/dist/{chunk-VKZZY2QD.js → chunk-FE4LUGAE.js} +5 -5
  16. package/dist/{chunk-ARARFMNE.js → chunk-FIQHMJZK.js} +5 -5
  17. package/dist/chunk-FIQHMJZK.js.map +1 -0
  18. package/dist/{chunk-ANUCSRUN.js → chunk-GD7TWEN3.js} +3 -3
  19. package/dist/chunk-GRRFPI27.js +89 -0
  20. package/dist/chunk-GRRFPI27.js.map +1 -0
  21. package/dist/{chunk-SLEJDQ3A.js → chunk-HH65IEUV.js} +3 -3
  22. package/dist/{chunk-OIRHLJBC.js → chunk-IJTI6VJD.js} +3 -3
  23. package/dist/{chunk-WVTIKOII.js → chunk-IURCLBUQ.js} +2 -2
  24. package/dist/{chunk-CVWSMUUB.js → chunk-JST4HJC3.js} +33 -15
  25. package/dist/chunk-JST4HJC3.js.map +1 -0
  26. package/dist/{chunk-IKQV3NSL.js → chunk-KERGFVSN.js} +3 -3
  27. package/dist/{chunk-XDDALY4C.js → chunk-KMQ7RANJ.js} +5 -5
  28. package/dist/{chunk-NCIQMRV3.js → chunk-LLUQEK5J.js} +5 -5
  29. package/dist/{chunk-AA5EWWYV.js → chunk-LZPZWBBY.js} +2 -2
  30. package/dist/{chunk-PBQV3B6O.js → chunk-MK2ZFUWM.js} +31 -16
  31. package/dist/chunk-MK2ZFUWM.js.map +1 -0
  32. package/dist/{chunk-CSSZLFLO.js → chunk-MRGMLDNS.js} +5 -5
  33. package/dist/{chunk-I3D7KUGN.js → chunk-NLTZWJLV.js} +3 -3
  34. package/dist/{chunk-PWMMXRMC.js → chunk-NV52AKHG.js} +3 -3
  35. package/dist/{chunk-MXLITIGU.js → chunk-NWJ5VDN7.js} +5 -5
  36. package/dist/{chunk-3CJHBJXA.js → chunk-OVASCEGF.js} +12 -73
  37. package/dist/chunk-OVASCEGF.js.map +1 -0
  38. package/dist/{chunk-EQLC2QVN.js → chunk-OZOAKP5F.js} +4 -4
  39. package/dist/chunk-OZOAKP5F.js.map +1 -0
  40. package/dist/{chunk-KNDHO67X.js → chunk-P2NK5L3B.js} +3 -3
  41. package/dist/{chunk-JTKR7ZWP.js → chunk-P6RS2L23.js} +140 -36
  42. package/dist/chunk-P6RS2L23.js.map +1 -0
  43. package/dist/{chunk-W5FX4TU3.js → chunk-PGD6SH5I.js} +30 -2
  44. package/dist/chunk-PGD6SH5I.js.map +1 -0
  45. package/dist/{chunk-4LBXEAGC.js → chunk-PWZHIGPO.js} +5 -5
  46. package/dist/{chunk-L2EKYWVI.js → chunk-VEOJNMPF.js} +3 -3
  47. package/dist/chunk-YHQFW2PR.js +71 -0
  48. package/dist/chunk-YHQFW2PR.js.map +1 -0
  49. package/dist/{chunk-C4MFZLJM.js → chunk-Z4T3JFNU.js} +2 -2
  50. package/dist/{chunk-EEP7PS2L.js → chunk-ZF7LVQTR.js} +3 -3
  51. package/dist/{context-BgYUymEO.d.ts → context-DNW7bJYw.d.ts} +19 -0
  52. package/dist/credits.d.ts +1 -1
  53. package/dist/credits.js +7 -6
  54. package/dist/earnings.d.ts +3 -3
  55. package/dist/earnings.js +8 -7
  56. package/dist/{frame-I7_xYGy5.d.ts → frame-B1HDNm7c.d.ts} +9 -5
  57. package/dist/funnel.d.ts +2 -2
  58. package/dist/funnel.js +6 -5
  59. package/dist/gauge.d.ts +2 -2
  60. package/dist/gauge.js +4 -3
  61. package/dist/geo.d.ts +2 -2
  62. package/dist/geo.js +5 -4
  63. package/dist/globe.d.ts +2 -2
  64. package/dist/globe.js +4 -3
  65. package/dist/goal.d.ts +2 -2
  66. package/dist/goal.js +5 -4
  67. package/dist/heatmap.d.ts +2 -2
  68. package/dist/heatmap.js +6 -5
  69. package/dist/index.d.ts +5 -3
  70. package/dist/index.js +45 -37
  71. package/dist/latency.d.ts +3 -3
  72. package/dist/latency.js +8 -7
  73. package/dist/line.d.ts +3 -3
  74. package/dist/line.js +7 -6
  75. package/dist/native.d.ts +19 -0
  76. package/dist/native.js +13 -1
  77. package/dist/native.js.map +1 -1
  78. package/dist/pie.d.ts +2 -2
  79. package/dist/pie.js +6 -5
  80. package/dist/provider.d.ts +2 -2
  81. package/dist/provider.js +4 -2
  82. package/dist/radar.d.ts +2 -2
  83. package/dist/radar.js +6 -5
  84. package/dist/sankey.d.ts +2 -2
  85. package/dist/sankey.js +6 -5
  86. package/dist/scatter.d.ts +2 -2
  87. package/dist/scatter.js +6 -5
  88. package/dist/sparkline.d.ts +2 -2
  89. package/dist/sparkline.js +6 -5
  90. package/dist/table-sheet-CQBIAV5N.js +36 -0
  91. package/dist/table-sheet-CQBIAV5N.js.map +1 -0
  92. package/dist/throughput.d.ts +3 -3
  93. package/dist/throughput.js +8 -7
  94. package/dist/ticker.d.ts +3 -3
  95. package/dist/ticker.js +8 -7
  96. package/dist/treemap.d.ts +2 -2
  97. package/dist/treemap.js +7 -6
  98. package/package.json +292 -50
  99. package/registry/area-chart.json +82 -12
  100. package/registry/bar-chart.json +82 -12
  101. package/registry/calendar-heatmap.json +46 -18
  102. package/registry/candlestick.json +46 -18
  103. package/registry/chart-card.json +235 -0
  104. package/registry/chart.json +40 -12
  105. package/registry/charts-provider.json +2 -2
  106. package/registry/earnings-chart.json +82 -12
  107. package/registry/examples/chart-card/before-after.d.ts +4 -0
  108. package/registry/examples/chart-card/before-after.js +22 -0
  109. package/registry/examples/chart-card/before-after.tsx +22 -0
  110. package/registry/examples/chart-card/jobs-activity.d.ts +4 -0
  111. package/registry/examples/chart-card/jobs-activity.js +20 -0
  112. package/registry/examples/chart-card/jobs-activity.tsx +20 -0
  113. package/registry/examples/chart-card/sparse-and-empty.d.ts +4 -0
  114. package/registry/examples/chart-card/sparse-and-empty.js +16 -0
  115. package/registry/examples/chart-card/sparse-and-empty.tsx +18 -0
  116. package/registry/examples/chart-card/usage-donut.d.ts +4 -0
  117. package/registry/examples/chart-card/usage-donut.js +18 -0
  118. package/registry/examples/chart-card/usage-donut.tsx +18 -0
  119. package/registry/examples/charts-provider/french-orazaka.js +1 -1
  120. package/registry/examples/charts-provider/french-orazaka.tsx +1 -1
  121. package/registry/examples/kpi-stat/dashboard-row.d.ts +4 -0
  122. package/registry/examples/kpi-stat/dashboard-row.js +19 -0
  123. package/registry/examples/kpi-stat/dashboard-row.tsx +17 -0
  124. package/registry/examples/kpi-stat/single.d.ts +4 -0
  125. package/registry/examples/kpi-stat/single.js +11 -0
  126. package/registry/examples/kpi-stat/single.tsx +6 -0
  127. package/registry/funnel.json +46 -18
  128. package/registry/gauge.json +42 -14
  129. package/registry/geo-map.json +46 -18
  130. package/registry/globe.json +40 -12
  131. package/registry/goal-progress.json +36 -8
  132. package/registry/heatmap.json +46 -18
  133. package/registry/index.json +49 -1
  134. package/registry/job-throughput.json +82 -12
  135. package/registry/kpi-stat.json +296 -0
  136. package/registry/latency-chart.json +82 -12
  137. package/registry/line-chart.json +82 -12
  138. package/registry/pie-chart.json +92 -36
  139. package/registry/price-ticker.json +82 -12
  140. package/registry/radar-chart.json +46 -18
  141. package/registry/sankey.json +46 -18
  142. package/registry/scatter-chart.json +46 -18
  143. package/registry/sparkline.json +38 -10
  144. package/registry/treemap.json +40 -12
  145. package/dist/chunk-3CJHBJXA.js.map +0 -1
  146. package/dist/chunk-ARARFMNE.js.map +0 -1
  147. package/dist/chunk-CVWSMUUB.js.map +0 -1
  148. package/dist/chunk-EQLC2QVN.js.map +0 -1
  149. package/dist/chunk-JTKR7ZWP.js.map +0 -1
  150. package/dist/chunk-PBQV3B6O.js.map +0 -1
  151. package/dist/chunk-W5FX4TU3.js.map +0 -1
  152. /package/dist/{chunk-BV4DBGN7.js.map → chunk-7W4T255Q.js.map} +0 -0
  153. /package/dist/{chunk-W5ILLSPK.js.map → chunk-AGSSNMK5.js.map} +0 -0
  154. /package/dist/{chunk-VKZZY2QD.js.map → chunk-FE4LUGAE.js.map} +0 -0
  155. /package/dist/{chunk-ANUCSRUN.js.map → chunk-GD7TWEN3.js.map} +0 -0
  156. /package/dist/{chunk-SLEJDQ3A.js.map → chunk-HH65IEUV.js.map} +0 -0
  157. /package/dist/{chunk-OIRHLJBC.js.map → chunk-IJTI6VJD.js.map} +0 -0
  158. /package/dist/{chunk-WVTIKOII.js.map → chunk-IURCLBUQ.js.map} +0 -0
  159. /package/dist/{chunk-IKQV3NSL.js.map → chunk-KERGFVSN.js.map} +0 -0
  160. /package/dist/{chunk-XDDALY4C.js.map → chunk-KMQ7RANJ.js.map} +0 -0
  161. /package/dist/{chunk-NCIQMRV3.js.map → chunk-LLUQEK5J.js.map} +0 -0
  162. /package/dist/{chunk-AA5EWWYV.js.map → chunk-LZPZWBBY.js.map} +0 -0
  163. /package/dist/{chunk-CSSZLFLO.js.map → chunk-MRGMLDNS.js.map} +0 -0
  164. /package/dist/{chunk-I3D7KUGN.js.map → chunk-NLTZWJLV.js.map} +0 -0
  165. /package/dist/{chunk-PWMMXRMC.js.map → chunk-NV52AKHG.js.map} +0 -0
  166. /package/dist/{chunk-MXLITIGU.js.map → chunk-NWJ5VDN7.js.map} +0 -0
  167. /package/dist/{chunk-KNDHO67X.js.map → chunk-P2NK5L3B.js.map} +0 -0
  168. /package/dist/{chunk-4LBXEAGC.js.map → chunk-PWZHIGPO.js.map} +0 -0
  169. /package/dist/{chunk-L2EKYWVI.js.map → chunk-VEOJNMPF.js.map} +0 -0
  170. /package/dist/{chunk-C4MFZLJM.js.map → chunk-Z4T3JFNU.js.map} +0 -0
  171. /package/dist/{chunk-EEP7PS2L.js.map → chunk-ZF7LVQTR.js.map} +0 -0
@@ -0,0 +1,296 @@
1
+ {
2
+ "name": "kpi-stat",
3
+ "package": "@krizaka/charts",
4
+ "type": "chart",
5
+ "title": "KPI stat",
6
+ "summary": "A key figure with its change against the previous period and a sparkline of the period, on the kit's Stat.",
7
+ "description": "A key figure with its change against the previous period and a sparkline of the period, on the kit's Stat.",
8
+ "status": "beta",
9
+ "category": "charts",
10
+ "platforms": "web",
11
+ "engine": null,
12
+ "tier": "ready-made",
13
+ "whenToUse": [
14
+ "The head of a dashboard: jobs, success rate, time to a result, spend.",
15
+ "Anywhere a figure needs its direction and its shape at a glance."
16
+ ],
17
+ "whenNotToUse": [
18
+ {
19
+ "when": "A chart the reader will explore.",
20
+ "use": "line-chart"
21
+ },
22
+ {
23
+ "when": "A value against a limit.",
24
+ "use": "gauge"
25
+ }
26
+ ],
27
+ "bestPractices": [
28
+ "Pass `previous` and the trend is computed and written in words; the arrow is only decoration.",
29
+ "Use `good=down` for latency, failures and spend: the arrow's colour says whether the change is good news.",
30
+ "Put several in a `StatGrid` of the kit: they wrap with the width."
31
+ ],
32
+ "accessibility": {
33
+ "keyboard": [],
34
+ "notes": [
35
+ "The change is written (`+24 % vs previous period`), never colour or arrow alone.",
36
+ "The sparkline has its own accessible summary; the figure is read as text."
37
+ ]
38
+ },
39
+ "related": [
40
+ "chart-card",
41
+ "sparkline",
42
+ "gauge"
43
+ ],
44
+ "source": "packages/charts/src/meta/kpi-stat.ts",
45
+ "install": {
46
+ "web": "npm install @krizaka/charts",
47
+ "native": "npx expo install react-native-svg\nnpm install @krizaka/charts"
48
+ },
49
+ "web": {
50
+ "entry": "@krizaka/charts/card",
51
+ "import": "import { KpiStat } from \"@krizaka/charts/card\";",
52
+ "props": [
53
+ {
54
+ "component": "KpiStat",
55
+ "description": "A key figure, its change against the previous period and the shape of the period.",
56
+ "props": [
57
+ {
58
+ "name": "label",
59
+ "type": "string",
60
+ "default": null,
61
+ "description": "What the figure is (“Jobs”).",
62
+ "required": true
63
+ },
64
+ {
65
+ "name": "value",
66
+ "type": "number",
67
+ "default": null,
68
+ "description": "The figure for the period.",
69
+ "required": true
70
+ },
71
+ {
72
+ "name": "brand",
73
+ "type": "BrandId",
74
+ "default": null,
75
+ "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`).",
76
+ "required": false
77
+ },
78
+ {
79
+ "name": "categories",
80
+ "type": "readonly unknown[]",
81
+ "default": null,
82
+ "description": "The labels of `data` (dates), for the sparkline's summary and table.",
83
+ "required": false
84
+ },
85
+ {
86
+ "name": "color",
87
+ "type": "SeriesColor",
88
+ "default": null,
89
+ "description": "The sparkline's colour. Default: the brand's.",
90
+ "required": false
91
+ },
92
+ {
93
+ "name": "data",
94
+ "type": "readonly (number | null)[]",
95
+ "default": null,
96
+ "description": "The shape of the period, oldest first (`null` for a gap). Without it, no sparkline.",
97
+ "required": false
98
+ },
99
+ {
100
+ "name": "format",
101
+ "type": "ValueFormat",
102
+ "default": null,
103
+ "description": "How it is written. Default `\"number\"`.",
104
+ "required": false
105
+ },
106
+ {
107
+ "name": "good",
108
+ "type": "\"up\" | \"down\"",
109
+ "default": "up",
110
+ "description": "Which direction is good news. Default `\"up\"`; `\"down\"` for latency, failures, spend.",
111
+ "required": false
112
+ },
113
+ {
114
+ "name": "hint",
115
+ "type": "ReactNode",
116
+ "default": null,
117
+ "description": "A line under the value: the period, the comparison.",
118
+ "required": false
119
+ },
120
+ {
121
+ "name": "labels",
122
+ "type": "ChartLabelsInput",
123
+ "default": null,
124
+ "description": "The words, translated: the buttons, the states, the written summary.",
125
+ "required": false
126
+ },
127
+ {
128
+ "name": "locale",
129
+ "type": "Locale",
130
+ "default": null,
131
+ "description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
132
+ "required": false
133
+ },
134
+ {
135
+ "name": "previous",
136
+ "type": "number",
137
+ "default": null,
138
+ "description": "The same figure for the previous period: the trend is computed from it.",
139
+ "required": false
140
+ },
141
+ {
142
+ "name": "trendLabel",
143
+ "type": "ReactNode",
144
+ "default": null,
145
+ "description": "Your own words for the change instead of “+12 % vs previous period”.",
146
+ "required": false
147
+ },
148
+ {
149
+ "name": "variant",
150
+ "type": "\"area\" | \"line\" | \"bar\"",
151
+ "default": "area",
152
+ "description": "`bar` for discrete counts (jobs per day), `area` (default) or `line`.",
153
+ "required": false
154
+ }
155
+ ]
156
+ }
157
+ ],
158
+ "examples": [
159
+ {
160
+ "name": "dashboard-row",
161
+ "title": "A dashboard row",
162
+ "description": "Four figures in a StatGrid, with sparklines and trends.",
163
+ "path": "examples/kpi-stat/dashboard-row.tsx",
164
+ "module": "@krizaka/charts/registry/examples/kpi-stat/dashboard-row",
165
+ "code": "import { KpiStat } from \"@krizaka/charts/card\";\nimport { StatGrid } from \"@krizaka/ui/stat\";\n\nconst jobs = [12, 18, 9, 22, 31, 27, 35, 41];\nconst minutes = [4.2, 4.6, 5.1, 4.4, 3.9, 3.7, 3.5, 3.2];\n\n// The head of a dashboard: each figure with its change against the previous period and the shape of the period.\nexport default function DashboardRow() {\n return (\n <StatGrid>\n <KpiStat label=\"Jobs\" value={195} previous={157} data={jobs} variant=\"bar\" hint=\"last 8 days\" />\n <KpiStat label=\"Success rate\" value={0.94} previous={0.91} format=\"percent\" hint=\"completed / all\" />\n <KpiStat label=\"Median time\" value={3.2} previous={4.2} good=\"down\" data={minutes} format={{ style: \"unit\", unit: \"minute\" }} hint=\"to a result\" />\n <KpiStat label=\"Credits spent\" value={1240} previous={1100} good=\"down\" format=\"integer\" hint=\"this period\" />\n </StatGrid>\n );\n}\n"
166
+ },
167
+ {
168
+ "name": "single",
169
+ "title": "One figure",
170
+ "description": "A rise in latency is bad: good=down.",
171
+ "path": "examples/kpi-stat/single.tsx",
172
+ "module": "@krizaka/charts/registry/examples/kpi-stat/single",
173
+ "code": "import { KpiStat } from \"@krizaka/charts/card\";\n\n// A rise in latency is bad news: good=\"down\" makes the arrow say so.\nexport default function Single() {\n return <KpiStat label=\"Time to a result\" value={48} previous={31} good=\"down\" format={{ style: \"unit\", unit: \"second\" }} data={[31, 29, 35, 38, 41, 44, 48]} hint=\"median, last 7 days\" />;\n}\n"
174
+ }
175
+ ]
176
+ },
177
+ "native": null,
178
+ "files": [],
179
+ "dependencies": [
180
+ "@krizaka/intl@workspace:^",
181
+ "d3-geo@^3.1.1",
182
+ "echarts@^6.1.0",
183
+ "topojson-client@^3.1.0"
184
+ ],
185
+ "registryDependencies": [],
186
+ "demo": {
187
+ "path": "examples/kpi-stat/dashboard-row.tsx",
188
+ "content": "import { KpiStat } from \"@krizaka/charts/card\";\nimport { StatGrid } from \"@krizaka/ui/stat\";\n\nconst jobs = [12, 18, 9, 22, 31, 27, 35, 41];\nconst minutes = [4.2, 4.6, 5.1, 4.4, 3.9, 3.7, 3.5, 3.2];\n\n// The head of a dashboard: each figure with its change against the previous period and the shape of the period.\nexport default function DashboardRow() {\n return (\n <StatGrid>\n <KpiStat label=\"Jobs\" value={195} previous={157} data={jobs} variant=\"bar\" hint=\"last 8 days\" />\n <KpiStat label=\"Success rate\" value={0.94} previous={0.91} format=\"percent\" hint=\"completed / all\" />\n <KpiStat label=\"Median time\" value={3.2} previous={4.2} good=\"down\" data={minutes} format={{ style: \"unit\", unit: \"minute\" }} hint=\"to a result\" />\n <KpiStat label=\"Credits spent\" value={1240} previous={1100} good=\"down\" format=\"integer\" hint=\"this period\" />\n </StatGrid>\n );\n}\n"
189
+ },
190
+ "props": [
191
+ {
192
+ "component": "KpiStat",
193
+ "description": "A key figure, its change against the previous period and the shape of the period.",
194
+ "props": [
195
+ {
196
+ "name": "label",
197
+ "type": "string",
198
+ "default": null,
199
+ "description": "What the figure is (“Jobs”).",
200
+ "required": true
201
+ },
202
+ {
203
+ "name": "value",
204
+ "type": "number",
205
+ "default": null,
206
+ "description": "The figure for the period.",
207
+ "required": true
208
+ },
209
+ {
210
+ "name": "brand",
211
+ "type": "BrandId",
212
+ "default": null,
213
+ "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`).",
214
+ "required": false
215
+ },
216
+ {
217
+ "name": "categories",
218
+ "type": "readonly unknown[]",
219
+ "default": null,
220
+ "description": "The labels of `data` (dates), for the sparkline's summary and table.",
221
+ "required": false
222
+ },
223
+ {
224
+ "name": "color",
225
+ "type": "SeriesColor",
226
+ "default": null,
227
+ "description": "The sparkline's colour. Default: the brand's.",
228
+ "required": false
229
+ },
230
+ {
231
+ "name": "data",
232
+ "type": "readonly (number | null)[]",
233
+ "default": null,
234
+ "description": "The shape of the period, oldest first (`null` for a gap). Without it, no sparkline.",
235
+ "required": false
236
+ },
237
+ {
238
+ "name": "format",
239
+ "type": "ValueFormat",
240
+ "default": null,
241
+ "description": "How it is written. Default `\"number\"`.",
242
+ "required": false
243
+ },
244
+ {
245
+ "name": "good",
246
+ "type": "\"up\" | \"down\"",
247
+ "default": "up",
248
+ "description": "Which direction is good news. Default `\"up\"`; `\"down\"` for latency, failures, spend.",
249
+ "required": false
250
+ },
251
+ {
252
+ "name": "hint",
253
+ "type": "ReactNode",
254
+ "default": null,
255
+ "description": "A line under the value: the period, the comparison.",
256
+ "required": false
257
+ },
258
+ {
259
+ "name": "labels",
260
+ "type": "ChartLabelsInput",
261
+ "default": null,
262
+ "description": "The words, translated: the buttons, the states, the written summary.",
263
+ "required": false
264
+ },
265
+ {
266
+ "name": "locale",
267
+ "type": "Locale",
268
+ "default": null,
269
+ "description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
270
+ "required": false
271
+ },
272
+ {
273
+ "name": "previous",
274
+ "type": "number",
275
+ "default": null,
276
+ "description": "The same figure for the previous period: the trend is computed from it.",
277
+ "required": false
278
+ },
279
+ {
280
+ "name": "trendLabel",
281
+ "type": "ReactNode",
282
+ "default": null,
283
+ "description": "Your own words for the change instead of “+12 % vs previous period”.",
284
+ "required": false
285
+ },
286
+ {
287
+ "name": "variant",
288
+ "type": "\"area\" | \"line\" | \"bar\"",
289
+ "default": "area",
290
+ "description": "`bar` for discrete counts (jobs per day), `area` (default) or `line`.",
291
+ "required": false
292
+ }
293
+ ]
294
+ }
295
+ ]
296
+ }
@@ -72,11 +72,18 @@
72
72
  "required": true
73
73
  },
74
74
  {
75
- "name": "title",
76
- "type": "string",
75
+ "name": "actionsMenu",
76
+ "type": "boolean",
77
77
  "default": null,
78
- "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
79
- "required": true
78
+ "description": "The ⋯ actions menu of the kit. `false`: the former “Show data” and export buttons, drawn in line. Default true.",
79
+ "required": false
80
+ },
81
+ {
82
+ "name": "autoRange",
83
+ "type": "boolean",
84
+ "default": null,
85
+ "description": "Zoom the time axis on the period that has data: the empty days before the first and after the last value are\nleft out (never fewer than `minPoints`), and a sparse period says so under the chart instead of drawing 13 empty\ndays around one bar. Default false.",
86
+ "required": false
80
87
  },
81
88
  {
82
89
  "name": "brand",
@@ -96,7 +103,7 @@
96
103
  "name": "dataTable",
97
104
  "type": "boolean",
98
105
  "default": null,
99
- "description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
106
+ "description": "“View as table” in the actions menu (the table is in the page for screen readers either way). Default true.",
100
107
  "required": false
101
108
  },
102
109
  {
@@ -124,7 +131,14 @@
124
131
  "name": "exportable",
125
132
  "type": "boolean | readonly ExportFormat[]",
126
133
  "default": null,
127
- "description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
134
+ "description": "The downloads of the actions menu: all three by default, or the formats you want, or `false` for none.",
135
+ "required": false
136
+ },
137
+ {
138
+ "name": "filterable",
139
+ "type": "boolean",
140
+ "default": null,
141
+ "description": "The legend chips switch the series on and off. Default true.",
128
142
  "required": false
129
143
  },
130
144
  {
@@ -155,6 +169,13 @@
155
169
  "description": "The id of the figure.",
156
170
  "required": false
157
171
  },
172
+ {
173
+ "name": "insight",
174
+ "type": "ReactNode",
175
+ "default": null,
176
+ "description": "One line that says what the chart shows, between the title and the chart: “100 jobs · +100 % vs last week”.",
177
+ "required": false
178
+ },
158
179
  {
159
180
  "name": "labels",
160
181
  "type": "Partial<LatencyLabels>",
@@ -197,6 +218,13 @@
197
218
  "description": "Vertical markers at a category: a launch, an incident.",
198
219
  "required": false
199
220
  },
221
+ {
222
+ "name": "minPoints",
223
+ "type": "number",
224
+ "default": null,
225
+ "description": "With `autoRange`, the fewest categories to keep so a short burst still has a time scale. Default 7.",
226
+ "required": false
227
+ },
200
228
  {
201
229
  "name": "objective",
202
230
  "type": "{ readonly value: number; readonly label: string; }",
@@ -246,6 +274,13 @@
246
274
  "description": "Your own summary instead of the generated one (still read first by screen readers).",
247
275
  "required": false
248
276
  },
277
+ {
278
+ "name": "title",
279
+ "type": "string",
280
+ "default": null,
281
+ "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`. Inside a `ChartCard`, the card's title is the default.",
282
+ "required": false
283
+ },
249
284
  {
250
285
  "name": "vertical",
251
286
  "type": "boolean",
@@ -463,11 +498,18 @@
463
498
  "required": true
464
499
  },
465
500
  {
466
- "name": "title",
467
- "type": "string",
501
+ "name": "actionsMenu",
502
+ "type": "boolean",
468
503
  "default": null,
469
- "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
470
- "required": true
504
+ "description": "The ⋯ actions menu of the kit. `false`: the former “Show data” and export buttons, drawn in line. Default true.",
505
+ "required": false
506
+ },
507
+ {
508
+ "name": "autoRange",
509
+ "type": "boolean",
510
+ "default": null,
511
+ "description": "Zoom the time axis on the period that has data: the empty days before the first and after the last value are\nleft out (never fewer than `minPoints`), and a sparse period says so under the chart instead of drawing 13 empty\ndays around one bar. Default false.",
512
+ "required": false
471
513
  },
472
514
  {
473
515
  "name": "brand",
@@ -487,7 +529,7 @@
487
529
  "name": "dataTable",
488
530
  "type": "boolean",
489
531
  "default": null,
490
- "description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
532
+ "description": "“View as table” in the actions menu (the table is in the page for screen readers either way). Default true.",
491
533
  "required": false
492
534
  },
493
535
  {
@@ -515,7 +557,14 @@
515
557
  "name": "exportable",
516
558
  "type": "boolean | readonly ExportFormat[]",
517
559
  "default": null,
518
- "description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
560
+ "description": "The downloads of the actions menu: all three by default, or the formats you want, or `false` for none.",
561
+ "required": false
562
+ },
563
+ {
564
+ "name": "filterable",
565
+ "type": "boolean",
566
+ "default": null,
567
+ "description": "The legend chips switch the series on and off. Default true.",
519
568
  "required": false
520
569
  },
521
570
  {
@@ -546,6 +595,13 @@
546
595
  "description": "The id of the figure.",
547
596
  "required": false
548
597
  },
598
+ {
599
+ "name": "insight",
600
+ "type": "ReactNode",
601
+ "default": null,
602
+ "description": "One line that says what the chart shows, between the title and the chart: “100 jobs · +100 % vs last week”.",
603
+ "required": false
604
+ },
549
605
  {
550
606
  "name": "labels",
551
607
  "type": "Partial<LatencyLabels>",
@@ -588,6 +644,13 @@
588
644
  "description": "Vertical markers at a category: a launch, an incident.",
589
645
  "required": false
590
646
  },
647
+ {
648
+ "name": "minPoints",
649
+ "type": "number",
650
+ "default": null,
651
+ "description": "With `autoRange`, the fewest categories to keep so a short burst still has a time scale. Default 7.",
652
+ "required": false
653
+ },
591
654
  {
592
655
  "name": "objective",
593
656
  "type": "{ readonly value: number; readonly label: string; }",
@@ -637,6 +700,13 @@
637
700
  "description": "Your own summary instead of the generated one (still read first by screen readers).",
638
701
  "required": false
639
702
  },
703
+ {
704
+ "name": "title",
705
+ "type": "string",
706
+ "default": null,
707
+ "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`. Inside a `ChartCard`, the card's title is the default.",
708
+ "required": false
709
+ },
640
710
  {
641
711
  "name": "vertical",
642
712
  "type": "boolean",
@@ -93,11 +93,18 @@
93
93
  "required": true
94
94
  },
95
95
  {
96
- "name": "title",
97
- "type": "string",
96
+ "name": "actionsMenu",
97
+ "type": "boolean",
98
98
  "default": null,
99
- "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
100
- "required": true
99
+ "description": "The ⋯ actions menu of the kit. `false`: the former “Show data” and export buttons, drawn in line. Default true.",
100
+ "required": false
101
+ },
102
+ {
103
+ "name": "autoRange",
104
+ "type": "boolean",
105
+ "default": null,
106
+ "description": "Zoom the time axis on the period that has data: the empty days before the first and after the last value are\nleft out (never fewer than `minPoints`), and a sparse period says so under the chart instead of drawing 13 empty\ndays around one bar. Default false.",
107
+ "required": false
101
108
  },
102
109
  {
103
110
  "name": "brand",
@@ -124,7 +131,7 @@
124
131
  "name": "dataTable",
125
132
  "type": "boolean",
126
133
  "default": null,
127
- "description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
134
+ "description": "“View as table” in the actions menu (the table is in the page for screen readers either way). Default true.",
128
135
  "required": false
129
136
  },
130
137
  {
@@ -166,7 +173,14 @@
166
173
  "name": "exportable",
167
174
  "type": "boolean | readonly ExportFormat[]",
168
175
  "default": null,
169
- "description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
176
+ "description": "The downloads of the actions menu: all three by default, or the formats you want, or `false` for none.",
177
+ "required": false
178
+ },
179
+ {
180
+ "name": "filterable",
181
+ "type": "boolean",
182
+ "default": null,
183
+ "description": "The legend chips switch the series on and off. Default true.",
170
184
  "required": false
171
185
  },
172
186
  {
@@ -197,6 +211,13 @@
197
211
  "description": "The id of the figure.",
198
212
  "required": false
199
213
  },
214
+ {
215
+ "name": "insight",
216
+ "type": "ReactNode",
217
+ "default": null,
218
+ "description": "One line that says what the chart shows, between the title and the chart: “100 jobs · +100 % vs last week”.",
219
+ "required": false
220
+ },
200
221
  {
201
222
  "name": "labels",
202
223
  "type": "ChartLabelsInput",
@@ -239,6 +260,13 @@
239
260
  "description": "Vertical markers at a category: a launch, an incident.",
240
261
  "required": false
241
262
  },
263
+ {
264
+ "name": "minPoints",
265
+ "type": "number",
266
+ "default": null,
267
+ "description": "With `autoRange`, the fewest categories to keep so a short burst still has a time scale. Default 7.",
268
+ "required": false
269
+ },
242
270
  {
243
271
  "name": "onSelect",
244
272
  "type": "((datum: T, index: number) => void)",
@@ -281,6 +309,13 @@
281
309
  "description": "Horizontal lines at a value: a goal, a payout threshold.",
282
310
  "required": false
283
311
  },
312
+ {
313
+ "name": "title",
314
+ "type": "string",
315
+ "default": null,
316
+ "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`. Inside a `ChartCard`, the card's title is the default.",
317
+ "required": false
318
+ },
284
319
  {
285
320
  "name": "x",
286
321
  "type": "string | ((datum: T, index: number) => unknown)",
@@ -557,11 +592,18 @@
557
592
  "required": true
558
593
  },
559
594
  {
560
- "name": "title",
561
- "type": "string",
595
+ "name": "actionsMenu",
596
+ "type": "boolean",
562
597
  "default": null,
563
- "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
564
- "required": true
598
+ "description": "The ⋯ actions menu of the kit. `false`: the former “Show data” and export buttons, drawn in line. Default true.",
599
+ "required": false
600
+ },
601
+ {
602
+ "name": "autoRange",
603
+ "type": "boolean",
604
+ "default": null,
605
+ "description": "Zoom the time axis on the period that has data: the empty days before the first and after the last value are\nleft out (never fewer than `minPoints`), and a sparse period says so under the chart instead of drawing 13 empty\ndays around one bar. Default false.",
606
+ "required": false
565
607
  },
566
608
  {
567
609
  "name": "brand",
@@ -588,7 +630,7 @@
588
630
  "name": "dataTable",
589
631
  "type": "boolean",
590
632
  "default": null,
591
- "description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
633
+ "description": "“View as table” in the actions menu (the table is in the page for screen readers either way). Default true.",
592
634
  "required": false
593
635
  },
594
636
  {
@@ -630,7 +672,14 @@
630
672
  "name": "exportable",
631
673
  "type": "boolean | readonly ExportFormat[]",
632
674
  "default": null,
633
- "description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
675
+ "description": "The downloads of the actions menu: all three by default, or the formats you want, or `false` for none.",
676
+ "required": false
677
+ },
678
+ {
679
+ "name": "filterable",
680
+ "type": "boolean",
681
+ "default": null,
682
+ "description": "The legend chips switch the series on and off. Default true.",
634
683
  "required": false
635
684
  },
636
685
  {
@@ -661,6 +710,13 @@
661
710
  "description": "The id of the figure.",
662
711
  "required": false
663
712
  },
713
+ {
714
+ "name": "insight",
715
+ "type": "ReactNode",
716
+ "default": null,
717
+ "description": "One line that says what the chart shows, between the title and the chart: “100 jobs · +100 % vs last week”.",
718
+ "required": false
719
+ },
664
720
  {
665
721
  "name": "labels",
666
722
  "type": "ChartLabelsInput",
@@ -703,6 +759,13 @@
703
759
  "description": "Vertical markers at a category: a launch, an incident.",
704
760
  "required": false
705
761
  },
762
+ {
763
+ "name": "minPoints",
764
+ "type": "number",
765
+ "default": null,
766
+ "description": "With `autoRange`, the fewest categories to keep so a short burst still has a time scale. Default 7.",
767
+ "required": false
768
+ },
706
769
  {
707
770
  "name": "onSelect",
708
771
  "type": "((datum: T, index: number) => void)",
@@ -745,6 +808,13 @@
745
808
  "description": "Horizontal lines at a value: a goal, a payout threshold.",
746
809
  "required": false
747
810
  },
811
+ {
812
+ "name": "title",
813
+ "type": "string",
814
+ "default": null,
815
+ "description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`. Inside a `ChartCard`, the card's title is the default.",
816
+ "required": false
817
+ },
748
818
  {
749
819
  "name": "x",
750
820
  "type": "string | ((datum: T, index: number) => unknown)",