squarified 0.2.2 → 0.3.2
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/.jiek-production-tag +0 -0
- package/README.md +2 -2
- package/dist/index.d.mts +121 -109
- package/dist/index.d.ts +121 -109
- package/dist/index.js +872 -803
- package/dist/index.mjs +872 -803
- package/package.json +2 -11
|
File without changes
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Squarified
|
|
2
2
|
|
|
3
|
-
`squarified
|
|
3
|
+
`squarified` is a mini treemap component.
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
@@ -35,7 +35,7 @@ declare function getNodeDepth(node: NativeModule): number
|
|
|
35
35
|
declare function visit<T extends AnyObject>(data: T[], fn: (data: T) => boolean | void): T | null
|
|
36
36
|
|
|
37
37
|
declare function findRelativeNode(p: {
|
|
38
|
-
x: number
|
|
38
|
+
x: number,
|
|
39
39
|
y: number
|
|
40
40
|
}, layoutNodes: LayoutModule[]): LayoutModule | null
|
|
41
41
|
|
package/dist/index.d.mts
CHANGED
|
@@ -16,8 +16,8 @@ declare class Matrix2D implements MatrixLoc {
|
|
|
16
16
|
constructor(loc?: Partial<MatrixLoc>);
|
|
17
17
|
create(loc: MatrixLoc): this;
|
|
18
18
|
transform(x: number, y: number, scaleX: number, scaleY: number, rotation: number, skewX: number, skewY: number): this;
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
translation(x: number, y: number): this;
|
|
20
|
+
scale(a: number, d: number): this;
|
|
21
21
|
private skew;
|
|
22
22
|
private roate;
|
|
23
23
|
}
|
|
@@ -25,46 +25,23 @@ declare class Matrix2D implements MatrixLoc {
|
|
|
25
25
|
declare const enum DisplayType {
|
|
26
26
|
Graph = "Graph",
|
|
27
27
|
Box = "Box",
|
|
28
|
-
Rect = "Rect",
|
|
29
28
|
Text = "Text",
|
|
30
|
-
|
|
29
|
+
RoundRect = "RoundRect",
|
|
30
|
+
Bitmap = "Bitmap"
|
|
31
31
|
}
|
|
32
32
|
declare abstract class Display {
|
|
33
33
|
parent: Display | null;
|
|
34
34
|
id: number;
|
|
35
35
|
matrix: Matrix2D;
|
|
36
|
-
abstract get __instanceOf__():
|
|
36
|
+
abstract get __instanceOf__(): DisplayType;
|
|
37
37
|
constructor();
|
|
38
38
|
destory(): void;
|
|
39
39
|
}
|
|
40
|
-
interface LocOptions {
|
|
41
|
-
width: number;
|
|
42
|
-
height: number;
|
|
43
|
-
x: number;
|
|
44
|
-
y: number;
|
|
45
|
-
scaleX: number;
|
|
46
|
-
scaleY: number;
|
|
47
|
-
rotation: number;
|
|
48
|
-
skewX: number;
|
|
49
|
-
skewY: number;
|
|
50
|
-
}
|
|
51
|
-
declare abstract class S extends Display {
|
|
52
|
-
width: number;
|
|
53
|
-
height: number;
|
|
54
|
-
x: number;
|
|
55
|
-
y: number;
|
|
56
|
-
scaleX: number;
|
|
57
|
-
scaleY: number;
|
|
58
|
-
rotation: number;
|
|
59
|
-
skewX: number;
|
|
60
|
-
skewY: number;
|
|
61
|
-
constructor(options?: Partial<LocOptions>);
|
|
62
|
-
}
|
|
63
40
|
|
|
64
41
|
declare abstract class C extends Display {
|
|
65
42
|
elements: Display[];
|
|
66
43
|
constructor();
|
|
67
|
-
abstract get __instanceOf__():
|
|
44
|
+
abstract get __instanceOf__(): DisplayType;
|
|
68
45
|
add(...elements: Display[]): void;
|
|
69
46
|
remove(...elements: Display[]): void;
|
|
70
47
|
destory(): void;
|
|
@@ -79,50 +56,6 @@ declare class Box extends C {
|
|
|
79
56
|
clone(): Box;
|
|
80
57
|
}
|
|
81
58
|
|
|
82
|
-
interface RenderViewportOptions {
|
|
83
|
-
width: number;
|
|
84
|
-
height: number;
|
|
85
|
-
devicePixelRatio: number;
|
|
86
|
-
shaow?: boolean;
|
|
87
|
-
}
|
|
88
|
-
declare class Render {
|
|
89
|
-
private c;
|
|
90
|
-
options: RenderViewportOptions;
|
|
91
|
-
constructor(to: Element, options: RenderViewportOptions);
|
|
92
|
-
clear(width: number, height: number): void;
|
|
93
|
-
get canvas(): HTMLCanvasElement;
|
|
94
|
-
get ctx(): CanvasRenderingContext2D;
|
|
95
|
-
initOptions(userOptions?: Partial<RenderViewportOptions>): void;
|
|
96
|
-
destory(): void;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
declare class Layer extends C implements S {
|
|
100
|
-
private c;
|
|
101
|
-
__refresh__: boolean;
|
|
102
|
-
options: RenderViewportOptions;
|
|
103
|
-
width: number;
|
|
104
|
-
height: number;
|
|
105
|
-
x: number;
|
|
106
|
-
y: number;
|
|
107
|
-
scaleX: number;
|
|
108
|
-
scaleY: number;
|
|
109
|
-
rotation: number;
|
|
110
|
-
skewX: number;
|
|
111
|
-
skewY: number;
|
|
112
|
-
constructor(options?: Partial<LocOptions>);
|
|
113
|
-
get __instanceOf__(): DisplayType.Layer;
|
|
114
|
-
setCanvasOptions(options?: Partial<RenderViewportOptions>): void;
|
|
115
|
-
cleanCacheSnapshot(): {
|
|
116
|
-
dpr: number;
|
|
117
|
-
matrix: Matrix2D;
|
|
118
|
-
};
|
|
119
|
-
setCacheSnapshot(c: HTMLCanvasElement): void;
|
|
120
|
-
initLoc(options?: Partial<LocOptions>): void;
|
|
121
|
-
draw(ctx: CanvasRenderingContext2D): void;
|
|
122
|
-
get canvas(): HTMLCanvasElement;
|
|
123
|
-
get ctx(): CanvasRenderingContext2D;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
59
|
interface RGBColor {
|
|
127
60
|
r: number;
|
|
128
61
|
g: number;
|
|
@@ -145,13 +78,14 @@ interface ColorDecoratorResultRGB {
|
|
|
145
78
|
}
|
|
146
79
|
type ColorDecoratorResult = ColorDecoratorResultHLS | ColorDecoratorResultRGB;
|
|
147
80
|
|
|
148
|
-
type EventCallback<P =
|
|
81
|
+
type EventCallback<P = Any[]> = P extends Any[] ? (...args: P) => Any : never;
|
|
149
82
|
type DefaultEventDefinition = Record<string, EventCallback>;
|
|
150
83
|
type BindThisParameter<T, C = unknown> = T extends (...args: infer P) => infer R ? (this: C, ...args: P) => R : never;
|
|
151
84
|
interface EventCollectionData<EvtDefinition extends DefaultEventDefinition, C = unknown> {
|
|
152
85
|
name: string;
|
|
153
86
|
handler: BindThisParameter<EvtDefinition[keyof EvtDefinition], C>;
|
|
154
87
|
ctx: C;
|
|
88
|
+
silent: boolean;
|
|
155
89
|
}
|
|
156
90
|
type EventCollections<EvtDefinition extends DefaultEventDefinition> = Record<keyof EvtDefinition, EventCollectionData<EvtDefinition>[]>;
|
|
157
91
|
declare class Event<EvtDefinition extends DefaultEventDefinition = DefaultEventDefinition> {
|
|
@@ -159,26 +93,85 @@ declare class Event<EvtDefinition extends DefaultEventDefinition = DefaultEventD
|
|
|
159
93
|
constructor();
|
|
160
94
|
on<C, Evt extends keyof EvtDefinition>(evt: Evt, handler: BindThisParameter<EvtDefinition[Evt], unknown extends C ? this : C>, c?: C): void;
|
|
161
95
|
off(evt: keyof EvtDefinition, handler?: BindThisParameter<EvtDefinition[keyof EvtDefinition], unknown>): void;
|
|
96
|
+
silent(evt: keyof EvtDefinition, handler?: BindThisParameter<EvtDefinition[keyof EvtDefinition], unknown>): void;
|
|
97
|
+
active(evt: keyof EvtDefinition, handler?: BindThisParameter<EvtDefinition[keyof EvtDefinition], unknown>): void;
|
|
162
98
|
emit(evt: keyof EvtDefinition, ...args: Parameters<EvtDefinition[keyof EvtDefinition]>): void;
|
|
163
99
|
bindWithContext<C>(c: C): (evt: keyof EvtDefinition, handler: BindThisParameter<EvtDefinition[keyof EvtDefinition], unknown extends C ? this : C>) => void;
|
|
164
100
|
}
|
|
165
101
|
|
|
166
|
-
|
|
102
|
+
interface RenderViewportOptions {
|
|
103
|
+
width: number;
|
|
104
|
+
height: number;
|
|
105
|
+
devicePixelRatio: number;
|
|
106
|
+
shaow?: boolean;
|
|
107
|
+
}
|
|
108
|
+
declare class Canvas {
|
|
109
|
+
canvas: HTMLCanvasElement;
|
|
110
|
+
ctx: CanvasRenderingContext2D;
|
|
111
|
+
constructor(options: RenderViewportOptions);
|
|
112
|
+
setOptions(options: RenderViewportOptions): void;
|
|
113
|
+
}
|
|
114
|
+
declare class Render {
|
|
115
|
+
options: RenderViewportOptions;
|
|
116
|
+
private container;
|
|
117
|
+
constructor(to: HTMLElement, options: RenderViewportOptions);
|
|
118
|
+
clear(width: number, height: number): void;
|
|
119
|
+
get canvas(): HTMLCanvasElement;
|
|
120
|
+
get ctx(): CanvasRenderingContext2D;
|
|
121
|
+
initOptions(userOptions?: Partial<RenderViewportOptions>): void;
|
|
122
|
+
destory(): void;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
type ApplyTo = string | HTMLElement;
|
|
167
126
|
declare class Schedule<D extends DefaultEventDefinition = DefaultEventDefinition> extends Box {
|
|
168
127
|
render: Render;
|
|
169
|
-
to:
|
|
128
|
+
to: HTMLElement;
|
|
170
129
|
event: Event<D>;
|
|
171
130
|
constructor(to: ApplyTo, renderOptions?: Partial<RenderViewportOptions>);
|
|
172
131
|
update(): void;
|
|
173
132
|
execute(render: Render, graph?: Display): void;
|
|
174
133
|
}
|
|
175
134
|
|
|
176
|
-
declare
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
135
|
+
declare const DOM_EVENTS: readonly ["click", "mousedown", "mousemove", "mouseup", "mouseover", "mouseout", "wheel"];
|
|
136
|
+
type DOMEventType = typeof DOM_EVENTS[number];
|
|
137
|
+
interface DOMLoc {
|
|
138
|
+
x: number;
|
|
139
|
+
y: number;
|
|
140
|
+
}
|
|
141
|
+
interface DOMEventMetadata<T extends keyof HTMLElementEventMap = Any> {
|
|
142
|
+
native: HTMLElementEventMap[T];
|
|
143
|
+
loc: DOMLoc;
|
|
144
|
+
}
|
|
145
|
+
type DOMEventCallback<T extends DOMEventType> = (metadata: DOMEventMetadata<T>) => void;
|
|
146
|
+
type DOMEventDefinition<API = unknown> = {
|
|
147
|
+
[K in DOMEventType]: BindThisParameter<DOMEventCallback<K>, API>;
|
|
180
148
|
};
|
|
181
149
|
|
|
150
|
+
declare abstract class Cache {
|
|
151
|
+
abstract key: string;
|
|
152
|
+
abstract get state(): boolean;
|
|
153
|
+
abstract flush(...args: never): void;
|
|
154
|
+
abstract destroy(): void;
|
|
155
|
+
}
|
|
156
|
+
declare class RenderCache extends Canvas implements Cache {
|
|
157
|
+
key: string;
|
|
158
|
+
private $memory;
|
|
159
|
+
constructor(opts: RenderViewportOptions);
|
|
160
|
+
get state(): boolean;
|
|
161
|
+
flush(treemap: TreemapLayout, matrix?: Matrix2D): void;
|
|
162
|
+
destroy(): void;
|
|
163
|
+
}
|
|
164
|
+
declare class FontCache implements Cache {
|
|
165
|
+
key: string;
|
|
166
|
+
private fonts;
|
|
167
|
+
ellispsis: Record<string, number>;
|
|
168
|
+
constructor();
|
|
169
|
+
get state(): boolean;
|
|
170
|
+
flush(treemap: TreemapLayout, matrix?: Matrix2D): void;
|
|
171
|
+
destroy(): void;
|
|
172
|
+
queryFontById(id: string, byDefault: () => number): number;
|
|
173
|
+
}
|
|
174
|
+
|
|
182
175
|
type ColorMappings = Record<string, ColorDecoratorResult>;
|
|
183
176
|
type Rect = {
|
|
184
177
|
w: number;
|
|
@@ -226,10 +219,10 @@ declare const defaultFontOptions: {
|
|
|
226
219
|
};
|
|
227
220
|
declare function presetDecorator(app: TreemapLayout): void;
|
|
228
221
|
|
|
229
|
-
type AnyObject = Record<keyof
|
|
222
|
+
type AnyObject = Record<keyof Any, Any>;
|
|
230
223
|
declare function sortChildrenByKey<T extends AnyObject, K extends keyof T = 'weight'>(data: T[], ...keys: K[]): T[];
|
|
231
224
|
declare function c2m<T extends AnyObject & {
|
|
232
|
-
groups:
|
|
225
|
+
groups: Any[];
|
|
233
226
|
}, K extends keyof T>(data: T, key: K, modifier?: (data: T) => T): T & {
|
|
234
227
|
weight: number;
|
|
235
228
|
};
|
|
@@ -265,30 +258,26 @@ type LayoutModule = {
|
|
|
265
258
|
};
|
|
266
259
|
};
|
|
267
260
|
|
|
268
|
-
declare const primitiveEvents: readonly ["click", "mousedown", "mousemove", "mouseup", "mouseover", "mouseout"];
|
|
269
|
-
type PrimitiveEvent = typeof primitiveEvents[number];
|
|
270
261
|
interface PrimitiveEventMetadata<T extends keyof HTMLElementEventMap> {
|
|
271
262
|
native: HTMLElementEventMap[T];
|
|
272
|
-
module: LayoutModule;
|
|
263
|
+
module: LayoutModule | null;
|
|
273
264
|
}
|
|
274
|
-
type
|
|
275
|
-
type
|
|
276
|
-
[
|
|
265
|
+
type ExposedEventCallback<T extends DOMEventType> = (metadata: PrimitiveEventMetadata<T>) => void;
|
|
266
|
+
type ExposedEventDefinition = {
|
|
267
|
+
[K in DOMEventType]: BindThisParameter<ExposedEventCallback<K>, TreemapInstanceAPI>;
|
|
277
268
|
};
|
|
278
|
-
interface
|
|
269
|
+
interface ExposedEventMethods<C = TreemapInstanceAPI, D = ExposedEventDefinition> {
|
|
279
270
|
on<Evt extends keyof D>(evt: Evt, handler: BindThisParameter<D[Evt], unknown extends C ? this : C>): void;
|
|
280
271
|
off<Evt extends keyof D>(evt: keyof D, handler?: BindThisParameter<D[Evt], unknown extends C ? this : C>): void;
|
|
281
272
|
}
|
|
282
|
-
declare const
|
|
283
|
-
readonly
|
|
284
|
-
readonly
|
|
285
|
-
readonly ON_ZOOM: "zoom";
|
|
273
|
+
declare const INTERNAL_EVENT_MAPPINGS: {
|
|
274
|
+
readonly ON_ZOOM: 1;
|
|
275
|
+
readonly ON_CLEANUP: 3;
|
|
286
276
|
};
|
|
287
|
-
type InternalEventType = typeof
|
|
277
|
+
type InternalEventType = typeof INTERNAL_EVENT_MAPPINGS[keyof typeof INTERNAL_EVENT_MAPPINGS];
|
|
288
278
|
interface InternalEventMappings {
|
|
289
|
-
[
|
|
290
|
-
[
|
|
291
|
-
[internalEventMappings.ON_ZOOM]: (node: LayoutModule) => void;
|
|
279
|
+
[INTERNAL_EVENT_MAPPINGS.ON_ZOOM]: (node: LayoutModule) => void;
|
|
280
|
+
[INTERNAL_EVENT_MAPPINGS.ON_CLEANUP]: () => void;
|
|
292
281
|
}
|
|
293
282
|
type InternalEventDefinition = {
|
|
294
283
|
[key in InternalEventType]: InternalEventMappings[key];
|
|
@@ -297,13 +286,13 @@ type InternalEventDefinition = {
|
|
|
297
286
|
interface TreemapOptions {
|
|
298
287
|
data: Module[];
|
|
299
288
|
}
|
|
300
|
-
type
|
|
289
|
+
type UseKind = 'decorator';
|
|
301
290
|
interface App {
|
|
302
291
|
init: (el: HTMLElement) => void;
|
|
303
292
|
dispose: () => void;
|
|
304
293
|
setOptions: (options: TreemapOptions) => void;
|
|
305
294
|
resize: () => void;
|
|
306
|
-
use: (using:
|
|
295
|
+
use: (using: UseKind, register: (app: TreemapLayout) => void) => void;
|
|
307
296
|
zoom: (id: string) => void;
|
|
308
297
|
}
|
|
309
298
|
/**
|
|
@@ -311,24 +300,47 @@ interface App {
|
|
|
311
300
|
* If you want set custom decorator pls see 'presetDecorator' for details.
|
|
312
301
|
*/
|
|
313
302
|
type unstable_use = (app: TreemapLayout) => void;
|
|
314
|
-
declare class
|
|
303
|
+
declare class Highlight extends Schedule<DOMEventDefinition> {
|
|
304
|
+
reset(): void;
|
|
305
|
+
get canvas(): HTMLCanvasElement;
|
|
306
|
+
setZIndexForHighlight(zIndex?: string): void;
|
|
307
|
+
init(): void;
|
|
308
|
+
}
|
|
309
|
+
declare class TreemapLayout extends Schedule<InternalEventDefinition> {
|
|
315
310
|
data: NativeModule[];
|
|
316
311
|
layoutNodes: LayoutModule[];
|
|
317
312
|
decorator: RenderDecorator;
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
313
|
+
bgBox: Box;
|
|
314
|
+
fgBox: Box;
|
|
315
|
+
highlight: Highlight;
|
|
316
|
+
renderCache: RenderCache;
|
|
317
|
+
fontCache: FontCache;
|
|
318
|
+
constructor(...args: ConstructorParameters<typeof Schedule>);
|
|
323
319
|
drawBackgroundNode(node: LayoutModule): void;
|
|
324
320
|
drawForegroundNode(node: LayoutModule): void;
|
|
325
321
|
reset(refresh?: boolean): void;
|
|
326
322
|
get api(): {
|
|
327
|
-
zoom: (node: LayoutModule) => void;
|
|
323
|
+
zoom: (node: LayoutModule | null) => void;
|
|
328
324
|
};
|
|
329
|
-
get backgroundLayer(): Layer;
|
|
330
325
|
}
|
|
331
|
-
declare function createTreemap(): App &
|
|
326
|
+
declare function createTreemap(): App & ExposedEventMethods;
|
|
332
327
|
type TreemapInstanceAPI = TreemapLayout['api'];
|
|
333
328
|
|
|
334
|
-
|
|
329
|
+
/**
|
|
330
|
+
* @deprecated compat `PrimitiveEvent` using `DOMEventType` replace it. (will be removed in the next three versions.)
|
|
331
|
+
*/
|
|
332
|
+
type PrimitiveEvent = DOMEventType;
|
|
333
|
+
/**
|
|
334
|
+
* @deprecated compat `EventMethods` using `ExposedEventMethods` replace it. (will be removed in the next three versions.)
|
|
335
|
+
*/
|
|
336
|
+
type EventMethods = ExposedEventMethods;
|
|
337
|
+
/**
|
|
338
|
+
* @deprecated compat `PrimitiveEventCallback` using `ExposedEventCallback` replace it. (will be removed in the next three versions.)
|
|
339
|
+
*/
|
|
340
|
+
type PrimitiveEventCallback<T extends PrimitiveEvent> = ExposedEventCallback<T>;
|
|
341
|
+
/**
|
|
342
|
+
* @deprecated compat `PrimitiveEventDefinition` using `ExposedEventDefinition` replace it. (will be removed in the next three versions.)
|
|
343
|
+
*/
|
|
344
|
+
type PrimitiveEventDefinition = ExposedEventDefinition;
|
|
345
|
+
|
|
346
|
+
export { type App, type ColorMappings, type DOMEventType, type EventMethods, type ExposedEventCallback, type ExposedEventDefinition, type ExposedEventMethods, type LayoutModule, type Module, type NativeModule, type PrimitiveEvent, type PrimitiveEventCallback, type PrimitiveEventDefinition, type PrimitiveEventMetadata, type Rect, type RenderColor, type RenderDecorator, type RenderFont, type RenderLayout, type Series, type TreemapInstanceAPI, TreemapLayout, type TreemapOptions, c2m, createTreemap, defaultFontOptions, defaultLayoutOptions, findRelativeNode, findRelativeNodeById, flatten as flattenModule, getNodeDepth, presetDecorator, sortChildrenByKey, type unstable_use, visit };
|