@orbcharts/core 3.0.6 → 4.0.0-pre-alpha.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 (198) hide show
  1. package/LICENSE +200 -200
  2. package/dist/orbcharts-core.es.js +2795 -6591
  3. package/dist/orbcharts-core.umd.js +6 -6
  4. package/dist/src/OrbCharts.d.ts +18 -0
  5. package/dist/src/chart/createChart.d.ts +3 -0
  6. package/dist/src/chart/createGraphData.d.ts +3 -0
  7. package/dist/src/chart/createGridData.d.ts +3 -0
  8. package/dist/src/chart/createMultivariateData.d.ts +3 -0
  9. package/dist/src/chart/createSeriesData.d.ts +3 -0
  10. package/dist/src/chart/createTreeData.d.ts +3 -0
  11. package/dist/src/chart/defaults.d.ts +5 -0
  12. package/dist/src/defineCanvasLayer.d.ts +16 -0
  13. package/dist/src/defineCanvasPlugin.d.ts +22 -0
  14. package/dist/src/defineSVGLayer.d.ts +16 -0
  15. package/dist/src/defineSVGPlugin.d.ts +22 -0
  16. package/dist/src/index.d.ts +6 -14
  17. package/dist/src/layer/createLayer.d.ts +3 -0
  18. package/dist/src/plugin/createPlugin.d.ts +3 -0
  19. package/dist/src/test/createGraphData.test.d.ts +1 -0
  20. package/dist/src/test/createTreeData.test.d.ts +1 -0
  21. package/dist/src/test/simple-graph-test.d.ts +74 -0
  22. package/dist/src/test/simple-tree-test.d.ts +13 -0
  23. package/dist/src/types/Chart.d.ts +39 -0
  24. package/dist/src/types/ChartContext.d.ts +27 -0
  25. package/dist/src/types/Common.d.ts +3 -0
  26. package/dist/src/types/Encoding.d.ts +33 -0
  27. package/dist/src/types/Event.d.ts +12 -0
  28. package/dist/src/types/Layers.d.ts +55 -0
  29. package/dist/src/types/ModelData.d.ts +70 -0
  30. package/dist/src/types/Plugin.d.ts +39 -0
  31. package/dist/src/types/RawData.d.ts +18 -0
  32. package/dist/src/types/RenderData.d.ts +4 -0
  33. package/dist/src/types/Theme.d.ts +17 -0
  34. package/dist/src/types/Validator.d.ts +20 -0
  35. package/dist/src/types/index.d.ts +12 -0
  36. package/dist/src/utils/aggregateUtils.d.ts +37 -0
  37. package/dist/src/utils/colorUtils.d.ts +22 -0
  38. package/dist/src/utils/commonUtils.d.ts +3 -5
  39. package/dist/src/utils/dom-lifecycle.d.ts +37 -0
  40. package/dist/src/utils/dom.d.ts +6 -0
  41. package/dist/src/utils/index.d.ts +5 -1
  42. package/dist/src/utils/observables.d.ts +1 -25
  43. package/dist/src/utils/orbchartsUtils.d.ts +2 -53
  44. package/dist/src/utils/validator.d.ts +2 -2
  45. package/dist/test/aggregateTest.d.ts +1 -0
  46. package/package.json +59 -46
  47. package/src/OrbCharts.ts +35 -0
  48. package/src/chart/createChart.ts +997 -0
  49. package/src/chart/createGraphData.ts +391 -0
  50. package/src/chart/createGridData.ts +247 -0
  51. package/src/chart/createMultivariateData.ts +181 -0
  52. package/src/chart/createSeriesData.ts +297 -0
  53. package/src/chart/createTreeData.ts +344 -0
  54. package/src/chart/defaults.ts +100 -0
  55. package/src/defineCanvasLayer.ts +24 -0
  56. package/src/defineCanvasPlugin.ts +39 -0
  57. package/src/defineSVGLayer.ts +24 -0
  58. package/src/defineSVGPlugin.ts +39 -0
  59. package/src/index.ts +8 -20
  60. package/src/layer/createLayer.ts +138 -0
  61. package/src/plugin/createPlugin.ts +470 -0
  62. package/src/test/createGraphData.test.ts +103 -0
  63. package/src/test/createTreeData.test.ts +97 -0
  64. package/src/test/simple-graph-test.js +51 -0
  65. package/src/test/simple-tree-test.js +58 -0
  66. package/src/types/Chart.ts +62 -0
  67. package/src/types/ChartContext.ts +42 -0
  68. package/src/types/Common.ts +5 -0
  69. package/src/types/Encoding.ts +43 -0
  70. package/src/types/Event.ts +26 -0
  71. package/src/types/Layers.ts +93 -0
  72. package/src/types/ModelData.ts +95 -0
  73. package/src/types/Plugin.ts +98 -0
  74. package/src/types/RawData.ts +67 -0
  75. package/src/types/RenderData.ts +16 -0
  76. package/src/types/Theme.ts +21 -0
  77. package/src/types/Validator.ts +36 -0
  78. package/src/types/index.ts +12 -0
  79. package/src/utils/aggregateUtils.ts +99 -0
  80. package/src/utils/colorUtils.ts +63 -0
  81. package/src/utils/commonUtils.ts +56 -55
  82. package/src/utils/dom-lifecycle.ts +164 -0
  83. package/src/utils/dom.ts +55 -0
  84. package/src/utils/errorMessage.ts +40 -40
  85. package/src/utils/index.ts +8 -4
  86. package/src/utils/observables.ts +16 -308
  87. package/src/utils/orbchartsUtils.ts +9 -396
  88. package/src/utils/validator.ts +127 -126
  89. package/dist/lib/core-types.d.ts +0 -1
  90. package/dist/src/AbstractChart.d.ts +0 -19
  91. package/dist/src/GridChart.d.ts +0 -6
  92. package/dist/src/MultiGridChart.d.ts +0 -6
  93. package/dist/src/MultiValueChart.d.ts +0 -6
  94. package/dist/src/RelationshipChart.d.ts +0 -6
  95. package/dist/src/SeriesChart.d.ts +0 -6
  96. package/dist/src/TreeChart.d.ts +0 -6
  97. package/dist/src/base/createBaseChart.d.ts +0 -3
  98. package/dist/src/base/createBasePlugin.d.ts +0 -3
  99. package/dist/src/base/validators/chartOptionsValidator.d.ts +0 -3
  100. package/dist/src/base/validators/chartParamsValidator.d.ts +0 -3
  101. package/dist/src/base/validators/elementValidator.d.ts +0 -3
  102. package/dist/src/base/validators/pluginsValidator.d.ts +0 -3
  103. package/dist/src/defaults.d.ts +0 -25
  104. package/dist/src/defineGridPlugin.d.ts +0 -1
  105. package/dist/src/defineMultiGridPlugin.d.ts +0 -1
  106. package/dist/src/defineMultiValuePlugin.d.ts +0 -1
  107. package/dist/src/defineNoneDataPlugin.d.ts +0 -1
  108. package/dist/src/defineRelationshipPlugin.d.ts +0 -1
  109. package/dist/src/defineSeriesPlugin.d.ts +0 -1
  110. package/dist/src/defineTreePlugin.d.ts +0 -1
  111. package/dist/src/grid/computedDataFn.d.ts +0 -4
  112. package/dist/src/grid/contextObserverCallback.d.ts +0 -3
  113. package/dist/src/grid/dataFormatterValidator.d.ts +0 -3
  114. package/dist/src/grid/dataValidator.d.ts +0 -3
  115. package/dist/src/grid/gridObservables.d.ts +0 -64
  116. package/dist/src/multiGrid/computedDataFn.d.ts +0 -3
  117. package/dist/src/multiGrid/contextObserverCallback.d.ts +0 -3
  118. package/dist/src/multiGrid/dataFormatterValidator.d.ts +0 -3
  119. package/dist/src/multiGrid/dataValidator.d.ts +0 -3
  120. package/dist/src/multiGrid/multiGridObservables.d.ts +0 -16
  121. package/dist/src/multiValue/computedDataFn.d.ts +0 -3
  122. package/dist/src/multiValue/contextObserverCallback.d.ts +0 -3
  123. package/dist/src/multiValue/dataFormatterValidator.d.ts +0 -3
  124. package/dist/src/multiValue/dataValidator.d.ts +0 -3
  125. package/dist/src/multiValue/multiValueObservables.d.ts +0 -130
  126. package/dist/src/relationship/computedDataFn.d.ts +0 -3
  127. package/dist/src/relationship/contextObserverCallback.d.ts +0 -3
  128. package/dist/src/relationship/dataFormatterValidator.d.ts +0 -3
  129. package/dist/src/relationship/dataValidator.d.ts +0 -3
  130. package/dist/src/relationship/relationshipObservables.d.ts +0 -13
  131. package/dist/src/series/computedDataFn.d.ts +0 -3
  132. package/dist/src/series/contextObserverCallback.d.ts +0 -3
  133. package/dist/src/series/dataFormatterValidator.d.ts +0 -3
  134. package/dist/src/series/dataValidator.d.ts +0 -3
  135. package/dist/src/series/seriesObservables.d.ts +0 -37
  136. package/dist/src/tree/computedDataFn.d.ts +0 -3
  137. package/dist/src/tree/contextObserverCallback.d.ts +0 -3
  138. package/dist/src/tree/dataFormatterValidator.d.ts +0 -3
  139. package/dist/src/tree/dataValidator.d.ts +0 -3
  140. package/dist/src/tree/treeObservables.d.ts +0 -10
  141. package/dist/src/utils/d3Scale.d.ts +0 -28
  142. package/lib/core-types.ts +0 -7
  143. package/src/AbstractChart.ts +0 -57
  144. package/src/GridChart.ts +0 -25
  145. package/src/MultiGridChart.ts +0 -25
  146. package/src/MultiValueChart.ts +0 -25
  147. package/src/RelationshipChart.ts +0 -25
  148. package/src/SeriesChart.ts +0 -25
  149. package/src/TreeChart.ts +0 -25
  150. package/src/base/createBaseChart.ts +0 -524
  151. package/src/base/createBasePlugin.ts +0 -154
  152. package/src/base/validators/chartOptionsValidator.ts +0 -24
  153. package/src/base/validators/chartParamsValidator.ts +0 -134
  154. package/src/base/validators/elementValidator.ts +0 -14
  155. package/src/base/validators/pluginsValidator.ts +0 -15
  156. package/src/defaults.ts +0 -284
  157. package/src/defineGridPlugin.ts +0 -3
  158. package/src/defineMultiGridPlugin.ts +0 -3
  159. package/src/defineMultiValuePlugin.ts +0 -3
  160. package/src/defineNoneDataPlugin.ts +0 -4
  161. package/src/defineRelationshipPlugin.ts +0 -3
  162. package/src/defineSeriesPlugin.ts +0 -3
  163. package/src/defineTreePlugin.ts +0 -3
  164. package/src/grid/computedDataFn.ts +0 -129
  165. package/src/grid/contextObserverCallback.ts +0 -209
  166. package/src/grid/dataFormatterValidator.ts +0 -126
  167. package/src/grid/dataValidator.ts +0 -13
  168. package/src/grid/gridObservables.ts +0 -699
  169. package/src/multiGrid/computedDataFn.ts +0 -123
  170. package/src/multiGrid/contextObserverCallback.ts +0 -109
  171. package/src/multiGrid/dataFormatterValidator.ts +0 -121
  172. package/src/multiGrid/dataValidator.ts +0 -13
  173. package/src/multiGrid/multiGridObservables.ts +0 -367
  174. package/src/multiValue/computedDataFn.ts +0 -113
  175. package/src/multiValue/contextObserverCallback.ts +0 -328
  176. package/src/multiValue/dataFormatterValidator.ts +0 -95
  177. package/src/multiValue/dataValidator.ts +0 -13
  178. package/src/multiValue/multiValueObservables.ts +0 -865
  179. package/src/relationship/computedDataFn.ts +0 -159
  180. package/src/relationship/contextObserverCallback.ts +0 -80
  181. package/src/relationship/dataFormatterValidator.ts +0 -14
  182. package/src/relationship/dataValidator.ts +0 -14
  183. package/src/relationship/relationshipObservables.ts +0 -85
  184. package/src/series/computedDataFn.ts +0 -88
  185. package/src/series/contextObserverCallback.ts +0 -132
  186. package/src/series/dataFormatterValidator.ts +0 -47
  187. package/src/series/dataValidator.ts +0 -13
  188. package/src/series/seriesObservables.ts +0 -210
  189. package/src/tree/computedDataFn.ts +0 -129
  190. package/src/tree/contextObserverCallback.ts +0 -58
  191. package/src/tree/dataFormatterValidator.ts +0 -14
  192. package/src/tree/dataValidator.ts +0 -14
  193. package/src/tree/treeObservables.ts +0 -106
  194. package/src/utils/d3Scale.ts +0 -198
  195. package/tsconfig.base.json +0 -14
  196. package/tsconfig.json +0 -3
  197. package/vite-env.d.ts +0 -7
  198. package/vite.config.js +0 -23
