@visactor/vgrammar-plot 0.11.2 → 0.11.4
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/cjs/wordcloud-shape.js
CHANGED
|
@@ -38,7 +38,7 @@ class WordcloudShapeSemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
38
38
|
setMainMarkEnterEncode() {
|
|
39
39
|
return (0, vutils_1.merge)({
|
|
40
40
|
textAlign: "center",
|
|
41
|
-
textBaseline: "
|
|
41
|
+
textBaseline: "alphabetic"
|
|
42
42
|
}, this.spec.style);
|
|
43
43
|
}
|
|
44
44
|
parseScaleByEncode(channel, option) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/wordcloud-shape.ts"],"names":[],"mappings":";;;AAcA,mDAA+C;AAE/C,2DAAmE;AACnE,mCAAsC;AACtC,2DAAoE;AACpE,6CAAyC;AAEzC,MAAa,0BAA2B,SAAQ,4BAG/C;IAEC,YAAY,EAAoB;QAC9B,KAAK,CAAC,mBAAW,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,uBAAO,CAAC,YAAY,CAAC,mBAAW,CAAC,cAAc,CAAC,EAAE;YACrD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB;;8EAEsE,CACvE,CAAC;SACH;IACH,CAAC;IAED,WAAW;QACT,OAAO,+BAAe,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,uBAAuB;;QACrB,OAAO;YACL;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE;wBACxB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC3D,CAAC;oBACD,UAAU,EAAE,CAAC,SAAS,CAAC;iBACxB;gBACD,YAAY,EAAE,UAAU;gBACxB,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,EAAE;aACxC;SACF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,cAAmB;;QACjC,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS;YAC7C,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC;YAChF,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,cAAc,EAAE;YAClB,OAAO;gBACL,GAAG,EAAE,MAAA,cAAc,CAAC,YAAY,mCAAI,qBAAqB;aAC1D,CAAC;SACH;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,sBAAsB;QAC9B,OAAO,IAAA,cAAK,EACV;YACE,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/wordcloud-shape.ts"],"names":[],"mappings":"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","file":"wordcloud-shape.js","sourcesContent":["import type {\n WordcloudShapeEncodeChannels,\n WithDefaultEncode,\n PlotWordcloudShapeEncodeSpec,\n GenerateBaseEncodeSpec,\n GenerateEncoderSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n TransformSpec,\n IElement,\n LabelSpec,\n InteractionSpec\n} from '@visactor/vgrammar-core';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType, Factory } from '@visactor/vgrammar-core';\nimport { PlotMakType } from './enums';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport { merge } from '@visactor/vutils';\n\nexport class WordcloudShapeSemanticMark extends SemanticMark<\n PlotWordcloudShapeEncodeSpec,\n WordcloudShapeEncodeChannels\n> {\n static readonly type = PlotMakType.wordcloudShape;\n constructor(id?: string | number) {\n super(PlotMakType.wordcloudShape, id);\n\n if (!Factory.getTransform(PlotMakType.wordcloudShape)) {\n this._logger.error(\n `Please add this line of code:\n import { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape'; \n and run registerWordCloudShapeTransforms() before use wordcloud-shape`\n );\n }\n }\n\n setMarkType() {\n return GrammarMarkType.text;\n }\n\n setDefaultMarkTransform(): TransformSpec[] {\n return [\n {\n type: 'wordcloudShape',\n size: {\n callback: (params: any) => {\n return [params.viewBox.width(), params.viewBox.height()];\n },\n dependency: ['viewBox']\n },\n dataIndexKey: 'text_key',\n colorList: this.getPalette(),\n text: { field: this.spec.encode?.text }\n }\n ];\n }\n\n setMainMarkSpec(parsedMainSpec: any) {\n const shapeTransform = parsedMainSpec.transform\n ? parsedMainSpec.transform.find((entry: any) => entry.type === 'wordcloudShape')\n : null;\n\n if (shapeTransform) {\n return {\n key: shapeTransform.dataIndexKey ?? 'defaultDataIndexKey'\n };\n }\n return {};\n }\n\n protected setMainMarkEnterEncode() {\n return merge(\n {\n textAlign: 'center',\n textBaseline: 'alphabetic'\n },\n this.spec.style\n );\n }\n\n parseScaleByEncode(\n channel: WordcloudShapeEncodeChannels,\n option: ValueOf<\n WithDefaultEncode<PlotWordcloudShapeEncodeSpec, WordcloudShapeEncodeChannels>,\n WordcloudShapeEncodeChannels\n >\n ): ScaleSpec | Nil {\n if (channel === 'color') {\n return {\n type: 'ordinal',\n id: this.getScaleId('color'),\n domain: {\n data: this.getDataIdOfFiltered(),\n field: option as string\n },\n range: this.getPalette()\n };\n }\n\n return null;\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotWordcloudShapeEncodeSpec, WordcloudShapeEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotWordcloudShapeEncodeSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n\n const res: GenerateEncoderSpec<PlotWordcloudShapeEncodeSpec> = {\n x: { field: 'x' },\n y: { field: 'y' },\n angle: { field: 'angle' },\n fontSize: { field: 'fontSize' },\n fontStyle: { field: 'fontStyle' },\n fontFamily: { field: 'fontFamily' },\n fontWeight: { field: 'fontWeight' },\n fillOpacity: { field: 'opacity' },\n text: { field: this.spec.encode?.text }\n };\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n\n if (markEncoder.color) {\n const scaleColorId = this.getScaleId('color');\n const colorAccessor = getFieldAccessor(markEncoder.color.field);\n\n res.fill = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleColorId];\n return scale.scale(colorAccessor(datum));\n };\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n\n protected parseLabelSpec() {\n // TODO use arc label in the future\n return { marks: [] as LabelSpec[], interactions: [] as InteractionSpec[] };\n }\n}\n"]}
|
package/es/wordcloud-shape.js
CHANGED
|
@@ -40,7 +40,7 @@ export class WordcloudShapeSemanticMark extends SemanticMark {
|
|
|
40
40
|
setMainMarkEnterEncode() {
|
|
41
41
|
return merge({
|
|
42
42
|
textAlign: "center",
|
|
43
|
-
textBaseline: "
|
|
43
|
+
textBaseline: "alphabetic"
|
|
44
44
|
}, this.spec.style);
|
|
45
45
|
}
|
|
46
46
|
parseScaleByEncode(channel, option) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/wordcloud-shape.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,KAAK,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,OAAO,0BAA2B,SAAQ,YAG/C;IAEC,YAAY,EAAoB;QAC9B,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;YACrD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB;;8EAEsE,CACvE,CAAC;SACH;IACH,CAAC;IAED,WAAW;QACT,OAAO,eAAe,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,uBAAuB;;QACrB,OAAO;YACL;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE;wBACxB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC3D,CAAC;oBACD,UAAU,EAAE,CAAC,SAAS,CAAC;iBACxB;gBACD,YAAY,EAAE,UAAU;gBACxB,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,EAAE;aACxC;SACF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,cAAmB;;QACjC,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS;YAC7C,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC;YAChF,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,cAAc,EAAE;YAClB,OAAO;gBACL,GAAG,EAAE,MAAA,cAAc,CAAC,YAAY,mCAAI,qBAAqB;aAC1D,CAAC;SACH;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,sBAAsB;QAC9B,OAAO,KAAK,CACV;YACE,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/wordcloud-shape.ts"],"names":[],"mappings":"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","file":"wordcloud-shape.js","sourcesContent":["import type {\n WordcloudShapeEncodeChannels,\n WithDefaultEncode,\n PlotWordcloudShapeEncodeSpec,\n GenerateBaseEncodeSpec,\n GenerateEncoderSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n TransformSpec,\n IElement,\n LabelSpec,\n InteractionSpec\n} from '@visactor/vgrammar-core';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType, Factory } from '@visactor/vgrammar-core';\nimport { PlotMakType } from './enums';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport { merge } from '@visactor/vutils';\n\nexport class WordcloudShapeSemanticMark extends SemanticMark<\n PlotWordcloudShapeEncodeSpec,\n WordcloudShapeEncodeChannels\n> {\n static readonly type = PlotMakType.wordcloudShape;\n constructor(id?: string | number) {\n super(PlotMakType.wordcloudShape, id);\n\n if (!Factory.getTransform(PlotMakType.wordcloudShape)) {\n this._logger.error(\n `Please add this line of code:\n import { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape'; \n and run registerWordCloudShapeTransforms() before use wordcloud-shape`\n );\n }\n }\n\n setMarkType() {\n return GrammarMarkType.text;\n }\n\n setDefaultMarkTransform(): TransformSpec[] {\n return [\n {\n type: 'wordcloudShape',\n size: {\n callback: (params: any) => {\n return [params.viewBox.width(), params.viewBox.height()];\n },\n dependency: ['viewBox']\n },\n dataIndexKey: 'text_key',\n colorList: this.getPalette(),\n text: { field: this.spec.encode?.text }\n }\n ];\n }\n\n setMainMarkSpec(parsedMainSpec: any) {\n const shapeTransform = parsedMainSpec.transform\n ? parsedMainSpec.transform.find((entry: any) => entry.type === 'wordcloudShape')\n : null;\n\n if (shapeTransform) {\n return {\n key: shapeTransform.dataIndexKey ?? 'defaultDataIndexKey'\n };\n }\n return {};\n }\n\n protected setMainMarkEnterEncode() {\n return merge(\n {\n textAlign: 'center',\n textBaseline: 'alphabetic'\n },\n this.spec.style\n );\n }\n\n parseScaleByEncode(\n channel: WordcloudShapeEncodeChannels,\n option: ValueOf<\n WithDefaultEncode<PlotWordcloudShapeEncodeSpec, WordcloudShapeEncodeChannels>,\n WordcloudShapeEncodeChannels\n >\n ): ScaleSpec | Nil {\n if (channel === 'color') {\n return {\n type: 'ordinal',\n id: this.getScaleId('color'),\n domain: {\n data: this.getDataIdOfFiltered(),\n field: option as string\n },\n range: this.getPalette()\n };\n }\n\n return null;\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotWordcloudShapeEncodeSpec, WordcloudShapeEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotWordcloudShapeEncodeSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n\n const res: GenerateEncoderSpec<PlotWordcloudShapeEncodeSpec> = {\n x: { field: 'x' },\n y: { field: 'y' },\n angle: { field: 'angle' },\n fontSize: { field: 'fontSize' },\n fontStyle: { field: 'fontStyle' },\n fontFamily: { field: 'fontFamily' },\n fontWeight: { field: 'fontWeight' },\n fillOpacity: { field: 'opacity' },\n text: { field: this.spec.encode?.text }\n };\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n\n if (markEncoder.color) {\n const scaleColorId = this.getScaleId('color');\n const colorAccessor = getFieldAccessor(markEncoder.color.field);\n\n res.fill = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleColorId];\n return scale.scale(colorAccessor(datum));\n };\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n\n protected parseLabelSpec() {\n // TODO use arc label in the future\n return { marks: [] as LabelSpec[], interactions: [] as InteractionSpec[] };\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vgrammar-plot",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.4",
|
|
4
4
|
"description": "Plots of vgrammar.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plot",
|
|
@@ -24,14 +24,14 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@visactor/vgrammar-util": "0.11.
|
|
28
|
-
"@visactor/vgrammar-coordinate": "0.11.
|
|
29
|
-
"@visactor/vgrammar-core": "0.11.
|
|
30
|
-
"@visactor/vscale": "~0.17.
|
|
31
|
-
"@visactor/vrender-components": "0.17.
|
|
32
|
-
"@visactor/vrender-core": "0.17.
|
|
33
|
-
"@visactor/vrender-kits": "0.17.
|
|
34
|
-
"@visactor/vutils": "~0.17.
|
|
27
|
+
"@visactor/vgrammar-util": "0.11.4",
|
|
28
|
+
"@visactor/vgrammar-coordinate": "0.11.4",
|
|
29
|
+
"@visactor/vgrammar-core": "0.11.4",
|
|
30
|
+
"@visactor/vscale": "~0.17.4",
|
|
31
|
+
"@visactor/vrender-components": "0.17.19",
|
|
32
|
+
"@visactor/vrender-core": "0.17.19",
|
|
33
|
+
"@visactor/vrender-kits": "0.17.19",
|
|
34
|
+
"@visactor/vutils": "~0.17.4"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"d3-array": "1.x",
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"@types/jest": "~29.5.0",
|
|
48
48
|
"@types/node": "*",
|
|
49
49
|
"@internal/bundler": "0.0.1",
|
|
50
|
-
"@internal/ts-config": "0.0.1",
|
|
51
50
|
"@internal/eslint-config": "0.0.1",
|
|
52
|
-
"@internal/jest-config": "0.0.1"
|
|
51
|
+
"@internal/jest-config": "0.0.1",
|
|
52
|
+
"@internal/ts-config": "0.0.1"
|
|
53
53
|
},
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public",
|