exploreda 0.0.6 → 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 (208) hide show
  1. package/README.md +144 -0
  2. package/dist/ExplorEda.cjs +4608 -11288
  3. package/dist/ExplorEda.cjs.map +1 -1
  4. package/dist/ExplorEda.css +2282 -1689
  5. package/dist/ExplorEda.css.map +1 -1
  6. package/dist/ExplorEda.d.cts +124 -278
  7. package/dist/ExplorEda.d.ts +124 -278
  8. package/dist/ExplorEda.js +4479 -11166
  9. package/dist/ExplorEda.js.map +1 -1
  10. package/dist/calculations.cjs +18 -0
  11. package/dist/calculations.cjs.map +1 -0
  12. package/dist/calculations.d.cts +63 -0
  13. package/dist/calculations.d.ts +63 -0
  14. package/dist/calculations.js +3 -0
  15. package/dist/calculations.js.map +1 -0
  16. package/dist/charts/bar.cjs +27 -0
  17. package/dist/charts/bar.cjs.map +1 -0
  18. package/dist/charts/bar.d.cts +2 -0
  19. package/dist/charts/bar.d.ts +2 -0
  20. package/dist/charts/bar.js +18 -0
  21. package/dist/charts/bar.js.map +1 -0
  22. package/dist/charts/box-plot.cjs +26 -0
  23. package/dist/charts/box-plot.cjs.map +1 -0
  24. package/dist/charts/box-plot.d.cts +2 -0
  25. package/dist/charts/box-plot.d.ts +2 -0
  26. package/dist/charts/box-plot.js +17 -0
  27. package/dist/charts/box-plot.js.map +1 -0
  28. package/dist/charts/color-legend.cjs +22 -0
  29. package/dist/charts/color-legend.cjs.map +1 -0
  30. package/dist/charts/color-legend.d.cts +2 -0
  31. package/dist/charts/color-legend.d.ts +2 -0
  32. package/dist/charts/color-legend.js +13 -0
  33. package/dist/charts/color-legend.js.map +1 -0
  34. package/dist/charts/data-table.cjs +22 -0
  35. package/dist/charts/data-table.cjs.map +1 -0
  36. package/dist/charts/data-table.d.cts +2 -0
  37. package/dist/charts/data-table.d.ts +2 -0
  38. package/dist/charts/data-table.js +13 -0
  39. package/dist/charts/data-table.js.map +1 -0
  40. package/dist/charts/line.cjs +30 -0
  41. package/dist/charts/line.cjs.map +1 -0
  42. package/dist/charts/line.d.cts +2 -0
  43. package/dist/charts/line.d.ts +2 -0
  44. package/dist/charts/line.js +17 -0
  45. package/dist/charts/line.js.map +1 -0
  46. package/dist/charts/markdown.cjs +16 -0
  47. package/dist/charts/markdown.cjs.map +1 -0
  48. package/dist/charts/markdown.css +77 -0
  49. package/dist/charts/markdown.css.map +1 -0
  50. package/dist/charts/markdown.d.cts +2 -0
  51. package/dist/charts/markdown.d.ts +2 -0
  52. package/dist/charts/markdown.js +7 -0
  53. package/dist/charts/markdown.js.map +1 -0
  54. package/dist/charts/pivot-table.cjs +23 -0
  55. package/dist/charts/pivot-table.cjs.map +1 -0
  56. package/dist/charts/pivot-table.d.cts +2 -0
  57. package/dist/charts/pivot-table.d.ts +2 -0
  58. package/dist/charts/pivot-table.js +14 -0
  59. package/dist/charts/pivot-table.js.map +1 -0
  60. package/dist/charts/row.cjs +27 -0
  61. package/dist/charts/row.cjs.map +1 -0
  62. package/dist/charts/row.d.cts +6 -0
  63. package/dist/charts/row.d.ts +6 -0
  64. package/dist/charts/row.js +18 -0
  65. package/dist/charts/row.js.map +1 -0
  66. package/dist/charts/scatter.cjs +24 -0
  67. package/dist/charts/scatter.cjs.map +1 -0
  68. package/dist/charts/scatter.d.cts +2 -0
  69. package/dist/charts/scatter.d.ts +2 -0
  70. package/dist/charts/scatter.js +15 -0
  71. package/dist/charts/scatter.js.map +1 -0
  72. package/dist/charts/summary-table.cjs +19 -0
  73. package/dist/charts/summary-table.cjs.map +1 -0
  74. package/dist/charts/summary-table.d.cts +2 -0
  75. package/dist/charts/summary-table.d.ts +2 -0
  76. package/dist/charts/summary-table.js +10 -0
  77. package/dist/charts/summary-table.js.map +1 -0
  78. package/dist/charts/three-d-scatter.cjs +24 -0
  79. package/dist/charts/three-d-scatter.cjs.map +1 -0
  80. package/dist/charts/three-d-scatter.d.cts +6 -0
  81. package/dist/charts/three-d-scatter.d.ts +6 -0
  82. package/dist/charts/three-d-scatter.js +15 -0
  83. package/dist/charts/three-d-scatter.js.map +1 -0
  84. package/dist/chunk-3PGYFLE3.cjs +499 -0
  85. package/dist/chunk-3PGYFLE3.cjs.map +1 -0
  86. package/dist/chunk-4HNDKMWF.js +167 -0
  87. package/dist/chunk-4HNDKMWF.js.map +1 -0
  88. package/dist/chunk-4QNENKTV.cjs +1214 -0
  89. package/dist/chunk-4QNENKTV.cjs.map +1 -0
  90. package/dist/chunk-54M32JJB.js +132 -0
  91. package/dist/chunk-54M32JJB.js.map +1 -0
  92. package/dist/chunk-5B23JVH3.cjs +2238 -0
  93. package/dist/chunk-5B23JVH3.cjs.map +1 -0
  94. package/dist/chunk-5LH6NSNL.js +456 -0
  95. package/dist/chunk-5LH6NSNL.js.map +1 -0
  96. package/dist/chunk-6DOKKCJ5.cjs +313 -0
  97. package/dist/chunk-6DOKKCJ5.cjs.map +1 -0
  98. package/dist/chunk-6HZX5CBT.cjs +1074 -0
  99. package/dist/chunk-6HZX5CBT.cjs.map +1 -0
  100. package/dist/chunk-6U5DOIQM.js +1071 -0
  101. package/dist/chunk-6U5DOIQM.js.map +1 -0
  102. package/dist/chunk-7GBZIK2R.cjs +80 -0
  103. package/dist/chunk-7GBZIK2R.cjs.map +1 -0
  104. package/dist/chunk-7PTJNIOD.js +520 -0
  105. package/dist/chunk-7PTJNIOD.js.map +1 -0
  106. package/dist/chunk-AHZYQ7FN.js +319 -0
  107. package/dist/chunk-AHZYQ7FN.js.map +1 -0
  108. package/dist/chunk-AOODAOL4.cjs +55 -0
  109. package/dist/chunk-AOODAOL4.cjs.map +1 -0
  110. package/dist/chunk-ASKFIRMC.cjs +165 -0
  111. package/dist/chunk-ASKFIRMC.cjs.map +1 -0
  112. package/dist/chunk-B7OQUBH4.cjs +171 -0
  113. package/dist/chunk-B7OQUBH4.cjs.map +1 -0
  114. package/dist/chunk-BIMEHDLB.js +72 -0
  115. package/dist/chunk-BIMEHDLB.js.map +1 -0
  116. package/dist/chunk-C62KHV7S.js +1225 -0
  117. package/dist/chunk-C62KHV7S.js.map +1 -0
  118. package/dist/chunk-C7GQT65O.cjs +1119 -0
  119. package/dist/chunk-C7GQT65O.cjs.map +1 -0
  120. package/dist/chunk-CGDWDV4Z.js +1211 -0
  121. package/dist/chunk-CGDWDV4Z.js.map +1 -0
  122. package/dist/chunk-CJQQFNEY.js +69 -0
  123. package/dist/chunk-CJQQFNEY.js.map +1 -0
  124. package/dist/chunk-DHYLSXNR.js +964 -0
  125. package/dist/chunk-DHYLSXNR.js.map +1 -0
  126. package/dist/chunk-DKFA4KOJ.cjs +87 -0
  127. package/dist/chunk-DKFA4KOJ.cjs.map +1 -0
  128. package/dist/chunk-DS5BS7PP.cjs +357 -0
  129. package/dist/chunk-DS5BS7PP.cjs.map +1 -0
  130. package/dist/chunk-EGMFQSGK.js +909 -0
  131. package/dist/chunk-EGMFQSGK.js.map +1 -0
  132. package/dist/chunk-EU5EFHO5.cjs +53 -0
  133. package/dist/chunk-EU5EFHO5.cjs.map +1 -0
  134. package/dist/chunk-FM46QSDM.js +837 -0
  135. package/dist/chunk-FM46QSDM.js.map +1 -0
  136. package/dist/chunk-GV2LRR32.cjs +843 -0
  137. package/dist/chunk-GV2LRR32.cjs.map +1 -0
  138. package/dist/chunk-H3XKFSA5.cjs +322 -0
  139. package/dist/chunk-H3XKFSA5.cjs.map +1 -0
  140. package/dist/chunk-H5AVMMCE.js +347 -0
  141. package/dist/chunk-H5AVMMCE.js.map +1 -0
  142. package/dist/chunk-JDMUN4VK.cjs +986 -0
  143. package/dist/chunk-JDMUN4VK.cjs.map +1 -0
  144. package/dist/chunk-JNO7OXCC.js +2171 -0
  145. package/dist/chunk-JNO7OXCC.js.map +1 -0
  146. package/dist/chunk-JQMG4ZR7.js +111 -0
  147. package/dist/chunk-JQMG4ZR7.js.map +1 -0
  148. package/dist/chunk-L2Q2R43U.cjs +118 -0
  149. package/dist/chunk-L2Q2R43U.cjs.map +1 -0
  150. package/dist/chunk-LBTZVERO.js +466 -0
  151. package/dist/chunk-LBTZVERO.js.map +1 -0
  152. package/dist/chunk-LUUGGTTK.cjs +1227 -0
  153. package/dist/chunk-LUUGGTTK.cjs.map +1 -0
  154. package/dist/chunk-MEEPH7ZC.cjs +911 -0
  155. package/dist/chunk-MEEPH7ZC.cjs.map +1 -0
  156. package/dist/chunk-MJPDJ5AS.js +184 -0
  157. package/dist/chunk-MJPDJ5AS.js.map +1 -0
  158. package/dist/chunk-MJROUIDZ.cjs +219 -0
  159. package/dist/chunk-MJROUIDZ.cjs.map +1 -0
  160. package/dist/chunk-MUWSBYJS.js +528 -0
  161. package/dist/chunk-MUWSBYJS.js.map +1 -0
  162. package/dist/chunk-NDF5LCST.js +1088 -0
  163. package/dist/chunk-NDF5LCST.js.map +1 -0
  164. package/dist/chunk-NGWTPED4.js +311 -0
  165. package/dist/chunk-NGWTPED4.js.map +1 -0
  166. package/dist/chunk-PP4VCONW.js +739 -0
  167. package/dist/chunk-PP4VCONW.js.map +1 -0
  168. package/dist/chunk-PRMC2A6P.cjs +488 -0
  169. package/dist/chunk-PRMC2A6P.cjs.map +1 -0
  170. package/dist/chunk-PST6UU6S.cjs +742 -0
  171. package/dist/chunk-PST6UU6S.cjs.map +1 -0
  172. package/dist/chunk-Q7LK2UWH.js +33 -0
  173. package/dist/chunk-Q7LK2UWH.js.map +1 -0
  174. package/dist/chunk-SFV5LZPD.js +162 -0
  175. package/dist/chunk-SFV5LZPD.js.map +1 -0
  176. package/dist/chunk-SKXGYJJG.cjs +370 -0
  177. package/dist/chunk-SKXGYJJG.cjs.map +1 -0
  178. package/dist/chunk-SWLNKY6R.js +477 -0
  179. package/dist/chunk-SWLNKY6R.js.map +1 -0
  180. package/dist/chunk-TGVLNHUB.cjs +483 -0
  181. package/dist/chunk-TGVLNHUB.cjs.map +1 -0
  182. package/dist/chunk-TLLRW6S3.js +74 -0
  183. package/dist/chunk-TLLRW6S3.js.map +1 -0
  184. package/dist/chunk-TRAIXZ6M.cjs +140 -0
  185. package/dist/chunk-TRAIXZ6M.cjs.map +1 -0
  186. package/dist/chunk-U74A5VK5.cjs +74 -0
  187. package/dist/chunk-U74A5VK5.cjs.map +1 -0
  188. package/dist/chunk-UAVDLBTA.cjs +74 -0
  189. package/dist/chunk-UAVDLBTA.cjs.map +1 -0
  190. package/dist/chunk-UJWS6TRV.js +354 -0
  191. package/dist/chunk-UJWS6TRV.js.map +1 -0
  192. package/dist/chunk-UUJMUPB3.cjs +531 -0
  193. package/dist/chunk-UUJMUPB3.cjs.map +1 -0
  194. package/dist/chunk-VTKHZIJB.cjs +549 -0
  195. package/dist/chunk-VTKHZIJB.cjs.map +1 -0
  196. package/dist/chunk-YXPAWUXO.js +51 -0
  197. package/dist/chunk-YXPAWUXO.js.map +1 -0
  198. package/dist/chunk-ZD64SCZB.js +80 -0
  199. package/dist/chunk-ZD64SCZB.js.map +1 -0
  200. package/dist/core.cjs +28 -0
  201. package/dist/core.cjs.map +1 -0
  202. package/dist/core.d.cts +22 -0
  203. package/dist/core.d.ts +22 -0
  204. package/dist/core.js +3 -0
  205. package/dist/core.js.map +1 -0
  206. package/dist/dataLayerState-B4XmQjQN.d.cts +258 -0
  207. package/dist/dataLayerState-B4XmQjQN.d.ts +258 -0
  208. package/package.json +30 -52
