@visactor/vrender-components 0.19.4-alpha.4 → 0.19.4-alpha.5

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.
Files changed (101) hide show
  1. package/cjs/axis/index.d.ts +1 -0
  2. package/cjs/axis/index.js +2 -1
  3. package/cjs/axis/index.js.map +1 -1
  4. package/cjs/axis/tick-data/continuous.d.ts +4 -0
  5. package/cjs/axis/tick-data/continuous.js +61 -0
  6. package/cjs/axis/tick-data/continuous.js.map +1 -0
  7. package/cjs/axis/tick-data/discrete/linear.d.ts +6 -0
  8. package/cjs/axis/tick-data/discrete/linear.js +101 -0
  9. package/cjs/axis/tick-data/discrete/linear.js.map +1 -0
  10. package/cjs/axis/tick-data/discrete/polar-angle.d.ts +3 -0
  11. package/cjs/axis/tick-data/discrete/polar-angle.js +53 -0
  12. package/cjs/axis/tick-data/discrete/polar-angle.js.map +1 -0
  13. package/cjs/axis/tick-data/index.d.ts +5 -0
  14. package/cjs/axis/tick-data/index.js +26 -0
  15. package/cjs/axis/tick-data/index.js.map +1 -0
  16. package/cjs/axis/tick-data/util.d.ts +13 -0
  17. package/cjs/axis/tick-data/util.js +91 -0
  18. package/cjs/axis/tick-data/util.js.map +1 -0
  19. package/cjs/axis/type.d.ts +41 -1
  20. package/cjs/axis/type.js.map +1 -1
  21. package/cjs/axis/util.d.ts +11 -0
  22. package/cjs/axis/util.js +21 -2
  23. package/cjs/axis/util.js.map +1 -1
  24. package/cjs/constant.d.ts +2 -2
  25. package/cjs/constant.js +2 -2
  26. package/cjs/constant.js.map +1 -1
  27. package/cjs/index.d.ts +1 -1
  28. package/cjs/index.js +1 -1
  29. package/cjs/index.js.map +1 -1
  30. package/cjs/label/index.js +2 -1
  31. package/cjs/label/line.js +1 -1
  32. package/cjs/label/polygon.js +1 -1
  33. package/cjs/label/rect.js +1 -1
  34. package/cjs/label/register.js +1 -1
  35. package/cjs/label/symbol.js +1 -1
  36. package/cjs/label/type.js +1 -1
  37. package/cjs/legend/base.js +1 -1
  38. package/cjs/legend/constant.js +1 -1
  39. package/cjs/legend/discrete/discrete.d.ts +1 -0
  40. package/cjs/legend/discrete/discrete.js +3 -0
  41. package/cjs/legend/discrete/discrete.js.map +1 -1
  42. package/cjs/legend/index.js +1 -1
  43. package/cjs/legend/register.js +1 -1
  44. package/cjs/legend/type.js +1 -2
  45. package/cjs/legend/util.js +1 -1
  46. package/cjs/tooltip/util.js +1 -1
  47. package/cjs/tooltip/util.js.map +1 -1
  48. package/cjs/util/text.d.ts +1 -1
  49. package/cjs/util/text.js +3 -3
  50. package/cjs/util/text.js.map +1 -1
  51. package/es/axis/index.d.ts +1 -0
  52. package/es/axis/index.js +2 -0
  53. package/es/axis/index.js.map +1 -1
  54. package/es/axis/tick-data/continuous.d.ts +4 -0
  55. package/es/axis/tick-data/continuous.js +56 -0
  56. package/es/axis/tick-data/continuous.js.map +1 -0
  57. package/es/axis/tick-data/discrete/linear.d.ts +6 -0
  58. package/es/axis/tick-data/discrete/linear.js +90 -0
  59. package/es/axis/tick-data/discrete/linear.js.map +1 -0
  60. package/es/axis/tick-data/discrete/polar-angle.d.ts +3 -0
  61. package/es/axis/tick-data/discrete/polar-angle.js +45 -0
  62. package/es/axis/tick-data/discrete/polar-angle.js.map +1 -0
  63. package/es/axis/tick-data/index.d.ts +5 -0
  64. package/es/axis/tick-data/index.js +21 -0
  65. package/es/axis/tick-data/index.js.map +1 -0
  66. package/es/axis/tick-data/util.d.ts +13 -0
  67. package/es/axis/tick-data/util.js +80 -0
  68. package/es/axis/tick-data/util.js.map +1 -0
  69. package/es/axis/type.d.ts +41 -1
  70. package/es/axis/type.js.map +1 -1
  71. package/es/axis/util.d.ts +11 -0
  72. package/es/axis/util.js +19 -1
  73. package/es/axis/util.js.map +1 -1
  74. package/es/constant.d.ts +2 -2
  75. package/es/constant.js +2 -2
  76. package/es/constant.js.map +1 -1
  77. package/es/index.d.ts +1 -1
  78. package/es/index.js +1 -1
  79. package/es/index.js.map +1 -1
  80. package/es/label/index.js +2 -1
  81. package/es/label/line.js +1 -1
  82. package/es/label/polygon.js +1 -1
  83. package/es/label/rect.js +1 -1
  84. package/es/label/register.js +1 -1
  85. package/es/label/symbol.js +1 -1
  86. package/es/label/type.js +1 -1
  87. package/es/legend/base.js +1 -1
  88. package/es/legend/constant.js +1 -1
  89. package/es/legend/discrete/discrete.d.ts +1 -0
  90. package/es/legend/discrete/discrete.js +3 -0
  91. package/es/legend/discrete/discrete.js.map +1 -1
  92. package/es/legend/index.js +1 -1
  93. package/es/legend/register.js +1 -1
  94. package/es/legend/type.js +1 -2
  95. package/es/legend/util.js +1 -1
  96. package/es/tooltip/util.js +1 -1
  97. package/es/tooltip/util.js.map +1 -1
  98. package/es/util/text.d.ts +1 -1
  99. package/es/util/text.js +3 -3
  100. package/es/util/text.js.map +1 -1
  101. package/package.json +8 -8
