@amcharts/amcharts5 5.2.50 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (889) hide show
  1. package/.internal/charts/flow/Chord.js +151 -199
  2. package/.internal/charts/flow/Chord.js.map +1 -1
  3. package/.internal/charts/flow/ChordDirected.js +46 -66
  4. package/.internal/charts/flow/ChordDirected.js.map +1 -1
  5. package/.internal/charts/flow/ChordLink.js +32 -42
  6. package/.internal/charts/flow/ChordLink.js.map +1 -1
  7. package/.internal/charts/flow/ChordLinkDirected.js +17 -29
  8. package/.internal/charts/flow/ChordLinkDirected.js.map +1 -1
  9. package/.internal/charts/flow/ChordNodes.js +70 -86
  10. package/.internal/charts/flow/ChordNodes.js.map +1 -1
  11. package/.internal/charts/flow/ChordNonRibbon.js +63 -91
  12. package/.internal/charts/flow/ChordNonRibbon.js.map +1 -1
  13. package/.internal/charts/flow/Flow.js +289 -356
  14. package/.internal/charts/flow/Flow.js.map +1 -1
  15. package/.internal/charts/flow/FlowDefaultTheme.js +187 -199
  16. package/.internal/charts/flow/FlowDefaultTheme.js.map +1 -1
  17. package/.internal/charts/flow/FlowLink.js +34 -49
  18. package/.internal/charts/flow/FlowLink.js.map +1 -1
  19. package/.internal/charts/flow/FlowNode.js +17 -22
  20. package/.internal/charts/flow/FlowNode.js.map +1 -1
  21. package/.internal/charts/flow/FlowNodes.js +141 -202
  22. package/.internal/charts/flow/FlowNodes.js.map +1 -1
  23. package/.internal/charts/flow/Sankey.js +165 -203
  24. package/.internal/charts/flow/Sankey.js.map +1 -1
  25. package/.internal/charts/flow/SankeyLink.js +207 -229
  26. package/.internal/charts/flow/SankeyLink.js.map +1 -1
  27. package/.internal/charts/flow/SankeyNodes.js +70 -90
  28. package/.internal/charts/flow/SankeyNodes.js.map +1 -1
  29. package/.internal/charts/funnel/FunnelSeries.js +353 -447
  30. package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
  31. package/.internal/charts/funnel/FunnelSlice.js +96 -117
  32. package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
  33. package/.internal/charts/funnel/PictorialStackedSeries.js +59 -79
  34. package/.internal/charts/funnel/PictorialStackedSeries.js.map +1 -1
  35. package/.internal/charts/funnel/PyramidSeries.js +106 -122
  36. package/.internal/charts/funnel/PyramidSeries.js.map +1 -1
  37. package/.internal/charts/funnel/SlicedChart.js +17 -29
  38. package/.internal/charts/funnel/SlicedChart.js.map +1 -1
  39. package/.internal/charts/hierarchy/BreadcrumbBar.js +69 -96
  40. package/.internal/charts/hierarchy/BreadcrumbBar.js.map +1 -1
  41. package/.internal/charts/hierarchy/ForceDirected.js +255 -370
  42. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  43. package/.internal/charts/hierarchy/Hierarchy.js +476 -640
  44. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  45. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js +337 -349
  46. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
  47. package/.internal/charts/hierarchy/HierarchyLink.js +43 -61
  48. package/.internal/charts/hierarchy/HierarchyLink.js.map +1 -1
  49. package/.internal/charts/hierarchy/HierarchyNode.js +57 -74
  50. package/.internal/charts/hierarchy/HierarchyNode.js.map +1 -1
  51. package/.internal/charts/hierarchy/LinkedHierarchy.js +229 -323
  52. package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
  53. package/.internal/charts/hierarchy/LinkedHierarchyNode.js +48 -80
  54. package/.internal/charts/hierarchy/LinkedHierarchyNode.js.map +1 -1
  55. package/.internal/charts/hierarchy/Pack.js +105 -147
  56. package/.internal/charts/hierarchy/Pack.js.map +1 -1
  57. package/.internal/charts/hierarchy/Partition.js +183 -230
  58. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  59. package/.internal/charts/hierarchy/Sunburst.js +259 -323
  60. package/.internal/charts/hierarchy/Sunburst.js.map +1 -1
  61. package/.internal/charts/hierarchy/Tree.js +49 -69
  62. package/.internal/charts/hierarchy/Tree.js.map +1 -1
  63. package/.internal/charts/hierarchy/Treemap.js +168 -209
  64. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  65. package/.internal/charts/map/GraticuleSeries.js +49 -70
  66. package/.internal/charts/map/GraticuleSeries.js.map +1 -1
  67. package/.internal/charts/map/MapChart.js +587 -751
  68. package/.internal/charts/map/MapChart.js.map +1 -1
  69. package/.internal/charts/map/MapChartDefaultTheme.js +98 -110
  70. package/.internal/charts/map/MapChartDefaultTheme.js.map +1 -1
  71. package/.internal/charts/map/MapLine.js +165 -196
  72. package/.internal/charts/map/MapLine.js.map +1 -1
  73. package/.internal/charts/map/MapLineSeries.js +130 -197
  74. package/.internal/charts/map/MapLineSeries.js.map +1 -1
  75. package/.internal/charts/map/MapPointSeries.d.ts +7 -2
  76. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  77. package/.internal/charts/map/MapPointSeries.js +265 -342
  78. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  79. package/.internal/charts/map/MapPolygon.js +86 -122
  80. package/.internal/charts/map/MapPolygon.js.map +1 -1
  81. package/.internal/charts/map/MapPolygonSeries.d.ts +6 -1
  82. package/.internal/charts/map/MapPolygonSeries.d.ts.map +1 -1
  83. package/.internal/charts/map/MapPolygonSeries.js +110 -170
  84. package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
  85. package/.internal/charts/map/MapSeries.d.ts +9 -3
  86. package/.internal/charts/map/MapSeries.d.ts.map +1 -1
  87. package/.internal/charts/map/MapSeries.js +212 -303
  88. package/.internal/charts/map/MapSeries.js.map +1 -1
  89. package/.internal/charts/map/MapUtils.js +19 -19
  90. package/.internal/charts/map/MapUtils.js.map +1 -1
  91. package/.internal/charts/map/ZoomControl.js +52 -67
  92. package/.internal/charts/map/ZoomControl.js.map +1 -1
  93. package/.internal/charts/percent/PercentChart.js +23 -40
  94. package/.internal/charts/percent/PercentChart.js.map +1 -1
  95. package/.internal/charts/percent/PercentDefaultTheme.js +196 -208
  96. package/.internal/charts/percent/PercentDefaultTheme.js.map +1 -1
  97. package/.internal/charts/percent/PercentSeries.js +378 -549
  98. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  99. package/.internal/charts/pie/PieChart.js +85 -110
  100. package/.internal/charts/pie/PieChart.js.map +1 -1
  101. package/.internal/charts/pie/PieSeries.js +175 -232
  102. package/.internal/charts/pie/PieSeries.js.map +1 -1
  103. package/.internal/charts/radar/AxisRendererCircular.js +219 -307
  104. package/.internal/charts/radar/AxisRendererCircular.js.map +1 -1
  105. package/.internal/charts/radar/AxisRendererRadial.js +188 -276
  106. package/.internal/charts/radar/AxisRendererRadial.js.map +1 -1
  107. package/.internal/charts/radar/ClockHand.js +89 -104
  108. package/.internal/charts/radar/ClockHand.js.map +1 -1
  109. package/.internal/charts/radar/RadarChart.js +142 -201
  110. package/.internal/charts/radar/RadarChart.js.map +1 -1
  111. package/.internal/charts/radar/RadarColumnSeries.js +118 -170
  112. package/.internal/charts/radar/RadarColumnSeries.js.map +1 -1
  113. package/.internal/charts/radar/RadarCursor.js +147 -220
  114. package/.internal/charts/radar/RadarCursor.js.map +1 -1
  115. package/.internal/charts/radar/RadarDefaultTheme.js +85 -97
  116. package/.internal/charts/radar/RadarDefaultTheme.js.map +1 -1
  117. package/.internal/charts/radar/RadarLineSeries.js +71 -113
  118. package/.internal/charts/radar/RadarLineSeries.js.map +1 -1
  119. package/.internal/charts/radar/SmoothedRadarLineSeries.js +33 -55
  120. package/.internal/charts/radar/SmoothedRadarLineSeries.js.map +1 -1
  121. package/.internal/charts/stock/PanelControls.js +49 -60
  122. package/.internal/charts/stock/PanelControls.js.map +1 -1
  123. package/.internal/charts/stock/SettingsModal.js +321 -393
  124. package/.internal/charts/stock/SettingsModal.js.map +1 -1
  125. package/.internal/charts/stock/StockChart.d.ts.map +1 -1
  126. package/.internal/charts/stock/StockChart.js +466 -568
  127. package/.internal/charts/stock/StockChart.js.map +1 -1
  128. package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -1
  129. package/.internal/charts/stock/StockChartDefaultTheme.js +1162 -1162
  130. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
  131. package/.internal/charts/stock/StockLegend.js +65 -91
  132. package/.internal/charts/stock/StockLegend.js.map +1 -1
  133. package/.internal/charts/stock/StockPanel.js +87 -119
  134. package/.internal/charts/stock/StockPanel.js.map +1 -1
  135. package/.internal/charts/stock/drawing/AverageSeries.d.ts.map +1 -1
  136. package/.internal/charts/stock/drawing/AverageSeries.js +48 -60
  137. package/.internal/charts/stock/drawing/AverageSeries.js.map +1 -1
  138. package/.internal/charts/stock/drawing/CalloutSeries.d.ts +7 -2
  139. package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -1
  140. package/.internal/charts/stock/drawing/CalloutSeries.js +90 -95
  141. package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
  142. package/.internal/charts/stock/drawing/DoodleSeries.d.ts.map +1 -1
  143. package/.internal/charts/stock/drawing/DoodleSeries.js +82 -122
  144. package/.internal/charts/stock/drawing/DoodleSeries.js.map +1 -1
  145. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +5 -3
  146. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
  147. package/.internal/charts/stock/drawing/DrawingSeries.js +519 -712
  148. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  149. package/.internal/charts/stock/drawing/EllipseSeries.d.ts +3 -0
  150. package/.internal/charts/stock/drawing/EllipseSeries.d.ts.map +1 -1
  151. package/.internal/charts/stock/drawing/EllipseSeries.js +258 -307
  152. package/.internal/charts/stock/drawing/EllipseSeries.js.map +1 -1
  153. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts +2 -3
  154. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts.map +1 -1
  155. package/.internal/charts/stock/drawing/FibonacciSeries.js +189 -250
  156. package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -1
  157. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.d.ts.map +1 -1
  158. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js +108 -103
  159. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js.map +1 -1
  160. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts +4 -2
  161. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts.map +1 -1
  162. package/.internal/charts/stock/drawing/HorizontalLineSeries.js +64 -84
  163. package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
  164. package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts +2 -1
  165. package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts.map +1 -1
  166. package/.internal/charts/stock/drawing/HorizontalRaySeries.js +57 -92
  167. package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -1
  168. package/.internal/charts/stock/drawing/IconSeries.d.ts +2 -4
  169. package/.internal/charts/stock/drawing/IconSeries.d.ts.map +1 -1
  170. package/.internal/charts/stock/drawing/IconSeries.js +112 -112
  171. package/.internal/charts/stock/drawing/IconSeries.js.map +1 -1
  172. package/.internal/charts/stock/drawing/LabelSeries.d.ts +5 -2
  173. package/.internal/charts/stock/drawing/LabelSeries.d.ts.map +1 -1
  174. package/.internal/charts/stock/drawing/LabelSeries.js +151 -172
  175. package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
  176. package/.internal/charts/stock/drawing/PolylineSeries.d.ts +1 -0
  177. package/.internal/charts/stock/drawing/PolylineSeries.d.ts.map +1 -1
  178. package/.internal/charts/stock/drawing/PolylineSeries.js +101 -122
  179. package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -1
  180. package/.internal/charts/stock/drawing/QuadrantLineSeries.d.ts.map +1 -1
  181. package/.internal/charts/stock/drawing/QuadrantLineSeries.js +115 -149
  182. package/.internal/charts/stock/drawing/QuadrantLineSeries.js.map +1 -1
  183. package/.internal/charts/stock/drawing/RectangleSeries.d.ts.map +1 -1
  184. package/.internal/charts/stock/drawing/RectangleSeries.js +117 -155
  185. package/.internal/charts/stock/drawing/RectangleSeries.js.map +1 -1
  186. package/.internal/charts/stock/drawing/RegressionSeries.d.ts.map +1 -1
  187. package/.internal/charts/stock/drawing/RegressionSeries.js +64 -82
  188. package/.internal/charts/stock/drawing/RegressionSeries.js.map +1 -1
  189. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts +6 -2
  190. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -1
  191. package/.internal/charts/stock/drawing/SimpleLineSeries.js +233 -303
  192. package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
  193. package/.internal/charts/stock/drawing/TrendLineSeries.d.ts.map +1 -1
  194. package/.internal/charts/stock/drawing/TrendLineSeries.js +40 -57
  195. package/.internal/charts/stock/drawing/TrendLineSeries.js.map +1 -1
  196. package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts +3 -1
  197. package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts.map +1 -1
  198. package/.internal/charts/stock/drawing/VerticalLineSeries.js +63 -79
  199. package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -1
  200. package/.internal/charts/stock/indicators/AccumulationDistribution.js +68 -88
  201. package/.internal/charts/stock/indicators/AccumulationDistribution.js.map +1 -1
  202. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js +107 -127
  203. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js.map +1 -1
  204. package/.internal/charts/stock/indicators/Aroon.js +85 -110
  205. package/.internal/charts/stock/indicators/Aroon.js.map +1 -1
  206. package/.internal/charts/stock/indicators/AwesomeOscillator.js +68 -88
  207. package/.internal/charts/stock/indicators/AwesomeOscillator.js.map +1 -1
  208. package/.internal/charts/stock/indicators/BollingerBands.js +109 -135
  209. package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
  210. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js +77 -97
  211. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js.map +1 -1
  212. package/.internal/charts/stock/indicators/ChaikinOscillator.js +75 -95
  213. package/.internal/charts/stock/indicators/ChaikinOscillator.js.map +1 -1
  214. package/.internal/charts/stock/indicators/ChartIndicator.js +86 -102
  215. package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
  216. package/.internal/charts/stock/indicators/CommodityChannelIndex.js +136 -161
  217. package/.internal/charts/stock/indicators/CommodityChannelIndex.js.map +1 -1
  218. package/.internal/charts/stock/indicators/DisparityIndex.js +69 -89
  219. package/.internal/charts/stock/indicators/DisparityIndex.js.map +1 -1
  220. package/.internal/charts/stock/indicators/Indicator.d.ts +1 -2
  221. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
  222. package/.internal/charts/stock/indicators/Indicator.js +286 -383
  223. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  224. package/.internal/charts/stock/indicators/MACD.js +129 -159
  225. package/.internal/charts/stock/indicators/MACD.js.map +1 -1
  226. package/.internal/charts/stock/indicators/MedianPrice.js +56 -71
  227. package/.internal/charts/stock/indicators/MedianPrice.js.map +1 -1
  228. package/.internal/charts/stock/indicators/MovingAverage.js +95 -115
  229. package/.internal/charts/stock/indicators/MovingAverage.js.map +1 -1
  230. package/.internal/charts/stock/indicators/MovingAverageDeviation.js +93 -118
  231. package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
  232. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js +114 -144
  233. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
  234. package/.internal/charts/stock/indicators/OnBalanceVolume.js +65 -85
  235. package/.internal/charts/stock/indicators/OnBalanceVolume.js.map +1 -1
  236. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js +162 -187
  237. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -1
  238. package/.internal/charts/stock/indicators/StandardDeviation.js +56 -72
  239. package/.internal/charts/stock/indicators/StandardDeviation.js.map +1 -1
  240. package/.internal/charts/stock/indicators/StochasticOscillator.js +142 -173
  241. package/.internal/charts/stock/indicators/StochasticOscillator.js.map +1 -1
  242. package/.internal/charts/stock/indicators/Trix.js +90 -120
  243. package/.internal/charts/stock/indicators/Trix.js.map +1 -1
  244. package/.internal/charts/stock/indicators/TypicalPrice.js +56 -71
  245. package/.internal/charts/stock/indicators/TypicalPrice.js.map +1 -1
  246. package/.internal/charts/stock/indicators/VWAP.js +78 -98
  247. package/.internal/charts/stock/indicators/VWAP.js.map +1 -1
  248. package/.internal/charts/stock/indicators/Volume.js +55 -75
  249. package/.internal/charts/stock/indicators/Volume.js.map +1 -1
  250. package/.internal/charts/stock/indicators/WilliamsR.js +138 -163
  251. package/.internal/charts/stock/indicators/WilliamsR.js.map +1 -1
  252. package/.internal/charts/stock/indicators/ZigZag.js +141 -161
  253. package/.internal/charts/stock/indicators/ZigZag.js.map +1 -1
  254. package/.internal/charts/stock/toolbar/ColorControl.js +78 -101
  255. package/.internal/charts/stock/toolbar/ColorControl.js.map +1 -1
  256. package/.internal/charts/stock/toolbar/ComparisonControl.js +16 -28
  257. package/.internal/charts/stock/toolbar/ComparisonControl.js.map +1 -1
  258. package/.internal/charts/stock/toolbar/DateRangeSelector.js +1157 -345
  259. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
  260. package/.internal/charts/stock/toolbar/DrawingControl.d.ts +26 -0
  261. package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -1
  262. package/.internal/charts/stock/toolbar/DrawingControl.js +754 -709
  263. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
  264. package/.internal/charts/stock/toolbar/DrawingToolControl.js +80 -119
  265. package/.internal/charts/stock/toolbar/DrawingToolControl.js.map +1 -1
  266. package/.internal/charts/stock/toolbar/Dropdown.js +102 -150
  267. package/.internal/charts/stock/toolbar/Dropdown.js.map +1 -1
  268. package/.internal/charts/stock/toolbar/DropdownColors.js +92 -141
  269. package/.internal/charts/stock/toolbar/DropdownColors.js.map +1 -1
  270. package/.internal/charts/stock/toolbar/DropdownList.js +186 -249
  271. package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
  272. package/.internal/charts/stock/toolbar/DropdownListControl.js +117 -150
  273. package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
  274. package/.internal/charts/stock/toolbar/IconControl.js +81 -120
  275. package/.internal/charts/stock/toolbar/IconControl.js.map +1 -1
  276. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts +23 -1
  277. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts.map +1 -1
  278. package/.internal/charts/stock/toolbar/IndicatorControl.js +352 -297
  279. package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -1
  280. package/.internal/charts/stock/toolbar/IntervalControl.js +16 -28
  281. package/.internal/charts/stock/toolbar/IntervalControl.js.map +1 -1
  282. package/.internal/charts/stock/toolbar/PeriodSelector.js +141 -189
  283. package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
  284. package/.internal/charts/stock/toolbar/ResetControl.js +26 -44
  285. package/.internal/charts/stock/toolbar/ResetControl.js.map +1 -1
  286. package/.internal/charts/stock/toolbar/SeriesTypeControl.js +14 -21
  287. package/.internal/charts/stock/toolbar/SeriesTypeControl.js.map +1 -1
  288. package/.internal/charts/stock/toolbar/SettingsControl.js +97 -140
  289. package/.internal/charts/stock/toolbar/SettingsControl.js.map +1 -1
  290. package/.internal/charts/stock/toolbar/StockControl.js +114 -177
  291. package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
  292. package/.internal/charts/stock/toolbar/StockIcons.js +67 -81
  293. package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -1
  294. package/.internal/charts/stock/toolbar/StockToolbar.js +63 -94
  295. package/.internal/charts/stock/toolbar/StockToolbar.js.map +1 -1
  296. package/.internal/charts/stock/toolbar/StockToolbarCSS.js +11 -11
  297. package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -1
  298. package/.internal/charts/venn/Venn.js +276 -373
  299. package/.internal/charts/venn/Venn.js.map +1 -1
  300. package/.internal/charts/venn/VennDefaultTheme.js +18 -30
  301. package/.internal/charts/venn/VennDefaultTheme.js.map +1 -1
  302. package/.internal/charts/wordcloud/WordCloud.js +381 -452
  303. package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
  304. package/.internal/charts/wordcloud/WordCloudDefaultTheme.js +35 -48
  305. package/.internal/charts/wordcloud/WordCloudDefaultTheme.js.map +1 -1
  306. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  307. package/.internal/charts/xy/XYChart.js +946 -1124
  308. package/.internal/charts/xy/XYChart.js.map +1 -1
  309. package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
  310. package/.internal/charts/xy/XYChartDefaultTheme.js +596 -604
  311. package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
  312. package/.internal/charts/xy/XYChartScrollbar.js +78 -95
  313. package/.internal/charts/xy/XYChartScrollbar.js.map +1 -1
  314. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  315. package/.internal/charts/xy/XYCursor.js +468 -608
  316. package/.internal/charts/xy/XYCursor.js.map +1 -1
  317. package/.internal/charts/xy/axes/Axis.d.ts +0 -2
  318. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  319. package/.internal/charts/xy/axes/Axis.js +509 -726
  320. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  321. package/.internal/charts/xy/axes/AxisBullet.js +30 -40
  322. package/.internal/charts/xy/axes/AxisBullet.js.map +1 -1
  323. package/.internal/charts/xy/axes/AxisLabel.js +17 -22
  324. package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
  325. package/.internal/charts/xy/axes/AxisLabelRadial.js +17 -22
  326. package/.internal/charts/xy/axes/AxisLabelRadial.js.map +1 -1
  327. package/.internal/charts/xy/axes/AxisRenderer.js +186 -302
  328. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  329. package/.internal/charts/xy/axes/AxisRendererX.js +308 -400
  330. package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
  331. package/.internal/charts/xy/axes/AxisRendererY.js +319 -421
  332. package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
  333. package/.internal/charts/xy/axes/AxisTick.js +17 -22
  334. package/.internal/charts/xy/axes/AxisTick.js.map +1 -1
  335. package/.internal/charts/xy/axes/CategoryAxis.js +312 -454
  336. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  337. package/.internal/charts/xy/axes/CategoryDateAxis.js +136 -167
  338. package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
  339. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  340. package/.internal/charts/xy/axes/DateAxis.js +581 -758
  341. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  342. package/.internal/charts/xy/axes/DurationAxis.js +92 -128
  343. package/.internal/charts/xy/axes/DurationAxis.js.map +1 -1
  344. package/.internal/charts/xy/axes/GaplessDateAxis.js +207 -254
  345. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  346. package/.internal/charts/xy/axes/Grid.js +19 -31
  347. package/.internal/charts/xy/axes/Grid.js.map +1 -1
  348. package/.internal/charts/xy/axes/ValueAxis.js +848 -1041
  349. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  350. package/.internal/charts/xy/series/BaseColumnSeries.js +480 -576
  351. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  352. package/.internal/charts/xy/series/Candlestick.js +27 -44
  353. package/.internal/charts/xy/series/Candlestick.js.map +1 -1
  354. package/.internal/charts/xy/series/CandlestickSeries.js +114 -140
  355. package/.internal/charts/xy/series/CandlestickSeries.js.map +1 -1
  356. package/.internal/charts/xy/series/ColumnSeries.js +33 -49
  357. package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
  358. package/.internal/charts/xy/series/LineSeries.js +447 -548
  359. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  360. package/.internal/charts/xy/series/OHLC.js +36 -48
  361. package/.internal/charts/xy/series/OHLC.js.map +1 -1
  362. package/.internal/charts/xy/series/OHLCSeries.js +32 -48
  363. package/.internal/charts/xy/series/OHLCSeries.js.map +1 -1
  364. package/.internal/charts/xy/series/SmoothedXLineSeries.js +23 -40
  365. package/.internal/charts/xy/series/SmoothedXLineSeries.js.map +1 -1
  366. package/.internal/charts/xy/series/SmoothedXYLineSeries.js +23 -40
  367. package/.internal/charts/xy/series/SmoothedXYLineSeries.js.map +1 -1
  368. package/.internal/charts/xy/series/SmoothedYLineSeries.js +23 -40
  369. package/.internal/charts/xy/series/SmoothedYLineSeries.js.map +1 -1
  370. package/.internal/charts/xy/series/StepLineSeries.js +114 -131
  371. package/.internal/charts/xy/series/StepLineSeries.js.map +1 -1
  372. package/.internal/charts/xy/series/XYSeries.d.ts +7 -1
  373. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  374. package/.internal/charts/xy/series/XYSeries.js +946 -1219
  375. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  376. package/.internal/core/Classes.d.ts +11 -7
  377. package/.internal/core/Classes.d.ts.map +1 -1
  378. package/.internal/core/Classes.js.map +1 -1
  379. package/.internal/core/Registry.d.ts.map +1 -1
  380. package/.internal/core/Registry.js +6 -8
  381. package/.internal/core/Registry.js.map +1 -1
  382. package/.internal/core/Root.d.ts +20 -0
  383. package/.internal/core/Root.d.ts.map +1 -1
  384. package/.internal/core/Root.js +1006 -1241
  385. package/.internal/core/Root.js.map +1 -1
  386. package/.internal/core/Theme.js +38 -67
  387. package/.internal/core/Theme.js.map +1 -1
  388. package/.internal/core/render/Bullet.js +34 -49
  389. package/.internal/core/render/Bullet.js.map +1 -1
  390. package/.internal/core/render/Button.js +47 -64
  391. package/.internal/core/render/Button.js.map +1 -1
  392. package/.internal/core/render/Chart.js +20 -25
  393. package/.internal/core/render/Chart.js.map +1 -1
  394. package/.internal/core/render/Circle.js +24 -41
  395. package/.internal/core/render/Circle.js.map +1 -1
  396. package/.internal/core/render/Component.js +239 -384
  397. package/.internal/core/render/Component.js.map +1 -1
  398. package/.internal/core/render/Container.d.ts.map +1 -1
  399. package/.internal/core/render/Container.js +444 -548
  400. package/.internal/core/render/Container.js.map +1 -1
  401. package/.internal/core/render/Ellipse.js +24 -41
  402. package/.internal/core/render/Ellipse.js.map +1 -1
  403. package/.internal/core/render/Graphics.d.ts.map +1 -1
  404. package/.internal/core/render/Graphics.js +197 -215
  405. package/.internal/core/render/Graphics.js.map +1 -1
  406. package/.internal/core/render/GridLayout.js +102 -125
  407. package/.internal/core/render/GridLayout.js.map +1 -1
  408. package/.internal/core/render/HeatLegend.js +129 -154
  409. package/.internal/core/render/HeatLegend.js.map +1 -1
  410. package/.internal/core/render/HorizontalLayout.js +79 -91
  411. package/.internal/core/render/HorizontalLayout.js.map +1 -1
  412. package/.internal/core/render/Label.js +109 -150
  413. package/.internal/core/render/Label.js.map +1 -1
  414. package/.internal/core/render/Layout.js +14 -21
  415. package/.internal/core/render/Layout.js.map +1 -1
  416. package/.internal/core/render/Legend.js +230 -282
  417. package/.internal/core/render/Legend.js.map +1 -1
  418. package/.internal/core/render/Line.js +37 -54
  419. package/.internal/core/render/Line.js.map +1 -1
  420. package/.internal/core/render/MonotoneXTension.js +58 -85
  421. package/.internal/core/render/MonotoneXTension.js.map +1 -1
  422. package/.internal/core/render/MonotoneYTension.js +59 -88
  423. package/.internal/core/render/MonotoneYTension.js.map +1 -1
  424. package/.internal/core/render/Picture.js +92 -113
  425. package/.internal/core/render/Picture.js.map +1 -1
  426. package/.internal/core/render/PointedRectangle.js +94 -111
  427. package/.internal/core/render/PointedRectangle.js.map +1 -1
  428. package/.internal/core/render/RadialLabel.js +119 -158
  429. package/.internal/core/render/RadialLabel.js.map +1 -1
  430. package/.internal/core/render/RadialText.js +47 -62
  431. package/.internal/core/render/RadialText.js.map +1 -1
  432. package/.internal/core/render/Rectangle.js +31 -58
  433. package/.internal/core/render/Rectangle.js.map +1 -1
  434. package/.internal/core/render/RoundedRectangle.js +55 -72
  435. package/.internal/core/render/RoundedRectangle.js.map +1 -1
  436. package/.internal/core/render/Scrollbar.js +292 -349
  437. package/.internal/core/render/Scrollbar.js.map +1 -1
  438. package/.internal/core/render/SerialChart.js +64 -85
  439. package/.internal/core/render/SerialChart.js.map +1 -1
  440. package/.internal/core/render/Series.js +472 -660
  441. package/.internal/core/render/Series.js.map +1 -1
  442. package/.internal/core/render/Slice.js +83 -103
  443. package/.internal/core/render/Slice.js.map +1 -1
  444. package/.internal/core/render/Slider.js +25 -42
  445. package/.internal/core/render/Slider.js.map +1 -1
  446. package/.internal/core/render/Sprite.d.ts +17 -1
  447. package/.internal/core/render/Sprite.d.ts.map +1 -1
  448. package/.internal/core/render/Sprite.js +1307 -1777
  449. package/.internal/core/render/Sprite.js.map +1 -1
  450. package/.internal/core/render/SpriteResizer.js +157 -199
  451. package/.internal/core/render/SpriteResizer.js.map +1 -1
  452. package/.internal/core/render/Star.js +37 -54
  453. package/.internal/core/render/Star.js.map +1 -1
  454. package/.internal/core/render/Text.d.ts.map +1 -1
  455. package/.internal/core/render/Text.js +145 -182
  456. package/.internal/core/render/Text.js.map +1 -1
  457. package/.internal/core/render/Tick.js +14 -21
  458. package/.internal/core/render/Tick.js.map +1 -1
  459. package/.internal/core/render/Tooltip.d.ts +0 -1
  460. package/.internal/core/render/Tooltip.d.ts.map +1 -1
  461. package/.internal/core/render/Tooltip.js +272 -333
  462. package/.internal/core/render/Tooltip.js.map +1 -1
  463. package/.internal/core/render/Triangle.js +38 -65
  464. package/.internal/core/render/Triangle.js.map +1 -1
  465. package/.internal/core/render/VerticalLayout.js +79 -91
  466. package/.internal/core/render/VerticalLayout.js.map +1 -1
  467. package/.internal/core/render/backend/CanvasRenderer.d.ts +2 -2
  468. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  469. package/.internal/core/render/backend/CanvasRenderer.js +2806 -3721
  470. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  471. package/.internal/core/render/backend/Renderer.d.ts +1 -0
  472. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  473. package/.internal/core/render/backend/Renderer.js.map +1 -1
  474. package/.internal/core/render/gradients/Gradient.js +45 -72
  475. package/.internal/core/render/gradients/Gradient.js.map +1 -1
  476. package/.internal/core/render/gradients/LinearGradient.js +53 -65
  477. package/.internal/core/render/gradients/LinearGradient.js.map +1 -1
  478. package/.internal/core/render/gradients/RadialGradient.js +69 -81
  479. package/.internal/core/render/gradients/RadialGradient.js.map +1 -1
  480. package/.internal/core/render/patterns/CirclePattern.js +64 -81
  481. package/.internal/core/render/patterns/CirclePattern.js.map +1 -1
  482. package/.internal/core/render/patterns/LinePattern.js +49 -66
  483. package/.internal/core/render/patterns/LinePattern.js.map +1 -1
  484. package/.internal/core/render/patterns/PathPattern.js +72 -89
  485. package/.internal/core/render/patterns/PathPattern.js.map +1 -1
  486. package/.internal/core/render/patterns/Pattern.js +54 -83
  487. package/.internal/core/render/patterns/Pattern.js.map +1 -1
  488. package/.internal/core/render/patterns/PicturePattern.js +69 -90
  489. package/.internal/core/render/patterns/PicturePattern.js.map +1 -1
  490. package/.internal/core/render/patterns/RectanglePattern.js +65 -82
  491. package/.internal/core/render/patterns/RectanglePattern.js.map +1 -1
  492. package/.internal/core/util/Animation.js +102 -151
  493. package/.internal/core/util/Animation.js.map +1 -1
  494. package/.internal/core/util/Array.js +48 -49
  495. package/.internal/core/util/Array.js.map +1 -1
  496. package/.internal/core/util/AsyncPending.js +15 -15
  497. package/.internal/core/util/AsyncPending.js.map +1 -1
  498. package/.internal/core/util/Benchmark.js +37 -55
  499. package/.internal/core/util/Benchmark.js.map +1 -1
  500. package/.internal/core/util/Children.js +42 -67
  501. package/.internal/core/util/Children.js.map +1 -1
  502. package/.internal/core/util/Color.js +110 -206
  503. package/.internal/core/util/Color.js.map +1 -1
  504. package/.internal/core/util/ColorSet.js +73 -110
  505. package/.internal/core/util/ColorSet.js.map +1 -1
  506. package/.internal/core/util/Counter.js +13 -25
  507. package/.internal/core/util/Counter.js.map +1 -1
  508. package/.internal/core/util/Data.js +28 -70
  509. package/.internal/core/util/Data.js.map +1 -1
  510. package/.internal/core/util/DataParser.js +145 -178
  511. package/.internal/core/util/DataParser.js.map +1 -1
  512. package/.internal/core/util/DataProcessor.js +89 -144
  513. package/.internal/core/util/DataProcessor.js.map +1 -1
  514. package/.internal/core/util/DateFormatter.d.ts.map +1 -1
  515. package/.internal/core/util/DateFormatter.js +795 -901
  516. package/.internal/core/util/DateFormatter.js.map +1 -1
  517. package/.internal/core/util/Disposer.js +82 -159
  518. package/.internal/core/util/Disposer.js.map +1 -1
  519. package/.internal/core/util/Draw.js +27 -27
  520. package/.internal/core/util/Draw.js.map +1 -1
  521. package/.internal/core/util/DurationFormatter.js +343 -409
  522. package/.internal/core/util/DurationFormatter.js.map +1 -1
  523. package/.internal/core/util/Ease.js +6 -6
  524. package/.internal/core/util/Entity.d.ts +5 -1
  525. package/.internal/core/util/Entity.d.ts.map +1 -1
  526. package/.internal/core/util/Entity.js +869 -1442
  527. package/.internal/core/util/Entity.js.map +1 -1
  528. package/.internal/core/util/EventDispatcher.js +216 -346
  529. package/.internal/core/util/EventDispatcher.js.map +1 -1
  530. package/.internal/core/util/InterfaceColors.js +14 -21
  531. package/.internal/core/util/InterfaceColors.js.map +1 -1
  532. package/.internal/core/util/Language.js +63 -123
  533. package/.internal/core/util/Language.js.map +1 -1
  534. package/.internal/core/util/List.js +244 -441
  535. package/.internal/core/util/List.js.map +1 -1
  536. package/.internal/core/util/Math.js +35 -35
  537. package/.internal/core/util/Math.js.map +1 -1
  538. package/.internal/core/util/Matrix.js +56 -95
  539. package/.internal/core/util/Matrix.js.map +1 -1
  540. package/.internal/core/util/Modal.js +103 -147
  541. package/.internal/core/util/Modal.js.map +1 -1
  542. package/.internal/core/util/Net.js +19 -19
  543. package/.internal/core/util/Net.js.map +1 -1
  544. package/.internal/core/util/NumberFormatter.js +393 -442
  545. package/.internal/core/util/NumberFormatter.js.map +1 -1
  546. package/.internal/core/util/Object.js +4 -4
  547. package/.internal/core/util/Object.js.map +1 -1
  548. package/.internal/core/util/Order.js +5 -5
  549. package/.internal/core/util/Order.js.map +1 -1
  550. package/.internal/core/util/Percent.js +65 -90
  551. package/.internal/core/util/Percent.js.map +1 -1
  552. package/.internal/core/util/PopulateString.js +28 -28
  553. package/.internal/core/util/PopulateString.js.map +1 -1
  554. package/.internal/core/util/ResizeSensor.js +76 -116
  555. package/.internal/core/util/ResizeSensor.js.map +1 -1
  556. package/.internal/core/util/States.js +116 -188
  557. package/.internal/core/util/States.js.map +1 -1
  558. package/.internal/core/util/Template.js +203 -364
  559. package/.internal/core/util/Template.js.map +1 -1
  560. package/.internal/core/util/TextFormatter.js +148 -184
  561. package/.internal/core/util/TextFormatter.js.map +1 -1
  562. package/.internal/core/util/Throttler.js +18 -26
  563. package/.internal/core/util/Throttler.js.map +1 -1
  564. package/.internal/core/util/Time.d.ts.map +1 -1
  565. package/.internal/core/util/Time.js +61 -63
  566. package/.internal/core/util/Time.js.map +1 -1
  567. package/.internal/core/util/Timezone.js +35 -57
  568. package/.internal/core/util/Timezone.js.map +1 -1
  569. package/.internal/core/util/Type.js +12 -12
  570. package/.internal/core/util/Type.js.map +1 -1
  571. package/.internal/core/util/Utils.d.ts +17 -0
  572. package/.internal/core/util/Utils.d.ts.map +1 -1
  573. package/.internal/core/util/Utils.js +166 -182
  574. package/.internal/core/util/Utils.js.map +1 -1
  575. package/.internal/core/util/Value.js +14 -30
  576. package/.internal/core/util/Value.js.map +1 -1
  577. package/.internal/plugins/exporting/Annotator.js +139 -265
  578. package/.internal/plugins/exporting/Annotator.js.map +1 -1
  579. package/.internal/plugins/exporting/Exporting.js +1216 -1614
  580. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  581. package/.internal/plugins/exporting/ExportingCSS.js +5 -5
  582. package/.internal/plugins/exporting/ExportingCSS.js.map +1 -1
  583. package/.internal/plugins/exporting/ExportingMenu.js +337 -405
  584. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  585. package/.internal/plugins/json/Classes-script.d.ts +16 -0
  586. package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
  587. package/.internal/plugins/json/Classes-script.js +202 -194
  588. package/.internal/plugins/json/Classes-script.js.map +1 -1
  589. package/.internal/plugins/json/Classes.d.ts +16 -0
  590. package/.internal/plugins/json/Classes.d.ts.map +1 -1
  591. package/.internal/plugins/json/Classes.js +202 -194
  592. package/.internal/plugins/json/Classes.js.map +1 -1
  593. package/.internal/plugins/json/Json.d.ts +42 -2
  594. package/.internal/plugins/json/Json.d.ts.map +1 -1
  595. package/.internal/plugins/json/Json.js +391 -278
  596. package/.internal/plugins/json/Json.js.map +1 -1
  597. package/.internal/plugins/json/Serializer.d.ts +62 -0
  598. package/.internal/plugins/json/Serializer.d.ts.map +1 -0
  599. package/.internal/plugins/json/Serializer.js +137 -0
  600. package/.internal/plugins/json/Serializer.js.map +1 -0
  601. package/.internal/plugins/sliceGrouper/SliceGrouper.js +159 -202
  602. package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -1
  603. package/.internal/themes/AnimatedTheme.js +20 -32
  604. package/.internal/themes/AnimatedTheme.js.map +1 -1
  605. package/.internal/themes/DarkTheme.js +28 -40
  606. package/.internal/themes/DarkTheme.js.map +1 -1
  607. package/.internal/themes/DatavizTheme.js +12 -24
  608. package/.internal/themes/DatavizTheme.js.map +1 -1
  609. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  610. package/.internal/themes/DefaultTheme.js +803 -812
  611. package/.internal/themes/DefaultTheme.js.map +1 -1
  612. package/.internal/themes/FrozenTheme.js +19 -31
  613. package/.internal/themes/FrozenTheme.js.map +1 -1
  614. package/.internal/themes/KellyTheme.js +31 -43
  615. package/.internal/themes/KellyTheme.js.map +1 -1
  616. package/.internal/themes/MaterialTheme.js +28 -40
  617. package/.internal/themes/MaterialTheme.js.map +1 -1
  618. package/.internal/themes/MicrochartTheme.js +67 -79
  619. package/.internal/themes/MicrochartTheme.js.map +1 -1
  620. package/.internal/themes/MoonriseTheme.js +19 -31
  621. package/.internal/themes/MoonriseTheme.js.map +1 -1
  622. package/.internal/themes/ResponsiveTheme.js +613 -790
  623. package/.internal/themes/ResponsiveTheme.js.map +1 -1
  624. package/.internal/themes/SpiritedTheme.js +19 -31
  625. package/.internal/themes/SpiritedTheme.js.map +1 -1
  626. package/CHANGELOG.md +37 -0
  627. package/examples/javascript/flow-chord/package.json +1 -1
  628. package/examples/javascript/flow-chord-directed/package.json +1 -1
  629. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  630. package/examples/javascript/flow-sankey/package.json +1 -1
  631. package/examples/javascript/gauge/package.json +1 -1
  632. package/examples/javascript/gauge-bands/index.js +3 -1
  633. package/examples/javascript/gauge-bands/package.json +1 -1
  634. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  635. package/examples/javascript/hierarchy-pack/package.json +1 -1
  636. package/examples/javascript/hierarchy-partition/package.json +1 -1
  637. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  638. package/examples/javascript/hierarchy-tree/package.json +1 -1
  639. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  640. package/examples/javascript/jest/package.json +1 -1
  641. package/examples/javascript/{json → json-pie}/README.md +0 -0
  642. package/examples/javascript/{json → json-pie}/index.css +0 -0
  643. package/examples/javascript/json-pie/index.html +12 -0
  644. package/examples/javascript/json-pie/index.js +77 -0
  645. package/examples/javascript/json-pie/package.json +16 -0
  646. package/examples/javascript/{json → json-pie}/webpack.config.js +0 -0
  647. package/examples/{typescript/json → javascript/json-xy}/README.md +0 -0
  648. package/examples/{typescript/json → javascript/json-xy}/index.css +0 -0
  649. package/examples/{typescript/json → javascript/json-xy}/index.html +1 -1
  650. package/examples/javascript/json-xy/index.js +203 -0
  651. package/examples/javascript/{json → json-xy}/package.json +2 -2
  652. package/examples/javascript/json-xy/webpack.config.js +38 -0
  653. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  654. package/examples/javascript/map-day-and-night/package.json +1 -1
  655. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  656. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  657. package/examples/javascript/map-with-bubbles/package.json +1 -1
  658. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  659. package/examples/javascript/misc-40-charts/package.json +1 -1
  660. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  661. package/examples/javascript/pie-chart/package.json +1 -1
  662. package/examples/javascript/pie-donut-chart/package.json +1 -1
  663. package/examples/javascript/pie-variable-radius/package.json +1 -1
  664. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  665. package/examples/javascript/radar-heat-map/index.js +33 -33
  666. package/examples/javascript/radar-heat-map/package.json +1 -1
  667. package/examples/javascript/radar-line/package.json +1 -1
  668. package/examples/javascript/radar-time-line/package.json +1 -1
  669. package/examples/javascript/sliced-funnel/package.json +1 -1
  670. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  671. package/examples/javascript/sliced-pyramid/package.json +1 -1
  672. package/examples/javascript/stock-chart/package.json +1 -1
  673. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  674. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  675. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  676. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  677. package/examples/javascript/stock-chart-live/package.json +1 -1
  678. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  679. package/examples/javascript/venn-diagram/package.json +1 -1
  680. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  681. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  682. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  683. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  684. package/examples/javascript/xy-bubble/package.json +1 -1
  685. package/examples/javascript/xy-candlestick/package.json +1 -1
  686. package/examples/javascript/xy-clustered-column/package.json +1 -1
  687. package/examples/javascript/xy-column/package.json +1 -1
  688. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  689. package/examples/javascript/xy-data-grouping/package.json +1 -1
  690. package/examples/javascript/xy-draggable-range/package.json +1 -1
  691. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  692. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  693. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  694. package/examples/javascript/xy-line/package.json +1 -1
  695. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  696. package/examples/javascript/xy-live-data/package.json +1 -1
  697. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  698. package/examples/javascript/xy-ohlc/package.json +1 -1
  699. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  700. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  701. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  702. package/examples/javascript/xy-stacked-column/package.json +1 -1
  703. package/examples/javascript/xy-stacked-step/package.json +1 -1
  704. package/examples/javascript/xy-stock/package.json +1 -1
  705. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  706. package/examples/typescript/flow-chord/package.json +1 -1
  707. package/examples/typescript/flow-chord/tsconfig.json +1 -1
  708. package/examples/typescript/flow-chord-directed/package.json +1 -1
  709. package/examples/typescript/flow-chord-directed/tsconfig.json +1 -1
  710. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  711. package/examples/typescript/flow-chord-non-ribbon/tsconfig.json +1 -1
  712. package/examples/typescript/flow-sankey/package.json +1 -1
  713. package/examples/typescript/flow-sankey/tsconfig.json +1 -1
  714. package/examples/typescript/gauge/package.json +1 -1
  715. package/examples/typescript/gauge/tsconfig.json +1 -1
  716. package/examples/typescript/gauge-bands/index.ts +3 -1
  717. package/examples/typescript/gauge-bands/package.json +1 -1
  718. package/examples/typescript/gauge-bands/tsconfig.json +1 -1
  719. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  720. package/examples/typescript/hierarchy-force-directed/tsconfig.json +1 -1
  721. package/examples/typescript/hierarchy-pack/package.json +1 -1
  722. package/examples/typescript/hierarchy-pack/tsconfig.json +1 -1
  723. package/examples/typescript/hierarchy-partition/package.json +1 -1
  724. package/examples/typescript/hierarchy-partition/tsconfig.json +1 -1
  725. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  726. package/examples/typescript/hierarchy-sunburst/tsconfig.json +1 -1
  727. package/examples/typescript/hierarchy-tree/package.json +1 -1
  728. package/examples/typescript/hierarchy-tree/tsconfig.json +1 -1
  729. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  730. package/examples/typescript/hierarchy-treemap/tsconfig.json +1 -1
  731. package/examples/typescript/jest/package.json +1 -1
  732. package/examples/typescript/jest/tsconfig.json +1 -1
  733. package/examples/typescript/json-pie/README.md +6 -0
  734. package/examples/typescript/json-pie/index.css +11 -0
  735. package/examples/typescript/json-pie/index.html +12 -0
  736. package/examples/typescript/json-pie/index.ts +77 -0
  737. package/examples/typescript/json-pie/package.json +18 -0
  738. package/examples/typescript/{json → json-pie}/tsconfig.json +1 -1
  739. package/examples/typescript/{json → json-pie}/webpack.config.js +0 -0
  740. package/examples/typescript/json-xy/README.md +6 -0
  741. package/examples/typescript/json-xy/index.css +11 -0
  742. package/examples/{javascript/json → typescript/json-xy}/index.html +1 -1
  743. package/examples/typescript/json-xy/index.ts +203 -0
  744. package/examples/typescript/{json → json-xy}/package.json +2 -2
  745. package/examples/typescript/json-xy/tsconfig.json +12 -0
  746. package/examples/typescript/json-xy/webpack.config.js +45 -0
  747. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  748. package/examples/typescript/map-animating-along-lines/tsconfig.json +1 -1
  749. package/examples/typescript/map-day-and-night/package.json +1 -1
  750. package/examples/typescript/map-day-and-night/tsconfig.json +1 -1
  751. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  752. package/examples/typescript/map-globe-rotate-to-country/tsconfig.json +1 -1
  753. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  754. package/examples/typescript/map-globe-with-projected-circles/tsconfig.json +1 -1
  755. package/examples/typescript/map-with-bubbles/package.json +1 -1
  756. package/examples/typescript/map-with-bubbles/tsconfig.json +1 -1
  757. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  758. package/examples/typescript/map-zoom-to-country/tsconfig.json +1 -1
  759. package/examples/typescript/misc-40-charts/package.json +1 -1
  760. package/examples/typescript/misc-40-charts/tsconfig.json +1 -1
  761. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  762. package/examples/typescript/misc-microchart-grid/tsconfig.json +1 -1
  763. package/examples/typescript/pie-chart/package.json +1 -1
  764. package/examples/typescript/pie-chart/tsconfig.json +1 -1
  765. package/examples/typescript/pie-donut-chart/package.json +1 -1
  766. package/examples/typescript/pie-donut-chart/tsconfig.json +1 -1
  767. package/examples/typescript/pie-variable-radius/package.json +1 -1
  768. package/examples/typescript/pie-variable-radius/tsconfig.json +1 -1
  769. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  770. package/examples/typescript/radar-column-iwatch-style/tsconfig.json +1 -1
  771. package/examples/typescript/radar-heat-map/index.ts +33 -33
  772. package/examples/typescript/radar-heat-map/package.json +1 -1
  773. package/examples/typescript/radar-heat-map/tsconfig.json +1 -1
  774. package/examples/typescript/radar-line/package.json +1 -1
  775. package/examples/typescript/radar-line/tsconfig.json +1 -1
  776. package/examples/typescript/radar-time-line/package.json +1 -1
  777. package/examples/typescript/radar-time-line/tsconfig.json +1 -1
  778. package/examples/typescript/sliced-funnel/package.json +1 -1
  779. package/examples/typescript/sliced-funnel/tsconfig.json +1 -1
  780. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  781. package/examples/typescript/sliced-pictorial-stacked/tsconfig.json +1 -1
  782. package/examples/typescript/sliced-pyramid/package.json +1 -1
  783. package/examples/typescript/sliced-pyramid/tsconfig.json +1 -1
  784. package/examples/typescript/stock-chart/package.json +1 -1
  785. package/examples/typescript/stock-chart/tsconfig.json +1 -1
  786. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  787. package/examples/typescript/stock-chart-comparing-stocks/tsconfig.json +1 -1
  788. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  789. package/examples/typescript/stock-chart-data-granularity/tsconfig.json +1 -1
  790. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  791. package/examples/typescript/stock-chart-data-grouping/tsconfig.json +1 -1
  792. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  793. package/examples/typescript/stock-chart-intraday/tsconfig.json +1 -1
  794. package/examples/typescript/stock-chart-live/package.json +1 -1
  795. package/examples/typescript/stock-chart-live/tsconfig.json +1 -1
  796. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  797. package/examples/typescript/stock-chart-volume-separate-panel/tsconfig.json +1 -1
  798. package/examples/typescript/venn-diagram/package.json +1 -1
  799. package/examples/typescript/venn-diagram/tsconfig.json +1 -1
  800. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  801. package/examples/typescript/wordcloud-with-data/tsconfig.json +1 -1
  802. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  803. package/examples/typescript/wordcloud-with-text/tsconfig.json +1 -1
  804. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  805. package/examples/typescript/xy-100-percent-stacked-column/tsconfig.json +1 -1
  806. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  807. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/tsconfig.json +1 -1
  808. package/examples/typescript/xy-bubble/package.json +1 -1
  809. package/examples/typescript/xy-bubble/tsconfig.json +1 -1
  810. package/examples/typescript/xy-candlestick/package.json +1 -1
  811. package/examples/typescript/xy-candlestick/tsconfig.json +1 -1
  812. package/examples/typescript/xy-clustered-column/package.json +1 -1
  813. package/examples/typescript/xy-clustered-column/tsconfig.json +1 -1
  814. package/examples/typescript/xy-column/package.json +1 -1
  815. package/examples/typescript/xy-column/tsconfig.json +1 -1
  816. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  817. package/examples/typescript/xy-comparing-series-google-analytics-style/tsconfig.json +1 -1
  818. package/examples/typescript/xy-data-grouping/package.json +1 -1
  819. package/examples/typescript/xy-data-grouping/tsconfig.json +1 -1
  820. package/examples/typescript/xy-draggable-range/package.json +1 -1
  821. package/examples/typescript/xy-draggable-range/tsconfig.json +1 -1
  822. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  823. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/tsconfig.json +1 -1
  824. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  825. package/examples/typescript/xy-dumbbell plot/tsconfig.json +1 -1
  826. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  827. package/examples/typescript/xy-evenly-spaced-date-axis/tsconfig.json +1 -1
  828. package/examples/typescript/xy-line/package.json +1 -1
  829. package/examples/typescript/xy-line/tsconfig.json +1 -1
  830. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  831. package/examples/typescript/xy-line-highlight-on-legend-hover/tsconfig.json +1 -1
  832. package/examples/typescript/xy-live-data/package.json +1 -1
  833. package/examples/typescript/xy-live-data/tsconfig.json +1 -1
  834. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  835. package/examples/typescript/xy-multiple-synced-value-axes/tsconfig.json +1 -1
  836. package/examples/typescript/xy-ohlc/package.json +1 -1
  837. package/examples/typescript/xy-ohlc/tsconfig.json +1 -1
  838. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  839. package/examples/typescript/xy-real-time-data-sorting/tsconfig.json +1 -1
  840. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  841. package/examples/typescript/xy-smoothed-line/tsconfig.json +1 -1
  842. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  843. package/examples/typescript/xy-stacked-and-clustered-column/tsconfig.json +1 -1
  844. package/examples/typescript/xy-stacked-column/package.json +1 -1
  845. package/examples/typescript/xy-stacked-column/tsconfig.json +1 -1
  846. package/examples/typescript/xy-stacked-step/package.json +1 -1
  847. package/examples/typescript/xy-stacked-step/tsconfig.json +1 -1
  848. package/examples/typescript/xy-stock/package.json +1 -1
  849. package/examples/typescript/xy-stock/tsconfig.json +1 -1
  850. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  851. package/examples/typescript/xy-stock-comparing/tsconfig.json +1 -1
  852. package/locales/ar.js +1 -1
  853. package/locales/bg_BG.js +1 -1
  854. package/locales/bs_BA.js +1 -1
  855. package/locales/ca_ES.js +1 -1
  856. package/locales/cs_CZ.js +1 -1
  857. package/locales/da_DK.js +1 -1
  858. package/locales/el_GR.js +1 -1
  859. package/locales/en.js +1 -1
  860. package/locales/en_CA.js +1 -1
  861. package/locales/en_US.js +1 -1
  862. package/locales/et_EE.js +1 -1
  863. package/locales/fi_FI.js +1 -1
  864. package/locales/fr_FR.js +1 -1
  865. package/locales/he_IL.js +1 -1
  866. package/locales/hi_IN.js +1 -1
  867. package/locales/hr_HR.js +1 -1
  868. package/locales/hu_HU.js +1 -1
  869. package/locales/id_ID.js +1 -1
  870. package/locales/ja_JP.js +1 -1
  871. package/locales/ko_KR.js +1 -1
  872. package/locales/lv_LV.js +1 -1
  873. package/locales/nb_NO.js +1 -1
  874. package/locales/nl_NL.js +1 -1
  875. package/locales/pl_PL.js +1 -1
  876. package/locales/ro_RO.js +1 -1
  877. package/locales/sr_RS.js +1 -1
  878. package/locales/th_TH.js +1 -1
  879. package/locales/tr_TR.js +1 -1
  880. package/locales/vi_VN.js +1 -1
  881. package/locales/zh_Hans.js +1 -1
  882. package/locales/zh_Hant.js +1 -1
  883. package/package.json +2 -1
  884. package/plugins/json.d.ts +1 -0
  885. package/plugins/json.d.ts.map +1 -1
  886. package/plugins/json.js +1 -0
  887. package/plugins/json.js.map +1 -1
  888. package/examples/javascript/json/index.js +0 -206
  889. package/examples/typescript/json/index.ts +0 -206