@@ -0,0 +1,258 @@
1
+ import * as THREE from 'three';
2
+
3
+ interface FilterBase {
4
+ type: string;
5
+ field: string;
6
+ }
7
+ interface ValueFilter extends FilterBase {
8
+ type: "value";
9
+ values: Array<datum$1>;
10
+ }
11
+ interface RangeFilter extends FilterBase {
12
+ type: "range";
13
+ min?: number;
14
+ max?: number;
15
+ }
16
+ interface TextFilter extends FilterBase {
17
+ type: "text";
18
+ operator: "contains" | "equals" | "startsWith" | "endsWith";
19
+ value: string;
20
+ }
21
+ interface DateRangeFilter extends FilterBase {
22
+ type: "date-range";
23
+ min?: string;
24
+ max?: string;
25
+ }
26
+ type Filter = ValueFilter | RangeFilter | TextFilter | DateRangeFilter;
27
+ type datum$1 = string | number | boolean | null | undefined;
28
+
29
+ interface BarChartSettings extends BaseChartSettings {
30
+ type: "bar";
31
+ binCount?: number;
32
+ forceString?: boolean;
33
+ aggregateId?: string;
34
+ filters: Filter[];
35
+ }
36
+ declare const barChartDefinition: ChartDefinition<BarChartSettings>;
37
+
38
+ interface DataTableSettings extends BaseChartSettings {
39
+ type: "data-table";
40
+ columns: Array<{
41
+ id: string;
42
+ field: string;
43
+ width?: number;
44
+ }>;
45
+ sortBy?: string;
46
+ sortDirection: "asc" | "desc";
47
+ filters: Filter[];
48
+ globalSearch: string;
49
+ }
50
+ declare const dataTableDefinition: ChartDefinition<DataTableSettings>;
51
+
52
+ interface MarkdownSettings extends BaseChartSettings {
53
+ type: "markdown";
54
+ content: string;
55
+ }
56
+ declare const markdownDefinition: ChartDefinition<MarkdownSettings>;
57
+
58
+ interface PivotTableSettings extends BaseChartSettings {
59
+ type: "pivot";
60
+ rowFields: string[];
61
+ columnField: string;
62
+ valueFields: Array<{
63
+ field: string;
64
+ aggregation: "sum" | "count" | "avg" | "min" | "max" | "median" | "mode" | "stddev" | "variance" | "countUnique" | "singleValue";
65
+ label?: string;
66
+ }>;
67
+ }
68
+ declare const pivotTableDefinition: ChartDefinition<PivotTableSettings>;
69
+
70
+ interface ScatterPlotSettings extends BaseChartSettings {
71
+ type: "scatter";
72
+ pointSize?: number;
73
+ pointOpacity?: number;
74
+ xField: string;
75
+ yField: string;
76
+ filters: Filter[];
77
+ }
78
+ declare const scatterPlotDefinition: ChartDefinition<ScatterPlotSettings>;
79
+
80
+ interface SummaryTableSettings extends BaseChartSettings {
81
+ type: "summary";
82
+ }
83
+ declare const summaryTableDefinition: ChartDefinition<SummaryTableSettings>;
84
+
85
+ interface ThreeDScatterSettings extends BaseChartSettings {
86
+ type: "3d-scatter";
87
+ xField: string;
88
+ yField: string;
89
+ zField: string;
90
+ colorField: string | undefined;
91
+ sizeField?: string;
92
+ cameraPosition: THREE.Vector3;
93
+ cameraTarget: THREE.Vector3;
94
+ pointSize: number;
95
+ pointOpacity: number;
96
+ showGrid: boolean;
97
+ showAxes: boolean;
98
+ xAxis: AxisSettings & {
99
+ zoomLevel: number;
100
+ };
101
+ yAxis: AxisSettings & {
102
+ zoomLevel: number;
103
+ };
104
+ zAxis: AxisSettings & {
105
+ zoomLevel: number;
106
+ };
107
+ }
108
+
109
+ interface BoxPlotStyleSettings {
110
+ boxFill: string;
111
+ boxStroke: string;
112
+ boxStrokeWidth: number;
113
+ medianStroke: string;
114
+ medianStrokeWidth: number;
115
+ whiskerStroke: string;
116
+ whiskerStrokeWidth: number;
117
+ outlierSize: number;
118
+ outlierStroke: string;
119
+ outlierFill: string;
120
+ }
121
+ interface BoxPlotSettings extends BaseChartSettings {
122
+ type: "boxplot";
123
+ whiskerType: "tukey" | "minmax" | "stdDev";
124
+ showOutliers: boolean;
125
+ violinOverlay: boolean;
126
+ beeSwarmOverlay: boolean;
127
+ styles: BoxPlotStyleSettings;
128
+ filters: Filter[];
129
+ sortBy: "median" | "label";
130
+ violinBandwidth: number;
131
+ autoBandwidth: boolean;
132
+ }
133
+ declare const boxPlotDefinition: ChartDefinition<BoxPlotSettings>;
134
+
135
+ interface SeriesSettings {
136
+ showPoints: boolean;
137
+ pointSize: number;
138
+ pointOpacity: number;
139
+ lineWidth: number;
140
+ lineOpacity: number;
141
+ lineColor?: string;
142
+ lineStyle: "solid" | "dashed" | "dotted";
143
+ useRightAxis: boolean;
144
+ }
145
+ interface LineChartSettings extends BaseChartSettings {
146
+ type: "line";
147
+ xField: string;
148
+ seriesField: string[];
149
+ seriesSettings: Record<string, SeriesSettings>;
150
+ styles: {
151
+ curveType: "linear" | "monotoneX" | "step";
152
+ };
153
+ showXGrid: boolean;
154
+ showYGrid: boolean;
155
+ showLegend: boolean;
156
+ legendPosition: "top" | "right" | "bottom" | "left";
157
+ }
158
+ declare const DEFAULT_SERIES_SETTINGS: SeriesSettings;
159
+ declare const lineChartDefinition: ChartDefinition<LineChartSettings>;
160
+
161
+ interface ColorLegendSettings extends BaseChartSettings {
162
+ type: "color-legend";
163
+ fields: string[];
164
+ numericalBreakpoints: number;
165
+ wrap: boolean;
166
+ }
167
+ declare const colorLegendDefinition: ChartDefinition<ColorLegendSettings>;
168
+
169
+ interface ChartLayout {
170
+ x: number;
171
+ y: number;
172
+ w: number;
173
+ h: number;
174
+ }
175
+ interface BaseFacetSettings {
176
+ enabled: boolean;
177
+ type: "grid" | "wrap";
178
+ /** Ordered facet IDs to display. Undefined shows all; [] shows none. */
179
+ visibleFacetIds?: string[];
180
+ }
181
+ interface GridFacetSettings extends BaseFacetSettings {
182
+ type: "grid";
183
+ rowVariable: string;
184
+ columnVariable: string;
185
+ }
186
+ interface WrapFacetSettings extends BaseFacetSettings {
187
+ type: "wrap";
188
+ rowVariable: string;
189
+ columnCount: number;
190
+ }
191
+ type FacetSettings = GridFacetSettings | WrapFacetSettings;
192
+ interface AxisSettings {
193
+ title?: string;
194
+ scaleType?: "linear" | "log" | "time" | "band" | "symlog";
195
+ grid?: boolean;
196
+ min?: number;
197
+ max?: number;
198
+ }
199
+ interface MarginSettings {
200
+ top: number;
201
+ right: number;
202
+ bottom: number;
203
+ left: number;
204
+ }
205
+ interface BaseChartSettings {
206
+ id: string;
207
+ title: string;
208
+ type: string;
209
+ field: string;
210
+ layout: ChartLayout;
211
+ colorScaleId: string | undefined;
212
+ colorField: string | undefined;
213
+ facet: FacetSettings;
214
+ xAxis: AxisSettings;
215
+ yAxis: AxisSettings;
216
+ margin: MarginSettings;
217
+ filters: Filter[];
218
+ xAxisLabel: string;
219
+ yAxisLabel: string;
220
+ xGridLines: number;
221
+ yGridLines: number;
222
+ }
223
+ interface RowChartSettings extends BaseChartSettings {
224
+ type: "row";
225
+ minRowHeight: number;
226
+ maxRowHeight: number;
227
+ }
228
+ type ChartSettings = RowChartSettings | BarChartSettings | ScatterPlotSettings | PivotTableSettings | ThreeDScatterSettings | SummaryTableSettings | DataTableSettings | MarkdownSettings | BoxPlotSettings | LineChartSettings | ColorLegendSettings;
229
+ type ChartType = ChartSettings["type"];
230
+ interface ChartSettingsPanelProps<TSettings extends BaseChartSettings = BaseChartSettings> {
231
+ settings: TSettings;
232
+ onSettingsChange: (settings: TSettings) => void;
233
+ }
234
+ interface BaseChartProps<TSettings extends BaseChartSettings = BaseChartSettings> {
235
+ settings: TSettings;
236
+ width: number;
237
+ height: number;
238
+ facetIds?: IdType[];
239
+ toolbarTarget?: HTMLElement | null;
240
+ }
241
+ type datum = string | number | boolean | null | undefined;
242
+ interface ChartDefinition<TSettings extends BaseChartSettings = BaseChartSettings> {
243
+ type: TSettings["type"];
244
+ name: string;
245
+ description: string;
246
+ icon: React.ComponentType<{
247
+ className?: string;
248
+ }>;
249
+ component: React.ComponentType<BaseChartProps<TSettings>>;
250
+ settingsPanel: React.ComponentType<ChartSettingsPanelProps<TSettings>>;
251
+ createDefaultSettings: (layout: ChartLayout, field?: string) => TSettings;
252
+ validateSettings: (settings: TSettings) => boolean;
253
+ getFilterFunction: (settings: TSettings, fieldGetter: (name: string) => Record<IdType, datum>) => (d: IdType) => boolean;
254
+ }
255
+
256
+ type IdType = number;
257
+
258
+ export { type BarChartSettings as B, type ChartSettings as C, type DataTableSettings as D, type Filter as F, type LineChartSettings as L, type MarkdownSettings as M, type PivotTableSettings as P, type RowChartSettings as R, type ScatterPlotSettings as S, type ThreeDScatterSettings as T, type ChartDefinition as a, type ChartType as b, barChartDefinition as c, type datum as d, dataTableDefinition as e, type SummaryTableSettings as f, summaryTableDefinition as g, type BoxPlotStyleSettings as h, type BoxPlotSettings as i, boxPlotDefinition as j, type SeriesSettings as k, DEFAULT_SERIES_SETTINGS as l, markdownDefinition as m, lineChartDefinition as n, type ColorLegendSettings as o, pivotTableDefinition as p, colorLegendDefinition as q, scatterPlotDefinition as s };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "exploreda",
3
3
  "private": false,