@@ -1,9 +1,7 @@
1
+ import { DeepPartial } from '../types/Common';
2
+
1
3
  export declare function isPlainObject(variable: any): boolean;
2
4
  export declare function isFunction(fn: any): boolean;
3
5
  export declare function isDom(obj: any): boolean;
4
- export declare function mergeOptionsWithDefault<Options extends {
5
- [key: string]: any;
6
- }>(options: {
7
- [key: string]: any;
8
- }, defaultOptions: Options): Options;
6
+ export declare function deepOverwrite<DeepRecord extends Record<string, any>>(full: DeepRecord, options: DeepPartial<DeepRecord>): DeepRecord;
9
7
  export declare function formatCommaNumber(num?: number): string;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * DOM 元素生命週期管理工具
3
+ * 提供類似 D3.js 的 enter/update/exit 模式
4
+ */
5
+ /**
6
+ * 比較兩個數組是否相等
7
+ */
8
+ export declare function arraysEqual<T>(a: T[], b: T[]): boolean;
9
+ /**
10
+ * 高效的元素重新排序函數,使用最少的 DOM 操作
11
+ */
12
+ export declare function reorderElements<T extends Element>(parent: Element, targetOrder: string[], elementsRef: Record<string, T>): void;
13
+ /**
14
+ * 元素工廠函數類型
15
+ */
16
+ export type ElementFactory<T extends Element> = (id: string) => T;
17
+ /**
18
+ * 生命週期鉤子函數類型
19
+ */
20
+ export interface LifecycleHooks<T extends Element> {
21
+ /** 元素進入時的回調 */
22
+ onEnter?: (element: T, id: string) => void;
23
+ /** 元素更新時的回調 */
24
+ onUpdate?: (element: T, id: string) => void;
25
+ /** 元素退出前的回調 */
26
+ onExit?: (element: T, id: string) => void;
27
+ }
28
+ /**
29
+ * D3.js 風格的元素生命週期管理:處理 enter/update/exit
30
+ *
31
+ * @param parent 父容器元素
32
+ * @param targetIds 目標元素 ID 列表(按順序)
33
+ * @param elementsRef 元素引用字典
34
+ * @param createElement 元素創建工廠函數
35
+ * @param hooks 生命週期鉤子函數(可選)
36
+ */
37
+ export declare function handleElementLifecycle<T extends Element>(parent: Element, targetIds: string[], elementsRef: Record<string, T>, createElement: ElementFactory<T>, hooks?: LifecycleHooks<T>): void;
@@ -0,0 +1,6 @@
1
+ export declare function createSVG(className?: string): SVGSVGElement;
2
+ export declare function createCanvasElement(className?: string): HTMLCanvasElement;
3
+ export declare function createSVGGroup(className?: string): SVGGElement;
4
+ export declare function createCanvas(className?: string): HTMLCanvasElement;
5
+ export declare function createDiv(className?: string): HTMLDivElement;
6
+ export declare function removeElementChildren(el: HTMLElement | Element): void;
@@ -1,4 +1,8 @@
1
+ export * from './aggregateUtils';
2
+ export * from './colorUtils';
1
3
  export * from './commonUtils';
