exploreda 0.0.5 → 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 -10858
  3. package/dist/ExplorEda.cjs.map +1 -1
  4. package/dist/ExplorEda.css +2332 -1653
  5. package/dist/ExplorEda.css.map +1 -1
  6. package/dist/ExplorEda.d.cts +125 -278
  7. package/dist/ExplorEda.d.ts +125 -278
  8. package/dist/ExplorEda.js +4521 -10782
  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 +32 -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.5",
4
+ "version": "0.1.0",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",
@@ -20,7 +20,22 @@
20
20
  "require": "./dist/ExplorEda.cjs",
21
21
  "import": "./dist/ExplorEda.js"
22
22
  },
23
- "./dist/ExplorEda.css": "./dist/ExplorEda.css"
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
+ },
33
+ "./dist/ExplorEda.css": "./dist/ExplorEda.css",
34
+ "./calculations": {
35
+ "types": "./dist/calculations.d.ts",
36
+ "require": "./dist/calculations.cjs",
37
+ "import": "./dist/calculations.js"
38
+ }
24
39
  },
25
40
  "main": "./dist/ExplorEda.cjs",
26
41
  "module": "./dist/ExplorEda.js",
@@ -29,27 +44,14 @@
29
44
  "@dnd-kit/core": "^6.3.1",
30
45
  "@dnd-kit/sortable": "^10.0.0",
31
46
  "@dnd-kit/utilities": "^3.2.2",
32
- "@hookform/resolvers": "^4.1.0",
33
- "@radix-ui/react-accordion": "^1.2.3",
34
47
  "@radix-ui/react-alert-dialog": "^1.1.6",
35
- "@radix-ui/react-aspect-ratio": "^1.1.2",
36
- "@radix-ui/react-avatar": "^1.1.3",
37
- "@radix-ui/react-checkbox": "^1.1.4",
38
- "@radix-ui/react-collapsible": "^1.1.3",
39
- "@radix-ui/react-context-menu": "^2.2.6",
40
48
  "@radix-ui/react-dialog": "^1.1.6",
41
49
  "@radix-ui/react-dropdown-menu": "^2.1.6",
42
- "@radix-ui/react-hover-card": "^1.1.6",
43
- "@radix-ui/react-icons": "^1.3.2",
44
50
  "@radix-ui/react-label": "^2.1.2",
45
- "@radix-ui/react-menubar": "^1.1.6",
46
- "@radix-ui/react-navigation-menu": "^1.2.5",
47
51
  "@radix-ui/react-popover": "^1.1.6",
48
52
  "@radix-ui/react-progress": "^1.1.2",
49
- "@radix-ui/react-radio-group": "^1.2.3",
50
53
  "@radix-ui/react-scroll-area": "^1.2.3",
51
54
  "@radix-ui/react-select": "^2.1.6",
52
- "@radix-ui/react-separator": "^1.1.2",
53
55
  "@radix-ui/react-slider": "^1.2.3",
54
56
  "@radix-ui/react-slot": "^1.1.2",
55
57
  "@radix-ui/react-switch": "^1.1.3",
@@ -58,73 +60,46 @@
58
60
  "@radix-ui/react-toggle-group": "^1.1.2",
59
61
  "@radix-ui/react-tooltip": "^1.1.8",
60
62
  "@tailwindcss/postcss": "^4.0.14",
61
- "@tiptap/extension-code-block-lowlight": "^2.11.5",
62
63
  "@tiptap/extension-color": "^2.11.5",
63
- "@tiptap/extension-heading": "^2.11.5",
64
- "@tiptap/extension-horizontal-rule": "^2.11.5",
65
- "@tiptap/extension-image": "^2.11.5",
66
- "@tiptap/extension-link": "^2.11.5",
67
- "@tiptap/extension-placeholder": "^2.11.5",
64
+ "@tiptap/extension-list-item": "^2.11.5",
68
65
  "@tiptap/extension-text-style": "^2.11.5",
69
- "@tiptap/extension-typography": "^2.11.5",
70
- "@tiptap/extension-underline": "^2.11.5",
71
- "@tiptap/pm": "^2.11.5",
72
66
  "@tiptap/react": "^2.11.5",
73
67
  "@tiptap/starter-kit": "^2.11.5",
74
- "@types/d3-array": "^3.2.1",
75
- "@types/d3-scale": "^4.0.9",
76
- "@types/d3-scale-chromatic": "^3.1.0",
77
- "@types/react-grid-layout": "^1.3.5",
78
- "@types/three": "^0.174.0",
79
68
  "class-variance-authority": "^0.7.1",