4
- "version": "0.0.6",
4
+ "version": "0.1.0",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",
@@ -20,8 +20,22 @@
20
20
  "require": "./dist/ExplorEda.cjs",
21
21
  "import": "./dist/ExplorEda.js"
22
22
  },
23
+ "./core": {
24
+ "types": "./dist/core.d.ts",
25
+ "require": "./dist/core.cjs",
26
+ "import": "./dist/core.js"
27
+ },
28
+ "./charts/*": {
29
+ "types": "./dist/charts/*.d.ts",
30
+ "require": "./dist/charts/*.cjs",
31
+ "import": "./dist/charts/*.js"
32
+ },
23
33
  "./dist/ExplorEda.css": "./dist/ExplorEda.css",
24
- "./types/SavedDataStructure": "./src/types/SavedDataStructure.ts"
34
+ "./calculations": {
35
+ "types": "./dist/calculations.d.ts",
36
+ "require": "./dist/calculations.cjs",
37
+ "import": "./dist/calculations.js"
38
+ }
25
39
  },
26
40
  "main": "./dist/ExplorEda.cjs",
27
41
  "module": "./dist/ExplorEda.js",
@@ -30,27 +44,14 @@
30
44
  "@dnd-kit/core": "^6.3.1",
31
45
  "@dnd-kit/sortable": "^10.0.0",