@@ -15,4 +15,4 @@ export * from "./type";
15
15
  export * from "./constant";
16
16
 
17
17
  export * from "./util";
18
- //# sourceMappingURL=index.js.map
18
+ //# sourceMappingURL=index.js.map
@@ -23,4 +23,4 @@ export function loadColorContinuousLegendComponent() {
23
23
  export function loadSizeContinuousLegendComponent() {
24
24
  loadBaseLegend(), loadSliderComponent(), registerPath();
25
25
  }
26
- //# sourceMappingURL=register.js.map
26
+ //# sourceMappingURL=register.js.map
package/es/legend/type.js CHANGED
@@ -1,2 +1 @@
1
- export { };
2
- //# sourceMappingURL=type.js.map
1
+ export { };
package/es/legend/util.js CHANGED
@@ -4,4 +4,4 @@ export function getSizeHandlerPath(align = "bottom") {
4
4
  `\n M${centerX - 6},0L${centerX - 6 + 2.5},-3.5\n h5\n v7\n h-5\n Z\n`) : "right" === align ? (centerX = -1,
5
5
  `\n M${centerX + 6},0L${centerX + 6 - 2.5},-3.5\n h-5\n v7\n h5\n Z\n `) : `\n M${centerX},6L${centerX - 3.5},2.5\n v-5\n h7\n v5\n Z\n`;
6
6
  }
7
- //# sourceMappingURL=util.js.map
7
+ //# sourceMappingURL=util.js.map
@@ -28,7 +28,7 @@ export const getRichTextAttribute = attr => {
28
28
  textAlign: textAlign,
29
29
  textBaseline: textBaseline,
30
30
  singleLine: !1,
31
- textConfig: text.text
31
+ textConfig: null == text ? void 0 : text.text
32
32
  };
33
33
  };
