@visactor/vrender-components 0.22.7-alpha.5 → 0.22.7-alpha.7

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 (58) hide show
  1. package/cjs/axis/util.js +1 -2
  2. package/cjs/brush/type.js +2 -1
  3. package/cjs/crosshair/base.js +2 -1
  4. package/cjs/crosshair/type.js +1 -2
  5. package/cjs/data-zoom/data-zoom.d.ts +3 -0
  6. package/cjs/data-zoom/data-zoom.js +39 -24
  7. package/cjs/data-zoom/data-zoom.js.map +1 -1
  8. package/cjs/index.d.ts +1 -1
  9. package/cjs/index.js +1 -1
  10. package/cjs/index.js.map +1 -1
  11. package/cjs/poptip/contribution.js +2 -4
  12. package/cjs/poptip/contribution.js.map +1 -1
  13. package/cjs/poptip/poptip.d.ts +0 -5
  14. package/cjs/poptip/poptip.js +18 -87
  15. package/cjs/poptip/poptip.js.map +1 -1
  16. package/cjs/poptip/type.d.ts +1 -4
  17. package/cjs/poptip/type.js.map +1 -1
  18. package/cjs/scrollbar/scrollbar.d.ts +1 -0
  19. package/cjs/scrollbar/scrollbar.js +21 -12
  20. package/cjs/scrollbar/scrollbar.js.map +1 -1
  21. package/cjs/slider/slider.d.ts +3 -0
  22. package/cjs/slider/slider.js +48 -27
  23. package/cjs/slider/slider.js.map +1 -1
  24. package/cjs/switch/switch.js +2 -2
  25. package/cjs/switch/switch.js.map +1 -1
  26. package/cjs/util/event.d.ts +1 -0
  27. package/cjs/util/event.js +14 -0
  28. package/cjs/util/event.js.map +1 -0
  29. package/dist/index.es.js +133 -215
  30. package/es/axis/util.js +1 -2
  31. package/es/brush/type.js +2 -1
  32. package/es/crosshair/base.js +2 -1
  33. package/es/crosshair/type.js +1 -2
  34. package/es/data-zoom/data-zoom.d.ts +3 -0
  35. package/es/data-zoom/data-zoom.js +38 -21
  36. package/es/data-zoom/data-zoom.js.map +1 -1
  37. package/es/index.d.ts +1 -1
  38. package/es/index.js +1 -1
  39. package/es/index.js.map +1 -1
  40. package/es/poptip/contribution.js +2 -4
  41. package/es/poptip/contribution.js.map +1 -1
  42. package/es/poptip/poptip.d.ts +0 -5
  43. package/es/poptip/poptip.js +19 -85
  44. package/es/poptip/poptip.js.map +1 -1
  45. package/es/poptip/type.d.ts +1 -4
  46. package/es/poptip/type.js.map +1 -1
  47. package/es/scrollbar/scrollbar.d.ts +1 -0
  48. package/es/scrollbar/scrollbar.js +22 -11
  49. package/es/scrollbar/scrollbar.js.map +1 -1
  50. package/es/slider/slider.d.ts +3 -0
  51. package/es/slider/slider.js +49 -26
  52. package/es/slider/slider.js.map +1 -1
  53. package/es/switch/switch.js +2 -2
  54. package/es/switch/switch.js.map +1 -1
  55. package/es/util/event.d.ts +1 -0
  56. package/es/util/event.js +6 -0
  57. package/es/util/event.js.map +1 -0
  58. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/switch/switch.ts"],"names":[],"mappings":"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","file":"switch.js","sourcesContent":["import { merge } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { SwitchAttributes } from './type';\nimport type { ICircle } from '@visactor/vrender-core';\nimport { Circle, Rect, Text } from '@visactor/vrender-core';\nimport type { ComponentOptions } from '../interface';\nimport { loadSwitchComponent } from './register';\nimport { measureTextSize } from '../util';\n\nloadSwitchComponent();\nexport class Switch extends AbstractComponent<Required<SwitchAttributes>> {\n static defaultAttributes: Partial<SwitchAttributes> = {\n interactive: true,\n disabled: false,\n checked: false,\n cursor: 'pointer',\n disableCursor: 'not-allowed',\n circle: {\n radius: 8,\n fill: '#FFF',\n pickable: false\n },\n box: {\n width: 40,\n height: 24,\n cornerRadius: 12,\n uncheckedFill: 'rgb(201,205,212)',\n checkedFill: '#165DFF',\n disableUncheckedFill: 'rgb(242,243,245)',\n disableCheckedFill: 'rgb(148,191,255)',\n pickable: false\n },\n text: {\n textAlign: 'left',\n textBaseline: 'top',\n pickable: false\n },\n spaceBetweenTextAndCircle: 6\n };\n _box: Rect;\n _circle: ICircle;\n _text: Text;\n\n name: 'switch';\n\n constructor(attributes: SwitchAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Switch.defaultAttributes, attributes));\n this.renderGroup();\n\n this.onBeforeAttributeUpdate = (val: any, attributes: any, key: null | string | string[]) => {\n if ('interactive' in val) {\n this.setAttribute('pickable', val.interactive);\n }\n if ('disabled' in val) {\n this.setAttribute('cursor', val.disable ? this.attribute.disableCursor : this.attribute.cursor);\n }\n return undefined;\n };\n\n this.addEventListener('pointerup', this._handlePointerUp);\n }\n\n render() {\n this.removeAllChild(true);\n\n this.renderBox();\n this.renderCircle();\n this.renderText();\n this.layout();\n }\n\n renderBox() {\n this._box = new Rect(merge({}, this.attribute.box));\n if (this.attribute.disabled && this.attribute.checked) {\n this._box.setAttributes({\n fill: this.attribute.box.disableCheckedFill\n });\n } else if (this.attribute.disabled && !this.attribute.checked) {\n this._box.setAttributes({\n fill: this.attribute.box.disableUncheckedFill\n });\n } else if (this.attribute.checked) {\n this._box.setAttributes({\n fill: this.attribute.box.checkedFill\n });\n } else {\n this._box.setAttributes({\n fill: this.attribute.box.uncheckedFill\n });\n }\n this.appendChild(this._box);\n }\n\n renderCircle() {\n this._circle = new Circle(merge({}, this.attribute.circle));\n this.appendChild(this._circle);\n }\n\n renderText() {\n this._text = new Text(merge({}, this.attribute.text ?? {}));\n if (this.attribute.checked && this.attribute.text?.checkedText) {\n this._text.setAttributes({\n text: this.attribute.text.checkedText\n });\n } else if (this.attribute.text?.uncheckedText) {\n this._text.setAttributes({\n text: this.attribute.text.uncheckedText\n });\n }\n this.appendChild(this._text);\n }\n\n renderGroup() {\n if (!this.attribute.interactive) {\n this.setAttribute('pickable', false);\n }\n if (this.attribute.disabled) {\n this.setAttribute('cursor', this.attribute.disableCursor);\n }\n }\n\n layout() {\n const space = this.attribute.spaceBetweenTextAndCircle;\n const radius = this.attribute.circle.radius;\n\n const boxHeight = this.attribute.box.height;\n const circleHeight = radius * 2;\n const textHeight = this._text.AABBBounds.height();\n const maxHeight = Math.max(boxHeight, circleHeight, textHeight);\n const circleY = maxHeight / 2 - circleHeight / 2 + radius;\n const textY = maxHeight / 2 - textHeight / 2;\n\n const boxWidth = this.attribute.box.width;\n const circleWidth = radius * 2;\n // const textWidth = this._text.AABBBounds.width();\n const textWidth = measureTextSize(\n (this.attribute.text?.checkedText?.length ?? 0) > (this.attribute.text?.uncheckedText?.length ?? 0)\n ? this.attribute.text?.checkedText ?? ''\n : this.attribute.text?.uncheckedText ?? '',\n this._text.attribute\n ).width;\n const maxWidth = Math.max(boxWidth, circleWidth + textWidth + space * 3); // [circle[space]text[space][space]]\n const circleX = boxHeight / 2 - circleWidth / 2 + radius;\n const textX = circleX + radius + space;\n\n this._box.setAttributes({\n width: maxWidth,\n height: maxHeight\n });\n\n // set circle position\n this._circle.setAttributes({\n y: circleY,\n x: !this.attribute.checked ? circleX : maxWidth - circleX\n });\n\n // set text position\n this._text.setAttributes({\n x: !this.attribute.checked ? textX : maxWidth - textX - textWidth,\n y: textY\n });\n }\n\n private _handlePointerUp = () => {\n if (this.attribute.disabled) {\n return;\n } else if (this.attribute.checked) {\n this.setAttribute('checked', false);\n } else {\n this.setAttribute('checked', true);\n }\n\n this._dispatchEvent('switch_state_change', {\n eventType: 'switch_state_change',\n checked: this.attribute.checked\n });\n\n this.stage.renderNextFrame();\n };\n\n initAttributes(params: SwitchAttributes, options?: ComponentOptions) {\n params = options?.skipDefault ? params : merge({}, Switch.defaultAttributes, params);\n super.initAttributes(params);\n this.renderGroup();\n this.render();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/switch/switch.ts"],"names":[],"mappings":"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","file":"switch.js","sourcesContent":["import { merge } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { SwitchAttributes } from './type';\nimport type { ICircle } from '@visactor/vrender-core';\nimport { Circle, Rect, Text } from '@visactor/vrender-core';\nimport type { ComponentOptions } from '../interface';\nimport { loadSwitchComponent } from './register';\nimport { measureTextSize } from '../util';\n\nloadSwitchComponent();\nexport class Switch extends AbstractComponent<Required<SwitchAttributes>> {\n static defaultAttributes: Partial<SwitchAttributes> = {\n interactive: true,\n disabled: false,\n checked: false,\n cursor: 'pointer',\n disableCursor: 'not-allowed',\n circle: {\n radius: 8,\n fill: '#FFF',\n pickable: false\n },\n box: {\n width: 40,\n height: 24,\n cornerRadius: 12,\n uncheckedFill: 'rgb(201,205,212)',\n checkedFill: '#165DFF',\n disableUncheckedFill: 'rgb(242,243,245)',\n disableCheckedFill: 'rgb(148,191,255)',\n pickable: false\n },\n text: {\n textAlign: 'left',\n textBaseline: 'top',\n pickable: false\n },\n spaceBetweenTextAndCircle: 6\n };\n _box: Rect;\n _circle: ICircle;\n _text: Text;\n\n name: 'switch';\n\n constructor(attributes: SwitchAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Switch.defaultAttributes, attributes));\n this.renderGroup();\n\n this.onBeforeAttributeUpdate = (val: any, attributes: any, key: null | string | string[]) => {\n if ('interactive' in val) {\n this.setAttribute('pickable', val.interactive);\n }\n if ('disabled' in val) {\n this.setAttribute('cursor', val.disable ? this.attribute.disableCursor : this.attribute.cursor);\n }\n return undefined;\n };\n\n this.addEventListener('pointerup', this._handlePointerUp);\n }\n\n render() {\n this.removeAllChild(true);\n\n this.renderBox();\n this.renderCircle();\n this.renderText();\n this.layout();\n }\n\n renderBox() {\n this._box = new Rect(merge({}, this.attribute.box));\n if (this.attribute.disabled && this.attribute.checked) {\n this._box.setAttributes({\n fill: this.attribute.box.disableCheckedFill\n });\n } else if (this.attribute.disabled && !this.attribute.checked) {\n this._box.setAttributes({\n fill: this.attribute.box.disableUncheckedFill\n });\n } else if (this.attribute.checked) {\n this._box.setAttributes({\n fill: this.attribute.box.checkedFill\n });\n } else {\n this._box.setAttributes({\n fill: this.attribute.box.uncheckedFill\n });\n }\n this.appendChild(this._box);\n }\n\n renderCircle() {\n this._circle = new Circle(merge({}, this.attribute.circle));\n this.appendChild(this._circle);\n }\n\n renderText() {\n this._text = new Text(merge({}, this.attribute.text ?? {}));\n if (this.attribute.checked && this.attribute.text?.checkedText) {\n this._text.setAttributes({\n text: this.attribute.text.checkedText\n });\n } else if (this.attribute.text?.uncheckedText) {\n this._text.setAttributes({\n text: this.attribute.text.uncheckedText\n });\n }\n this.appendChild(this._text);\n }\n\n renderGroup() {\n if (!this.attribute.interactive) {\n this.setAttribute('pickable', false);\n }\n if (this.attribute.disabled) {\n this.setAttribute('cursor', this.attribute.disableCursor);\n }\n }\n\n layout() {\n const space = this.attribute.spaceBetweenTextAndCircle;\n const radius = this.attribute.circle.radius;\n\n const boxHeight = this.attribute.box.height;\n const circleHeight = radius * 2;\n const textHeight = this._text.AABBBounds.height();\n const maxHeight = Math.max(boxHeight, circleHeight, textHeight);\n const circleY = maxHeight / 2 - circleHeight / 2 + radius;\n const textY = maxHeight / 2 - textHeight / 2;\n\n const boxWidth = this.attribute.box.width;\n const circleWidth = radius * 2;\n // const textWidth = this._text.AABBBounds.width();\n const textWidth = measureTextSize(\n (this.attribute.text?.checkedText?.length ?? 0) > (this.attribute.text?.uncheckedText?.length ?? 0)\n ? this.attribute.text?.checkedText ?? ''\n : this.attribute.text?.uncheckedText ?? '',\n this._text.attribute\n ).width;\n const maxWidth = Math.max(boxWidth, circleWidth + textWidth + space * 3); // [circle[space]text[space][space]]\n const circleX = boxHeight / 2 - circleWidth / 2 + radius;\n const textX = circleX + radius + space;\n\n this._box.setAttributes({\n width: maxWidth,\n height: maxHeight\n });\n\n // set circle position\n this._circle.setAttributes({\n y: circleY,\n x: this.attribute.checked ? circleX : maxWidth - circleX\n });\n\n // set text position\n this._text.setAttributes({\n x: this.attribute.checked ? textX : maxWidth - textX - textWidth,\n y: textY\n });\n }\n\n private _handlePointerUp = () => {\n if (this.attribute.disabled) {\n return;\n } else if (this.attribute.checked) {\n this.setAttribute('checked', false);\n } else {\n this.setAttribute('checked', true);\n }\n\n this._dispatchEvent('switch_state_change', {\n eventType: 'switch_state_change',\n checked: this.attribute.checked\n });\n\n this.stage.renderNextFrame();\n };\n\n initAttributes(params: SwitchAttributes, options?: ComponentOptions) {\n params = options?.skipDefault ? params : merge({}, Switch.defaultAttributes, params);\n super.initAttributes(params);\n this.renderGroup();\n this.render();\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function getEndTriggersOfDrag(): string[];
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.getEndTriggersOfDrag = void 0;
6
+
7
+ const vrender_core_1 = require("@visactor/vrender-core");
8
+
9
+ function getEndTriggersOfDrag() {
10
+ return "browser" === vrender_core_1.vglobal.env ? [ "pointerup", "pointerleave", "pointercancel" ] : [ "pointerup", "pointerleave", "pointerupoutside" ];
11
+ }
12
+
13
+ exports.getEndTriggersOfDrag = getEndTriggersOfDrag;
14
+ //# sourceMappingURL=event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/util/event.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AAEjD,SAAgB,oBAAoB;IAElC,IAAI,sBAAO,CAAC,GAAG,KAAK,SAAS,EAAE;QAC7B,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;KACvD;IAGD,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAC3D,CAAC;AARD,oDAQC","file":"event.js","sourcesContent":["import { vglobal } from '@visactor/vrender-core';\n\nexport function getEndTriggersOfDrag() {\n // 绑定到 canvas 上\n if (vglobal.env === 'browser') {\n return ['pointerup', 'pointerleave', 'pointercancel'];\n }\n\n // 绑定到stage节点上\n return ['pointerup', 'pointerleave', 'pointerupoutside'];\n}\n"]}