@simplex-viz/svg 0.1.3 → 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/README.md +90 -38
- package/dist/SimplexSvgController.d.ts +69 -11
- package/dist/SimplexSvgController.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +778 -441
- package/dist/index.js.map +1 -1
- package/dist/presets.d.ts +39 -0
- package/dist/presets.d.ts.map +1 -0
- package/dist/views/BadgeClusterSvgView.d.ts +1 -0
- package/dist/views/BadgeClusterSvgView.d.ts.map +1 -1
- package/dist/views/ClusterAnchorSvgView.d.ts +1 -0
- package/dist/views/ClusterAnchorSvgView.d.ts.map +1 -1
- package/dist/views/GeometricShapeSvgView.d.ts +1 -0
- package/dist/views/GeometricShapeSvgView.d.ts.map +1 -1
- package/dist/views/MultiSectorGlyphSvgView.d.ts +1 -0
- package/dist/views/MultiSectorGlyphSvgView.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { DefaultTaggedItem, VisualResolver } from '@simplex-viz/core';
|
|
2
|
+
import type { SvgNodeView } from './types';
|
|
3
|
+
import { type BadgeClusterVisual } from './views/BadgeClusterSvgView';
|
|
4
|
+
import { type ClusterAnchorVisual } from './views/ClusterAnchorSvgView';
|
|
5
|
+
import { type GeometricShapeVisual } from './views/GeometricShapeSvgView';
|
|
6
|
+
import { type MultiSectorGlyphVisual } from './views/MultiSectorGlyphSvgView';
|
|
7
|
+
/**
|
|
8
|
+
* Built-in visual presets for zero-config usage of `@simplex-viz/svg` and `@simplex-viz/react`.
|
|
9
|
+
*
|
|
10
|
+
* - `'geometric'`: OKLab-tinted shapes (`circle` / `diamond` / `star` by simplex rank) + double-ring `ClusterAnchorSvgView`.
|
|
11
|
+
* - `'glyphs'`: Proportional `MultiSectorGlyphSvgView` barycentric donuts + `ClusterAnchorSvgView`.
|
|
12
|
+
* - `'badges'`: OKLab geometric shapes + adaptive `BadgeClusterSvgView` cards auto-measured via `getBBox()`.
|
|
13
|
+
*/
|
|
14
|
+
export type SimplexVisualPreset = 'geometric' | 'glyphs' | 'badges';
|
|
15
|
+
export type SimplexTheme = 'dark' | 'light';
|
|
16
|
+
/**
|
|
17
|
+
* Union of built-in content visual descriptors used by presets.
|
|
18
|
+
*/
|
|
19
|
+
export type DefaultContentPresetVisual = GeometricShapeVisual | MultiSectorGlyphVisual;
|
|
20
|
+
/**
|
|
21
|
+
* Union of built-in cluster visual descriptors used by presets.
|
|
22
|
+
*/
|
|
23
|
+
export type DefaultClusterPresetVisual = ClusterAnchorVisual | BadgeClusterVisual;
|
|
24
|
+
/**
|
|
25
|
+
* Safely extracts a human-readable label from an arbitrary domain item for presets and tooltips.
|
|
26
|
+
*/
|
|
27
|
+
export declare function extractDefaultItemLabel<TItem>(item: TItem, fallbackId: string, getLabel?: (item: TItem) => string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Creates the matching `SvgNodeView` pair for a given built-in preset.
|
|
30
|
+
*/
|
|
31
|
+
export declare function createPresetViews(preset: SimplexVisualPreset): {
|
|
32
|
+
readonly contentView: SvgNodeView<DefaultContentPresetVisual>;
|
|
33
|
+
readonly clusterView: SvgNodeView<DefaultClusterPresetVisual>;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Creates a default `VisualResolver` matching the selected built-in preset.
|
|
37
|
+
*/
|
|
38
|
+
export declare function createPresetVisualResolver<TItem = DefaultTaggedItem, TTagMeta = undefined, TClusterMeta = undefined>(preset: SimplexVisualPreset, getLabel?: (item: TItem) => string, theme?: SimplexTheme): VisualResolver<TItem, DefaultContentPresetVisual, DefaultClusterPresetVisual, TTagMeta, TClusterMeta>;
|
|
39
|
+
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAElF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAC3C,IAAI,EAAE,KAAK,EACX,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,GACjC,MAAM,CAoBR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG;IAC9D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAC9D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;CAC/D,CAcA;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,GAAG,iBAAiB,EACzB,QAAQ,GAAG,SAAS,EACpB,YAAY,GAAG,SAAS,EAExB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,EAClC,KAAK,GAAE,YAAqB,GAC3B,cAAc,CACf,KAAK,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,QAAQ,EACR,YAAY,CACb,CAoEA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BadgeClusterSvgView.d.ts","sourceRoot":"","sources":["../../src/views/BadgeClusterSvgView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"BadgeClusterSvgView.d.ts","sourceRoot":"","sources":["../../src/views/BadgeClusterSvgView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,WAAW,CAAC,kBAAkB,CAAC;IACzE,aAAa,CACX,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,eAAe,CAAC,kBAAkB,CAAC,GACzC,IAAI,CA8EN;CACF"}
|
|
@@ -9,6 +9,7 @@ export interface ClusterAnchorVisual {
|
|
|
9
9
|
readonly memberCount: number;
|
|
10
10
|
readonly colorHex: string;
|
|
11
11
|
readonly radius: number;
|
|
12
|
+
readonly theme?: 'dark' | 'light';
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* Pluggable SVG cluster view rendering a calibrated double-ring geometric vertex anchor
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterAnchorSvgView.d.ts","sourceRoot":"","sources":["../../src/views/ClusterAnchorSvgView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ClusterAnchorSvgView.d.ts","sourceRoot":"","sources":["../../src/views/ClusterAnchorSvgView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,WAAW,CAAC,mBAAmB,CAAC;IAC3E,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc,CAE7D;IAED,aAAa,CACX,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAC1C,IAAI,CA2DN;CACF"}
|
|
@@ -11,6 +11,7 @@ export interface GeometricShapeVisual {
|
|
|
11
11
|
readonly strokeHex?: string;
|
|
12
12
|
readonly strokeWidth?: number;
|
|
13
13
|
readonly label?: string;
|
|
14
|
+
readonly theme?: 'dark' | 'light';
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* Pluggable SVG node view rendering geometric shapes (`circle`, `diamond`, `star`, `hexagon`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometricShapeSvgView.d.ts","sourceRoot":"","sources":["../../src/views/GeometricShapeSvgView.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,eAAe,EAErB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"GeometricShapeSvgView.d.ts","sourceRoot":"","sources":["../../src/views/GeometricShapeSvgView.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,eAAe,EAErB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AA2GD;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,WAAW,CAAC,oBAAoB,CAAC;IAC7E,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAqB9D;IAED,OAAO,CAAC,cAAc;IAoBtB,aAAa,CACX,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,eAAe,CAAC,oBAAoB,CAAC,GAC3C,IAAI,CAiCN;IAED,KAAK,CACH,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,oBAAoB,EAC1B,EAAE,EAAE,oBAAoB,EACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAyBT;CACF"}
|
|
@@ -13,6 +13,7 @@ export interface MultiSectorGlyphVisual {
|
|
|
13
13
|
readonly sectors: readonly TopicSectorSlice[];
|
|
14
14
|
readonly centerColorHex: string;
|
|
15
15
|
readonly accentRingHex?: string;
|
|
16
|
+
readonly theme?: 'dark' | 'light';
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
19
|
* Pluggable SVG node view rendering multi-color topic-weight donut sectors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSectorGlyphSvgView.d.ts","sourceRoot":"","sources":["../../src/views/MultiSectorGlyphSvgView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiSectorGlyphSvgView.d.ts","sourceRoot":"","sources":["../../src/views/MultiSectorGlyphSvgView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAyCD;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,WAAW,CAAC,sBAAsB,CAAC;IACjF,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,GAAG,cAAc,CAEhE;IAED,aAAa,CACX,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,sBAAsB,EAC9B,KAAK,EAAE,eAAe,CAAC,sBAAsB,CAAC,GAC7C,IAAI,CA2DN;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplex-viz/svg",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Framework-agnostic SVG rendering engine, offscreen getBBox() hull measurer, and pluggable SvgNodeView system for @simplex-viz/core.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"LICENSE"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@simplex-viz/core": "^0.1
|
|
23
|
+
"@simplex-viz/core": "^0.2.1"
|
|
24
24
|
},
|
|
25
25
|
"keywords": [
|
|
26
26
|
"simplex",
|