34
34
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tooltip/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAA8C,EAC9C,GAAG,OAAmD,EACd,EAAE;IAC1C,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,CAAC,CAAC;IAEhE,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE;QAC/B,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;QACnE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC;QAC7D,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;KACpE,CAA2C,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAsB,EAA6B,EAAE;IACxF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAG,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO;YACL,KAAK;YACL,MAAM;YACN,SAAS,EAAE,SAAgB;YAC3B,SAAS,EAAE,SAAgB;YAC3B,YAAY,EAAE,YAAmB;YACjC,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK,CAAC,IAAgB,CAAC,CAAC,GAAG,CACrC,IAAI,CAAC,EAAE,CACL,CAAC,gCACI,IAAI,KACP,IAAI,GACG,CAAA,CACZ;SACF,CAAC;KACH;IACD,OAAO;QACL,KAAK;QACL,MAAM;QACN,SAAS,EAAE,SAAgB;QAC3B,SAAS,EAAE,SAAgB;QAC3B,YAAY,EAAE,YAAmB;QACjC,UAAU,EAAE,KAAK;QACjB,UAAU,EAAG,IAA6B,CAAC,IAA4B;KACxE,CAAC;AACJ,CAAC,CAAC","file":"util.js","sourcesContent":["import { array, isNil, merge } from '@visactor/vutils';\nimport type { IRichTextGraphicAttribute } from '@visactor/vrender-core';\nimport type { TooltipRowAttrs, TooltipRowStyleAttrs, TooltipTextAttrs, TooltipRichTextAttrs } from './type';\nimport type { IRichTextCharacter } from '@visactor/vrender-core';\n\nexport const mergeRowAttrs = (\n target: TooltipRowAttrs | TooltipRowStyleAttrs,\n ...sources: (TooltipRowAttrs | TooltipRowStyleAttrs)[]\n): TooltipRowAttrs | TooltipRowStyleAttrs => {\n const shapeList = [target.shape, ...sources.map(s => s?.shape)];\n const keyList = [target.key, ...sources.map(s => s?.key)];\n const valueList = [target.value, ...sources.map(s => s?.value)];\n\n return merge(target, ...sources, {\n shape: shapeList.every(isNil) ? undefined : merge({}, ...shapeList),\n key: keyList.every(isNil) ? undefined : merge({}, ...keyList),\n value: valueList.every(isNil) ? undefined : merge({}, ...valueList)\n }) as TooltipRowAttrs | TooltipRowStyleAttrs;\n};\n\nexport const getRichTextAttribute = (attr: TooltipTextAttrs): IRichTextGraphicAttribute => {\n const { width, height, wordBreak = 'break-word', textAlign, textBaseline, text } = attr;\n if (Array.isArray(text)) {\n return {\n width,\n height,\n wordBreak: wordBreak as any,\n textAlign: textAlign as any,\n textBaseline: textBaseline as any,\n singleLine: false,\n textConfig: array(text as string[]).map(\n text =>\n ({\n ...attr,\n text\n } as any)\n )\n };\n }\n return {\n width,\n height,\n wordBreak: wordBreak as any,\n textAlign: textAlign as any,\n textBaseline: textBaseline as any,\n singleLine: false,\n textConfig: (text as TooltipRichTextAttrs).text as IRichTextCharacter[]\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/tooltip/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAA8C,EAC9C,GAAG,OAAmD,EACd,EAAE;IAC1C,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,CAAC,CAAC;IAEhE,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE;QAC/B,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;QACnE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC;QAC7D,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;KACpE,CAA2C,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAsB,EAA6B,EAAE;IACxF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAG,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO;YACL,KAAK;YACL,MAAM;YACN,SAAS,EAAE,SAAgB;YAC3B,SAAS,EAAE,SAAgB;YAC3B,YAAY,EAAE,YAAmB;YACjC,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK,CAAC,IAAgB,CAAC,CAAC,GAAG,CACrC,IAAI,CAAC,EAAE,CACL,CAAC,gCACI,IAAI,KACP,IAAI,GACG,CAAA,CACZ;SACF,CAAC;KACH;IACD,OAAO;QACL,KAAK;QACL,MAAM;QACN,SAAS,EAAE,SAAgB;QAC3B,SAAS,EAAE,SAAgB;QAC3B,YAAY,EAAE,YAAmB;QACjC,UAAU,EAAE,KAAK;QACjB,UAAU,EAAG,IAA6B,aAA7B,IAAI,uBAAJ,IAAI,CAA2B,IAA4B;KACzE,CAAC;AACJ,CAAC,CAAC","file":"util.js","sourcesContent":["import { array, isNil, merge } from '@visactor/vutils';\nimport type { IRichTextGraphicAttribute } from '@visactor/vrender-core';\nimport type { TooltipRowAttrs, TooltipRowStyleAttrs, TooltipTextAttrs, TooltipRichTextAttrs } from './type';\nimport type { IRichTextCharacter } from '@visactor/vrender-core';\n\nexport const mergeRowAttrs = (\n target: TooltipRowAttrs | TooltipRowStyleAttrs,\n ...sources: (TooltipRowAttrs | TooltipRowStyleAttrs)[]\n): TooltipRowAttrs | TooltipRowStyleAttrs => {\n const shapeList = [target.shape, ...sources.map(s => s?.shape)];\n const keyList = [target.key, ...sources.map(s => s?.key)];\n const valueList = [target.value, ...sources.map(s => s?.value)];\n\n return merge(target, ...sources, {\n shape: shapeList.every(isNil) ? undefined : merge({}, ...shapeList),\n key: keyList.every(isNil) ? undefined : merge({}, ...keyList),\n value: valueList.every(isNil) ? undefined : merge({}, ...valueList)\n }) as TooltipRowAttrs | TooltipRowStyleAttrs;\n};\n\nexport const getRichTextAttribute = (attr: TooltipTextAttrs): IRichTextGraphicAttribute => {\n const { width, height, wordBreak = 'break-word', textAlign, textBaseline, text } = attr;\n if (Array.isArray(text)) {\n return {\n width,\n height,\n wordBreak: wordBreak as any,\n textAlign: textAlign as any,\n textBaseline: textBaseline as any,\n singleLine: false,\n textConfig: array(text as string[]).map(\n text =>\n ({\n ...attr,\n text\n } as any)\n )\n };\n }\n return {\n width,\n height,\n wordBreak: wordBreak as any,\n textAlign: textAlign as any,\n textBaseline: textBaseline as any,\n singleLine: false,\n textConfig: (text as TooltipRichTextAttrs)?.text as IRichTextCharacter[]\n };\n};\n"]}
package/es/util/text.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { IRichTextAttribute, ITextGraphicAttribute } from '@visactor/vrende
2
2
  import type { ITextMeasureOption } from '@visactor/vutils';
3
3
  import { TextMeasure } from '@visactor/vutils';
4
4
  import type { TextContent } from '../core/type';
5
- export declare const initTextMeasure: (textSpec?: Partial<ITextGraphicAttribute>, option?: Partial<ITextMeasureOption>, useNaiveCanvas?: boolean) => TextMeasure<ITextGraphicAttribute>;
5
+ export declare const initTextMeasure: (textSpec?: Partial<ITextGraphicAttribute>, option?: Partial<ITextMeasureOption>, useNaiveCanvas?: boolean, defaultFontParams?: Partial<ITextGraphicAttribute>) => TextMeasure<ITextGraphicAttribute>;
6
6
  export declare function measureTextSize(text: string | number | string[] | number[], textSpec: Partial<ITextGraphicAttribute>, defaultTextTheme?: Partial<ITextGraphicAttribute>): {
7
7
  width: any;
8
8
  height: any;
package/es/util/text.js CHANGED
@@ -4,11 +4,11 @@ import { TextMeasure, isObject } from "@visactor/vutils";
4
4
 
5
5
  import { DEFAULT_TEXT_FONT_FAMILY, DEFAULT_TEXT_FONT_SIZE } from "../constant";
6
6
 
7
- export const initTextMeasure = (textSpec, option, useNaiveCanvas) => new TextMeasure(Object.assign({
8
- defaultFontParams: {
7
+ export const initTextMeasure = (textSpec, option, useNaiveCanvas, defaultFontParams) => new TextMeasure(Object.assign({
8
+ defaultFontParams: Object.assign({
9
9
  fontFamily: DEFAULT_TEXT_FONT_FAMILY,
10
10
  fontSize: DEFAULT_TEXT_FONT_SIZE
11
- },
11
+ }, defaultFontParams),
12
12
  getTextBounds: useNaiveCanvas ? void 0 : getTextBounds,
13
13
  specialCharSet: "-/: .,@%'\"~" + TextMeasure.ALPHABET_CHAR_SET + TextMeasure.ALPHABET_CHAR_SET.toUpperCase()
14
14
  }, null != option ? option : {}), textSpec);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/text.ts"],"names":[],"mappings":"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","file":"text.js","sourcesContent":["import type { IRichTextAttribute, ITextGraphicAttribute } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { getTextBounds, graphicCreator } from '@visactor/vrender-core';\nimport type { ITextMeasureOption } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { TextMeasure, isObject } from '@visactor/vutils';\nimport { DEFAULT_TEXT_FONT_FAMILY, DEFAULT_TEXT_FONT_SIZE } from '../constant';\nimport type { HTMLTextContent, ReactTextContent, TextContent } from '../core/type';\n\nexport const initTextMeasure = (\n textSpec?: Partial<ITextGraphicAttribute>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): TextMeasure<ITextGraphicAttribute> => {\n return new TextMeasure<ITextGraphicAttribute>(\n {\n defaultFontParams: {\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: DEFAULT_TEXT_FONT_SIZE\n },\n getTextBounds: useNaiveCanvas ? undefined : getTextBounds,\n specialCharSet: '-/: .,@%\\'\"~' + TextMeasure.ALPHABET_CHAR_SET + TextMeasure.ALPHABET_CHAR_SET.toUpperCase(),\n ...(option ?? {})\n },\n textSpec\n );\n};\n\n// FIXME: 和上一个方法统一,使用 TextMeasure 类\nexport function measureTextSize(\n text: string | number | string[] | number[],\n textSpec: Partial<ITextGraphicAttribute>,\n defaultTextTheme: Partial<ITextGraphicAttribute> = {}\n) {\n if (!text) {\n return { width: 0, height: 0 };\n }\n const bounds = getTextBounds({\n text,\n fontFamily: textSpec.fontFamily || defaultTextTheme.fontFamily || DEFAULT_TEXT_FONT_FAMILY,\n fontSize: textSpec.fontSize || defaultTextTheme.fontSize || 12,\n fontWeight: textSpec.fontWeight || defaultTextTheme.fontWeight,\n textAlign: textSpec.textAlign || 'center',\n textBaseline: textSpec.textBaseline,\n ellipsis: !!textSpec.ellipsis,\n maxLineWidth: textSpec.maxLineWidth || Infinity,\n lineHeight: textSpec.fontSize || defaultTextTheme.fontSize || 12\n });\n\n return { width: bounds.width(), height: bounds.height() };\n}\n\nexport function isRichText(attributes: TextContent, typeKey = 'type') {\n return getTextType(attributes, typeKey) === 'rich';\n}\n\nexport function getTextType(attributes: TextContent, typeKey = 'type') {\n if (isObject(attributes.text) && 'type' in attributes.text) {\n return attributes.text.type ?? 'text';\n }\n\n if (typeKey in attributes) {\n return attributes[typeKey] ?? 'text';\n }\n\n return 'text';\n}\n\nexport function richTextAttributeTransform(attributes: ITextGraphicAttribute & IRichTextAttribute & TextContent) {\n attributes.width = attributes.width ?? 0;\n attributes.height = attributes.height ?? 0;\n attributes.maxWidth = attributes.maxLineWidth;\n attributes.textConfig = (attributes.text as unknown as any).text || attributes.text;\n return attributes;\n}\n\nexport function htmlAttributeTransform(attributes: ITextGraphicAttribute) {\n const { text, _originText } = attributes as unknown as HTMLTextContent;\n const { text: html } = text;\n\n attributes.html = html;\n attributes.text = _originText;\n attributes.renderable = false; // 文字图元配置了 html,则不绘制原始文字\n return attributes;\n}\n\nexport function reactAttributeTransform(attributes: ITextGraphicAttribute) {\n const { text, _originText } = attributes as unknown as ReactTextContent;\n const { text: react } = text;\n\n attributes.react = react;\n attributes.text = _originText;\n attributes.renderable = false; // 文字图元配置了 react,则不绘制原始文字\n\n return attributes;\n}\n\nexport function createTextGraphicByType(textAttributes: ITextGraphicAttribute, typeKey = 'type') {\n const textType = getTextType(textAttributes, typeKey);\n if (textType === 'rich') {\n return graphicCreator.richtext(richTextAttributeTransform(textAttributes as IRichTextAttribute));\n }\n\n if (textType === 'html') {\n textAttributes = htmlAttributeTransform(textAttributes);\n } else if (textType === 'react') {\n textAttributes = reactAttributeTransform(textAttributes);\n }\n\n return graphicCreator.text(textAttributes as ITextGraphicAttribute);\n}\n"]}
1
+ {"version":3,"sources":["../src/util/text.ts"],"names":[],"mappings":"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","file":"text.js","sourcesContent":["import type { IRichTextAttribute, ITextGraphicAttribute } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { getTextBounds, graphicCreator } from '@visactor/vrender-core';\nimport type { ITextMeasureOption } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { TextMeasure, isObject } from '@visactor/vutils';\nimport { DEFAULT_TEXT_FONT_FAMILY, DEFAULT_TEXT_FONT_SIZE } from '../constant';\nimport type { HTMLTextContent, ReactTextContent, TextContent } from '../core/type';\n\nexport const initTextMeasure = (\n textSpec?: Partial<ITextGraphicAttribute>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean,\n defaultFontParams?: Partial<ITextGraphicAttribute>\n): TextMeasure<ITextGraphicAttribute> => {\n return new TextMeasure<ITextGraphicAttribute>(\n {\n defaultFontParams: {\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: DEFAULT_TEXT_FONT_SIZE,\n ...defaultFontParams\n },\n getTextBounds: useNaiveCanvas ? undefined : getTextBounds,\n specialCharSet: '-/: .,@%\\'\"~' + TextMeasure.ALPHABET_CHAR_SET + TextMeasure.ALPHABET_CHAR_SET.toUpperCase(),\n ...(option ?? {})\n },\n textSpec\n );\n};\n\n// FIXME: 和上一个方法统一,使用 TextMeasure 类\nexport function measureTextSize(\n text: string | number | string[] | number[],\n textSpec: Partial<ITextGraphicAttribute>,\n defaultTextTheme: Partial<ITextGraphicAttribute> = {}\n) {\n if (!text) {\n return { width: 0, height: 0 };\n }\n const bounds = getTextBounds({\n text,\n fontFamily: textSpec.fontFamily || defaultTextTheme.fontFamily || DEFAULT_TEXT_FONT_FAMILY,\n fontSize: textSpec.fontSize || defaultTextTheme.fontSize || 12,\n fontWeight: textSpec.fontWeight || defaultTextTheme.fontWeight,\n textAlign: textSpec.textAlign || 'center',\n textBaseline: textSpec.textBaseline,\n ellipsis: !!textSpec.ellipsis,\n maxLineWidth: textSpec.maxLineWidth || Infinity,\n lineHeight: textSpec.fontSize || defaultTextTheme.fontSize || 12\n });\n\n return { width: bounds.width(), height: bounds.height() };\n}\n\nexport function isRichText(attributes: TextContent, typeKey = 'type') {\n return getTextType(attributes, typeKey) === 'rich';\n}\n\nexport function getTextType(attributes: TextContent, typeKey = 'type') {\n if (isObject(attributes.text) && 'type' in attributes.text) {\n return attributes.text.type ?? 'text';\n }\n\n if (typeKey in attributes) {\n return attributes[typeKey] ?? 'text';\n }\n\n return 'text';\n}\n\nexport function richTextAttributeTransform(attributes: ITextGraphicAttribute & IRichTextAttribute & TextContent) {\n attributes.width = attributes.width ?? 0;\n attributes.height = attributes.height ?? 0;\n attributes.maxWidth = attributes.maxLineWidth;\n attributes.textConfig = (attributes.text as unknown as any).text || attributes.text;\n return attributes;\n}\n\nexport function htmlAttributeTransform(attributes: ITextGraphicAttribute) {\n const { text, _originText } = attributes as unknown as HTMLTextContent;\n const { text: html } = text;\n\n attributes.html = html;\n attributes.text = _originText;\n attributes.renderable = false; // 文字图元配置了 html,则不绘制原始文字\n return attributes;\n}\n\nexport function reactAttributeTransform(attributes: ITextGraphicAttribute) {\n const { text, _originText } = attributes as unknown as ReactTextContent;\n const { text: react } = text;\n\n attributes.react = react;\n attributes.text = _originText;\n attributes.renderable = false; // 文字图元配置了 react,则不绘制原始文字\n\n return attributes;\n}\n\nexport function createTextGraphicByType(textAttributes: ITextGraphicAttribute, typeKey = 'type') {\n const textType = getTextType(textAttributes, typeKey);\n if (textType === 'rich') {\n return graphicCreator.richtext(richTextAttributeTransform(textAttributes as IRichTextAttribute));\n }\n\n if (textType === 'html') {\n textAttributes = htmlAttributeTransform(textAttributes);\n } else if (textType === 'react') {\n textAttributes = reactAttributeTransform(textAttributes);\n }\n\n return graphicCreator.text(textAttributes as ITextGraphicAttribute);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vrender-components",
3
- "version": "0.19.4-alpha.4",
3
+ "version": "0.19.4-alpha.5",
4
4
  "description": "components library for dp visualization",
5
5
  "sideEffects": false,
6
6
  "main": "cjs/index.js",
@@ -12,14 +12,14 @@
12
12
  "dist"
13
13
  ],
14
14
  "dependencies": {
15
- "@visactor/vrender-core": "0.19.4-alpha.4",
16
- "@visactor/vrender-kits": "0.19.4-alpha.4",
17
- "@visactor/vutils": "~0.18.4",
18
- "@visactor/vscale": "~0.17.3"
15
+ "@visactor/vrender-core": "0.19.4-alpha.5",
16
+ "@visactor/vrender-kits": "0.19.4-alpha.5",
17
+ "@visactor/vutils": "~0.18.7",
18
+ "@visactor/vscale": "~0.18.7"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@rushstack/eslint-patch": "~1.1.4",
22
- "@visactor/vscale": "~0.17.3",
22
+ "@visactor/vscale": "~0.18.7",
23
23
  "@types/jest": "^26.0.0",
24
24
  "jest": "^26.0.0",
25
25
  "jest-electron": "^0.1.12",
@@ -29,8 +29,8 @@
29
29
  "vite": "3.2.6",
30
30
  "typescript": "4.9.5",
31
31
  "@internal/bundler": "0.0.1",
32
- "@internal/eslint-config": "0.0.1",
33
- "@internal/ts-config": "0.0.1"
32
+ "@internal/ts-config": "0.0.1",
33
+ "@internal/eslint-config": "0.0.1"
34
34
  },
35
35
  "keywords": [
36
36
  "VisActor",