2
- export * from './d3Scale';
4
+ export * from './dom';
5
+ export * from './errorMessage';
3
6
  export * from './observables';
4
7
  export * from './orbchartsUtils';
8
+ export * from './validator';
@@ -1,27 +1,3 @@
1
- import { Subject, Observable } from 'rxjs';
2
- import { ChartType, ChartParams, ComputedDatumTypeMap, ContainerPositionScaled, DataFormatterContainer, EventTypeMap, Layout } from '../../lib/core-types';
1
+ import { Observable } from 'rxjs';
3
2
 
4
3
  export declare function resizeObservable(elem: HTMLElement | Element): Observable<DOMRectReadOnly>;
5
- export declare const highlightObservable: <T extends ChartType, D>({ datumList$, fullChartParams$, event$ }: {
6
- datumList$: Observable<D[]>;
7
- fullChartParams$: Observable<ChartParams>;
8
- event$: Subject<EventTypeMap<T>>;
9
- }) => Observable<D[]>;
10
- export declare const seriesDataMapObservable: <DatumType extends ComputedDatumTypeMap<"series" | "grid">>({ datumList$ }: {
11
- datumList$: Observable<DatumType[]>;
12
- }) => Observable<Map<string, DatumType[]>>;
13
- export declare const groupDataMapObservable: <DatumType extends ComputedDatumTypeMap<"grid">>({ datumList$ }: {
14
- datumList$: Observable<DatumType[]>;
15
- }) => Observable<Map<string, DatumType[]>>;
16
- export declare const categoryDataMapObservable: <DatumType extends ComputedDatumTypeMap<"multiValue" | "relationship" | "tree">>({ datumList$ }: {
17
- datumList$: Observable<DatumType[]>;
18
- }) => Observable<Map<string, DatumType[]>>;
19
- export declare const textSizePxObservable: (chartParams$: Observable<ChartParams>) => Observable<number>;
20
- export declare const containerSizeObservable: ({ layout$, containerPosition$, container$ }: {
21
- layout$: Observable<Layout>;
22
- containerPosition$: Observable<ContainerPositionScaled[]>;
23
- container$: Observable<DataFormatterContainer>;
24
- }) => Observable<{
25
- width: number;
26
- height: number;
27
- }>;
@@ -1,53 +1,2 @@
1
- import { ChartType, ChartParams, DatumValue, DataSeries, DataGrid, DataGridDatum, DataMultiGrid, DataMultiValue, ComputedXYDatumMultiValue, DataFormatterContainer, SeriesDirection, DataFormatterGridGrid, ContainerPosition, ContainerPositionScaled, Layout } from '../../lib/core-types';
2
- import * as d3 from 'd3';
3
- export declare function formatValueToLabel(value: any, valueFormatter: string | ((text: d3.NumberValue) => string)): string;
4
- export declare function createDefaultDatumId(chartTypeOrPrefix: string, levelOneIndex: number, levelTwoIndex?: number, levelThreeIndex?: number): string;
5
- export declare function createDefaultSeriesLabel(chartTypeOrPrefix: string, seriesIndex: number): string;
6
- export declare function createDefaultGroupLabel(chartTypeOrPrefix: string, groupIndex: number): string;
7
- export declare function createDefaultCategoryLabel(): string;
8
- export declare function createDefaultValueLabel(chartTypeOrPrefix: string, valueIndex: number): string;
9
- export declare function createGridSeriesLabels({ transposedDataGrid, dataFormatterGrid, chartType }: {
10
- transposedDataGrid: DataGridDatum[][];
11
- dataFormatterGrid: DataFormatterGridGrid;
12
- chartType?: ChartType;
13
- }): string[];
14
- export declare function createMultiGridSeriesLabels({ transposedDataGrid, dataFormatterGrid, chartType, gridIndex }: {
15
- transposedDataGrid: DataGridDatum[][];
16
- dataFormatterGrid: DataFormatterGridGrid;
17
- chartType?: ChartType;
18
- gridIndex?: number;
19
- }): string[];
20
- export declare function createGridGroupLabels({ transposedDataGrid, dataFormatterGrid, chartType }: {
21
- transposedDataGrid: DataGridDatum[][];
22
- dataFormatterGrid: DataFormatterGridGrid;
23
- chartType?: ChartType;
24
- }): string[];
25
- export declare function createMultiGridGroupLabels({ transposedDataGrid, dataFormatterGrid, chartType, gridIndex }: {
26
- transposedDataGrid: DataGridDatum[][];
27
- dataFormatterGrid: DataFormatterGridGrid;
28
- chartType?: ChartType;
29
- gridIndex?: number;
30
- }): string[];
31
- export declare function getMinMax(data: number[]): [number, number];
32
- export declare function getMinMaxValue(data: DatumValue[]): [number, number];
33
- export declare function getMinMaxSeries(data: DataSeries): [number, number];
34
- export declare function getMinMaxGrid(data: DataGrid): [number, number];
35
- export declare function getMinMaxMultiGrid(data: DataMultiGrid): [number, number];
36
- export declare function getMinMaxMultiValue(data: DataMultiValue, valueIndex: number): [number, number];
37
- export declare function getMinMaxMultiValueXY({ data, minX, maxX, minY, maxY }: {
38
- data: ComputedXYDatumMultiValue[][];
39
- minX: number;
40
- maxX: number;
41
- minY: number;
42
- maxY: number;
43
- }): {
44
- minXDatum: ComputedXYDatumMultiValue;
45
- maxXDatum: ComputedXYDatumMultiValue;
46
- minYDatum: ComputedXYDatumMultiValue;
47
- maxYDatum: ComputedXYDatumMultiValue;
48
- filteredData: ComputedXYDatumMultiValue[][];
49
- };
50
- export declare function transposeData<T>(seriesDirection: SeriesDirection, data: T[][]): T[][];
51
- export declare function seriesColorPredicate(seriesIndex: number, chartParams: ChartParams): string;
52
- export declare function calcContainerPosition(layout: Layout, container: DataFormatterContainer, amount: number): ContainerPosition[];
53
- export declare function calcContainerPositionScaled(layout: Layout, container: DataFormatterContainer, amount: number): ContainerPositionScaled[];
1
+ export declare function createPluginClassName(pluginName: string): string;
2
+ export declare function createLayerClassName(pluginName: string, layerName: string): string;
@@ -1,3 +1,3 @@
1
- import { ValidatorResult, ValidatorRule } from '../../lib/core-types';
1
+ import { ValidatorResult, ValidatorRule } from '../types';
2
2
 
