@orbcharts/core 3.0.0-alpha.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. package/.gitignore +23 -0
  2. package/LICENSE +201 -0
  3. package/dist/orbcharts-core.es.js +5096 -0
  4. package/dist/orbcharts-core.umd.js +3 -0
  5. package/dist/src/AbstractChart.d.ts +17 -0
  6. package/dist/src/GridChart.d.ts +6 -0
  7. package/dist/src/MultiGridChart.d.ts +6 -0
  8. package/dist/src/MultiValueChart.d.ts +6 -0
  9. package/dist/src/RelationshipChart.d.ts +6 -0
  10. package/dist/src/SeriesChart.d.ts +6 -0
  11. package/dist/src/TreeChart.d.ts +6 -0
  12. package/dist/src/base/createBaseChart.d.ts +3 -0
  13. package/dist/src/base/createBasePlugin.d.ts +3 -0
  14. package/dist/src/defaults.d.ts +37 -0
  15. package/dist/src/defineGridPlugin.d.ts +1 -0
  16. package/dist/src/defineMultiGridPlugin.d.ts +1 -0
  17. package/dist/src/defineMultiValuePlugin.d.ts +1 -0
  18. package/dist/src/defineNoneDataPlugin.d.ts +1 -0
  19. package/dist/src/defineRelationshipPlugin.d.ts +1 -0
  20. package/dist/src/defineSeriesPlugin.d.ts +1 -0
  21. package/dist/src/defineTreePlugin.d.ts +1 -0
  22. package/dist/src/grid/computeGridData.d.ts +3 -0
  23. package/dist/src/grid/createGridContextObserver.d.ts +3 -0
  24. package/dist/src/grid/gridObservables.d.ts +25 -0
  25. package/dist/src/index.d.ts +15 -0
  26. package/dist/src/multiGrid/computeMultiGridData.d.ts +3 -0
  27. package/dist/src/multiGrid/createMultiGridContextObserver.d.ts +3 -0
  28. package/dist/src/multiGrid/multiGridObservables.d.ts +0 -0
  29. package/dist/src/multiValue/computeMultiValueData.d.ts +3 -0
  30. package/dist/src/multiValue/createMultiValueContextObserver.d.ts +3 -0
  31. package/dist/src/multiValue/multiValueObservables.d.ts +0 -0
  32. package/dist/src/relationship/computeRelationshipData.d.ts +3 -0
  33. package/dist/src/relationship/createRelationshipContextObserver.d.ts +3 -0
  34. package/dist/src/relationship/relationshipObservables.d.ts +0 -0
  35. package/dist/src/series/computeSeriesData.d.ts +3 -0
  36. package/dist/src/series/createSeriesContextObserver.d.ts +3 -0
  37. package/dist/src/series/seriesObservables.d.ts +8 -0
  38. package/dist/src/tree/computeTreeData.d.ts +3 -0
  39. package/dist/src/tree/createTreeContextObserver.d.ts +3 -0
  40. package/dist/src/tree/treeObservables.d.ts +0 -0
  41. package/dist/src/types/Axis.d.ts +1 -0
  42. package/dist/src/types/Chart.d.ts +41 -0
  43. package/dist/src/types/ChartParams.d.ts +36 -0
  44. package/dist/src/types/ComputedData.d.ts +28 -0
  45. package/dist/src/types/ComputedDataGrid.d.ts +10 -0
  46. package/dist/src/types/ComputedDataMultiGrid.d.ts +3 -0
  47. package/dist/src/types/ComputedDataMultiValue.d.ts +6 -0
  48. package/dist/src/types/ComputedDataRelationship.d.ts +18 -0
  49. package/dist/src/types/ComputedDataSeries.d.ts +6 -0
  50. package/dist/src/types/ComputedDataTree.d.ts +7 -0
  51. package/dist/src/types/ContextObserver.d.ts +28 -0
  52. package/dist/src/types/ContextObserverGrid.d.ts +18 -0
  53. package/dist/src/types/ContextObserverMultiGrid.d.ts +4 -0
  54. package/dist/src/types/ContextObserverMultiValue.d.ts +4 -0
  55. package/dist/src/types/ContextObserverRelationship.d.ts +4 -0
  56. package/dist/src/types/ContextObserverSeries.d.ts +8 -0
  57. package/dist/src/types/ContextObserverTree.d.ts +4 -0
  58. package/dist/src/types/ContextSubject.d.ts +15 -0
  59. package/dist/src/types/Data.d.ts +19 -0
  60. package/dist/src/types/DataFormatter.d.ts +40 -0
  61. package/dist/src/types/DataFormatterGrid.d.ts +20 -0
  62. package/dist/src/types/DataFormatterMultiGrid.d.ts +16 -0
  63. package/dist/src/types/DataFormatterMultiValue.d.ts +13 -0
  64. package/dist/src/types/DataFormatterRelationship.d.ts +5 -0
  65. package/dist/src/types/DataFormatterSeries.d.ts +10 -0
  66. package/dist/src/types/DataFormatterTree.d.ts +5 -0
  67. package/dist/src/types/DataGrid.d.ts +6 -0
  68. package/dist/src/types/DataMultiGrid.d.ts +6 -0
  69. package/dist/src/types/DataMultiValue.d.ts +6 -0
  70. package/dist/src/types/DataRelationship.d.ts +20 -0
  71. package/dist/src/types/DataSeries.d.ts +6 -0
  72. package/dist/src/types/DataTree.d.ts +13 -0
  73. package/dist/src/types/Event.d.ts +64 -0
  74. package/dist/src/types/Layout.d.ts +8 -0
  75. package/dist/src/types/Padding.d.ts +6 -0
  76. package/dist/src/types/Plugin.d.ts +37 -0
  77. package/dist/src/types/TransformData.d.ts +8 -0
  78. package/dist/src/types/index.d.ts +37 -0
  79. package/dist/src/utils/commonUtils.d.ts +8 -0
  80. package/dist/src/utils/d3Utils.d.ts +25 -0
  81. package/dist/src/utils/index.d.ts +4 -0
  82. package/dist/src/utils/observables.d.ts +14 -0
  83. package/dist/src/utils/orbchartsUtils.d.ts +20 -0
  84. package/dist/vite.config.d.ts +2 -0
  85. package/package.json +40 -0
  86. package/src/AbstractChart.ts +48 -0
  87. package/src/GridChart.ts +21 -0
  88. package/src/MultiGridChart.ts +21 -0
  89. package/src/MultiValueChart.ts +21 -0
  90. package/src/RelationshipChart.ts +21 -0
  91. package/src/SeriesChart.ts +21 -0
  92. package/src/TreeChart.ts +21 -0
  93. package/src/base/createBaseChart.ts +329 -0
  94. package/src/base/createBasePlugin.ts +89 -0
  95. package/src/defaults.ts +229 -0
  96. package/src/defineGridPlugin.ts +3 -0
  97. package/src/defineMultiGridPlugin.ts +3 -0
  98. package/src/defineMultiValuePlugin.ts +3 -0
  99. package/src/defineNoneDataPlugin.ts +4 -0
  100. package/src/defineRelationshipPlugin.ts +3 -0
  101. package/src/defineSeriesPlugin.ts +3 -0
  102. package/src/defineTreePlugin.ts +3 -0
  103. package/src/grid/computeGridData.ts +192 -0
  104. package/src/grid/createGridContextObserver.ts +91 -0
  105. package/src/grid/gridObservables.ts +359 -0
  106. package/src/index.ts +21 -0
  107. package/src/multiGrid/computeMultiGridData.ts +48 -0
  108. package/src/multiGrid/createMultiGridContextObserver.ts +12 -0
  109. package/src/multiGrid/multiGridObservables.ts +0 -0
  110. package/src/multiValue/computeMultiValueData.ts +127 -0
  111. package/src/multiValue/createMultiValueContextObserver.ts +12 -0
  112. package/src/multiValue/multiValueObservables.ts +0 -0
  113. package/src/relationship/computeRelationshipData.ts +101 -0
  114. package/src/relationship/createRelationshipContextObserver.ts +12 -0
  115. package/src/relationship/relationshipObservables.ts +0 -0
  116. package/src/series/computeSeriesData.ts +154 -0
  117. package/src/series/createSeriesContextObserver.ts +33 -0
  118. package/src/series/seriesObservables.ts +23 -0
  119. package/src/tree/computeTreeData.ts +104 -0
  120. package/src/tree/createTreeContextObserver.ts +12 -0
  121. package/src/tree/treeObservables.ts +0 -0
  122. package/src/types/Axis.ts +1 -0
  123. package/src/types/Chart.ts +46 -0
  124. package/src/types/ChartParams.ts +50 -0
  125. package/src/types/ComputedData.ts +66 -0
  126. package/src/types/ComputedDataGrid.ts +12 -0
  127. package/src/types/ComputedDataMultiGrid.ts +3 -0
  128. package/src/types/ComputedDataMultiValue.ts +10 -0
  129. package/src/types/ComputedDataRelationship.ts +20 -0
  130. package/src/types/ComputedDataSeries.ts +8 -0
  131. package/src/types/ComputedDataTree.ts +20 -0
  132. package/src/types/ContextObserver.ts +38 -0
  133. package/src/types/ContextObserverGrid.ts +16 -0
  134. package/src/types/ContextObserverMultiGrid.ts +5 -0
  135. package/src/types/ContextObserverMultiValue.ts +5 -0
  136. package/src/types/ContextObserverRelationship.ts +5 -0
  137. package/src/types/ContextObserverSeries.ts +8 -0
  138. package/src/types/ContextObserverTree.ts +5 -0
  139. package/src/types/ContextSubject.ts +18 -0
  140. package/src/types/Data.ts +45 -0
  141. package/src/types/DataFormatter.ts +99 -0
  142. package/src/types/DataFormatterGrid.ts +40 -0
  143. package/src/types/DataFormatterMultiGrid.ts +23 -0
  144. package/src/types/DataFormatterMultiValue.ts +19 -0
  145. package/src/types/DataFormatterRelationship.ts +23 -0
  146. package/src/types/DataFormatterSeries.ts +26 -0
  147. package/src/types/DataFormatterTree.ts +10 -0
  148. package/src/types/DataGrid.ts +11 -0
  149. package/src/types/DataMultiGrid.ts +7 -0
  150. package/src/types/DataMultiValue.ts +11 -0
  151. package/src/types/DataRelationship.ts +27 -0
  152. package/src/types/DataSeries.ts +11 -0
  153. package/src/types/DataTree.ts +18 -0
  154. package/src/types/Event.ts +114 -0
  155. package/src/types/Layout.ts +12 -0
  156. package/src/types/Padding.ts +6 -0
  157. package/src/types/Plugin.ts +60 -0
  158. package/src/types/TransformData.ts +8 -0
  159. package/src/types/index.ts +37 -0
  160. package/src/utils/commonUtils.ts +50 -0
  161. package/src/utils/d3Utils.ts +87 -0
  162. package/src/utils/index.ts +4 -0
  163. package/src/utils/observables.ts +198 -0
  164. package/src/utils/orbchartsUtils.ts +150 -0
  165. package/tsconfig.json +14 -0
  166. package/vite.config.js +45 -0
