@visactor/vrender-components 0.0.38-brush.2-alpha.0
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 +9 -0
- package/cjs/axis/animate/group-fade.d.ts +17 -0
- package/cjs/axis/animate/group-fade.js +72 -0
- package/cjs/axis/animate/group-fade.js.map +1 -0
- package/cjs/axis/animate/group-transition.d.ts +10 -0
- package/cjs/axis/animate/group-transition.js +76 -0
- package/cjs/axis/animate/group-transition.js.map +1 -0
- package/cjs/axis/animate/index.d.ts +2 -0
- package/cjs/axis/animate/index.js +21 -0
- package/cjs/axis/animate/index.js.map +1 -0
- package/cjs/axis/base.d.ts +53 -0
- package/cjs/axis/base.js +305 -0
- package/cjs/axis/base.js.map +1 -0
- package/cjs/axis/circle.d.ts +88 -0
- package/cjs/axis/circle.js +182 -0
- package/cjs/axis/circle.js.map +1 -0
- package/cjs/axis/config.d.ts +71 -0
- package/cjs/axis/config.js +76 -0
- package/cjs/axis/config.js.map +1 -0
- package/cjs/axis/constant.d.ts +27 -0
- package/cjs/axis/constant.js +26 -0
- package/cjs/axis/constant.js.map +1 -0
- package/cjs/axis/grid.d.ts +9 -0
- package/cjs/axis/grid.js +106 -0
- package/cjs/axis/grid.js.map +1 -0
- package/cjs/axis/index.d.ts +6 -0
- package/cjs/axis/index.js +23 -0
- package/cjs/axis/index.js.map +1 -0
- package/cjs/axis/line.d.ts +89 -0
- package/cjs/axis/line.js +199 -0
- package/cjs/axis/line.js.map +1 -0
- package/cjs/axis/type.d.ts +177 -0
- package/cjs/axis/type.js +6 -0
- package/cjs/axis/type.js.map +1 -0
- package/cjs/brush/brush.d.ts +65 -0
- package/cjs/brush/brush.js +169 -0
- package/cjs/brush/brush.js.map +1 -0
- package/cjs/brush/config.d.ts +21 -0
- package/cjs/brush/config.js +26 -0
- package/cjs/brush/config.js.map +1 -0
- package/cjs/brush/index.d.ts +2 -0
- package/cjs/brush/index.js +21 -0
- package/cjs/brush/index.js.map +1 -0
- package/cjs/brush/type.d.ts +21 -0
- package/cjs/brush/type.js +6 -0
- package/cjs/brush/type.js.map +1 -0
- package/cjs/constant.d.ts +16 -0
- package/cjs/constant.js +18 -0
- package/cjs/constant.js.map +1 -0
- package/cjs/core/base.d.ts +12 -0
- package/cjs/core/base.js +44 -0
- package/cjs/core/base.js.map +1 -0
- package/cjs/core/type.d.ts +28 -0
- package/cjs/core/type.js +5 -0
- package/cjs/core/type.js.map +1 -0
- package/cjs/crosshair/base.d.ts +10 -0
- package/cjs/crosshair/base.js +19 -0
- package/cjs/crosshair/base.js.map +1 -0
- package/cjs/crosshair/circle.d.ts +17 -0
- package/cjs/crosshair/circle.js +33 -0
- package/cjs/crosshair/circle.js.map +1 -0
- package/cjs/crosshair/index.d.ts +6 -0
- package/cjs/crosshair/index.js +23 -0
- package/cjs/crosshair/index.js.map +1 -0
- package/cjs/crosshair/line.d.ts +17 -0
- package/cjs/crosshair/line.js +36 -0
- package/cjs/crosshair/line.js.map +1 -0
- package/cjs/crosshair/polygon.d.ts +17 -0
- package/cjs/crosshair/polygon.js +39 -0
- package/cjs/crosshair/polygon.js.map +1 -0
- package/cjs/crosshair/rect.d.ts +20 -0
- package/cjs/crosshair/rect.js +37 -0
- package/cjs/crosshair/rect.js.map +1 -0
- package/cjs/crosshair/sector.d.ts +15 -0
- package/cjs/crosshair/sector.js +38 -0
- package/cjs/crosshair/sector.js.map +1 -0
- package/cjs/crosshair/type.d.ts +37 -0
- package/cjs/crosshair/type.js +6 -0
- package/cjs/crosshair/type.js.map +1 -0
- package/cjs/data-zoom/config.d.ts +104 -0
- package/cjs/data-zoom/config.js +109 -0
- package/cjs/data-zoom/config.js.map +1 -0
- package/cjs/data-zoom/data-zoom.d.ts +193 -0
- package/cjs/data-zoom/data-zoom.js +447 -0
- package/cjs/data-zoom/data-zoom.js.map +1 -0
- package/cjs/data-zoom/index.d.ts +2 -0
- package/cjs/data-zoom/index.js +21 -0
- package/cjs/data-zoom/index.js.map +1 -0
- package/cjs/data-zoom/type.d.ts +59 -0
- package/cjs/data-zoom/type.js +6 -0
- package/cjs/data-zoom/type.js.map +1 -0
- package/cjs/index.d.ts +20 -0
- package/cjs/index.js +30 -0
- package/cjs/index.js.map +1 -0
- package/cjs/indicator/config.d.ts +2 -0
- package/cjs/indicator/config.js +31 -0
- package/cjs/indicator/config.js.map +1 -0
- package/cjs/indicator/index.d.ts +2 -0
- package/cjs/indicator/index.js +21 -0
- package/cjs/indicator/index.js.map +1 -0
- package/cjs/indicator/indicator.d.ts +9 -0
- package/cjs/indicator/indicator.js +73 -0
- package/cjs/indicator/indicator.js.map +1 -0
- package/cjs/indicator/type.d.ts +21 -0
- package/cjs/indicator/type.js +5 -0
- package/cjs/indicator/type.js.map +1 -0
- package/cjs/interface.d.ts +6 -0
- package/cjs/interface.js +6 -0
- package/cjs/interface.js.map +1 -0
- package/cjs/label/animate/animate.d.ts +7 -0
- package/cjs/label/animate/animate.js +53 -0
- package/cjs/label/animate/animate.js.map +1 -0
- package/cjs/label/animate/index.d.ts +1 -0
- package/cjs/label/animate/index.js +3 -0
- package/cjs/label/animate/index.js.map +1 -0
- package/cjs/label/base.d.ts +43 -0
- package/cjs/label/base.js +263 -0
- package/cjs/label/base.js.map +1 -0
- package/cjs/label/dataLabel.d.ts +13 -0
- package/cjs/label/dataLabel.js +56 -0
- package/cjs/label/dataLabel.js.map +1 -0
- package/cjs/label/index.d.ts +6 -0
- package/cjs/label/index.js +23 -0
- package/cjs/label/index.js.map +1 -0
- package/cjs/label/line.d.ts +15 -0
- package/cjs/label/line.js +47 -0
- package/cjs/label/line.js.map +1 -0
- package/cjs/label/overlap/bitmap.d.ts +13 -0
- package/cjs/label/overlap/bitmap.js +73 -0
- package/cjs/label/overlap/bitmap.js.map +1 -0
- package/cjs/label/overlap/index.d.ts +3 -0
- package/cjs/label/overlap/index.js +22 -0
- package/cjs/label/overlap/index.js.map +1 -0
- package/cjs/label/overlap/place.d.ts +14 -0
- package/cjs/label/overlap/place.js +61 -0
- package/cjs/label/overlap/place.js.map +1 -0
- package/cjs/label/overlap/scaler.d.ts +27 -0
- package/cjs/label/overlap/scaler.js +26 -0
- package/cjs/label/overlap/scaler.js.map +1 -0
- package/cjs/label/rect.d.ts +10 -0
- package/cjs/label/rect.js +59 -0
- package/cjs/label/rect.js.map +1 -0
- package/cjs/label/symbol.d.ts +10 -0
- package/cjs/label/symbol.js +69 -0
- package/cjs/label/symbol.js.map +1 -0
- package/cjs/label/type.d.ts +90 -0
- package/cjs/label/type.js +6 -0
- package/cjs/label/type.js.map +1 -0
- package/cjs/legend/base.d.ts +14 -0
- package/cjs/legend/base.js +58 -0
- package/cjs/legend/base.js.map +1 -0
- package/cjs/legend/color/color.d.ts +37 -0
- package/cjs/legend/color/color.js +128 -0
- package/cjs/legend/color/color.js.map +1 -0
- package/cjs/legend/color/index.d.ts +2 -0
- package/cjs/legend/color/index.js +21 -0
- package/cjs/legend/color/index.js.map +1 -0
- package/cjs/legend/color/type.d.ts +5 -0
- package/cjs/legend/color/type.js +6 -0
- package/cjs/legend/color/type.js.map +1 -0
- package/cjs/legend/constant.d.ts +29 -0
- package/cjs/legend/constant.js +24 -0
- package/cjs/legend/constant.js.map +1 -0
- package/cjs/legend/discrete/discrete.d.ts +26 -0
- package/cjs/legend/discrete/discrete.js +413 -0
- package/cjs/legend/discrete/discrete.js.map +1 -0
- package/cjs/legend/discrete/index.d.ts +2 -0
- package/cjs/legend/discrete/index.js +21 -0
- package/cjs/legend/discrete/index.js.map +1 -0
- package/cjs/legend/discrete/type.d.ts +65 -0
- package/cjs/legend/discrete/type.js +6 -0
- package/cjs/legend/discrete/type.js.map +1 -0
- package/cjs/legend/index.d.ts +8 -0
- package/cjs/legend/index.js +24 -0
- package/cjs/legend/index.js.map +1 -0
- package/cjs/legend/size/index.d.ts +1 -0
- package/cjs/legend/size/index.js +3 -0
- package/cjs/legend/size/index.js.map +1 -0
- package/cjs/legend/size/size.d.ts +34 -0
- package/cjs/legend/size/size.js +106 -0
- package/cjs/legend/size/size.js.map +1 -0
- package/cjs/legend/size/type.d.ts +6 -0
- package/cjs/legend/size/type.js +6 -0
- package/cjs/legend/size/type.js.map +1 -0
- package/cjs/legend/type.d.ts +27 -0
- package/cjs/legend/type.js +6 -0
- package/cjs/legend/type.js.map +1 -0
- package/cjs/link-path/index.d.ts +2 -0
- package/cjs/link-path/index.js +21 -0
- package/cjs/link-path/index.js.map +1 -0
- package/cjs/link-path/link-path.d.ts +15 -0
- package/cjs/link-path/link-path.js +65 -0
- package/cjs/link-path/link-path.js.map +1 -0
- package/cjs/link-path/type.d.ts +17 -0
- package/cjs/link-path/type.js +6 -0
- package/cjs/link-path/type.js.map +1 -0
- package/cjs/marker/area.d.ts +56 -0
- package/cjs/marker/area.js +64 -0
- package/cjs/marker/area.js.map +1 -0
- package/cjs/marker/base.d.ts +11 -0
- package/cjs/marker/base.js +22 -0
- package/cjs/marker/base.js.map +1 -0
- package/cjs/marker/config.d.ts +154 -0
- package/cjs/marker/config.js +240 -0
- package/cjs/marker/config.js.map +1 -0
- package/cjs/marker/index.d.ts +4 -0
- package/cjs/marker/index.js +22 -0
- package/cjs/marker/index.js.map +1 -0
- package/cjs/marker/line.d.ts +10 -0
- package/cjs/marker/line.js +45 -0
- package/cjs/marker/line.js.map +1 -0
- package/cjs/marker/point.d.ts +80 -0
- package/cjs/marker/point.js +102 -0
- package/cjs/marker/point.js.map +1 -0
- package/cjs/marker/type.d.ts +93 -0
- package/cjs/marker/type.js +26 -0
- package/cjs/marker/type.js.map +1 -0
- package/cjs/pager/index.d.ts +2 -0
- package/cjs/pager/index.js +21 -0
- package/cjs/pager/index.js.map +1 -0
- package/cjs/pager/pager.d.ts +20 -0
- package/cjs/pager/pager.js +132 -0
- package/cjs/pager/pager.js.map +1 -0
- package/cjs/pager/type.d.ts +19 -0
- package/cjs/pager/type.js +6 -0
- package/cjs/pager/type.js.map +1 -0
- package/cjs/player/base-player.d.ts +103 -0
- package/cjs/player/base-player.js +199 -0
- package/cjs/player/base-player.js.map +1 -0
- package/cjs/player/constant.d.ts +12 -0
- package/cjs/player/constant.js +16 -0
- package/cjs/player/constant.js.map +1 -0
- package/cjs/player/continuous-player.d.ts +34 -0
- package/cjs/player/continuous-player.js +107 -0
- package/cjs/player/continuous-player.js.map +1 -0
- package/cjs/player/controller/assets/index.d.ts +6 -0
- package/cjs/player/controller/assets/index.js +12 -0
- package/cjs/player/controller/assets/index.js.map +1 -0
- package/cjs/player/controller/constant.d.ts +12 -0
- package/cjs/player/controller/constant.js +15 -0
- package/cjs/player/controller/constant.js.map +1 -0
- package/cjs/player/controller/controller.d.ts +32 -0
- package/cjs/player/controller/controller.js +93 -0
- package/cjs/player/controller/controller.js.map +1 -0
- package/cjs/player/controller/icon/icon.d.ts +4 -0
- package/cjs/player/controller/icon/icon.js +16 -0
- package/cjs/player/controller/icon/icon.js.map +1 -0
- package/cjs/player/controller/icon/index.d.ts +1 -0
- package/cjs/player/controller/icon/index.js +21 -0
- package/cjs/player/controller/icon/index.js.map +1 -0
- package/cjs/player/controller/icon/type.d.ts +1 -0
- package/cjs/player/controller/icon/type.js +3 -0
- package/cjs/player/controller/icon/type.js.map +1 -0
- package/cjs/player/controller/index.d.ts +2 -0
- package/cjs/player/controller/index.js +21 -0
- package/cjs/player/controller/index.js.map +1 -0
- package/cjs/player/controller/type.d.ts +11 -0
- package/cjs/player/controller/type.js +6 -0
- package/cjs/player/controller/type.js.map +1 -0
- package/cjs/player/discrete-player.d.ts +32 -0
- package/cjs/player/discrete-player.js +85 -0
- package/cjs/player/discrete-player.js.map +1 -0
- package/cjs/player/index.d.ts +4 -0
- package/cjs/player/index.js +22 -0
- package/cjs/player/index.js.map +1 -0
- package/cjs/player/type/base.d.ts +7 -0
- package/cjs/player/type/base.js +6 -0
- package/cjs/player/type/base.js.map +1 -0
- package/cjs/player/type/continuous-player.d.ts +7 -0
- package/cjs/player/type/continuous-player.js +6 -0
- package/cjs/player/type/continuous-player.js.map +1 -0
- package/cjs/player/type/direction.d.ts +5 -0
- package/cjs/player/type/direction.js +10 -0
- package/cjs/player/type/direction.js.map +1 -0
- package/cjs/player/type/discrete-player.d.ts +9 -0
- package/cjs/player/type/discrete-player.js +6 -0
- package/cjs/player/type/discrete-player.js.map +1 -0
- package/cjs/player/type/event.d.ts +8 -0
- package/cjs/player/type/event.js +12 -0
- package/cjs/player/type/event.js.map +1 -0
- package/cjs/player/type/index.d.ts +9 -0
- package/cjs/player/type/index.js +23 -0
- package/cjs/player/type/index.js.map +1 -0
- package/cjs/player/type/layout.d.ts +35 -0
- package/cjs/player/type/layout.js +6 -0
- package/cjs/player/type/layout.js.map +1 -0
- package/cjs/player/utils.d.ts +20 -0
- package/cjs/player/utils.js +74 -0
- package/cjs/player/utils.js.map +1 -0
- package/cjs/scrollbar/index.d.ts +2 -0
- package/cjs/scrollbar/index.js +21 -0
- package/cjs/scrollbar/index.js.map +1 -0
- package/cjs/scrollbar/scrollbar.d.ts +43 -0
- package/cjs/scrollbar/scrollbar.js +161 -0
- package/cjs/scrollbar/scrollbar.js.map +1 -0
- package/cjs/scrollbar/type.d.ts +16 -0
- package/cjs/scrollbar/type.js +6 -0
- package/cjs/scrollbar/type.js.map +1 -0
- package/cjs/segment/index.d.ts +2 -0
- package/cjs/segment/index.js +21 -0
- package/cjs/segment/index.js.map +1 -0
- package/cjs/segment/segment.d.ts +18 -0
- package/cjs/segment/segment.js +105 -0
- package/cjs/segment/segment.js.map +1 -0
- package/cjs/segment/type.d.ts +22 -0
- package/cjs/segment/type.js +6 -0
- package/cjs/segment/type.js.map +1 -0
- package/cjs/slider/constant.d.ts +13 -0
- package/cjs/slider/constant.js +15 -0
- package/cjs/slider/constant.js.map +1 -0
- package/cjs/slider/index.d.ts +3 -0
- package/cjs/slider/index.js +22 -0
- package/cjs/slider/index.js.map +1 -0
- package/cjs/slider/slider.d.ts +96 -0
- package/cjs/slider/slider.js +405 -0
- package/cjs/slider/slider.js.map +1 -0
- package/cjs/slider/type.d.ts +44 -0
- package/cjs/slider/type.js +6 -0
- package/cjs/slider/type.js.map +1 -0
- package/cjs/tag/index.d.ts +2 -0
- package/cjs/tag/index.js +21 -0
- package/cjs/tag/index.js.map +1 -0
- package/cjs/tag/tag.d.ts +8 -0
- package/cjs/tag/tag.js +103 -0
- package/cjs/tag/tag.js.map +1 -0
- package/cjs/tag/type.d.ts +24 -0
- package/cjs/tag/type.js +6 -0
- package/cjs/tag/type.js.map +1 -0
- package/cjs/title/index.d.ts +2 -0
- package/cjs/title/index.js +21 -0
- package/cjs/title/index.js.map +1 -0
- package/cjs/title/title.d.ts +10 -0
- package/cjs/title/title.js +133 -0
- package/cjs/title/title.js.map +1 -0
- package/cjs/title/type.d.ts +41 -0
- package/cjs/title/type.js +6 -0
- package/cjs/title/type.js.map +1 -0
- package/cjs/tooltip/config.d.ts +3 -0
- package/cjs/tooltip/config.js +78 -0
- package/cjs/tooltip/config.js.map +1 -0
- package/cjs/tooltip/index.d.ts +2 -0
- package/cjs/tooltip/index.js +21 -0
- package/cjs/tooltip/index.js.map +1 -0
- package/cjs/tooltip/tooltip.d.ts +18 -0
- package/cjs/tooltip/tooltip.js +160 -0
- package/cjs/tooltip/tooltip.js.map +1 -0
- package/cjs/tooltip/type.d.ts +60 -0
- package/cjs/tooltip/type.js +6 -0
- package/cjs/tooltip/type.js.map +1 -0
- package/cjs/tooltip/util.d.ts +2 -0
- package/cjs/tooltip/util.js +17 -0
- package/cjs/tooltip/util.js.map +1 -0
- package/cjs/util/common.d.ts +3 -0
- package/cjs/util/common.js +21 -0
- package/cjs/util/common.js.map +1 -0
- package/cjs/util/index.d.ts +4 -0
- package/cjs/util/index.js +22 -0
- package/cjs/util/index.js.map +1 -0
- package/cjs/util/labelSmartInvert.d.ts +2 -0
- package/cjs/util/labelSmartInvert.js +45 -0
- package/cjs/util/labelSmartInvert.js.map +1 -0
- package/cjs/util/matrix.d.ts +4 -0
- package/cjs/util/matrix.js +24 -0
- package/cjs/util/matrix.js.map +1 -0
- package/cjs/util/text.d.ts +7 -0
- package/cjs/util/text.js +40 -0
- package/cjs/util/text.js.map +1 -0
- package/dist/vrender-components.js.js +1 -0
- package/dist/vrender-components.js.min.js +1 -0
- package/es/axis/animate/group-fade.d.ts +17 -0
- package/es/axis/animate/group-fade.js +62 -0
- package/es/axis/animate/group-fade.js.map +1 -0
- package/es/axis/animate/group-transition.d.ts +10 -0
- package/es/axis/animate/group-transition.js +72 -0
- package/es/axis/animate/group-transition.js.map +1 -0
- package/es/axis/animate/index.d.ts +2 -0
- package/es/axis/animate/index.js +4 -0
- package/es/axis/animate/index.js.map +1 -0
- package/es/axis/base.d.ts +53 -0
- package/es/axis/base.js +306 -0
- package/es/axis/base.js.map +1 -0
- package/es/axis/circle.d.ts +88 -0
- package/es/axis/circle.js +186 -0
- package/es/axis/circle.js.map +1 -0
- package/es/axis/config.d.ts +71 -0
- package/es/axis/config.js +72 -0
- package/es/axis/config.js.map +1 -0
- package/es/axis/constant.d.ts +27 -0
- package/es/axis/constant.js +26 -0
- package/es/axis/constant.js.map +1 -0
- package/es/axis/grid.d.ts +9 -0
- package/es/axis/grid.js +102 -0
- package/es/axis/grid.js.map +1 -0
- package/es/axis/index.d.ts +6 -0
- package/es/axis/index.js +12 -0
- package/es/axis/index.js.map +1 -0
- package/es/axis/line.d.ts +89 -0
- package/es/axis/line.js +204 -0
- package/es/axis/line.js.map +1 -0
- package/es/axis/type.d.ts +177 -0
- package/es/axis/type.js +2 -0
- package/es/axis/type.js.map +1 -0
- package/es/brush/brush.d.ts +65 -0
- package/es/brush/brush.js +171 -0
- package/es/brush/brush.js.map +1 -0
- package/es/brush/config.d.ts +21 -0
- package/es/brush/config.js +22 -0
- package/es/brush/config.js.map +1 -0
- package/es/brush/index.d.ts +2 -0
- package/es/brush/index.js +4 -0
- package/es/brush/index.js.map +1 -0
- package/es/brush/type.d.ts +21 -0
- package/es/brush/type.js +2 -0
- package/es/brush/type.js.map +1 -0
- package/es/constant.d.ts +16 -0
- package/es/constant.js +21 -0
- package/es/constant.js.map +1 -0
- package/es/core/base.d.ts +12 -0
- package/es/core/base.js +40 -0
- package/es/core/base.js.map +1 -0
- package/es/core/type.d.ts +28 -0
- package/es/core/type.js +1 -0
- package/es/core/type.js.map +1 -0
- package/es/crosshair/base.d.ts +10 -0
- package/es/crosshair/base.js +11 -0
- package/es/crosshair/base.js.map +1 -0
- package/es/crosshair/circle.d.ts +17 -0
- package/es/crosshair/circle.js +29 -0
- package/es/crosshair/circle.js.map +1 -0
- package/es/crosshair/index.d.ts +6 -0
- package/es/crosshair/index.js +12 -0
- package/es/crosshair/index.js.map +1 -0
- package/es/crosshair/line.d.ts +17 -0
- package/es/crosshair/line.js +32 -0
- package/es/crosshair/line.js.map +1 -0
- package/es/crosshair/polygon.d.ts +17 -0
- package/es/crosshair/polygon.js +35 -0
- package/es/crosshair/polygon.js.map +1 -0
- package/es/crosshair/rect.d.ts +20 -0
- package/es/crosshair/rect.js +33 -0
- package/es/crosshair/rect.js.map +1 -0
- package/es/crosshair/sector.d.ts +15 -0
- package/es/crosshair/sector.js +35 -0
- package/es/crosshair/sector.js.map +1 -0
- package/es/crosshair/type.d.ts +37 -0
- package/es/crosshair/type.js +2 -0
- package/es/crosshair/type.js.map +1 -0
- package/es/data-zoom/config.d.ts +104 -0
- package/es/data-zoom/config.js +106 -0
- package/es/data-zoom/config.js.map +1 -0
- package/es/data-zoom/data-zoom.d.ts +193 -0
- package/es/data-zoom/data-zoom.js +444 -0
- package/es/data-zoom/data-zoom.js.map +1 -0
- package/es/data-zoom/index.d.ts +2 -0
- package/es/data-zoom/index.js +4 -0
- package/es/data-zoom/index.js.map +1 -0
- package/es/data-zoom/type.d.ts +59 -0
- package/es/data-zoom/type.js +2 -0
- package/es/data-zoom/type.js.map +1 -0
- package/es/index.d.ts +20 -0
- package/es/index.js +40 -0
- package/es/index.js.map +1 -0
- package/es/indicator/config.d.ts +2 -0
- package/es/indicator/config.js +27 -0
- package/es/indicator/config.js.map +1 -0
- package/es/indicator/index.d.ts +2 -0
- package/es/indicator/index.js +4 -0
- package/es/indicator/index.js.map +1 -0
- package/es/indicator/indicator.d.ts +9 -0
- package/es/indicator/indicator.js +69 -0
- package/es/indicator/indicator.js.map +1 -0
- package/es/indicator/type.d.ts +21 -0
- package/es/indicator/type.js +1 -0
- package/es/indicator/type.js.map +1 -0
- package/es/interface.d.ts +6 -0
- package/es/interface.js +2 -0
- package/es/interface.js.map +1 -0
- package/es/label/animate/animate.d.ts +7 -0
- package/es/label/animate/animate.js +47 -0
- package/es/label/animate/animate.js.map +1 -0
- package/es/label/animate/index.d.ts +1 -0
- package/es/label/animate/index.js +3 -0
- package/es/label/animate/index.js.map +1 -0
- package/es/label/base.d.ts +43 -0
- package/es/label/base.js +263 -0
- package/es/label/base.js.map +1 -0
- package/es/label/dataLabel.d.ts +13 -0
- package/es/label/dataLabel.js +60 -0
- package/es/label/dataLabel.js.map +1 -0
- package/es/label/index.d.ts +6 -0
- package/es/label/index.js +12 -0
- package/es/label/index.js.map +1 -0
- package/es/label/line.d.ts +15 -0
- package/es/label/line.js +43 -0
- package/es/label/line.js.map +1 -0
- package/es/label/overlap/bitmap.d.ts +13 -0
- package/es/label/overlap/bitmap.js +65 -0
- package/es/label/overlap/bitmap.js.map +1 -0
- package/es/label/overlap/index.d.ts +3 -0
- package/es/label/overlap/index.js +6 -0
- package/es/label/overlap/index.js.map +1 -0
- package/es/label/overlap/place.d.ts +14 -0
- package/es/label/overlap/place.js +57 -0
- package/es/label/overlap/place.js.map +1 -0
- package/es/label/overlap/scaler.d.ts +27 -0
- package/es/label/overlap/scaler.js +18 -0
- package/es/label/overlap/scaler.js.map +1 -0
- package/es/label/rect.d.ts +10 -0
- package/es/label/rect.js +55 -0
- package/es/label/rect.js.map +1 -0
- package/es/label/symbol.d.ts +10 -0
- package/es/label/symbol.js +65 -0
- package/es/label/symbol.js.map +1 -0
- package/es/label/type.d.ts +90 -0
- package/es/label/type.js +2 -0
- package/es/label/type.js.map +1 -0
- package/es/legend/base.d.ts +14 -0
- package/es/legend/base.js +56 -0
- package/es/legend/base.js.map +1 -0
- package/es/legend/color/color.d.ts +37 -0
- package/es/legend/color/color.js +128 -0
- package/es/legend/color/color.js.map +1 -0
- package/es/legend/color/index.d.ts +2 -0
- package/es/legend/color/index.js +4 -0
- package/es/legend/color/index.js.map +1 -0
- package/es/legend/color/type.d.ts +5 -0
- package/es/legend/color/type.js +2 -0
- package/es/legend/color/type.js.map +1 -0
- package/es/legend/constant.d.ts +29 -0
- package/es/legend/constant.js +40 -0
- package/es/legend/constant.js.map +1 -0
- package/es/legend/discrete/discrete.d.ts +26 -0
- package/es/legend/discrete/discrete.js +409 -0
- package/es/legend/discrete/discrete.js.map +1 -0
- package/es/legend/discrete/index.d.ts +2 -0
- package/es/legend/discrete/index.js +4 -0
- package/es/legend/discrete/index.js.map +1 -0
- package/es/legend/discrete/type.d.ts +65 -0
- package/es/legend/discrete/type.js +2 -0
- package/es/legend/discrete/type.js.map +1 -0
- package/es/legend/index.d.ts +8 -0
- package/es/legend/index.js +16 -0
- package/es/legend/index.js.map +1 -0
- package/es/legend/size/index.d.ts +1 -0
- package/es/legend/size/index.js +3 -0
- package/es/legend/size/index.js.map +1 -0
- package/es/legend/size/size.d.ts +34 -0
- package/es/legend/size/size.js +105 -0
- package/es/legend/size/size.js.map +1 -0
- package/es/legend/size/type.d.ts +6 -0
- package/es/legend/size/type.js +2 -0
- package/es/legend/size/type.js.map +1 -0
- package/es/legend/type.d.ts +27 -0
- package/es/legend/type.js +2 -0
- package/es/legend/type.js.map +1 -0
- package/es/link-path/index.d.ts +2 -0
- package/es/link-path/index.js +4 -0
- package/es/link-path/index.js.map +1 -0
- package/es/link-path/link-path.d.ts +15 -0
- package/es/link-path/link-path.js +59 -0
- package/es/link-path/link-path.js.map +1 -0
- package/es/link-path/type.d.ts +17 -0
- package/es/link-path/type.js +2 -0
- package/es/link-path/type.js.map +1 -0
- package/es/marker/area.d.ts +56 -0
- package/es/marker/area.js +65 -0
- package/es/marker/area.js.map +1 -0
- package/es/marker/base.d.ts +11 -0
- package/es/marker/base.js +15 -0
- package/es/marker/base.js.map +1 -0
- package/es/marker/config.d.ts +154 -0
- package/es/marker/config.js +244 -0
- package/es/marker/config.js.map +1 -0
- package/es/marker/index.d.ts +4 -0
- package/es/marker/index.js +8 -0
- package/es/marker/index.js.map +1 -0
- package/es/marker/line.d.ts +10 -0
- package/es/marker/line.js +47 -0
- package/es/marker/line.js.map +1 -0
- package/es/marker/point.d.ts +80 -0
- package/es/marker/point.js +106 -0
- package/es/marker/point.js.map +1 -0
- package/es/marker/type.d.ts +93 -0
- package/es/marker/type.js +27 -0
- package/es/marker/type.js.map +1 -0
- package/es/pager/index.d.ts +2 -0
- package/es/pager/index.js +4 -0
- package/es/pager/index.js.map +1 -0
- package/es/pager/pager.d.ts +20 -0
- package/es/pager/pager.js +132 -0
- package/es/pager/pager.js.map +1 -0
- package/es/pager/type.d.ts +19 -0
- package/es/pager/type.js +2 -0
- package/es/pager/type.js.map +1 -0
- package/es/player/base-player.d.ts +103 -0
- package/es/player/base-player.js +200 -0
- package/es/player/base-player.js.map +1 -0
- package/es/player/constant.d.ts +12 -0
- package/es/player/constant.js +14 -0
- package/es/player/constant.js.map +1 -0
- package/es/player/continuous-player.d.ts +34 -0
- package/es/player/continuous-player.js +104 -0
- package/es/player/continuous-player.js.map +1 -0
- package/es/player/controller/assets/index.d.ts +6 -0
- package/es/player/controller/assets/index.js +12 -0
- package/es/player/controller/assets/index.js.map +1 -0
- package/es/player/controller/constant.d.ts +12 -0
- package/es/player/controller/constant.js +14 -0
- package/es/player/controller/constant.js.map +1 -0
- package/es/player/controller/controller.d.ts +32 -0
- package/es/player/controller/controller.js +97 -0
- package/es/player/controller/controller.js.map +1 -0
- package/es/player/controller/icon/icon.d.ts +4 -0
- package/es/player/controller/icon/icon.js +8 -0
- package/es/player/controller/icon/icon.js.map +1 -0
- package/es/player/controller/icon/index.d.ts +1 -0
- package/es/player/controller/icon/index.js +2 -0
- package/es/player/controller/icon/index.js.map +1 -0
- package/es/player/controller/icon/type.d.ts +1 -0
- package/es/player/controller/icon/type.js +3 -0
- package/es/player/controller/icon/type.js.map +1 -0
- package/es/player/controller/index.d.ts +2 -0
- package/es/player/controller/index.js +4 -0
- package/es/player/controller/index.js.map +1 -0
- package/es/player/controller/type.d.ts +11 -0
- package/es/player/controller/type.js +2 -0
- package/es/player/controller/type.js.map +1 -0
- package/es/player/discrete-player.d.ts +32 -0
- package/es/player/discrete-player.js +86 -0
- package/es/player/discrete-player.js.map +1 -0
- package/es/player/index.d.ts +4 -0
- package/es/player/index.js +8 -0
- package/es/player/index.js.map +1 -0
- package/es/player/type/base.d.ts +7 -0
- package/es/player/type/base.js +2 -0
- package/es/player/type/base.js.map +1 -0
- package/es/player/type/continuous-player.d.ts +7 -0
- package/es/player/type/continuous-player.js +2 -0
- package/es/player/type/continuous-player.js.map +1 -0
- package/es/player/type/direction.d.ts +5 -0
- package/es/player/type/direction.js +6 -0
- package/es/player/type/direction.js.map +1 -0
- package/es/player/type/discrete-player.d.ts +9 -0
- package/es/player/type/discrete-player.js +2 -0
- package/es/player/type/discrete-player.js.map +1 -0
- package/es/player/type/event.d.ts +8 -0
- package/es/player/type/event.js +8 -0
- package/es/player/type/event.js.map +1 -0
- package/es/player/type/index.d.ts +9 -0
- package/es/player/type/index.js +12 -0
- package/es/player/type/index.js.map +1 -0
- package/es/player/type/layout.d.ts +35 -0
- package/es/player/type/layout.js +2 -0
- package/es/player/type/layout.js.map +1 -0
- package/es/player/utils.d.ts +20 -0
- package/es/player/utils.js +45 -0
- package/es/player/utils.js.map +1 -0
- package/es/scrollbar/index.d.ts +2 -0
- package/es/scrollbar/index.js +4 -0
- package/es/scrollbar/index.js.map +1 -0
- package/es/scrollbar/scrollbar.d.ts +43 -0
- package/es/scrollbar/scrollbar.js +154 -0
- package/es/scrollbar/scrollbar.js.map +1 -0
- package/es/scrollbar/type.d.ts +16 -0
- package/es/scrollbar/type.js +2 -0
- package/es/scrollbar/type.js.map +1 -0
- package/es/segment/index.d.ts +2 -0
- package/es/segment/index.js +4 -0
- package/es/segment/index.js.map +1 -0
- package/es/segment/segment.d.ts +18 -0
- package/es/segment/segment.js +103 -0
- package/es/segment/segment.js.map +1 -0
- package/es/segment/type.d.ts +22 -0
- package/es/segment/type.js +2 -0
- package/es/segment/type.js.map +1 -0
- package/es/slider/constant.d.ts +13 -0
- package/es/slider/constant.js +11 -0
- package/es/slider/constant.js.map +1 -0
- package/es/slider/index.d.ts +3 -0
- package/es/slider/index.js +6 -0
- package/es/slider/index.js.map +1 -0
- package/es/slider/slider.d.ts +96 -0
- package/es/slider/slider.js +399 -0
- package/es/slider/slider.js.map +1 -0
- package/es/slider/type.d.ts +44 -0
- package/es/slider/type.js +2 -0
- package/es/slider/type.js.map +1 -0
- package/es/tag/index.d.ts +2 -0
- package/es/tag/index.js +4 -0
- package/es/tag/index.js.map +1 -0
- package/es/tag/tag.d.ts +8 -0
- package/es/tag/tag.js +97 -0
- package/es/tag/tag.js.map +1 -0
- package/es/tag/type.d.ts +24 -0
- package/es/tag/type.js +2 -0
- package/es/tag/type.js.map +1 -0
- package/es/title/index.d.ts +2 -0
- package/es/title/index.js +4 -0
- package/es/title/index.js.map +1 -0
- package/es/title/title.d.ts +10 -0
- package/es/title/title.js +125 -0
- package/es/title/title.js.map +1 -0
- package/es/title/type.d.ts +41 -0
- package/es/title/type.js +2 -0
- package/es/title/type.js.map +1 -0
- package/es/tooltip/config.d.ts +3 -0
- package/es/tooltip/config.js +76 -0
- package/es/tooltip/config.js.map +1 -0
- package/es/tooltip/index.d.ts +2 -0
- package/es/tooltip/index.js +4 -0
- package/es/tooltip/index.js.map +1 -0
- package/es/tooltip/tooltip.d.ts +18 -0
- package/es/tooltip/tooltip.js +161 -0
- package/es/tooltip/tooltip.js.map +1 -0
- package/es/tooltip/type.d.ts +60 -0
- package/es/tooltip/type.js +2 -0
- package/es/tooltip/type.js.map +1 -0
- package/es/tooltip/util.d.ts +2 -0
- package/es/tooltip/util.js +11 -0
- package/es/tooltip/util.js.map +1 -0
- package/es/util/common.d.ts +3 -0
- package/es/util/common.js +11 -0
- package/es/util/common.js.map +1 -0
- package/es/util/index.d.ts +4 -0
- package/es/util/index.js +8 -0
- package/es/util/index.js.map +1 -0
- package/es/util/labelSmartInvert.d.ts +2 -0
- package/es/util/labelSmartInvert.js +39 -0
- package/es/util/labelSmartInvert.js.map +1 -0
- package/es/util/matrix.d.ts +4 -0
- package/es/util/matrix.js +13 -0
- package/es/util/matrix.js.map +1 -0
- package/es/util/text.d.ts +7 -0
- package/es/util/text.js +38 -0
- package/es/util/text.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/title/title.ts"],"names":[],"mappings":"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","file":"title.js","sourcesContent":["/**\n * @description 标题组件\n */\nimport { IGroup, IText, IRichText } from '@visactor/vrender';\nimport { merge, isValid, normalizePadding } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport { TitleAttrs } from './type';\n\nexport class Title extends AbstractComponent<Required<TitleAttrs>> {\n name = 'title';\n\n private _mainTitle?: IText | IRichText;\n private _subTitle?: IText | IRichText;\n\n static defaultAttributes: Partial<TitleAttrs> = {\n textStyle: {\n ellipsis: '...',\n fillColor: '#333',\n fontSize: 20,\n fontWeight: 'bold',\n textAlign: 'left',\n textBaseline: 'top'\n },\n subtextStyle: {\n ellipsis: '...',\n fillColor: '#6F6F6F',\n fontSize: 16,\n fontWeight: 'normal',\n textAlign: 'left',\n textBaseline: 'top'\n }\n };\n\n constructor(attributes: TitleAttrs) {\n super(merge({}, Title.defaultAttributes, attributes));\n }\n\n protected render() {\n const {\n text,\n textStyle,\n subtext,\n subtextStyle,\n width,\n height,\n minWidth,\n maxWidth,\n minHeight,\n maxHeight,\n align,\n verticalAlign,\n padding = 0\n } = this.attribute as TitleAttrs;\n\n const parsedPadding = normalizePadding(padding);\n\n const group = this.createOrUpdateChild(\n 'title-container',\n { x: parsedPadding[3], y: parsedPadding[0], zIndex: 1 },\n 'group'\n ) as IGroup;\n\n if (this.attribute?.visible !== false && textStyle?.visible !== false) {\n if (textStyle && isValid(textStyle?.character)) {\n const attr = {\n x: textStyle.x ?? 0,\n y: textStyle.y ?? 0,\n width: textStyle.width ?? width ?? 0,\n height: textStyle.height ?? height ?? 0,\n ellipsis: textStyle.ellipsis ?? true,\n wordBreak: textStyle.wordBreak ?? 'break-word',\n maxHeight: textStyle.maxHeight,\n maxWidth: textStyle.maxWidth,\n textConfig: textStyle.character\n };\n this._mainTitle = group.createOrUpdateChild('mainTitle', attr, 'richtext') as IRichText;\n } else if (isValid(text)) {\n this._mainTitle = group.createOrUpdateChild(\n 'mainTitle',\n {\n text: [text as string],\n ...textStyle,\n maxLineWidth: textStyle?.maxLineWidth ?? width,\n heightLimit: textStyle?.heightLimit,\n lineClamp: textStyle?.lineClamp,\n ellipsis: textStyle?.ellipsis ?? true,\n x: 0,\n y: 0\n },\n 'wrapText'\n ) as IText;\n }\n }\n\n const maintextHeight = this._mainTitle ? this._mainTitle?.AABBBounds.height() : 0;\n const maintextWidth = this._mainTitle ? this._mainTitle?.AABBBounds.width() : 0;\n\n if (this.attribute?.visible !== false && subtextStyle?.visible !== false) {\n if (subtextStyle && isValid(subtextStyle?.character)) {\n const attr = {\n x: subtextStyle.x ?? 0,\n y: subtextStyle.y ?? maintextHeight,\n width: subtextStyle.width ?? width ?? 0,\n height: subtextStyle.height ?? height ?? 0,\n ellipsis: subtextStyle.ellipsis ?? true,\n wordBreak: subtextStyle.wordBreak ?? 'break-word',\n maxHeight: subtextStyle.maxHeight,\n maxWidth: subtextStyle.maxWidth,\n textConfig: subtextStyle.character\n };\n this._subTitle = group.createOrUpdateChild('subTitle', attr, 'richtext') as IRichText;\n } else if (isValid(subtext)) {\n this._subTitle = group.createOrUpdateChild(\n 'subTitle',\n {\n text: [subtext as string],\n ...subtextStyle,\n maxLineWidth: subtextStyle?.maxLineWidth ?? width,\n heightLimit: subtextStyle?.heightLimit,\n lineClamp: subtextStyle?.lineClamp,\n ellipsis: subtextStyle?.ellipsis ?? true,\n x: 0,\n y: maintextHeight\n },\n 'wrapText'\n ) as IText;\n }\n }\n\n const subtextHeight = this._subTitle ? this._subTitle?.AABBBounds.height() : 0;\n const subtextWidth = this._subTitle ? this._subTitle?.AABBBounds.width() : 0;\n\n // 设置宽高\n let titleWidth = Math.max(maintextWidth, subtextWidth);\n let titleHeight = maintextHeight + (subtextStyle?.height ?? subtextHeight);\n\n if (isValid(width)) {\n titleWidth = width;\n this._mainTitle?.setAttribute('maxLineWidth', width);\n this._subTitle?.setAttribute('maxLineWidth', width);\n }\n\n if (isValid(height)) {\n titleHeight = height;\n }\n\n if (isValid(minWidth) && titleWidth < minWidth) {\n titleWidth = minWidth;\n }\n if (isValid(maxWidth)) {\n this._mainTitle?.setAttribute('maxLineWidth', maxWidth);\n this._subTitle?.setAttribute('maxLineWidth', maxWidth);\n this._mainTitle?.setAttribute('maxWidth', maxWidth);\n this._subTitle?.setAttribute('maxWidth', maxWidth);\n if (titleWidth > maxWidth) {\n titleWidth = maxWidth;\n }\n }\n\n if (isValid(minHeight) && titleHeight < minHeight) {\n titleHeight = minHeight;\n }\n if (isValid(maxHeight)) {\n this._mainTitle?.setAttribute('maxHeight', maxHeight);\n this._subTitle?.setAttribute('maxHeight', maxHeight - maintextHeight);\n if (titleHeight > maxHeight) {\n titleHeight = maxHeight;\n }\n }\n\n group.attribute.width = titleWidth + parsedPadding[1] + parsedPadding[3];\n group.attribute.height = titleHeight + parsedPadding[0] + parsedPadding[2];\n\n // 设置对齐\n if (isValid(align) || isValid(textStyle?.align)) {\n const mainTitleAlign = textStyle?.align ? textStyle?.align : align;\n const mainTitleWidth = textStyle?.width ?? maintextWidth;\n if (mainTitleAlign === 'left') {\n this._mainTitle?.setAttribute('x', 0);\n this._mainTitle?.setAttribute('textAlign', 'left');\n } else if (mainTitleAlign === 'center') {\n this._mainTitle?.setAttribute('x', mainTitleWidth / 2);\n this._mainTitle?.setAttribute('textAlign', 'center');\n } else if (mainTitleAlign === 'right') {\n this._mainTitle?.setAttribute('x', mainTitleWidth);\n this._mainTitle?.setAttribute('textAlign', 'right');\n }\n }\n\n if (isValid(verticalAlign) || isValid(textStyle?.verticalAlign)) {\n const mainTitleVerticalAlign = textStyle?.verticalAlign ? textStyle?.verticalAlign : verticalAlign;\n const mainTitleHeight = textStyle?.height ? textStyle?.height : titleWidth;\n if (mainTitleVerticalAlign === 'top') {\n this._mainTitle?.setAttribute('y', 0);\n this._mainTitle?.setAttribute('textBaseline', 'top');\n } else if (mainTitleVerticalAlign === 'middle') {\n this._mainTitle?.setAttribute('y', mainTitleHeight / 2);\n this._mainTitle?.setAttribute('textBaseline', 'middle');\n } else if (mainTitleVerticalAlign === 'bottom') {\n this._mainTitle?.setAttribute('y', mainTitleHeight);\n this._mainTitle?.setAttribute('textBaseline', 'bottom');\n }\n }\n\n if (isValid(align) || isValid(subtextStyle?.align)) {\n const subTitleAlign = subtextStyle?.align ? subtextStyle?.align : align;\n const subTitleWidth = subtextStyle?.width ?? subtextWidth;\n if (subTitleAlign === 'left') {\n this._subTitle?.setAttribute('x', 0);\n this._subTitle?.setAttribute('textAlign', 'left');\n } else if (subTitleAlign === 'center') {\n this._subTitle?.setAttribute('x', subTitleWidth / 2);\n this._subTitle?.setAttribute('textAlign', 'center');\n } else if (subTitleAlign === 'right') {\n this._subTitle?.setAttribute('x', subTitleWidth);\n this._subTitle?.setAttribute('textAlign', 'right');\n }\n }\n\n if (isValid(verticalAlign) || isValid(textStyle?.verticalAlign)) {\n const subTitleVerticalAlign = subtextStyle?.verticalAlign ? subtextStyle?.verticalAlign : verticalAlign;\n const subTitleYStart = maintextHeight;\n const subTitleHeight = subtextStyle?.height ?? 0;\n if (subTitleVerticalAlign === 'top') {\n this._subTitle?.setAttribute('y', subTitleYStart);\n this._subTitle?.setAttribute('textBaseline', 'top');\n } else if (subTitleVerticalAlign === 'middle') {\n this._subTitle?.setAttribute('y', subTitleYStart + subTitleHeight / 2);\n this._subTitle?.setAttribute('textBaseline', 'middle');\n } else if (subTitleVerticalAlign === 'bottom') {\n this._subTitle?.setAttribute('y', subTitleYStart + subTitleHeight);\n this._subTitle?.setAttribute('textBaseline', 'bottom');\n }\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { IGroupGraphicAttribute, ITextGraphicAttribute, IRichTextCharacter, RichTextWordBreak } from '@visactor/vrender';
|
|
2
|
+
import { Padding } from '../core/type';
|
|
3
|
+
export interface TitleAttrs extends IGroupGraphicAttribute {
|
|
4
|
+
text?: string | number | string[] | number[];
|
|
5
|
+
subtext?: string | number | string[] | number[];
|
|
6
|
+
width?: number;
|
|
7
|
+
height?: number;
|
|
8
|
+
minWidth?: number;
|
|
9
|
+
maxWidth?: number;
|
|
10
|
+
minHeight?: number;
|
|
11
|
+
maxHeight?: number;
|
|
12
|
+
padding?: Padding;
|
|
13
|
+
align?: string;
|
|
14
|
+
verticalAlign?: string;
|
|
15
|
+
textStyle?: {
|
|
16
|
+
width?: number;
|
|
17
|
+
height?: number;
|
|
18
|
+
maxWidth?: number;
|
|
19
|
+
maxHeight?: number;
|
|
20
|
+
align?: string;
|
|
21
|
+
verticalAlign?: string;
|
|
22
|
+
wordBreak?: RichTextWordBreak;
|
|
23
|
+
maxLineWidth?: number;
|
|
24
|
+
heightLimit?: number;
|
|
25
|
+
lineClamp?: number;
|
|
26
|
+
character?: IRichTextCharacter[];
|
|
27
|
+
} & Partial<ITextGraphicAttribute>;
|
|
28
|
+
subtextStyle?: {
|
|
29
|
+
width?: number;
|
|
30
|
+
height?: number;
|
|
31
|
+
maxWidth?: number;
|
|
32
|
+
maxHeight?: number;
|
|
33
|
+
align?: string;
|
|
34
|
+
verticalAlign?: string;
|
|
35
|
+
wordBreak?: RichTextWordBreak;
|
|
36
|
+
maxLineWidth?: number;
|
|
37
|
+
heightLimit?: number;
|
|
38
|
+
lineClamp?: number;
|
|
39
|
+
character?: IRichTextCharacter[];
|
|
40
|
+
} & Partial<ITextGraphicAttribute>;
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/title/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { IGroupGraphicAttribute, ITextGraphicAttribute, IRichTextCharacter, RichTextWordBreak } from '@visactor/vrender';\nimport { Padding } from '../core/type';\n\nexport interface TitleAttrs extends IGroupGraphicAttribute {\n /**\n * 主标题文本内容\n */\n text?: string | number | string[] | number[];\n /**\n * 副标题文本内容\n */\n subtext?: string | number | string[] | number[];\n /**\n * 指定宽度,像素值\n */\n width?: number;\n /**\n * 指定高度,像素值\n */\n height?: number;\n /**\n * 最小宽度,像素值\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * 最小高度,像素值\n */\n minHeight?: number;\n /**\n * 最大高度,像素值\n */\n maxHeight?: number;\n /**\n * 内部边距\n */\n padding?: Padding;\n /**\n * 整体(包括 text 和 subtext)的水平对齐\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 整体(包括 text 和 subtext)的垂直对齐\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 主标题样式\n */\n textStyle?: {\n /** 指定宽度 */\n width?: number;\n /** 指定高度 */\n height?: number;\n /** 最大宽度 */\n maxWidth?: number;\n /** 最大高度 */\n maxHeight?: number;\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 折行方式\n * 'break-word' | 'break-all'\n */\n wordBreak?: RichTextWordBreak;\n /**\n * 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 默认设置为title宽度\n */\n maxLineWidth?: number;\n /**\n * 高度限制控制显示内容及省略号(heightLimit)\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号(lineClamp)\n */\n lineClamp?: number;\n /**\n * 富文本配置\n */\n character?: IRichTextCharacter[];\n } & Partial<ITextGraphicAttribute>;\n /**\n * 副标题样式\n */\n subtextStyle?: {\n /** 指定宽度 */\n width?: number;\n /** 指定高度 */\n height?: number;\n /** 最大宽度 */\n maxWidth?: number;\n /** 最大高度 */\n maxHeight?: number;\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 折行方式\n * 'break-word' | 'break-all'\n */\n wordBreak?: RichTextWordBreak;\n /**\n * 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 默认设置为title宽度\n */\n maxLineWidth?: number;\n /**\n * 高度限制控制显示内容及省略号(heightLimit)\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号(lineClamp)\n */\n lineClamp?: number;\n /**\n * 富文本配置\n */\n character?: IRichTextCharacter[];\n } & Partial<ITextGraphicAttribute>;\n}\n"]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.TOOLTIP_POSITION_ATTRIBUTES = exports.defaultAttributes = void 0;
|
|
6
|
+
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), constant_1 = require("../constant");
|
|
8
|
+
|
|
9
|
+
exports.defaultAttributes = {
|
|
10
|
+
panel: {
|
|
11
|
+
visible: !0,
|
|
12
|
+
borderRadius: [ 3, 3, 3, 3 ],
|
|
13
|
+
fill: !0,
|
|
14
|
+
fillColor: "white",
|
|
15
|
+
shadow: !0,
|
|
16
|
+
shadowBlur: 12,
|
|
17
|
+
shadowColor: "rgba(0, 0, 0, 0.1)",
|
|
18
|
+
shadowOffsetX: 0,
|
|
19
|
+
shadowOffsetY: 4,
|
|
20
|
+
shadowSpread: 0,
|
|
21
|
+
stroke: !0,
|
|
22
|
+
strokeColor: "white"
|
|
23
|
+
},
|
|
24
|
+
titleStyle: {
|
|
25
|
+
value: {
|
|
26
|
+
fill: !0,
|
|
27
|
+
fillColor: "#4E5969",
|
|
28
|
+
fontFamily: constant_1.DEFAULT_TEXT_FONT_FAMILY,
|
|
29
|
+
fontSize: 14,
|
|
30
|
+
lineHeight: 18,
|
|
31
|
+
textAlign: "left",
|
|
32
|
+
textBaseline: "middle"
|
|
33
|
+
},
|
|
34
|
+
spaceRow: 6
|
|
35
|
+
},
|
|
36
|
+
contentStyle: {
|
|
37
|
+
shape: {
|
|
38
|
+
fill: !0,
|
|
39
|
+
fillColor: "black",
|
|
40
|
+
size: 8,
|
|
41
|
+
symbolType: "circle",
|
|
42
|
+
spacing: 6
|
|
43
|
+
},
|
|
44
|
+
key: {
|
|
45
|
+
fill: !0,
|
|
46
|
+
fillColor: "#4E5969",
|
|
47
|
+
fontFamily: constant_1.DEFAULT_TEXT_FONT_FAMILY,
|
|
48
|
+
fontSize: 12,
|
|
49
|
+
lineHeight: 18,
|
|
50
|
+
textAlign: "left",
|
|
51
|
+
textBaseline: "middle",
|
|
52
|
+
spacing: 26
|
|
53
|
+
},
|
|
54
|
+
value: {
|
|
55
|
+
fill: !0,
|
|
56
|
+
fillColor: "#4E5969",
|
|
57
|
+
fontFamily: constant_1.DEFAULT_TEXT_FONT_FAMILY,
|
|
58
|
+
fontSize: 12,
|
|
59
|
+
lineHeight: 18,
|
|
60
|
+
textAlign: "right",
|
|
61
|
+
textBaseline: "middle",
|
|
62
|
+
spacing: 0
|
|
63
|
+
},
|
|
64
|
+
spaceRow: 6
|
|
65
|
+
},
|
|
66
|
+
padding: 10,
|
|
67
|
+
positionX: "right",
|
|
68
|
+
positionY: "bottom",
|
|
69
|
+
offsetX: 10,
|
|
70
|
+
offsetY: 10,
|
|
71
|
+
parentBounds: (new vutils_1.AABBBounds).setValue(Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY),
|
|
72
|
+
autoCalculatePosition: !0,
|
|
73
|
+
autoMeasure: !0,
|
|
74
|
+
pickable: !1,
|
|
75
|
+
childrenPickable: !1,
|
|
76
|
+
zIndex: 500
|
|
77
|
+
}, exports.TOOLTIP_POSITION_ATTRIBUTES = [ "pointerX", "pointerY", "offsetX", "offsetY", "positionX", "positionY", "parentBounds" ];
|
|
78
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tooltip/config.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,0CAAuD;AAG1C,QAAA,iBAAiB,GAA+B;IAC3D,KAAK,EAAE;QACL,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,oBAAoB;QACjC,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,OAAO;KACrB;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,mCAAwB;YACpC,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,QAAQ;SACvB;QACD,QAAQ,EAAE,CAAC;KACZ;IACD,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,CAAC;YACP,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,CAAC;SACX;QACD,GAAG,EAAE;YACH,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,mCAAwB;YACpC,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,QAAQ;YACtB,OAAO,EAAE,EAAE;SACZ;QACD,KAAK,EAAE;YACL,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,mCAAwB;YACpC,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,QAAQ;YACtB,OAAO,EAAE,CAAC;SACX;QACD,QAAQ,EAAE,CAAC;KACZ;IACD,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,IAAI,mBAAU,EAAE,CAAC,QAAQ,CACrC,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,iBAAiB,CACzB;IACD,qBAAqB,EAAE,IAAI;IAC3B,WAAW,EAAE,IAAI;IAEjB,QAAQ,EAAE,KAAK;IACf,gBAAgB,EAAE,KAAK;IACvB,MAAM,EAAE,GAAG;CACZ,CAAC;AAEW,QAAA,2BAA2B,GAAG;IACzC,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,WAAW;IACX,WAAW;IACX,cAAc;CACf,CAAC","file":"config.js","sourcesContent":["import { AABBBounds } from '@visactor/vutils';\nimport { DEFAULT_TEXT_FONT_FAMILY } from '../constant';\nimport { TooltipAttributes } from './type';\n\nexport const defaultAttributes: Partial<TooltipAttributes> = {\n panel: {\n visible: true,\n borderRadius: [3, 3, 3, 3],\n fill: true,\n fillColor: 'white',\n shadow: true,\n shadowBlur: 12,\n shadowColor: 'rgba(0, 0, 0, 0.1)',\n shadowOffsetX: 0,\n shadowOffsetY: 4,\n shadowSpread: 0,\n stroke: true,\n strokeColor: 'white'\n },\n titleStyle: {\n value: {\n fill: true,\n fillColor: '#4E5969',\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: 14,\n lineHeight: 18,\n textAlign: 'left',\n textBaseline: 'middle'\n },\n spaceRow: 6\n },\n contentStyle: {\n shape: {\n fill: true,\n fillColor: 'black',\n size: 8,\n symbolType: 'circle',\n spacing: 6\n },\n key: {\n fill: true,\n fillColor: '#4E5969',\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: 12,\n lineHeight: 18,\n textAlign: 'left',\n textBaseline: 'middle',\n spacing: 26\n },\n value: {\n fill: true,\n fillColor: '#4E5969',\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: 12,\n lineHeight: 18,\n textAlign: 'right',\n textBaseline: 'middle',\n spacing: 0\n },\n spaceRow: 6\n },\n padding: 10,\n positionX: 'right',\n positionY: 'bottom',\n offsetX: 10,\n offsetY: 10,\n parentBounds: new AABBBounds().setValue(\n Number.NEGATIVE_INFINITY,\n Number.NEGATIVE_INFINITY,\n Number.POSITIVE_INFINITY,\n Number.POSITIVE_INFINITY\n ),\n autoCalculatePosition: true,\n autoMeasure: true,\n\n pickable: false,\n childrenPickable: false,\n zIndex: 500\n};\n\nexport const TOOLTIP_POSITION_ATTRIBUTES = [\n 'pointerX',\n 'pointerY',\n 'offsetX',\n 'offsetY',\n 'positionX',\n 'positionY',\n 'parentBounds'\n];\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
4
|
+
void 0 === k2 && (k2 = k);
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
7
|
+
enumerable: !0,
|
|
8
|
+
get: function() {
|
|
9
|
+
return m[k];
|
|
10
|
+
}
|
|
11
|
+
}), Object.defineProperty(o, k2, desc);
|
|
12
|
+
} : function(o, m, k, k2) {
|
|
13
|
+
void 0 === k2 && (k2 = k), o[k2] = m[k];
|
|
14
|
+
}), __exportStar = this && this.__exportStar || function(m, exports) {
|
|
15
|
+
for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
Object.defineProperty(exports, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), __exportStar(require("./tooltip"), exports), __exportStar(require("./type"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tooltip/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,yCAAuB","file":"index.js","sourcesContent":["export * from './tooltip';\nexport * from './type';\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AbstractComponent } from '../core/base';
|
|
2
|
+
import { TooltipAttributes, TooltipRowAttrs, TooltipRowStyleAttrs } from './type';
|
|
3
|
+
export declare class Tooltip extends AbstractComponent<Required<TooltipAttributes>> {
|
|
4
|
+
name: string;
|
|
5
|
+
private _tooltipPanel;
|
|
6
|
+
private _tooltipTitleContainer;
|
|
7
|
+
private _tooltipTitleSymbol;
|
|
8
|
+
private _tooltipTitle;
|
|
9
|
+
private _tooltipContent;
|
|
10
|
+
static defaultAttributes: Partial<TooltipAttributes>;
|
|
11
|
+
constructor(attributes: TooltipAttributes);
|
|
12
|
+
protected render(): void;
|
|
13
|
+
setAttributes(params: Partial<Required<TooltipAttributes>>, forceUpdateTag?: boolean | undefined): void;
|
|
14
|
+
static calculateTooltipPosition(attribute: Partial<TooltipAttributes>): Partial<TooltipAttributes>;
|
|
15
|
+
static measureTooltip(attribute: Partial<TooltipAttributes>): Partial<TooltipAttributes>;
|
|
16
|
+
static getTitleAttr(attribute: Partial<TooltipAttributes>): TooltipRowAttrs & TooltipRowStyleAttrs;
|
|
17
|
+
static getContentAttr(attribute: Partial<TooltipAttributes>, index: number): TooltipRowAttrs & TooltipRowStyleAttrs;
|
|
18
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.Tooltip = void 0;
|
|
6
|
+
|
|
7
|
+
const vrender_1 = require("@visactor/vrender"), vutils_1 = require("@visactor/vutils"), base_1 = require("../core/base"), text_1 = require("../util/text"), util_1 = require("../util"), util_2 = require("./util"), config_1 = require("./config"), TOOLTIP_BACKGROUND_NAME = "tooltip-background", TOOLTIP_TITLE_NAME = "tooltip-title", TOOLTIP_CONTENT_NAME = "tooltip-content", TOOLTIP_SHAPE_NAME_SUFFIX = "shape", TOOLTIP_KEY_NAME_SUFFIX = "key", TOOLTIP_VALUE_NAME_SUFFIX = "value";
|
|
8
|
+
|
|
9
|
+
class Tooltip extends base_1.AbstractComponent {
|
|
10
|
+
constructor(attributes) {
|
|
11
|
+
super((0, vutils_1.merge)({}, Tooltip.defaultAttributes, attributes)), this.name = "tooltip";
|
|
12
|
+
}
|
|
13
|
+
render() {
|
|
14
|
+
const {visible: visible, content: content, panel: panel, keyWidth: keyWidth, valueWidth: valueWidth, hasContentShape: hasContentShape, autoCalculatePosition: autoCalculatePosition, autoMeasure: autoMeasure} = this.attribute;
|
|
15
|
+
if (!visible) return void this.hideAll();
|
|
16
|
+
autoMeasure && Tooltip.measureTooltip(this.attribute), autoCalculatePosition && Tooltip.calculateTooltipPosition(this.attribute);
|
|
17
|
+
const padding = (0, vutils_1.normalizePadding)(this.attribute.padding);
|
|
18
|
+
this._tooltipPanel = this.createOrUpdateChild("tooltip-background", Object.assign({
|
|
19
|
+
visible: !0
|
|
20
|
+
}, panel), "rect"), this._tooltipTitleContainer = this.createOrUpdateChild("tooltip-title", {
|
|
21
|
+
visible: !0,
|
|
22
|
+
x: padding[3],
|
|
23
|
+
y: padding[0]
|
|
24
|
+
}, "group");
|
|
25
|
+
const titleAttr = Tooltip.getTitleAttr(this.attribute);
|
|
26
|
+
this._tooltipTitleSymbol = this._tooltipTitleContainer.createOrUpdateChild("tooltip-title-shape", (0,
|
|
27
|
+
vutils_1.merge)({
|
|
28
|
+
symbolType: "circle"
|
|
29
|
+
}, titleAttr.shape, {
|
|
30
|
+
visible: (0, util_1.isVisible)(titleAttr) && (0, util_1.isVisible)(titleAttr.shape)
|
|
31
|
+
}), "symbol");
|
|
32
|
+
const titlePaddingLeft = (0, util_1.isVisible)(titleAttr.shape) ? titleAttr.shape.size + titleAttr.shape.spacing : 0;
|
|
33
|
+
this._tooltipTitle = this._tooltipTitleContainer.createOrUpdateChild("tooltip-title-value", (0,
|
|
34
|
+
vutils_1.merge)({
|
|
35
|
+
text: ""
|
|
36
|
+
}, titleAttr.value, {
|
|
37
|
+
visible: (0, util_1.isVisible)(titleAttr) && (0, util_1.isVisible)(titleAttr.value)
|
|
38
|
+
}), "text");
|
|
39
|
+
const {textAlign: textAlign, textBaseline: textBaseline} = titleAttr.value, contentWidth = panel.width - padding[3] - padding[0] - titlePaddingLeft;
|
|
40
|
+
"center" === textAlign ? this._tooltipTitle.setAttribute("x", titlePaddingLeft + contentWidth / 2) : "right" === textAlign || "end" === textAlign ? this._tooltipTitle.setAttribute("x", titlePaddingLeft + contentWidth) : this._tooltipTitle.setAttribute("x", titlePaddingLeft),
|
|
41
|
+
"bottom" === textBaseline ? this._tooltipTitle.setAttribute("y", titleAttr.height) : "middle" === textBaseline ? this._tooltipTitle.setAttribute("y", titleAttr.height / 2) : this._tooltipTitle.setAttribute("y", 0);
|
|
42
|
+
const titleHeight = (0, util_1.isVisible)(titleAttr) ? titleAttr.height + titleAttr.spaceRow : 0;
|
|
43
|
+
if (this._tooltipContent = this.createOrUpdateChild("tooltip-content", {
|
|
44
|
+
visible: !0
|
|
45
|
+
}, "group"), this._tooltipContent.removeAllChild(), null == content ? void 0 : content.length) {
|
|
46
|
+
this._tooltipContent.setAttribute("x", padding[3]), this._tooltipContent.setAttribute("y", padding[0] + titleHeight);
|
|
47
|
+
let lastYPos = 0;
|
|
48
|
+
content.forEach(((item, i) => {
|
|
49
|
+
const itemAttr = Tooltip.getContentAttr(this.attribute, i);
|
|
50
|
+
if (!(0, util_1.isVisible)(itemAttr)) return;
|
|
51
|
+
const itemGroupName = `tooltip-content-${i}`, itemGroup = this._tooltipContent.createOrUpdateChild(itemGroupName, {
|
|
52
|
+
visible: !0,
|
|
53
|
+
x: 0,
|
|
54
|
+
y: lastYPos
|
|
55
|
+
}, "group");
|
|
56
|
+
let x = 0;
|
|
57
|
+
if ((0, util_1.isVisible)(itemAttr.shape)) {
|
|
58
|
+
itemGroup.createOrUpdateChild(`${itemGroupName}-shape`, Object.assign({
|
|
59
|
+
visible: !0
|
|
60
|
+
}, itemAttr.shape), "symbol").setAttribute("y", itemAttr.height / 2);
|
|
61
|
+
}
|
|
62
|
+
if (hasContentShape && (x += itemAttr.shape.size + itemAttr.shape.spacing), (0,
|
|
63
|
+
util_1.isVisible)(itemAttr.key)) {
|
|
64
|
+
const element = itemGroup.createOrUpdateChild(`${itemGroupName}-key`, Object.assign({
|
|
65
|
+
visible: !0
|
|
66
|
+
}, itemAttr.key), "text"), {textAlign: textAlign} = itemAttr.key;
|
|
67
|
+
"center" === textAlign ? element.setAttribute("x", x + keyWidth / 2) : "right" === textAlign || "end" === textAlign ? element.setAttribute("x", x + keyWidth) : element.setAttribute("x", x),
|
|
68
|
+
element.setAttribute("y", itemAttr.height / 2), x += keyWidth + itemAttr.key.spacing;
|
|
69
|
+
}
|
|
70
|
+
if ((0, util_1.isVisible)(itemAttr.value)) {
|
|
71
|
+
const element = itemGroup.createOrUpdateChild(`${itemGroupName}-value`, Object.assign({
|
|
72
|
+
visible: !0
|
|
73
|
+
}, itemAttr.value), "text");
|
|
74
|
+
let textAlign = "right";
|
|
75
|
+
(0, vutils_1.isValid)(itemAttr.value.textAlign) ? textAlign = itemAttr.value.textAlign : (0,
|
|
76
|
+
util_1.isVisible)(itemAttr.key) || (textAlign = "left"), element.setAttribute("textAlign", textAlign),
|
|
77
|
+
"center" === textAlign ? element.setAttribute("x", x + valueWidth / 2) : "right" === textAlign || "end" === textAlign ? element.setAttribute("x", x + valueWidth) : element.setAttribute("x", x),
|
|
78
|
+
x += valueWidth, element.setAttribute("y", itemAttr.height / 2), itemGroup.add(element);
|
|
79
|
+
}
|
|
80
|
+
lastYPos += itemAttr.height + itemAttr.spaceRow;
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
setAttributes(params, forceUpdateTag) {
|
|
85
|
+
const keys = Object.keys(params);
|
|
86
|
+
this.attribute.autoCalculatePosition && keys.every((key => config_1.TOOLTIP_POSITION_ATTRIBUTES.includes(key))) ? (this._mergeAttributes(params, keys),
|
|
87
|
+
(0, vutils_1.isNil)(this.attribute.panel.width) && this.attribute.autoMeasure && Tooltip.measureTooltip(this.attribute),
|
|
88
|
+
Tooltip.calculateTooltipPosition(this.attribute), super.setAttributes({
|
|
89
|
+
x: this.attribute.x,
|
|
90
|
+
y: this.attribute.y
|
|
91
|
+
}, forceUpdateTag)) : super.setAttributes(params, forceUpdateTag);
|
|
92
|
+
}
|
|
93
|
+
static calculateTooltipPosition(attribute) {
|
|
94
|
+
const {width: tooltipBoxWidth = 0, height: tooltipBoxHeight = 0} = attribute.panel, {offsetX: offsetX, offsetY: offsetY, pointerX: pointerX, pointerY: pointerY, positionX: positionX, positionY: positionY, parentBounds: parentBounds} = attribute;
|
|
95
|
+
let x = pointerX, y = pointerY;
|
|
96
|
+
return "left" === positionX ? x -= tooltipBoxWidth + offsetX : "center" === positionX ? x -= tooltipBoxWidth / 2 : x += offsetX,
|
|
97
|
+
"top" === positionY ? y -= tooltipBoxHeight + offsetY : "middle" === positionY ? y -= tooltipBoxHeight / 2 : y += offsetY,
|
|
98
|
+
x + tooltipBoxWidth > parentBounds.x2 && (x -= tooltipBoxWidth + offsetX), y + tooltipBoxHeight > parentBounds.y2 && (y -= tooltipBoxHeight + offsetY),
|
|
99
|
+
x < parentBounds.x1 && (x = parentBounds.x1), y < parentBounds.y1 && (y = parentBounds.y1),
|
|
100
|
+
attribute.x = x, attribute.y = y, attribute;
|
|
101
|
+
}
|
|
102
|
+
static measureTooltip(attribute) {
|
|
103
|
+
const {content: content, contentStyle: contentStyle} = attribute, padding = (0,
|
|
104
|
+
vutils_1.normalizePadding)(attribute.padding), titleAttr = Tooltip.getTitleAttr(attribute);
|
|
105
|
+
let maxWidth = 0, containerHeight = padding[0] + padding[2], titleMaxHeight = 0;
|
|
106
|
+
const {value: titleValue, shape: titleShape} = titleAttr, {visible: titleHasShape = !1, symbolType: titleShapeType = ""} = null != titleShape ? titleShape : {};
|
|
107
|
+
if ((0, vutils_1.isValid)(titleValue)) {
|
|
108
|
+
const {width: width, height: height} = (0, text_1.initTextMeasure)(titleValue).quickMeasure(titleValue.text);
|
|
109
|
+
maxWidth = width, titleMaxHeight = height;
|
|
110
|
+
}
|
|
111
|
+
if (titleHasShape && vrender_1.builtinSymbolsMap[titleShapeType] && (maxWidth += titleShape.size + titleShape.spacing,
|
|
112
|
+
titleMaxHeight = Math.max(titleShape.size, titleMaxHeight)), attribute.title.width = maxWidth,
|
|
113
|
+
attribute.title.height = titleMaxHeight, (0, util_1.isVisible)(titleAttr) && (containerHeight += titleMaxHeight + titleAttr.spaceRow),
|
|
114
|
+
null == content ? void 0 : content.length) {
|
|
115
|
+
const filteredContent = [];
|
|
116
|
+
if (content.forEach(((item, i) => {
|
|
117
|
+
const itemAttr = Tooltip.getContentAttr(attribute, i);
|
|
118
|
+
(item.key || item.value) && (0, util_1.isVisible)(itemAttr) && filteredContent.push([ item, itemAttr ]);
|
|
119
|
+
})), filteredContent.length) {
|
|
120
|
+
let hasContentShape = !1;
|
|
121
|
+
const shapeWidths = [], keyWidths = [], valueWidths = [];
|
|
122
|
+
filteredContent.forEach((([item, itemAttr], i) => {
|
|
123
|
+
var _a;
|
|
124
|
+
const {key: key, value: value, shape: shape, spaceRow: spaceRow} = itemAttr, itemHasShape = (0,
|
|
125
|
+
util_1.isVisible)(shape), itemShapeType = null !== (_a = null == shape ? void 0 : shape.symbolType) && void 0 !== _a ? _a : "", keyTextMeasure = (0,
|
|
126
|
+
text_1.initTextMeasure)(key), valueTextMeasure = (0, text_1.initTextMeasure)(value);
|
|
127
|
+
let itemHeight = 0;
|
|
128
|
+
if ((0, util_1.isVisible)(key)) {
|
|
129
|
+
const {width: width, height: height} = keyTextMeasure.quickMeasure(key.text);
|
|
130
|
+
keyWidths.push(width), itemHeight = Math.max(itemHeight, height);
|
|
131
|
+
}
|
|
132
|
+
if ((0, util_1.isVisible)(value)) {
|
|
133
|
+
const {width: width, height: height} = valueTextMeasure.quickMeasure(value.text);
|
|
134
|
+
valueWidths.push(width), itemHeight = Math.max(itemHeight, height);
|
|
135
|
+
}
|
|
136
|
+
itemHasShape && vrender_1.builtinSymbolsMap[itemShapeType] && (hasContentShape = !0,
|
|
137
|
+
shapeWidths.push(shape.size), itemHeight = Math.max(shape.size, itemHeight)), item.height = itemHeight,
|
|
138
|
+
containerHeight += itemHeight, i < filteredContent.length - 1 && (containerHeight += null != spaceRow ? spaceRow : contentStyle.spaceRow);
|
|
139
|
+
}));
|
|
140
|
+
const maxShapeWidth = shapeWidths.length ? Math.max(...shapeWidths) : 0, maxKeyWidth = keyWidths.length ? Math.max(...keyWidths) : 0, maxValueWidth = valueWidths.length ? Math.max(...valueWidths) : 0;
|
|
141
|
+
maxWidth = Math.max(maxKeyWidth + maxValueWidth + contentStyle.key.spacing + contentStyle.value.spacing + (hasContentShape ? maxShapeWidth + contentStyle.shape.spacing : 0), maxWidth),
|
|
142
|
+
content.forEach((item => {
|
|
143
|
+
item.width = maxWidth;
|
|
144
|
+
})), attribute.hasContentShape = hasContentShape, attribute.keyWidth = maxKeyWidth,
|
|
145
|
+
attribute.valueWidth = maxValueWidth;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return attribute.panel.width = maxWidth + padding[1] + padding[3], attribute.panel.height = containerHeight,
|
|
149
|
+
attribute;
|
|
150
|
+
}
|
|
151
|
+
static getTitleAttr(attribute) {
|
|
152
|
+
return (0, util_2.mergeRowAttrs)({}, Tooltip.defaultAttributes.titleStyle, Tooltip.defaultAttributes.title, attribute.titleStyle, attribute.title);
|
|
153
|
+
}
|
|
154
|
+
static getContentAttr(attribute, index) {
|
|
155
|
+
return (0, util_2.mergeRowAttrs)({}, Tooltip.defaultAttributes.contentStyle, attribute.contentStyle, attribute.content[index]);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
exports.Tooltip = Tooltip, Tooltip.defaultAttributes = config_1.defaultAttributes;
|
|
160
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tooltip/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["/**\n * @description 标题组件\n */\nimport { IGroup, IText, IRect, ISymbol, builtinSymbolsMap } from '@visactor/vrender';\nimport { merge, isValid, normalizePadding, isNil } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport { initTextMeasure } from '../util/text';\nimport { isVisible } from '../util';\nimport { TooltipAttributes, TooltipRowAttrs, TooltipRowStyleAttrs } from './type';\nimport { mergeRowAttrs } from './util';\nimport { defaultAttributes, TOOLTIP_POSITION_ATTRIBUTES } from './config';\n\nconst TOOLTIP_BACKGROUND_NAME = 'tooltip-background';\nconst TOOLTIP_TITLE_NAME = 'tooltip-title';\nconst TOOLTIP_CONTENT_NAME = 'tooltip-content';\n\nconst TOOLTIP_SHAPE_NAME_SUFFIX = 'shape';\nconst TOOLTIP_KEY_NAME_SUFFIX = 'key';\nconst TOOLTIP_VALUE_NAME_SUFFIX = 'value';\n\nexport class Tooltip extends AbstractComponent<Required<TooltipAttributes>> {\n name = 'tooltip';\n\n // tooltip 背景\n private _tooltipPanel!: IRect;\n // tooltip title 容器\n private _tooltipTitleContainer!: IGroup;\n // tooltip title shape\n private _tooltipTitleSymbol!: ISymbol;\n // tooltip title 文本\n private _tooltipTitle!: IText;\n // tooltip 内容项容器\n private _tooltipContent!: IGroup;\n\n static defaultAttributes: Partial<TooltipAttributes> = defaultAttributes;\n\n constructor(attributes: TooltipAttributes) {\n super(merge({}, Tooltip.defaultAttributes, attributes));\n }\n\n protected render() {\n const { visible, content, panel, keyWidth, valueWidth, hasContentShape, autoCalculatePosition, autoMeasure } =\n this.attribute;\n\n if (!visible) {\n this.hideAll();\n return;\n }\n\n if (autoMeasure) {\n Tooltip.measureTooltip(this.attribute);\n }\n if (autoCalculatePosition) {\n Tooltip.calculateTooltipPosition(this.attribute);\n }\n\n const padding = normalizePadding(this.attribute.padding);\n\n // 创建背景层\n this._tooltipPanel = this.createOrUpdateChild(\n TOOLTIP_BACKGROUND_NAME,\n {\n visible: true,\n ...panel\n },\n 'rect'\n ) as IRect;\n\n // 创建标题层\n this._tooltipTitleContainer = this.createOrUpdateChild(\n TOOLTIP_TITLE_NAME,\n { visible: true, x: padding[3], y: padding[0] },\n 'group'\n ) as IGroup;\n\n // 合并样式\n const titleAttr = Tooltip.getTitleAttr(this.attribute);\n\n // 创建标题 shape\n // 创建 symbol\n this._tooltipTitleSymbol = this._tooltipTitleContainer.createOrUpdateChild(\n `${TOOLTIP_TITLE_NAME}-${TOOLTIP_SHAPE_NAME_SUFFIX}`,\n merge({ symbolType: 'circle' }, titleAttr.shape, {\n visible: isVisible(titleAttr) && isVisible(titleAttr.shape)\n }),\n 'symbol'\n ) as ISymbol;\n\n // 文本\n const titlePaddingLeft = isVisible(titleAttr.shape) ? titleAttr.shape.size + titleAttr.shape.spacing : 0;\n this._tooltipTitle = this._tooltipTitleContainer.createOrUpdateChild(\n `${TOOLTIP_TITLE_NAME}-${TOOLTIP_VALUE_NAME_SUFFIX}`,\n merge({ text: '' }, titleAttr.value, {\n visible: isVisible(titleAttr) && isVisible(titleAttr.value)\n }),\n 'text'\n ) as IText;\n\n // 调整标题的位置\n const { textAlign, textBaseline } = titleAttr.value;\n const contentWidth = panel.width - padding[3] - padding[0] - titlePaddingLeft;\n if (textAlign === 'center') {\n this._tooltipTitle.setAttribute('x', titlePaddingLeft + contentWidth / 2);\n } else if (textAlign === 'right' || textAlign === 'end') {\n // 右对齐\n this._tooltipTitle.setAttribute('x', titlePaddingLeft + contentWidth);\n } else {\n // 默认左对齐\n this._tooltipTitle.setAttribute('x', titlePaddingLeft);\n }\n if (textBaseline === 'bottom') {\n this._tooltipTitle.setAttribute('y', titleAttr.height);\n } else if (textBaseline === 'middle') {\n this._tooltipTitle.setAttribute('y', titleAttr.height / 2);\n } else {\n this._tooltipTitle.setAttribute('y', 0);\n }\n const titleHeight = isVisible(titleAttr) ? titleAttr.height + titleAttr.spaceRow : 0;\n\n // 创建内容层\n this._tooltipContent = this.createOrUpdateChild(TOOLTIP_CONTENT_NAME, { visible: true }, 'group') as IGroup;\n this._tooltipContent.removeAllChild(); // 清空内容区\n\n if (content?.length) {\n this._tooltipContent.setAttribute('x', padding[3]);\n this._tooltipContent.setAttribute('y', padding[0] + titleHeight);\n\n let lastYPos = 0;\n content.forEach((item, i) => {\n // 合并样式\n const itemAttr = Tooltip.getContentAttr(this.attribute, i);\n\n if (!isVisible(itemAttr)) {\n return;\n }\n\n const itemGroupName = `${TOOLTIP_CONTENT_NAME}-${i}`;\n const itemGroup = this._tooltipContent.createOrUpdateChild(\n itemGroupName,\n { visible: true, x: 0, y: lastYPos },\n 'group'\n ) as IGroup;\n\n let x = 0;\n if (isVisible(itemAttr.shape)) {\n // 存在 symbol\n const element = itemGroup.createOrUpdateChild(\n `${itemGroupName}-${TOOLTIP_SHAPE_NAME_SUFFIX}`,\n {\n visible: true,\n ...itemAttr.shape\n },\n 'symbol'\n ) as ISymbol;\n // shape.setAttribute('x', itemAttr.shape.size / 2);\n element.setAttribute('y', itemAttr.height / 2);\n }\n if (hasContentShape) {\n x += itemAttr.shape.size + itemAttr.shape.spacing;\n }\n\n if (isVisible(itemAttr.key)) {\n const element = itemGroup.createOrUpdateChild(\n `${itemGroupName}-${TOOLTIP_KEY_NAME_SUFFIX}`,\n {\n visible: true,\n ...itemAttr.key\n },\n 'text'\n ) as IText;\n\n const { textAlign } = itemAttr.key;\n if (textAlign === 'center') {\n element.setAttribute('x', x + keyWidth / 2);\n } else if (textAlign === 'right' || textAlign === 'end') {\n // 右对齐\n element.setAttribute('x', x + keyWidth);\n } else {\n // 默认左对齐\n element.setAttribute('x', x);\n }\n\n element.setAttribute('y', itemAttr.height / 2);\n x += keyWidth + itemAttr.key.spacing;\n }\n\n if (isVisible(itemAttr.value)) {\n const element = itemGroup.createOrUpdateChild(\n `${itemGroupName}-${TOOLTIP_VALUE_NAME_SUFFIX}`,\n {\n visible: true,\n ...itemAttr.value\n },\n 'text'\n ) as IText;\n\n let textAlign = 'right';\n if (isValid(itemAttr.value.textAlign)) {\n textAlign = itemAttr.value.textAlign;\n } else if (!isVisible(itemAttr.key)) {\n textAlign = 'left';\n }\n element.setAttribute('textAlign', textAlign);\n\n if (textAlign === 'center') {\n element.setAttribute('x', x + valueWidth / 2);\n } else if (textAlign === 'right' || textAlign === 'end') {\n // 右对齐\n element.setAttribute('x', x + valueWidth);\n } else {\n // 默认左对齐\n element.setAttribute('x', x);\n }\n x += valueWidth;\n\n element.setAttribute('y', itemAttr.height / 2);\n\n itemGroup.add(element);\n }\n\n lastYPos += itemAttr.height + itemAttr.spaceRow;\n });\n }\n }\n\n setAttributes(params: Partial<Required<TooltipAttributes>>, forceUpdateTag?: boolean | undefined): void {\n const keys = Object.keys(params) as (keyof TooltipAttributes)[];\n // 优化:只更改 tooltip 位置\n if (this.attribute.autoCalculatePosition && keys.every(key => TOOLTIP_POSITION_ATTRIBUTES.includes(key))) {\n this._mergeAttributes(params, keys);\n // 计算 x y\n if (isNil(this.attribute.panel.width) && this.attribute.autoMeasure) {\n Tooltip.measureTooltip(this.attribute);\n }\n Tooltip.calculateTooltipPosition(this.attribute);\n // 应用 x y\n super.setAttributes(\n {\n x: this.attribute.x,\n y: this.attribute.y\n },\n forceUpdateTag\n );\n } else {\n super.setAttributes(params, forceUpdateTag);\n }\n }\n\n static calculateTooltipPosition(attribute: Partial<TooltipAttributes>): Partial<TooltipAttributes> {\n const { width: tooltipBoxWidth = 0, height: tooltipBoxHeight = 0 } = attribute.panel;\n\n const { offsetX, offsetY, pointerX, pointerY, positionX, positionY, parentBounds } = attribute;\n\n let x = pointerX;\n let y = pointerY;\n if (positionX === 'left') {\n x -= tooltipBoxWidth + offsetX;\n } else if (positionX === 'center') {\n x -= tooltipBoxWidth / 2;\n } else {\n x += offsetX;\n }\n if (positionY === 'top') {\n y -= tooltipBoxHeight + offsetY;\n } else if (positionY === 'middle') {\n y -= tooltipBoxHeight / 2;\n } else {\n y += offsetY;\n }\n\n /* 确保tooltip在视区内 */\n if (x + tooltipBoxWidth > parentBounds.x2) {\n // 位置不超出视区右界\n x -= tooltipBoxWidth + offsetX;\n }\n if (y + tooltipBoxHeight > parentBounds.y2) {\n // 位置不超出视区下界\n y -= tooltipBoxHeight + offsetY;\n }\n if (x < parentBounds.x1) {\n // 位置不超出视区左界\n x = parentBounds.x1;\n }\n if (y < parentBounds.y1) {\n // 位置不超出视区上界\n y = parentBounds.y1;\n }\n\n attribute.x = x;\n attribute.y = y;\n\n return attribute;\n }\n\n static measureTooltip(attribute: Partial<TooltipAttributes>): Partial<TooltipAttributes> {\n const { content, contentStyle } = attribute;\n const padding = normalizePadding(attribute.padding);\n // 合并样式\n const titleAttr = Tooltip.getTitleAttr(attribute);\n\n let maxWidth = 0;\n let containerHeight = padding[0] + padding[2];\n\n // calculate title\n let titleMaxHeight = 0;\n const { value: titleValue, shape: titleShape } = titleAttr;\n const { visible: titleHasShape = false, symbolType: titleShapeType = '' } = titleShape ?? {};\n\n if (isValid(titleValue)) {\n const { width, height } = initTextMeasure(titleValue).quickMeasure(titleValue.text);\n maxWidth = width;\n titleMaxHeight = height;\n }\n if (titleHasShape && builtinSymbolsMap[titleShapeType]) {\n maxWidth += titleShape.size + titleShape.spacing;\n titleMaxHeight = Math.max(titleShape.size, titleMaxHeight);\n }\n\n attribute.title.width = maxWidth;\n attribute.title.height = titleMaxHeight;\n\n if (isVisible(titleAttr)) {\n containerHeight += titleMaxHeight + titleAttr.spaceRow;\n }\n\n // calculate content\n if (content?.length) {\n // filter content\n const filteredContent: [TooltipRowAttrs, TooltipRowAttrs][] = [];\n content.forEach((item, i) => {\n // 合并样式\n const itemAttr = Tooltip.getContentAttr(attribute, i);\n if ((item.key || item.value) && isVisible(itemAttr)) {\n filteredContent.push([item, itemAttr]);\n }\n });\n\n if (filteredContent.length) {\n let hasContentShape = false;\n const shapeWidths: number[] = [];\n const keyWidths: number[] = [];\n const valueWidths: number[] = [];\n\n filteredContent.forEach(([item, itemAttr], i) => {\n const { key, value, shape, spaceRow } = itemAttr;\n const itemHasShape = isVisible(shape);\n const itemShapeType = shape?.symbolType ?? '';\n\n const keyTextMeasure = initTextMeasure(key);\n const valueTextMeasure = initTextMeasure(value);\n\n let itemHeight = 0;\n if (isVisible(key)) {\n const { width, height } = keyTextMeasure.quickMeasure(key.text);\n keyWidths.push(width);\n itemHeight = Math.max(itemHeight, height);\n }\n if (isVisible(value)) {\n const { width, height } = valueTextMeasure.quickMeasure(value.text);\n valueWidths.push(width);\n itemHeight = Math.max(itemHeight, height);\n }\n if (itemHasShape && builtinSymbolsMap[itemShapeType]) {\n hasContentShape = true;\n shapeWidths.push(shape.size);\n itemHeight = Math.max(shape.size, itemHeight);\n }\n\n item.height = itemHeight;\n containerHeight += itemHeight;\n if (i < filteredContent.length - 1) {\n containerHeight += spaceRow ?? contentStyle.spaceRow;\n }\n });\n\n const maxShapeWidth = shapeWidths.length ? Math.max(...shapeWidths) : 0; // shape 需要对齐\n const maxKeyWidth = keyWidths.length ? Math.max(...keyWidths) : 0; // name 需要对齐\n const maxValueWidth = valueWidths.length ? Math.max(...valueWidths) : 0; // value 需要对齐\n maxWidth = Math.max(\n maxKeyWidth +\n maxValueWidth +\n contentStyle.key.spacing +\n contentStyle.value.spacing +\n (hasContentShape ? maxShapeWidth + contentStyle.shape.spacing : 0),\n maxWidth\n );\n content.forEach(item => {\n item.width = maxWidth;\n });\n attribute.hasContentShape = hasContentShape;\n attribute.keyWidth = maxKeyWidth;\n attribute.valueWidth = maxValueWidth;\n }\n }\n\n attribute.panel.width = maxWidth + padding[1] + padding[3];\n attribute.panel.height = containerHeight;\n\n return attribute;\n }\n\n static getTitleAttr(attribute: Partial<TooltipAttributes>): TooltipRowAttrs & TooltipRowStyleAttrs {\n return mergeRowAttrs(\n {},\n Tooltip.defaultAttributes.titleStyle,\n Tooltip.defaultAttributes.title,\n attribute.titleStyle,\n attribute.title\n );\n }\n\n static getContentAttr(attribute: Partial<TooltipAttributes>, index: number): TooltipRowAttrs & TooltipRowStyleAttrs {\n return mergeRowAttrs({}, Tooltip.defaultAttributes.contentStyle, attribute.contentStyle, attribute.content[index]);\n }\n}\n"]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { IGraphicAttribute, IGroupGraphicAttribute, IRectGraphicAttribute, ITextAttribute } from '@visactor/vrender';
|
|
2
|
+
import { IBounds, IPadding } from '@visactor/vutils';
|
|
3
|
+
export interface IContainerSize {
|
|
4
|
+
width?: number;
|
|
5
|
+
height?: number;
|
|
6
|
+
}
|
|
7
|
+
export type TooltipAttributes = IGroupGraphicAttribute & TooltipComponentAttrs;
|
|
8
|
+
export type TooltipComponentAttrs = TooltipPositionAttrs & {
|
|
9
|
+
panel?: TooltipPanelAttrs;
|
|
10
|
+
title?: TooltipRowAttrs;
|
|
11
|
+
content?: TooltipRowAttrs[];
|
|
12
|
+
titleStyle?: TooltipRowStyleAttrs;
|
|
13
|
+
contentStyle?: TooltipRowStyleAttrs;
|
|
14
|
+
autoMeasure?: boolean;
|
|
15
|
+
autoCalculatePosition?: boolean;
|
|
16
|
+
padding?: number | number[] | IPadding;
|
|
17
|
+
minWidth?: number;
|
|
18
|
+
maxWidth?: number;
|
|
19
|
+
enterable?: boolean;
|
|
20
|
+
transitionDuration?: number;
|
|
21
|
+
hasContentShape?: boolean;
|
|
22
|
+
keyWidth?: number;
|
|
23
|
+
valueWidth?: number;
|
|
24
|
+
};
|
|
25
|
+
export type TooltipTextAttrs = Partial<ITextAttribute & IGraphicAttribute>;
|
|
26
|
+
export type TooltipSymbolAttrs = Partial<IGraphicAttribute> & {
|
|
27
|
+
path?: string;
|
|
28
|
+
size?: number;
|
|
29
|
+
symbolType?: string;
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
};
|
|
32
|
+
export type TooltipPanelAttrs = Partial<IRectGraphicAttribute> & {
|
|
33
|
+
shadow?: boolean;
|
|
34
|
+
shadowSpread?: number;
|
|
35
|
+
};
|
|
36
|
+
export type TooltipRowAttrs = IContainerSize & {
|
|
37
|
+
visible?: boolean;
|
|
38
|
+
key?: TooltipTextAttrs;
|
|
39
|
+
value?: TooltipTextAttrs;
|
|
40
|
+
shape?: TooltipSymbolAttrs;
|
|
41
|
+
spaceRow?: number;
|
|
42
|
+
};
|
|
43
|
+
export type TooltipRowStyleAttrs = {
|
|
44
|
+
key?: Omit<TooltipTextAttrs, 'text'> & TooltipColumnStyleAttrs;
|
|
45
|
+
value?: Omit<TooltipTextAttrs, 'text'> & TooltipColumnStyleAttrs;
|
|
46
|
+
shape?: TooltipSymbolAttrs & TooltipColumnStyleAttrs;
|
|
47
|
+
spaceRow?: number;
|
|
48
|
+
};
|
|
49
|
+
export type TooltipColumnStyleAttrs = {
|
|
50
|
+
spacing?: number;
|
|
51
|
+
};
|
|
52
|
+
export type TooltipPositionAttrs = {
|
|
53
|
+
pointerX?: number;
|
|
54
|
+
pointerY?: number;
|
|
55
|
+
offsetX?: number;
|
|
56
|
+
offsetY?: number;
|
|
57
|
+
positionX?: 'left' | 'right' | 'center';
|
|
58
|
+
positionY?: 'top' | 'bottom' | 'middle';
|
|
59
|
+
parentBounds?: IBounds;
|
|
60
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tooltip/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type {\n IGraphicAttribute,\n IGroupGraphicAttribute,\n IRectGraphicAttribute,\n ITextAttribute\n} from '@visactor/vrender';\nimport { IBounds, IPadding } from '@visactor/vutils';\n\nexport interface IContainerSize {\n width?: number;\n height?: number;\n}\n\nexport type TooltipAttributes = IGroupGraphicAttribute & TooltipComponentAttrs;\n\nexport type TooltipComponentAttrs = TooltipPositionAttrs & {\n /** tooltip 背景 */\n panel?: TooltipPanelAttrs;\n\n /** tooltip 标题 */\n title?: TooltipRowAttrs;\n /** tooltip 内容 */\n content?: TooltipRowAttrs[];\n\n /** 标题样式 */\n titleStyle?: TooltipRowStyleAttrs;\n /** 内容样式 */\n contentStyle?: TooltipRowStyleAttrs;\n\n /** 是否自动计算 tooltip 大小 */\n autoMeasure?: boolean;\n\n /** 是否自动计算 tooltip 位置 */\n autoCalculatePosition?: boolean;\n\n /** 整体边距 */\n padding?: number | number[] | IPadding;\n\n /** 最小宽度 */\n minWidth?: number;\n /** 最大宽度 */\n maxWidth?: number;\n\n /** 是否可交互 */\n enterable?: boolean;\n\n /** 缓动 duration */\n transitionDuration?: number;\n\n // 以下为组件自动计算的属性\n /** 内容项是否有 shape */\n hasContentShape?: boolean;\n /** 内容项 key 的最大宽度,用于布局,因为 key 需要按照列对齐 */\n keyWidth?: number;\n /** 内容项 value 的最大宽度,用于布局,因为 value 需要按照列对齐 */\n valueWidth?: number;\n};\n\n/** tooltip 文本样式 */\nexport type TooltipTextAttrs = Partial<ITextAttribute & IGraphicAttribute>;\n\n/** tooltip symbol 样式 */\nexport type TooltipSymbolAttrs = Partial<IGraphicAttribute> & {\n /** 图形 path */\n path?: string;\n size?: number;\n symbolType?: string;\n /** 其他图形样式,暂时这么处理 */\n [key: string]: any;\n};\n\n/** tooltip 背景样式 */\nexport type TooltipPanelAttrs = Partial<IRectGraphicAttribute> & {\n shadow?: boolean;\n shadowSpread?: number;\n};\n\n/** tooltip 内容行配置 */\nexport type TooltipRowAttrs = IContainerSize & {\n visible?: boolean;\n /** key 对应图形样式(title 没有这个属性) */\n key?: TooltipTextAttrs;\n /** value 对应图形样式 */\n value?: TooltipTextAttrs;\n /** shape 对应图形样式 */\n shape?: TooltipSymbolAttrs;\n /** 行间距 */\n spaceRow?: number;\n};\n\n/** tooltip 内容行样式 */\nexport type TooltipRowStyleAttrs = {\n /** key 对应图形样式(title 没有这个属性) */\n key?: Omit<TooltipTextAttrs, 'text'> & TooltipColumnStyleAttrs;\n /** value 对应图形样式 */\n value?: Omit<TooltipTextAttrs, 'text'> & TooltipColumnStyleAttrs;\n /** shape 对应图形样式 */\n shape?: TooltipSymbolAttrs & TooltipColumnStyleAttrs;\n /** 行间距 */\n spaceRow?: number;\n};\n\nexport type TooltipColumnStyleAttrs = {\n /** 右边距 */\n spacing?: number;\n};\n\nexport type TooltipPositionAttrs = {\n /** 光标位置 x */\n pointerX?: number;\n /** 光标位置 y */\n pointerY?: number;\n\n /** tooltip 偏移 x */\n offsetX?: number;\n /** tooltip 偏移 y */\n offsetY?: number;\n\n /** tooltip 相对 pointer 位置(x 轴) */\n positionX?: 'left' | 'right' | 'center';\n /** tooltip 相对 pointer 位置(y 轴) */\n positionY?: 'top' | 'bottom' | 'middle';\n\n /** 父级 bounds */\n parentBounds?: IBounds;\n};\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.mergeRowAttrs = void 0;
|
|
6
|
+
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), mergeRowAttrs = (target, ...sources) => {
|
|
8
|
+
const shapeList = [ target.shape, ...sources.map((s => null == s ? void 0 : s.shape)) ], keyList = [ target.key, ...sources.map((s => null == s ? void 0 : s.key)) ], valueList = [ target.value, ...sources.map((s => null == s ? void 0 : s.value)) ];
|
|
9
|
+
return (0, vutils_1.merge)(target, ...sources, {
|
|
10
|
+
shape: shapeList.every(vutils_1.isNil) ? void 0 : (0, vutils_1.merge)({}, ...shapeList),
|
|
11
|
+
key: keyList.every(vutils_1.isNil) ? void 0 : (0, vutils_1.merge)({}, ...keyList),
|
|
12
|
+
value: valueList.every(vutils_1.isNil) ? void 0 : (0, vutils_1.merge)({}, ...valueList)
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.mergeRowAttrs = mergeRowAttrs;
|
|
17
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tooltip/util.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAGzC,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,IAAA,cAAK,EAAC,MAAM,EAAE,GAAG,OAAO,EAAE;QAC/B,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,cAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,EAAE,GAAG,SAAS,CAAC;QACnE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,cAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,EAAE,GAAG,OAAO,CAAC;QAC7D,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,cAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,EAAE,GAAG,SAAS,CAAC;KACpE,CAA2C,CAAC;AAC/C,CAAC,CAAC;AAbW,QAAA,aAAa,iBAaxB","file":"util.js","sourcesContent":["import { isNil, merge } from '@visactor/vutils';\nimport { TooltipRowAttrs, TooltipRowStyleAttrs } from './type';\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"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.isVisible = exports.traverseGroup = void 0;
|
|
6
|
+
|
|
7
|
+
const vutils_1 = require("@visactor/vutils");
|
|
8
|
+
|
|
9
|
+
function traverseGroup(group, cb) {
|
|
10
|
+
group.forEachChildren((node => {
|
|
11
|
+
const stopped = cb(node);
|
|
12
|
+
node.isContainer && !stopped && traverseGroup(node, cb);
|
|
13
|
+
}));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
exports.traverseGroup = traverseGroup;
|
|
17
|
+
|
|
18
|
+
const isVisible = obj => !(0, vutils_1.isNil)(obj) && !1 !== obj.visible;
|
|
19
|
+
|
|
20
|
+
exports.isVisible = isVisible;
|
|
21
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/util/common.ts"],"names":[],"mappings":";;;AAIA,6CAAyC;AAEzC,SAAgB,aAAa,CAAC,KAAe,EAAE,EAAsC;IACnF,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,IAAgB,CAAC,CAAC;QACrC,IAAK,IAAe,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE;YAC5C,aAAa,CAAC,IAAgB,EAAE,EAAE,CAAC,CAAC;SACrC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,sCAOC;AAEM,MAAM,SAAS,GAAG,CAAC,GAAgC,EAAW,EAAE;IACrE,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IACD,OAAO,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC;AAC/B,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB","file":"common.js","sourcesContent":["/**\n * @description 存放工具函数\n */\nimport { IGraphicAttribute, IGraphic, IGroup } from '@visactor/vrender';\nimport { isNil } from '@visactor/vutils';\n\nexport function traverseGroup(group: IGraphic, cb: (node: IGraphic) => boolean | void) {\n group.forEachChildren(node => {\n const stopped = cb(node as IGraphic);\n if ((node as IGroup).isContainer && !stopped) {\n traverseGroup(node as IGraphic, cb);\n }\n });\n}\n\nexport const isVisible = (obj?: Partial<IGraphicAttribute>): boolean => {\n if (isNil(obj)) {\n return false;\n }\n return obj.visible !== false;\n};\n"]}
|