@spatika/react 1.4.0 → 1.6.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.
- package/AGENTS.md +6 -3
- package/README.md +1 -1
- package/dist/composites/EventCalendar.js +3 -3
- package/dist/composites/GlassCard.d.ts +1 -1
- package/dist/composites/RichTextEditor.d.ts +1 -4
- package/dist/composites/RichTextEditor.d.ts.map +1 -1
- package/dist/composites/RichTextEditor.js +12 -19
- package/dist/composites/SurfaceCard.d.ts +1 -1
- package/dist/composites/Tag.d.ts +2 -2
- package/dist/index.d.ts +8 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -11
- package/dist/lib/breakpoints.d.ts +17 -0
- package/dist/lib/breakpoints.d.ts.map +1 -0
- package/dist/lib/breakpoints.js +23 -0
- package/dist/lib/create-theme.d.ts +162 -0
- package/dist/lib/create-theme.d.ts.map +1 -0
- package/dist/lib/create-theme.js +138 -0
- package/dist/lib/scheduler.js +2 -2
- package/dist/lib/themes.d.ts +17 -7
- package/dist/lib/themes.d.ts.map +1 -1
- package/dist/lib/themes.js +22 -8
- package/dist/lib/use-media-query.d.ts +9 -0
- package/dist/lib/use-media-query.d.ts.map +1 -1
- package/dist/lib/use-media-query.js +28 -1
- package/dist/primitives/Alert.d.ts +1 -1
- package/dist/primitives/Badge.d.ts +2 -2
- package/dist/primitives/Button.d.ts +2 -2
- package/dist/primitives/Container.d.ts +2 -2
- package/dist/primitives/Fab.d.ts +4 -4
- package/dist/primitives/Grid.d.ts +2 -1
- package/dist/primitives/Grid.d.ts.map +1 -1
- package/dist/primitives/Grid.js +10 -2
- package/dist/primitives/IconButton.d.ts +2 -2
- package/dist/primitives/ToggleButton.d.ts +1 -1
- package/dist/theme/SpatikaThemeProvider.d.ts +4 -5
- package/dist/theme/SpatikaThemeProvider.d.ts.map +1 -1
- package/dist/theme/SpatikaThemeProvider.js +28 -13
- package/package.json +4 -2
- package/skills/spatika-ui/SKILL.md +25 -6
- package/src/composites/EventCalendar.test.tsx +293 -0
- package/src/composites/EventCalendar.tsx +3 -3
- package/src/composites/RichTextEditor.test.tsx +51 -0
- package/src/composites/RichTextEditor.tsx +20 -84
- package/src/composites/chart-ui.test.tsx +21 -0
- package/src/composites/scheduler.test.tsx +0 -258
- package/src/index.test.ts +6 -0
- package/src/index.ts +138 -72
- package/src/lib/breakpoints.test.ts +29 -0
- package/src/lib/breakpoints.ts +28 -0
- package/src/lib/create-theme.test.ts +79 -0
- package/src/lib/create-theme.ts +249 -0
- package/src/lib/scheduler.test.ts +10 -0
- package/src/lib/scheduler.ts +2 -2
- package/src/lib/themes.test.ts +17 -0
- package/src/lib/themes.ts +43 -12
- package/src/lib/use-media-query.test.tsx +80 -0
- package/src/lib/use-media-query.ts +35 -1
- package/src/primitives/Grid.test.tsx +55 -0
- package/src/primitives/Grid.tsx +13 -3
- package/src/primitives/mui-more.test.tsx +17 -0
- package/src/theme/SpatikaThemeProvider.test.tsx +38 -0
- package/src/theme/SpatikaThemeProvider.tsx +43 -15
- package/src/composites/ChartDataGrid.test.tsx +0 -57
- package/src/composites/ChartDataGrid.tsx +0 -196
- package/src/composites/MapChart.test.tsx +0 -39
- package/src/composites/MapChart.tsx +0 -130
- package/src/composites/ScatterWebGL.test.tsx +0 -25
- package/src/composites/ScatterWebGL.tsx +0 -79
- package/src/composites/cartesian-charts.test.tsx +0 -136
- package/src/composites/cartesian-charts.tsx +0 -1355
- package/src/composites/chart-composition.test.tsx +0 -68
- package/src/composites/chart-composition.tsx +0 -1039
- package/src/composites/chart-interaction.ts +0 -136
- package/src/composites/chart-ui.tsx +0 -336
- package/src/composites/charts-3d.test.tsx +0 -25
- package/src/composites/charts-3d.tsx +0 -318
- package/src/composites/charts.test.tsx +0 -254
- package/src/composites/flow-charts.test.tsx +0 -98
- package/src/composites/flow-charts.tsx +0 -641
- package/src/composites/radial-charts.test.tsx +0 -89
- package/src/composites/radial-charts.tsx +0 -643
- package/src/lib/chart-export.test.ts +0 -20
- package/src/lib/chart-export.ts +0 -99
- package/src/lib/charts-platform.test.ts +0 -93
- package/src/lib/charts.test.ts +0 -132
- package/src/lib/charts.ts +0 -1021
- package/src/lib/geo.test.ts +0 -42
- package/src/lib/geo.ts +0 -138
- package/src/lib/iso.test.ts +0 -22
- package/src/lib/iso.ts +0 -102
- package/src/lib/webgl-scatter.test.ts +0 -36
- package/src/lib/webgl-scatter.ts +0 -230
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { fireEvent, render, screen } from "@testing-library/react";
|
|
2
|
-
import { describe, expect, it, vi } from "vitest";
|
|
3
|
-
import { Gauge, LinearGauge, PieChart, RadarChart } from "./radial-charts";
|
|
4
|
-
|
|
5
|
-
describe("radial-charts", () => {
|
|
6
|
-
it("renders a pie chart from slice values", () => {
|
|
7
|
-
const { container } = render(
|
|
8
|
-
<PieChart
|
|
9
|
-
width={200}
|
|
10
|
-
height={200}
|
|
11
|
-
series={[{ data: [{ value: 10, label: "A" }, { value: 20, label: "B" }] }]}
|
|
12
|
-
/>,
|
|
13
|
-
);
|
|
14
|
-
expect(container.querySelector('[data-slot="pie-chart"]')).toBeTruthy();
|
|
15
|
-
expect(screen.getByRole("button", { name: "A" })).toBeInTheDocument();
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it("fires onItemClick from a pie slice", () => {
|
|
19
|
-
const onItemClick = vi.fn();
|
|
20
|
-
const { container } = render(
|
|
21
|
-
<PieChart
|
|
22
|
-
width={200}
|
|
23
|
-
height={200}
|
|
24
|
-
hideLegend
|
|
25
|
-
series={[{ data: [{ value: 10, label: "A" }, { value: 20, label: "B" }] }]}
|
|
26
|
-
onItemClick={onItemClick}
|
|
27
|
-
/>,
|
|
28
|
-
);
|
|
29
|
-
fireEvent.click(container.querySelector(".spk-chart-mark--interactive")!);
|
|
30
|
-
expect(onItemClick).toHaveBeenCalledWith(expect.objectContaining({ seriesLabel: "A", value: 10 }));
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
it("renders a single-value gauge with a percent label", () => {
|
|
34
|
-
render(<Gauge value={40} width={160} height={120} />);
|
|
35
|
-
expect(screen.getByRole("img", { name: "Gauge 40" })).toBeInTheDocument();
|
|
36
|
-
expect(screen.getByText("40%")).toBeInTheDocument();
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it("renders a segmented gauge with a section legend", () => {
|
|
40
|
-
const { container } = render(
|
|
41
|
-
<Gauge
|
|
42
|
-
width={160}
|
|
43
|
-
height={120}
|
|
44
|
-
startAngle={-90}
|
|
45
|
-
endAngle={90}
|
|
46
|
-
sections={[
|
|
47
|
-
{ value: 40, label: "v5" },
|
|
48
|
-
{ value: 35, label: "v6" },
|
|
49
|
-
{ value: 25, label: "v7" },
|
|
50
|
-
]}
|
|
51
|
-
/>,
|
|
52
|
-
);
|
|
53
|
-
expect(container.querySelector('[data-slot="gauge"]')).toBeTruthy();
|
|
54
|
-
expect(screen.getByRole("button", { name: "v5" })).toBeInTheDocument();
|
|
55
|
-
expect(container.querySelectorAll('[data-slot="gauge"] path').length).toBe(3);
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
it("hides the section legend and accepts a text formatter", () => {
|
|
59
|
-
render(
|
|
60
|
-
<Gauge
|
|
61
|
-
value={72}
|
|
62
|
-
width={160}
|
|
63
|
-
height={120}
|
|
64
|
-
hideLegend
|
|
65
|
-
text={(value) => `${value} pts`}
|
|
66
|
-
sections={[{ value: 1, label: "hidden" }]}
|
|
67
|
-
/>,
|
|
68
|
-
);
|
|
69
|
-
expect(screen.queryByRole("button", { name: "hidden" })).not.toBeInTheDocument();
|
|
70
|
-
expect(screen.getByText("72 pts")).toBeInTheDocument();
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
it("renders a linear gauge and a radar polygon", () => {
|
|
74
|
-
const { container } = render(
|
|
75
|
-
<div>
|
|
76
|
-
<LinearGauge value={25} width={200} />
|
|
77
|
-
<RadarChart
|
|
78
|
-
width={220}
|
|
79
|
-
height={220}
|
|
80
|
-
radar={{ metrics: ["A", "B", "C"] }}
|
|
81
|
-
series={[{ label: "One", data: [3, 5, 4] }]}
|
|
82
|
-
/>
|
|
83
|
-
</div>,
|
|
84
|
-
);
|
|
85
|
-
expect(container.querySelector('[data-slot="linear-gauge"]')).toBeTruthy();
|
|
86
|
-
expect(container.querySelector('[data-slot="radar-chart"]')).toBeTruthy();
|
|
87
|
-
expect(screen.getByRole("button", { name: "One" })).toBeInTheDocument();
|
|
88
|
-
});
|
|
89
|
-
});
|