@@ -0,0 +1,28 @@
1
+ import { ChartType } from './Chart';
2
+ import { ComputedDataSeries, ComputedDatumSeries } from './ComputedDataSeries';
3
+ import { ComputedDataGrid, ComputedDatumGrid } from './ComputedDataGrid';
4
+ import { ComputedDataMultiGrid } from './ComputedDataMultiGrid';
5
+ import { ComputedDataMultiValue, ComputedDatumMultiValue } from './ComputedDataMultiValue';
6
+ import { ComputedDataRelationship, ComputedNode } from './ComputedDataRelationship';
7
+ import { ComputedDataTree } from './ComputedDataTree';
8
+ import { DataFormatterContext } from './DataFormatter';
9
+
10
+ export interface ComputedDataFn<T extends ChartType> {
11
+ (dataFormatterContext: DataFormatterContext<T>): ComputedDataTypeMap<T>;
12
+ }
13
+ export interface ComputedDatumBase {
14
+ id: string;
15
+ index: number;
16
+ label: string;
17
+ value: number | null;
18
+ visible: boolean;
19
+ tooltipContent: string;
20
+ data: any;
21
+ }
22
+ export interface ComputedDatumSeriesValue {
23
+ color: string;
24
+ seriesIndex: number;
25
+ seriesLabel: string;
26
+ }
27
+ export type ComputedDataTypeMap<T extends ChartType> = T extends 'series' ? ComputedDataSeries : T extends 'grid' ? ComputedDataGrid : T extends 'multiGrid' ? ComputedDataMultiGrid : T extends 'multiValue' ? ComputedDataMultiValue : T extends 'relationship' ? ComputedDataRelationship : T extends 'tree' ? ComputedDataTree : ComputedDatumBase;
28
+ export type ComputedDatumTypeMap<T extends ChartType> = T extends 'series' ? ComputedDatumSeries : T extends 'grid' ? ComputedDatumGrid : T extends 'multiGrid' ? ComputedDatumGrid : T extends 'multiValue' ? ComputedDatumMultiValue : T extends 'relationship' ? ComputedNode : T extends 'tree' ? ComputedDataTree : unknown;
@@ -0,0 +1,10 @@
1
+ import { ComputedDatumBase, ComputedDatumSeriesValue } from './ComputedData';
2
+
3
+ export interface ComputedDatumGrid extends ComputedDatumBase, ComputedDatumSeriesValue {
4
+ groupIndex: number;
5
+ groupLabel: string;
6
+ axisX: number;
7
+ axisY: number;
8
+ axisYFromZero: number;
9
+ }
10
+ export type ComputedDataGrid = ComputedDatumGrid[][];
@@ -0,0 +1,3 @@
1
+ import { ComputedDataGrid } from './ComputedDataGrid';
2
+
3
+ export type ComputedDataMultiGrid = ComputedDataGrid[];
@@ -0,0 +1,6 @@
1
+ import { ComputedDatumBase } from './ComputedData';
2
+
3
+ export type ComputedDataMultiValue = ComputedDatumMultiValue[][];
4
+ export interface ComputedDatumMultiValue extends ComputedDatumBase {
5
+ axis: number;
6
+ }
@@ -0,0 +1,18 @@
1
+ import { ComputedDatumBase } from './ComputedData';
2
+
3
+ export type ComputedDataRelationship = {
4
+ nodes: ComputedNode[];
5
+ edges: ComputedEdge[];
6
+ };
7
+ export interface ComputedNode extends ComputedDatumBase {
8
+ startNodes: ComputedNode[];
9
+ startNodeIds: string[];
10
+ endNodes: ComputedNode[];
11
+ endNodeIds: string[];
12
+ }
13
+ export interface ComputedEdge extends ComputedDatumBase {
14
+ startNode: ComputedNode;
15
+ startNodeId: string;
16
+ endNode: ComputedNode;
17
+ endNodeId: string;
18
+ }
@@ -0,0 +1,6 @@
1
+ import { ComputedDatumBase, ComputedDatumSeriesValue } from './ComputedData';
2
+
3
+ export interface ComputedDatumSeries extends ComputedDatumBase, ComputedDatumSeriesValue {
4
+ sortedIndex: number;
5
+ }
6
+ export type ComputedDataSeries = ComputedDatumSeries[];
@@ -0,0 +1,7 @@
1
+ import { ComputedDatumBase } from './ComputedData';
2
+
3
+ export interface ComputedDataTree extends ComputedDatumBase {
4
+ level: number;
5
+ seq: number;
6
+ children?: ComputedDataTree[];
7
+ }
@@ -0,0 +1,28 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ChartType } from './Chart';
3
+ import { ChartParams } from './ChartParams';
4
+ import { DataFormatterTypeMap } from './DataFormatter';
5
+ import { ComputedDataTypeMap } from './ComputedData';
6
+ import { Layout } from './Layout';
7
+ import { ContextObserverGrid } from './ContextObserverGrid';
8
+ import { ContextObserverMultiGrid } from './ContextObserverMultiGrid';
9
+ import { ContextObserverMultiValue } from './ContextObserverMultiValue';
10
+ import { ContextObserverRelationship } from './ContextObserverRelationship';
11
+ import { ContextObserverSeries } from './ContextObserverSeries';
12
+ import { ContextObserverTree } from './ContextObserverTree';
13
+ import { ContextSubject } from './ContextSubject';
14
+
15
+ export interface ContextObserverFn<T extends ChartType> {
16
+ ({ subject, observer }: {
17
+ subject: ContextSubject<T>;
18
+ observer: ContextObserverBase<T, unknown>;
19
+ }): ContextObserverTypeMap<T, unknown>;
20
+ }
21
+ export type ContextObserverTypeMap<T extends ChartType, PluginParams> = T extends 'series' ? ContextObserverSeries<PluginParams> : T extends 'grid' ? ContextObserverGrid<PluginParams> : T extends 'multiGrid' ? ContextObserverMultiGrid<PluginParams> : T extends 'multiValue' ? ContextObserverMultiValue<PluginParams> : T extends 'relationship' ? ContextObserverRelationship<PluginParams> : T extends 'tree' ? ContextObserverTree<PluginParams> : ContextObserverBase<ChartType, PluginParams>;
22
+ export interface ContextObserverBase<T extends ChartType, PluginParams> {
23
+ fullParams$: Observable<PluginParams>;
24
+ fullChartParams$: Observable<ChartParams>;
25
+ fullDataFormatter$: Observable<DataFormatterTypeMap<T>>;
26
+ computedData$: Observable<ComputedDataTypeMap<T>>;
27
+ layout$: Observable<Layout>;
28
+ }
@@ -0,0 +1,18 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ContextObserverBase } from './ContextObserver';
3
+ import { ComputedDataGrid, ComputedDatumGrid } from './ComputedDataGrid';
4
+ import { TransformData } from './TransformData';
5
+
6
+ export interface ContextObserverGrid<PluginParams> extends ContextObserverBase<'grid', PluginParams> {
7
+ gridAxesTransform$: Observable<TransformData>;
8
+ gridGraphicTransform$: Observable<TransformData>;
9
+ gridAxesOppositeTransform$: Observable<TransformData>;
10
+ gridAxesSize$: Observable<{
11
+ width: number;
12
+ height: number;
13
+ }>;
14
+ gridHighlight$: Observable<string[]>;
15
+ SeriesDataMap$: Observable<Map<string, ComputedDatumGrid[]>>;
16
+ GroupDataMap$: Observable<Map<string, ComputedDatumGrid[]>>;
17
+ visibleComputedData$: Observable<ComputedDataGrid>;
18
+ }
@@ -0,0 +1,4 @@
1
+ import { ContextObserverBase } from './ContextObserver';
2
+
3
+ export interface ContextObserverMultiGrid<PluginParams> extends ContextObserverBase<'multiGrid', PluginParams> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { ContextObserverBase } from './ContextObserver';
2
+
3
+ export interface ContextObserverMultiValue<PluginParams> extends ContextObserverBase<'multiValue', PluginParams> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { ContextObserverBase } from './ContextObserver';
2
+
3
+ export interface ContextObserverRelationship<PluginParams> extends ContextObserverBase<'relationship', PluginParams> {
4
+ }
@@ -0,0 +1,8 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ContextObserverBase } from './ContextObserver';
3
+ import { ComputedDatumSeries } from './ComputedDataSeries';
4
+
5
+ export interface ContextObserverSeries<PluginParams> extends ContextObserverBase<'series', PluginParams> {
6
+ seriesHighlight$: Observable<string[]>;
7
+ SeriesDataMap$: Observable<Map<string, ComputedDatumSeries[]>>;
8
+ }
@@ -0,0 +1,4 @@
1
+ import { ContextObserverBase } from './ContextObserver';
2
+
3
+ export interface ContextObserverTree<PluginParams> extends ContextObserverBase<'tree', PluginParams> {
4
+ }
@@ -0,0 +1,15 @@
1
+ import { Subject } from 'rxjs';
2
+ import { ChartType } from './Chart';
3
+ import { EventTypeMap } from './Event';
4
+ import { ChartParamsPartial } from './ChartParams';
5
+ import { DataFormatterPartialTypeMap } from './DataFormatter';
6
+ import { DataTypeMap } from './Data';
7
+ import { PluginEntity } from './Plugin';
8
+
9
+ export interface ContextSubject<T extends ChartType> {
10
+ data$: Subject<DataTypeMap<T>>;
11
+ dataFormatter$: Subject<DataFormatterPartialTypeMap<T>>;
12
+ plugins$: Subject<PluginEntity<T, any, any>[]>;
13
+ chartParams$: Subject<ChartParamsPartial>;
14
+ event$: Subject<EventTypeMap<T>>;
15
+ }
@@ -0,0 +1,19 @@
1
+ import { ChartType } from './Chart';
2
+ import { DataSeries, DataSeriesDatum, DataSeriesValue } from './DataSeries';
3
+ import { DataGrid, DataGridDatum, DataGridValue } from './DataGrid';
4
+ import { DataMultiGrid, DataMultiGridDatum, DataMultiGridValue } from './DataMultiGrid';
5
+ import { DataMultiValue, DataMultiValueDatum, DataMultiValueValue } from './DataMultiValue';
6
+ import { DataTree, DataTreeDatum, DataTreeObj } from './DataTree';
7
+ import { DataRelationship, Node, Edge } from './DataRelationship';
8
+
9
+ export interface DatumBase {
10
+ id?: string;
11
+ label?: string;
12
+ tooltipContent?: string;
13
+ data?: any;
14
+ }
15
+ export interface DatumValue {
16
+ value: number | null;
17
+ }
18
+ export type DataTypeMap<T extends ChartType> = T extends 'series' ? DataSeries : T extends 'grid' ? DataGrid : T extends 'multiGrid' ? DataMultiGrid : T extends 'multiValue' ? DataMultiValue : T extends 'relationship' ? DataRelationship : T extends 'tree' ? DataTree : unknown;
19
+ export type DatumTypeMap<T extends ChartType> = T extends 'series' ? DataSeriesDatum | DataSeriesValue : T extends 'grid' ? DataGridDatum | DataGridValue : T extends 'multiGrid' ? DataMultiGridDatum | DataMultiGridValue : T extends 'multiValue' ? DataMultiValueDatum | DataMultiValueValue : T extends 'relationship' ? Node | Edge : T extends 'tree' ? DataTreeDatum | DataTreeObj : unknown;
@@ -0,0 +1,40 @@
1
+ import { ChartType } from './Chart';
2
+ import { ChartParams } from './ChartParams';
3
+ import { DataTypeMap, DatumTypeMap } from './Data';
4
+ import { DataFormatterSeries, DataFormatterSeriesPartial } from './DataFormatterSeries';
5
+ import { DataFormatterGrid, DataFormatterGridPartial } from './DataFormatterGrid';
6
+ import { DataFormatterMultiGrid, DataFormatterMultiGridPartial } from './DataFormatterMultiGrid';
7
+ import { DataFormatterMultiValue, DataFormatterMultiValuePartial } from './DataFormatterMultiValue';
8
+ import { DataFormatterTree, DataFormatterTreePartial } from './DataFormatterTree';
9
+ import { DataFormatterRelationship, DataFormatterRelationshipPartial } from './DataFormatterRelationship';
10
+ import { AxisPosition } from './Axis';
11
+ import { Layout } from './Layout';
12
+
13
+ export interface DataFormatterContext<T extends ChartType> {
14
+ data: DataTypeMap<T>;
15
+ dataFormatter: DataFormatterTypeMap<T>;
16
+ chartParams: ChartParams;
17
+ layout: Layout;
18
+ }
19
+ export type DataFormatterTypeMap<T extends ChartType> = T extends 'series' ? DataFormatterSeries : T extends 'grid' ? DataFormatterGrid : T extends 'multiGrid' ? DataFormatterMultiGrid : T extends 'multiValue' ? DataFormatterMultiValue : T extends 'relationship' ? DataFormatterRelationship : T extends 'tree' ? DataFormatterTree : DataFormatterBase<T>;
20
+ export type DataFormatterPartialTypeMap<T extends ChartType> = T extends 'series' ? DataFormatterSeriesPartial : T extends 'grid' ? DataFormatterGridPartial : T extends 'multiGrid' ? DataFormatterMultiGridPartial : T extends 'multiValue' ? DataFormatterMultiValuePartial : T extends 'relationship' ? DataFormatterRelationshipPartial : T extends 'tree' ? DataFormatterTreePartial : DataFormatterBasePartial<T>;
21
+ export interface DataFormatterBase<T extends ChartType> {
22
+ type: T;
23
+ visibleFilter: VisibleFilter<T>;
24
+ tooltipContentFormat: TooltipContentFormat<T>;
25
+ }
26
+ export type DataFormatterBasePartial<T extends ChartType> = Partial<DataFormatterBase<T>>;
27
+ export interface DataFormatterValueAxis {
28
+ position: AxisPosition;
29
+ scaleDomain: [number | 'auto', number | 'auto'];
30
+ scaleRange: [number, number];
31
+ label: string;
32
+ }
33
+ export interface DataFormatterGroupAxis {
34
+ position: AxisPosition;
35
+ scaleDomain: [number | 'auto', number | 'auto'];
36
+ scalePadding: number;
37
+ label: string;
38
+ }
39
+ export type VisibleFilter<T extends ChartType> = (datum: DatumTypeMap<T>, rowIndex: number, columnIndex: number, context: DataFormatterContext<T>) => boolean | null;
40
+ export type TooltipContentFormat<T extends ChartType> = (datum: DatumTypeMap<T>, rowIndex: number, columnIndex: number, context: DataFormatterContext<T>) => string | null;
@@ -0,0 +1,20 @@
1
+ import { DataGridDatum, DataGridValue } from './DataGrid';
2
+ import { DataFormatterBase, DataFormatterValueAxis, DataFormatterGroupAxis, DataFormatterContext } from './DataFormatter';
3
+
4
+ export type SeriesType = 'row' | 'column';
5
+ export interface DataFormatterGrid extends DataFormatterBase<'grid'> {
6
+ grid: DataFormatterGridGrid;
7
+ valueAxis: DataFormatterValueAxis;
8
+ groupAxis: DataFormatterGroupAxis;
9
+ colorsPredicate: (datum: DataGridDatum | DataGridValue, rowIndex: number, columnIndex: number, context: DataFormatterContext<'grid'>) => string;
10
+ }
11
+ export type DataFormatterGridPartial = Partial<DataFormatterGrid> | Partial<{
12
+ grid: Partial<DataFormatterGridGrid>;
13
+ valueAxis: Partial<DataFormatterValueAxis>;
14
+ groupAxis: Partial<DataFormatterGroupAxis>;
15
+ }>;
16
+ export interface DataFormatterGridGrid {
17
+ rowLabels: string[];
18
+ columnLabels: string[];
19
+ seriesType: SeriesType;
20
+ }
@@ -0,0 +1,16 @@
1
+ import { DataGridDatum, DataGridValue } from './DataGrid';
2
+ import { DataFormatterGridGrid } from './DataFormatterGrid';
3
+ import { DataFormatterBase, DataFormatterValueAxis, DataFormatterGroupAxis, DataFormatterContext } from './DataFormatter';
4
+
5
+ export interface DataFormatterMultiGrid extends DataFormatterBase<'multiGrid'> {
6
+ multiGrid: Array<DataFormatterMultiGridMultiGrid>;
7
+ }
8
+ export type DataFormatterMultiGridPartial = Partial<DataFormatterMultiGrid> | Partial<{
9
+ multiGrid: Array<Partial<DataFormatterMultiGridMultiGrid>>;
10
+ }>;
11
+ export interface DataFormatterMultiGridMultiGrid {
12
+ grid: DataFormatterGridGrid;
13
+ valueAxis: DataFormatterValueAxis;
14
+ groupAxis: DataFormatterGroupAxis;
15
+ colorsPredicate: (datum: DataGridDatum | DataGridValue, rowIndex: number, columnIndex: number, context: DataFormatterContext<'grid'>) => string;
16
+ }
@@ -0,0 +1,13 @@
1
+ import { DataFormatterBase, DataFormatterValueAxis } from './DataFormatter';
2
+
3
+ export interface DataFormatterMultiValue extends DataFormatterBase<'multiValue'> {
4
+ multiValue: Array<DataFormatterMultiValueMultiValue>;
5
+ xAxis: DataFormatterValueAxis;
6
+ yAxis: DataFormatterValueAxis;
7
+ }
8
+ export type DataFormatterMultiValuePartial = Partial<DataFormatterMultiValue> | Partial<{
9
+ multiValue: Array<Partial<DataFormatterMultiValueMultiValue>>;
10
+ }>;
11
+ export interface DataFormatterMultiValueMultiValue {
12
+ unitLabel: string;
13
+ }
@@ -0,0 +1,5 @@
1
+ import { DataFormatterBase } from './DataFormatter';
2
+
3
+ export interface DataFormatterRelationship extends DataFormatterBase<'relationship'> {
4
+ }
5
+ export type DataFormatterRelationshipPartial = Partial<DataFormatterRelationship> | Partial<{}>;
@@ -0,0 +1,10 @@
1
+ import { DataSeriesDatum, DataSeriesValue } from './DataSeries';
2
+ import { DataFormatterBase, DataFormatterContext } from './DataFormatter';
3
+
4
+ export interface DataFormatterSeries extends DataFormatterBase<'series'> {
5
+ unitLabel: string;
6
+ seriesLabels: string[];
7
+ colorsPredicate: (datum: DataSeriesDatum | DataSeriesValue, rowIndex: number, columnIndex: number, context: DataFormatterContext<'series'>) => string;
8
+ sort: ((a: DataSeriesDatum | DataSeriesValue, b: DataSeriesDatum | number) => number) | null;
9
+ }
10
+ export type DataFormatterSeriesPartial = Partial<DataFormatterSeries> | Partial<{}>;
@@ -0,0 +1,5 @@
1
+ import { DataFormatterBase } from './DataFormatter';
2
+
3
+ export interface DataFormatterTree extends DataFormatterBase<'tree'> {
4
+ }
5
+ export type DataFormatterTreePartial = Partial<DataFormatterTree>;
@@ -0,0 +1,6 @@
1
+ import { DatumBase, DatumValue } from './Data';
2
+
3
+ export type DataGrid = (DataGridDatum | DataGridValue)[][];
4
+ export type DataGridValue = number | null;
5
+ export interface DataGridDatum extends DatumBase, DatumValue {
6
+ }
@@ -0,0 +1,6 @@
1
+ import { DataGrid, DataGridDatum, DataGridValue } from './DataGrid';
2
+
3
+ export type DataMultiGrid = DataGrid[];
4
+ export interface DataMultiGridDatum extends DataGridDatum {
5
+ }
6
+ export type DataMultiGridValue = DataGridValue;
@@ -0,0 +1,6 @@
1
+ import { DatumBase, DatumValue } from './Data';
2
+
3
+ export type DataMultiValue = (DataMultiValueDatum | DataMultiValueValue)[][];
4
+ export type DataMultiValueValue = number;
5
+ export interface DataMultiValueDatum extends DatumBase, DatumValue {
6
+ }
@@ -0,0 +1,20 @@
1
+ import { DatumBase } from './Data';
2
+
3
+ export type DataRelationship = DataRelationshipObj | DataRelationshipList;
4
+ export interface DataRelationshipObj {
5
+ nodes: Node[];
6
+ edges: Edge[];
7
+ }
8
+ export type DataRelationshipList = [
9
+ Node[],
10
+ Edge[]
11
+ ];
12
+ export interface Node extends DatumBase {
13
+ id: string;
14
+ value?: number;
15
+ }
16
+ export interface Edge extends DatumBase {
17
+ start: string;
18
+ end: string;
19
+ value?: number;
20
+ }
@@ -0,0 +1,6 @@
1
+ import { DatumBase, DatumValue } from './Data';
2
+
3
+ export type DataSeries = (DataSeriesDatum | DataSeriesValue)[][] | (DataSeriesDatum | DataSeriesValue)[];
4
+ export type DataSeriesValue = number | null;
5
+ export interface DataSeriesDatum extends DatumBase, DatumValue {
6
+ }
@@ -0,0 +1,13 @@
1
+ import { DatumBase } from './Data';
2
+
3
+ export type DataTree = DataTreeObj | DataTreeDatum[];
4
+ export interface DataTreeObj extends DatumBase {
5
+ id: string;
6
+ value?: number;
7
+ children?: DataTreeObj[];
8
+ }
9
+ export interface DataTreeDatum extends DatumBase {
10
+ id: string;
11
+ value?: number;
12
+ parent?: string;
13
+ }
@@ -0,0 +1,64 @@
1
+ import { ChartType } from './Chart';
2
+ import { ComputedDatumBase } from './ComputedData';
3
+ import { ComputedDataSeries, ComputedDatumSeries } from './ComputedDataSeries';
4
+ import { ComputedDataGrid, ComputedDatumGrid } from './ComputedDataGrid';
5
+ import { ComputedDataMultiGrid } from './ComputedDataMultiGrid';
6
+ import { ComputedDatumMultiValue } from './ComputedDataMultiValue';
7
+ import { ComputedNode } from './ComputedDataRelationship';
8
+ import { ComputedDataTree } from './ComputedDataTree';
9
+ import { HighlightTarget } from './ChartParams';
10
+
11
+ export type EventName = 'click' | 'mouseover' | 'mousemove' | 'mouseout' | 'dragstart' | 'drag' | 'dragend' | 'resize' | 'transitionMove' | 'transitionEnd';
12
+ export type EventTypeMap<T extends ChartType> = T extends 'series' ? EventSeries : T extends 'grid' ? EventGrid : T extends 'multiGrid' ? EventMultiGrid : T extends 'multiValue' ? EventMultiValue : T extends 'relationship' ? EventRelationship : T extends 'tree' ? EventTree : EventBase;
13
+ export interface EventBase {
14
+ eventName: EventName;
15
+ pluginName: string;
16
+ type: ChartType;
17
+ event: MouseEvent | undefined;
18
+ highlightTarget: HighlightTarget;
19
+ datum: ComputedDatumBase | null;
20
+ tween?: number;
21
+ }
22
+ export interface EventSeries extends EventBase {
23
+ type: 'series';
24
+ data: ComputedDataSeries;
25
+ series: ComputedDatumSeries[];
26
+ seriesIndex: number;
27
+ seriesLabel: string;
28
+ datum: ComputedDatumSeries | null;
29
+ }
30
+ export interface EventGrid extends EventBase {
31
+ type: 'grid';
32
+ data: ComputedDataGrid;
33
+ series: ComputedDatumGrid[];
34
+ seriesIndex: number;
35
+ seriesLabel: string;
36
+ groups: ComputedDatumGrid[];
37
+ groupIndex: number;
38
+ groupLabel: string;
39
+ datum: ComputedDatumGrid | null;
40
+ }
41
+ export interface EventMultiGrid extends EventBase {
42
+ type: 'multiGrid';
43
+ data: ComputedDataMultiGrid;
44
+ gridIndex: number;
45
+ series: ComputedDatumGrid[];
46
+ seriesIndex: number;
47
+ seriesLabel: string;
48
+ group: ComputedDatumGrid[];
49
+ groupIndex: number;
50
+ groupLabel: string;
51
+ datum: ComputedDatumGrid | null;
52
+ }
53
+ export interface EventMultiValue extends EventBase {
54
+ type: 'multiValue';
55
+ datum: ComputedDatumMultiValue | null;
56
+ }
57
+ export interface EventRelationship extends EventBase {
58
+ type: 'relationship';
59
+ datum: ComputedNode | null;
60
+ }
61
+ export interface EventTree extends EventBase {
62
+ type: 'tree';
63
+ datum: ComputedDataTree | null;
64
+ }
@@ -0,0 +1,8 @@
1
+ import { Padding } from './Padding';
2
+
3
+ export interface Layout extends Padding {
4
+ width: number;
5
+ height: number;
6
+ rootWidth: number;
7
+ rootHeight: number;
8
+ }
@@ -0,0 +1,6 @@
1
+ export interface Padding {
2
+ top: number;
3
+ right: number;
4
+ bottom: number;
5
+ left: number;
6
+ }
@@ -0,0 +1,37 @@
1
+ import { Subject } from 'rxjs';
2
+ import { ChartType } from './Chart';
3
+ import { ContextSubject } from './ContextSubject';
4
+ import { ContextObserverTypeMap } from './ContextObserver';
5
+ import * as d3 from 'd3';
6
+ export interface CreateBasePlugin {
7
+ <T extends ChartType>(): DefinePlugin<T>;
8
+ }
9
+ export interface DefinePlugin<T extends ChartType> {
10
+ <PluginName, PluginParams>(name: PluginName, defaultParams: PluginParams): DefinePluginInitFn<T, PluginName, PluginParams>;
11
+ }
12
+ export interface DefinePluginInitFn<T extends ChartType, PluginName, PluginParams> {
13
+ (initFn: PluginInitFn<T, PluginName, PluginParams>): PluginConstructor<T, PluginName, PluginParams>;
14
+ }
15
+ export interface PluginConstructor<T extends ChartType, PluginName, PluginParams> {
16
+ new (): PluginEntity<T, PluginName, PluginParams>;
17
+ }
18
+ export interface PluginEntity<T extends ChartType, PluginName, PluginParams> {
19
+ params$: Subject<Partial<PluginParams>>;
20
+ name: PluginName;
21
+ defaultParams: PluginParams;
22
+ init: () => void;
23
+ destroy: () => void;
24
+ setPresetParams: (presetParams: Partial<PluginParams>) => void;
25
+ setContext: (pluginContext: PluginContext<T, PluginName, PluginParams>) => void;
26
+ }
27
+ export interface PluginInitFn<T extends ChartType, PluginName, PluginParams> {
28
+ (pluginContext: PluginContext<T, PluginName, PluginParams>): () => void;
29
+ }
30
+ export interface PluginContext<T extends ChartType, PluginName, PluginParams> {
31
+ selection: d3.Selection<any, unknown, any, unknown>;
32
+ rootSelection: d3.Selection<any, unknown, any, unknown>;
33
+ name: PluginName;
34
+ chartType: ChartType;
35
+ subject: ContextSubject<T>;
36
+ observer: ContextObserverTypeMap<T, PluginParams>;
37
+ }
@@ -0,0 +1,8 @@
1
+ export interface TransformData {
2
+ translate: [number, number];
3
+ scale: [number, number];
4
+ rotate: number;
5
+ rotateX: number;
6
+ rotateY: number;
7
+ value: string;
8
+ }
@@ -0,0 +1,37 @@
1
+ export * from './Axis';
2
+ export * from './Chart';
3
+ export * from './ChartParams';
4
+ export * from './ComputedData';
5
+ export * from './ComputedDataGrid';
6
+ export * from './ComputedDataMultiGrid';
7
+ export * from './ComputedDataMultiValue';
8
+ export * from './ComputedDataRelationship';
9
+ export * from './ComputedDataSeries';
10
+ export * from './ComputedDataTree';
11
+ export * from './ContextObserver';
12
+ export * from './ContextObserverGrid';
13
+ export * from './ContextObserverMultiGrid';
14
+ export * from './ContextObserverMultiValue';
15
+ export * from './ContextObserverRelationship';
16
+ export * from './ContextObserverSeries';
17
+ export * from './ContextObserverTree';
18
+ export * from './ContextSubject';
19
+ export * from './Data';
20
+ export * from './DataFormatter';
21
+ export * from './DataFormatterGrid';
22
+ export * from './DataFormatterMultiGrid';
23
+ export * from './DataFormatterMultiValue';
24
+ export * from './DataFormatterRelationship';
25
+ export * from './DataFormatterSeries';
26
+ export * from './DataFormatterTree';
27
+ export * from './DataGrid';
28
+ export * from './DataMultiGrid';
29
+ export * from './DataMultiValue';
30
+ export * from './DataRelationship';
31
+ export * from './DataSeries';
32
+ export * from './DataTree';
33
+ export * from './Event';
34
+ export * from './Layout';
35
+ export * from './Padding';
36
+ export * from './Plugin';
37
+ export * from './TransformData';
@@ -0,0 +1,8 @@
1
+ export declare function isObject(variable: any): boolean;
2
+ export declare function isFunction(fn: any): boolean;
3
+ export declare function mergeOptionsWithDefault<Options extends {
4
+ [key: string]: any;
5
+ }>(options: {
6
+ [key: string]: any;
7
+ }, defaultOptions: Options): Options;
8
+ export declare function formatCommaNumber(num?: number): string;
@@ -0,0 +1,25 @@
1
+ import * as d3 from 'd3';
2
+ export declare const createAxisLinearScale: ({ maxValue, minValue, axisWidth, scaleDomain, scaleRange, }: {
3
+ maxValue: number;
4
+ minValue: number;
5
+ axisWidth: number;
6
+ scaleDomain: [
7
+ number | 'auto',
8
+ number | 'auto'
9
+ ];
10
+ scaleRange: [
11
+ number,
12
+ number
13
+ ];
14
+ }) => d3.ScaleLinear<number, number, never>;
15
+ export declare const createAxisPointScale: ({ axisLabels, axisWidth, padding }: {
16
+ axisLabels: string[];
17
+ axisWidth: number;
18
+ padding?: number;
19
+ }) => d3.ScalePoint<string>;
20
+ export declare const createAxisQuantizeScale: ({ axisLabels, axisWidth, padding, reverse }: {
21
+ axisLabels: string[] | Date[];
22
+ axisWidth: number;
23
+ padding?: number;
24
+ reverse?: boolean;
25
+ }) => d3.ScaleQuantize<number, never>;
@@ -0,0 +1,4 @@
1
+ export * from './orbchartsUtils';
2
+ export * from './observables';
3
+ export * from './d3Utils';
4
+ export * from './commonUtils';
@@ -0,0 +1,14 @@
1
+ import { Subject, Observable } from 'rxjs';
2
+ import { ChartType, ChartParams, ComputedDatumTypeMap } from '../types';
3
+
4
+ export declare const highlightObservable: ({ datumList$, fullChartParams$, event$ }: {
5
+ datumList$: Observable<ComputedDatumTypeMap<'series' | 'grid'>[]>;
6
+ fullChartParams$: Observable<ChartParams>;
7
+ event$: Subject<any>;
8
+ }) => Observable<string[]>;
9
+ export declare const seriesDataMapObservable: <DatumType extends ComputedDatumTypeMap<ChartType>>({ datumList$ }: {
10
+ datumList$: Observable<DatumType[]>;
11
+ }) => Observable<Map<string, DatumType[]>>;
12
+ export declare const groupDataMapObservable: <DatumType extends ComputedDatumTypeMap<ChartType>>({ datumList$ }: {
13
+ datumList$: Observable<DatumType[]>;
14
+ }) => Observable<Map<string, DatumType[]>>;