32
46
  "@dnd-kit/utilities": "^3.2.2",
33
- "@hookform/resolvers": "^4.1.0",
34
- "@radix-ui/react-accordion": "^1.2.3",
35
47
  "@radix-ui/react-alert-dialog": "^1.1.6",
36
- "@radix-ui/react-aspect-ratio": "^1.1.2",
37
- "@radix-ui/react-avatar": "^1.1.3",
38
- "@radix-ui/react-checkbox": "^1.1.4",
39
- "@radix-ui/react-collapsible": "^1.1.3",
40
- "@radix-ui/react-context-menu": "^2.2.6",
41
48
  "@radix-ui/react-dialog": "^1.1.6",
42
49
  "@radix-ui/react-dropdown-menu": "^2.1.6",
43
- "@radix-ui/react-hover-card": "^1.1.6",
44
- "@radix-ui/react-icons": "^1.3.2",
45
50
  "@radix-ui/react-label": "^2.1.2",
46
- "@radix-ui/react-menubar": "^1.1.6",
47
- "@radix-ui/react-navigation-menu": "^1.2.5",
48
51
  "@radix-ui/react-popover": "^1.1.6",
49
52
  "@radix-ui/react-progress": "^1.1.2",
50
- "@radix-ui/react-radio-group": "^1.2.3",
51
53
  "@radix-ui/react-scroll-area": "^1.2.3",