80
69
  "clsx": "^2.1.1",
81
70
  "cmdk": "1.0.0",
82
71
  "crossfilter2": "^1.5.4",
83
72
  "d3-array": "^3.2.4",
84
- "d3-axis": "^3.0.0",
85
73
  "d3-scale": "^4.0.2",
86
74
  "d3-scale-chromatic": "^3.1.0",
87
- "d3-selection": "^3.0.0",
88
75
  "d3-time-format": "^4.1.0",
89
- "date-fns": "^4.1.0",
90
- "embla-carousel-react": "^8.5.2",
91
- "framer-motion": "^12.4.10",
92
- "immer": "^10.1.1",
93
- "input-otp": "^1.4.2",
94
- "lowlight": "^3.3.0",
95
76
  "lucide-react": "^0.475.0",
96
77
  "natsort": "^2.0.3",
97
78
  "next-themes": "^0.4.4",
98
79
  "ohm-js": "^17.1.0",
99
- "papaparse": "^5.5.2",
100
- "react": "^19.0.0",
101
80
  "react-colorful": "^5.6.1",
102
- "react-day-picker": "8.10.1",
103
- "react-dom": "^19.0.0",
104
- "react-dropzone": "^14.3.5",
105
81
  "react-fast-compare": "^3.2.2",
106
82
  "react-grid-layout": "^1.5.0",
107
- "react-hook-form": "^7.54.2",
108
- "react-medium-image-zoom": "^5.2.14",
109
83
  "react-resizable": "^3.0.5",
110
- "react-resizable-panels": "^2.1.7",
111
- "react-router": "^7.2.0",
112
- "react-router-dom": "^7.2.0",
113
- "react-use": "^17.6.0",
114
84
  "sonner": "^1.7.4",
115
85
  "tailwind-merge": "^3.0.1",
116
86
  "tailwindcss-animate": "^1.0.7",
117
87
  "three": "^0.174.0",
118
88
  "use-custom-compare": "^1.4.0",
119
- "vaul": "^1.1.2",
120
- "zod": "^3.24.2",
121
89
  "zustand": "^5.0.3"
122
90
  },
91
+ "peerDependencies": {
92
+ "react": "^18.0.0 || ^19.0.0",
93
+ "react-dom": "^18.0.0 || ^19.0.0"
94
+ },
123
95
  "devDependencies": {
124
96
  "@eslint/js": "^9.19.0",
125
97
  "@testing-library/jest-dom": "^6.6.3",
126
98
  "@testing-library/react": "^16.2.0",
127
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",
128
103
  "@types/d3-selection": "^3.0.11",
129
104
  "@types/d3-shape": "^3.1.7",
130
105
  "@types/d3-time-format": "^4.0.3",
@@ -134,6 +109,8 @@
134
109
  "@types/papaparse": "^5.3.15",
135
110
  "@types/react": "^19.0.8",
136
111
  "@types/react-dom": "^19.0.3",
112
+ "@types/react-grid-layout": "^1.3.5",
113
+ "@types/three": "^0.174.0",
137
114
  "@vitejs/plugin-react": "^4.3.4",
138
115
  "@vitest/coverage-v8": "^3.0.7",
139
116
  "d3-shape": "^3.2.0",
@@ -144,9 +121,10 @@
144
121
  "jsdom": "^26.0.0",
145
122
  "postcss": "^8.5.3",
146
123
  "prettier": "^3.5.3",
124
+ "react": "^19.0.0",
125
+ "react-dom": "^19.0.0",
147
126
  "tailwindcss": "^4.0.14",
148
127
  "tsup": "^8.4.0",
149
- "turbo": "^2.4.4",
150
128
  "typescript": "~5.4.5",
151
129
  "typescript-eslint": "^8.22.0",
152
130
  "vite": "^6.1.0",
@@ -156,10 +134,12 @@
156
134
  "scripts": {
157
135
  "dev": "tsup --watch",
158
136
  "build": "tsup",
137
+ "check-types": "tsc --noEmit",
159
138
  "test": "vitest run",
160
139
  "test:ui": "vitest --ui",
161
140
  "test:coverage": "vitest run --coverage",
141
+ "verify:lean": "node scripts/verify-lean-bundle.mjs",
162
142
  "prettier": "prettier --write ./src",
163
- "eslint": "eslint ."
143
+ "eslint": "eslint . --max-warnings=0"
164
144
  }
165
145
  }