@@ -1,87 +1,67 @@
1
- import { __extends } from "tslib";
2
1
  import { Entity } from "./Entity";
3
2
  import { TextFormatter } from "./TextFormatter";
4
3
  import { Timezone } from "./Timezone";
5
4
  import * as $type from "./Type";
6
5
  import * as $utils from "./Utils";
7
- var DateFormatter = /** @class */ (function (_super) {
8
- __extends(DateFormatter, _super);
9
- function DateFormatter() {
10
- return _super !== null && _super.apply(this, arguments) || this;
6
+ export class DateFormatter extends Entity {
7
+ _setDefaults() {
8
+ // Defaults
9
+ this._setDefault("capitalize", true);
10
+ this._setDefault("dateFormat", "yyyy-MM-dd");
11
+ super._setDefaults();
11
12
  }
12
- Object.defineProperty(DateFormatter.prototype, "_setDefaults", {
13
- enumerable: false,
14
- configurable: true,
15
- writable: true,
16
- value: function () {
17
- // Defaults
18
- this._setDefault("capitalize", true);
19
- this._setDefault("dateFormat", "yyyy-MM-dd");
20
- _super.prototype._setDefaults.call(this);
21
- }
22
- });
23
- Object.defineProperty(DateFormatter.prototype, "_beforeChanged", {
24
- enumerable: false,
25
- configurable: true,
26
- writable: true,
27
- value: function () {
28
- _super.prototype._beforeChanged.call(this);
13
+ _beforeChanged() {
14
+ super._beforeChanged();
15
+ }
16
+ format(source, format) {
17
+ // Locale?
18
+ // TODO
19
+ // No format passed in or it's empty
20
+ if (typeof format === "undefined" || format === "") {
21
+ format = this.get("dateFormat", "yyyy-MM-dd");
29
22
  }
30
- });
31
- Object.defineProperty(DateFormatter.prototype, "format", {
32
- enumerable: false,
33
- configurable: true,
34
- writable: true,
35
- value: function (source, format) {
36
- // Locale?
37
- // TODO
38
- // No format passed in or it's empty
39
- if (typeof format === "undefined" || format === "") {
40
- format = this.get("dateFormat", "yyyy-MM-dd");
41
- }
42
- // Init return value
43
- var formatted;
44
- // Cast?
45
- // TODO: decide if we need to cast
46
- var date = source;
47
- // Is it a built-in format or Intl.DateTimeFormat
48
- if ($type.isObject(format)) {
49
- try {
50
- var locales = this.get("intlLocales");
51
- if (locales) {
52
- return new Intl.DateTimeFormat(locales, format).format(date);
53
- }
54
- else {
55
- return new Intl.DateTimeFormat(undefined, format).format(date);
56
- }
23
+ // Init return value
24
+ let formatted;
25
+ // Cast?
26
+ // TODO: decide if we need to cast
27
+ let date = source;
28
+ // Is it a built-in format or Intl.DateTimeFormat
29
+ if ($type.isObject(format)) {
30
+ try {
31
+ const locales = this.get("intlLocales");
32
+ if (locales) {
33
+ return new Intl.DateTimeFormat(locales, format).format(date);
57
34
  }
58
- catch (e) {
59
- return "Invalid";
35
+ else {
36
+ return new Intl.DateTimeFormat(undefined, format).format(date);
60
37
  }
61
38
  }
62
- // get format info (it will also deal with parser caching)
63
- var info = this.parseFormat(format);
64
- // Should we apply custom time zone?
65
- var timezone = this._root.timezone;
66
- if (timezone && !this._root.utc) {
67
- date = timezone.convertLocal(date);
68
- }
69
- // Check if it's a valid date
70
- if (!$type.isNumber(date.getTime())) {
71
- // TODO translation
72
- //return this._t("Invalid date");
73
- return "Invalid date";
74
- }
75
- // Apply format
76
- formatted = this.applyFormat(date, info);
77
- // Capitalize
78
- if (this.get("capitalize")) {
79
- formatted = formatted.replace(/^.{1}/, formatted.substr(0, 1).toUpperCase());
80
- }
81
- // We're done
82
- return formatted;
39
+ catch (e) {
40
+ return "Invalid";
41
+ }
42
+ }
43
+ // get format info (it will also deal with parser caching)
44
+ let info = this.parseFormat(format);
45
+ // Should we apply custom time zone?
46
+ const timezone = this._root.timezone;
47
+ if (timezone && !this._root.utc) {
48
+ date = timezone.convertLocal(date);
83
49
  }
84
- });
50
+ // Check if it's a valid date
51
+ if (!$type.isNumber(date.getTime())) {
52
+ // TODO translation
53
+ //return this._t("Invalid date");
54
+ return "Invalid date";
55
+ }
56
+ // Apply format
57
+ formatted = this.applyFormat(date, info);
58
+ // Capitalize
59
+ if (this.get("capitalize")) {
60
+ formatted = formatted.replace(/^.{1}/, formatted.substr(0, 1).toUpperCase());
61
+ }
62
+ // We're done
63
+ return formatted;
64
+ }
85
65
  /**
86
66
  * Applies format to Date.
87
67
  *
@@ -89,858 +69,784 @@ var DateFormatter = /** @class */ (function (_super) {
89
69
  * @param info Parsed format information
90
70
  * @return Formatted date string
91
71
  */
92
- Object.defineProperty(DateFormatter.prototype, "applyFormat", {
93
- enumerable: false,
94
- configurable: true,
95
- writable: true,
96
- value: function (date, info) {
97
- // Init return value
98
- var res = info.template;
99
- // Get values
100
- var fullYear, month, weekday, day, hours, minutes, seconds, milliseconds, timestamp = date.getTime();
101
- if (this._root.utc) {
102
- fullYear = date.getUTCFullYear();
103
- month = date.getUTCMonth();
104
- weekday = date.getUTCDay();
105
- day = date.getUTCDate();
106
- hours = date.getUTCHours();
107
- minutes = date.getUTCMinutes();
108
- seconds = date.getUTCSeconds();
109
- milliseconds = date.getUTCMilliseconds();
110
- }
111
- else {
112
- fullYear = date.getFullYear();
113
- month = date.getMonth();
114
- weekday = date.getDay();
115
- day = date.getDate();
116
- hours = date.getHours();
117
- minutes = date.getMinutes();
118
- seconds = date.getSeconds();
119
- milliseconds = date.getMilliseconds();
120
- }
121
- // Go through each part and format/replace it in template
122
- for (var i = 0, len = info.parts.length; i < len; i++) {
123
- var value = "";
124
- switch (info.parts[i]) {
125
- case "G":
126
- value = this._t(fullYear < 0
127
- ? "_era_bc"
128
- : "_era_ad");
129
- break;
130
- case "yyyy":
131
- value = Math.abs(fullYear).toString();
132
- if (fullYear < 0) {
133
- value += this._t("_era_bc");
134
- }
135
- break;
136
- case "yyy":
137
- case "yy":
138
- case "y":
139
- value = Math.abs(fullYear).toString().substr(-info.parts[i].length);
140
- if (fullYear < 0) {
141
- value += this._t("_era_bc");
142
- }
143
- break;
144
- case "YYYY":
145
- case "YYY":
146
- case "YY":
147
- case "Y":
148
- var week = $utils.getWeek(date);
149
- var year = fullYear;
150
- if (week == 1 && (weekday > 4)) {
151
- year--;
152
- }
153
- if (info.parts[i] == "YYYY") {
154
- value = Math.abs(year).toString();
155
- }
156
- else {
157
- value = Math.abs(year).toString().substr(-info.parts[i].length);
158
- }
159
- if (year < 0) {
160
- value += this._t("_era_bc");
161
- }
162
- break;
163
- case "u":
164
- // @todo
165
- break;
166
- case "q":
167
- value = "" + Math.ceil((date.getMonth() + 1) / 3);
168
- break;
169
- case "MMMMM":
170
- value = this._t(this._getMonth(month)).substr(0, 1);
171
- break;
172
- case "MMMM":
173
- value = this._t(this._getMonth(month));
174
- break;
175
- case "MMM":
176
- value = this._t(this._getShortMonth(month));
177
- break;
178
- case "MM":
179
- value = $utils.padString(month + 1, 2, "0");
180
- break;
181
- case "M":
182
- value = (month + 1).toString();
183
- break;
184
- case "ww":
185
- value = $utils.padString($utils.getWeek(date, this._root.utc), 2, "0");
186
- break;
187
- case "w":
188
- value = $utils.getWeek(date, this._root.utc).toString();
189
- break;
190
- case "W":
191
- value = $utils.getMonthWeek(date, this._root.utc).toString();
192
- break;
193
- case "dd":
194
- value = $utils.padString(day, 2, "0");
195
- break;
196
- case "d":
197
- value = day.toString();
198
- break;
199
- case "DD":
200
- case "DDD":
201
- value = $utils.padString($utils.getYearDay(date, this._root.utc).toString(), info.parts[i].length, "0");
202
- break;
203
- case "D":
204
- value = $utils.getYearDay(date, this._root.utc).toString();
205
- break;
206
- case "F":
207
- // @todo
208
- break;
209
- case "g":
210
- // @todo
211
- break;
212
- case "t":
213
- value = this._root.language.translateFunc("_dateOrd").call(this, day);
214
- break;
215
- case "E":
216
- value = (weekday || 7).toString();
217
- break;
218
- case "EE":
219
- value = $utils.padString((weekday || 7).toString(), 2, "0");
220
- break;
221
- case "EEE":
222
- case "eee":
223
- value = this._t(this._getShortWeekday(weekday));
224
- break;
225
- case "EEEE":
226
- case "eeee":
227
- value = this._t(this._getWeekday(weekday));
228
- break;
229
- case "EEEEE":
230
- case "eeeee":
231
- value = this._t(this._getShortWeekday(weekday)).substr(0, 1);
232
- break;
233
- case "e":
234
- case "ee":
235
- value = (weekday - (this._root.locale.firstDayOfWeek || 1) + 1).toString();
236
- if (info.parts[i] == "ee") {
237
- value = $utils.padString(value, 2, "0");
238
- }
239
- break;
240
- case "a":
241
- if (hours >= 12) {
242
- value = this._t("PM");
243
- }
244
- else {
245
- value = this._t("AM");
246
- }
247
- break;
248
- case "aa":
249
- if (hours >= 12) {
250
- value = this._t("P.M.");
251
- }
252
- else {
253
- value = this._t("A.M.");
254
- }
255
- break;
256
- case "aaa":
257
- if (hours >= 12) {
258
- value = this._t("P");
259
- }
260
- else {
261
- value = this._t("A");
262
- }
263
- break;
264
- case "h":
265
- value = $utils.get12Hours(hours).toString();
266
- break;
267
- case "hh":
268
- value = $utils.padString($utils.get12Hours(hours), 2, "0");
269
- break;
270
- case "H":
271
- value = hours.toString();
272
- break;
273
- case "HH":
274
- value = $utils.padString(hours, 2, "0");
275
- break;
276
- case "K":
277
- value = $utils.get12Hours(hours, 0).toString();
278
- break;
279
- case "KK":
280
- value = $utils.padString($utils.get12Hours(hours, 0), 2, "0");
281
- break;
282
- case "k":
283
- value = (hours + 1).toString();
284
- break;
285
- case "kk":
286
- value = $utils.padString(hours + 1, 2, "0");
287
- break;
288
- case "m":
289
- value = minutes.toString();
290
- break;
291
- case "mm":
292
- value = $utils.padString(minutes, 2, "0");
293
- break;
294
- case "s":
295
- value = seconds.toString();
296
- break;
297
- case "ss":
298
- value = $utils.padString(seconds, 2, "0");
299
- break;
300
- case "S":
301
- case "SS":
302
- case "SSS":
303
- value = Math.round((milliseconds / 1000) * Math.pow(10, info.parts[i].length)).toString();
304
- break;
305
- case "x":
306
- value = timestamp.toString();
307
- break;
308
- case "n":
309
- case "nn":
310
- case "nnn":
311
- value = $utils.padString(milliseconds, info.parts[i].length, "0");
312
- break;
313
- case "z":
314
- value = $utils.getTimeZone(date, false, false, this._root.utc);
315
- break;
316
- case "zz":
317
- value = $utils.getTimeZone(date, true, false, this._root.utc);
318
- break;
319
- case "zzz":
320
- value = $utils.getTimeZone(date, false, true, this._root.utc);
321
- break;
322
- case "zzzz":
323
- value = $utils.getTimeZone(date, true, true, this._root.utc);
324
- break;
325
- case "Z":
326
- case "ZZ":
327
- var timezone = this._root.utc ? "UTC" : this._root.timezone;
328
- if (timezone instanceof Timezone) {
329
- timezone = timezone.name;
330
- }
331
- var offset = timezone ? $utils.getTimezoneOffset(timezone) : date.getTimezoneOffset();
332
- var tz = Math.abs(offset) / 60;
333
- var tzh = Math.floor(tz);
334
- var tzm = tz * 60 - tzh * 60;
335
- if (this._root.utc) {
336
- tzh = 0;
337
- tzm = 0;
338
- }
339
- if (info.parts[i] == "Z") {
340
- value = "GMT";
341
- value += offset > 0 ? "-" : "+";
342
- value += $utils.padString(tzh, 2) + ":" + $utils.padString(tzm, 2);
343
- }
344
- else {
345
- value = offset > 0 ? "-" : "+";
346
- value += $utils.padString(tzh, 2) + $utils.padString(tzm, 2);
347
- }
348
- break;
349
- case "i":
350
- value = date.toISOString();
351
- break;
352
- case "I":
353
- value = date.toUTCString();
354
- break;
355
- }
356
- res = res.replace($type.PLACEHOLDER, value);
72
+ applyFormat(date, info) {
73
+ // Init return value
74
+ let res = info.template;
75
+ // Get values
76
+ let fullYear, month, weekday, day, hours, minutes, seconds, milliseconds, timestamp = date.getTime();
77
+ if (this._root.utc) {
78
+ fullYear = date.getUTCFullYear();
79
+ month = date.getUTCMonth();
80
+ weekday = date.getUTCDay();
81
+ day = date.getUTCDate();
82
+ hours = date.getUTCHours();
83
+ minutes = date.getUTCMinutes();
84
+ seconds = date.getUTCSeconds();
85
+ milliseconds = date.getUTCMilliseconds();
86
+ }
87
+ else {
88
+ fullYear = date.getFullYear();
89
+ month = date.getMonth();
90
+ weekday = date.getDay();
91
+ day = date.getDate();
92
+ hours = date.getHours();
93
+ minutes = date.getMinutes();
94
+ seconds = date.getSeconds();
95
+ milliseconds = date.getMilliseconds();
96
+ }
97
+ // Go through each part and format/replace it in template
98
+ for (let i = 0, len = info.parts.length; i < len; i++) {
99
+ let value = "";
100
+ switch (info.parts[i]) {
101
+ case "G":
102
+ value = this._t(fullYear < 0
103
+ ? "_era_bc"
104
+ : "_era_ad");
105
+ break;
106
+ case "yyyy":
107
+ value = Math.abs(fullYear).toString();
108
+ if (fullYear < 0) {
109
+ value += this._t("_era_bc");
110
+ }
111
+ break;
112
+ case "yyy":
113
+ case "yy":
114
+ case "y":
115
+ value = Math.abs(fullYear).toString().substr(-info.parts[i].length);
116
+ if (fullYear < 0) {
117
+ value += this._t("_era_bc");
118
+ }
119
+ break;
120
+ case "YYYY":
121
+ case "YYY":
122
+ case "YY":
123
+ case "Y":
124
+ let year = $utils.getWeekYear(date, this._root.utc);
125
+ if (info.parts[i] == "YYYY") {
126
+ value = Math.abs(year).toString();
127
+ }
128
+ else {
129
+ value = Math.abs(year).toString().substr(-info.parts[i].length);
130
+ }
131
+ if (year < 0) {
132
+ value += this._t("_era_bc");
133
+ }
134
+ break;
135
+ case "u":
136
+ // @todo
137
+ break;
138
+ case "q":
139
+ value = "" + Math.ceil((date.getMonth() + 1) / 3);
140
+ break;
141
+ case "MMMMM":
142
+ value = this._t(this._getMonth(month)).substr(0, 1);
143
+ break;
144
+ case "MMMM":
145
+ value = this._t(this._getMonth(month));
146
+ break;
147
+ case "MMM":
148
+ value = this._t(this._getShortMonth(month));
149
+ break;
150
+ case "MM":
151
+ value = $utils.padString(month + 1, 2, "0");
152
+ break;
153
+ case "M":
154
+ value = (month + 1).toString();
155
+ break;
156
+ case "ww":
157
+ value = $utils.padString($utils.getWeek(date, this._root.utc), 2, "0");
158
+ break;
159
+ case "w":
160
+ value = $utils.getWeek(date, this._root.utc).toString();
161
+ break;
162
+ case "W":
163
+ value = $utils.getMonthWeek(date, this._root.utc).toString();
164
+ break;
165
+ case "dd":
166
+ value = $utils.padString(day, 2, "0");
167
+ break;
168
+ case "d":
169
+ value = day.toString();
170
+ break;
171
+ case "DD":
172
+ case "DDD":
173
+ value = $utils.padString($utils.getYearDay(date, this._root.utc).toString(), info.parts[i].length, "0");
174
+ break;
175
+ case "D":
176
+ value = $utils.getYearDay(date, this._root.utc).toString();
177
+ break;
178
+ case "F":
179
+ // @todo
180
+ break;
181
+ case "g":
182
+ // @todo
183
+ break;
184
+ case "t":
185
+ value = this._root.language.translateFunc("_dateOrd").call(this, day);
186
+ break;
187
+ case "E":
188
+ value = (weekday || 7).toString();
189
+ break;
190
+ case "EE":
191
+ value = $utils.padString((weekday || 7).toString(), 2, "0");
192
+ break;
193
+ case "EEE":
194
+ case "eee":
195
+ value = this._t(this._getShortWeekday(weekday));
196
+ break;
197
+ case "EEEE":
198
+ case "eeee":
199
+ value = this._t(this._getWeekday(weekday));
200
+ break;
201
+ case "EEEEE":
202
+ case "eeeee":
203
+ value = this._t(this._getShortWeekday(weekday)).substr(0, 1);
204
+ break;
205
+ case "e":
206
+ case "ee":
207
+ value = (weekday - (this._root.locale.firstDayOfWeek || 1) + 1).toString();
208
+ if (info.parts[i] == "ee") {
209
+ value = $utils.padString(value, 2, "0");
210
+ }
211
+ break;
212
+ case "a":
213
+ if (hours >= 12) {
214
+ value = this._t("PM");
215
+ }
216
+ else {
217
+ value = this._t("AM");
218
+ }
219
+ break;
220
+ case "aa":
221
+ if (hours >= 12) {
222
+ value = this._t("P.M.");
223
+ }
224
+ else {
225
+ value = this._t("A.M.");
226
+ }
227
+ break;
228
+ case "aaa":
229
+ if (hours >= 12) {
230
+ value = this._t("P");
231
+ }
232
+ else {
233
+ value = this._t("A");
234
+ }
235
+ break;
236
+ case "h":
237
+ value = $utils.get12Hours(hours).toString();
238
+ break;
239
+ case "hh":
240
+ value = $utils.padString($utils.get12Hours(hours), 2, "0");
241
+ break;
242
+ case "H":
243
+ value = hours.toString();
244
+ break;
245
+ case "HH":
246
+ value = $utils.padString(hours, 2, "0");
247
+ break;
248
+ case "K":
249
+ value = $utils.get12Hours(hours, 0).toString();
250
+ break;
251
+ case "KK":
252
+ value = $utils.padString($utils.get12Hours(hours, 0), 2, "0");
253
+ break;
254
+ case "k":
255
+ value = (hours + 1).toString();
256
+ break;
257
+ case "kk":
258
+ value = $utils.padString(hours + 1, 2, "0");
259
+ break;
260
+ case "m":
261
+ value = minutes.toString();
262
+ break;
263
+ case "mm":
264
+ value = $utils.padString(minutes, 2, "0");
265
+ break;
266
+ case "s":
267
+ value = seconds.toString();
268
+ break;
269
+ case "ss":
270
+ value = $utils.padString(seconds, 2, "0");
271
+ break;
272
+ case "S":
273
+ case "SS":
274
+ case "SSS":
275
+ value = Math.round((milliseconds / 1000) * Math.pow(10, info.parts[i].length)).toString();
276
+ break;
277
+ case "x":
278
+ value = timestamp.toString();
279
+ break;
280
+ case "n":
281
+ case "nn":
282
+ case "nnn":
283
+ value = $utils.padString(milliseconds, info.parts[i].length, "0");
284
+ break;
285
+ case "z":
286
+ value = $utils.getTimeZone(date, false, false, this._root.utc);
287
+ break;
288
+ case "zz":
289
+ value = $utils.getTimeZone(date, true, false, this._root.utc);
290
+ break;
291
+ case "zzz":
292
+ value = $utils.getTimeZone(date, false, true, this._root.utc);
293
+ break;
294
+ case "zzzz":
295
+ value = $utils.getTimeZone(date, true, true, this._root.utc);
296
+ break;
297
+ case "Z":
298
+ case "ZZ":
299
+ let timezone = this._root.utc ? "UTC" : this._root.timezone;
300
+ if (timezone instanceof Timezone) {
301
+ timezone = timezone.name;
302
+ }
303
+ const offset = timezone ? $utils.getTimezoneOffset(timezone) : date.getTimezoneOffset();
304
+ let tz = Math.abs(offset) / 60;
305
+ let tzh = Math.floor(tz);
306
+ let tzm = tz * 60 - tzh * 60;
307
+ if (this._root.utc) {
308
+ tzh = 0;
309
+ tzm = 0;
310
+ }
311
+ if (info.parts[i] == "Z") {
312
+ value = "GMT";
313
+ value += offset > 0 ? "-" : "+";
314
+ value += $utils.padString(tzh, 2) + ":" + $utils.padString(tzm, 2);
315
+ }
316
+ else {
317
+ value = offset > 0 ? "-" : "+";
318
+ value += $utils.padString(tzh, 2) + $utils.padString(tzm, 2);
319
+ }
320
+ break;
321
+ case "i":
322
+ value = date.toISOString();
323
+ break;
324
+ case "I":
325
+ value = date.toUTCString();
326
+ break;
357
327
  }
358
- return res;
328
+ res = res.replace($type.PLACEHOLDER, value);
359
329
  }
360
- });
330
+ return res;
331
+ }
361
332
  /**
362
333
  * Parses format into structured infromation.
363
334
  *
364
335
  * @param format Format template
365
336
  */
366
- Object.defineProperty(DateFormatter.prototype, "parseFormat", {
367
- enumerable: false,
368
- configurable: true,
369
- writable: true,
370
- value: function (format) {
371
- // Check cache
372
- // TODO: implement caching of the parsed format
373
- // Init format parse info holder
374
- var info = {
375
- "template": "",
376
- "parts": []
377
- };
378
- // Let TextFormatter split into chunks
379
- var chunks = TextFormatter.chunk(format, true);
380
- for (var i = 0; i < chunks.length; i++) {
381
- var chunk = chunks[i];
382
- if (chunk.type === "value") {
383
- // Just "Date"?
384
- if (chunk.text.match(/^date$/i)) {
385
- var dateFormat = this.get("dateFormat", "yyyy-MM-dd");
386
- if (!$type.isString(dateFormat)) {
387
- dateFormat = "yyyy-MM-dd";
388
- }
389
- chunk.text = dateFormat;
337
+ parseFormat(format) {
338
+ // Check cache
339
+ // TODO: implement caching of the parsed format
340
+ // Init format parse info holder
341
+ let info = {
342
+ "template": "",
343
+ "parts": []
344
+ };
345
+ // Let TextFormatter split into chunks
346
+ let chunks = TextFormatter.chunk(format, true);
347
+ for (let i = 0; i < chunks.length; i++) {
348
+ let chunk = chunks[i];
349
+ if (chunk.type === "value") {
350
+ // Just "Date"?
351
+ if (chunk.text.match(/^date$/i)) {
352
+ let dateFormat = this.get("dateFormat", "yyyy-MM-dd");
353
+ if (!$type.isString(dateFormat)) {
354
+ dateFormat = "yyyy-MM-dd";
390
355
  }
391
- // Find all possible parts
392
- var matches = chunk.text.match(/G|yyyy|yyy|yy|y|YYYY|YYY|YY|Y|u|q|MMMMM|MMMM|MMM|MM|M|ww|w|W|dd|d|DDD|DD|D|F|g|EEEEE|EEEE|EEE|EE|E|eeeee|eeee|eee|ee|e|aaa|aa|a|hh|h|HH|H|KK|K|kk|k|mm|m|ss|s|SSS|SS|S|A|zzzz|zzz|zz|z|ZZ|Z|t|x|nnn|nn|n|i|I/g);
393
- // Found?
394
- if (matches) {
395
- // Populate template
396
- for (var x = 0; x < matches.length; x++) {
397
- info.parts.push(matches[x]);
398
- chunk.text = chunk.text.replace(matches[x], $type.PLACEHOLDER);
399
- }
356
+ chunk.text = dateFormat;
357
+ }
358
+ // Find all possible parts
359
+ let matches = chunk.text.match(/G|yyyy|yyy|yy|y|YYYY|YYY|YY|Y|u|q|MMMMM|MMMM|MMM|MM|M|ww|w|W|dd|d|DDD|DD|D|F|g|EEEEE|EEEE|EEE|EE|E|eeeee|eeee|eee|ee|e|aaa|aa|a|hh|h|HH|H|KK|K|kk|k|mm|m|ss|s|SSS|SS|S|A|zzzz|zzz|zz|z|ZZ|Z|t|x|nnn|nn|n|i|I/g);
360
+ // Found?
361
+ if (matches) {
362
+ // Populate template
363
+ for (let x = 0; x < matches.length; x++) {
364
+ info.parts.push(matches[x]);
365
+ chunk.text = chunk.text.replace(matches[x], $type.PLACEHOLDER);
400
366
  }
401
367
  }
402
- // Apply to template
403
- info.template += chunk.text;
404
368
  }
405
- // Save cache
406
- // TODO
407
- return info;
408
- }
409
- });
410
- Object.defineProperty(DateFormatter.prototype, "_months", {
411
- enumerable: false,
412
- configurable: true,
413
- writable: true,
414
- value: function () {
415
- return ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
369
+ // Apply to template
370
+ info.template += chunk.text;
416
371
  }
417
- });
418
- Object.defineProperty(DateFormatter.prototype, "_getMonth", {
419
- enumerable: false,
420
- configurable: true,
421
- writable: true,
422
- value: function (index) {
423
- return this._months()[index];
424
- }
425
- });
426
- Object.defineProperty(DateFormatter.prototype, "_shortMonths", {
427
- enumerable: false,
428
- configurable: true,
429
- writable: true,
430
- value: function () {
431
- return ["Jan", "Feb", "Mar", "Apr", "May(short)", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
432
- }
433
- });
434
- Object.defineProperty(DateFormatter.prototype, "_getShortMonth", {
435
- enumerable: false,
436
- configurable: true,
437
- writable: true,
438
- value: function (index) {
439
- return this._shortMonths()[index];
440
- }
441
- });
442
- Object.defineProperty(DateFormatter.prototype, "_weekdays", {
443
- enumerable: false,
444
- configurable: true,
445
- writable: true,
446
- value: function () {
447
- return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
372
+ // Save cache
373
+ // TODO
374
+ return info;
375
+ }
376
+ _months() {
377
+ return ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
378
+ }
379
+ _getMonth(index) {
380
+ return this._months()[index];
381
+ }
382
+ _shortMonths() {
383
+ return ["Jan", "Feb", "Mar", "Apr", "May(short)", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
384
+ }
385
+ _getShortMonth(index) {
386
+ return this._shortMonths()[index];
387
+ }
388
+ _weekdays() {
389
+ return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
390
+ }
391
+ _getWeekday(index) {
392
+ return this._weekdays()[index];
393
+ }
394
+ _shortWeekdays() {
395
+ return ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
396
+ }
397
+ _getShortWeekday(index) {
398
+ return this._shortWeekdays()[index];
399
+ }
400
+ parse(source, format) {
401
+ // Is it already a Date
402
+ if (source instanceof Date) {
403
+ return source;
448
404
  }
449
- });
450
- Object.defineProperty(DateFormatter.prototype, "_getWeekday", {
451
- enumerable: false,
452
- configurable: true,
453
- writable: true,
454
- value: function (index) {
455
- return this._weekdays()[index];
405
+ // Is it a numeric timestamp
406
+ if ($type.isNumber(source)) {
407
+ return new Date(source);
456
408
  }
457
- });
458
- Object.defineProperty(DateFormatter.prototype, "_shortWeekdays", {
459
- enumerable: false,
460
- configurable: true,
461
- writable: true,
462
- value: function () {
463
- return ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
409
+ // No? Let's check if it's string, and try converting to it if nec
410
+ if (!$type.isString(source)) {
411
+ source = source.toString();
464
412
  }
465
- });
466
- Object.defineProperty(DateFormatter.prototype, "_getShortWeekday", {
467
- enumerable: false,
468
- configurable: true,
469
- writable: true,
470
- value: function (index) {
471
- return this._shortWeekdays()[index];
413
+ // Init return value
414
+ let res;
415
+ // Init RegEx for parsing
416
+ let reg = "";
417
+ // Clean format
418
+ format = $utils.cleanFormat(format);
419
+ // Clip format to length of the source string
420
+ format = format.substr(0, source.length);
421
+ // Parse format
422
+ let info = this.parseFormat(format);
423
+ // Init parsed items holder
424
+ let parsedIndexes = {
425
+ "year": -1,
426
+ "year3": -1,
427
+ "year2": -1,
428
+ "year1": -1,
429
+ "month": -1,
430
+ "monthShort": -1,
431
+ "monthLong": -1,
432
+ "weekdayShort": -1,
433
+ "weekdayLong": -1,
434
+ "day": -1,
435
+ "yearDay": -1,
436
+ "week": -1,
437
+ "hourBase0": -1,
438
+ "hour12Base0": -1,
439
+ "hourBase1": -1,
440
+ "hour12Base1": -1,
441
+ "minute": -1,
442
+ "second": -1,
443
+ "millisecond": -1,
444
+ "millisecondDigits": -1,
445
+ "am": -1,
446
+ "zone": -1,
447
+ "timestamp": -1,
448
+ "iso": -1
449
+ };
450
+ // Init values
451
+ let resValues = {
452
+ "year": 1970,
453
+ "month": 0,
454
+ "day": 1,
455
+ "hour": 0,
456
+ "minute": 0,
457
+ "second": 0,
458
+ "millisecond": 0,
459
+ "timestamp": null,
460
+ "offset": 0,
461
+ "utc": this._root.utc
462
+ };
463
+ // Index adjuster
464
+ let indexAdjust = 0;
465
+ let index = 0;
466
+ // Iterate through all of the parts
467
+ for (let i = 0; i < info.parts.length; i++) {
468
+ // Set current match index
469
+ index = i + indexAdjust + 1;
470
+ switch (info.parts[i]) {
471
+ case "yyyy":
472
+ case "YYYY":
473
+ reg += "([0-9]{4})";
474
+ parsedIndexes.year = index;
475
+ break;
476
+ case "yyy":
477
+ case "YYY":
478
+ reg += "([0-9]{3})";
479
+ parsedIndexes.year3 = index;
480
+ break;
481
+ case "yy":
482
+ case "YY":
483
+ reg += "([0-9]{2})";
484
+ parsedIndexes.year2 = index;
485
+ break;
486
+ case "y":
487
+ case "Y":
488
+ reg += "([0-9]{1})";
489
+ parsedIndexes.year1 = index;
490
+ break;
491
+ case "MMMM":
492
+ reg += "(" + this.getStringList(this._months()).join("|") + ")";
493
+ parsedIndexes.monthLong = index;
494
+ break;
495
+ case "MMM":
496
+ reg += "(" + this.getStringList(this._shortMonths()).join("|") + ")";
497
+ parsedIndexes.monthShort = index;
498
+ break;
499
+ case "MM":
500
+ case "M":
501
+ reg += "([0-9]{2}|[0-9]{1})";
502
+ parsedIndexes.month = index;
503
+ break;
504
+ case "ww":
505
+ case "w":
506
+ reg += "([0-9]{2}|[0-9]{1})";
507
+ parsedIndexes.week = index;
508
+ break;
509
+ case "dd":
510
+ case "d":
511
+ reg += "([0-9]{2}|[0-9]{1})";
512
+ parsedIndexes.day = index;
513
+ break;
514
+ case "DDD":
515
+ case "DD":
516
+ case "D":
517
+ reg += "([0-9]{3}|[0-9]{2}|[0-9]{1})";
518
+ parsedIndexes.yearDay = index;
519
+ break;
520
+ case "dddd":
521
+ reg += "(" + this.getStringList(this._weekdays()).join("|") + ")";
522
+ parsedIndexes.weekdayLong = index;
523
+ break;
524
+ case "ddd":
525
+ reg += "(" + this.getStringList(this._shortWeekdays()).join("|") + ")";
526
+ parsedIndexes.weekdayShort = index;
527
+ break;
528
+ case "aaa":
529
+ case "aa":
530
+ case "a":
531
+ // TODO: fix (escape regex)
532
+ reg += "(" + this.getStringList(["AM", "PM", "A\.M\.", "P\.M\.", "A", "P"]).join("|") + ")";
533
+ parsedIndexes.am = index;
534
+ break;
535
+ case "hh":
536
+ case "h":
537
+ reg += "([0-9]{2}|[0-9]{1})";
538
+ parsedIndexes.hour12Base1 = index;
539
+ break;
540
+ case "HH":
541
+ case "H":
542
+ reg += "([0-9]{2}|[0-9]{1})";
543
+ parsedIndexes.hourBase0 = index;
544
+ break;
545
+ case "KK":
546
+ case "K":
547
+ reg += "([0-9]{2}|[0-9]{1})";
548
+ parsedIndexes.hour12Base0 = index;
549
+ break;
550
+ case "kk":
551
+ case "k":
552
+ reg += "([0-9]{2}|[0-9]{1})";
553
+ parsedIndexes.hourBase1 = index;
554
+ break;
555
+ case "mm":
556
+ case "m":
557
+ reg += "([0-9]{2}|[0-9]{1})";
558
+ parsedIndexes.minute = index;
559
+ break;
560
+ case "ss":
561
+ case "s":
562
+ reg += "([0-9]{2}|[0-9]{1})";
563
+ parsedIndexes.second = index;
564
+ break;
565
+ case "SSS":
566
+ case "SS":
567
+ case "S":
568
+ reg += "([0-9]{3}|[0-9]{2}|[0-9]{1})";
569
+ parsedIndexes.millisecond = index;
570
+ parsedIndexes.millisecondDigits = info.parts[i].length;
571
+ break;
572
+ case "nnn":
573
+ case "nn":
574
+ case "n":
575
+ reg += "([0-9]{3}|[0-9]{2}|[0-9]{1})";
576
+ parsedIndexes.millisecond = index;
577
+ break;
578
+ case "x":
579
+ reg += "([0-9]{1,})";
580
+ parsedIndexes.timestamp = index;
581
+ break;
582
+ case "Z":
583
+ reg += "GMT([-+]+[0-9]{2}:[0-9]{2})";
584
+ parsedIndexes.zone = index;
585
+ break;
586
+ case "ZZ":
587
+ reg += "([\\-+]+[0-9]{2}[0-9]{2})";
588
+ parsedIndexes.zone = index;
589
+ break;
590
+ case "i":
591
+ reg += "([0-9]{4})-?([0-9]{2})-?([0-9]{2})T?([0-9]{2}):?([0-9]{2}):?([0-9]{2})\\.?([0-9]{0,3})([zZ]|[+\\-][0-9]{2}:?[0-9]{2}|$)";
592
+ parsedIndexes.iso = index;
593
+ indexAdjust += 7;
594
+ break;
595
+ case "G":
596
+ case "YYYY":
597
+ case "YYY":
598
+ case "YY":
599
+ case "Y":
600
+ case "MMMMM":
601
+ case "W":
602
+ case "EEEEE":
603
+ case "EEEE":
604
+ case "EEE":
605
+ case "EE":
606
+ case "E":
607
+ case "eeeee":
608
+ case "eeee":
609
+ case "eee":
610
+ case "ee":
611
+ case "e":
612
+ case "zzzz":
613
+ case "zzz":
614
+ case "zz":
615
+ case "z":
616
+ case "t":
617
+ // Ignore
618
+ indexAdjust--;
619
+ break;
620
+ }
621
+ reg += "[^0-9]*";
472
622
  }
473
- });
474
- Object.defineProperty(DateFormatter.prototype, "parse", {
475
- enumerable: false,
476
- configurable: true,
477
- writable: true,
478
- value: function (source, format) {
479
- // Is it already a Date
480
- if (source instanceof Date) {
481
- return source;
482
- }
483
- // Is it a numeric timestamp
484
- if ($type.isNumber(source)) {
485
- return new Date(source);
486
- }
487
- // No? Let's check if it's string, and try converting to it if nec
488
- if (!$type.isString(source)) {
489
- source = source.toString();
490
- }
491
- // Init return value
492
- var res;
493
- // Init RegEx for parsing
494
- var reg = "";
495
- // Clean format
496
- format = $utils.cleanFormat(format);
497
- // Clip format to length of the source string
498
- format = format.substr(0, source.length);
499
- // Parse format
500
- var info = this.parseFormat(format);
501
- // Init parsed items holder
502
- var parsedIndexes = {
503
- "year": -1,
504
- "year3": -1,
505
- "year2": -1,
506
- "year1": -1,
507
- "month": -1,
508
- "monthShort": -1,
509
- "monthLong": -1,
510
- "weekdayShort": -1,
511
- "weekdayLong": -1,
512
- "day": -1,
513
- "yearDay": -1,
514
- "week": -1,
515
- "hourBase0": -1,
516
- "hour12Base0": -1,
517
- "hourBase1": -1,
518
- "hour12Base1": -1,
519
- "minute": -1,
520
- "second": -1,
521
- "millisecond": -1,
522
- "millisecondDigits": -1,
523
- "am": -1,
524
- "zone": -1,
525
- "timestamp": -1,
526
- "iso": -1
527
- };
528
- // Init values
529
- var resValues = {
530
- "year": 1970,
531
- "month": 0,
532
- "day": 1,
533
- "hour": 0,
534
- "minute": 0,
535
- "second": 0,
536
- "millisecond": 0,
537
- "timestamp": null,
538
- "offset": 0,
539
- "utc": this._root.utc
540
- };
541
- // Index adjuster
542
- var indexAdjust = 0;
543
- var index = 0;
544
- // Iterate through all of the parts
545
- for (var i = 0; i < info.parts.length; i++) {
546
- // Set current match index
547
- index = i + indexAdjust + 1;
548
- switch (info.parts[i]) {
549
- case "yyyy":
550
- case "YYYY":
551
- reg += "([0-9]{4})";
552
- parsedIndexes.year = index;
553
- break;
554
- case "yyy":
555
- case "YYY":
556
- reg += "([0-9]{3})";
557
- parsedIndexes.year3 = index;
558
- break;
559
- case "yy":
560
- case "YY":
561
- reg += "([0-9]{2})";
562
- parsedIndexes.year2 = index;
563
- break;
564
- case "y":
565
- case "Y":
566
- reg += "([0-9]{1})";
567
- parsedIndexes.year1 = index;
568
- break;
569
- case "MMMM":
570
- reg += "(" + this.getStringList(this._months()).join("|") + ")";
571
- parsedIndexes.monthLong = index;
572
- break;
573
- case "MMM":
574
- reg += "(" + this.getStringList(this._shortMonths()).join("|") + ")";
575
- parsedIndexes.monthShort = index;
576
- break;
577
- case "MM":
578
- case "M":
579
- reg += "([0-9]{2}|[0-9]{1})";
580
- parsedIndexes.month = index;
581
- break;
582
- case "ww":
583
- case "w":
584
- reg += "([0-9]{2}|[0-9]{1})";
585
- parsedIndexes.week = index;
586
- break;
587
- case "dd":
588
- case "d":
589
- reg += "([0-9]{2}|[0-9]{1})";
590
- parsedIndexes.day = index;
591
- break;
592
- case "DDD":
593
- case "DD":
594
- case "D":
595
- reg += "([0-9]{3}|[0-9]{2}|[0-9]{1})";
596
- parsedIndexes.yearDay = index;
597
- break;
598
- case "dddd":
599
- reg += "(" + this.getStringList(this._weekdays()).join("|") + ")";
600
- parsedIndexes.weekdayLong = index;
601
- break;
602
- case "ddd":
603
- reg += "(" + this.getStringList(this._shortWeekdays()).join("|") + ")";
604
- parsedIndexes.weekdayShort = index;
605
- break;
606
- case "aaa":
607
- case "aa":
608
- case "a":
609
- // TODO: fix (escape regex)
610
- reg += "(" + this.getStringList(["AM", "PM", "A\.M\.", "P\.M\.", "A", "P"]).join("|") + ")";
611
- parsedIndexes.am = index;
612
- break;
613
- case "hh":
614
- case "h":
615
- reg += "([0-9]{2}|[0-9]{1})";
616
- parsedIndexes.hour12Base1 = index;
617
- break;
618
- case "HH":
619
- case "H":
620
- reg += "([0-9]{2}|[0-9]{1})";
621
- parsedIndexes.hourBase0 = index;
622
- break;
623
- case "KK":
624
- case "K":
625
- reg += "([0-9]{2}|[0-9]{1})";
626
- parsedIndexes.hour12Base0 = index;
627
- break;
628
- case "kk":
629
- case "k":
630
- reg += "([0-9]{2}|[0-9]{1})";
631
- parsedIndexes.hourBase1 = index;
632
- break;
633
- case "mm":
634
- case "m":
635
- reg += "([0-9]{2}|[0-9]{1})";
636
- parsedIndexes.minute = index;
637
- break;
638
- case "ss":
639
- case "s":
640
- reg += "([0-9]{2}|[0-9]{1})";
641
- parsedIndexes.second = index;
642
- break;
643
- case "SSS":
644
- case "SS":
645
- case "S":
646
- reg += "([0-9]{3}|[0-9]{2}|[0-9]{1})";
647
- parsedIndexes.millisecond = index;
648
- parsedIndexes.millisecondDigits = info.parts[i].length;
649
- break;
650
- case "nnn":
651
- case "nn":
652
- case "n":
653
- reg += "([0-9]{3}|[0-9]{2}|[0-9]{1})";
654
- parsedIndexes.millisecond = index;
655
- break;
656
- case "x":
657
- reg += "([0-9]{1,})";
658
- parsedIndexes.timestamp = index;
659
- break;
660
- case "Z":
661
- reg += "GMT([-+]+[0-9]{2}:[0-9]{2})";
662
- parsedIndexes.zone = index;
663
- break;
664
- case "ZZ":
665
- reg += "([\\-+]+[0-9]{2}[0-9]{2})";
666
- parsedIndexes.zone = index;
667
- break;
668
- case "i":
669
- reg += "([0-9]{4})-?([0-9]{2})-?([0-9]{2})T?([0-9]{2}):?([0-9]{2}):?([0-9]{2})\\.?([0-9]{0,3})([zZ]|[+\\-][0-9]{2}:?[0-9]{2}|$)";
670
- parsedIndexes.iso = index;
671
- indexAdjust += 7;
672
- break;
673
- case "G":
674
- case "YYYY":
675
- case "YYY":
676
- case "YY":
677
- case "Y":
678
- case "MMMMM":
679
- case "W":
680
- case "EEEEE":
681
- case "EEEE":
682
- case "EEE":
683
- case "EE":
684
- case "E":
685
- case "eeeee":
686
- case "eeee":
687
- case "eee":
688
- case "ee":
689
- case "e":
690
- case "zzzz":
691
- case "zzz":
692
- case "zz":
693
- case "z":
694
- case "t":
695
- // Ignore
696
- indexAdjust--;
697
- break;
698
- }
699
- reg += "[^0-9]*";
700
- }
701
- // Try matching
702
- var regex = new RegExp(reg);
703
- var matches = source.match(regex);
704
- if (matches) {
705
- // Populate the date object
706
- // Full year
707
- if (parsedIndexes.year > -1) {
708
- resValues.year = parseInt(matches[parsedIndexes.year]);
709
- }
710
- // 3-digit year
711
- if (parsedIndexes.year3 > -1) {
712
- var val = parseInt(matches[parsedIndexes.year3]);
623
+ // Try matching
624
+ let regex = new RegExp(reg);
625
+ let matches = source.match(regex);
626
+ if (matches) {
627
+ // Populate the date object
628
+ // Full year
629
+ if (parsedIndexes.year > -1) {
630
+ resValues.year = parseInt(matches[parsedIndexes.year]);
631
+ }
632
+ // 3-digit year
633
+ if (parsedIndexes.year3 > -1) {
634
+ let val = parseInt(matches[parsedIndexes.year3]);
635
+ val += 1000;
636
+ resValues.year = val;
637
+ }
638
+ // 2-digit year
639
+ if (parsedIndexes.year2 > -1) {
640
+ let val = parseInt(matches[parsedIndexes.year2]);
641
+ if (val > 50) {
713
642
  val += 1000;
714
- resValues.year = val;
715
- }
716
- // 2-digit year
717
- if (parsedIndexes.year2 > -1) {
718
- var val = parseInt(matches[parsedIndexes.year2]);
719
- if (val > 50) {
720
- val += 1000;
721
- }
722
- else {
723
- val += 2000;
724
- }
725
- resValues.year = val;
726
- }
727
- // 1-digit year
728
- if (parsedIndexes.year1 > -1) {
729
- var val = parseInt(matches[parsedIndexes.year1]);
730
- val = Math.floor((new Date().getFullYear()) / 10) * 10 + val;
731
- resValues.year = val;
732
- }
733
- // Full month
734
- if (parsedIndexes.monthLong > -1) {
735
- resValues.month = this.resolveMonth(matches[parsedIndexes.monthLong]);
736
643
  }
737
- // Short month
738
- if (parsedIndexes.monthShort > -1) {
739
- resValues.month = this.resolveShortMonth(matches[parsedIndexes.monthShort]);
740
- }
741
- // Numeric month
742
- if (parsedIndexes.month > -1) {
743
- resValues.month = parseInt(matches[parsedIndexes.month]) - 1;
744
- }
745
- // Weekday
746
- // @todo
747
- // Week
748
- if ((parsedIndexes.week > -1) && (parsedIndexes.day === -1)) {
749
- // We parse weeks ONLY if day is not explicitly set
750
- // TODO: this needs work
751
- // (but maybe later - I can hardly imagine anyone passing their dates in weeks)
752
- resValues.month = 0;
753
- resValues.day = $utils.getDayFromWeek(parseInt(matches[parsedIndexes.week]), resValues.year, 1, this._root.utc);
754
- }
755
- // Day
756
- if (parsedIndexes.day > -1) {
757
- resValues.day = parseInt(matches[parsedIndexes.day]);
758
- }
759
- // Year day
760
- if (parsedIndexes.yearDay > -1) {
761
- resValues.month = 0;
762
- resValues.day = parseInt(matches[parsedIndexes.yearDay]);
763
- }
764
- // 24 Hour (0-23)
765
- if (parsedIndexes.hourBase0 > -1) {
766
- resValues.hour = parseInt(matches[parsedIndexes.hourBase0]);
767
- }
768
- // 24 Hour (1-24)
769
- if (parsedIndexes.hourBase1 > -1) {
770
- resValues.hour = parseInt(matches[parsedIndexes.hourBase1]) - 1;
771
- }
772
- // 12 Hour (0-11)
773
- if (parsedIndexes.hour12Base0 > -1) {
774
- var val = parseInt(matches[parsedIndexes.hour12Base0]);
775
- if (val == 11) {
776
- val = 0;
777
- }
778
- if ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {
779
- val += 12;
780
- }
781
- resValues.hour = val;
782
- }
783
- // 12 Hour (1-12)
784
- if (parsedIndexes.hour12Base1 > -1) {
785
- var val = parseInt(matches[parsedIndexes.hour12Base1]);
786
- if (val == 12) {
787
- val = 0;
788
- }
789
- if ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {
790
- val += 12;
791
- }
792
- resValues.hour = val;
793
- }
794
- // Minute
795
- if (parsedIndexes.minute > -1) {
796
- resValues.minute = parseInt(matches[parsedIndexes.minute]);
644
+ else {
645
+ val += 2000;
797
646
  }
798
- // Second
799
- if (parsedIndexes.second > -1) {
800
- resValues.second = parseInt(matches[parsedIndexes.second]);
647
+ resValues.year = val;
648
+ }
649
+ // 1-digit year
650
+ if (parsedIndexes.year1 > -1) {
651
+ let val = parseInt(matches[parsedIndexes.year1]);
652
+ val = Math.floor((new Date().getFullYear()) / 10) * 10 + val;
653
+ resValues.year = val;
654
+ }
655
+ // Full month
656
+ if (parsedIndexes.monthLong > -1) {
657
+ resValues.month = this.resolveMonth(matches[parsedIndexes.monthLong]);
658
+ }
659
+ // Short month
660
+ if (parsedIndexes.monthShort > -1) {
661
+ resValues.month = this.resolveShortMonth(matches[parsedIndexes.monthShort]);
662
+ }
663
+ // Numeric month
664
+ if (parsedIndexes.month > -1) {
665
+ resValues.month = parseInt(matches[parsedIndexes.month]) - 1;
666
+ }
667
+ // Weekday
668
+ // @todo
669
+ // Week
670
+ if ((parsedIndexes.week > -1) && (parsedIndexes.day === -1)) {
671
+ // We parse weeks ONLY if day is not explicitly set
672
+ // TODO: this needs work
673
+ // (but maybe later - I can hardly imagine anyone passing their dates in weeks)
674
+ resValues.month = 0;
675
+ resValues.day = $utils.getDayFromWeek(parseInt(matches[parsedIndexes.week]), resValues.year, 1, this._root.utc);
676
+ }
677
+ // Day
678
+ if (parsedIndexes.day > -1) {
679
+ resValues.day = parseInt(matches[parsedIndexes.day]);
680
+ }
681
+ // Year day
682
+ if (parsedIndexes.yearDay > -1) {
683
+ resValues.month = 0;
684
+ resValues.day = parseInt(matches[parsedIndexes.yearDay]);
685
+ }
686
+ // 24 Hour (0-23)
687
+ if (parsedIndexes.hourBase0 > -1) {
688
+ resValues.hour = parseInt(matches[parsedIndexes.hourBase0]);
689
+ }
690
+ // 24 Hour (1-24)
691
+ if (parsedIndexes.hourBase1 > -1) {
692
+ resValues.hour = parseInt(matches[parsedIndexes.hourBase1]) - 1;
693
+ }
694
+ // 12 Hour (0-11)
695
+ if (parsedIndexes.hour12Base0 > -1) {
696
+ let val = parseInt(matches[parsedIndexes.hour12Base0]);
697
+ if (val == 11) {
698
+ val = 0;
801
699
  }
802
- // Millisecond
803
- if (parsedIndexes.millisecond > -1) {
804
- var val = parseInt(matches[parsedIndexes.millisecond]);
805
- if (parsedIndexes.millisecondDigits == 2) {
806
- val *= 10;
807
- }
808
- else if (parsedIndexes.millisecondDigits == 1) {
809
- val *= 100;
810
- }
811
- resValues.millisecond = val;
700
+ if ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {
701
+ val += 12;
812
702
  }
813
- // Timestamp
814
- if (parsedIndexes.timestamp > -1) {
815
- resValues.timestamp = parseInt(matches[parsedIndexes.timestamp]);
816
- var ts = new Date(resValues.timestamp);
817
- resValues.year = ts.getUTCFullYear();
818
- resValues.month = ts.getUTCMonth();
819
- resValues.day = ts.getUTCDate();
820
- resValues.hour = ts.getUTCHours();
821
- resValues.minute = ts.getUTCMinutes();
822
- resValues.second = ts.getUTCSeconds();
823
- resValues.millisecond = ts.getUTCMilliseconds();
703
+ resValues.hour = val;
704
+ }
705
+ // 12 Hour (1-12)
706
+ if (parsedIndexes.hour12Base1 > -1) {
707
+ let val = parseInt(matches[parsedIndexes.hour12Base1]);
708
+ if (val == 12) {
709
+ val = 0;
824
710
  }
825
- // Adjust time zone
826
- if (parsedIndexes.zone > -1) {
827
- resValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.zone]);
711
+ if ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {
712
+ val += 12;
828
713
  }
829
- // ISO
830
- if (parsedIndexes.iso > -1) {
831
- resValues.year = $type.toNumber(matches[parsedIndexes.iso + 0]);
832
- resValues.month = $type.toNumber(matches[parsedIndexes.iso + 1]) - 1;
833
- resValues.day = $type.toNumber(matches[parsedIndexes.iso + 2]);
834
- resValues.hour = $type.toNumber(matches[parsedIndexes.iso + 3]);
835
- resValues.minute = $type.toNumber(matches[parsedIndexes.iso + 4]);
836
- resValues.second = $type.toNumber(matches[parsedIndexes.iso + 5]);
837
- resValues.millisecond = $type.toNumber(matches[parsedIndexes.iso + 6]);
838
- if (matches[parsedIndexes.iso + 7] == "Z" || matches[parsedIndexes.iso + 7] == "z") {
839
- resValues.utc = true;
840
- }
841
- else if (matches[parsedIndexes.iso + 7] != "") {
842
- resValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.iso + 7]);
843
- }
714
+ resValues.hour = val;
715
+ }
716
+ // Minute
717
+ if (parsedIndexes.minute > -1) {
718
+ resValues.minute = parseInt(matches[parsedIndexes.minute]);
719
+ }
720
+ // Second
721
+ if (parsedIndexes.second > -1) {
722
+ resValues.second = parseInt(matches[parsedIndexes.second]);
723
+ }
724
+ // Millisecond
725
+ if (parsedIndexes.millisecond > -1) {
726
+ let val = parseInt(matches[parsedIndexes.millisecond]);
727
+ if (parsedIndexes.millisecondDigits == 2) {
728
+ val *= 10;
844
729
  }
845
- // Create Date object
846
- if (resValues.utc) {
847
- res = new Date(Date.UTC(resValues.year, resValues.month, resValues.day, resValues.hour, resValues.minute, resValues.second, resValues.millisecond));
730
+ else if (parsedIndexes.millisecondDigits == 1) {
731
+ val *= 100;
848
732
  }
849
- else {
850
- res = new Date(resValues.year, resValues.month, resValues.day, resValues.hour, resValues.minute + resValues.offset, resValues.second, resValues.millisecond);
733
+ resValues.millisecond = val;
734
+ }
735
+ // Timestamp
736
+ if (parsedIndexes.timestamp > -1) {
737
+ resValues.timestamp = parseInt(matches[parsedIndexes.timestamp]);
738
+ const ts = new Date(resValues.timestamp);
739
+ resValues.year = ts.getUTCFullYear();
740
+ resValues.month = ts.getUTCMonth();
741
+ resValues.day = ts.getUTCDate();
742
+ resValues.hour = ts.getUTCHours();
743
+ resValues.minute = ts.getUTCMinutes();
744
+ resValues.second = ts.getUTCSeconds();
745
+ resValues.millisecond = ts.getUTCMilliseconds();
746
+ }
747
+ // Adjust time zone
748
+ if (parsedIndexes.zone > -1) {
749
+ resValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.zone]);
750
+ }
751
+ // ISO
752
+ if (parsedIndexes.iso > -1) {
753
+ resValues.year = $type.toNumber(matches[parsedIndexes.iso + 0]);
754
+ resValues.month = $type.toNumber(matches[parsedIndexes.iso + 1]) - 1;
755
+ resValues.day = $type.toNumber(matches[parsedIndexes.iso + 2]);
756
+ resValues.hour = $type.toNumber(matches[parsedIndexes.iso + 3]);
757
+ resValues.minute = $type.toNumber(matches[parsedIndexes.iso + 4]);
758
+ resValues.second = $type.toNumber(matches[parsedIndexes.iso + 5]);
759
+ resValues.millisecond = $type.toNumber(matches[parsedIndexes.iso + 6]);
760
+ if (matches[parsedIndexes.iso + 7] == "Z" || matches[parsedIndexes.iso + 7] == "z") {
761
+ resValues.utc = true;
762
+ }
763
+ else if (matches[parsedIndexes.iso + 7] != "") {
764
+ resValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.iso + 7]);
851
765
  }
852
766
  }
767
+ // Create Date object
768
+ if (resValues.utc) {
769
+ res = new Date(Date.UTC(resValues.year, resValues.month, resValues.day, resValues.hour, resValues.minute, resValues.second, resValues.millisecond));
770
+ }
853
771
  else {
854
- // Didn't match anything
855
- // Let's try dropping it into Date constructor and hope for the best
856
- res = new Date(source);
772
+ res = new Date(resValues.year, resValues.month, resValues.day, resValues.hour, resValues.minute + resValues.offset, resValues.second, resValues.millisecond);
857
773
  }
858
- return res;
859
774
  }
860
- });
861
- Object.defineProperty(DateFormatter.prototype, "resolveTimezoneOffset", {
862
- enumerable: false,
863
- configurable: true,
864
- writable: true,
865
- value: function (date, zone) {
866
- var value = zone.match(/([+\-]?)([0-9]{2}):?([0-9]{2})/);
867
- if (value) {
868
- var match = zone.match(/([+\-]?)([0-9]{2}):?([0-9]{2})/);
869
- var dir = match[1];
870
- var hour = match[2];
871
- var minute = match[3];
872
- var offset = parseInt(hour) * 60 + parseInt(minute);
873
- // Adjust offset
874
- // Making it negative does not seem to make sense, but it's right
875
- // because of how JavaScript calculates GMT offsets
876
- if (dir == "+") {
877
- offset *= -1;
878
- }
879
- // Check the difference in offset
880
- var originalOffset = (date || new Date()).getTimezoneOffset();
881
- var diff = offset - originalOffset;
882
- return diff;
775
+ else {
776
+ // Didn't match anything
777
+ // Let's try dropping it into Date constructor and hope for the best
778
+ res = new Date(source);
779
+ }
780
+ return res;
781
+ }
782
+ resolveTimezoneOffset(date, zone) {
783
+ let value = zone.match(/([+\-]?)([0-9]{2}):?([0-9]{2})/);
784
+ if (value) {
785
+ let match = zone.match(/([+\-]?)([0-9]{2}):?([0-9]{2})/);
786
+ let dir = match[1];
787
+ let hour = match[2];
788
+ let minute = match[3];
789
+ let offset = parseInt(hour) * 60 + parseInt(minute);
790
+ // Adjust offset
791
+ // Making it negative does not seem to make sense, but it's right
792
+ // because of how JavaScript calculates GMT offsets
793
+ if (dir == "+") {
794
+ offset *= -1;
883
795
  }
884
- return 0;
796
+ // Check the difference in offset
797
+ let originalOffset = (date || new Date()).getTimezoneOffset();
798
+ let diff = offset - originalOffset;
799
+ return diff;
885
800
  }
886
- });
801
+ return 0;
802
+ }
887
803
  /**
888
804
  * Resolves month name (i.e. "December") into a month number (11).
889
805
  *
890
806
  * @param value Month name
891
807
  * @return Month number
892
808
  */
893
- Object.defineProperty(DateFormatter.prototype, "resolveMonth", {
894
- enumerable: false,
895
- configurable: true,
896
- writable: true,
897
- value: function (value) {
898
- // Let's try English first
899
- var month = this._months().indexOf(value);
809
+ resolveMonth(value) {
810
+ // Let's try English first
811
+ let month = this._months().indexOf(value);
812
+ if (month > -1) {
813
+ return month;
814
+ }
815
+ // Try the translation
816
+ if (!this._root.language.isDefault()) {
817
+ month = this._root.language.translateAll(this._months()).indexOf(value);
900
818
  if (month > -1) {
901
819
  return month;
902
820
  }
903
- // Try the translation
904
- if (!this._root.language.isDefault()) {
905
- month = this._root.language.translateAll(this._months()).indexOf(value);
906
- if (month > -1) {
907
- return month;
908
- }
909
- }
910
- return 0;
911
821
  }
912
- });
822
+ return 0;
823
+ }
913
824
  /**
914
825
  * Resolves short month name (i.e. "Dec") into a month number.
915
826
  *
916
827
  * @param value Short month name
917
828
  * @return Month number
918
829
  */
919
- Object.defineProperty(DateFormatter.prototype, "resolveShortMonth", {
920
- enumerable: false,
921
- configurable: true,
922
- writable: true,
923
- value: function (value) {
924
- // Let's try English first
925
- var month = this._shortMonths().indexOf(value);
926
- if (month > -1) {
927
- return month;
928
- }
929
- // Maybe long month (workaround for May)
930
- month = this._months().indexOf(value);
830
+ resolveShortMonth(value) {
831
+ // Let's try English first
832
+ let month = this._shortMonths().indexOf(value);
833
+ if (month > -1) {
834
+ return month;
835
+ }
836
+ // Maybe long month (workaround for May)
837
+ month = this._months().indexOf(value);
838
+ if (month > -1) {
839
+ return month;
840
+ }
841
+ // Try the translation
842
+ if (this._root.language && !this._root.language.isDefault()) {
843
+ month = this._root.language.translateAll(this._shortMonths()).indexOf(value);
931
844
  if (month > -1) {
932
845
  return month;
933
846
  }
934
- // Try the translation
935
- if (this._root.language && !this._root.language.isDefault()) {
936
- month = this._root.language.translateAll(this._shortMonths()).indexOf(value);
937
- if (month > -1) {
938
- return month;
939
- }
940
- }
941
- return 0;
942
847
  }
943
- });
848
+ return 0;
849
+ }
944
850
  /**
945
851
  * Checks if passed in string represents AM/PM notation in many of its
946
852
  * versions.
@@ -948,40 +854,28 @@ var DateFormatter = /** @class */ (function (_super) {
948
854
  * @param value Source string
949
855
  * @return Is it AM/PM?
950
856
  */
951
- Object.defineProperty(DateFormatter.prototype, "isAm", {
952
- enumerable: false,
953
- configurable: true,
954
- writable: true,
955
- value: function (value) {
956
- var list = this.getStringList(["AM", "A.M.", "A"]);
957
- return list.indexOf(value.toUpperCase()) > -1;
958
- }
959
- });
857
+ isAm(value) {
858
+ let list = this.getStringList(["AM", "A.M.", "A"]);
859
+ return list.indexOf(value.toUpperCase()) > -1;
860
+ }
960
861
  /**
961
862
  * Translates list of strings.
962
863
  *
963
864
  * @param list Source strings
964
865
  * @return Translated strings
965
866
  */
966
- Object.defineProperty(DateFormatter.prototype, "getStringList", {
967
- enumerable: false,
968
- configurable: true,
969
- writable: true,
970
- value: function (list) {
971
- var res = [];
972
- for (var i = 0; i < list.length; i++) {
973
- // translate?
974
- if (this._root.language) {
975
- res.push($utils.escapeForRgex(this._t(list[i])));
976
- }
977
- else {
978
- res.push($utils.escapeForRgex(list[i]));
979
- }
867
+ getStringList(list) {
868
+ let res = [];
869
+ for (let i = 0; i < list.length; i++) {
870
+ // translate?
871
+ if (this._root.language) {
872
+ res.push($utils.escapeForRgex(this._t(list[i])));
873
+ }
874
+ else {
875
+ res.push($utils.escapeForRgex(list[i]));
980
876
  }
981
- return res;
982
877
  }
983
- });
984
- return DateFormatter;
985
- }(Entity));
986
- export { DateFormatter };
878
+ return res;
879
+ }
880
+ }
987
881
  //# sourceMappingURL=DateFormatter.js.map