@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.
Files changed (93) hide show
  1. package/AGENTS.md +6 -3
  2. package/README.md +1 -1
  3. package/dist/composites/EventCalendar.js +3 -3
  4. package/dist/composites/GlassCard.d.ts +1 -1
  5. package/dist/composites/RichTextEditor.d.ts +1 -4
  6. package/dist/composites/RichTextEditor.d.ts.map +1 -1
  7. package/dist/composites/RichTextEditor.js +12 -19
  8. package/dist/composites/SurfaceCard.d.ts +1 -1
  9. package/dist/composites/Tag.d.ts +2 -2
  10. package/dist/index.d.ts +8 -22
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +5 -11
  13. package/dist/lib/breakpoints.d.ts +17 -0
  14. package/dist/lib/breakpoints.d.ts.map +1 -0
  15. package/dist/lib/breakpoints.js +23 -0
  16. package/dist/lib/create-theme.d.ts +162 -0
  17. package/dist/lib/create-theme.d.ts.map +1 -0
  18. package/dist/lib/create-theme.js +138 -0
  19. package/dist/lib/scheduler.js +2 -2
  20. package/dist/lib/themes.d.ts +17 -7
  21. package/dist/lib/themes.d.ts.map +1 -1
  22. package/dist/lib/themes.js +22 -8
  23. package/dist/lib/use-media-query.d.ts +9 -0
  24. package/dist/lib/use-media-query.d.ts.map +1 -1
  25. package/dist/lib/use-media-query.js +28 -1
  26. package/dist/primitives/Alert.d.ts +1 -1
  27. package/dist/primitives/Badge.d.ts +2 -2
  28. package/dist/primitives/Button.d.ts +2 -2
  29. package/dist/primitives/Container.d.ts +2 -2
  30. package/dist/primitives/Fab.d.ts +4 -4
  31. package/dist/primitives/Grid.d.ts +2 -1
  32. package/dist/primitives/Grid.d.ts.map +1 -1
  33. package/dist/primitives/Grid.js +10 -2
  34. package/dist/primitives/IconButton.d.ts +2 -2
  35. package/dist/primitives/ToggleButton.d.ts +1 -1
  36. package/dist/theme/SpatikaThemeProvider.d.ts +4 -5
  37. package/dist/theme/SpatikaThemeProvider.d.ts.map +1 -1
  38. package/dist/theme/SpatikaThemeProvider.js +28 -13
  39. package/package.json +4 -2
  40. package/skills/spatika-ui/SKILL.md +25 -6
  41. package/src/composites/EventCalendar.test.tsx +293 -0
  42. package/src/composites/EventCalendar.tsx +3 -3
  43. package/src/composites/RichTextEditor.test.tsx +51 -0
  44. package/src/composites/RichTextEditor.tsx +20 -84
  45. package/src/composites/chart-ui.test.tsx +21 -0
  46. package/src/composites/scheduler.test.tsx +0 -258
  47. package/src/index.test.ts +6 -0
  48. package/src/index.ts +138 -72
  49. package/src/lib/breakpoints.test.ts +29 -0
  50. package/src/lib/breakpoints.ts +28 -0
  51. package/src/lib/create-theme.test.ts +79 -0
  52. package/src/lib/create-theme.ts +249 -0
  53. package/src/lib/scheduler.test.ts +10 -0
  54. package/src/lib/scheduler.ts +2 -2
  55. package/src/lib/themes.test.ts +17 -0
  56. package/src/lib/themes.ts +43 -12
  57. package/src/lib/use-media-query.test.tsx +80 -0
  58. package/src/lib/use-media-query.ts +35 -1
  59. package/src/primitives/Grid.test.tsx +55 -0
  60. package/src/primitives/Grid.tsx +13 -3
  61. package/src/primitives/mui-more.test.tsx +17 -0
  62. package/src/theme/SpatikaThemeProvider.test.tsx +38 -0
  63. package/src/theme/SpatikaThemeProvider.tsx +43 -15
  64. package/src/composites/ChartDataGrid.test.tsx +0 -57
  65. package/src/composites/ChartDataGrid.tsx +0 -196
  66. package/src/composites/MapChart.test.tsx +0 -39
  67. package/src/composites/MapChart.tsx +0 -130
  68. package/src/composites/ScatterWebGL.test.tsx +0 -25
  69. package/src/composites/ScatterWebGL.tsx +0 -79
  70. package/src/composites/cartesian-charts.test.tsx +0 -136
  71. package/src/composites/cartesian-charts.tsx +0 -1355
  72. package/src/composites/chart-composition.test.tsx +0 -68
  73. package/src/composites/chart-composition.tsx +0 -1039
  74. package/src/composites/chart-interaction.ts +0 -136
  75. package/src/composites/chart-ui.tsx +0 -336
  76. package/src/composites/charts-3d.test.tsx +0 -25
  77. package/src/composites/charts-3d.tsx +0 -318
  78. package/src/composites/charts.test.tsx +0 -254
  79. package/src/composites/flow-charts.test.tsx +0 -98
  80. package/src/composites/flow-charts.tsx +0 -641
  81. package/src/composites/radial-charts.test.tsx +0 -89
  82. package/src/composites/radial-charts.tsx +0 -643
  83. package/src/lib/chart-export.test.ts +0 -20
  84. package/src/lib/chart-export.ts +0 -99
  85. package/src/lib/charts-platform.test.ts +0 -93
  86. package/src/lib/charts.test.ts +0 -132
  87. package/src/lib/charts.ts +0 -1021
  88. package/src/lib/geo.test.ts +0 -42
  89. package/src/lib/geo.ts +0 -138
  90. package/src/lib/iso.test.ts +0 -22
  91. package/src/lib/iso.ts +0 -102
  92. package/src/lib/webgl-scatter.test.ts +0 -36
  93. 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
- });