@stealthscale/component-charts 0.2.2 → 0.2.3

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 (123) hide show
  1. package/dist/cyclonedx/bom.json +1 -1
  2. package/dist/index.js +1 -14710
  3. package/dist/pages/area-chart/area-chart.js +1151 -0
  4. package/dist/pages/area-chart/area-chart.props.js +3 -0
  5. package/dist/pages/bar-chart/bar-chart.js +990 -0
  6. package/dist/pages/bar-chart/bar-chart.props.js +3 -0
  7. package/dist/pages/box-plot/box-plot.js +1585 -0
  8. package/dist/pages/box-plot/box-plot.props.js +3 -0
  9. package/dist/pages/bubble-chart/bubble-chart.js +938 -0
  10. package/dist/pages/bubble-chart/bubble-chart.props.js +3 -0
  11. package/dist/pages/burndown-chart/burndown-chart.js +805 -0
  12. package/dist/pages/burndown-chart/burndown-chart.props.js +3 -0
  13. package/dist/pages/candlestick-chart/candlestick-chart.js +853 -0
  14. package/dist/pages/candlestick-chart/candlestick-chart.props.js +3 -0
  15. package/dist/pages/chart/chart.js +1190 -0
  16. package/dist/pages/chart/chart.props.js +3 -0
  17. package/dist/pages/chord-diagram/chord-diagram.js +891 -0
  18. package/dist/pages/chord-diagram/chord-diagram.props.js +3 -0
  19. package/dist/pages/combo-chart/combo-chart.js +873 -0
  20. package/dist/pages/combo-chart/combo-chart.props.js +3 -0
  21. package/dist/pages/distribution-chart/distribution-chart.js +1066 -0
  22. package/dist/pages/distribution-chart/distribution-chart.props.js +3 -0
  23. package/dist/pages/donut-chart/donut-chart.js +726 -0
  24. package/dist/pages/donut-chart/donut-chart.props.js +3 -0
  25. package/dist/pages/funnel-chart/funnel-chart.js +1094 -0
  26. package/dist/pages/funnel-chart/funnel-chart.props.js +3 -0
  27. package/dist/pages/gauge-chart/gauge-chart.js +767 -0
  28. package/dist/pages/gauge-chart/gauge-chart.props.js +3 -0
  29. package/dist/pages/heatmap/heatmap.js +1967 -0
  30. package/dist/pages/heatmap/heatmap.props.js +3 -0
  31. package/dist/pages/histogram-chart/histogram-chart.js +768 -0
  32. package/dist/pages/histogram-chart/histogram-chart.props.js +3 -0
  33. package/dist/pages/horizontal-bar-chart/horizontal-bar-chart.js +701 -0
  34. package/dist/pages/horizontal-bar-chart/horizontal-bar-chart.props.js +3 -0
  35. package/dist/pages/line-chart/line-chart.js +1882 -0
  36. package/dist/pages/line-chart/line-chart.props.js +3 -0
  37. package/dist/pages/pages.json +393 -0
  38. package/dist/pages/pareto-chart/pareto-chart.js +669 -0
  39. package/dist/pages/pareto-chart/pareto-chart.props.js +3 -0
  40. package/dist/pages/percent-stacked-bar/percent-stacked-bar.js +662 -0
  41. package/dist/pages/percent-stacked-bar/percent-stacked-bar.props.js +3 -0
  42. package/dist/pages/pie-chart/pie-chart.js +1007 -0
  43. package/dist/pages/pie-chart/pie-chart.props.js +3 -0
  44. package/dist/pages/polar-area-chart/polar-area-chart.js +812 -0
  45. package/dist/pages/polar-area-chart/polar-area-chart.props.js +3 -0
  46. package/dist/pages/radar-chart/radar-chart.js +1101 -0
  47. package/dist/pages/radar-chart/radar-chart.props.js +3 -0
  48. package/dist/pages/radial-bar-chart/radial-bar-chart.js +766 -0
  49. package/dist/pages/radial-bar-chart/radial-bar-chart.props.js +3 -0
  50. package/dist/pages/range-chart/range-chart.js +914 -0
  51. package/dist/pages/range-chart/range-chart.props.js +3 -0
  52. package/dist/pages/regression-overlay/regression-overlay.js +494 -0
  53. package/dist/pages/regression-overlay/regression-overlay.props.js +3 -0
  54. package/dist/pages/sankey-chart/sankey-chart.js +700 -0
  55. package/dist/pages/sankey-chart/sankey-chart.props.js +3 -0
  56. package/dist/pages/scatter-plot/scatter-plot.js +1248 -0
  57. package/dist/pages/scatter-plot/scatter-plot.props.js +3 -0
  58. package/dist/pages/sparkbar/sparkbar.js +629 -0
  59. package/dist/pages/sparkbar/sparkbar.props.js +3 -0
  60. package/dist/pages/sparkline/sparkline.js +960 -0
  61. package/dist/pages/sparkline/sparkline.props.js +3 -0
  62. package/dist/pages/spend-5xQ76WSj.js +185 -0
  63. package/dist/pages/stacked-area-chart/stacked-area-chart.js +912 -0
  64. package/dist/pages/stacked-area-chart/stacked-area-chart.props.js +3 -0
  65. package/dist/pages/stacked-bar-chart/stacked-bar-chart.js +722 -0
  66. package/dist/pages/stacked-bar-chart/stacked-bar-chart.props.js +3 -0
  67. package/dist/pages/step-line-chart/step-line-chart.js +573 -0
  68. package/dist/pages/step-line-chart/step-line-chart.props.js +3 -0
  69. package/dist/pages/stream-graph/stream-graph.js +1662 -0
  70. package/dist/pages/stream-graph/stream-graph.props.js +3 -0
  71. package/dist/pages/sunburst-chart/sunburst-chart.js +1051 -0
  72. package/dist/pages/sunburst-chart/sunburst-chart.props.js +3 -0
  73. package/dist/pages/timeline-chart/timeline-chart.js +1124 -0
  74. package/dist/pages/timeline-chart/timeline-chart.props.js +3 -0
  75. package/dist/pages/treemap-chart/treemap-chart.js +904 -0
  76. package/dist/pages/treemap-chart/treemap-chart.props.js +3 -0
  77. package/dist/pages/violin-plot/violin-plot.js +1303 -0
  78. package/dist/pages/violin-plot/violin-plot.props.js +3 -0
  79. package/dist/pages/visitors-oFFVcbIZ.js +248 -0
  80. package/dist/pages/waterfall-chart/waterfall-chart.js +1195 -0
  81. package/dist/pages/waterfall-chart/waterfall-chart.props.js +3 -0
  82. package/dist/shared-DVZJ2nST.js +14711 -0
  83. package/dist/theme.js +1 -1
  84. package/locales/en/specimen/area-chart.json +56 -0
  85. package/locales/en/specimen/bar-chart.json +56 -0
  86. package/locales/en/specimen/box-plot.json +65 -0
  87. package/locales/en/specimen/bubble-chart.json +47 -0
  88. package/locales/en/specimen/burndown-chart.json +46 -0
  89. package/locales/en/specimen/candlestick-chart.json +42 -0
  90. package/locales/en/specimen/chart.json +53 -0
  91. package/locales/en/specimen/chord-diagram.json +69 -0
  92. package/locales/en/specimen/combo-chart.json +41 -0
  93. package/locales/en/specimen/distribution-chart.json +47 -0
  94. package/locales/en/specimen/donut-chart.json +63 -0
  95. package/locales/en/specimen/funnel-chart.json +84 -0
  96. package/locales/en/specimen/gauge-chart.json +68 -0
  97. package/locales/en/specimen/heatmap.json +187 -0
  98. package/locales/en/specimen/histogram-chart.json +48 -0
  99. package/locales/en/specimen/horizontal-bar-chart.json +54 -0
  100. package/locales/en/specimen/line-chart.json +106 -0
  101. package/locales/en/specimen/pareto-chart.json +43 -0
  102. package/locales/en/specimen/percent-stacked-bar.json +37 -0
  103. package/locales/en/specimen/pie-chart.json +80 -0
  104. package/locales/en/specimen/polar-area-chart.json +90 -0
  105. package/locales/en/specimen/radar-chart.json +82 -0
  106. package/locales/en/specimen/radial-bar-chart.json +62 -0
  107. package/locales/en/specimen/range-chart.json +42 -0
  108. package/locales/en/specimen/regression-overlay.json +36 -0
  109. package/locales/en/specimen/sankey-chart.json +89 -0
  110. package/locales/en/specimen/scatter-plot.json +88 -0
  111. package/locales/en/specimen/sparkbar.json +51 -0
  112. package/locales/en/specimen/sparkline.json +70 -0
  113. package/locales/en/specimen/stacked-area-chart.json +44 -0
  114. package/locales/en/specimen/stacked-bar-chart.json +34 -0
  115. package/locales/en/specimen/step-line-chart.json +33 -0
  116. package/locales/en/specimen/stream-graph.json +54 -0
  117. package/locales/en/specimen/sunburst-chart.json +110 -0
  118. package/locales/en/specimen/timeline-chart.json +77 -0
  119. package/locales/en/specimen/treemap-chart.json +107 -0
  120. package/locales/en/specimen/violin-plot.json +54 -0
  121. package/locales/en/specimen/waterfall-chart.json +71 -0
  122. package/package.json +8 -7
  123. /package/dist/{recipe-BbGw00ut.js → recipes-BbGw00ut.js} +0 -0