52
54
  "@radix-ui/react-select": "^2.1.6",
53
- "@radix-ui/react-separator": "^1.1.2",
54
55
  "@radix-ui/react-slider": "^1.2.3",
55
56
  "@radix-ui/react-slot": "^1.1.2",
56
57
  "@radix-ui/react-switch": "^1.1.3",
@@ -59,74 +60,46 @@
59
60
  "@radix-ui/react-toggle-group": "^1.1.2",
60
61
  "@radix-ui/react-tooltip": "^1.1.8",
61
62
  "@tailwindcss/postcss": "^4.0.14",
62
- "@tiptap/extension-code-block-lowlight": "^2.11.5",
63
63
  "@tiptap/extension-color": "^2.11.5",
64
- "@tiptap/extension-heading": "^2.11.5",
65
- "@tiptap/extension-horizontal-rule": "^2.11.5",
66
- "@tiptap/extension-image": "^2.11.5",
67
- "@tiptap/extension-link": "^2.11.5",
68
64
  "@tiptap/extension-list-item": "^2.11.5",
69
- "@tiptap/extension-placeholder": "^2.11.5",
70
65
  "@tiptap/extension-text-style": "^2.11.5",
71
- "@tiptap/extension-typography": "^2.11.5",
72
- "@tiptap/extension-underline": "^2.11.5",
73
- "@tiptap/pm": "^2.11.5",
74
66
  "@tiptap/react": "^2.11.5",
