UNPKG

highcharts

Version:
11 lines 19.8 kB
!/** * Highcharts JS v12.6.0 (2026-04-13) * @module highcharts/modules/draggable-points * @requires highcharts * * (c) 2009-2026 Highsoft AS * Author: Torstein Hønsi * * A commercial license may be required depending on use. * See www.highcharts.com/license */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/draggable-points",["highcharts/highcharts"],function(e){return t(e)}):"object"==typeof exports?exports["highcharts/modules/draggable-points"]=t(e._Highcharts):e.Highcharts=t(e.Highcharts)}("u"<typeof window?this:window,e=>(()=>{"use strict";var t={944:t=>{t.exports=e}},r={};function o(e){var a=r[e];if(void 0!==a)return a.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var a={};o.d(a,{default:()=>en});var i=o(944),n=o.n(i);let{doc:s,win:d}=n();function l(e,t,r,o={}){let a="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(a,"hcEvents")||(a.hcEvents={});let i=a.hcEvents;n().Point&&e instanceof n().Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let s=e.addEventListener;s&&s.call(e,t,r,!!n().supportsPassiveEvents&&{passive:void 0===o.passive?-1!==t.indexOf("touch"):o.passive,capture:!1}),i[t]||(i[t]=[]);let d={fn:r,order:"number"==typeof o.order?o.order:1/0};return i[t].push(d),i[t].sort((e,t)=>e.order-t.order),function(){!function(e,t,r){function o(t,r){let o=e.removeEventListener;o&&o.call(e,t,r,!1)}function a(r){let a,i;e.nodeName&&(t?(a={})[t]=!0:a=r,x(a,function(e,t){if(r[t])for(i=r[t].length;i--;)o(t,r[t][i].fn)}))}let i="function"==typeof e&&e.prototype||e;if(Object.hasOwnProperty.call(i,"hcEvents")){let e=i.hcEvents;if(t){let i=e[t]||[];r?(e[t]=i.filter(function(e){return r!==e.fn}),o(t,r)):(a(e),e[t]=[])}else a(e),delete i.hcEvents}}(e,t,r)}}function p(e){return c(e)&&"number"==typeof e.nodeType}function g(e){return"number"==typeof e&&!isNaN(e)&&e<1/0&&e>-1/0}function h(e){let t=Object.prototype.toString.call(e);return"[object Array]"===t||"[object Array Iterator]"===t}function c(e,t){return!!e&&"object"==typeof e&&(!t||!h(e))}function u(e,...t){let r,o=[e,...t],a={},i=function(e,t){return"object"!=typeof e&&(e={}),x(t,function(r,o){if("__proto__"!==o&&"constructor"!==o){let a;!c(r,!0)||(a=r?.constructor,c(r,!0)&&!p(r)&&a?.name&&"Object"!==a.name)||p(r)?e[o]=t[o]:e[o]=i(e[o]||{},r)}}),e};!0===e&&(a=o[1],o=Array.prototype.slice.call(o,2));let n=o.length;for(r=0;r<n;r++)a=i(a,o[r]);return a}function x(e,t,r){for(let o in e)Object.hasOwnProperty.call(e,o)&&t.call(r||e[o],e[o],o,e)}Array.prototype.find;let m={addEvents:function(e,t,r,o){let a=t.map(t=>l(e,t,r,o));return function(){for(let e of a)e()}},countProps:function(e){return Object.keys(e).length},getFirstProp:function(e){for(let t in e)if(Object.hasOwnProperty.call(e,t))return e[t]},getNormalizedEvent:function(e,t){return(void 0===e.chartX||void 0===e.chartY)&&t.pointer?.normalize(e)||e}},f={className:"highcharts-drag-handle",color:"#fff",lineColor:"rgba(0, 0, 0, 0.6)",lineWidth:1,zIndex:901},y={default:{className:"highcharts-drag-box-default",lineWidth:1,lineColor:"#888",color:"rgba(0, 0, 0, 0.1)",cursor:"move",zIndex:900}},{animObject:v}=n(),{addEvents:D,countProps:P,getFirstProp:b,getNormalizedEvent:w}=m,{doc:z}=n();function A(){let e=this.dragHandles||{};if(e){for(let t of Object.keys(e))e[t].destroy&&e[t].destroy();delete this.dragHandles}}function N(e,t){let r=this.dragGuideBox,o=u(y,t),a=u(o.default,o[e]);return r.attr({class:a.className,stroke:a.lineColor,strokeWidth:a.lineWidth,fill:a.color,cursor:a.cursor,zIndex:a.zIndex}).css({pointerEvents:"none"})}function H(e){let t=this.options.chart||{},r=t.panKey&&t.panKey+"Key";return e[this.zooming.key&&this.zooming.key+"Key"]||e[r]}function S(e){return({left:"right",right:"left",top:"bottom",bottom:"top"})[e]}function B(e,t){let r,o=function(e){let t=e.series,r=t.options.data||[],o=t.options.dragDrop.groupBy,a=[];if(t.boosted&&h(r))for(let e=0,o=r.length;e<o;++e)a.push(new t.pointClass(t,r[e])),a[a.length-1].index=e;else a=t.points;return e.options[o]?a.filter(t=>t.options[o]===e.options[o]):[e]}(t),a=t.series,i=a.chart;(a.options.dragDrop?.liveRedraw??!0)||(i.dragGuideBox=r=a.getGuideBox(o),i.setGuideBoxState("default",a.options.dragDrop?.guideBox).add(a.group)),i.dragDropData={origin:function(e,t,r){let o={chartX:e.chartX,chartY:e.chartY,guideBox:r&&{x:r.attr("x"),y:r.attr("y"),width:r.attr("width"),height:r.attr("height")},points:{}};for(let r of t){let t=r.series.dragDropProps||{},a={};for(let o of Object.keys(t)){let i=t[o],n=r.series[i.axis+"Axis"];a[o]=r[o],r.series.chart.mapView&&r.plotX&&r.plotY?a[o+"Offset"]="x"===o?r.plotX:r.plotY:a[o+"Offset"]=n.toPixels(r[o])-(n.horiz?e.chartX:e.chartY)}a.point=r,o.points[r.id]=a}return o}(e,o,r),point:t,groupedPoints:o,isDragging:!0}}function O(e,t){let r=t.dragDropData;if(r&&r.isDragging&&r.draggedPastSensitivity&&r.point.series){let o=r.point,a=r.newPoints,i=P(a),n=1===i?b(a):null;t.dragHandles&&t.hideDragHandles(),e.preventDefault(),t.cancelClick=!0,o.firePointEvent("drop",{origin:r.origin,chartX:e.chartX,chartY:e.chartY,newPoints:a,numNewPoints:i,newPoint:n&&n.newValues,newPointId:n&&n.point.id},function(){V(t)})}delete t.dragDropData,t.dragGuideBox&&(t.dragGuideBox.destroy(),delete t.dragGuideBox)}function F(){var e;let t;!this.hasAddedDragDropEvents&&(e=this,t=e.container,function(e){let t=e.series?e.series.length:0;if(e.hasCartesianSeries&&!e.polar||e.mapView){for(;t--;)if(e.series[t].options.dragDrop&&function(e){let t,r=["draggableX","draggableY"],o=e.dragDropProps||{};for(let e of Object.keys(o))(t=o[e]).optionName&&r.push(t.optionName);let a=r.length;for(;a--;)if(e.options.dragDrop[r[a]])return!0}(e.series[t]))return!0}return!1}(e)&&(D(t,["mousedown","touchstart"],t=>{!function(e,t){let r=t.hoverPoint,o=u(r&&r.series.options.dragDrop,r&&r.options.dragDrop),a=o.draggableX||!1,i=o.draggableY||!1;if(t.cancelClick=!1,!(!(a||i)||t.zoomOrPanKeyPressed(e))&&!t.hasDraggedAnnotation){if(t.dragDropData&&t.dragDropData.isDragging)return O(e,t);r&&function(e){let t,r,o,a=e.series,i=a.chart,n=a.options.dragDrop||{},s=e.options&&e.options.dragDrop,d=a.dragDropProps;for(let e in d)"x"===(t=d[e]).axis&&t.move?r=!0:"y"===t.axis&&t.move&&(o=!0);return(n.draggableX&&r||n.draggableY&&o)&&!(s&&!1===s.draggableX&&!1===s.draggableY)&&(!!(a.yAxis&&a.xAxis)||i.mapView)}(r)&&(t.mouseIsDown=!1,B(e,r),r.firePointEvent("dragStart",e))}}(w(t,e),e)}),D(t,["mousemove","touchmove"],t=>{!function(e,t){if(t.zoomOrPanKeyPressed(e))return;let r=t.dragDropData,o,a,i,n=0,s;if(r&&r.isDragging&&r.point.series){var d;let l,p,g,h,c;a=(o=r.point).series.options.dragDrop,e.preventDefault(),r.draggedPastSensitivity||(d=o.options.dragDrop?.dragSensitivity??a?.dragSensitivity??2??2,p=(l=t.dragDropData.origin).chartX,g=l.chartY,h=e.chartX,r.draggedPastSensitivity=Math.sqrt((h-p)*(h-p)+((c=e.chartY)-g)*(c-g))>d),r.draggedPastSensitivity&&(r.newPoints=function(e,t){let r=e.point,o=r.series,a=o.chart,i=u(o.options.dragDrop,r.options.dragDrop),n={},s=e.updateProp,d={},l=r.series.dragDropProps;for(let e in l){let t=l[e];(!s||s===e&&t.resize&&(!t.optionName||!1!==i[t.optionName]))&&(s||t.move&&("x"===t.axis&&i.draggableX||"y"===t.axis&&i.draggableY))&&(a.mapView?n["x"===e?"lon":"lat"]=t:n[e]=t)}for(let o of s?[r]:e.groupedPoints)d[o.id]={point:o,newValues:o.getDropValues(e.origin,t,n)};return d}(r,e),s=1===(n=P(i=r.newPoints))?b(i):null,o.firePointEvent("drag",{origin:r.origin,newPoints:r.newPoints,newPoint:s&&s.newValues,newPointId:s&&s.point.id,numNewPoints:n,chartX:e.chartX,chartY:e.chartY},function(){var t,r,a;let i,n,s,d,l,p,g,h,c,x,m,f,y,v,D,P,b;s=(n=(i=o.series).chart).dragDropData,l=(d=u(i.options.dragDrop,o.options.dragDrop)).draggableX,p=d.draggableY,g=s.origin,h=s.updateProp,c=e.chartX-g.chartX,x=e.chartY-g.chartY,m=c,n.inverted&&(c=-x,x=-m),d.liveRedraw??!0?(V(n,!1),o.showDragHandles()):h?(t=o,r=c,a=x,v=(y=(f=t.series).chart).dragDropData,D=f.dragDropProps[v.updateProp],P=v.newPoints[t.id].newValues,b="function"==typeof D.resizeSide?D.resizeSide(P,t):D.resizeSide,D.beforeResize&&D.beforeResize(y.dragGuideBox,P,t),function(e,t,r){let o;switch(t){case"left":o={x:e.attr("x")+r.x,width:Math.max(1,e.attr("width")-r.x)};break;case"right":o={width:Math.max(1,e.attr("width")+r.x)};break;case"top":o={y:e.attr("y")+r.y,height:Math.max(1,e.attr("height")-r.y)};break;case"bottom":o={height:Math.max(1,e.attr("height")+r.y)}}e.attr(o)}(y.dragGuideBox,"x"===D.axis&&f.xAxis.reversed||"y"===D.axis&&f.yAxis.reversed?S(b):b,{x:"x"===D.axis?r-(v.origin.prevdX||0):0,y:"y"===D.axis?a-(v.origin.prevdY||0):0})):n.dragGuideBox.translate(l?c:0,p?x:0),g.prevdX=c,g.prevdY=x}))}}(w(t,e),e)},{passive:!1}),l(t,"mouseleave",t=>{O(w(t,e),e)}),e.unbindDragDropMouseUp=D(z,["mouseup","touchend"],t=>{O(w(t,e),e)},{passive:!1}),e.hasAddedDragDropEvents=!0,l(e,"destroy",()=>{e.unbindDragDropMouseUp&&e.unbindDragDropMouseUp()})))}function V(e,t){let r,o=e.dragDropData.newPoints,a=v(t);for(let t of(e.isDragDropAnimating=!0,Object.keys(o)))(r=o[t]).point.update(r.newValues,!1);e.redraw(a),setTimeout(()=>{delete e.isDragDropAnimating,e.hoverPoint&&!e.dragHandles&&e.hoverPoint.showDragHandles()},a.duration)}let M={compose:function(e){let t=e.prototype;t.hideDragHandles||(t.hideDragHandles=A,t.setGuideBoxState=N,t.zoomOrPanKeyPressed=H,l(e,"render",F))},flipResizeSide:S,initDragDrop:B},{flipResizeSide:X}=M,j={x:{axis:"x",move:!0},y:{axis:"y",move:!0}},Y={x:{axis:"x",move:!0},y:{axis:"y",move:!1,resize:!0,beforeResize:(e,t,r)=>{let o,a=function(){let e=arguments,t=e.length;for(let r=0;r<t;r++){let t=e[r];if(null!=t)return t}}(r.yBottom,r.series.translatedThreshold),i=e.attr("y"),n=g(r.stackY)?r.stackY-(r.y||0):r.series.options.threshold||0,s=n+t.y;(r.series.yAxis.reversed?s<n:s>=n)?(o=e.attr("height"),e.attr({height:Math.max(0,Math.round(o+(a?a-i-o:0)))})):e.attr({y:Math.round(i+(a?a-i:0))})},resizeSide:(e,t)=>{let r=t.series.chart.dragHandles,o=e.y>=(t.series.options.threshold||0)?"top":"bottom",a=X(o);return r&&r[a]&&(r[a].destroy(),delete r[a]),o},handlePositioner:e=>{let t=e.shapeArgs||e.graphic&&e.graphic.getBBox()||{},r=e.series.yAxis.reversed,o=e.series.options.threshold||0,a=e.y||0;return{x:t.x||0,y:!r&&a>=o||r&&a<o?t.y||0:(t.y||0)+(t.height||0)}},handleFormatter:e=>{let t=e.shapeArgs||{},r=t.r||0,o=t.width||0,a=o/2;return[["M",r,0],["L",a-5,0],["A",1,1,0,0,0,a+5,0],["A",1,1,0,0,0,a-5,0],["M",a+5,0],["L",o-r,0]]}}},k={x:Y.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.lowPlot}),handleFormatter:Y.y.handleFormatter,propValidate:(e,t)=>e<=t.q1},q1:{optionName:"draggableQ1",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.q1Plot}),handleFormatter:Y.y.handleFormatter,propValidate:(e,t)=>e<=t.median&&e>=t.low},median:{axis:"y",move:!0},q3:{optionName:"draggableQ3",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.q3Plot}),handleFormatter:Y.y.handleFormatter,propValidate:(e,t)=>e<=t.high&&e>=t.median},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.highPlot}),handleFormatter:Y.y.handleFormatter,propValidate:(e,t)=>e>=t.q3}},E={x:Y.x,low:{...k.low,propValidate:(e,t)=>e<=t.high},high:{...k.high,propValidate:(e,t)=>e>=t.low}},L={x:Y.x,y:Y.y,target:{optionName:"draggableTarget",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>{let t=e.targetGraphic.getBBox();return{x:e.barX,y:t.y+t.height/2}},handleFormatter:Y.y.handleFormatter}},C={x:Y.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotLow}),handleFormatter:Y.y.handleFormatter,propValidate:(e,t)=>e<=t.open&&e<=t.close},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotHigh}),handleFormatter:Y.y.handleFormatter,propValidate:(e,t)=>e>=t.open&&e>=t.close},open:{optionName:"draggableOpen",axis:"y",move:!0,resize:!0,resizeSide:e=>e.open>=e.close?"top":"bottom",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotOpen}),handleFormatter:Y.y.handleFormatter,propValidate:(e,t)=>e<=t.high&&e>=t.low},close:{optionName:"draggableClose",axis:"y",move:!0,resize:!0,resizeSide:e=>e.open>=e.close?"bottom":"top",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotClose}),handleFormatter:Y.y.handleFormatter,propValidate:(e,t)=>e<=t.high&&e>=t.low}},G={x:Y.x,y:u(Y.y,{handleFormatter:e=>e.isSum||e.isIntermediateSum?null:Y?.y?.handleFormatter?.(e)||null})},I={x:{axis:"x",move:!0},low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>{let t=e.shapeArgs||e.graphic.getBBox();return{x:t.x||0,y:(t.y||0)+(t.height||0)}},handleFormatter:Y.y.handleFormatter,propValidate:(e,t)=>e<=t.high},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>{let t=e.shapeArgs||e.graphic.getBBox();return{x:t.x||0,y:t.y||0}},handleFormatter:Y.y.handleFormatter,propValidate:(e,t)=>e>=t.low}},T={x:I.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>{let t=e.graphics&&e.graphics[0]&&e.graphics[0].getBBox();return t?{x:t.x+t.width/2,y:t.y+t.height/2}:{x:-999,y:-999}},handleFormatter:_,propValidate:I.low.propValidate},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>{let t=e.graphics&&e.graphics[1]&&e.graphics[1].getBBox();return t?{x:t.x+t.width/2,y:t.y+t.height/2}:{x:-999,y:-999}},handleFormatter:_,propValidate:I.high.propValidate}},K={y:{axis:"y",move:!0},x:{optionName:"draggableX1",axis:"x",move:!0,resize:!0,resizeSide:"left",handlePositioner:e=>$(e,"x"),handleFormatter:q,propValidate:(e,t)=>e<=t.x2},x2:{optionName:"draggableX2",axis:"x",move:!0,resize:!0,resizeSide:"right",handlePositioner:e=>$(e,"x2"),handleFormatter:q,propValidate:(e,t)=>e>=t.x}};function _(e){let t=e.graphic?e.graphic.getBBox().width/2+1:4;return[["M",0-t,0],["a",t,t,0,1,0,2*t,0],["a",t,t,0,1,0,-2*t,0]]}function q(e){let t=e.shapeArgs||e.graphic.getBBox(),r=t.r||0,o=t.height-r,a=t.height/2;return[["M",0,r],["L",0,a-5],["A",1,1,0,0,0,0,a+5],["A",1,1,0,0,0,0,a-5],["M",0,a+5],["L",0,o]]}function $(e,t){let r=e.series,o=r.xAxis,a=r.yAxis,i=r.chart.inverted,n=r.columnMetrics?r.columnMetrics.offset:-e.shapeArgs.height/2,s=o.toPixels(e[t],!0),d=a.toPixels(e.y,!0);return i&&(s=o.len-s,d=a.len-d),{x:Math.round(s),y:Math.round(d+=n)}}let R={arearange:T,boxplot:k,bullet:L,column:Y,columnrange:I,errorbar:E,flags:j,gantt:{y:K.y,start:u(K.x,{optionName:"draggableStart",validateIndividualDrag:e=>!e.milestone}),end:u(K.x2,{optionName:"draggableEnd",validateIndividualDrag:e=>!e.milestone})},line:j,ohlc:C,waterfall:G,xrange:K},{addEvents:U,getNormalizedEvent:W}=m,{initDragDrop:Q}=M;function J(e){let t=e.series&&e.series.chart,r=t&&t.dragDropData;t&&t.dragHandles&&!(r&&(r.isDragging&&r.draggedPastSensitivity||r.isHoveringHandle===e.id))&&t.hideDragHandles()}function Z(){let e=this;setTimeout(()=>{e.series&&J(e)},10)}function ee(){let e=this;setTimeout(()=>{let t,r,o,a;return o=(r=(t=e.series)&&t.chart)&&r.dragDropData,a=r&&r.is3d&&r.is3d(),void(r&&!(o&&o.isDragging&&o.draggedPastSensitivity)&&!r.isDragDropAnimating&&t.options.dragDrop&&!a&&(r.dragHandles&&r.hideDragHandles(),e.showDragHandles()))},12)}function et(){let e=this.series.chart,t=e.dragHandles;t&&t.point===this.id&&e.hideDragHandles()}function er(e,t,r){let o=this.series,a=o.chart,i=a.mapView,n=u(o.options.dragDrop,this.options.dragDrop),s={},d=e.points[this.id],l=1===Object.keys(r).length,p=(e,t)=>{var r;let a=t.toUpperCase(),i=o.chart.time,s=+!!o[`${t}Axis`].categories,d=n[`dragPrecision${a}`]??s,l=i.parse(n[`dragMin${a}`])??-1/0,p=i.parse(n[`dragMax${a}`])??1/0,g=e;return d&&(g=Math.round(g/d)*d),(r=g)>l?r<p?r:p:l},h=(e,t,r)=>{if(i){var o,s,d;let l=t.toUpperCase(),p=n[`dragPrecision${l}`]??0,g=i.pixelsToLonLat({x:0,y:0}),h=i.pixelsToLonLat({x:a.plotBox.width,y:a.plotBox.height}),c=n[`dragMin${l}`]??g?.[r]??-1/0,u=n[`dragMax${l}`]??h?.[r]??1/0,x=e[r];if("Orthographic"===i.projection.options.name)return x;if("lat"===r){(isNaN(c)||c>i.projection.maxLatitude)&&(c=i.projection.maxLatitude),(isNaN(u)||u<-1*i.projection.maxLatitude)&&(u=-1*i.projection.maxLatitude);let e=u;u=c,c=e}if(!i.projection.hasCoordinates){let t=i.pixelsToLonLat({x:e.chartX-a.plotLeft,y:a.plotHeight-e.chartY+a.plotTop});t&&(x=t[r])}return p&&(x=Math.round(x/p)*p),o=x,s=c,d=u,o>s?o<d?o:d:s}};for(let e of Object.keys(r)){let a=r[e],n=d.point[e],c=o[a.axis+"Axis"],u=i?h(t,a.axis,e):p(c.toValue((c.horiz?t.chartX:t.chartY)+d[e+"Offset"]),a.axis);g(u)&&!(l&&a.propValidate&&!a.propValidate(u,this))&&void 0!==n&&(s[e]=u)}return s}function eo(){let e=this,t=e.series,r=t.chart,{inverted:o,renderer:a}=r,i=u(t.options.dragDrop,e.options.dragDrop),n=t.dragDropProps||{},s=r.dragHandles;for(let d of Object.keys(n)){let p,g,h,c=n[d],x=u(f,c.handleOptions,i.dragHandle),m={class:x.className,"stroke-width":x.lineWidth,fill:x.color,stroke:x.lineColor},y=x.pathFormatter||c.handleFormatter,v=c.handlePositioner,D=!c.validateIndividualDrag||c.validateIndividualDrag(e);if(c.resize&&D&&c.resizeSide&&y&&(i["draggable"+c.axis.toUpperCase()]||i[c.optionName])&&!1!==i[c.optionName]){s?s.point=e.id:s=r.dragHandles={group:a.g("drag-drop-handles").add(t.markerGroup||t.group),point:e.id},p=v(e),m.d=h=y(e);let i=e.series.xAxis.categories?-.5:0;if(!h||p.x<i||p.y<0)continue;m.cursor=x.cursor||("x"===c.axis!=!!o?"ew-resize":"ns-resize"),(g=s[c.optionName])||(g=s[c.optionName]=a.path().add(s.group)),m.translateX=o?t.yAxis.len-p.y:p.x,m.translateY=o?t.xAxis.len-p.x:p.y,o&&(m.rotation=-90),g.attr(m),U(g.element,["touchstart","mousedown"],t=>{!function(e,t,r){let o=t.series.chart;o.zoomOrPanKeyPressed(e)||(o.mouseIsDown=!1,Q(e,t),o.dragDropData.updateProp=e.updateProp=r,t.firePointEvent("dragStart",e),e.stopPropagation(),e.preventDefault())}(W(t,r),e,d)},{passive:!1}),l(s.group.element,"mouseover",()=>{r.dragDropData=r.dragDropData||{},r.dragDropData.isHoveringHandle=e.id}),U(s.group.element,["touchend","mouseout"],()=>{!function(e){let t=e.series.chart;t.dragDropData&&e.id===t.dragDropData.isHoveringHandle&&delete t.dragDropData.isHoveringHandle,t.hoverPoint||J(e)}(e)})}}}function ea(e){let t=this.chart,r=1/0,o=-1/0,a=1/0,i=-1/0,n;for(let t of e){let e=t.graphic&&t.graphic.getBBox()||t.shapeArgs;if(e){let s,d=t.x2;g(d)&&(s=t.series.xAxis.translate(d,!1,!1,!1,!0));let l=!(e.width||e.height||e.x||e.y);n=!0,r=Math.min(t.plotX||0,s||0,l?1/0:e.x||0,r),o=Math.max(t.plotX||0,s||0,(e.x||0)+(e.width||0),o),a=Math.min(t.plotY||0,l?1/0:e.y||0,a),i=Math.max((e.y||0)+(e.height||0),i)}}return n?t.renderer.rect(r,a,o-r,i-a):t.renderer.g()}let ei=n();({compose:function(e,t){M.compose(e);let r=t.prototype;if(!r.dragDropProps){let e=t.prototype.pointClass,o=t.types,a=e.prototype;for(let t of(a.getDropValues=er,a.showDragHandles=eo,l(e,"mouseOut",Z),l(e,"mouseOver",ee),l(e,"remove",et),r.dragDropProps=R.line,r.getGuideBox=ea,["arearange","boxplot","bullet","column","columnrange","errorbar","flags","gantt","ohlc","waterfall","xrange"]))o[t]&&(o[t].prototype.dragDropProps=R[t]);for(let e of["bellcurve","gauge","histogram","map","mapline","pareto","pie","sankey","sma","sunburst","treemap","vector","windbarb","wordcloud"])o[e]&&(o[e].prototype.dragDropProps=null)}}}).compose(ei.Chart,ei.Series);let en=n();return a.default})());