{"version":3,"sources":["webpack:///./src/components/shared/pagination.vue","webpack:///./src/components/shared/pagination.vue?a977","webpack:///./node_modules/@amcharts/amcharts5/.internal/core/render/RadialText.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/core/render/RadialLabel.js","webpack:///./src/views/dashboard-new/pages/trade-history.vue","webpack:///./src/views/dashboard-new/pages/trade-history.vue?ba01","webpack:///./src/views/dashboard-new/pages/trade-history.vue?a14d","webpack:///./src/views/notifications/all-notifications.vue","webpack:///./src/views/notifications/all-notifications.vue?0230","webpack:///./src/views/notifications/all-notifications.vue?06f2","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/axes/GaplessDateAxis.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/core/render/Scrollbar.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/XYChartScrollbar.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/axes/CategoryDateAxis.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/axes/DurationAxis.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/axes/AxisBullet.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/axes/AxisLabelRadial.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/series/Candlestick.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/series/CandlestickSeries.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/series/OHLC.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/series/OHLCSeries.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/core/render/MonotoneYTension.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/series/SmoothedYLineSeries.js","webpack:///./node_modules/d3-shape/src/curve/cardinal.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/series/SmoothedXYLineSeries.js","webpack:///./node_modules/d3-shape/src/curve/step.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/series/StepLineSeries.js"],"names":["$props","totalRecords","_createElementBlock","_hoisted_1","_createBlock","_component_v_paginate","$data","page","$event","$options","fetchData","pages","Math","ceil","perPage","range-size","hideFirstButton","hideLastButton","active-color","data","props","watch","this","pageNo","methods","pageNum","$parent","type","openPositionList","callLiveFollowersList","tradesTypeData","callNotificationList","cancelledOrder","history","pageListing","__exports__","render","Text","super","arguments","Object","defineProperty","enumerable","configurable","writable","value","_root","_renderer","makeRadialText","textStyle","_afterNew","_beforeChanged","_display","clear","isDirty","textType","get","markDirtyBounds","radius","startAngle","inside","orientation","kerning","classNames","concat","className","Label","_textKeys","push","_text","children","new","radiusPrivate","getPrivate","innerRadiusPrivate","baseRadius","_updateChildren","isPrivateDirty","labelAngle","set","sin","cos","angle","setAll","paddingTop","paddingBottom","paddingLeft","paddingRight","x","y","setRaw","_flipped","_dirty","rotation","markDirtyPosition","dx","dy","bounds","localBounds","w","right","left","h","bottom","top","centerX","Percent","_updatePosition","class","id","_createElementVNode","aria-hidden","href","role","colspan","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","onClick","_cache","addActive","_ctx","$t","_createVNode","_component_vue_feather","size","_normalizeClass","active","tab","changeTab","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","leaderDrop","style","leaderSelected","length","_toDisplayString","leaderDropName","_hoisted_10","_Fragment","_renderList","ladersTabsObj","list","key","perLeaderHistory","includes","_hoisted_11","_hoisted_12","currencyDrop","currencySelected","currencyDropName","_hoisted_13","currencyPair","perCurrencyHistory","_hoisted_14","_hoisted_15","$setup","store","singleLoading","_component_Loader","classname","_hoisted_16","chartNotEmpty","_component_Nodata","_hoisted_17","_hoisted_18","_hoisted_19","isMonthly","onChange","historyChart","_hoisted_20","_hoisted_21","pnlDrop","pnlDropSelected","_withModifiers","_hoisted_22","_hoisted_23","customTimeframe","_hoisted_24","dateDrop","dateDropSelected","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","startDate","min","max","max1","required","pattern","chnageDate","_hoisted_31","_hoisted_32","_hoisted_33","endDate","title","_hoisted_35","_hoisted_36","LeaderTab","_hoisted_38","userSelectedAccount","_$setup$store$userSel","demo","_$setup$store$userSel2","isLeader","_$setup$store$userSel3","providerStatus","_$setup$store$userSel4","importHistoryStatus","_$setup$store$userSel5","_hoisted_39","showCheckbox","_hoisted_40","_hoisted_41","_hoisted_42","name","leaderHistory","true-value","false-value","_hoisted_43","historyLoading","_hoisted_44","_hoisted_45","_hoisted_46","submitHistory","_$setup$store$userSel6","_$setup$store$userSel7","_$setup$store$userSel8","_hoisted_47","_hoisted_48","_hoisted_49","keys","trades","_$options$trades$cont","content","_hoisted_50","arrowClass","arrowClassBoth","sortList","_hoisted_51","item","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","providerTicket","_hoisted_56","brokerTicket","_hoisted_57","amount","transactionCurrency","_hoisted_58","_hoisted_59","_hoisted_60","currency","_hoisted_61","_hoisted_62","dateFormat","dateOpen","timeFormat","tradeType","providerName","_hoisted_63","dateClosed","_hoisted_64","lots","priceOpen","parseFloat","toFixed","_hoisted_65","priceClosed","maxProfit","worstDrawdown","interest","netPnl","abs","_hoisted_66","pips","totalAccumulatedPnl","_hoisted_67","totalAccumulatedPips","toLocaleString","_$options$trades$cont2","totalElements","_hoisted_68","_component_Pagination","limit","_hoisted_69","_hoisted_70","_component_HistoryLog","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","cancelledOrderList","_hoisted_75","index","data-label","_hoisted_76","currencyName","_hoisted_77","_hoisted_78","_hoisted_79","openRate","_hoisted_80","formatDates","dateOpened","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","setup","myStore","sortParameter","COMMON","getBaseCurrencySymbol","chartData","legendNameObj","moment","subtract","format","components","Pagination","HistoryLog","user","access_token","allTypeAccount","computed","dashboardTradesHistory","filter","d","acc","LeaderAccImportHistory","providerId","then","res","callCustomerDetail","changeLeadertab","date","toString","tz","Date","getTimezoneOffset","add","payload","cancelledOrderLog","change","historyCurrencyPair","formData","valueOf","tradeHistory","tradeHistoryLeaders","sortKeys","sort","forEach","k","indexOf","splice","formDataOne","tradeHistoryChart","am5","series","lineChart","formDataSecond","tradeHistoryCurrency","e","target","rootElements","find","i","dom","dispose","root","setThemes","am5themes_Animated","am5themes_Responsive","dateFormatter","dateFields","numberFormatter","numberFormat","chart","container","am5xy","focusable","xAxis","xAxes","groupData","strictMinMax","baseInterval","timeUnit","count","renderer","label2","text","centerY","fontSize","yAxis","yAxes","label1","fill","unshift","grid","template","legend","bottomAxesContainer","layout","gridLayout","useDefaultMarker","labels","fontWeight","markerRectangles","cornerRadiusTL","cornerRadiusTR","cornerRadiusBL","cornerRadiusBR","markers","width","height","legendLabelText","legendLeaderName","minBulletDistance","valueYField","valueXField","tooltip","labelText","fills","visible","strokes","strokeWidth","cursor","behavior","lineY","lineX","interfaceColors","appear","a","arr","split","lastEl","mounted","_that","$","document","on","event","closest","created","$route","userNotificationList","htmlToText","message","formatDate","dateTime","_hoisted_30","selectedTicket","tempDivElement","createElement","innerHTML","textContent","innerText","fullDetail","ticketID","getFullDetailClosedTrade","brokerAccountId","form","parseInt","userNotifications","GaplessDateAxis","valueFields","_customDates","_dates","dates","_getDates","result","found","field","dataItems","dataItem","open","_updateDates","extraMax","extraMin","len","baseCount","extra","time","_getM","startLocation","endLocation","itemValue","baseDuration","position","round","findex","floor","setPrivateRaw","start","end","duration","getTime","startValue","endValue","zoomToValues","zoom","valueToPosition","startTime","endTime","_seriesValuesDirty","_updateAllDates","utc","timezone","startIndex","valueToIndex","endIndex","maxCount","axisLength","Number","MAX_SAFE_INTEGER","frequency","_frequency","_toggleDataItem","minorDataItems","realDuration","gridInterval","intervalDuration","assign","_intervalDuration","formats","firstTime","now","minorLabelsEnabled","minorGridEnabled","minorGridInterval","previousDataItem","minorDuration","_getMinorInterval","selectedItems","_getIndexes","_m","previousValue","nextGridUnit","first","_addMinorGrid","minDistance","gridCount","_a","undefined","_dataItems","processDataItem","_createAssets","label","timeUnit2","labelEndValue","next","_prepareDataItem","previousLabel","previousX","worse","_pickWorse","setPrivate","inited","_markDirtyAxes","_updateGhost","dataItemA","dataItemB","interval","valueA","valueB","getDate","minorFormats","mTimeUnit","maxValue","minorSelectedItems","minorDataItem","firstValue","items","mmm","c","Infinity","fullDuration","originalValue","realValue","_hasDate","Container","_makeThumb","_makeButton","_settings","themeTags","background","RoundedRectangle","Button","icon","Graphics","animation","_disposers","events","_thumbBusy","_addOrientationClass","startGrip","endGrip","thumb","point","toLocal","newMiddle","newCoordinate","_handleAnimation","animate","to","easing","once","originalEvent","_startDown","_gripDown","_endDown","_thumbDown","_released","_updateThumb","_updateGripsByThumb","adapters","_value","_sizeDirty","updateGrips","_changed","eventType","isEnabled","dispatch","grip","valueFunction","from","fromValue","toValue","call","_t","x0","x1","y0","y1","isDragging","thumbSize","XYChart","interactive","interactiveChildren","panX","panY","wheelX","wheelY","moveValue","states","create","opacity","plotContainer","remove","removeValue","zoomOutButton","overlay","display","moveTo","lineTo","CategoryAxis","fields","j","previousIndex","previousUnitValue","changed","skip","unitValue","added","pop","shouldAdd","f","_adjustPosition","axisPositionToIndex","getTooltipText","ValueAxis","strictMode","minMaxStep","durationFormatter","getDurationFormatter","baseUnit","difference","step","divisors","realDivisor","divisor","exponent","log","LOG10E","power","pow","reducedCount","_adjustMinMax","getFormat","formatter","extraDecimals","decimals","positionToValue","Entity","sprite","axis","_bullets","bullet","uid","RadialLabel","_clear","_draw","ColumnSeries","List","Template","_new","columns","listTemplate","column","mainContainer","make","_setDataItem","_updateGraphics","getRaw","baseAxis","lx0","lx1","ly0","ly1","hx0","hx1","hy0","hy1","vcy","vcx","locationX","locationY","openLocationX","openLocationY","getDataItemPositionX","_xOpenField","close","_xField","_xLowField","_xHighField","_aLocationY0","_aLocationY1","getDataItemPositionY","_yField","_yOpenField","_yLowField","_yHighField","_aLocationX0","_aLocationX1","_updateCandleGraphics","pl0","getPoint","pl1","ph0","ph1","rangeGraphics","axisRange","_processAxisRange","lY","hY","lX","hX","MonotoneYTension","context","tension","_context","_tension","_line","NaN","_x0","_x1","_y0","_y1","_t0","_point","slope2","closePath","t1","slope3","curveMonotoneYTension","monotoneYTension","sign","that","x2","y2","h0","h1","s0","s1","p","t","t0","bezierCurveTo","LineSeries","_setDefault","_valuesDirty","_k","_x2","_y2","Cardinal","prototype","areaStart","areaEnd","lineStart","lineEnd","cardinal","custom","Step","_x","_y","stepAfter","o","points","itemLocationX0","itemLocationY0","itemLocationX1","itemLocationY1","xPos0","xField","yPos0","yField","xPos1","yPos1","_shouldInclude","iPoint0","point0","iPoint1","point1","fillVisible","xOpenPos0","yOpenPos0","xOpenPos1","yOpenPos1","basePosY","basePosX","getOpen","valueX","xOpenField","valueY","yOpenField","stacked","stackToItemX","stackToItemY","component","closeIPoint0","closeIPoint1","segments"],"mappings":"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","file":"js/chunk-1bbeba31.2ec4d2cc.js","sourcesContent":["\r\n\r\n","import { render } from \"./pagination.vue?vue&type=template&id=15c1b6d2\"\nimport script from \"./pagination.vue?vue&type=script&lang=js\"\nexport * from \"./pagination.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/src/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { Text } from \"./Text\";\r\nimport * as $math from \"../util/Math\";\r\n/**\r\n * @ignore\r\n */\r\nexport class RadialText extends Text {\r\n constructor() {\r\n super(...arguments);\r\n Object.defineProperty(this, \"_display\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: this._root._renderer.makeRadialText(\"\", this.textStyle)\r\n });\r\n }\r\n _afterNew() {\r\n super._afterNew();\r\n }\r\n _beforeChanged() {\r\n super._beforeChanged();\r\n this._display.clear();\r\n if (this.isDirty(\"textType\")) {\r\n this._display.textType = this.get(\"textType\");\r\n this.markDirtyBounds();\r\n }\r\n if (this.isDirty(\"radius\")) {\r\n this._display.radius = this.get(\"radius\");\r\n this.markDirtyBounds();\r\n }\r\n if (this.isDirty(\"startAngle\")) {\r\n this._display.startAngle = (this.get(\"startAngle\", 0) + 90) * $math.RADIANS;\r\n this.markDirtyBounds();\r\n }\r\n if (this.isDirty(\"inside\")) {\r\n this._display.inside = this.get(\"inside\");\r\n this.markDirtyBounds();\r\n }\r\n if (this.isDirty(\"orientation\")) {\r\n this._display.orientation = this.get(\"orientation\");\r\n this.markDirtyBounds();\r\n }\r\n if (this.isDirty(\"kerning\")) {\r\n this._display.kerning = this.get(\"kerning\");\r\n this.markDirtyBounds();\r\n }\r\n }\r\n}\r\nObject.defineProperty(RadialText, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"RadialText\"\r\n});\r\nObject.defineProperty(RadialText, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: Text.classNames.concat([RadialText.className])\r\n});\r\n//# sourceMappingURL=RadialText.js.map","// import * as $object from \"../util/Object\";\r\nimport { p50, Percent } from \"../util/Percent\";\r\nimport { Label } from \"./Label\";\r\nimport { RadialText } from \"./RadialText\";\r\nimport * as $math from \"../util/Math\";\r\nimport * as $utils from \"../util/Utils\";\r\nexport class RadialLabel extends Label {\r\n constructor() {\r\n super(...arguments);\r\n Object.defineProperty(this, \"_flipped\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: false\r\n });\r\n }\r\n _afterNew() {\r\n this._textKeys.push(\"textType\", \"kerning\");\r\n super._afterNew();\r\n }\r\n _makeText() {\r\n this._text = this.children.push(RadialText.new(this._root, {}));\r\n }\r\n /**\r\n * Returns base radius in pixels.\r\n *\r\n * @return Base radius\r\n */\r\n baseRadius() {\r\n const radiusPrivate = this.getPrivate(\"radius\", 0);\r\n const innerRadiusPrivate = this.getPrivate(\"innerRadius\", 0);\r\n const baseRadius = this.get(\"baseRadius\", 0);\r\n return innerRadiusPrivate + $utils.relativeToValue(baseRadius, radiusPrivate - innerRadiusPrivate);\r\n }\r\n /**\r\n * Returns radius adjustment in pixels.\r\n *\r\n * @return Radius\r\n */\r\n radius() {\r\n const inside = this.get(\"inside\", false);\r\n return this.baseRadius() + this.get(\"radius\", 0) * (inside ? -1 : 1);\r\n }\r\n _updateChildren() {\r\n super._updateChildren();\r\n if (this.isDirty(\"baseRadius\") || this.isPrivateDirty(\"radius\") || this.isPrivateDirty(\"innerRadius\") || this.isDirty(\"labelAngle\") || this.isDirty(\"radius\") || this.isDirty(\"inside\") || this.isDirty(\"orientation\") || this.isDirty(\"textType\")) {\r\n const textType = this.get(\"textType\", \"adjusted\");\r\n const inside = this.get(\"inside\", false);\r\n const orientation = this.get(\"orientation\");\r\n let labelAngle = $math.normalizeAngle(this.get(\"labelAngle\", 0));\r\n this._text.set(\"startAngle\", this.get(\"labelAngle\", 0));\r\n this._text.set(\"inside\", inside);\r\n const sin = $math.sin(labelAngle);\r\n const cos = $math.cos(labelAngle);\r\n let baseRadius = this.baseRadius();\r\n let radius = this.radius();\r\n this._display.angle = 0;\r\n if (textType == \"circular\") {\r\n this.setAll({\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n paddingLeft: 0,\r\n paddingRight: 0\r\n });\r\n // Circular labels are handled and positioned differently\r\n this._text.set(\"orientation\", orientation);\r\n this._text.set(\"radius\", radius);\r\n }\r\n else {\r\n if (baseRadius == 0) {\r\n labelAngle = 0;\r\n radius = 0;\r\n }\r\n // Positioning of radial/regular labels are teh same\r\n let x = radius * cos;\r\n let y = radius * sin;\r\n if (textType == \"radial\") {\r\n this.setRaw(\"x\", x);\r\n this.setRaw(\"y\", y);\r\n if ((labelAngle < 90) || (labelAngle > 270) || orientation != \"auto\") {\r\n this._display.angle = labelAngle; // + 90;\r\n this._flipped = false;\r\n }\r\n else {\r\n this._display.angle = labelAngle + 180;\r\n this._flipped = true;\r\n }\r\n this._dirty.rotation = false;\r\n }\r\n else if (textType == \"adjusted\") {\r\n this.setRaw(\"centerX\", p50);\r\n this.setRaw(\"centerY\", p50);\r\n this.setRaw(\"x\", x);\r\n this.setRaw(\"y\", y);\r\n }\r\n else if (textType == \"regular\") {\r\n this.setRaw(\"x\", x);\r\n this.setRaw(\"y\", y);\r\n }\r\n }\r\n this.markDirtyPosition();\r\n this.markDirtyBounds();\r\n }\r\n }\r\n _updatePosition() {\r\n const textType = this.get(\"textType\", \"regular\");\r\n const inside = this.get(\"inside\", false);\r\n let dx = 0;\r\n let dy = 0;\r\n let labelAngle = this.get(\"labelAngle\", 0);\r\n let bounds = this.localBounds();\r\n let w = bounds.right - bounds.left;\r\n let h = bounds.bottom - bounds.top;\r\n if (textType == \"radial\") {\r\n if (this._flipped) {\r\n let centerX = this.get(\"centerX\");\r\n if (centerX instanceof Percent) {\r\n w = w * (1 - centerX.value * 2);\r\n }\r\n dx = w * $math.cos(labelAngle);\r\n dy = w * $math.sin(labelAngle);\r\n }\r\n }\r\n else if (!inside && textType == \"adjusted\") {\r\n dx = w / 2 * $math.cos(labelAngle);\r\n dy = h / 2 * $math.sin(labelAngle);\r\n }\r\n this.setRaw(\"dx\", dx);\r\n this.setRaw(\"dy\", dy);\r\n super._updatePosition();\r\n }\r\n /**\r\n * @ignore\r\n */\r\n get text() {\r\n return this._text;\r\n }\r\n}\r\nObject.defineProperty(RadialLabel, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"RadialLabel\"\r\n});\r\nObject.defineProperty(RadialLabel, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: Label.classNames.concat([RadialLabel.className])\r\n});\r\n//# sourceMappingURL=RadialLabel.js.map","\n\n","import { render } from \"./trade-history.vue?vue&type=template&id=ee5de988\"\nimport script from \"./trade-history.vue?vue&type=script&lang=js\"\nexport * from \"./trade-history.vue?vue&type=script&lang=js\"\n\nimport \"./trade-history.vue?vue&type=style&index=0&id=ee5de988&lang=css\"\n\nimport exportComponent from \"/src/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./trade-history.vue?vue&type=style&index=0&id=ee5de988&lang=css\"","\n\n","import { render } from \"./all-notifications.vue?vue&type=template&id=55473d17\"\nimport script from \"./all-notifications.vue?vue&type=script&lang=js\"\nexport * from \"./all-notifications.vue?vue&type=script&lang=js\"\n\nimport \"./all-notifications.vue?vue&type=style&index=0&id=55473d17&lang=css\"\n\nimport exportComponent from \"/src/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./all-notifications.vue?vue&type=style&index=0&id=55473d17&lang=css\"","import { DateAxis } from \"./DateAxis\";\r\nimport { DataItem } from \"../../../core/render/Component\";\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $order from \"../../../core/util/Order\";\r\nimport * as $time from \"../../../core/util/Time\";\r\nimport * as $type from \"../../../core/util/Type\";\r\nimport * as $math from \"../../../core/util/Math\";\r\n/**\r\n * A version of a [[DateAxis]] which removes intervals that don't have any data\r\n * items in them.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/gapless-date-axis/} for more info\r\n * @important\r\n */\r\nexport class GaplessDateAxis extends DateAxis {\r\n constructor() {\r\n super(...arguments);\r\n Object.defineProperty(this, \"_frequency\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 1\r\n });\r\n Object.defineProperty(this, \"_m\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n Object.defineProperty(this, \"_dates\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: []\r\n });\r\n Object.defineProperty(this, \"_customDates\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: void 0\r\n });\r\n }\r\n _afterNew() {\r\n this.valueFields.push(\"date\");\r\n super._afterNew();\r\n }\r\n _getDates() {\r\n if (this._customDates) {\r\n return this._customDates;\r\n }\r\n return this._dates;\r\n }\r\n _updateDates(date, series) {\r\n if (!series.get(\"ignoreMinMax\")) {\r\n const dates = this._getDates();\r\n const result = $array.getSortedIndex(dates, (x) => $order.compare(x, date));\r\n if (!result.found) {\r\n $array.insertIndex(dates, result.index, date);\r\n }\r\n }\r\n }\r\n _updateAllDates() {\r\n if (!this._customDates) {\r\n const dates = this._dates;\r\n dates.length = 0;\r\n $array.each(this.series, (series) => {\r\n let field = \"valueX\";\r\n if (series.get(\"yAxis\") == this) {\r\n field = \"valueY\";\r\n }\r\n $array.each(series.dataItems, (dataItem) => {\r\n let value = dataItem.get(field);\r\n if ($type.isNumber(value)) {\r\n if (dataItem.open) {\r\n this._updateDates(dataItem.open[field], series);\r\n }\r\n }\r\n });\r\n });\r\n const extraMax = this.get(\"extraMax\", 0);\r\n const extraMin = this.get(\"extraMin\", 0);\r\n let len = dates.length;\r\n const baseInterval = this.getPrivate(\"baseInterval\");\r\n const baseCount = baseInterval.count;\r\n const timeUnit = baseInterval.timeUnit;\r\n if (extraMax > 0) {\r\n const extra = len * extraMax;\r\n let time = dates[len - 1];\r\n if ($type.isNumber(time)) {\r\n for (let i = len - 1; i < len + extra; i++) {\r\n time += $time.getDuration(timeUnit, baseCount * this._getM(timeUnit));\r\n //time = $time.round(new Date(time), timeUnit, baseInterval.count, firstDay, utc, undefined, timezone).getTime();\r\n time = $time.roun(time, timeUnit, baseCount, this._root);\r\n dates.push(time);\r\n }\r\n }\r\n }\r\n if (extraMin > 0) {\r\n const extra = len * extraMin;\r\n let time = dates[0];\r\n if ($type.isNumber(time)) {\r\n for (let i = 0; i < extra; i++) {\r\n time -= $time.getDuration(timeUnit, baseCount);\r\n //time = $time.round(new Date(time), timeUnit, baseCount, firstDay, utc, undefined, timezone).getTime();\r\n time = $time.roun(time, timeUnit, baseCount, this._root);\r\n dates.unshift(time);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * Convers value to a relative position on axis.\r\n *\r\n * @param value Value\r\n * @return Relative position\r\n */\r\n valueToPosition(value) {\r\n const dates = this._getDates();\r\n const startLocation = this.get(\"startLocation\", 0);\r\n const endLocation = this.get(\"endLocation\", 1);\r\n const len = dates.length - startLocation - (1 - endLocation);\r\n const result = $array.getSortedIndex(dates, (x) => $order.compare(x, value));\r\n let index = result.index;\r\n if (result.found) {\r\n return (index - startLocation) / len;\r\n }\r\n else {\r\n if (index > 0) {\r\n index -= 1;\r\n }\r\n let itemValue = dates[index];\r\n let d = 0;\r\n if (itemValue > value && value > this.getPrivate(\"min\", 0)) {\r\n d = itemValue - value;\r\n }\r\n else {\r\n d = value - itemValue;\r\n }\r\n return (index - startLocation) / len + d / this.baseDuration() / len;\r\n }\r\n }\r\n /**\r\n * Converts numeric value from axis scale to index.\r\n *\r\n * @param value Value\r\n * @return Index\r\n */\r\n valueToIndex(value) {\r\n const dates = this._getDates();\r\n const result = $array.getSortedIndex(dates, (x) => $order.compare(x, value));\r\n let index = result.index;\r\n if (result.found) {\r\n return index;\r\n }\r\n else {\r\n if (index > 0) {\r\n index -= 1;\r\n }\r\n return index;\r\n }\r\n }\r\n /**\r\n * Converts a relative position to a corresponding numeric value from axis\r\n * scale.\r\n *\r\n * @param position Relative position\r\n * @return Value\r\n */\r\n positionToValue(position) {\r\n const startLocation = this.get(\"startLocation\", 0);\r\n const endLocation = this.get(\"endLocation\", 1);\r\n const dates = this._getDates();\r\n let len = Math.round(dates.length - startLocation - (1 - endLocation));\r\n let index = position * len;\r\n let findex = Math.floor(index);\r\n if (findex < 0) {\r\n findex = 0;\r\n }\r\n if (findex > len - 1) {\r\n findex = len - 1;\r\n }\r\n return dates[findex] + (index - findex + startLocation) * this.baseDuration();\r\n }\r\n _fixZoomFactor() {\r\n this.setPrivateRaw(\"maxZoomFactor\", this._getDates().length - this.get(\"startLocation\", 0) - (1 - this.get(\"endLocation\", 1)));\r\n }\r\n /**\r\n * Zooms the axis to specific `start` and `end` dates.\r\n *\r\n * Optional `duration` specifies duration of zoom animation in milliseconds.\r\n *\r\n * @param start Start Date\r\n * @param end End Date\r\n * @param duration Duration in milliseconds\r\n */\r\n zoomToDates(start, end, duration) {\r\n const dates = this._getDates();\r\n const len = dates.length;\r\n let result = $array.getSortedIndex(dates, (x) => $order.compare(x, start.getTime()));\r\n let startValue = dates[Math.min(result.index, len - 1)];\r\n result = $array.getSortedIndex(dates, (x) => $order.compare(x, end.getTime()));\r\n let endValue = dates[result.index];\r\n if (result.index >= len) {\r\n endValue = dates[len - 1] + this.baseDuration();\r\n }\r\n this.zoomToValues(startValue, endValue, duration);\r\n }\r\n /**\r\n * Zooms the axis to specific `start` and `end` values.\r\n *\r\n * Optional `duration` specifies duration of zoom animation in milliseconds.\r\n *\r\n * @param start Start value\r\n * @param end End value\r\n * @param duration Duration in milliseconds\r\n */\r\n zoomToValues(start, end, duration) {\r\n const min = this.getPrivate(\"min\", 0);\r\n const max = this.getPrivate(\"max\", 0);\r\n start = $math.fitToRange(start, min, max);\r\n end = $math.fitToRange(end, min, max);\r\n this.zoom(this.valueToPosition(start), this.valueToPosition(end), duration);\r\n }\r\n _prepareAxisItems() {\r\n let startTime = this.getPrivate(\"selectionMin\", 0);\r\n let endTime = this.getPrivate(\"selectionMax\", 0);\r\n if ($type.isNumber(startTime) && $type.isNumber(endTime)) {\r\n if (this._seriesValuesDirty) {\r\n this._seriesValuesDirty = false;\r\n this._updateAllDates();\r\n }\r\n const root = this._root;\r\n const utc = root.utc;\r\n const timezone = root.timezone;\r\n const dates = this._getDates();\r\n const renderer = this.get(\"renderer\");\r\n const len = dates.length;\r\n const baseDuration = this.baseDuration();\r\n let startIndex = this.valueToIndex(startTime);\r\n if (startIndex > 0) {\r\n startIndex--;\r\n }\r\n let endIndex = this.valueToIndex(endTime);\r\n if (endIndex < len - 1) {\r\n endIndex++;\r\n }\r\n let maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\"), 1 / Number.MAX_SAFE_INTEGER);\r\n let frequency = Math.min(len, Math.ceil((endIndex - startIndex) / maxCount));\r\n frequency = Math.max(1, frequency);\r\n startIndex = Math.floor(startIndex / frequency) * frequency;\r\n this._frequency = frequency;\r\n $array.each(this.dataItems, (dataItem) => {\r\n this._toggleDataItem(dataItem, false);\r\n });\r\n $array.each(this.minorDataItems, (dataItem) => {\r\n this._toggleDataItem(dataItem, false);\r\n });\r\n let realDuration = (endTime - startTime) - ((endTime - startTime) / baseDuration - (endIndex - startIndex)) * baseDuration;\r\n // if all items are on axis\r\n let gridInterval = $time.chooseInterval(0, realDuration, maxCount, this.get(\"gridIntervals\"));\r\n const baseInterval = this.getPrivate(\"baseInterval\");\r\n let intervalDuration = $time.getIntervalDuration(gridInterval);\r\n if (intervalDuration < baseDuration) {\r\n gridInterval = Object.assign({}, baseInterval);\r\n intervalDuration = $time.getIntervalDuration(gridInterval);\r\n }\r\n this._intervalDuration = intervalDuration;\r\n const timeUnit = gridInterval.timeUnit;\r\n const formats = this.get(\"dateFormats\");\r\n let firstTime = Date.now();\r\n if (dates[0]) {\r\n firstTime = dates[0];\r\n }\r\n //let value = $time.round(new Date(this.getPrivate(\"selectionMin\", 0)), timeUnit, gridInterval.count, firstDay, utc, firstDate, timezone).getTime();\r\n let value = $time.roun(this.getPrivate(\"selectionMin\", 0), timeUnit, gridInterval.count, root, firstTime);\r\n const minorLabelsEnabled = renderer.get(\"minorLabelsEnabled\");\r\n const minorGridEnabled = renderer.get(\"minorGridEnabled\", minorLabelsEnabled);\r\n let minorGridInterval;\r\n let minorDuration = 0;\r\n let previousDataItem;\r\n if (minorGridEnabled) {\r\n minorGridInterval = this._getMinorInterval(gridInterval);\r\n minorDuration = $time.getIntervalDuration(minorGridInterval);\r\n }\r\n let selectedItems = this._getIndexes(value, this.getPrivate(\"selectionMax\", value) + intervalDuration, gridInterval, this.getPrivate(\"min\", value));\r\n if (selectedItems.length > 0) {\r\n let i = 0;\r\n this._m = 0;\r\n let previousValue = value - intervalDuration * 10;\r\n const nextGridUnit = $time.getNextUnit(timeUnit);\r\n // MINOR GRID\r\n if (minorGridInterval) {\r\n let first = dates[selectedItems[0]];\r\n this._addMinorGrid(first - intervalDuration, first, minorDuration, minorGridInterval);\r\n }\r\n let minDistance = renderer.axisLength() / renderer.gridCount() * 0.5;\r\n $array.each(selectedItems, (index) => {\r\n var _a;\r\n let dataItem;\r\n if (this.dataItems.length < i + 1) {\r\n dataItem = new DataItem(this, undefined, {});\r\n this._dataItems.push(dataItem);\r\n this.processDataItem(dataItem);\r\n }\r\n else {\r\n dataItem = this.dataItems[i];\r\n }\r\n let value = dates[index];\r\n let date = new Date(value);\r\n let endValue = value;\r\n if (i < selectedItems.length - 1) {\r\n endValue = dates[selectedItems[i + 1]];\r\n }\r\n else {\r\n endValue += intervalDuration;\r\n }\r\n dataItem.setRaw(\"value\", value);\r\n dataItem.setRaw(\"endValue\", endValue);\r\n dataItem.setRaw(\"index\", i);\r\n dataItem.setRaw(\"labelEndValue\", undefined);\r\n let format = formats[timeUnit];\r\n if (nextGridUnit && this.get(\"markUnitChange\") && $type.isNumber(previousValue)) {\r\n if (timeUnit != \"year\") {\r\n if ($time.checkChange(value, previousValue, nextGridUnit, utc, timezone)) {\r\n format = this.get(\"periodChangeDateFormats\")[timeUnit];\r\n }\r\n }\r\n }\r\n this._createAssets(dataItem, []);\r\n const label = dataItem.get(\"label\");\r\n if (label) {\r\n label.set(\"text\", root.dateFormatter.format(date, format));\r\n }\r\n this._toggleDataItem(dataItem, true);\r\n let count = gridInterval.count;\r\n // so that labels of week would always be at the beginning of the grid\r\n if (timeUnit == \"week\") {\r\n dataItem.setRaw(\"labelEndValue\", value);\r\n }\r\n if (minorGridEnabled) {\r\n let timeUnit2 = gridInterval.timeUnit;\r\n if (timeUnit2 == \"week\") {\r\n timeUnit2 = \"day\";\r\n }\r\n if (count > 1 || gridInterval.timeUnit == \"week\") {\r\n //let labelEndValue = $time.round(new Date(value), timeUnit2, 1, firstDay, utc, undefined, timezone).getTime() + $time.getDuration(timeUnit2, this._getM(timeUnit2));\r\n let labelEndValue = $time.roun(value, timeUnit2, 1, root) + $time.getDuration(timeUnit2, this._getM(timeUnit2));\r\n let index = this.valueToIndex(labelEndValue);\r\n labelEndValue = dates[index];\r\n if (labelEndValue == value) {\r\n let next = dates[index + 1];\r\n if (next) {\r\n labelEndValue = next;\r\n }\r\n else {\r\n labelEndValue += minorDuration;\r\n }\r\n }\r\n dataItem.setRaw(\"labelEndValue\", labelEndValue);\r\n }\r\n count = 1;\r\n }\r\n this._prepareDataItem(dataItem, count);\r\n if (label && previousDataItem) {\r\n if (renderer.getPrivate(\"letter\") == \"X\") {\r\n let previousLabel = previousDataItem.get(\"label\");\r\n if (previousLabel) {\r\n let x = label.x();\r\n let previousX = previousLabel.x();\r\n if (x - previousX < minDistance) {\r\n let worse = this._pickWorse(previousDataItem, dataItem, gridInterval);\r\n if (worse) {\r\n (_a = worse.get(\"label\")) === null || _a === void 0 ? void 0 : _a.setPrivate(\"visible\", false);\r\n }\r\n }\r\n }\r\n }\r\n // todo y?\r\n }\r\n // MINOR GRID\r\n if (minorGridInterval) {\r\n this._addMinorGrid(value, endValue, minorDuration, minorGridInterval);\r\n }\r\n i++;\r\n if (label && label.getPrivate(\"visible\")) {\r\n previousDataItem = dataItem;\r\n }\r\n previousValue = value;\r\n });\r\n }\r\n $array.each(this.series, (series) => {\r\n if (series.inited) {\r\n series._markDirtyAxes();\r\n }\r\n });\r\n }\r\n this._updateGhost();\r\n }\r\n _pickWorse(dataItemA, dataItemB, interval) {\r\n const timeUnit = interval.timeUnit;\r\n const valueA = dataItemA.get(\"value\", 0);\r\n const valueB = dataItemB.get(\"value\", 0);\r\n if (timeUnit == \"hour\") {\r\n if (new Date(valueA).getDate() != new Date(valueB).getDate()) {\r\n return dataItemA;\r\n }\r\n }\r\n return dataItemB;\r\n }\r\n _addMinorGrid(startValue, endValue, minorDuration, gridInterval) {\r\n const minorFormats = this.get(\"minorDateFormats\", this.get(\"dateFormats\"));\r\n const mTimeUnit = gridInterval.timeUnit;\r\n let value = startValue + $time.getDuration(mTimeUnit, this._getM(mTimeUnit));\r\n //value = $time.round(new Date(value), mTimeUnit, 1, firstDay, utc, undefined, timezone).getTime();\r\n value = $time.roun(value, mTimeUnit, 1, this._root);\r\n let maxValue = endValue - minorDuration * 0.5;\r\n let minorSelectedItems = this._getIndexes(value, maxValue, gridInterval, value);\r\n const dates = this._getDates();\r\n $array.each(minorSelectedItems, (index) => {\r\n let minorDataItem;\r\n if (this.minorDataItems.length < this._m + 1) {\r\n minorDataItem = new DataItem(this, undefined, {});\r\n this.minorDataItems.push(minorDataItem);\r\n this.processDataItem(minorDataItem);\r\n }\r\n else {\r\n minorDataItem = this.minorDataItems[this._m];\r\n }\r\n value = dates[index];\r\n minorDataItem.setRaw(\"value\", value);\r\n minorDataItem.setRaw(\"endValue\", value + minorDuration);\r\n minorDataItem.setRaw(\"index\", index);\r\n this._createAssets(minorDataItem, [\"minor\"], true);\r\n const label = minorDataItem.get(\"label\");\r\n if (label) {\r\n if (this.get(\"renderer\").get(\"minorLabelsEnabled\")) {\r\n let date = new Date(value);\r\n let format = minorFormats[mTimeUnit];\r\n label.set(\"text\", this._root.dateFormatter.format(date, format));\r\n }\r\n else {\r\n label.setPrivate(\"visible\", false);\r\n }\r\n }\r\n this._toggleDataItem(minorDataItem, true);\r\n this._prepareDataItem(minorDataItem, 1);\r\n this._m++;\r\n });\r\n }\r\n _getIndexes(value, maxValue, interval, firstValue) {\r\n const items = [];\r\n const timeUnit = interval.timeUnit;\r\n const count = interval.count;\r\n const mmm = this._getM(timeUnit);\r\n const baseInterval = this.getPrivate(\"baseInterval\");\r\n const root = this._root;\r\n const dates = this._getDates();\r\n let c = count - 1;\r\n let previousValue = -Infinity;\r\n let duration = $time.getDuration(timeUnit, mmm);\r\n let fullDuration = $time.getDuration(timeUnit, count * mmm);\r\n let originalValue = value;\r\n if (timeUnit == \"day\") {\r\n value = firstValue;\r\n }\r\n while (value <= maxValue) {\r\n //value = $time.round(new Date(value), timeUnit, count, firstDay, utc, undefined, timezone).getTime();\r\n value = $time.roun(value, timeUnit, count, root);\r\n let index = this.valueToIndex(value);\r\n let realValue = dates[index];\r\n if (timeUnit == \"day\" && baseInterval.timeUnit == \"day\") {\r\n if (this._hasDate(value)) {\r\n c++;\r\n }\r\n if (c == count) {\r\n if (value >= originalValue - fullDuration * 2) {\r\n $array.move(items, index);\r\n }\r\n c = 0;\r\n }\r\n value += duration;\r\n //value = $time.round(new Date(value), timeUnit, 1, firstDay, utc, undefined, timezone).getTime();\r\n value = $time.roun(value, timeUnit, 1, root);\r\n }\r\n else {\r\n if (realValue < value) {\r\n for (let i = index, len = dates.length; i < len; i++) {\r\n realValue = dates[i];\r\n if (realValue >= value) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n $array.move(items, index);\r\n value += fullDuration;\r\n //value = $time.round(new Date(value), timeUnit, count, firstDay, utc, undefined, timezone).getTime();\r\n value = $time.roun(value, timeUnit, count, root);\r\n }\r\n if (value == previousValue) {\r\n value += fullDuration + duration;\r\n //value = $time.round(new Date(value), timeUnit, count, firstDay, utc, undefined, timezone).getTime();\r\n value = $time.roun(value, timeUnit, count, root);\r\n }\r\n if (value == previousValue) {\r\n break;\r\n }\r\n previousValue = value;\r\n }\r\n return items;\r\n }\r\n _hasDate(time) {\r\n const result = $array.getSortedIndex(this._getDates(), (date) => {\r\n return $order.compareNumber(date, time);\r\n });\r\n return result.found;\r\n }\r\n}\r\nObject.defineProperty(GaplessDateAxis, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"GaplessDateAxis\"\r\n});\r\nObject.defineProperty(GaplessDateAxis, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: DateAxis.classNames.concat([GaplessDateAxis.className])\r\n});\r\n//# sourceMappingURL=GaplessDateAxis.js.map","import { RoundedRectangle } from \"../render/RoundedRectangle\";\r\nimport { Container } from \"./Container\";\r\nimport { Graphics } from \"./Graphics\";\r\nimport { Button } from \"./Button\";\r\nimport * as $type from \"../util/Type\";\r\nimport * as $utils from \"../util/Utils\";\r\n/**\r\n * A control that allows zooming chart's axes, or other uses requiring range\r\n * selection.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/scrollbars/} for more info\r\n */\r\nexport class Scrollbar extends Container {\r\n constructor() {\r\n super(...arguments);\r\n /**\r\n * A thumb elment - a draggable square between the grips, used for panning\r\n * the selection.\r\n */\r\n Object.defineProperty(this, \"thumb\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: this._makeThumb()\r\n });\r\n /**\r\n * Start grip button.\r\n */\r\n Object.defineProperty(this, \"startGrip\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: this._makeButton()\r\n });\r\n /**\r\n * End grip button.\r\n */\r\n Object.defineProperty(this, \"endGrip\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: this._makeButton()\r\n });\r\n Object.defineProperty(this, \"_thumbBusy\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: false\r\n });\r\n Object.defineProperty(this, \"_startDown\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: false\r\n });\r\n Object.defineProperty(this, \"_endDown\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: false\r\n });\r\n Object.defineProperty(this, \"_thumbDown\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: false\r\n });\r\n Object.defineProperty(this, \"_gripDown\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: void 0\r\n });\r\n }\r\n _addOrientationClass() {\r\n this._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"scrollbar\", this._settings.orientation]);\r\n if (!this._settings.background) {\r\n this._settings.background = RoundedRectangle.new(this._root, {\r\n themeTags: $utils.mergeTags(this._settings.themeTags, [\"main\", \"background\"])\r\n });\r\n }\r\n }\r\n _makeButton() {\r\n return this.children.push(Button.new(this._root, {\r\n themeTags: [\"resize\", \"button\", this.get(\"orientation\")], icon: Graphics.new(this._root, {\r\n themeTags: [\"icon\"]\r\n })\r\n }));\r\n }\r\n _makeThumb() {\r\n return this.children.push(RoundedRectangle.new(this._root, {\r\n themeTags: [\"thumb\", this.get(\"orientation\")]\r\n }));\r\n }\r\n _handleAnimation(animation) {\r\n if (animation) {\r\n this._disposers.push(animation.events.on(\"stopped\", () => {\r\n this.setPrivateRaw(\"isBusy\", false);\r\n this._thumbBusy = false;\r\n }));\r\n }\r\n }\r\n _afterNew() {\r\n this._addOrientationClass();\r\n super._afterNew();\r\n const startGrip = this.startGrip;\r\n const endGrip = this.endGrip;\r\n const thumb = this.thumb;\r\n const background = this.get(\"background\");\r\n if (background) {\r\n this._disposers.push(background.events.on(\"click\", (event) => {\r\n this.setPrivateRaw(\"isBusy\", true);\r\n const point = this._display.toLocal(event.point);\r\n const w = this.width();\r\n const h = this.height();\r\n const orientation = this.get(\"orientation\");\r\n let newMiddle;\r\n if (orientation == \"vertical\") {\r\n newMiddle = (point.y - thumb.height() / 2) / h;\r\n }\r\n else {\r\n newMiddle = (point.x - thumb.width() / 2) / w;\r\n }\r\n let newCoordinate;\r\n let key;\r\n if (orientation == \"vertical\") {\r\n newCoordinate = newMiddle * h;\r\n key = \"y\";\r\n }\r\n else {\r\n newCoordinate = newMiddle * w;\r\n key = \"x\";\r\n }\r\n const duration = this.get(\"animationDuration\", 0);\r\n if (duration > 0) {\r\n this._thumbBusy = true;\r\n this._handleAnimation(this.thumb.animate({ key: key, to: newCoordinate, duration: duration, easing: this.get(\"animationEasing\") }));\r\n }\r\n else {\r\n this.thumb.set(key, newCoordinate);\r\n this._root.events.once(\"frameended\", () => {\r\n this.setPrivateRaw(\"isBusy\", false);\r\n });\r\n }\r\n }));\r\n }\r\n this._disposers.push(thumb.events.on(\"dblclick\", (event) => {\r\n if (!$utils.isLocalEvent(event.originalEvent, this)) {\r\n return;\r\n }\r\n const duration = this.get(\"animationDuration\", 0);\r\n const easing = this.get(\"animationEasing\");\r\n this.animate({ key: \"start\", to: 0, duration: duration, easing: easing });\r\n this.animate({ key: \"end\", to: 1, duration: duration, easing: easing });\r\n }));\r\n this._disposers.push(startGrip.events.on(\"pointerdown\", () => {\r\n this.setPrivateRaw(\"isBusy\", true);\r\n this._startDown = true;\r\n this._gripDown = \"start\";\r\n }));\r\n this._disposers.push(endGrip.events.on(\"pointerdown\", () => {\r\n this.setPrivateRaw(\"isBusy\", true);\r\n this._endDown = true;\r\n this._gripDown = \"end\";\r\n }));\r\n this._disposers.push(thumb.events.on(\"pointerdown\", () => {\r\n this.setPrivateRaw(\"isBusy\", true);\r\n this._thumbDown = true;\r\n this._gripDown = undefined;\r\n }));\r\n this._disposers.push(startGrip.events.on(\"globalpointerup\", () => {\r\n if (this._startDown) {\r\n this.setPrivateRaw(\"isBusy\", false);\r\n this._released();\r\n }\r\n this._startDown = false;\r\n }));\r\n this._disposers.push(endGrip.events.on(\"globalpointerup\", () => {\r\n if (this._endDown) {\r\n this.setPrivateRaw(\"isBusy\", false);\r\n this._released();\r\n }\r\n this._endDown = false;\r\n }));\r\n this._disposers.push(thumb.events.on(\"globalpointerup\", () => {\r\n if (this._thumbDown) {\r\n this.setPrivateRaw(\"isBusy\", false);\r\n this._released();\r\n }\r\n this._thumbDown = false;\r\n }));\r\n this._disposers.push(startGrip.on(\"x\", () => {\r\n this._updateThumb();\r\n }));\r\n this._disposers.push(endGrip.on(\"x\", () => {\r\n this._updateThumb();\r\n }));\r\n this._disposers.push(startGrip.on(\"y\", () => {\r\n this._updateThumb();\r\n }));\r\n this._disposers.push(endGrip.on(\"y\", () => {\r\n this._updateThumb();\r\n }));\r\n this._disposers.push(thumb.events.on(\"positionchanged\", () => {\r\n this._updateGripsByThumb();\r\n }));\r\n if (this.get(\"orientation\") == \"vertical\") {\r\n startGrip.set(\"x\", 0);\r\n endGrip.set(\"x\", 0);\r\n this._disposers.push(thumb.adapters.add(\"y\", (value) => {\r\n return Math.max(Math.min(Number(value), this.height() - thumb.height()), 0);\r\n }));\r\n this._disposers.push(thumb.adapters.add(\"x\", (_value) => {\r\n return this.width() / 2;\r\n }));\r\n this._disposers.push(startGrip.adapters.add(\"x\", (_value) => {\r\n return this.width() / 2;\r\n }));\r\n this._disposers.push(endGrip.adapters.add(\"x\", (_value) => {\r\n return this.width() / 2;\r\n }));\r\n this._disposers.push(startGrip.adapters.add(\"y\", (value) => {\r\n return Math.max(Math.min(Number(value), this.height()), 0);\r\n }));\r\n this._disposers.push(endGrip.adapters.add(\"y\", (value) => {\r\n return Math.max(Math.min(Number(value), this.height()), 0);\r\n }));\r\n }\r\n else {\r\n startGrip.set(\"y\", 0);\r\n endGrip.set(\"y\", 0);\r\n this._disposers.push(thumb.adapters.add(\"x\", (value) => {\r\n return Math.max(Math.min(Number(value), this.width() - thumb.width()), 0);\r\n }));\r\n this._disposers.push(thumb.adapters.add(\"y\", (_value) => {\r\n return this.height() / 2;\r\n }));\r\n this._disposers.push(startGrip.adapters.add(\"y\", (_value) => {\r\n return this.height() / 2;\r\n }));\r\n this._disposers.push(endGrip.adapters.add(\"y\", (_value) => {\r\n return this.height() / 2;\r\n }));\r\n this._disposers.push(startGrip.adapters.add(\"x\", (value) => {\r\n return Math.max(Math.min(Number(value), this.width()), 0);\r\n }));\r\n this._disposers.push(endGrip.adapters.add(\"x\", (value) => {\r\n return Math.max(Math.min(Number(value), this.width()), 0);\r\n }));\r\n }\r\n }\r\n _updateChildren() {\r\n super._updateChildren();\r\n if (this.isDirty(\"end\") || this.isDirty(\"start\") || this._sizeDirty) {\r\n this.updateGrips();\r\n }\r\n }\r\n _changed() {\r\n super._changed();\r\n if (this.isDirty(\"start\") || this.isDirty(\"end\")) {\r\n const eventType = \"rangechanged\";\r\n if (this.events.isEnabled(eventType)) {\r\n this.events.dispatch(eventType, { type: eventType, target: this, start: this.get(\"start\", 0), end: this.get(\"end\", 1), grip: this._gripDown });\r\n }\r\n }\r\n }\r\n _released() {\r\n const eventType = \"released\";\r\n if (this.events.isEnabled(eventType)) {\r\n this.events.dispatch(eventType, { type: eventType, target: this });\r\n }\r\n }\r\n /**\r\n * @ignore\r\n */\r\n updateGrips() {\r\n const startGrip = this.startGrip;\r\n const endGrip = this.endGrip;\r\n const orientation = this.get(\"orientation\");\r\n const height = this.height();\r\n const width = this.width();\r\n if (orientation == \"vertical\") {\r\n startGrip.set(\"y\", height * this.get(\"start\", 0));\r\n endGrip.set(\"y\", height * this.get(\"end\", 1));\r\n }\r\n else {\r\n startGrip.set(\"x\", width * this.get(\"start\", 0));\r\n endGrip.set(\"x\", width * this.get(\"end\", 1));\r\n }\r\n const valueFunction = this.getPrivate(\"positionTextFunction\");\r\n const from = Math.round(this.get(\"start\", 0) * 100);\r\n const to = Math.round(this.get(\"end\", 0) * 100);\r\n let fromValue;\r\n let toValue;\r\n if (valueFunction) {\r\n fromValue = valueFunction.call(this, this.get(\"start\", 0));\r\n toValue = valueFunction.call(this, this.get(\"end\", 0));\r\n }\r\n else {\r\n fromValue = from + \"%\";\r\n toValue = to + \"%\";\r\n }\r\n startGrip.set(\"ariaLabel\", this._t(\"From %1\", undefined, fromValue));\r\n startGrip.set(\"ariaValueNow\", \"\" + from);\r\n startGrip.set(\"ariaValueText\", from + \"%\");\r\n startGrip.set(\"ariaValueMin\", \"0\");\r\n startGrip.set(\"ariaValueMax\", \"100\");\r\n endGrip.set(\"ariaLabel\", this._t(\"To %1\", undefined, toValue));\r\n endGrip.set(\"ariaValueNow\", \"\" + to);\r\n endGrip.set(\"ariaValueText\", to + \"%\");\r\n endGrip.set(\"ariaValueMin\", \"0\");\r\n endGrip.set(\"ariaValueMax\", \"100\");\r\n }\r\n _updateThumb() {\r\n const thumb = this.thumb;\r\n const startGrip = this.startGrip;\r\n const endGrip = this.endGrip;\r\n const height = this.height();\r\n const width = this.width();\r\n let x0 = startGrip.x();\r\n let x1 = endGrip.x();\r\n let y0 = startGrip.y();\r\n let y1 = endGrip.y();\r\n let start = 0;\r\n let end = 1;\r\n if (this.get(\"orientation\") == \"vertical\") {\r\n if ($type.isNumber(y0) && $type.isNumber(y1)) {\r\n if (!this._thumbBusy && !thumb.isDragging()) {\r\n thumb.set(\"height\", y1 - y0);\r\n thumb.set(\"y\", y0);\r\n }\r\n start = y0 / height;\r\n end = y1 / height;\r\n }\r\n }\r\n else {\r\n if ($type.isNumber(x0) && $type.isNumber(x1)) {\r\n if (!this._thumbBusy && !thumb.isDragging()) {\r\n thumb.set(\"width\", x1 - x0);\r\n thumb.set(\"x\", x0);\r\n }\r\n start = x0 / width;\r\n end = x1 / width;\r\n }\r\n }\r\n if (this.getPrivate(\"isBusy\") && (this.get(\"start\") != start || this.get(\"end\") != end)) {\r\n this.set(\"start\", start);\r\n this.set(\"end\", end);\r\n }\r\n const valueFunction = this.getPrivate(\"positionTextFunction\");\r\n const from = Math.round(this.get(\"start\", 0) * 100);\r\n const to = Math.round(this.get(\"end\", 0) * 100);\r\n let fromValue;\r\n let toValue;\r\n if (valueFunction) {\r\n fromValue = valueFunction.call(this, this.get(\"start\", 0));\r\n toValue = valueFunction.call(this, this.get(\"end\", 0));\r\n }\r\n else {\r\n fromValue = from + \"%\";\r\n toValue = to + \"%\";\r\n }\r\n thumb.set(\"ariaLabel\", this._t(\"From %1 to %2\", undefined, fromValue, toValue));\r\n thumb.set(\"ariaValueNow\", \"\" + from);\r\n thumb.set(\"ariaValueText\", from + \"%\");\r\n }\r\n _updateGripsByThumb() {\r\n const thumb = this.thumb;\r\n const startGrip = this.startGrip;\r\n const endGrip = this.endGrip;\r\n if (this.get(\"orientation\") == \"vertical\") {\r\n const thumbSize = thumb.height();\r\n startGrip.set(\"y\", thumb.y());\r\n endGrip.set(\"y\", thumb.y() + thumbSize);\r\n }\r\n else {\r\n const thumbSize = thumb.width();\r\n startGrip.set(\"x\", thumb.x());\r\n endGrip.set(\"x\", thumb.x() + thumbSize);\r\n }\r\n }\r\n}\r\nObject.defineProperty(Scrollbar, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"Scrollbar\"\r\n});\r\nObject.defineProperty(Scrollbar, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: Container.classNames.concat([Scrollbar.className])\r\n});\r\n//# sourceMappingURL=Scrollbar.js.map","import { Scrollbar } from \"../../core/render/Scrollbar\";\r\nimport { XYChart } from \"./XYChart\";\r\nimport { Graphics } from \"../../core/render/Graphics\";\r\nimport * as $utils from \"../../core/util/Utils\";\r\n/**\r\n * Creates a scrollbar with chart preview in it.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/scrollbars/#Scrollbar_with_chart_preview} for more info\r\n * @important\r\n */\r\nexport class XYChartScrollbar extends Scrollbar {\r\n constructor() {\r\n super(...arguments);\r\n /**\r\n * An instance of an [[XYChart]] that is used to plot chart preview in\r\n * scrollbar.\r\n */\r\n Object.defineProperty(this, \"chart\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: this.children.push(XYChart.new(this._root, {\r\n themeTags: [\"chart\"],\r\n interactive: false,\r\n interactiveChildren: false,\r\n panX: false,\r\n panY: false,\r\n wheelX: \"none\",\r\n wheelY: \"none\"\r\n }))\r\n });\r\n /**\r\n * A graphics element that is displayed over inactive portion of the\r\n * scrollbarpreview, to dim it down.\r\n */\r\n Object.defineProperty(this, \"overlay\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: this.children.push(Graphics.new(this._root, {\r\n themeTags: [\"overlay\"],\r\n interactive: false\r\n }))\r\n });\r\n }\r\n _afterNew() {\r\n this._addOrientationClass();\r\n this._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"scrollbar\", \"xy\", \"chart\", this._settings.orientation]);\r\n const children = this.children;\r\n children.moveValue(this.thumb);\r\n children.moveValue(this.startGrip);\r\n children.moveValue(this.endGrip);\r\n this.thumb.set(\"opacity\", 0);\r\n this.thumb.states.create(\"hover\", { opacity: 0.2 });\r\n const plotContainer = this.chart.plotContainer;\r\n plotContainer.set(\"interactive\", false);\r\n plotContainer.remove(\"background\");\r\n plotContainer.children.removeValue(this.chart.zoomOutButton);\r\n super._afterNew();\r\n }\r\n _updateThumb() {\r\n super._updateThumb();\r\n this.overlay.set(\"draw\", (display) => {\r\n const startGrip = this.startGrip;\r\n const endGrip = this.endGrip;\r\n let x0 = startGrip.x();\r\n let y0 = startGrip.y();\r\n let x1 = endGrip.x();\r\n let y1 = endGrip.y();\r\n const h = this.height();\r\n const w = this.width();\r\n if (x0 > x1) {\r\n [x0, x1] = [x1, x0];\r\n }\r\n if (y0 > y1) {\r\n [y0, y1] = [y1, y0];\r\n }\r\n if (this.get(\"orientation\") === \"horizontal\") {\r\n display.moveTo(0, 0);\r\n display.lineTo(x0, 0);\r\n display.lineTo(x0, h);\r\n display.lineTo(0, h);\r\n display.lineTo(0, 0);\r\n display.moveTo(x1, 0);\r\n display.lineTo(w, 0);\r\n display.lineTo(w, h);\r\n display.lineTo(x1, h);\r\n display.lineTo(x1, 0);\r\n }\r\n else {\r\n display.moveTo(0, 0);\r\n display.lineTo(0, y0);\r\n display.lineTo(w, y0);\r\n display.lineTo(w, 0);\r\n display.lineTo(0, 0);\r\n display.moveTo(0, y1);\r\n display.lineTo(0, h);\r\n display.lineTo(w, h);\r\n display.lineTo(w, y1);\r\n display.lineTo(0, y1);\r\n }\r\n });\r\n }\r\n}\r\nObject.defineProperty(XYChartScrollbar, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"XYChartScrollbar\"\r\n});\r\nObject.defineProperty(XYChartScrollbar, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: Scrollbar.classNames.concat([XYChartScrollbar.className])\r\n});\r\n//# sourceMappingURL=XYChartScrollbar.js.map","import { CategoryAxis } from \"./CategoryAxis\";\r\nimport * as $time from \"../../../core/util/Time\";\r\nimport * as $type from \"../../../core/util/Type\";\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $utils from \"../../../core/util/Utils\";\r\n/**\r\n * Category-based date axis.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/category-date-axis/} for more info\r\n * @important\r\n */\r\nexport class CategoryDateAxis extends CategoryAxis {\r\n constructor() {\r\n super(...arguments);\r\n Object.defineProperty(this, \"_frequency\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 1\r\n });\r\n Object.defineProperty(this, \"_itemMap\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: {}\r\n });\r\n }\r\n _afterNew() {\r\n this._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"axis\"]);\r\n this.fields.push(\"category\");\r\n super._afterNew();\r\n }\r\n _prepareAxisItems() {\r\n // temp\r\n this.setPrivateRaw(\"baseInterval\", this.get(\"baseInterval\"));\r\n const renderer = this.get(\"renderer\");\r\n const len = this.dataItems.length;\r\n let startIndex = this.startIndex();\r\n if (startIndex > 0) {\r\n startIndex--;\r\n }\r\n let endIndex = this.endIndex();\r\n if (endIndex < len) {\r\n endIndex++;\r\n }\r\n let maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\"), 1 / Number.MAX_SAFE_INTEGER);\r\n let frequency = Math.min(len, Math.ceil((endIndex - startIndex) / maxCount));\r\n startIndex = Math.floor(startIndex / frequency) * frequency;\r\n this._frequency = frequency;\r\n for (let j = 0; j < len; j++) {\r\n this._toggleDataItem(this.dataItems[j], false);\r\n }\r\n let startTime = Number(this.dataItems[startIndex].get(\"category\"));\r\n let endTime = Number(this.dataItems[endIndex - 1].get(\"category\"));\r\n let realDuration = (endTime - startTime);\r\n if (endIndex - startIndex < maxCount) {\r\n realDuration = (endTime - startTime) - ((endTime - startTime) / this.baseDuration() - (endIndex - startIndex)) * this.baseDuration();\r\n }\r\n // if all items are on axis\r\n let gridInterval = $time.chooseInterval(0, realDuration, maxCount, this.get(\"gridIntervals\"));\r\n const nextGridUnit = $time.getNextUnit(gridInterval.timeUnit);\r\n const baseInterval = this.getPrivate(\"baseInterval\");\r\n if ($time.getIntervalDuration(gridInterval) < this.baseDuration()) {\r\n gridInterval = Object.assign({}, baseInterval);\r\n }\r\n const formats = this.get(\"dateFormats\");\r\n let previousValue = -Infinity;\r\n let previousIndex = -Infinity;\r\n let previousUnitValue = -Infinity;\r\n let format;\r\n let selectedItems = [];\r\n let changed = false;\r\n for (let i = startIndex; i < endIndex; i++) {\r\n let dataItem = this.dataItems[i];\r\n let index = dataItem.get(\"index\");\r\n let skip = false;\r\n let value = Number(dataItem.get(\"category\"));\r\n let date = new Date(value);\r\n let unitValue = $time.getUnitValue(date, gridInterval.timeUnit);\r\n format = formats[gridInterval.timeUnit];\r\n let added = false;\r\n if (gridInterval.timeUnit != \"year\" && gridInterval.timeUnit != \"week\") {\r\n if (nextGridUnit && this.get(\"markUnitChange\") && $type.isNumber(previousValue)) {\r\n if ($time.checkChange(value, previousValue, nextGridUnit, this._root.utc)) {\r\n format = this.get(\"periodChangeDateFormats\")[gridInterval.timeUnit];\r\n if (index - frequency * 0.5 < previousIndex) {\r\n selectedItems.pop();\r\n }\r\n selectedItems.push({ format: format, dataItem: dataItem });\r\n changed = true;\r\n added = true;\r\n previousIndex = index;\r\n previousUnitValue = unitValue;\r\n }\r\n }\r\n }\r\n let shouldAdd = false;\r\n if (gridInterval.timeUnit === \"day\" || gridInterval.timeUnit === \"week\") {\r\n if (index - previousIndex >= frequency) {\r\n shouldAdd = true;\r\n }\r\n }\r\n else {\r\n if (unitValue % gridInterval.count === 0) {\r\n if (unitValue != previousUnitValue) {\r\n shouldAdd = true;\r\n }\r\n }\r\n }\r\n if (!added && shouldAdd) {\r\n if (index - frequency * 0.7 < previousIndex) {\r\n if (changed) {\r\n skip = true;\r\n }\r\n }\r\n if (!skip) {\r\n selectedItems.push({ format: format, dataItem: dataItem });\r\n previousIndex = index;\r\n previousUnitValue = unitValue;\r\n }\r\n changed = false;\r\n }\r\n previousValue = value;\r\n }\r\n if (selectedItems.length > 0) {\r\n let f = selectedItems[0].dataItem.get(\"index\", 0);\r\n $array.each(selectedItems, (item) => {\r\n const dataItem = item.dataItem;\r\n const format = item.format;\r\n this._createAssets(dataItem, []);\r\n this._toggleDataItem(dataItem, true);\r\n let value = Number(dataItem.get(\"category\"));\r\n let date = new Date(value);\r\n const label = dataItem.get(\"label\");\r\n if (label) {\r\n label.set(\"text\", this._root.dateFormatter.format(date, format));\r\n }\r\n f++;\r\n this._prepareDataItem(dataItem, f, frequency);\r\n });\r\n }\r\n }\r\n /**\r\n * Returns a duration of currently active `baseInterval` in milliseconds.\r\n *\r\n * @return Duration\r\n */\r\n baseDuration() {\r\n return $time.getIntervalDuration(this.getPrivate(\"baseInterval\"));\r\n }\r\n /**\r\n * Returns text to be used in an axis tooltip for specific relative position.\r\n *\r\n * @param position Position\r\n * @return Tooltip text\r\n */\r\n getTooltipText(position, _adjustPosition) {\r\n //@todo number formatter + tag\r\n let dataItem = this.dataItems[this.axisPositionToIndex(position)];\r\n if (dataItem) {\r\n let format = this.get(\"dateFormats\")[this.getPrivate(\"baseInterval\").timeUnit];\r\n return this._root.dateFormatter.format(new Date(dataItem.get(\"category\", 0)), this.get(\"tooltipDateFormat\", format));\r\n }\r\n }\r\n _updateTooltipText(tooltip, position) {\r\n tooltip.label.set(\"text\", this.getTooltipText(position));\r\n }\r\n}\r\nObject.defineProperty(CategoryDateAxis, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"CategoryDateAxis\"\r\n});\r\nObject.defineProperty(CategoryDateAxis, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: CategoryAxis.classNames.concat([CategoryDateAxis.className])\r\n});\r\n//# sourceMappingURL=CategoryDateAxis.js.map","import { ValueAxis } from \"./ValueAxis\";\r\nimport * as $utils from \"../../../core/util/Utils\";\r\nimport * as $math from \"../../../core/util/Math\";\r\n/**\r\n * Creates a duration axis.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/duration-axis/} for more info\r\n * @important\r\n */\r\nexport class DurationAxis extends ValueAxis {\r\n constructor() {\r\n super(...arguments);\r\n Object.defineProperty(this, \"_dataGrouped\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: false\r\n });\r\n Object.defineProperty(this, \"_groupingCalculated\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: false\r\n });\r\n Object.defineProperty(this, \"_intervalDuration\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 1\r\n });\r\n }\r\n _afterNew() {\r\n this._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"axis\"]);\r\n super._afterNew();\r\n }\r\n _adjustMinMax(min, max, gridCount, strictMode) {\r\n let minMaxStep;\r\n const durationFormatter = this.getDurationFormatter();\r\n const baseUnit = this.get(\"baseUnit\");\r\n // we don't allow to go to smaller units, setting so to avoid invalidation\r\n this.setRaw(\"maxPrecision\", 0);\r\n if (baseUnit == \"millisecond\" || baseUnit == \"second\" || baseUnit == \"minute\" || baseUnit == \"hour\") {\r\n // will fail if 0\r\n if (gridCount <= 1) {\r\n gridCount = 1;\r\n }\r\n gridCount = Math.round(gridCount);\r\n //let initialMin: number = min;\r\n //let initialMax: number = max;\r\n let difference = max - min;\r\n // in case min and max is the same, use max\r\n if (difference === 0) {\r\n difference = Math.abs(max);\r\n }\r\n let step = difference / gridCount;\r\n let divisors = [60, 30, 20, 15, 10, 2, 1];\r\n let realDivisor = 1;\r\n if (baseUnit == \"hour\") {\r\n divisors = [24, 12, 6, 4, 2, 1];\r\n }\r\n for (let divisor of divisors) {\r\n if (difference / divisor > gridCount) {\r\n realDivisor = divisor;\r\n break;\r\n }\r\n }\r\n let count = Math.ceil(((max - min) / realDivisor) / gridCount);\r\n let exponent = Math.log(Math.abs(count)) * Math.LOG10E;\r\n let power = Math.pow(10, Math.floor(exponent)) / 10;\r\n let reducedCount = count / power;\r\n // find closest to divisor\r\n let closest = $math.closest(divisors, reducedCount);\r\n count = closest * power;\r\n step = realDivisor * count;\r\n min = Math.floor(min / step) * step;\r\n max = Math.ceil(max / step) * step;\r\n /*\r\n causese SO with seconds\r\n if (strictMode) {\r\n min -= step;\r\n if (min < 0 && initialMin >= 0) {\r\n min = 0;\r\n }\r\n max += step;\r\n\r\n if (max > 0 && initialMax <= 0) {\r\n max = 0;\r\n }\r\n }*/\r\n minMaxStep = { min: min, max: max, step: step };\r\n }\r\n else {\r\n minMaxStep = super._adjustMinMax(min, max, gridCount, strictMode);\r\n }\r\n // choose duration formatter based on step\r\n this.setPrivateRaw(\"durationFormat\", durationFormatter.getFormat(minMaxStep.step, minMaxStep.max, baseUnit));\r\n return minMaxStep;\r\n }\r\n _formatText(value) {\r\n const formatter = this.getDurationFormatter();\r\n return formatter.format(value, this.getPrivate(\"durationFormat\"), this.get(\"baseUnit\"));\r\n }\r\n /**\r\n * Returns text to be used in an axis tooltip for specific relative position.\r\n *\r\n * @param position Position\r\n * @return Tooltip text\r\n */\r\n getTooltipText(position, _adjustPosition) {\r\n const formatter = this.getDurationFormatter();\r\n const extraDecimals = this.get(\"extraTooltipPrecision\", 0);\r\n const decimals = this.getPrivate(\"stepDecimalPlaces\", 0) + extraDecimals;\r\n const value = $math.round(this.positionToValue(position), decimals);\r\n return formatter.format(value, this.getPrivate(\"durationFormat\"), this.get(\"baseUnit\"));\r\n }\r\n}\r\nObject.defineProperty(DurationAxis, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"DurationAxis\"\r\n});\r\nObject.defineProperty(DurationAxis, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: ValueAxis.classNames.concat([DurationAxis.className])\r\n});\r\n//# sourceMappingURL=DurationAxis.js.map","import { Entity } from \"../../../core/util/Entity\";\r\nimport * as $object from \"../../../core/util/Object\";\r\n/**\r\n * Draws a bullet on an axis.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_bullets} for more info\r\n */\r\nexport class AxisBullet extends Entity {\r\n constructor() {\r\n super(...arguments);\r\n /**\r\n * Target axis object.\r\n */\r\n Object.defineProperty(this, \"axis\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: void 0\r\n });\r\n }\r\n _beforeChanged() {\r\n super._beforeChanged();\r\n const sprite = this.get(\"sprite\");\r\n if (this.isDirty(\"sprite\")) {\r\n if (sprite) {\r\n sprite.setAll({ position: \"absolute\", role: \"figure\" });\r\n this._disposers.push(sprite);\r\n }\r\n }\r\n if (this.isDirty(\"location\")) {\r\n const dataItem = sprite.dataItem;\r\n if (this.axis && sprite && dataItem) {\r\n this.axis._prepareDataItem(dataItem);\r\n }\r\n }\r\n }\r\n dispose() {\r\n const axis = this.axis;\r\n if (axis) {\r\n $object.each(axis._bullets, (key, bullet) => {\r\n if (bullet.uid == this.uid) {\r\n delete axis._bullets[key];\r\n }\r\n });\r\n }\r\n super.dispose();\r\n }\r\n}\r\nObject.defineProperty(AxisBullet, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"AxisBullet\"\r\n});\r\nObject.defineProperty(AxisBullet, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: Entity.classNames.concat([AxisBullet.className])\r\n});\r\n//# sourceMappingURL=AxisBullet.js.map","import { RadialLabel } from \"../../../core/render/RadialLabel\";\r\n/**\r\n * Draws a label on a circular axis.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Labels} for more info\r\n */\r\nexport class AxisLabelRadial extends RadialLabel {\r\n constructor() {\r\n super(...arguments);\r\n Object.defineProperty(this, \"_tickPoints\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: []\r\n });\r\n }\r\n}\r\nObject.defineProperty(AxisLabelRadial, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"AxisLabelRadial\"\r\n});\r\nObject.defineProperty(AxisLabelRadial, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: RadialLabel.classNames.concat([AxisLabelRadial.className])\r\n});\r\n//# sourceMappingURL=AxisLabelRadial.js.map","import { RoundedRectangle } from \"../../../core/render/RoundedRectangle\";\r\n/**\r\n * A candle element used in a [[CandlestickSeries]].\r\n */\r\nexport class Candlestick extends RoundedRectangle {\r\n _beforeChanged() {\r\n super._beforeChanged();\r\n if (this.isDirty(\"lowX0\") || this.isDirty(\"lowY0\") || this.isDirty(\"lowX1\") || this.isDirty(\"lowY1\") || this.isDirty(\"highX0\") || this.isDirty(\"highX1\") || this.isDirty(\"highY0\") || this.isDirty(\"highY1\")) {\r\n this._clear = true;\r\n }\r\n }\r\n _draw() {\r\n super._draw();\r\n const display = this._display;\r\n display.moveTo(this.get(\"lowX0\", 0), this.get(\"lowY0\", 0));\r\n display.lineTo(this.get(\"lowX1\", 0), this.get(\"lowY1\", 0));\r\n display.moveTo(this.get(\"highX0\", 0), this.get(\"highY0\", 0));\r\n display.lineTo(this.get(\"highX1\", 0), this.get(\"highY1\", 0));\r\n }\r\n}\r\nObject.defineProperty(Candlestick, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"Candlestick\"\r\n});\r\nObject.defineProperty(Candlestick, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: RoundedRectangle.classNames.concat([Candlestick.className])\r\n});\r\n//# sourceMappingURL=Candlestick.js.map","import { ColumnSeries } from \"./ColumnSeries\";\r\nimport { Candlestick } from \"./Candlestick\";\r\nimport { Template } from \"../../../core/util/Template\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport * as $utils from \"../../../core/util/Utils\";\r\nimport * as $array from \"../../../core/util/Array\";\r\n/**\r\n * Candlestick series.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/candlestick-series/} for more info\r\n * @important\r\n */\r\nexport class CandlestickSeries extends ColumnSeries {\r\n constructor() {\r\n super(...arguments);\r\n /**\r\n * A list of candles in the series.\r\n *\r\n * `columns.template` can be used to configure candles.\r\n *\r\n * @default new ListTemplate\r\n */\r\n Object.defineProperty(this, \"columns\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: new ListTemplate(Template.new({\r\n themeTags: [\"autocolor\"]\r\n }), () => Candlestick._new(this._root, {\r\n themeTags: $utils.mergeTags(this.columns.template.get(\"themeTags\", []), [\"candlestick\", \"series\", \"column\"])\r\n }, [this.columns.template]))\r\n });\r\n }\r\n /**\r\n * @ignore\r\n */\r\n makeColumn(dataItem, listTemplate) {\r\n const column = this.mainContainer.children.push(listTemplate.make());\r\n column._setDataItem(dataItem);\r\n listTemplate.push(column);\r\n return column;\r\n }\r\n _updateGraphics(dataItem, previousDataItem) {\r\n super._updateGraphics(dataItem, previousDataItem);\r\n const xAxis = this.getRaw(\"xAxis\");\r\n const yAxis = this.getRaw(\"yAxis\");\r\n const baseAxis = this.getRaw(\"baseAxis\");\r\n let vcy = this.get(\"vcy\", 1);\r\n let vcx = this.get(\"vcx\", 1);\r\n let lx0;\r\n let lx1;\r\n let ly0;\r\n let ly1;\r\n let hx0;\r\n let hx1;\r\n let hy0;\r\n let hy1;\r\n let locationX = this.get(\"locationX\", dataItem.get(\"locationX\", 0.5));\r\n let locationY = this.get(\"locationY\", dataItem.get(\"locationY\", 0.5));\r\n let openLocationX = this.get(\"openLocationX\", dataItem.get(\"openLocationX\", locationX));\r\n let openLocationY = this.get(\"openLocationY\", dataItem.get(\"openLocationY\", locationY));\r\n let orientation;\r\n if (yAxis === baseAxis) {\r\n let open = xAxis.getDataItemPositionX(dataItem, this._xOpenField, 1, vcx);\r\n let close = xAxis.getDataItemPositionX(dataItem, this._xField, 1, vcx);\r\n lx1 = xAxis.getDataItemPositionX(dataItem, this._xLowField, 1, vcx);\r\n hx1 = xAxis.getDataItemPositionX(dataItem, this._xHighField, 1, vcx);\r\n hx0 = Math.max(open, close);\r\n lx0 = Math.min(open, close);\r\n let startLocation = this._aLocationY0 + openLocationY - 0.5;\r\n let endLocation = this._aLocationY1 + locationY - 0.5;\r\n ly0 = yAxis.getDataItemPositionY(dataItem, this._yField, startLocation + (endLocation - startLocation) / 2, vcy);\r\n ly1 = ly0;\r\n hy0 = ly0;\r\n hy1 = ly0;\r\n orientation = \"horizontal\";\r\n }\r\n else {\r\n let open = yAxis.getDataItemPositionY(dataItem, this._yOpenField, 1, vcy);\r\n let close = yAxis.getDataItemPositionY(dataItem, this._yField, 1, vcy);\r\n ly1 = yAxis.getDataItemPositionY(dataItem, this._yLowField, 1, vcy);\r\n hy1 = yAxis.getDataItemPositionY(dataItem, this._yHighField, 1, vcy);\r\n hy0 = Math.max(open, close);\r\n ly0 = Math.min(open, close);\r\n let startLocation = this._aLocationX0 + openLocationX - 0.5;\r\n let endLocation = this._aLocationX1 + locationX - 0.5;\r\n lx0 = xAxis.getDataItemPositionX(dataItem, this._xField, startLocation + (endLocation - startLocation) / 2, vcx);\r\n lx1 = lx0;\r\n hx0 = lx0;\r\n hx1 = lx0;\r\n orientation = \"vertical\";\r\n }\r\n this._updateCandleGraphics(dataItem, lx0, lx1, ly0, ly1, hx0, hx1, hy0, hy1, orientation);\r\n }\r\n _updateCandleGraphics(dataItem, lx0, lx1, ly0, ly1, hx0, hx1, hy0, hy1, orientation) {\r\n let column = dataItem.get(\"graphics\");\r\n if (column) {\r\n let pl0 = this.getPoint(lx0, ly0);\r\n let pl1 = this.getPoint(lx1, ly1);\r\n let ph0 = this.getPoint(hx0, hy0);\r\n let ph1 = this.getPoint(hx1, hy1);\r\n let x = column.x();\r\n let y = column.y();\r\n column.set(\"lowX0\", pl0.x - x);\r\n column.set(\"lowY0\", pl0.y - y);\r\n column.set(\"lowX1\", pl1.x - x);\r\n column.set(\"lowY1\", pl1.y - y);\r\n column.set(\"highX0\", ph0.x - x);\r\n column.set(\"highY0\", ph0.y - y);\r\n column.set(\"highX1\", ph1.x - x);\r\n column.set(\"highY1\", ph1.y - y);\r\n column.set(\"orientation\", orientation);\r\n let rangeGraphics = dataItem.get(\"rangeGraphics\");\r\n if (rangeGraphics) {\r\n $array.each(rangeGraphics, (column) => {\r\n column.set(\"lowX0\", pl0.x - x);\r\n column.set(\"lowY0\", pl0.y - y);\r\n column.set(\"lowX1\", pl1.x - x);\r\n column.set(\"lowY1\", pl1.y - y);\r\n column.set(\"highX0\", ph0.x - x);\r\n column.set(\"highY0\", ph0.y - y);\r\n column.set(\"highX1\", ph1.x - x);\r\n column.set(\"highY1\", ph1.y - y);\r\n column.set(\"orientation\", orientation);\r\n });\r\n }\r\n }\r\n }\r\n _processAxisRange(axisRange) {\r\n super._processAxisRange(axisRange);\r\n axisRange.columns = new ListTemplate(Template.new({}), () => Candlestick._new(this._root, {\r\n themeTags: $utils.mergeTags(axisRange.columns.template.get(\"themeTags\", []), [\"candlestick\", \"series\", \"column\"]),\r\n }, [this.columns.template, axisRange.columns.template]));\r\n }\r\n}\r\nObject.defineProperty(CandlestickSeries, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"CandlestickSeries\"\r\n});\r\nObject.defineProperty(CandlestickSeries, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: ColumnSeries.classNames.concat([CandlestickSeries.className])\r\n});\r\n//# sourceMappingURL=CandlestickSeries.js.map","import { Candlestick } from \"./Candlestick\";\r\nexport class OHLC extends Candlestick {\r\n _draw() {\r\n const display = this._display;\r\n display.moveTo(this.get(\"lowX1\", 0), this.get(\"lowY1\", 0));\r\n display.lineTo(this.get(\"highX1\", 0), this.get(\"highY1\", 0));\r\n let w = this.width();\r\n let h = this.height();\r\n if (this.get(\"orientation\") == \"vertical\") {\r\n let lY = h;\r\n let hY = 0;\r\n display.moveTo(0, lY);\r\n display.lineTo(w / 2, lY);\r\n display.moveTo(w / 2, hY);\r\n display.lineTo(w, hY);\r\n }\r\n else {\r\n let lX = 0;\r\n let hX = w;\r\n display.moveTo(lX, 0);\r\n display.lineTo(lX, h / 2);\r\n display.moveTo(hX, h / 2);\r\n display.lineTo(hX, h);\r\n }\r\n }\r\n}\r\nObject.defineProperty(OHLC, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"OHLC\"\r\n});\r\nObject.defineProperty(OHLC, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: Candlestick.classNames.concat([OHLC.className])\r\n});\r\n//# sourceMappingURL=OHLC.js.map","import { CandlestickSeries } from \"./CandlestickSeries\";\r\nimport { OHLC } from \"./OHLC\";\r\nimport { Template } from \"../../../core/util/Template\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport * as $utils from \"../../../core/util/Utils\";\r\n/**\r\n * OHLC series.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/candlestick-series/} for more info\r\n * @important\r\n */\r\nexport class OHLCSeries extends CandlestickSeries {\r\n constructor() {\r\n super(...arguments);\r\n /**\r\n * A list of OHLC bars in the series.\r\n *\r\n * `columns.template` can be used to configure OHLC bars.\r\n *\r\n * @default new ListTemplate\r\n */\r\n Object.defineProperty(this, \"columns\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: new ListTemplate(Template.new({\r\n themeTags: [\"autocolor\"]\r\n }), () => OHLC._new(this._root, {\r\n themeTags: $utils.mergeTags(this.columns.template.get(\"themeTags\", []), [\"ohlc\", \"series\", \"column\"])\r\n }, [this.columns.template]))\r\n });\r\n }\r\n /**\r\n * @ignore\r\n */\r\n makeColumn(dataItem, listTemplate) {\r\n const column = this.mainContainer.children.push(listTemplate.make());\r\n column._setDataItem(dataItem);\r\n listTemplate.push(column);\r\n return column;\r\n }\r\n _processAxisRange(axisRange) {\r\n super._processAxisRange(axisRange);\r\n axisRange.columns = new ListTemplate(Template.new({}), () => OHLC._new(this._root, {\r\n themeTags: $utils.mergeTags(axisRange.columns.template.get(\"themeTags\", []), [\"ohlc\", \"series\", \"column\"]),\r\n }, [this.columns.template, axisRange.columns.template]));\r\n }\r\n}\r\nObject.defineProperty(OHLCSeries, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"OHLCSeries\"\r\n});\r\nObject.defineProperty(OHLCSeries, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: CandlestickSeries.classNames.concat([OHLCSeries.className])\r\n});\r\n//# sourceMappingURL=OHLCSeries.js.map","/**\r\n * @ignore\r\n */\r\nexport class MonotoneYTension {\r\n constructor(context, tension) {\r\n Object.defineProperty(this, \"_line\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n Object.defineProperty(this, \"_point\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n Object.defineProperty(this, \"_context\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: void 0\r\n });\r\n Object.defineProperty(this, \"_x0\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n Object.defineProperty(this, \"_x1\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n Object.defineProperty(this, \"_y0\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n Object.defineProperty(this, \"_y1\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n Object.defineProperty(this, \"_t0\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n Object.defineProperty(this, \"_tension\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n this._context = context;\r\n this._tension = tension;\r\n }\r\n areaStart() {\r\n this._line = 0;\r\n }\r\n areaEnd() {\r\n this._line = NaN;\r\n }\r\n lineStart() {\r\n this._x0 = this._x1 =\r\n this._y0 = this._y1 =\r\n this._t0 = NaN;\r\n this._point = 0;\r\n }\r\n lineEnd() {\r\n switch (this._point) {\r\n case 2:\r\n this._context.lineTo(this._x1, this._y1);\r\n break;\r\n case 3:\r\n point(this, this._t0, slope2(this, this._t0));\r\n break;\r\n }\r\n if (this._line || (this._line !== 0 && this._point === 1))\r\n this._context.closePath();\r\n this._line = 1 - this._line;\r\n }\r\n point(x, y) {\r\n [x, y] = [y, x];\r\n let t1 = NaN;\r\n x = +x, y = +y;\r\n if (x === this._x1 && y === this._y1)\r\n return; // Ignore coincident points.\r\n switch (this._point) {\r\n case 0:\r\n this._point = 1;\r\n this._line ? this._context.lineTo(y, x) : this._context.moveTo(y, x);\r\n break;\r\n case 1:\r\n this._point = 2;\r\n break;\r\n case 2:\r\n this._point = 3;\r\n point(this, slope2(this, t1 = slope3(this, x, y)), t1);\r\n break;\r\n default:\r\n point(this, this._t0, t1 = slope3(this, x, y));\r\n break;\r\n }\r\n this._x0 = this._x1, this._x1 = x;\r\n this._y0 = this._y1, this._y1 = y;\r\n this._t0 = t1;\r\n }\r\n}\r\n/**\r\n * @ignore\r\n */\r\nexport function curveMonotoneYTension(tension) {\r\n function monotoneYTension(context) {\r\n return new MonotoneYTension(context, tension);\r\n }\r\n monotoneYTension.tension = function (tension) {\r\n return curveMonotoneYTension(+tension);\r\n };\r\n return monotoneYTension;\r\n}\r\n/**\r\n * @ignore\r\n */\r\nfunction sign(x) {\r\n return x < 0 ? -1 : 1;\r\n}\r\n/**\r\n * @ignore\r\n */\r\nfunction slope3(that, x2, y2) {\r\n let h0 = (that._x1 - that._x0);\r\n let h1 = (x2 - that._x1);\r\n let s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0);\r\n let s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0);\r\n let p = (s0 * h1 + s1 * h0) / (h0 + h1);\r\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\r\n}\r\n/**\r\n * @ignore\r\n */\r\nfunction slope2(that, t) {\r\n let h = that._x1 - that._x0;\r\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\r\n}\r\n/**\r\n * @ignore\r\n */\r\nfunction point(that, t0, t1) {\r\n let x0 = that._x0, y0 = that._y0, x1 = that._x1, y1 = that._y1, dx = (x1 - x0) / 1.5 * (1 - that._tension);\r\n that._context.bezierCurveTo(y0 + dx * t0, x0 + dx, y1 - dx * t1, x1 - dx, y1, x1);\r\n}\r\n//# sourceMappingURL=MonotoneYTension.js.map","import { LineSeries } from \"./LineSeries\";\r\nimport { curveMonotoneYTension } from \"../../../core/render/MonotoneYTension\";\r\n/**\r\n * Smoothed line series suitable for vertical plots.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/smoothed-series/} for more info\r\n */\r\nexport class SmoothedYLineSeries extends LineSeries {\r\n _afterNew() {\r\n this._setDefault(\"curveFactory\", curveMonotoneYTension(this.get(\"tension\", 0.5)));\r\n super._afterNew();\r\n }\r\n _updateChildren() {\r\n if (this.isDirty(\"tension\")) {\r\n this.set(\"curveFactory\", curveMonotoneYTension(this.get(\"tension\", 0.5)));\r\n this._valuesDirty = true;\r\n }\r\n super._updateChildren();\r\n }\r\n}\r\nObject.defineProperty(SmoothedYLineSeries, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"SmoothedYLineSeries\"\r\n});\r\nObject.defineProperty(SmoothedYLineSeries, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: LineSeries.classNames.concat([SmoothedYLineSeries.className])\r\n});\r\n//# sourceMappingURL=SmoothedYLineSeries.js.map","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import { LineSeries } from \"./LineSeries\";\r\nimport { curveCardinal } from \"d3-shape\";\r\n/**\r\n * Smoothed line series suitable for XY (scatter) charts\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/smoothed-series/} for more info\r\n */\r\nexport class SmoothedXYLineSeries extends LineSeries {\r\n _afterNew() {\r\n this._setDefault(\"curveFactory\", curveCardinal.tension(this.get(\"tension\", 0.5)));\r\n super._afterNew();\r\n }\r\n _updateChildren() {\r\n if (this.isDirty(\"tension\")) {\r\n this.set(\"curveFactory\", curveCardinal.tension(this.get(\"tension\", 0.5)));\r\n this._valuesDirty = true;\r\n }\r\n super._updateChildren();\r\n }\r\n}\r\nObject.defineProperty(SmoothedXYLineSeries, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"SmoothedXYLineSeries\"\r\n});\r\nObject.defineProperty(SmoothedXYLineSeries, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: LineSeries.classNames.concat([SmoothedXYLineSeries.className])\r\n});\r\n//# sourceMappingURL=SmoothedXYLineSeries.js.map","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","import { LineSeries } from \"./LineSeries\";\r\nimport { p100 } from \"../../../core/util/Percent\";\r\nimport { curveStepAfter } from \"d3-shape\";\r\nexport class StepLineSeries extends LineSeries {\r\n _afterNew() {\r\n this._setDefault(\"curveFactory\", curveStepAfter);\r\n super._afterNew();\r\n }\r\n _getPoints(dataItem, o) {\r\n let points = o.points;\r\n let width = this.get(\"stepWidth\", p100).value / 2;\r\n let itemLocationX0 = dataItem.get(\"locationX\", o.locationX);\r\n let itemLocationY0 = dataItem.get(\"locationY\", o.locationY);\r\n let itemLocationX1 = itemLocationX0;\r\n let itemLocationY1 = itemLocationY0;\r\n if (o.baseAxis === o.xAxis) {\r\n itemLocationX0 -= width;\r\n itemLocationX1 += width;\r\n }\r\n else if (o.baseAxis === o.yAxis) {\r\n itemLocationY0 -= width;\r\n itemLocationY1 += width;\r\n }\r\n let xPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xField, itemLocationX0, o.vcx);\r\n let yPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yField, itemLocationY0, o.vcy);\r\n let xPos1 = o.xAxis.getDataItemPositionX(dataItem, o.xField, itemLocationX1, o.vcx);\r\n let yPos1 = o.yAxis.getDataItemPositionY(dataItem, o.yField, itemLocationY1, o.vcy);\r\n if (this._shouldInclude(xPos0)) {\r\n const iPoint0 = this.getPoint(xPos0, yPos0);\r\n const point0 = [iPoint0.x, iPoint0.y];\r\n const iPoint1 = this.getPoint(xPos1, yPos1);\r\n const point1 = [iPoint1.x, iPoint1.y];\r\n if (o.fillVisible) {\r\n let xOpenPos0 = xPos0;\r\n let yOpenPos0 = yPos0;\r\n let xOpenPos1 = xPos1;\r\n let yOpenPos1 = yPos1;\r\n if (o.baseAxis === o.xAxis) {\r\n yOpenPos0 = o.basePosY;\r\n yOpenPos1 = o.basePosY;\r\n }\r\n else if (o.baseAxis === o.yAxis) {\r\n xOpenPos0 = o.basePosX;\r\n xOpenPos1 = o.basePosX;\r\n }\r\n if (o.getOpen) {\r\n let valueX = dataItem.get(o.xOpenField);\r\n let valueY = dataItem.get(o.yOpenField);\r\n if (valueX != null && valueY != null) {\r\n itemLocationX0 = dataItem.get(\"openLocationX\", o.openLocationX);\r\n itemLocationY0 = dataItem.get(\"openLocationY\", o.openLocationY);\r\n itemLocationX1 = itemLocationX0;\r\n itemLocationY1 = itemLocationY0;\r\n if (o.baseAxis === o.xAxis) {\r\n itemLocationX0 -= width;\r\n itemLocationX1 += width;\r\n }\r\n else if (o.baseAxis === o.yAxis) {\r\n itemLocationY0 -= width;\r\n itemLocationY1 += width;\r\n }\r\n if (o.stacked) {\r\n let stackToItemX = dataItem.get(\"stackToItemX\");\r\n let stackToItemY = dataItem.get(\"stackToItemY\");\r\n if (stackToItemX) {\r\n xOpenPos0 = o.xAxis.getDataItemPositionX(stackToItemX, o.xField, itemLocationX0, stackToItemX.component.get(\"vcx\"));\r\n xOpenPos1 = o.xAxis.getDataItemPositionX(stackToItemX, o.xField, itemLocationX1, stackToItemX.component.get(\"vcx\"));\r\n }\r\n else {\r\n if (o.yAxis === o.baseAxis) {\r\n xOpenPos0 = o.basePosX;\r\n xOpenPos1 = o.basePosX;\r\n }\r\n else if (o.baseAxis === o.yAxis) {\r\n xOpenPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX0, o.vcx);\r\n xOpenPos1 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX1, o.vcx);\r\n }\r\n }\r\n if (stackToItemY) {\r\n yOpenPos0 = o.yAxis.getDataItemPositionY(stackToItemY, o.yField, itemLocationY0, stackToItemY.component.get(\"vcy\"));\r\n yOpenPos1 = o.yAxis.getDataItemPositionY(stackToItemY, o.yField, itemLocationY1, stackToItemY.component.get(\"vcy\"));\r\n }\r\n else {\r\n if (o.xAxis === o.baseAxis) {\r\n yOpenPos0 = o.basePosY;\r\n yOpenPos1 = o.basePosY;\r\n }\r\n else if (o.baseAxis === o.yAxis) {\r\n yOpenPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY0, o.vcy);\r\n yOpenPos1 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY1, o.vcy);\r\n }\r\n }\r\n }\r\n else {\r\n xOpenPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX0, o.vcx);\r\n yOpenPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY0, o.vcy);\r\n xOpenPos1 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX1, o.vcx);\r\n yOpenPos1 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY1, o.vcy);\r\n }\r\n }\r\n }\r\n let closeIPoint0 = this.getPoint(xOpenPos0, yOpenPos0);\r\n let closeIPoint1 = this.getPoint(xOpenPos1, yOpenPos1);\r\n point0[2] = closeIPoint0.x;\r\n point0[3] = closeIPoint0.y;\r\n point1[2] = closeIPoint1.x;\r\n point1[3] = closeIPoint1.y;\r\n }\r\n points.push(point0);\r\n points.push(point1);\r\n dataItem.set(\"point\", { x: point0[0] + (point1[0] - point0[0]) / 2, y: point0[1] + (point1[1] - point0[1]) / 2 });\r\n }\r\n if (this.get(\"noRisers\")) {\r\n o.points = [];\r\n o.segments.push(points);\r\n }\r\n }\r\n}\r\nObject.defineProperty(StepLineSeries, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"StepLineSeries\"\r\n});\r\nObject.defineProperty(StepLineSeries, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: LineSeries.classNames.concat([StepLineSeries.className])\r\n});\r\n//# sourceMappingURL=StepLineSeries.js.map"],"sourceRoot":""}