75
67
  "@tiptap/starter-kit": "^2.11.5",
76
- "@types/d3-array": "^3.2.1",
77
- "@types/d3-scale": "^4.0.9",
78
- "@types/d3-scale-chromatic": "^3.1.0",
79
- "@types/react-grid-layout": "^1.3.5",
80
- "@types/three": "^0.174.0",
81
68
  "class-variance-authority": "^0.7.1",
82
69
  "clsx": "^2.1.1",
83
70
  "cmdk": "1.0.0",
84
71
  "crossfilter2": "^1.5.4",
85
72
  "d3-array": "^3.2.4",
86
- "d3-axis": "^3.0.0",
87
73
  "d3-scale": "^4.0.2",
88
74
  "d3-scale-chromatic": "^3.1.0",
89
- "d3-selection": "^3.0.0",
90
75
  "d3-time-format": "^4.1.0",
91
- "date-fns": "^4.1.0",
92
- "embla-carousel-react": "^8.5.2",
93
- "framer-motion": "^12.4.10",
94
- "immer": "^10.1.1",
95
- "input-otp": "^1.4.2",
96
- "lowlight": "^3.3.0",
97
76
  "lucide-react": "^0.475.0",
98
77
  "natsort": "^2.0.3",
99
78
  "next-themes": "^0.4.4",
