@kanaries/graphic-walker 0.1.0 → 0.2.1
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.
- package/LICENSE +198 -12
- package/dist/App.d.ts +6 -2
- package/dist/assets/explainer.worker.c6f22bad.js.map +1 -0
- package/dist/assets/filter.worker.6216b48e.js.map +1 -0
- package/dist/components/container.d.ts +2 -2
- package/dist/components/dataTypeIcon.d.ts +2 -1
- package/dist/components/liteForm.d.ts +1 -1
- package/dist/components/sizeSetting.d.ts +9 -0
- package/dist/components/tabs/pureTab.d.ts +15 -0
- package/dist/config.d.ts +6 -4
- package/dist/constants.d.ts +1 -0
- package/dist/dataSource/config.d.ts +26 -0
- package/dist/dataSource/dataSelection/csvData.d.ts +5 -0
- package/dist/dataSource/dataSelection/index.d.ts +3 -0
- package/dist/dataSource/dataSelection/publicData.d.ts +5 -0
- package/dist/dataSource/utils.d.ts +3 -3
- package/dist/{Fields/AestheticFields.d.ts → fields/aestheticFields.d.ts} +0 -0
- package/dist/fields/components.d.ts +14 -0
- package/dist/{Fields → fields}/datasetFields/dimFields.d.ts +0 -0
- package/dist/fields/datasetFields/fieldPill.d.ts +5 -0
- package/dist/{Fields → fields}/datasetFields/index.d.ts +0 -0
- package/dist/{Fields → fields}/datasetFields/meaFields.d.ts +0 -0
- package/dist/{Fields → fields}/fieldsContext.d.ts +2 -5
- package/dist/fields/filterField/filterEditDialog.d.ts +3 -0
- package/dist/fields/filterField/filterPill.d.ts +8 -0
- package/dist/fields/filterField/index.d.ts +3 -0
- package/dist/fields/filterField/slider.d.ts +10 -0
- package/dist/fields/filterField/tabs.d.ts +21 -0
- package/dist/{Fields → fields}/obComponents/obFContainer.d.ts +0 -0
- package/dist/{Fields → fields}/obComponents/obPill.d.ts +0 -0
- package/dist/{InsightBoard → fields/posFields}/index.d.ts +0 -0
- package/dist/{Fields → fields}/select.d.ts +0 -0
- package/dist/{Fields → fields}/utils.d.ts +0 -0
- package/dist/graphic-walker.es.js +62525 -1282
- package/dist/graphic-walker.es.js.map +1 -1
- package/dist/graphic-walker.umd.js +502 -1309
- package/dist/graphic-walker.umd.js.map +1 -1
- package/dist/insightBoard/index.d.ts +3 -0
- package/dist/{InsightBoard → insightBoard}/mainBoard.d.ts +5 -5
- package/dist/{InsightBoard → insightBoard}/radioGroupButtons.d.ts +0 -0
- package/dist/{InsightBoard → insightBoard}/selectionSpec.d.ts +0 -0
- package/dist/{InsightBoard → insightBoard}/std2vegaSpec.d.ts +3 -6
- package/dist/{InsightBoard → insightBoard}/utils.d.ts +2 -1
- package/dist/insights.d.ts +1 -1
- package/dist/interfaces.d.ts +54 -23
- package/dist/locales/i18n.d.ts +5 -0
- package/dist/segments/visNav.d.ts +3 -0
- package/dist/services.d.ts +5 -4
- package/dist/store/commonStore.d.ts +1 -0
- package/dist/store/visualSpecStore.d.ts +116 -17
- package/dist/style.css +1 -1
- package/dist/utils/autoMark.d.ts +7 -0
- package/dist/utils/index.d.ts +5 -1
- package/dist/utils/normalization.d.ts +7 -1
- package/dist/vis/future-react-vega.d.ts +6 -6
- package/dist/vis/react-vega.d.ts +16 -7
- package/dist/visualSettings/index.d.ts +2 -3
- package/dist/visualSettings/menubar.d.ts +4 -0
- package/package.json +26 -12
- package/README.md +0 -43
- package/dist/Fields/components.d.ts +0 -17
- package/dist/Fields/posFields/index.d.ts +0 -3
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { IField, Filters, IRow } from '../interfaces';
|
|
3
3
|
interface InsightMainBoardProps {
|
|
4
|
-
dataSource:
|
|
5
|
-
fields:
|
|
4
|
+
dataSource: IRow[];
|
|
5
|
+
fields: Readonly<IField[]>;
|
|
6
6
|
filters?: Filters;
|
|
7
|
-
viewDs:
|
|
8
|
-
viewMs:
|
|
7
|
+
viewDs: IField[];
|
|
8
|
+
viewMs: IField[];
|
|
9
9
|
}
|
|
10
10
|
declare const InsightMainBoard: React.FC<InsightMainBoardProps>;
|
|
11
11
|
export default InsightMainBoard;
|
|
File without changes
|
|
File without changes
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { Specification } from 'visual-insights';
|
|
2
|
-
import {
|
|
2
|
+
import { IField, IRow } from '../interfaces';
|
|
3
3
|
import { IPredicate } from '../utils';
|
|
4
4
|
export declare type IReasonType = 'selection_dim_distribution' | 'selection_mea_distribution' | 'children_major_factor' | 'children_outlier';
|
|
5
5
|
export declare const geomTypeMap: {
|
|
6
6
|
[key: string]: any;
|
|
7
7
|
};
|
|
8
|
-
export declare function baseVis(query: Specification, dataSource:
|
|
8
|
+
export declare function baseVis(query: Specification, dataSource: IRow[], dimensions: string[], measures: string[], predicates: IPredicate[] | null, aggregatedMeasures: Array<{
|
|
9
9
|
op: string;
|
|
10
10
|
field: string;
|
|
11
11
|
as: string;
|
|
12
|
-
}>,
|
|
13
|
-
name: string;
|
|
14
|
-
type: SemanticType;
|
|
15
|
-
}>, type: IReasonType, defaultAggregated?: boolean, defaultStack?: boolean): any;
|
|
12
|
+
}>, fields: Readonly<IField[]>, type: IReasonType, defaultAggregated?: boolean, defaultStack?: boolean): any;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { IMeasure } from "../interfaces";
|
|
1
|
+
import { IField, IMeasure } from "../interfaces";
|
|
2
2
|
/**
|
|
3
3
|
* 合并两个measures数组,若出现相同的key,使用measures2中的op替换1中的op
|
|
4
4
|
* @param measures1
|
|
5
5
|
* @param measures2
|
|
6
6
|
*/
|
|
7
7
|
export declare function mergeMeasures(measures1: IMeasure[], measures2: IMeasure[]): IMeasure[];
|
|
8
|
+
export declare function formatFieldName(fid: string, fields: Readonly<IField[]>): string;
|
package/dist/insights.d.ts
CHANGED
|
@@ -56,6 +56,6 @@ export declare class DataExplainer {
|
|
|
56
56
|
getCenterFields(type: 'dimension' | 'measure', num?: number): string[];
|
|
57
57
|
getVisSpec(spaces: IExplaination[]): {
|
|
58
58
|
schema: import("visual-insights/build/esm/insights/InsightFlow/specification/encoding").ISpec;
|
|
59
|
-
dataView: import("visual-insights").
|
|
59
|
+
dataView: import("visual-insights").IRow[];
|
|
60
60
|
}[];
|
|
61
61
|
}
|
package/dist/interfaces.d.ts
CHANGED
|
@@ -1,24 +1,35 @@
|
|
|
1
1
|
import { StatFuncName } from "visual-insights/build/esm/statistics";
|
|
2
2
|
import { AggFC } from 'cube-core/built/types';
|
|
3
|
-
import {
|
|
3
|
+
import { IAnalyticType, ISemanticType } from 'visual-insights';
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated
|
|
6
|
+
*/
|
|
4
7
|
export interface Record {
|
|
5
8
|
[key: string]: any;
|
|
6
9
|
}
|
|
10
|
+
export interface IRow {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated
|
|
15
|
+
*/
|
|
7
16
|
export declare type SemanticType = 'quantitative' | 'nominal' | 'ordinal' | 'temporal';
|
|
8
17
|
export interface Filters {
|
|
9
18
|
[key: string]: any[];
|
|
10
19
|
}
|
|
11
|
-
export interface
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
export interface IMutField {
|
|
21
|
+
fid: string;
|
|
22
|
+
key?: string;
|
|
23
|
+
name?: string;
|
|
24
|
+
disable?: boolean;
|
|
25
|
+
semanticType: ISemanticType;
|
|
26
|
+
analyticType: IAnalyticType;
|
|
15
27
|
}
|
|
16
|
-
export
|
|
17
|
-
export interface Field {
|
|
28
|
+
export interface IField {
|
|
18
29
|
/**
|
|
19
|
-
*
|
|
30
|
+
* fid: key in data record
|
|
20
31
|
*/
|
|
21
|
-
|
|
32
|
+
fid: string;
|
|
22
33
|
/**
|
|
23
34
|
* display name for field
|
|
24
35
|
*/
|
|
@@ -27,14 +38,15 @@ export interface Field {
|
|
|
27
38
|
* aggregator's name
|
|
28
39
|
*/
|
|
29
40
|
aggName?: string;
|
|
30
|
-
|
|
31
|
-
|
|
41
|
+
semanticType: ISemanticType;
|
|
42
|
+
analyticType: IAnalyticType;
|
|
32
43
|
cmp?: (a: any, b: any) => number;
|
|
33
44
|
}
|
|
34
|
-
export interface IViewField extends
|
|
45
|
+
export interface IViewField extends IField {
|
|
35
46
|
dragId: string;
|
|
47
|
+
sort?: 'none' | 'ascending' | 'descending';
|
|
36
48
|
}
|
|
37
|
-
export interface Measure extends
|
|
49
|
+
export interface Measure extends IField {
|
|
38
50
|
aggregator?: AggFC;
|
|
39
51
|
minWidth?: number;
|
|
40
52
|
formatter?: (value: number | undefined) => number | string;
|
|
@@ -44,7 +56,7 @@ export interface DataSet {
|
|
|
44
56
|
id: string;
|
|
45
57
|
name: string;
|
|
46
58
|
rawFields: IMutField[];
|
|
47
|
-
dataSource:
|
|
59
|
+
dataSource: IRow[];
|
|
48
60
|
}
|
|
49
61
|
export interface IFieldNeighbor {
|
|
50
62
|
key: string;
|
|
@@ -66,22 +78,41 @@ export interface IDataSet {
|
|
|
66
78
|
export interface IDataSetInfo {
|
|
67
79
|
name: string;
|
|
68
80
|
rawFields: IMutField[];
|
|
69
|
-
dataSource:
|
|
81
|
+
dataSource: IRow[];
|
|
70
82
|
}
|
|
71
83
|
export interface IDataSource {
|
|
72
84
|
id: string;
|
|
73
|
-
data:
|
|
85
|
+
data: IRow[];
|
|
86
|
+
}
|
|
87
|
+
export interface IFilterField extends IViewField {
|
|
88
|
+
rule: IFilterRule | null;
|
|
74
89
|
}
|
|
75
90
|
export interface DraggableFieldState {
|
|
76
|
-
fields:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
91
|
+
fields: IViewField[];
|
|
92
|
+
dimensions: IViewField[];
|
|
93
|
+
measures: IViewField[];
|
|
94
|
+
rows: IViewField[];
|
|
95
|
+
columns: IViewField[];
|
|
96
|
+
color: IViewField[];
|
|
97
|
+
opacity: IViewField[];
|
|
98
|
+
size: IViewField[];
|
|
99
|
+
shape: IViewField[];
|
|
100
|
+
theta: IViewField[];
|
|
101
|
+
radius: IViewField[];
|
|
102
|
+
filters: IFilterField[];
|
|
82
103
|
}
|
|
83
104
|
export interface IDraggableStateKey {
|
|
84
105
|
id: keyof DraggableFieldState;
|
|
85
|
-
name: string;
|
|
86
106
|
mode: number;
|
|
87
107
|
}
|
|
108
|
+
export declare type IFilterRule = {
|
|
109
|
+
type: 'range';
|
|
110
|
+
value: readonly [number, number];
|
|
111
|
+
} | {
|
|
112
|
+
type: 'temporal range';
|
|
113
|
+
value: readonly [number, number];
|
|
114
|
+
} | {
|
|
115
|
+
type: 'one of';
|
|
116
|
+
value: Set<string | number>;
|
|
117
|
+
};
|
|
118
|
+
export declare type IStackMode = 'none' | 'stack' | 'normalize';
|
package/dist/services.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IRow, Filters, SemanticType, IMeasure, IMutField, IFilterField } from './interfaces';
|
|
2
2
|
import { Specification } from 'visual-insights';
|
|
3
3
|
import { IExplaination, IMeasureWithStat } from './insights';
|
|
4
4
|
interface ExplainParams {
|
|
5
5
|
dimensions: string[];
|
|
6
6
|
measures: string[];
|
|
7
|
-
dataSource:
|
|
7
|
+
dataSource: IRow[];
|
|
8
8
|
filters?: Filters;
|
|
9
9
|
currentSpace: {
|
|
10
10
|
dimensions: string[];
|
|
@@ -12,7 +12,7 @@ interface ExplainParams {
|
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
export interface IVisSpace {
|
|
15
|
-
dataView:
|
|
15
|
+
dataView: IRow[];
|
|
16
16
|
schema: Specification;
|
|
17
17
|
}
|
|
18
18
|
interface ExplainReturns {
|
|
@@ -27,8 +27,9 @@ interface ExplainReturns {
|
|
|
27
27
|
export declare function getExplaination(props: ExplainParams): Promise<ExplainReturns>;
|
|
28
28
|
interface PreAnalysisParams {
|
|
29
29
|
fields: IMutField[];
|
|
30
|
-
dataSource:
|
|
30
|
+
dataSource: IRow[];
|
|
31
31
|
}
|
|
32
32
|
export declare function preAnalysis(props: PreAnalysisParams): Promise<void>;
|
|
33
33
|
export declare function destroyWorker(): void;
|
|
34
|
+
export declare const applyFilter: (data: readonly IRow[], filters: readonly IFilterField[]) => Promise<IRow[]>;
|
|
34
35
|
export {};
|
|
@@ -24,6 +24,7 @@ export declare class CommonStore {
|
|
|
24
24
|
updateTempFieldAnalyticType(fieldKey: string, analyticType: IMutField['analyticType']): void;
|
|
25
25
|
updateTempName(name: string): void;
|
|
26
26
|
updateTempDS(rawData: Record[]): void;
|
|
27
|
+
updateTempSTDDS(dataset: IDataSetInfo): void;
|
|
27
28
|
commitTempDS(): void;
|
|
28
29
|
startDSBuildingTask(): void;
|
|
29
30
|
addAndUseDS(dataset: IDataSetInfo): string;
|
|
@@ -1,27 +1,106 @@
|
|
|
1
|
-
import { IViewField } from "../interfaces";
|
|
2
|
-
import { CommonStore } from "./commonStore";
|
|
3
1
|
import { Specification } from "visual-insights";
|
|
4
|
-
|
|
2
|
+
import { DataSet, DraggableFieldState, IFilterRule, IViewField } from "../interfaces";
|
|
3
|
+
import { CommonStore } from "./commonStore";
|
|
4
|
+
interface IVisualConfig {
|
|
5
5
|
defaultAggregated: boolean;
|
|
6
6
|
geoms: string[];
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
opacity: IViewField[];
|
|
17
|
-
size: IViewField[];
|
|
7
|
+
stack: 'none' | 'stack' | 'normalize';
|
|
8
|
+
showActions: boolean;
|
|
9
|
+
interactiveScale: boolean;
|
|
10
|
+
sorted: 'none' | 'ascending' | 'descending';
|
|
11
|
+
size: {
|
|
12
|
+
mode: 'auto' | 'fixed';
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
};
|
|
18
16
|
}
|
|
19
17
|
export declare const MetaFieldKeys: Array<keyof DraggableFieldState>;
|
|
18
|
+
declare type DeepReadonly<T extends Record<keyof any, any>> = {
|
|
19
|
+
readonly [K in keyof T]: T[K] extends Record<keyof any, any> ? DeepReadonly<T[K]> : T[K];
|
|
20
|
+
};
|
|
21
|
+
interface IVisSpec {
|
|
22
|
+
readonly visId: string;
|
|
23
|
+
readonly name?: [string, Record<string, any>?];
|
|
24
|
+
readonly encodings: DeepReadonly<DraggableFieldState>;
|
|
25
|
+
readonly config: DeepReadonly<IVisualConfig>;
|
|
26
|
+
}
|
|
27
|
+
declare class IVisSpecWithHistory {
|
|
28
|
+
readonly visId: IVisSpec['visId'];
|
|
29
|
+
private snapshots;
|
|
30
|
+
private cursor;
|
|
31
|
+
constructor(data: IVisSpec);
|
|
32
|
+
private get frame();
|
|
33
|
+
private batchFlag;
|
|
34
|
+
private commit;
|
|
35
|
+
get canUndo(): boolean;
|
|
36
|
+
undo(): boolean;
|
|
37
|
+
get canRedo(): boolean;
|
|
38
|
+
redo(): boolean;
|
|
39
|
+
rebase(): void;
|
|
40
|
+
get name(): IVisSpec['name'];
|
|
41
|
+
set name(name: IVisSpec['name']);
|
|
42
|
+
get encodings(): DeepReadonly<DraggableFieldState>;
|
|
43
|
+
set encodings(encodings: IVisSpec['encodings']);
|
|
44
|
+
get config(): DeepReadonly<IVisualConfig>;
|
|
45
|
+
set config(config: IVisSpec['config']);
|
|
46
|
+
}
|
|
20
47
|
export declare class VizSpecStore {
|
|
21
|
-
|
|
48
|
+
private commonStore;
|
|
49
|
+
/**
|
|
50
|
+
* This segment will always refers to the state of the active tab -
|
|
51
|
+
* `this.visList[this.visIndex].encodings`.
|
|
52
|
+
* Notice that observing rule of `this.visList` is `"shallow"`
|
|
53
|
+
* so mobx will NOT compare every deep value of `this.visList`,
|
|
54
|
+
* because the active tab is the only item in the list that may change.
|
|
55
|
+
* @readonly
|
|
56
|
+
* Assignment or mutable operations applied to ANY members of this segment
|
|
57
|
+
* is strictly FORBIDDEN.
|
|
58
|
+
* Members of it can only be got as READONLY objects.
|
|
59
|
+
*
|
|
60
|
+
* If you're trying to change the value of it and let mobx catch the action to trigger an update,
|
|
61
|
+
* please use `this.useMutable()` to access to a writable reference
|
|
62
|
+
* (an `immer` draft) of `this.visList[this.visIndex]`.
|
|
63
|
+
*/
|
|
64
|
+
readonly draggableFieldState: DeepReadonly<DraggableFieldState>;
|
|
22
65
|
private reactions;
|
|
23
|
-
|
|
66
|
+
/**
|
|
67
|
+
* This segment will always refers to the state of the active tab -
|
|
68
|
+
* `this.visList[this.visIndex].config`.
|
|
69
|
+
* Notice that observing rule of `this.visList` is `"shallow"`
|
|
70
|
+
* so mobx will NOT compare every deep value of `this.visList`,
|
|
71
|
+
* because the active tab is the only item in the list that may change.
|
|
72
|
+
* @readonly
|
|
73
|
+
* Assignment or mutable operations applied to ANY members of this segment
|
|
74
|
+
* is strictly FORBIDDEN.
|
|
75
|
+
* Members of it can only be got as READONLY objects.
|
|
76
|
+
*
|
|
77
|
+
* If you're trying to change the value of it and let mobx catch the action to trigger an update,
|
|
78
|
+
* please use `this.useMutable()` to access to a writable reference
|
|
79
|
+
* (an `immer` draft) of `this.visList[this.visIndex]`.
|
|
80
|
+
*/
|
|
81
|
+
readonly visualConfig: Readonly<IVisualConfig>;
|
|
82
|
+
visList: IVisSpecWithHistory[];
|
|
83
|
+
visIndex: number;
|
|
84
|
+
canUndo: boolean;
|
|
85
|
+
canRedo: boolean;
|
|
86
|
+
editingFilterIdx: number | null;
|
|
24
87
|
constructor(commonStore: CommonStore);
|
|
88
|
+
/**
|
|
89
|
+
* Allow to change any deep member of `encodings` or `config`
|
|
90
|
+
* in the active tab `this.visList[this.visIndex]`.
|
|
91
|
+
*
|
|
92
|
+
* - `tab.encodings`
|
|
93
|
+
*
|
|
94
|
+
* A mutable reference of `this.draggableFieldState`
|
|
95
|
+
*
|
|
96
|
+
* - `tab.config`
|
|
97
|
+
*
|
|
98
|
+
* A mutable reference of `this.visualConfig`
|
|
99
|
+
*/
|
|
100
|
+
private useMutable;
|
|
101
|
+
undo(): void;
|
|
102
|
+
redo(): void;
|
|
103
|
+
private freezeHistory;
|
|
25
104
|
/**
|
|
26
105
|
* dimension fields in visualization
|
|
27
106
|
*/
|
|
@@ -30,13 +109,33 @@ export declare class VizSpecStore {
|
|
|
30
109
|
* dimension fields in visualization
|
|
31
110
|
*/
|
|
32
111
|
get viewMeasures(): IViewField[];
|
|
112
|
+
addVisualization(): void;
|
|
113
|
+
selectVisualization(visIndex: number): void;
|
|
114
|
+
setVisName(visIndex: number, name: string): void;
|
|
33
115
|
initState(): void;
|
|
116
|
+
initMetaState(dataset: DataSet): void;
|
|
34
117
|
clearState(): void;
|
|
35
|
-
setVisualConfig(configKey:
|
|
118
|
+
setVisualConfig<K extends keyof IVisualConfig>(configKey: K, value: IVisualConfig[K]): void;
|
|
119
|
+
transformCoord(coord: 'cartesian' | 'polar'): void;
|
|
120
|
+
setChartLayout(props: {
|
|
121
|
+
mode: IVisualConfig['size']['mode'];
|
|
122
|
+
width?: number;
|
|
123
|
+
height?: number;
|
|
124
|
+
}): void;
|
|
36
125
|
reorderField(stateKey: keyof DraggableFieldState, sourceIndex: number, destinationIndex: number): void;
|
|
37
126
|
moveField(sourceKey: keyof DraggableFieldState, sourceIndex: number, destinationKey: keyof DraggableFieldState, destinationIndex: number): void;
|
|
38
127
|
removeField(sourceKey: keyof DraggableFieldState, sourceIndex: number): void;
|
|
128
|
+
private appendFilter;
|
|
129
|
+
writeFilter(index: number, rule: IFilterRule | null): void;
|
|
130
|
+
setFilterEditing(index: number): void;
|
|
131
|
+
closeFilterEditing(): void;
|
|
132
|
+
transpose(): void;
|
|
133
|
+
createBinField(stateKey: keyof DraggableFieldState, index: number): void;
|
|
134
|
+
createLogField(stateKey: keyof DraggableFieldState, index: number): void;
|
|
39
135
|
setFieldAggregator(stateKey: keyof DraggableFieldState, index: number, aggName: string): void;
|
|
136
|
+
get sortCondition(): boolean;
|
|
137
|
+
setFieldSort(stateKey: keyof DraggableFieldState, index: number, sortType: 'none' | 'ascending' | 'descending'): void;
|
|
138
|
+
applyDefaultSort(sortType?: 'none' | 'ascending' | 'descending'): void;
|
|
40
139
|
appendField(destinationKey: keyof DraggableFieldState, field: IViewField | undefined): void;
|
|
41
140
|
renderSpec(spec: Specification): void;
|
|
42
141
|
destroy(): void;
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:before,:after{box-sizing:border-box}html{-moz-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-opacity: 1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.right-2{right:.5rem}.col-span-1{grid-column:span 1 / span 1}.col-span-4{grid-column:span 4 / span 4}.float-right{float:right}.m-1{margin:.25rem}.mt-1{margin-top:.25rem}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-0\.5{margin-right:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-9{height:2.25rem}.h-16{height:4rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-16{width:4rem}.min-w-96{min-width:96px}.flex-shrink{flex-shrink:1}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-sm{border-radius:.125rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-t-2{border-top-width:2px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-gray-300{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity: 1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.focus\:border-gray-500:focus{--tw-border-opacity: 1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.bg-transparent{background-color:transparent}.bg-yellow-600{--tw-bg-opacity: 1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.disabled\:bg-gray-300:disabled{--tw-bg-opacity: 1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-4{padding:1rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-0\.5{padding-top:.125rem}.pr-2{padding-right:.5rem}.pr-6{padding-right:1.5rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-0\.5{padding-bottom:.125rem}.pl-2{padding-left:.5rem}.pl-6{padding-left:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.ordinal{--tw-ordinal: var(--tw-empty, );--tw-slashed-zero: var(--tw-empty, );--tw-numeric-figure: var(--tw-empty, );--tw-numeric-spacing: var(--tw-empty, );--tw-numeric-fraction: var(--tw-empty, );font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.ordinal{--tw-ordinal: ordinal}.text-white{--tw-text-opacity: 1;color:rgba(255,255,255,var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgba(55,65,81,var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgba(31,41,55,var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgba(220,38,38,var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgba(245,158,11,var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgba(16,185,129,var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgba(59,130,246,var(--tw-text-opacity))}*,:before,:after{--tw-shadow: 0 0 #0000}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,:before,:after{--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000}.filter{--tw-blur: var(--tw-empty, );--tw-brightness: var(--tw-empty, );--tw-contrast: var(--tw-empty, );--tw-grayscale: var(--tw-empty, );--tw-hue-rotate: var(--tw-empty, );--tw-invert: var(--tw-empty, );--tw-saturate: var(--tw-empty, );--tw-sepia: var(--tw-empty, );--tw-drop-shadow: var(--tw-empty, );filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}
|
|
1
|
+
/*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com *//*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-opacity: 1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-2{top:.5rem}.right-2{right:.5rem}.z-auto{z-index:auto}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-5{grid-column:span 5 / span 5}.col-span-7{grid-column:span 7 / span 7}.float-right{float:right}.m-1{margin:.25rem}.m-2{margin:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-0\.5{margin-right:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.-mb-px{margin-bottom:-1px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-2{height:.5rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-16{height:4rem}.h-48{height:12rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-16{width:4rem}.w-60{width:15rem}.w-full{width:100%}.min-w-96{min-width:96px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;appearance:none}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border{border-width:1px}.border-t-2{border-top-width:2px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-l{border-left-width:1px}.border-transparent{border-color:transparent}.border-gray-200{--tw-border-opacity: 1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity: 1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity: 1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.focus\:border-gray-500:focus{--tw-border-opacity: 1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.bg-yellow-600{--tw-bg-opacity: 1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.hover\:bg-yellow-100:hover{--tw-bg-opacity: 1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.hover\:bg-green-50:hover{--tw-bg-opacity: 1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.disabled\:bg-gray-300:disabled{--tw-bg-opacity: 1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-0\.5{padding-top:.125rem}.pr-2{padding-right:.5rem}.pr-6{padding-right:1.5rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-0\.5{padding-bottom:.125rem}.pl-2{padding-left:.5rem}.pl-6{padding-left:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.ordinal{--tw-ordinal: var(--tw-empty, );--tw-slashed-zero: var(--tw-empty, );--tw-numeric-figure: var(--tw-empty, );--tw-numeric-spacing: var(--tw-empty, );--tw-numeric-fraction: var(--tw-empty, );font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.ordinal{--tw-ordinal: ordinal}.leading-none{line-height:1}.text-black{--tw-text-opacity: 1;color:rgba(0,0,0,var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgba(255,255,255,var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgba(209,213,219,var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgba(156,163,175,var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgba(107,114,128,var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgba(75,85,99,var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgba(55,65,81,var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgba(31,41,55,var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgba(17,24,39,var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgba(220,38,38,var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgba(245,158,11,var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgba(16,185,129,var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgba(59,130,246,var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgba(55,65,81,var(--tw-text-opacity))}.hover\:text-purple-600:hover{--tw-text-opacity: 1;color:rgba(124,58,237,var(--tw-text-opacity))}.underline{text-decoration:underline}*,:before,:after{--tw-shadow: 0 0 #0000}.shadow{--tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,:before,:after{--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000}.filter{--tw-blur: var(--tw-empty, );--tw-brightness: var(--tw-empty, );--tw-contrast: var(--tw-empty, );--tw-grayscale: var(--tw-empty, );--tw-hue-rotate: var(--tw-empty, );--tw-invert: var(--tw-empty, );--tw-saturate: var(--tw-empty, );--tw-sepia: var(--tw-empty, );--tw-drop-shadow: var(--tw-empty, );filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur{--tw-blur: blur(8px)}@media (min-width: 1280px){.xl\:col-span-1{grid-column:span 1 / span 1}.xl\:col-span-4{grid-column:span 4 / span 4}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Record, Filters } from '../interfaces';
|
|
1
|
+
import { Record, Filters, IMutField, IRow } from '../interfaces';
|
|
2
2
|
export declare function checkMajorFactor(data: Record[], childrenData: Map<any, Record[]>, dimensions: string[], measures: string[]): {
|
|
3
3
|
majorKey: string;
|
|
4
4
|
majorSum: number;
|
|
@@ -16,3 +16,7 @@ export declare function getPredicates(selection: Record[], dimensions: string[],
|
|
|
16
16
|
export declare function getPredicatesFromVegaSignals(signals: Filters, dimensions: string[], measures: string[]): IPredicate[];
|
|
17
17
|
export declare function filterByPredicates(data: Record[], predicates: IPredicate[]): Record[];
|
|
18
18
|
export declare function applyFilters(dataSource: Record[], filters: Filters): Record[];
|
|
19
|
+
export declare function extendCountField(dataSource: IRow[], fields: IMutField[]): {
|
|
20
|
+
dataSource: IRow[];
|
|
21
|
+
fields: IMutField[];
|
|
22
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Record } from '../interfaces';
|
|
1
|
+
import { IRow, Record } from '../interfaces';
|
|
2
2
|
export declare function normalizeWithParent(data: Record[], parentData: Record[], measures: string[], syncScale: boolean): {
|
|
3
3
|
normalizedData: Record[];
|
|
4
4
|
normalizedParentData: Record[];
|
|
@@ -6,3 +6,9 @@ export declare function normalizeWithParent(data: Record[], parentData: Record[]
|
|
|
6
6
|
export declare function compareDistribution(distribution1: Record[], distribution2: Record[], dimensions: string[], measures: string[]): number;
|
|
7
7
|
export declare function normalizeByMeasures(dataSource: Record[], measures: string[]): Record[];
|
|
8
8
|
export declare function getDistributionDifference(dataSource: Record[], dimensions: string[], measure1: string, measure2: string): number;
|
|
9
|
+
export declare function makeBinField(dataSource: IRow[], fid: string, binFid: string, binSize?: number | undefined): {
|
|
10
|
+
[x: string]: any;
|
|
11
|
+
}[];
|
|
12
|
+
export declare function makeLogField(dataSource: IRow[], fid: string, logFid: string): {
|
|
13
|
+
[x: string]: any;
|
|
14
|
+
}[];
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
* https://github.com/vega/vega-lite/issues/4680
|
|
4
4
|
*/
|
|
5
5
|
import React from 'react';
|
|
6
|
-
import {
|
|
6
|
+
import { IField, Record } from '../interfaces';
|
|
7
7
|
interface ReactVegaProps {
|
|
8
|
-
rows:
|
|
9
|
-
columns:
|
|
8
|
+
rows: IField[];
|
|
9
|
+
columns: IField[];
|
|
10
10
|
dataSource: Record[];
|
|
11
11
|
defaultAggregate?: boolean;
|
|
12
12
|
geomType: string;
|
|
13
|
-
color?:
|
|
14
|
-
opacity?:
|
|
15
|
-
size?:
|
|
13
|
+
color?: IField;
|
|
14
|
+
opacity?: IField;
|
|
15
|
+
size?: IField;
|
|
16
16
|
onGeomClick?: (values: any, e: any) => void;
|
|
17
17
|
}
|
|
18
18
|
declare const ReactVega: React.FC<ReactVegaProps>;
|
package/dist/vis/react-vega.d.ts
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { IViewField, IRow, IStackMode } from '../interfaces';
|
|
3
3
|
interface ReactVegaProps {
|
|
4
|
-
rows:
|
|
5
|
-
columns:
|
|
6
|
-
dataSource:
|
|
4
|
+
rows: Readonly<IViewField[]>;
|
|
5
|
+
columns: Readonly<IViewField[]>;
|
|
6
|
+
dataSource: IRow[];
|
|
7
7
|
defaultAggregate?: boolean;
|
|
8
|
+
stack: IStackMode;
|
|
9
|
+
interactiveScale: boolean;
|
|
8
10
|
geomType: string;
|
|
9
|
-
color?:
|
|
10
|
-
opacity?:
|
|
11
|
-
size?:
|
|
11
|
+
color?: IViewField;
|
|
12
|
+
opacity?: IViewField;
|
|
13
|
+
size?: IViewField;
|
|
14
|
+
shape?: IViewField;
|
|
15
|
+
theta?: IViewField;
|
|
16
|
+
radius?: IViewField;
|
|
17
|
+
showActions: boolean;
|
|
18
|
+
layoutMode: string;
|
|
19
|
+
width: number;
|
|
20
|
+
height: number;
|
|
12
21
|
onGeomClick?: (values: any, e: any) => void;
|
|
13
22
|
}
|
|
14
23
|
declare const ReactVega: React.FC<ReactVegaProps>;
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kanaries/graphic-walker",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"scripts": {
|
|
5
|
-
"dev": "vite",
|
|
5
|
+
"dev:front_end": "vite --host",
|
|
6
|
+
"dev": "npm run dev:front_end",
|
|
6
7
|
"build": "tsc && vite build",
|
|
7
8
|
"serve": "vite preview",
|
|
8
9
|
"type": "tsc src/lib.ts --declaration --emitDeclarationOnly --jsx react --esModuleInterop --outDir dist"
|
|
@@ -10,42 +11,55 @@
|
|
|
10
11
|
"files": [
|
|
11
12
|
"dist"
|
|
12
13
|
],
|
|
13
|
-
"license": "
|
|
14
|
+
"license": "AGPL",
|
|
14
15
|
"main": "./dist/graphic-walker.umd.js",
|
|
15
16
|
"module": "./dist/graphic-walker.es.js",
|
|
16
17
|
"exports": {
|
|
17
18
|
".": {
|
|
18
19
|
"import": "./dist/graphic-walker.es.js",
|
|
19
20
|
"require": "./dist/graphic-walker.umd.js"
|
|
21
|
+
},
|
|
22
|
+
"./dist/style.css": {
|
|
23
|
+
"import": "./dist/style.css",
|
|
24
|
+
"require": "./dist/style.css"
|
|
20
25
|
}
|
|
21
26
|
},
|
|
27
|
+
"prettier": {
|
|
28
|
+
"tabWidth": 4
|
|
29
|
+
},
|
|
22
30
|
"types": "./dist/index.d.ts",
|
|
23
31
|
"dependencies": {
|
|
24
|
-
"@heroicons/react": "^
|
|
32
|
+
"@heroicons/react": "^2.0.8",
|
|
33
|
+
"@kanaries/web-data-loader": "0.1.5",
|
|
25
34
|
"autoprefixer": "^10.3.5",
|
|
35
|
+
"i18next": "^21.9.1",
|
|
36
|
+
"i18next-browser-languagedetector": "^6.1.5",
|
|
37
|
+
"immer": "^9.0.15",
|
|
26
38
|
"mobx": "^6.3.3",
|
|
27
39
|
"mobx-react-lite": "^3.2.1",
|
|
28
40
|
"postcss": "^8.3.7",
|
|
41
|
+
"re-resizable": "^6.9.8",
|
|
29
42
|
"react": "^17.0.2",
|
|
30
43
|
"react-beautiful-dnd": "^13.1.0",
|
|
31
44
|
"react-dom": "^17.0.2",
|
|
45
|
+
"react-i18next": "^11.18.6",
|
|
32
46
|
"react-json-view": "^1.21.3",
|
|
33
47
|
"rxjs": "^7.3.0",
|
|
34
48
|
"styled-components": "^5.3.0",
|
|
35
49
|
"tailwindcss": "^2.2.15",
|
|
36
50
|
"uuid": "^8.3.2",
|
|
37
|
-
"vega": "^5.
|
|
38
|
-
"vega-embed": "^6.
|
|
39
|
-
"vega-lite": "^5.
|
|
40
|
-
"visual-insights": "0.7.
|
|
51
|
+
"vega": "^5.22.1",
|
|
52
|
+
"vega-embed": "^6.20.8",
|
|
53
|
+
"vega-lite": "^5.2.0",
|
|
54
|
+
"visual-insights": "0.7.15"
|
|
41
55
|
},
|
|
42
56
|
"devDependencies": {
|
|
43
57
|
"@rollup/plugin-typescript": "^8.2.5",
|
|
44
|
-
"@types/react": "^17.
|
|
45
|
-
"@types/react-dom": "^17.
|
|
58
|
+
"@types/react": "^17.x",
|
|
59
|
+
"@types/react-dom": "^17.x",
|
|
46
60
|
"@types/uuid": "^8.3.1",
|
|
47
|
-
"@vitejs/plugin-react-refresh": "^1.3.
|
|
61
|
+
"@vitejs/plugin-react-refresh": "^1.3.6",
|
|
48
62
|
"typescript": "^4.3.2",
|
|
49
|
-
"vite": "^
|
|
63
|
+
"vite": "^3.1.0"
|
|
50
64
|
}
|
|
51
65
|
}
|