3
- export declare function validateColumns<T>(data: T, rules: Partial<ValidatorRule<T>>): ValidatorResult;
3
+ export declare function validateObject<T>(data: T, rules: Partial<ValidatorRule<T>>): ValidatorResult;
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,46 +1,59 @@
1
- {
2
- "name": "@orbcharts/core",
3
- "version": "3.0.6",
4
- "description": "Core codes for OrbCharts",
5
- "author": "Blue Planet Inc.",
6
- "license": "Apache-2.0",
7
- "keywords": [
8
- "d3",
9
- "rxjs",
10
- "typescript",
11
- "svg",
12
- "visualization",
13
- "infographic",
14
- "graph",
15
- "chart"
16
- ],
17
- "private": false,
18
- "publishConfig": {
19
- "access": "public",
20
- "registry": "https://registry.npmjs.org/"
21
- },
22
- "files": [
23
- "*"
24
- ],
25
- "main": "./dist/orbcharts-core.umd.js",
26
- "module": "./dist/orbcharts-core.es.js",
27
- "types": "./dist/src/index.d.ts",
28
- "unpkg": "./dist/orbcharts-core.umd.js",
29
- "jsdelivr": "./dist/orbcharts-core.umd.js",
30
- "scripts": {
31
- "test": "echo \"Error: no test specified\" && exit 1",
32
- "build": "vite build --mode production"
33
- },
34
- "devDependencies": {
35
- "@types/d3": "^7.4.0",
36
- "ts-loader": "^9.4.2",
37
- "typescript": "^5.0.4",
38
- "vite": "^5.3.5",
39
- "vite-plugin-dts": "^3.7.3"
40
- },
41
- "dependencies": {
42
- "@orbcharts/core-types": "^3.0.4",
43
- "d3": "^7.8.5",
44
- "rxjs": "^7.8.1"
45
- }
46
- }
1
+ {
2
+ "name": "@orbcharts/core",
3
+ "version": "4.0.0-pre-alpha.0",
4
+ "description": "Core codes for OrbCharts",
5
+ "author": "Blue Planet Inc.",
6
+ "license": "Apache-2.0",
7
+ "keywords": [
8
+ "d3",
9
+ "rxjs",
10
+ "typescript",
11
+ "svg",
12
+ "visualization",
13
+ "infographic",
14
+ "graph",
15
+ "chart"
16
+ ],
17
+ "publishConfig": {
18
+ "access": "public",
19
+ "registry": "https://registry.npmjs.org/"
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "src"
24
+ ],
25
+ "type": "module",
26
+ "exports": {
27
+ ".": {
28
+ "development": "./src/index.ts",
29
+ "types": "./dist/src/index.d.ts",
30
+ "import": "./dist/orbcharts-core.es.js",
31
+ "default": "./dist/orbcharts-core.umd.js"
32
+ },
33
+ "./types": {
34
+ "development": "./src/types/index.ts",
35
+ "types": "./dist/src/types/index.d.ts",
36
+ "default": "./src/types/index.ts"
37
+ },
38
+ "./types/*": "./src/types/*.ts",
39
+ "./*": "./src/*.ts"
40
+ },
41
+ "main": "./dist/orbcharts-core.umd.js",
42
+ "module": "./dist/orbcharts-core.es.js",
43
+ "types": "./dist/src/index.d.ts",
44
+ "unpkg": "./dist/orbcharts-core.umd.js",
45
+ "jsdelivr": "./dist/orbcharts-core.umd.js",
46
+ "scripts": {
47
+ "test": "echo \"Error: no test specified\" && exit 1",
48
+ "build": "vite build --mode production"
49
+ },
50
+ "devDependencies": {
51
+ "ts-loader": "^9.4.2",
52
+ "typescript": "^5.9.2",
53
+ "vite": "^5.3.5",
54
+ "vite-plugin-dts": "^3.7.3"
55
+ },
56
+ "dependencies": {
57
+ "rxjs": "^7.8.2"
58
+ }
59
+ }
@@ -0,0 +1,35 @@
1
+ import type {
2
+ DeepPartial,
3
+ Size,
4
+ ChartEntity,
5
+ ChartContext,
6
+ PartialChartOptions,
7
+ Encoding,
8
+ PluginEntity,
9
+ RawData,
10
+ Theme,
11
+ SizeConfig
12
+ } from './types'
13
+ import { createChart } from './chart/createChart'
14
+
15
+ export class OrbCharts implements ChartEntity {
16
+ resize: (sizeConfig: SizeConfig) => void
17
+ setData: (data: RawData) => void
18
+ // setEncoding: (partial: DeepPartial<Encoding>) => void
19
+ updateEncoding: (patch: DeepPartial<Encoding>) => void
20
+ forceReplaceEncoding: (full: Encoding) => void
21
+ getEncoding: () => Readonly<Encoding>
22
+ setPlugins: (plugins: PluginEntity<any, any, any>[]) => void
23
+ addPlugin: (plugin: PluginEntity<any, any, any>) => void
24
+ removePlugin: (id: string) => void
25
+ // setTheme: (theme: Theme) => void
26
+ updateTheme: (patch: DeepPartial<Theme>) => void
27
+ forceReplaceTheme: (full: Theme) => void
28
+ getTheme: () => Readonly<Theme>
29
+ destroy: () => void;
30
+ context: ChartContext<unknown>
31
+
32
+ constructor(element: HTMLElement | Element, options?: PartialChartOptions) {
33
+ return createChart(element, options)
34
+ }
35
+ }