100
79
  "ohm-js": "^17.1.0",
101
- "papaparse": "^5.5.2",
102
- "react": "^19.0.0",
103
80
  "react-colorful": "^5.6.1",
104
- "react-day-picker": "8.10.1",
105
- "react-dom": "^19.0.0",
106
- "react-dropzone": "^14.3.5",
107
81
  "react-fast-compare": "^3.2.2",
108
82
  "react-grid-layout": "^1.5.0",
109
- "react-hook-form": "^7.54.2",
110
- "react-medium-image-zoom": "^5.2.14",
111
83
  "react-resizable": "^3.0.5",
112
- "react-resizable-panels": "^2.1.7",
113
- "react-router": "^7.2.0",
114
- "react-router-dom": "^7.2.0",
115
- "react-use": "^17.6.0",
116
84
  "sonner": "^1.7.4",
117
85
  "tailwind-merge": "^3.0.1",
118
86
  "tailwindcss-animate": "^1.0.7",
119
87
  "three": "^0.174.0",
120
88
  "use-custom-compare": "^1.4.0",
121
- "vaul": "^1.1.2",
122
- "zod": "^3.24.2",
123
89
  "zustand": "^5.0.3"
124
90
  },
91
+ "peerDependencies": {
92
+ "react": "^18.0.0 || ^19.0.0",
93
+ "react-dom": "^18.0.0 || ^19.0.0"
94
+ },
125
95
  "devDependencies": {
126
96
  "@eslint/js": "^9.19.0",
127
97
  "@testing-library/jest-dom": "^6.6.3",
128
98
  "@testing-library/react": "^16.2.0",
129
99
  "@types/d3-axis": "^3.0.6",
100
+ "@types/d3-array": "^3.2.1",
101
+ "@types/d3-scale": "^4.0.9",
102
+ "@types/d3-scale-chromatic": "^3.1.0",
130
103
  "@types/d3-selection": "^3.0.11",
131
104
  "@types/d3-shape": "^3.1.7",
132
105
  "@types/d3-time-format": "^4.0.3",
@@ -136,6 +109,8 @@
136
109
  "@types/papaparse": "^5.3.15",
137
110
  "@types/react": "^19.0.8",
138
111
  "@types/react-dom": "^19.0.3",
112
+ "@types/react-grid-layout": "^1.3.5",
113
+ "@types/three": "^0.174.0",
139
114
  "@vitejs/plugin-react": "^4.3.4",
140
115
  "@vitest/coverage-v8": "^3.0.7",
141
116
  "d3-shape": "^3.2.0",
@@ -146,9 +121,10 @@
146
121
  "jsdom": "^26.0.0",
147
122
  "postcss": "^8.5.3",
148
123
  "prettier": "^3.5.3",
124
+ "react": "^19.0.0",
125
+ "react-dom": "^19.0.0",
149
126
  "tailwindcss": "^4.0.14",
150
127
  "tsup": "^8.4.0",
151
- "turbo": "^2.4.4",
152
128
  "typescript": "~5.4.5",
153
129
  "typescript-eslint": "^8.22.0",
154
130
  "vite": "^6.1.0",
@@ -158,10 +134,12 @@
158
134
  "scripts": {
159
135
  "dev": "tsup --watch",
160
136
  "build": "tsup",
137
+ "check-types": "tsc --noEmit",
161
138
  "test": "vitest run",
162
139
  "test:ui": "vitest --ui",
163
140
  "test:coverage": "vitest run --coverage",
141
+ "verify:lean": "node scripts/verify-lean-bundle.mjs",
164
142
  "prettier": "prettier --write ./src",
165
- "eslint": "eslint ."
143
+ "eslint": "eslint . --max-warnings=0"
166
144
  }
167
145
  }