@@ -0,0 +1,960 @@
1
+ import { t as __exportAll } from "../../rolldown-runtime-D7D4PA-g.js";
2
+ import { v as Sparkline } from "../../shared-DVZJ2nST.js";
3
+ import { t as recipe } from "../../recipes-BbGw00ut.js";
4
+ import { c } from "react/compiler-runtime";
5
+ import { useId, useState } from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Stat } from "@stealthscale/component-data";
8
+ import { Table } from "@stealthscale/component-collections";
9
+ import { Room, scenesOf, specimen, useWords } from "@stealthscale/specimen";
10
+ import { ArrowUpIcon, RotateCcwIcon } from "lucide-react";
11
+ import { Button } from "@stealthscale/component-actions";
12
+ import { Stack } from "@stealthscale/component-layout";
13
+ //#region src/sparkline/examples/builds.example.tsx
14
+ var builds_example_exports = /* @__PURE__ */ __exportAll({
15
+ Builds: () => Builds,
16
+ source: () => source$8
17
+ });
18
+ const MINUTES = [
19
+ 4.2,
20
+ 4.4,
21
+ 4.1,
22
+ 4.3,
23
+ 3.9,
24
+ 3.8,
25
+ 3.9,
26
+ 3.6,
27
+ 3.5,
28
+ 3.6,
29
+ 3.4,
30
+ 3.3,
31
+ 3.2,
32
+ 3.3,
33
+ 3.1
34
+ ];
35
+ function Builds() {
36
+ const $ = c(4);
37
+ const { t } = useWords("sparkline");
38
+ let t0;
39
+ if ($[0] !== t) {
40
+ t0 = t("builds.label");
41
+ $[0] = t;
42
+ $[1] = t0;
43
+ } else t0 = $[1];
44
+ let t1;
45
+ if ($[2] !== t0) {
46
+ t1 = /* @__PURE__ */ jsx(Sparkline, {
47
+ curve: "linear",
48
+ label: t0,
49
+ size: "lg",
50
+ values: MINUTES
51
+ });
52
+ $[2] = t0;
53
+ $[3] = t1;
54
+ } else t1 = $[3];
55
+ return t1;
56
+ }
57
+ const source$8 = "import { type ReactElement } from \"react\";\n\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Sparkline } from \"@stealthscale/component-charts\";\n\nconst MINUTES = [4.2, 4.4, 4.1, 4.3, 3.9, 3.8, 3.9, 3.6, 3.5, 3.6, 3.4, 3.3, 3.2, 3.3, 3.1];\n\nexport function Builds(): ReactElement {\n const { t } = useWords(\"sparkline\");\n\n return <Sparkline curve=\"linear\" label={t(\"builds.label\")} size=\"lg\" values={MINUTES} />;\n}\n";
58
+ //#endregion
59
+ //#region src/sparkline/examples/errors.example.tsx
60
+ var errors_example_exports = /* @__PURE__ */ __exportAll({
61
+ Errors: () => Errors,
62
+ source: () => source$7
63
+ });
64
+ const HOURS$1 = [
65
+ 3,
66
+ 2,
67
+ 4,
68
+ 3,
69
+ 5,
70
+ 4,
71
+ 6,
72
+ 9,
73
+ 14,
74
+ 12,
75
+ 16,
76
+ 14
77
+ ];
78
+ function Errors() {
79
+ const $ = c(20);
80
+ const { t } = useWords("sparkline");
81
+ let t0;
82
+ if ($[0] !== t) {
83
+ t0 = t("errors.label");
84
+ $[0] = t;
85
+ $[1] = t0;
86
+ } else t0 = $[1];
87
+ let t1;
88
+ if ($[2] !== t0) {
89
+ t1 = /* @__PURE__ */ jsx(Stat.Label, { children: t0 });
90
+ $[2] = t0;
91
+ $[3] = t1;
92
+ } else t1 = $[3];
93
+ let t2;
94
+ if ($[4] !== t) {
95
+ t2 = t("errors.value");
96
+ $[4] = t;
97
+ $[5] = t2;
98
+ } else t2 = $[5];
99
+ let t3;
100
+ if ($[6] !== t2) {
101
+ t3 = /* @__PURE__ */ jsx(Stat.ValueText, { children: t2 });
102
+ $[6] = t2;
103
+ $[7] = t3;
104
+ } else t3 = $[7];
105
+ let t4;
106
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
107
+ t4 = /* @__PURE__ */ jsx(Stat.Indicator, { children: /* @__PURE__ */ jsx(ArrowUpIcon, { "aria-hidden": true }) });
108
+ $[8] = t4;
109
+ } else t4 = $[8];
110
+ let t5;
111
+ if ($[9] !== t) {
112
+ t5 = t("errors.help");
113
+ $[9] = t;
114
+ $[10] = t5;
115
+ } else t5 = $[10];
116
+ let t6;
117
+ if ($[11] !== t5) {
118
+ t6 = /* @__PURE__ */ jsxs(Stat.HelpText, { children: [t4, t5] });
119
+ $[11] = t5;
120
+ $[12] = t6;
121
+ } else t6 = $[12];
122
+ let t7;
123
+ if ($[13] !== t1 || $[14] !== t3 || $[15] !== t6) {
124
+ t7 = /* @__PURE__ */ jsxs(Stat.Root, {
125
+ palette: "error",
126
+ children: [
127
+ t1,
128
+ t3,
129
+ t6
130
+ ]
131
+ });
132
+ $[13] = t1;
133
+ $[14] = t3;
134
+ $[15] = t6;
135
+ $[16] = t7;
136
+ } else t7 = $[16];
137
+ let t8;
138
+ if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
139
+ t8 = /* @__PURE__ */ jsx(Sparkline, {
140
+ color: "error",
141
+ size: "lg",
142
+ values: HOURS$1
143
+ });
144
+ $[17] = t8;
145
+ } else t8 = $[17];
146
+ let t9;
147
+ if ($[18] !== t7) {
148
+ t9 = /* @__PURE__ */ jsxs(Stack, {
149
+ align: "flex-end",
150
+ direction: "row",
151
+ justify: "between",
152
+ children: [t7, t8]
153
+ });
154
+ $[18] = t7;
155
+ $[19] = t9;
156
+ } else t9 = $[19];
157
+ return t9;
158
+ }
159
+ const source$7 = "import { type ReactElement } from \"react\";\n\nimport { ArrowUpIcon } from \"lucide-react\";\n\nimport { Stat } from \"@stealthscale/component-data\";\nimport { Stack } from \"@stealthscale/component-layout\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Sparkline } from \"@stealthscale/component-charts\";\n\nconst HOURS = [3, 2, 4, 3, 5, 4, 6, 9, 14, 12, 16, 14];\n\nexport function Errors(): ReactElement {\n const { t } = useWords(\"sparkline\");\n\n return (\n <Stack align=\"flex-end\" direction=\"row\" justify=\"between\">\n <Stat.Root palette=\"error\">\n <Stat.Label>{t(\"errors.label\")}</Stat.Label>\n <Stat.ValueText>{t(\"errors.value\")}</Stat.ValueText>\n <Stat.HelpText>\n <Stat.Indicator>\n <ArrowUpIcon aria-hidden />\n </Stat.Indicator>\n {t(\"errors.help\")}\n </Stat.HelpText>\n </Stat.Root>\n <Sparkline color=\"error\" size=\"lg\" values={HOURS} />\n </Stack>\n );\n}\n";
160
+ //#endregion
161
+ //#region src/sparkline/examples/launch.example.tsx
162
+ var launch_example_exports = /* @__PURE__ */ __exportAll({
163
+ Launch: () => Launch,
164
+ source: () => source$6
165
+ });
166
+ const MONTHS$1 = [
167
+ 0,
168
+ 40,
169
+ 95,
170
+ 180,
171
+ 260,
172
+ 410,
173
+ 590,
174
+ 720,
175
+ 940,
176
+ 1240
177
+ ];
178
+ function Launch() {
179
+ const $ = c(19);
180
+ const { t } = useWords("sparkline");
181
+ let t0;
182
+ if ($[0] !== t) {
183
+ t0 = t("launch.label");
184
+ $[0] = t;
185
+ $[1] = t0;
186
+ } else t0 = $[1];
187
+ let t1;
188
+ if ($[2] !== t0) {
189
+ t1 = /* @__PURE__ */ jsx(Stat.Label, { children: t0 });
190
+ $[2] = t0;
191
+ $[3] = t1;
192
+ } else t1 = $[3];
193
+ let t2;
194
+ if ($[4] !== t) {
195
+ t2 = t("launch.value");
196
+ $[4] = t;
197
+ $[5] = t2;
198
+ } else t2 = $[5];
199
+ let t3;
200
+ if ($[6] !== t2) {
201
+ t3 = /* @__PURE__ */ jsx(Stat.ValueText, { children: t2 });
202
+ $[6] = t2;
203
+ $[7] = t3;
204
+ } else t3 = $[7];
205
+ let t4;
206
+ if ($[8] !== t) {
207
+ t4 = t("launch.help");
208
+ $[8] = t;
209
+ $[9] = t4;
210
+ } else t4 = $[9];
211
+ let t5;
212
+ if ($[10] !== t4) {
213
+ t5 = /* @__PURE__ */ jsx(Stat.HelpText, { children: t4 });
214
+ $[10] = t4;
215
+ $[11] = t5;
216
+ } else t5 = $[11];
217
+ let t6;
218
+ if ($[12] !== t1 || $[13] !== t3 || $[14] !== t5) {
219
+ t6 = /* @__PURE__ */ jsxs(Stat.Root, { children: [
220
+ t1,
221
+ t3,
222
+ t5
223
+ ] });
224
+ $[12] = t1;
225
+ $[13] = t3;
226
+ $[14] = t5;
227
+ $[15] = t6;
228
+ } else t6 = $[15];
229
+ let t7;
230
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
231
+ t7 = /* @__PURE__ */ jsx(Sparkline, {
232
+ area: true,
233
+ size: "lg",
234
+ values: MONTHS$1
235
+ });
236
+ $[16] = t7;
237
+ } else t7 = $[16];
238
+ let t8;
239
+ if ($[17] !== t6) {
240
+ t8 = /* @__PURE__ */ jsxs(Stack, {
241
+ align: "flex-end",
242
+ direction: "row",
243
+ justify: "between",
244
+ children: [t6, t7]
245
+ });
246
+ $[17] = t6;
247
+ $[18] = t8;
248
+ } else t8 = $[18];
249
+ return t8;
250
+ }
251
+ const source$6 = "import { type ReactElement } from \"react\";\n\nimport { Stat } from \"@stealthscale/component-data\";\nimport { Stack } from \"@stealthscale/component-layout\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Sparkline } from \"@stealthscale/component-charts\";\n\nconst MONTHS = [0, 40, 95, 180, 260, 410, 590, 720, 940, 1240];\n\nexport function Launch(): ReactElement {\n const { t } = useWords(\"sparkline\");\n\n return (\n <Stack align=\"flex-end\" direction=\"row\" justify=\"between\">\n <Stat.Root>\n <Stat.Label>{t(\"launch.label\")}</Stat.Label>\n <Stat.ValueText>{t(\"launch.value\")}</Stat.ValueText>\n <Stat.HelpText>{t(\"launch.help\")}</Stat.HelpText>\n </Stat.Root>\n <Sparkline area size=\"lg\" values={MONTHS} />\n </Stack>\n );\n}\n";
252
+ //#endregion
253
+ //#region src/sparkline/examples/offline.example.tsx
254
+ var offline_example_exports = /* @__PURE__ */ __exportAll({
255
+ Offline: () => Offline,
256
+ source: () => source$5
257
+ });
258
+ const READINGS = [
259
+ 21.4,
260
+ 21.6,
261
+ 21.9,
262
+ null,
263
+ null,
264
+ 22.8,
265
+ 22.6,
266
+ 22.1,
267
+ 21.8
268
+ ];
269
+ function Offline() {
270
+ const $ = c(19);
271
+ const { t } = useWords("sparkline");
272
+ let t0;
273
+ if ($[0] !== t) {
274
+ t0 = t("offline.label");
275
+ $[0] = t;
276
+ $[1] = t0;
277
+ } else t0 = $[1];
278
+ let t1;
279
+ if ($[2] !== t0) {
280
+ t1 = /* @__PURE__ */ jsx(Stat.Label, { children: t0 });
281
+ $[2] = t0;
282
+ $[3] = t1;
283
+ } else t1 = $[3];
284
+ let t2;
285
+ if ($[4] !== t) {
286
+ t2 = t("offline.value");
287
+ $[4] = t;
288
+ $[5] = t2;
289
+ } else t2 = $[5];
290
+ let t3;
291
+ if ($[6] !== t2) {
292
+ t3 = /* @__PURE__ */ jsx(Stat.ValueText, { children: t2 });
293
+ $[6] = t2;
294
+ $[7] = t3;
295
+ } else t3 = $[7];
296
+ let t4;
297
+ if ($[8] !== t) {
298
+ t4 = t("offline.help");
299
+ $[8] = t;
300
+ $[9] = t4;
301
+ } else t4 = $[9];
302
+ let t5;
303
+ if ($[10] !== t4) {
304
+ t5 = /* @__PURE__ */ jsx(Stat.HelpText, { children: t4 });
305
+ $[10] = t4;
306
+ $[11] = t5;
307
+ } else t5 = $[11];
308
+ let t6;
309
+ if ($[12] !== t1 || $[13] !== t3 || $[14] !== t5) {
310
+ t6 = /* @__PURE__ */ jsxs(Stat.Root, { children: [
311
+ t1,
312
+ t3,
313
+ t5
314
+ ] });
315
+ $[12] = t1;
316
+ $[13] = t3;
317
+ $[14] = t5;
318
+ $[15] = t6;
319
+ } else t6 = $[15];
320
+ let t7;
321
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
322
+ t7 = /* @__PURE__ */ jsx(Sparkline, {
323
+ curve: "linear",
324
+ size: "lg",
325
+ values: READINGS
326
+ });
327
+ $[16] = t7;
328
+ } else t7 = $[16];
329
+ let t8;
330
+ if ($[17] !== t6) {
331
+ t8 = /* @__PURE__ */ jsxs(Stack, {
332
+ align: "flex-end",
333
+ direction: "row",
334
+ justify: "between",
335
+ children: [t6, t7]
336
+ });
337
+ $[17] = t6;
338
+ $[18] = t8;
339
+ } else t8 = $[18];
340
+ return t8;
341
+ }
342
+ const source$5 = "import { type ReactElement } from \"react\";\n\nimport { Stat } from \"@stealthscale/component-data\";\nimport { Stack } from \"@stealthscale/component-layout\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Sparkline } from \"@stealthscale/component-charts\";\n\nconst READINGS = [21.4, 21.6, 21.9, null, null, 22.8, 22.6, 22.1, 21.8];\n\nexport function Offline(): ReactElement {\n const { t } = useWords(\"sparkline\");\n\n return (\n <Stack align=\"flex-end\" direction=\"row\" justify=\"between\">\n <Stat.Root>\n <Stat.Label>{t(\"offline.label\")}</Stat.Label>\n <Stat.ValueText>{t(\"offline.value\")}</Stat.ValueText>\n <Stat.HelpText>{t(\"offline.help\")}</Stat.HelpText>\n </Stat.Root>\n <Sparkline curve=\"linear\" size=\"lg\" values={READINGS} />\n </Stack>\n );\n}\n";
343
+ //#endregion
344
+ //#region src/sparkline/examples/primary.example.tsx
345
+ var primary_example_exports = /* @__PURE__ */ __exportAll({
346
+ Primary: () => Primary,
347
+ source: () => source$4
348
+ });
349
+ const WEEK = [
350
+ 12,
351
+ 18,
352
+ 15,
353
+ 21,
354
+ 22,
355
+ 30,
356
+ 27
357
+ ];
358
+ function Primary(props) {
359
+ const $ = c(2);
360
+ let t0;
361
+ if ($[0] !== props) {
362
+ t0 = /* @__PURE__ */ jsx(Sparkline, {
363
+ values: WEEK,
364
+ ...props
365
+ });
366
+ $[0] = props;
367
+ $[1] = t0;
368
+ } else t0 = $[1];
369
+ return t0;
370
+ }
371
+ const source$4 = "import { type ReactElement } from \"react\";\n\nimport { Sparkline } from \"@stealthscale/component-charts\";\n\nconst WEEK = [12, 18, 15, 21, 22, 30, 27];\n\nexport function Primary(props: Omit<Parameters<typeof Sparkline>[0], \"values\">): ReactElement {\n return <Sparkline values={WEEK} {...props} />;\n}\n";
372
+ //#endregion
373
+ //#region src/sparkline/examples/replay.example.tsx
374
+ var replay_example_exports = /* @__PURE__ */ __exportAll({
375
+ Replay: () => Replay,
376
+ source: () => source$3
377
+ });
378
+ const MONTHS = [
379
+ 0,
380
+ 40,
381
+ 95,
382
+ 180,
383
+ 260,
384
+ 410,
385
+ 590,
386
+ 720,
387
+ 940,
388
+ 1240
389
+ ];
390
+ function Replay() {
391
+ const $ = c(16);
392
+ const { t } = useWords("sparkline");
393
+ const [run, setRun] = useState(0);
394
+ let t0;
395
+ if ($[0] !== t) {
396
+ t0 = t("replay.label");
397
+ $[0] = t;
398
+ $[1] = t0;
399
+ } else t0 = $[1];
400
+ let t1;
401
+ if ($[2] !== run || $[3] !== t0) {
402
+ t1 = /* @__PURE__ */ jsx(Sparkline, {
403
+ animate: true,
404
+ area: true,
405
+ label: t0,
406
+ size: "lg",
407
+ values: MONTHS
408
+ }, run);
409
+ $[2] = run;
410
+ $[3] = t0;
411
+ $[4] = t1;
412
+ } else t1 = $[4];
413
+ let t2;
414
+ if ($[5] !== run) {
415
+ t2 = () => {
416
+ setRun(run + 1);
417
+ };
418
+ $[5] = run;
419
+ $[6] = t2;
420
+ } else t2 = $[6];
421
+ let t3;
422
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
423
+ t3 = /* @__PURE__ */ jsx(RotateCcwIcon, {});
424
+ $[7] = t3;
425
+ } else t3 = $[7];
426
+ let t4;
427
+ if ($[8] !== t) {
428
+ t4 = t("replay.replay");
429
+ $[8] = t;
430
+ $[9] = t4;
431
+ } else t4 = $[9];
432
+ let t5;
433
+ if ($[10] !== t2 || $[11] !== t4) {
434
+ t5 = /* @__PURE__ */ jsxs(Button, {
435
+ onClick: t2,
436
+ size: "sm",
437
+ variant: "outline",
438
+ children: [t3, t4]
439
+ });
440
+ $[10] = t2;
441
+ $[11] = t4;
442
+ $[12] = t5;
443
+ } else t5 = $[12];
444
+ let t6;
445
+ if ($[13] !== t1 || $[14] !== t5) {
446
+ t6 = /* @__PURE__ */ jsxs(Stack, {
447
+ direction: "row",
448
+ children: [t1, t5]
449
+ });
450
+ $[13] = t1;
451
+ $[14] = t5;
452
+ $[15] = t6;
453
+ } else t6 = $[15];
454
+ return t6;
455
+ }
456
+ const source$3 = "import { type ReactElement, useState } from \"react\";\n\nimport { RotateCcwIcon } from \"lucide-react\";\n\nimport { Button } from \"@stealthscale/component-actions\";\nimport { Stack } from \"@stealthscale/component-layout\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Sparkline } from \"@stealthscale/component-charts\";\n\nconst MONTHS = [0, 40, 95, 180, 260, 410, 590, 720, 940, 1240];\n\nexport function Replay(): ReactElement {\n const { t } = useWords(\"sparkline\");\n const [run, setRun] = useState(0);\n\n return (\n <Stack direction=\"row\">\n <Sparkline animate area key={run} label={t(\"replay.label\")} size=\"lg\" values={MONTHS} />\n <Button\n onClick={() => {\n setRun(run + 1);\n }}\n size=\"sm\"\n variant=\"outline\"\n >\n <RotateCcwIcon />\n {t(\"replay.replay\")}\n </Button>\n </Stack>\n );\n}\n";
457
+ //#endregion
458
+ //#region src/sparkline/examples/revenue.example.tsx
459
+ var revenue_example_exports = /* @__PURE__ */ __exportAll({
460
+ Revenue: () => Revenue,
461
+ source: () => source$2
462
+ });
463
+ const DAYS = [
464
+ 5980,
465
+ 6420,
466
+ 6110,
467
+ 7030,
468
+ 6890,
469
+ 7560,
470
+ 8130
471
+ ];
472
+ function Revenue() {
473
+ const $ = c(20);
474
+ const { t } = useWords("sparkline");
475
+ let t0;
476
+ if ($[0] !== t) {
477
+ t0 = t("revenue.label");
478
+ $[0] = t;
479
+ $[1] = t0;
480
+ } else t0 = $[1];
481
+ let t1;
482
+ if ($[2] !== t0) {
483
+ t1 = /* @__PURE__ */ jsx(Stat.Label, { children: t0 });
484
+ $[2] = t0;
485
+ $[3] = t1;
486
+ } else t1 = $[3];
487
+ let t2;
488
+ if ($[4] !== t) {
489
+ t2 = t("revenue.value");
490
+ $[4] = t;
491
+ $[5] = t2;
492
+ } else t2 = $[5];
493
+ let t3;
494
+ if ($[6] !== t2) {
495
+ t3 = /* @__PURE__ */ jsx(Stat.ValueText, { children: t2 });
496
+ $[6] = t2;
497
+ $[7] = t3;
498
+ } else t3 = $[7];
499
+ let t4;
500
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
501
+ t4 = /* @__PURE__ */ jsx(Stat.Indicator, { children: /* @__PURE__ */ jsx(ArrowUpIcon, { "aria-hidden": true }) });
502
+ $[8] = t4;
503
+ } else t4 = $[8];
504
+ let t5;
505
+ if ($[9] !== t) {
506
+ t5 = t("revenue.help");
507
+ $[9] = t;
508
+ $[10] = t5;
509
+ } else t5 = $[10];
510
+ let t6;
511
+ if ($[11] !== t5) {
512
+ t6 = /* @__PURE__ */ jsxs(Stat.HelpText, { children: [t4, t5] });
513
+ $[11] = t5;
514
+ $[12] = t6;
515
+ } else t6 = $[12];
516
+ let t7;
517
+ if ($[13] !== t1 || $[14] !== t3 || $[15] !== t6) {
518
+ t7 = /* @__PURE__ */ jsxs(Stat.Root, {
519
+ palette: "success",
520
+ children: [
521
+ t1,
522
+ t3,
523
+ t6
524
+ ]
525
+ });
526
+ $[13] = t1;
527
+ $[14] = t3;
528
+ $[15] = t6;
529
+ $[16] = t7;
530
+ } else t7 = $[16];
531
+ let t8;
532
+ if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
533
+ t8 = /* @__PURE__ */ jsx(Sparkline, {
534
+ size: "lg",
535
+ values: DAYS
536
+ });
537
+ $[17] = t8;
538
+ } else t8 = $[17];
539
+ let t9;
540
+ if ($[18] !== t7) {
541
+ t9 = /* @__PURE__ */ jsxs(Stack, {
542
+ align: "flex-end",
543
+ direction: "row",
544
+ justify: "between",
545
+ children: [t7, t8]
546
+ });
547
+ $[18] = t7;
548
+ $[19] = t9;
549
+ } else t9 = $[19];
550
+ return t9;
551
+ }
552
+ const source$2 = "import { type ReactElement } from \"react\";\n\nimport { ArrowUpIcon } from \"lucide-react\";\n\nimport { Stat } from \"@stealthscale/component-data\";\nimport { Stack } from \"@stealthscale/component-layout\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Sparkline } from \"@stealthscale/component-charts\";\n\nconst DAYS = [5980, 6420, 6110, 7030, 6890, 7560, 8130];\n\nexport function Revenue(): ReactElement {\n const { t } = useWords(\"sparkline\");\n\n return (\n <Stack align=\"flex-end\" direction=\"row\" justify=\"between\">\n <Stat.Root palette=\"success\">\n <Stat.Label>{t(\"revenue.label\")}</Stat.Label>\n <Stat.ValueText>{t(\"revenue.value\")}</Stat.ValueText>\n <Stat.HelpText>\n <Stat.Indicator>\n <ArrowUpIcon aria-hidden />\n </Stat.Indicator>\n {t(\"revenue.help\")}\n </Stat.HelpText>\n </Stat.Root>\n <Sparkline size=\"lg\" values={DAYS} />\n </Stack>\n );\n}\n";
553
+ //#endregion
554
+ //#region src/sparkline/examples/services.example.tsx
555
+ var services_example_exports = /* @__PURE__ */ __exportAll({
556
+ Services: () => Services,
557
+ source: () => source$1
558
+ });
559
+ const SERVICES = [
560
+ {
561
+ key: "api",
562
+ now: "182 ms",
563
+ run: [
564
+ 160,
565
+ 170,
566
+ 168,
567
+ 190,
568
+ 240,
569
+ 210,
570
+ 185,
571
+ 182
572
+ ]
573
+ },
574
+ {
575
+ key: "search",
576
+ now: "94 ms",
577
+ run: [
578
+ 120,
579
+ 118,
580
+ 110,
581
+ 104,
582
+ 99,
583
+ 97,
584
+ 95,
585
+ 94
586
+ ]
587
+ },
588
+ {
589
+ key: "checkout",
590
+ now: "311 ms",
591
+ run: [
592
+ 250,
593
+ 255,
594
+ 262,
595
+ 270,
596
+ 284,
597
+ 290,
598
+ 305,
599
+ 311
600
+ ]
601
+ },
602
+ {
603
+ key: "auth",
604
+ now: "45 ms",
605
+ run: [
606
+ 44,
607
+ 46,
608
+ 45,
609
+ 47,
610
+ 44,
611
+ 45,
612
+ 46,
613
+ 45
614
+ ]
615
+ }
616
+ ];
617
+ function Services() {
618
+ const $ = c(32);
619
+ const { t } = useWords("sparkline");
620
+ const id = useId();
621
+ let t0;
622
+ if ($[0] !== t) {
623
+ t0 = t("services.caption");
624
+ $[0] = t;
625
+ $[1] = t0;
626
+ } else t0 = $[1];
627
+ let t1;
628
+ if ($[2] !== id || $[3] !== t0) {
629
+ t1 = /* @__PURE__ */ jsx(Table.Caption, {
630
+ id,
631
+ children: t0
632
+ });
633
+ $[2] = id;
634
+ $[3] = t0;
635
+ $[4] = t1;
636
+ } else t1 = $[4];
637
+ let t2;
638
+ if ($[5] !== t) {
639
+ t2 = t("services.service");
640
+ $[5] = t;
641
+ $[6] = t2;
642
+ } else t2 = $[6];
643
+ let t3;
644
+ if ($[7] !== t2) {
645
+ t3 = /* @__PURE__ */ jsx(Table.ColumnHeader, { children: t2 });
646
+ $[7] = t2;
647
+ $[8] = t3;
648
+ } else t3 = $[8];
649
+ let t4;
650
+ if ($[9] !== t) {
651
+ t4 = t("services.now");
652
+ $[9] = t;
653
+ $[10] = t4;
654
+ } else t4 = $[10];
655
+ let t5;
656
+ if ($[11] !== t4) {
657
+ t5 = /* @__PURE__ */ jsx(Table.ColumnHeader, {
658
+ "data-numeric": true,
659
+ children: t4
660
+ });
661
+ $[11] = t4;
662
+ $[12] = t5;
663
+ } else t5 = $[12];
664
+ let t6;
665
+ if ($[13] !== t) {
666
+ t6 = t("services.day");
667
+ $[13] = t;
668
+ $[14] = t6;
669
+ } else t6 = $[14];
670
+ let t7;
671
+ if ($[15] !== t6) {
672
+ t7 = /* @__PURE__ */ jsx(Table.ColumnHeader, { children: t6 });
673
+ $[15] = t6;
674
+ $[16] = t7;
675
+ } else t7 = $[16];
676
+ let t8;
677
+ if ($[17] !== t3 || $[18] !== t5 || $[19] !== t7) {
678
+ t8 = /* @__PURE__ */ jsx(Table.Header, { children: /* @__PURE__ */ jsxs(Table.Row, { children: [
679
+ t3,
680
+ t5,
681
+ t7
682
+ ] }) });
683
+ $[17] = t3;
684
+ $[18] = t5;
685
+ $[19] = t7;
686
+ $[20] = t8;
687
+ } else t8 = $[20];
688
+ let t9;
689
+ if ($[21] !== t) {
690
+ t9 = SERVICES.map((service) => /* @__PURE__ */ jsxs(Table.Row, { children: [
691
+ /* @__PURE__ */ jsx(Table.RowHeader, { children: t(`services.${service.key}`) }),
692
+ /* @__PURE__ */ jsx(Table.Cell, {
693
+ "data-numeric": true,
694
+ children: service.now
695
+ }),
696
+ /* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(Sparkline, {
697
+ size: "sm",
698
+ values: service.run
699
+ }) })
700
+ ] }, service.key));
701
+ $[21] = t;
702
+ $[22] = t9;
703
+ } else t9 = $[22];
704
+ let t10;
705
+ if ($[23] !== t9) {
706
+ t10 = /* @__PURE__ */ jsx(Table.Body, { children: t9 });
707
+ $[23] = t9;
708
+ $[24] = t10;
709
+ } else t10 = $[24];
710
+ let t11;
711
+ if ($[25] !== t1 || $[26] !== t10 || $[27] !== t8) {
712
+ t11 = /* @__PURE__ */ jsxs(Table.Root, { children: [
713
+ t1,
714
+ t8,
715
+ t10
716
+ ] });
717
+ $[25] = t1;
718
+ $[26] = t10;
719
+ $[27] = t8;
720
+ $[28] = t11;
721
+ } else t11 = $[28];
722
+ let t12;
723
+ if ($[29] !== id || $[30] !== t11) {
724
+ t12 = /* @__PURE__ */ jsx(Table.Scroller, {
725
+ "aria-labelledby": id,
726
+ variant: "surface",
727
+ children: t11
728
+ });
729
+ $[29] = id;
730
+ $[30] = t11;
731
+ $[31] = t12;
732
+ } else t12 = $[31];
733
+ return t12;
734
+ }
735
+ const source$1 = "import { type ReactElement, useId } from \"react\";\n\nimport { Table } from \"@stealthscale/component-collections\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Sparkline } from \"@stealthscale/component-charts\";\n\nconst SERVICES = [\n { key: \"api\", now: \"182 ms\", run: [160, 170, 168, 190, 240, 210, 185, 182] },\n { key: \"search\", now: \"94 ms\", run: [120, 118, 110, 104, 99, 97, 95, 94] },\n { key: \"checkout\", now: \"311 ms\", run: [250, 255, 262, 270, 284, 290, 305, 311] },\n { key: \"auth\", now: \"45 ms\", run: [44, 46, 45, 47, 44, 45, 46, 45] },\n];\n\nexport function Services(): ReactElement {\n const { t } = useWords(\"sparkline\");\n const id = useId();\n\n return (\n <Table.Scroller aria-labelledby={id} variant=\"surface\">\n <Table.Root>\n <Table.Caption id={id}>{t(\"services.caption\")}</Table.Caption>\n <Table.Header>\n <Table.Row>\n <Table.ColumnHeader>{t(\"services.service\")}</Table.ColumnHeader>\n <Table.ColumnHeader data-numeric>{t(\"services.now\")}</Table.ColumnHeader>\n <Table.ColumnHeader>{t(\"services.day\")}</Table.ColumnHeader>\n </Table.Row>\n </Table.Header>\n <Table.Body>\n {SERVICES.map((service) => (\n <Table.Row key={service.key}>\n <Table.RowHeader>{t(`services.${service.key}`)}</Table.RowHeader>\n <Table.Cell data-numeric>{service.now}</Table.Cell>\n <Table.Cell>\n <Sparkline size=\"sm\" values={service.run} />\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Root>\n </Table.Scroller>\n );\n}\n";
736
+ //#endregion
737
+ //#region src/sparkline/examples/target.example.tsx
738
+ var target_example_exports = /* @__PURE__ */ __exportAll({
739
+ Target: () => Target,
740
+ source: () => source
741
+ });
742
+ const HOURS = [
743
+ 182,
744
+ 196,
745
+ 210,
746
+ 254,
747
+ 318,
748
+ 342,
749
+ 296,
750
+ 240,
751
+ 205,
752
+ 190
753
+ ];
754
+ function Target() {
755
+ const $ = c(19);
756
+ const { t } = useWords("sparkline");
757
+ let t0;
758
+ if ($[0] !== t) {
759
+ t0 = t("target.label");
760
+ $[0] = t;
761
+ $[1] = t0;
762
+ } else t0 = $[1];
763
+ let t1;
764
+ if ($[2] !== t0) {
765
+ t1 = /* @__PURE__ */ jsx(Stat.Label, { children: t0 });
766
+ $[2] = t0;
767
+ $[3] = t1;
768
+ } else t1 = $[3];
769
+ let t2;
770
+ if ($[4] !== t) {
771
+ t2 = t("target.value");
772
+ $[4] = t;
773
+ $[5] = t2;
774
+ } else t2 = $[5];
775
+ let t3;
776
+ if ($[6] !== t2) {
777
+ t3 = /* @__PURE__ */ jsx(Stat.ValueText, { children: t2 });
778
+ $[6] = t2;
779
+ $[7] = t3;
780
+ } else t3 = $[7];
781
+ let t4;
782
+ if ($[8] !== t) {
783
+ t4 = t("target.help");
784
+ $[8] = t;
785
+ $[9] = t4;
786
+ } else t4 = $[9];
787
+ let t5;
788
+ if ($[10] !== t4) {
789
+ t5 = /* @__PURE__ */ jsx(Stat.HelpText, { children: t4 });
790
+ $[10] = t4;
791
+ $[11] = t5;
792
+ } else t5 = $[11];
793
+ let t6;
794
+ if ($[12] !== t1 || $[13] !== t3 || $[14] !== t5) {
795
+ t6 = /* @__PURE__ */ jsxs(Stat.Root, { children: [
796
+ t1,
797
+ t3,
798
+ t5
799
+ ] });
800
+ $[12] = t1;
801
+ $[13] = t3;
802
+ $[14] = t5;
803
+ $[15] = t6;
804
+ } else t6 = $[15];
805
+ let t7;
806
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
807
+ t7 = /* @__PURE__ */ jsx(Sparkline, {
808
+ baseline: 300,
809
+ size: "lg",
810
+ values: HOURS
811
+ });
812
+ $[16] = t7;
813
+ } else t7 = $[16];
814
+ let t8;
815
+ if ($[17] !== t6) {
816
+ t8 = /* @__PURE__ */ jsxs(Stack, {
817
+ align: "flex-end",
818
+ direction: "row",
819
+ justify: "between",
820
+ children: [t6, t7]
821
+ });
822
+ $[17] = t6;
823
+ $[18] = t8;
824
+ } else t8 = $[18];
825
+ return t8;
826
+ }
827
+ const source = "import { type ReactElement } from \"react\";\n\nimport { Stat } from \"@stealthscale/component-data\";\nimport { Stack } from \"@stealthscale/component-layout\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Sparkline } from \"@stealthscale/component-charts\";\n\nconst HOURS = [182, 196, 210, 254, 318, 342, 296, 240, 205, 190];\n\nexport function Target(): ReactElement {\n const { t } = useWords(\"sparkline\");\n\n return (\n <Stack align=\"flex-end\" direction=\"row\" justify=\"between\">\n <Stat.Root>\n <Stat.Label>{t(\"target.label\")}</Stat.Label>\n <Stat.ValueText>{t(\"target.value\")}</Stat.ValueText>\n <Stat.HelpText>{t(\"target.help\")}</Stat.HelpText>\n </Stat.Root>\n <Sparkline baseline={300} size=\"lg\" values={HOURS} />\n </Stack>\n );\n}\n";
828
+ //#endregion
829
+ //#region src/sparkline/sparkline.specimen.tsx
830
+ /**
831
+ * Catalogue page for the sparkline.
832
+ *
833
+ * @remarks
834
+ * `scenesOf` generates the size and stretch scenes from the spark recipe. The other scenes are
835
+ * hand-written: revenue beside its stat, latency per service in a table, errors in the error
836
+ * palette, customers since launch filled under the line, latency against a target, a run with
837
+ * missing readings, a named run on its own, and the line animated in with a replay. Every
838
+ * scene renders a component from `examples/` and shows that file as its source. The words are
839
+ * keys under `sparkline` in `locales/en/specimen/sparkline.json`. The page imports the
840
+ * sparkline's barrel directly, because the props reader follows a specimen's own imports and not
841
+ * an examples barrel.
842
+ */
843
+ /**
844
+ * Hand-written scene for a run beside its figure.
845
+ */
846
+ const figure = {
847
+ about: "sparkline.revenue.about",
848
+ draw: () => /* @__PURE__ */ jsx(Room, {
849
+ size: "sm",
850
+ children: /* @__PURE__ */ jsx(Revenue, {})
851
+ }),
852
+ example: revenue_example_exports,
853
+ title: "sparkline.revenue.title"
854
+ };
855
+ /**
856
+ * Hand-written scene for runs in a table.
857
+ */
858
+ const table = {
859
+ about: "sparkline.services.about",
860
+ draw: () => /* @__PURE__ */ jsx(Room, {
861
+ size: "md",
862
+ children: /* @__PURE__ */ jsx(Services, {})
863
+ }),
864
+ example: services_example_exports,
865
+ title: "sparkline.services.title"
866
+ };
867
+ /**
868
+ * Hand-written scene for a run in a palette.
869
+ */
870
+ const palette = {
871
+ about: "sparkline.errors.about",
872
+ draw: () => /* @__PURE__ */ jsx(Room, {
873
+ size: "sm",
874
+ children: /* @__PURE__ */ jsx(Errors, {})
875
+ }),
876
+ example: errors_example_exports,
877
+ title: "sparkline.errors.title"
878
+ };
879
+ /**
880
+ * Hand-written scene for a run from zero filled under its line.
881
+ */
882
+ const filled = {
883
+ about: "sparkline.launch.about",
884
+ draw: () => /* @__PURE__ */ jsx(Room, {
885
+ size: "sm",
886
+ children: /* @__PURE__ */ jsx(Launch, {})
887
+ }),
888
+ example: launch_example_exports,
889
+ title: "sparkline.launch.title"
890
+ };
891
+ /**
892
+ * Hand-written scene for a run against a target.
893
+ */
894
+ const baseline = {
895
+ about: "sparkline.target.about",
896
+ draw: () => /* @__PURE__ */ jsx(Room, {
897
+ size: "sm",
898
+ children: /* @__PURE__ */ jsx(Target, {})
899
+ }),
900
+ example: target_example_exports,
901
+ title: "sparkline.target.title"
902
+ };
903
+ /**
904
+ * Hand-written scene for a run with missing readings.
905
+ */
906
+ const gaps = {
907
+ about: "sparkline.offline.about",
908
+ draw: () => /* @__PURE__ */ jsx(Room, {
909
+ size: "sm",
910
+ children: /* @__PURE__ */ jsx(Offline, {})
911
+ }),
912
+ example: offline_example_exports,
913
+ title: "sparkline.offline.title"
914
+ };
915
+ /**
916
+ * Hand-written scene for a named run on its own.
917
+ */
918
+ const named = {
919
+ about: "sparkline.builds.about",
920
+ draw: Builds,
921
+ example: builds_example_exports,
922
+ title: "sparkline.builds.title"
923
+ };
924
+ /**
925
+ * Hand-written scene for the line animated in, with a replay.
926
+ */
927
+ const animated = {
928
+ about: "sparkline.replay.about",
929
+ draw: Replay,
930
+ example: replay_example_exports,
931
+ title: "sparkline.replay.title"
932
+ };
933
+ var sparkline_specimen_default = specimen({
934
+ about: "sparkline.about",
935
+ id: "components/charts/sparkline",
936
+ imports: "import { Sparkline } from \"@stealthscale/component-charts\";",
937
+ scenes: [
938
+ figure,
939
+ table,
940
+ ...scenesOf(recipe, {
941
+ axes: { stretch: { draw: (props) => /* @__PURE__ */ jsx(Room, {
942
+ size: "sm",
943
+ children: /* @__PURE__ */ jsx(Primary, { ...props })
944
+ }) } },
945
+ draw: (props) => /* @__PURE__ */ jsx(Primary, { ...props }),
946
+ example: primary_example_exports,
947
+ namespace: "sparkline",
948
+ order: ["size", "stretch"]
949
+ }),
950
+ palette,
951
+ filled,
952
+ baseline,
953
+ gaps,
954
+ named,
955
+ animated
956
+ ],
957
+ title: "sparkline.title"
958
+ });
959
+ //#endregion
960
+ export { animated, baseline, sparkline_specimen_default as default, figure, filled, gaps, named, palette, table };