@amcharts/amcharts5 5.1.6 → 5.1.9

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 (278) hide show
  1. package/.internal/charts/flow/ChordLink.d.ts +12 -0
  2. package/.internal/charts/flow/ChordLink.d.ts.map +1 -1
  3. package/.internal/charts/flow/ChordLink.js.map +1 -1
  4. package/.internal/charts/flow/Flow.d.ts +2 -0
  5. package/.internal/charts/flow/Flow.d.ts.map +1 -1
  6. package/.internal/charts/flow/Flow.js +17 -0
  7. package/.internal/charts/flow/Flow.js.map +1 -1
  8. package/.internal/charts/flow/FlowNodes.d.ts +7 -0
  9. package/.internal/charts/flow/FlowNodes.d.ts.map +1 -1
  10. package/.internal/charts/flow/FlowNodes.js +7 -0
  11. package/.internal/charts/flow/FlowNodes.js.map +1 -1
  12. package/.internal/charts/flow/Sankey.d.ts.map +1 -1
  13. package/.internal/charts/flow/Sankey.js +59 -57
  14. package/.internal/charts/flow/Sankey.js.map +1 -1
  15. package/.internal/charts/funnel/FunnelSeries.d.ts +9 -0
  16. package/.internal/charts/funnel/FunnelSeries.d.ts.map +1 -1
  17. package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
  18. package/.internal/charts/hierarchy/Hierarchy.d.ts +36 -0
  19. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  20. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  21. package/.internal/charts/map/MapChart.d.ts +2 -0
  22. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  23. package/.internal/charts/map/MapChart.js +30 -3
  24. package/.internal/charts/map/MapChart.js.map +1 -1
  25. package/.internal/charts/map/MapPointSeries.d.ts +6 -0
  26. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  27. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  28. package/.internal/charts/percent/PercentSeries.d.ts +18 -0
  29. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  30. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  31. package/.internal/charts/pie/PieSeries.d.ts +3 -0
  32. package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
  33. package/.internal/charts/pie/PieSeries.js.map +1 -1
  34. package/.internal/charts/radar/AxisRendererCircular.d.ts +12 -0
  35. package/.internal/charts/radar/AxisRendererCircular.d.ts.map +1 -1
  36. package/.internal/charts/radar/AxisRendererCircular.js.map +1 -1
  37. package/.internal/charts/radar/AxisRendererRadial.d.ts +12 -0
  38. package/.internal/charts/radar/AxisRendererRadial.d.ts.map +1 -1
  39. package/.internal/charts/radar/AxisRendererRadial.js.map +1 -1
  40. package/.internal/charts/radar/RadarChart.d.ts +2 -0
  41. package/.internal/charts/radar/RadarChart.d.ts.map +1 -1
  42. package/.internal/charts/radar/RadarChart.js +16 -0
  43. package/.internal/charts/radar/RadarChart.js.map +1 -1
  44. package/.internal/charts/radar/RadarColumnSeries.d.ts +15 -0
  45. package/.internal/charts/radar/RadarColumnSeries.d.ts.map +1 -1
  46. package/.internal/charts/radar/RadarColumnSeries.js.map +1 -1
  47. package/.internal/charts/radar/RadarCursor.d.ts +12 -0
  48. package/.internal/charts/radar/RadarCursor.d.ts.map +1 -1
  49. package/.internal/charts/radar/RadarCursor.js.map +1 -1
  50. package/.internal/charts/wordcloud/WordCloud.d.ts +3 -0
  51. package/.internal/charts/wordcloud/WordCloud.d.ts.map +1 -1
  52. package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
  53. package/.internal/charts/xy/XYChart.d.ts +45 -0
  54. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  55. package/.internal/charts/xy/XYChart.js +222 -43
  56. package/.internal/charts/xy/XYChart.js.map +1 -1
  57. package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
  58. package/.internal/charts/xy/XYChartDefaultTheme.js +3 -1
  59. package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
  60. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  61. package/.internal/charts/xy/XYCursor.js +8 -1
  62. package/.internal/charts/xy/XYCursor.js.map +1 -1
  63. package/.internal/charts/xy/axes/Axis.d.ts +2 -0
  64. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  65. package/.internal/charts/xy/axes/Axis.js +7 -0
  66. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  67. package/.internal/charts/xy/axes/AxisLabel.d.ts.map +1 -1
  68. package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
  69. package/.internal/charts/xy/axes/AxisRenderer.d.ts +3 -0
  70. package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
  71. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  72. package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
  73. package/.internal/charts/xy/axes/AxisRendererX.js +6 -2
  74. package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
  75. package/.internal/charts/xy/axes/AxisRendererY.js +2 -2
  76. package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
  77. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  78. package/.internal/charts/xy/axes/DateAxis.js +11 -3
  79. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  80. package/.internal/charts/xy/axes/DurationAxis.d.ts +5 -0
  81. package/.internal/charts/xy/axes/DurationAxis.d.ts.map +1 -1
  82. package/.internal/charts/xy/axes/DurationAxis.js.map +1 -1
  83. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +3 -0
  84. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
  85. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  86. package/.internal/charts/xy/axes/ValueAxis.d.ts +74 -0
  87. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  88. package/.internal/charts/xy/axes/ValueAxis.js +1 -0
  89. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  90. package/.internal/charts/xy/series/Candlestick.d.ts +27 -0
  91. package/.internal/charts/xy/series/Candlestick.d.ts.map +1 -1
  92. package/.internal/charts/xy/series/Candlestick.js.map +1 -1
  93. package/.internal/charts/xy/series/CandlestickSeries.d.ts +6 -1
  94. package/.internal/charts/xy/series/CandlestickSeries.d.ts.map +1 -1
  95. package/.internal/charts/xy/series/CandlestickSeries.js.map +1 -1
  96. package/.internal/charts/xy/series/ColumnSeries.d.ts +3 -0
  97. package/.internal/charts/xy/series/ColumnSeries.d.ts.map +1 -1
  98. package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
  99. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  100. package/.internal/charts/xy/series/LineSeries.js +3 -0
  101. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  102. package/.internal/charts/xy/series/OHLCSeries.d.ts +3 -0
  103. package/.internal/charts/xy/series/OHLCSeries.d.ts.map +1 -1
  104. package/.internal/charts/xy/series/OHLCSeries.js.map +1 -1
  105. package/.internal/core/Classes.d.ts +14 -8
  106. package/.internal/core/Classes.d.ts.map +1 -1
  107. package/.internal/core/Classes.js.map +1 -1
  108. package/.internal/core/render/Graphics.d.ts +2 -0
  109. package/.internal/core/render/Graphics.d.ts.map +1 -1
  110. package/.internal/core/render/Graphics.js +1 -1
  111. package/.internal/core/render/Graphics.js.map +1 -1
  112. package/.internal/core/render/Sprite.d.ts.map +1 -1
  113. package/.internal/core/render/Sprite.js +15 -1
  114. package/.internal/core/render/Sprite.js.map +1 -1
  115. package/.internal/core/render/Tooltip.d.ts.map +1 -1
  116. package/.internal/core/render/Tooltip.js +14 -4
  117. package/.internal/core/render/Tooltip.js.map +1 -1
  118. package/.internal/core/render/VerticalLayout.js +1 -1
  119. package/.internal/core/render/VerticalLayout.js.map +1 -1
  120. package/.internal/core/render/backend/CanvasRenderer.d.ts +3 -5
  121. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  122. package/.internal/core/render/backend/CanvasRenderer.js +49 -34
  123. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  124. package/.internal/core/util/Benchmark.js +1 -1
  125. package/.internal/core/util/Benchmark.js.map +1 -1
  126. package/.internal/core/util/Entity.d.ts +1 -1
  127. package/.internal/core/util/Entity.d.ts.map +1 -1
  128. package/.internal/core/util/Entity.js +1 -1
  129. package/.internal/core/util/Entity.js.map +1 -1
  130. package/.internal/core/util/Language.js +3 -3
  131. package/.internal/core/util/Language.js.map +1 -1
  132. package/.internal/core/util/ResizeSensor.d.ts.map +1 -1
  133. package/.internal/core/util/ResizeSensor.js +2 -3
  134. package/.internal/core/util/ResizeSensor.js.map +1 -1
  135. package/.internal/core/util/Template.d.ts +1 -1
  136. package/.internal/core/util/Template.d.ts.map +1 -1
  137. package/.internal/core/util/Template.js.map +1 -1
  138. package/.internal/core/util/Time.d.ts +1 -0
  139. package/.internal/core/util/Time.d.ts.map +1 -1
  140. package/.internal/core/util/Time.js +12 -0
  141. package/.internal/core/util/Time.js.map +1 -1
  142. package/.internal/core/util/Utils.js +1 -1
  143. package/.internal/core/util/Utils.js.map +1 -1
  144. package/.internal/plugins/exporting/Exporting.d.ts +0 -4
  145. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  146. package/.internal/plugins/exporting/Exporting.js +4 -49
  147. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  148. package/.internal/plugins/json/Classes.d.ts +271 -0
  149. package/.internal/plugins/json/Classes.d.ts.map +1 -0
  150. package/.internal/plugins/json/Classes.js +270 -0
  151. package/.internal/plugins/json/Classes.js.map +1 -0
  152. package/.internal/plugins/json/Json.d.ts +7 -0
  153. package/.internal/plugins/json/Json.d.ts.map +1 -0
  154. package/.internal/plugins/json/Json.js +61 -0
  155. package/.internal/plugins/json/Json.js.map +1 -0
  156. package/CHANGELOG.md +41 -0
  157. package/LICENSE +1 -1
  158. package/examples/javascript/flow-chord/package.json +1 -1
  159. package/examples/javascript/flow-chord-directed/package.json +1 -1
  160. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  161. package/examples/javascript/flow-sankey/package.json +1 -1
  162. package/examples/javascript/gauge/package.json +1 -1
  163. package/examples/javascript/gauge-bands/package.json +1 -1
  164. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  165. package/examples/javascript/hierarchy-pack/package.json +1 -1
  166. package/examples/javascript/hierarchy-partition/package.json +1 -1
  167. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  168. package/examples/javascript/hierarchy-tree/package.json +1 -1
  169. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  170. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  171. package/examples/javascript/map-day-and-night/package.json +1 -1
  172. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  173. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  174. package/examples/javascript/map-with-bubbles/package.json +1 -1
  175. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  176. package/examples/javascript/misc-40-charts/package.json +1 -1
  177. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  178. package/examples/javascript/pie-chart/package.json +1 -1
  179. package/examples/javascript/pie-donut-chart/package.json +1 -1
  180. package/examples/javascript/pie-variable-radius/package.json +1 -1
  181. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  182. package/examples/javascript/radar-heat-map/package.json +1 -1
  183. package/examples/javascript/radar-line/package.json +1 -1
  184. package/examples/javascript/radar-time-line/package.json +1 -1
  185. package/examples/javascript/sliced-funnel/package.json +1 -1
  186. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  187. package/examples/javascript/sliced-pyramid/package.json +1 -1
  188. package/examples/javascript/venn-diagram/package.json +1 -1
  189. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  190. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  191. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  192. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  193. package/examples/javascript/xy-bubble/package.json +1 -1
  194. package/examples/javascript/xy-candlestick/package.json +1 -1
  195. package/examples/javascript/xy-clustered-column/package.json +1 -1
  196. package/examples/javascript/xy-column/package.json +1 -1
  197. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  198. package/examples/javascript/xy-data-grouping/package.json +1 -1
  199. package/examples/javascript/xy-draggable-range/package.json +1 -1
  200. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  201. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  202. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  203. package/examples/javascript/xy-line/package.json +1 -1
  204. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  205. package/examples/javascript/xy-live-data/package.json +1 -1
  206. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  207. package/examples/javascript/xy-ohlc/package.json +1 -1
  208. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  209. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  210. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  211. package/examples/javascript/xy-stacked-column/package.json +1 -1
  212. package/examples/javascript/xy-stacked-step/package.json +1 -1
  213. package/examples/javascript/xy-stock/package.json +1 -1
  214. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  215. package/examples/typescript/flow-chord/package.json +1 -1
  216. package/examples/typescript/flow-chord-directed/package.json +1 -1
  217. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  218. package/examples/typescript/flow-sankey/package.json +1 -1
  219. package/examples/typescript/gauge/package.json +1 -1
  220. package/examples/typescript/gauge-bands/package.json +1 -1
  221. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  222. package/examples/typescript/hierarchy-pack/package.json +1 -1
  223. package/examples/typescript/hierarchy-partition/package.json +1 -1
  224. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  225. package/examples/typescript/hierarchy-tree/package.json +1 -1
  226. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  227. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  228. package/examples/typescript/map-day-and-night/package.json +1 -1
  229. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  230. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  231. package/examples/typescript/map-with-bubbles/package.json +1 -1
  232. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  233. package/examples/typescript/misc-40-charts/package.json +1 -1
  234. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  235. package/examples/typescript/pie-chart/package.json +1 -1
  236. package/examples/typescript/pie-donut-chart/package.json +1 -1
  237. package/examples/typescript/pie-variable-radius/package.json +1 -1
  238. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  239. package/examples/typescript/radar-heat-map/package.json +1 -1
  240. package/examples/typescript/radar-line/package.json +1 -1
  241. package/examples/typescript/radar-time-line/package.json +1 -1
  242. package/examples/typescript/sliced-funnel/package.json +1 -1
  243. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  244. package/examples/typescript/sliced-pyramid/package.json +1 -1
  245. package/examples/typescript/venn-diagram/package.json +1 -1
  246. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  247. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  248. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  249. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  250. package/examples/typescript/xy-bubble/package.json +1 -1
  251. package/examples/typescript/xy-candlestick/package.json +1 -1
  252. package/examples/typescript/xy-clustered-column/package.json +1 -1
  253. package/examples/typescript/xy-column/package.json +1 -1
  254. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  255. package/examples/typescript/xy-data-grouping/package.json +1 -1
  256. package/examples/typescript/xy-draggable-range/package.json +1 -1
  257. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  258. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  259. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  260. package/examples/typescript/xy-line/package.json +1 -1
  261. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  262. package/examples/typescript/xy-live-data/package.json +1 -1
  263. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  264. package/examples/typescript/xy-ohlc/package.json +1 -1
  265. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  266. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  267. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  268. package/examples/typescript/xy-stacked-column/package.json +1 -1
  269. package/examples/typescript/xy-stacked-step/package.json +1 -1
  270. package/examples/typescript/xy-stock/package.json +1 -1
  271. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  272. package/locales/nb_NO.js +6 -6
  273. package/locales/nb_NO.js.map +1 -1
  274. package/package.json +2 -1
  275. package/plugins/json.d.ts +2 -0
  276. package/plugins/json.d.ts.map +1 -0
  277. package/plugins/json.js +2 -0
  278. package/plugins/json.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Language.ts"],"names":[],"mappings":"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","sourcesContent":["import { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport * as $array from \"./Array\"\nimport en from \"../../../locales/en\";\n\n/**\n * Defines properties that exist for the locale.\n *\n * @ignore\n */\nexport interface ILocaleSettings {\n\t\"firstDayOfWeek\"?: number,\n\n\t// number formatter related\n\t\"_decimalSeparator\"?: string;\n\t\"_thousandSeparator\"?: string;\n\n\t\"_big_number_suffix_3\"?: string;\n\t\"_big_number_suffix_6\"?: string;\n\t\"_big_number_suffix_9\"?: string;\n\t\"_big_number_suffix_12\"?: string;\n\t\"_big_number_suffix_15\"?: string;\n\t\"_big_number_suffix_18\"?: string;\n\t\"_big_number_suffix_21\"?: string;\n\t\"_big_number_suffix_24\"?: string;\n\n\t\"_small_number_suffix_24\"?: string;\n\t\"_small_number_suffix_21\"?: string;\n\t\"_small_number_suffix_18\"?: string;\n\t\"_small_number_suffix_15\"?: string;\n\t\"_small_number_suffix_12\"?: string;\n\t\"_small_number_suffix_9\"?: string;\n\t\"_small_number_suffix_6\"?: string;\n\t\"_small_number_suffix_3\"?: string;\n\n\t\"_byte_suffix_B\"?: string;\n\t\"_byte_suffix_KB\"?: string;\n\t\"_byte_suffix_MB\"?: string;\n\t\"_byte_suffix_GB\"?: string;\n\t\"_byte_suffix_TB\"?: string;\n\t\"_byte_suffix_PB\"?: string;\n\n\t// Default date formats for various periods\n\t\"_date\"?: string;\n\t\"_date_millisecond\"?: string;\n\t\"_date_millisecond_full\"?: string;\n\t\"_date_second\"?: string;\n\t\"_date_second_full\"?: string;\n\t\"_date_minute\"?: string;\n\t\"_date_minute_full\"?: string;\n\t\"_date_hour\"?: string;\n\t\"_date_hour_full\"?: string;\n\t\"_date_day\"?: string;\n\t\"_date_day_full\"?: string;\n\t\"_date_week\"?: string;\n\t\"_date_week_full\"?: string;\n\t\"_date_month\"?: string;\n\t\"_date_month_full\"?: string;\n\t\"_date_year\"?: string;\n\n\t// Default duration formats for various base units\n\t\"_duration_millisecond\"?: string;\n\t\"_duration_millisecond_second\"?: string;\n\t\"_duration_millisecond_minute\"?: string;\n\t\"_duration_millisecond_hour\"?: string;\n\t\"_duration_millisecond_day\"?: string;\n\t\"_duration_millisecond_week\"?: string;\n\t\"_duration_millisecond_month\"?: string;\n\t\"_duration_millisecond_year\"?: string;\n\n\t\"_duration_second\"?: string;\n\t\"_duration_second_minute\"?: string;\n\t\"_duration_second_hour\"?: string;\n\t\"_duration_second_day\"?: string;\n\t\"_duration_second_week\"?: string;\n\t\"_duration_second_month\"?: string;\n\t\"_duration_second_year\"?: string;\n\n\t\"_duration_minute\"?: string;\n\t\"_duration_minute_hour\"?: string;\n\t\"_duration_minute_day\"?: string;\n\t\"_duration_minute_week\"?: string;\n\t\"_duration_minute_month\"?: string;\n\t\"_duration_minute_year\"?: string;\n\n\t\"_duration_hour\"?: string;\n\t\"_duration_hour_day\"?: string;\n\t\"_duration_hour_week\"?: string;\n\t\"_duration_hour_month\"?: string;\n\t\"_duration_hour_year\"?: string;\n\n\t\"_duration_day\"?: string;\n\t\"_duration_day_week\"?: string;\n\t\"_duration_day_month\"?: string;\n\t\"_duration_day_year\"?: string;\n\n\t\"_duration_week\"?: string;\n\t\"_duration_week_month\"?: string;\n\t\"_duration_week_year\"?: string;\n\n\t\"_duration_month\"?: string;\n\t\"_duration_month_year\"?: string;\n\n\t\"_duration_year\"?: string;\n\n\t// Era\n\t\"_era_ad\"?: string;\n\t\"_era_bc\"?: string;\n\n\t// Period\n\t\"A\"?: string;\n\t\"P\"?: string;\n\t\"AM\"?: string;\n\t\"PM\"?: string;\n\t\"A.M.\"?: string;\n\t\"P.M.\"?: string;\n\n\t// Dates\n\t\"January\"?: string;\n\t\"February\"?: string;\n\t\"March\"?: string;\n\t\"April\"?: string;\n\t\"May\"?: string;\n\t\"June\"?: string;\n\t\"July\"?: string;\n\t\"August\"?: string;\n\t\"September\"?: string;\n\t\"October\"?: string;\n\t\"November\"?: string;\n\t\"December\"?: string;\n\t\"Jan\"?: string;\n\t\"Feb\"?: string;\n\t\"Mar\"?: string;\n\t\"Apr\"?: string;\n\t\"May(short)\"?: string;\n\t\"Jun\"?: string;\n\t\"Jul\"?: string;\n\t\"Aug\"?: string;\n\t\"Sep\"?: string;\n\t\"Oct\"?: string;\n\t\"Nov\"?: string;\n\t\"Dec\"?: string;\n\t\"Sunday\"?: string;\n\t\"Monday\"?: string;\n\t\"Tuesday\"?: string;\n\t\"Wednesday\"?: string;\n\t\"Thursday\"?: string;\n\t\"Friday\"?: string;\n\t\"Saturday\"?: string;\n\t\"Sun\"?: string;\n\t\"Mon\"?: string;\n\t\"Tue\"?: string;\n\t\"Wed\"?: string;\n\t\"Thu\"?: string;\n\t\"Fri\"?: string;\n\t\"Sat\"?: string;\n\n\t// Chart elements\n\t\"Zoom Out\"?: string;\n\t\"Play\"?: string;\n\t\"Stop\"?: string;\n\t\"Legend\"?: string;\n\t\"Press ENTER to toggle\"?: string;\n\t\"Loading\"?: string;\n\t\"%1 shown\"?: string;\n\t\"%1 hidden\"?: string;\n\n\t// Chart types\n\t\"Chart\"?: string;\n\t\"Serial chart\"?: string;\n\t\"X/Y chart\"?: string;\n\t\"Pie chart\"?: string;\n\t\"Sunburst chart\"?: string;\n\t\"Gauge chart\"?: string;\n\t\"Radar chart\"?: string;\n\t\"Sankey diagram\"?: string;\n\t\"Flow diagram\"?: string;\n\t\"Chord diagram\"?: string;\n\t\"TreeMap chart\"?: string;\n\t\"Force directed tree\"?: string;\n\t\"Sliced chart\"?: string;\n\n\t// Series types\n\t\"Series\"?: string;\n\t\"Candlestick Series\"?: string;\n\t\"OHLC Series\"?: string;\n\t\"Column Series\"?: string;\n\t\"Line Series\"?: string;\n\t\"Pie Slice Series\"?: string;\n\t\"Funnel Series\"?: string;\n\t\"Pyramid Series\"?: string;\n\t\"X/Y Series\"?: string;\n\n\t// Map-related\n\t\"Map\"?: string;\n\t\"Press ENTER to zoom in\"?: string;\n\t\"Press ENTER to zoom out\"?: string;\n\t\"Use arrow keys to zoom in and out\"?: string;\n\t\"Use plus and minus keys on your keyboard to zoom in and out\"?: string;\n\t\"Home\"?: string;\n\t\"Zoom level changed to %1\"?: string;\n\n\t// Export-related\n\t\"Export\"?: string;\n\t\"Image\"?: string;\n\t\"Data\"?: string;\n\t\"Print\"?: string;\n\t\"Press ENTER or use arrow keys to navigate\"?: string;\n\t\"Press ENTER to open\"?: string;\n\t\"Press ENTER to print.\"?: string;\n\t\"Press ENTER to export as %1.\"?: string;\n\t\"(Press ESC to close this message)\"?: string;\n\t\"Image Export Complete\"?: string;\n\t\"Export operation took longer than expected. Something might have gone wrong.\"?: string;\n\t\"Saved from\"?: string;\n\t\"PNG\"?: string;\n\t\"JPG\"?: string;\n\t\"GIF\"?: string;\n\t\"SVG\"?: string;\n\t\"PDF\"?: string;\n\t\"JSON\"?: string;\n\t\"CSV\"?: string;\n\t\"XLSX\"?: string;\n\t\"HTML\"?: string;\n\n\t// Scrollbar-related\n\t\"Use TAB to select grip buttons or left and right arrows to change selection\"?: string;\n\t\"Use left and right arrows to move selection\"?: string;\n\t\"Use left and right arrows to move left selection\"?: string;\n\t\"Use left and right arrows to move right selection\"?: string;\n\t\"Use TAB select grip buttons or up and down arrows to change selection\"?: string;\n\t\"Use up and down arrows to move selection\"?: string;\n\t\"Use up and down arrows to move lower selection\"?: string;\n\t\"Use up and down arrows to move upper selection\"?: string;\n\t\"From %1 to %2\"?: string;\n\t\"From %1\"?: string;\n\t\"To %1\"?: string;\n\n\t// Data loader-related\n\t\"No parser available for file: %1\"?: string;\n\t\"Error parsing file: %1\"?: string;\n\t\"Unable to load file: %1\"?: string;\n\t\"Invalid date\"?: string;\n\n\t// Common actions\n\t\"Close\"?: string;\n\t\"Minimize\"?: string;\n\n\t\"Venn Series\"?: string;\n\t\"Venn Diagram\"?: string;\n}\n\n/**\n * Defines functions that exist for the locale.\n *\n * @ignore\n */\nexport interface ILocaleFunctions {\n\t// ordinal function\n\t\"_dateOrd\": (day: number) => string;\n}\n\n/**\n * Defines all of the defaults for locale properties.\n * @ignore\n */\nexport interface ILocaleDefault extends ILocaleSettings, ILocaleFunctions { }\n\n/**\n * Defines locale interface.\n *\n * @ignore\n */\nexport interface ILocale extends Partial<ILocaleDefault> { };\n\nexport interface ILanguageSettings extends IEntitySettings {\n}\n\nexport interface ILanguagePrivate extends IEntityPrivate {\n\n\t/**\n\t * A locale for International English (default).\n\t */\n\tdefaultLocale: ILocale;\n\n}\n\nexport class Language extends Entity {\n\tdeclare public _settings: ILanguageSettings;\n\tdeclare public _privateSettings: ILanguagePrivate;\n\n\tprotected _setDefaults() {\n\t\tthis.setPrivate(\"defaultLocale\", en);\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic translate<Key extends keyof ILocaleSettings>(prompt: Key, locale?: ILocale, ...rest: Array<string>): string {\n\n\t\t// Get langauge\n\t\tif (!locale) {\n\t\t\tlocale = this._root.locale || this.getPrivate(\"defaultLocale\");\n\t\t}\n\n\t\t// Init translation\n\t\tlet translation: string = prompt;\n\t\tlet value = locale[prompt];\n\n\t\t// Try to look for the translation\n\t\tif (value === null) {\n\t\t\ttranslation = \"\";\n\t\t}\n\t\telse if (value != null) {\n\t\t\t// It might be an empty string\n\t\t\tif (value) {\n\t\t\t\ttranslation = <string>value!;\n\t\t\t}\n\t\t}\n\t\telse if (locale !== this.getPrivate(\"defaultLocale\")) {\n\t\t\t// Try to look in default language\n\t\t\treturn this.translate(prompt, this.getPrivate(\"defaultLocale\"), ...rest);\n\t\t}\n\n\t\t// Replace %1, %2, etc params\n\t\tif (rest.length) {\n\t\t\tfor (let len = rest.length, i = 0; i < len; ++i) {\n\t\t\t\ttranslation = translation.split(\"%\" + (i + 1)).join(rest[i]);\n\t\t\t}\n\t\t}\n\n\t\t// Return the translation\n\t\treturn translation;\n\t}\n\n\tpublic translateAny(prompt: string, locale?: ILocale, ...rest: Array<string>): string {\n\t\treturn this.translate(<any>prompt, locale, ...rest);\n\t}\n\n\tpublic setTranslationAny(prompt: string, translation: string, locale?: ILocale): void {\n\t\tconst localeTarget = locale || this._root.locale;\n\t\t(<any>localeTarget)[prompt] = translation;\n\t}\n\n\tpublic translateEmpty<Key extends keyof ILocaleSettings>(prompt: Key, locale?: ILocale, ...rest: Array<string>): string {\n\t\tlet translation = this.translate(prompt, locale, ...rest);\n\t\treturn translation == prompt ? \"\" : translation;\n\t}\n\n\tpublic translateFunc<Key extends keyof ILocaleFunctions>(prompt: Key, locale?: ILocale): ILocaleFunctions[Key] {\n\n\t\tif ((<any>this._root.locale)[prompt]) {\n\t\t\treturn (<any>this._root.locale)[prompt];\n\t\t}\n\n\t\t// Try to look in default language\n\t\tif (locale !== this.getPrivate(\"defaultLocale\")) {\n\t\t\treturn this.translateFunc(prompt, this.getPrivate(\"defaultLocale\"));\n\t\t}\n\n\t\t// Fail - return empty function\n\t\treturn (): string => {\n\t\t\treturn \"\";\n\t\t};\n\t}\n\n\tpublic translateAll<Key extends keyof ILocaleSettings>(list: Array<Key>, locale?: ILocale): Array<string> {\n\t\t// Translate all items in the list\n\t\tif (!this.isDefault()) {\n\t\t\treturn $array.map(list, (x) => this.translate(x, locale));\n\n\t\t} else {\n\t\t\treturn list;\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if the currently selected locale is a default locale.\n\t *\n\t * @return `true` if locale is default; `false` if it is not.\n\t */\n\tpublic isDefault(): boolean {\n\t\treturn this.getPrivate(\"defaultLocale\") === this._root.locale;\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Language.ts"],"names":[],"mappings":"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","sourcesContent":["import { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport * as $array from \"./Array\"\nimport en from \"../../../locales/en\";\n\n/**\n * Defines properties that exist for the locale.\n *\n * @ignore\n */\nexport interface ILocaleSettings {\n\t\"firstDayOfWeek\"?: number,\n\n\t// number formatter related\n\t\"_decimalSeparator\"?: string;\n\t\"_thousandSeparator\"?: string;\n\n\t\"_big_number_suffix_3\"?: string;\n\t\"_big_number_suffix_6\"?: string;\n\t\"_big_number_suffix_9\"?: string;\n\t\"_big_number_suffix_12\"?: string;\n\t\"_big_number_suffix_15\"?: string;\n\t\"_big_number_suffix_18\"?: string;\n\t\"_big_number_suffix_21\"?: string;\n\t\"_big_number_suffix_24\"?: string;\n\n\t\"_small_number_suffix_24\"?: string;\n\t\"_small_number_suffix_21\"?: string;\n\t\"_small_number_suffix_18\"?: string;\n\t\"_small_number_suffix_15\"?: string;\n\t\"_small_number_suffix_12\"?: string;\n\t\"_small_number_suffix_9\"?: string;\n\t\"_small_number_suffix_6\"?: string;\n\t\"_small_number_suffix_3\"?: string;\n\n\t\"_byte_suffix_B\"?: string;\n\t\"_byte_suffix_KB\"?: string;\n\t\"_byte_suffix_MB\"?: string;\n\t\"_byte_suffix_GB\"?: string;\n\t\"_byte_suffix_TB\"?: string;\n\t\"_byte_suffix_PB\"?: string;\n\n\t// Default date formats for various periods\n\t\"_date\"?: string;\n\t\"_date_millisecond\"?: string;\n\t\"_date_millisecond_full\"?: string;\n\t\"_date_second\"?: string;\n\t\"_date_second_full\"?: string;\n\t\"_date_minute\"?: string;\n\t\"_date_minute_full\"?: string;\n\t\"_date_hour\"?: string;\n\t\"_date_hour_full\"?: string;\n\t\"_date_day\"?: string;\n\t\"_date_day_full\"?: string;\n\t\"_date_week\"?: string;\n\t\"_date_week_full\"?: string;\n\t\"_date_month\"?: string;\n\t\"_date_month_full\"?: string;\n\t\"_date_year\"?: string;\n\n\t// Default duration formats for various base units\n\t\"_duration_millisecond\"?: string;\n\t\"_duration_millisecond_second\"?: string;\n\t\"_duration_millisecond_minute\"?: string;\n\t\"_duration_millisecond_hour\"?: string;\n\t\"_duration_millisecond_day\"?: string;\n\t\"_duration_millisecond_week\"?: string;\n\t\"_duration_millisecond_month\"?: string;\n\t\"_duration_millisecond_year\"?: string;\n\n\t\"_duration_second\"?: string;\n\t\"_duration_second_minute\"?: string;\n\t\"_duration_second_hour\"?: string;\n\t\"_duration_second_day\"?: string;\n\t\"_duration_second_week\"?: string;\n\t\"_duration_second_month\"?: string;\n\t\"_duration_second_year\"?: string;\n\n\t\"_duration_minute\"?: string;\n\t\"_duration_minute_hour\"?: string;\n\t\"_duration_minute_day\"?: string;\n\t\"_duration_minute_week\"?: string;\n\t\"_duration_minute_month\"?: string;\n\t\"_duration_minute_year\"?: string;\n\n\t\"_duration_hour\"?: string;\n\t\"_duration_hour_day\"?: string;\n\t\"_duration_hour_week\"?: string;\n\t\"_duration_hour_month\"?: string;\n\t\"_duration_hour_year\"?: string;\n\n\t\"_duration_day\"?: string;\n\t\"_duration_day_week\"?: string;\n\t\"_duration_day_month\"?: string;\n\t\"_duration_day_year\"?: string;\n\n\t\"_duration_week\"?: string;\n\t\"_duration_week_month\"?: string;\n\t\"_duration_week_year\"?: string;\n\n\t\"_duration_month\"?: string;\n\t\"_duration_month_year\"?: string;\n\n\t\"_duration_year\"?: string;\n\n\t// Era\n\t\"_era_ad\"?: string;\n\t\"_era_bc\"?: string;\n\n\t// Period\n\t\"A\"?: string;\n\t\"P\"?: string;\n\t\"AM\"?: string;\n\t\"PM\"?: string;\n\t\"A.M.\"?: string;\n\t\"P.M.\"?: string;\n\n\t// Dates\n\t\"January\"?: string;\n\t\"February\"?: string;\n\t\"March\"?: string;\n\t\"April\"?: string;\n\t\"May\"?: string;\n\t\"June\"?: string;\n\t\"July\"?: string;\n\t\"August\"?: string;\n\t\"September\"?: string;\n\t\"October\"?: string;\n\t\"November\"?: string;\n\t\"December\"?: string;\n\t\"Jan\"?: string;\n\t\"Feb\"?: string;\n\t\"Mar\"?: string;\n\t\"Apr\"?: string;\n\t\"May(short)\"?: string;\n\t\"Jun\"?: string;\n\t\"Jul\"?: string;\n\t\"Aug\"?: string;\n\t\"Sep\"?: string;\n\t\"Oct\"?: string;\n\t\"Nov\"?: string;\n\t\"Dec\"?: string;\n\t\"Sunday\"?: string;\n\t\"Monday\"?: string;\n\t\"Tuesday\"?: string;\n\t\"Wednesday\"?: string;\n\t\"Thursday\"?: string;\n\t\"Friday\"?: string;\n\t\"Saturday\"?: string;\n\t\"Sun\"?: string;\n\t\"Mon\"?: string;\n\t\"Tue\"?: string;\n\t\"Wed\"?: string;\n\t\"Thu\"?: string;\n\t\"Fri\"?: string;\n\t\"Sat\"?: string;\n\n\t// Chart elements\n\t\"Zoom Out\"?: string;\n\t\"Play\"?: string;\n\t\"Stop\"?: string;\n\t\"Legend\"?: string;\n\t\"Press ENTER to toggle\"?: string;\n\t\"Loading\"?: string;\n\t\"%1 shown\"?: string;\n\t\"%1 hidden\"?: string;\n\n\t// Chart types\n\t\"Chart\"?: string;\n\t\"Serial chart\"?: string;\n\t\"X/Y chart\"?: string;\n\t\"Pie chart\"?: string;\n\t\"Sunburst chart\"?: string;\n\t\"Gauge chart\"?: string;\n\t\"Radar chart\"?: string;\n\t\"Sankey diagram\"?: string;\n\t\"Flow diagram\"?: string;\n\t\"Chord diagram\"?: string;\n\t\"TreeMap chart\"?: string;\n\t\"Force directed tree\"?: string;\n\t\"Sliced chart\"?: string;\n\n\t// Series types\n\t\"Series\"?: string;\n\t\"Candlestick Series\"?: string;\n\t\"OHLC Series\"?: string;\n\t\"Column Series\"?: string;\n\t\"Line Series\"?: string;\n\t\"Pie Slice Series\"?: string;\n\t\"Funnel Series\"?: string;\n\t\"Pyramid Series\"?: string;\n\t\"X/Y Series\"?: string;\n\n\t// Map-related\n\t\"Map\"?: string;\n\t\"Press ENTER to zoom in\"?: string;\n\t\"Press ENTER to zoom out\"?: string;\n\t\"Use arrow keys to zoom in and out\"?: string;\n\t\"Use plus and minus keys on your keyboard to zoom in and out\"?: string;\n\t\"Home\"?: string;\n\t\"Zoom level changed to %1\"?: string;\n\n\t// Export-related\n\t\"Export\"?: string;\n\t\"Image\"?: string;\n\t\"Data\"?: string;\n\t\"Print\"?: string;\n\t\"Press ENTER or use arrow keys to navigate\"?: string;\n\t\"Press ENTER to open\"?: string;\n\t\"Press ENTER to print.\"?: string;\n\t\"Press ENTER to export as %1.\"?: string;\n\t\"(Press ESC to close this message)\"?: string;\n\t\"Image Export Complete\"?: string;\n\t\"Export operation took longer than expected. Something might have gone wrong.\"?: string;\n\t\"Saved from\"?: string;\n\t\"PNG\"?: string;\n\t\"JPG\"?: string;\n\t\"GIF\"?: string;\n\t\"SVG\"?: string;\n\t\"PDF\"?: string;\n\t\"JSON\"?: string;\n\t\"CSV\"?: string;\n\t\"XLSX\"?: string;\n\t\"HTML\"?: string;\n\n\t// Scrollbar-related\n\t\"Use TAB to select grip buttons or left and right arrows to change selection\"?: string;\n\t\"Use left and right arrows to move selection\"?: string;\n\t\"Use left and right arrows to move left selection\"?: string;\n\t\"Use left and right arrows to move right selection\"?: string;\n\t\"Use TAB select grip buttons or up and down arrows to change selection\"?: string;\n\t\"Use up and down arrows to move selection\"?: string;\n\t\"Use up and down arrows to move lower selection\"?: string;\n\t\"Use up and down arrows to move upper selection\"?: string;\n\t\"From %1 to %2\"?: string;\n\t\"From %1\"?: string;\n\t\"To %1\"?: string;\n\n\t// Data loader-related\n\t\"No parser available for file: %1\"?: string;\n\t\"Error parsing file: %1\"?: string;\n\t\"Unable to load file: %1\"?: string;\n\t\"Invalid date\"?: string;\n\n\t// Common actions\n\t\"Close\"?: string;\n\t\"Minimize\"?: string;\n\n\t\"Venn Series\"?: string;\n\t\"Venn Diagram\"?: string;\n}\n\n/**\n * Defines functions that exist for the locale.\n *\n * @ignore\n */\nexport interface ILocaleFunctions {\n\t// ordinal function\n\t\"_dateOrd\": (day: number) => string;\n}\n\n/**\n * Defines all of the defaults for locale properties.\n * @ignore\n */\nexport interface ILocaleDefault extends ILocaleSettings, ILocaleFunctions { }\n\n/**\n * Defines locale interface.\n *\n * @ignore\n */\nexport interface ILocale extends Partial<ILocaleDefault> { };\n\nexport interface ILanguageSettings extends IEntitySettings {\n}\n\nexport interface ILanguagePrivate extends IEntityPrivate {\n\n\t/**\n\t * A locale for International English (default).\n\t */\n\tdefaultLocale: ILocale;\n\n}\n\nexport class Language extends Entity {\n\tdeclare public _settings: ILanguageSettings;\n\tdeclare public _privateSettings: ILanguagePrivate;\n\n\tprotected _setDefaults() {\n\t\tthis.setPrivate(\"defaultLocale\", en);\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic translate<Key extends keyof ILocaleSettings>(prompt: Key, locale?: ILocale, ...rest: Array<string>): string {\n\n\t\t// Get langauge\n\t\tif (!locale) {\n\t\t\tlocale = this._root.locale || this.getPrivate(\"defaultLocale\");\n\t\t}\n\n\t\t// Init translation\n\t\tlet translation: string = prompt;\n\t\tlet value = locale[prompt];\n\n\t\t// Try to look for the translation\n\t\tif (value === null) {\n\t\t\ttranslation = \"\";\n\t\t}\n\t\telse if (value != null) {\n\t\t\t// It might be an empty string\n\t\t\tif (value) {\n\t\t\t\ttranslation = <string>value!;\n\t\t\t}\n\t\t}\n\t\telse if (locale !== this.getPrivate(\"defaultLocale\")) {\n\t\t\t// Try to look in default language\n\t\t\treturn this.translate(prompt, this.getPrivate(\"defaultLocale\"), ...rest);\n\t\t}\n\n\t\t// Replace %1, %2, etc params\n\t\tif (rest.length) {\n\t\t\tfor (let len = rest.length, i = 0; i < len; ++i) {\n\t\t\t\ttranslation = translation.split(\"%\" + (i + 1)).join(rest[i]);\n\t\t\t}\n\t\t}\n\n\t\t// Return the translation\n\t\treturn translation;\n\t}\n\n\tpublic translateAny(prompt: string, locale?: ILocale, ...rest: Array<string>): string {\n\t\treturn this.translate(<any>prompt, locale, ...rest);\n\t}\n\n\tpublic setTranslationAny(prompt: string, translation: string, locale?: ILocale): void {\n\t\tconst localeTarget = locale || this._root.locale;\n\t\t(<any>localeTarget)[prompt] = translation;\n\t}\n\n\tpublic translateEmpty<Key extends keyof ILocaleSettings>(prompt: Key, locale?: ILocale, ...rest: Array<string>): string {\n\t\tlet translation = this.translate(prompt, locale, ...rest);\n\t\treturn translation == prompt ? \"\" : translation;\n\t}\n\n\tpublic translateFunc<Key extends keyof ILocaleFunctions>(prompt: Key, locale?: ILocale): ILocaleFunctions[Key] {\n\n\t\tif ((<any>this._root.locale)[prompt]) {\n\t\t\treturn (<any>this._root.locale)[prompt];\n\t\t}\n\n\t\t// Try to look in default language\n\t\tif (locale !== this.getPrivate(\"defaultLocale\")) {\n\t\t\treturn this.translateFunc(prompt, this.getPrivate(\"defaultLocale\"));\n\t\t}\n\n\t\t// Fail - return empty function\n\t\treturn (): string => {\n\t\t\treturn \"\";\n\t\t};\n\t}\n\n\tpublic translateAll<Key extends keyof ILocaleSettings>(list: Array<Key>, locale?: ILocale): Array<string> {\n\t\t// Translate all items in the list\n\t\tif (!this.isDefault()) {\n\t\t\treturn $array.map(list, (x) => this.translate(x, locale));\n\n\t\t} else {\n\t\t\treturn list;\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if the currently selected locale is a default locale.\n\t *\n\t * @return `true` if locale is default; `false` if it is not.\n\t */\n\tpublic isDefault(): boolean {\n\t\treturn this.getPrivate(\"defaultLocale\") === this._root.locale;\n\t}\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ResizeSensor.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/ResizeSensor.ts"],"names":[],"mappings":"AAAA,cAAc,CAAA,MAAM;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C;;GAEG;AACH,UAAU,MAAM;IACf,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACvD,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACpC;AA0HD;;GAEG;AACH,qBAAa,YAAa,YAAW,SAAS;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,SAAS,CAAkB;gBAEvB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI;IAM3C,UAAU;IAIV,OAAO;IAOd,IAAW,MAAM,IAAI,MAAM,CAE1B;CACD"}
1
+ {"version":3,"file":"ResizeSensor.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/ResizeSensor.ts"],"names":[],"mappings":"AAAA,cAAc,CAAA,MAAM;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C;;GAEG;AACH,UAAU,MAAM;IACf,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACvD,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACpC;AAwID;;GAEG;AACH,qBAAa,YAAa,YAAW,SAAS;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,SAAS,CAAkB;gBAEvB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI;IAM3C,UAAU;IAIV,OAAO;IAOd,IAAW,MAAM,IAAI,MAAM,CAE1B;CACD"}
@@ -33,7 +33,7 @@ var Native = /** @class */ (function () {
33
33
  configurable: true,
34
34
  writable: true,
35
35
  value: function (target, callback) {
36
- this._observer.observe(target, { box: "content-box" });
36
+ this._observer.observe(target, { box: "border-box" });
37
37
  this._targets.push({ target: target, callback: callback });
38
38
  }
39
39
  });
@@ -98,8 +98,7 @@ var Raf = /** @class */ (function () {
98
98
  this._timer = requestAnimationFrame(loop_1);
99
99
  }
100
100
  // We start off with fake bounds so that sensor always kicks in
101
- //let size = target.getBoundingClientRect();
102
- var size = { width: 0, height: 0, left: 0, right: 0, top: 0, bottom: 0 };
101
+ var size = { width: 0, height: 0, left: 0, right: 0, top: 0, bottom: 0, x: 0, y: 0 };
103
102
  this._targets.push({ target: target, callback: callback, size: size });
104
103
  }
105
104
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ResizeSensor.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/ResizeSensor.ts"],"names":[],"mappings":"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","sourcesContent":["/** @ignore *//** */\n\nimport type { IDisposer } from \"./Disposer\";\nimport * as $array from \"./Array\";\n\n/**\n * @ignore\n */\ninterface Sensor {\n\taddTarget(target: Element, callback: () => void): void;\n\tremoveTarget(target: Element): void;\n}\n\n/**\n * @ignore\n */\ndeclare const ResizeObserver: any;\n\n/**\n * @ignore\n */\nclass Native implements Sensor {\n\tprivate _observer: any;\n\tprivate _targets: Array<{ target: Element, callback: () => void }> = [];\n\n\tconstructor() {\n\t\tthis._observer = new ResizeObserver((entries: Array<any>) => {\n\t\t\t$array.each(entries, (entry) => {\n\t\t\t\t$array.each(this._targets, (x) => {\n\t\t\t\t\tif (x.target === entry.target) {\n\t\t\t\t\t\tx.callback();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\taddTarget(target: Element, callback: () => void) {\n\t\tthis._observer.observe(target, { box: \"content-box\" });\n\t\tthis._targets.push({ target, callback });\n\t}\n\n\tremoveTarget(target: Element) {\n\t\tthis._observer.unobserve(target);\n\n\t\t$array.keepIf(this._targets, (x) => {\n\t\t\treturn x.target !== target;\n\t\t});\n\t}\n}\n\n/**\n * @ignore\n */\nclass Raf implements Sensor {\n\tpublic static delay: number = 200;\n\n\tprivate _timer: number | null = null;\n\tprivate _targets: Array<{ target: Element, callback: () => void, size: ClientRect | DOMRect }> = [];\n\n\taddTarget(target: Element, callback: () => void) {\n\t\tif (this._timer === null) {\n\t\t\tlet lastTime: number | null = null;\n\n\t\t\tconst loop = () => {\n\t\t\t\tconst currentTime = Date.now();\n\n\t\t\t\tif (lastTime === null || currentTime > (lastTime + Raf.delay)) {\n\t\t\t\t\tlastTime = currentTime;\n\n\t\t\t\t\t$array.each(this._targets, (x) => {\n\t\t\t\t\t\tlet newSize = x.target.getBoundingClientRect();\n\n\t\t\t\t\t\tif (newSize.width !== x.size.width || newSize.height !== x.size.height) {\n\t\t\t\t\t\t\tx.size = newSize;\n\t\t\t\t\t\t\tx.callback();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (this._targets.length === 0) {\n\t\t\t\t\tthis._timer = null;\n\n\t\t\t\t} else {\n\t\t\t\t\tthis._timer = requestAnimationFrame(loop);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tthis._timer = requestAnimationFrame(loop);\n\t\t}\n\n\t\t// We start off with fake bounds so that sensor always kicks in\n\t\t//let size = target.getBoundingClientRect();\n\t\tlet size = { width: 0, height: 0, left: 0, right: 0, top: 0, bottom: 0 };\n\t\tthis._targets.push({ target, callback, size });\n\t}\n\n\tremoveTarget(target: Element) {\n\t\t$array.keepIf(this._targets, (x) => {\n\t\t\treturn x.target !== target;\n\t\t});\n\n\t\tif (this._targets.length === 0) {\n\t\t\tif (this._timer !== null) {\n\t\t\t\tcancelAnimationFrame(this._timer);\n\t\t\t\tthis._timer = null;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/**\n * @ignore\n */\nlet observer: Sensor | null = null;\n\n/**\n * @ignore\n */\nfunction makeSensor(): Sensor {\n\tif (observer === null) {\n\t\tif (typeof ResizeObserver !== \"undefined\") {\n\t\t\tobserver = new Native();\n\n\t\t} else {\n\t\t\tobserver = new Raf();\n\t\t}\n\t}\n\n\treturn observer;\n}\n\n/**\n * @ignore\n */\nexport class ResizeSensor implements IDisposer {\n\tprivate _sensor: Sensor;\n\tprivate _element: Element;\n\tprivate _disposed: boolean = false;\n\n\tconstructor(element: Element, callback: () => void) {\n\t\tthis._sensor = makeSensor();\n\t\tthis._element = element;\n\t\tthis._sensor.addTarget(element, callback);\n\t}\n\n\tpublic isDisposed() {\n\t\treturn this._disposed;\n\t}\n\n\tpublic dispose() {\n\t\tif (!this._disposed) {\n\t\t\tthis._disposed = true;\n\t\t\tthis._sensor.removeTarget(this._element);\n\t\t}\n\t}\n\n\tpublic get sensor(): Sensor {\n\t\treturn this._sensor;\n\t}\n}\n"]}
1
+ {"version":3,"file":"ResizeSensor.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/ResizeSensor.ts"],"names":[],"mappings":"AAAA,cAAc,CAAA,MAAM;AAGpB,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAelC;;GAEG;AACH;IAIC;QAAA,iBAUC;QAbD;;;;;WAAuB;QACvB;;;;mBAAqE,EAAE;WAAC;QAGvE,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,UAAC,OAAmB;YACvD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,KAAK;gBAC1B,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE,UAAC,CAAC;oBAC5B,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;wBAC9B,CAAC,CAAC,QAAQ,EAAE,CAAC;qBACb;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;;;;;eAED,UAAU,MAAe,EAAE,QAAoB;YAC9C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,QAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;QAC1C,CAAC;;;;;;eAED,UAAa,MAAe;YAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEjC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAC,CAAC;gBAC9B,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;YAC5B,CAAC,CAAC,CAAC;QACJ,CAAC;;IACF,aAAC;AAAD,CAAC,AA5BD,IA4BC;AAiBD;;GAEG;AACH;IAAA;QAGC;;;;mBAAgC,IAAI;WAAC;QACrC;;;;mBAAgH,EAAE;WAAC;IAkDpH,CAAC;;;;;eAhDA,UAAU,MAAe,EAAE,QAAoB;YAA/C,iBAkCC;YAjCA,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;gBACzB,IAAI,UAAQ,GAAkB,IAAI,CAAC;gBAEnC,IAAM,MAAI,GAAG;oBACZ,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAE/B,IAAI,UAAQ,KAAK,IAAI,IAAI,WAAW,GAAG,CAAC,UAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;wBAC9D,UAAQ,GAAG,WAAW,CAAC;wBAEvB,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE,UAAC,CAAC;4BAC5B,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;4BAE/C,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;gCACvE,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;gCACjB,CAAC,CAAC,QAAQ,EAAE,CAAC;6BACb;wBACF,CAAC,CAAC,CAAC;qBACH;oBAED,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC/B,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;qBAEnB;yBAAM;wBACN,KAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,MAAI,CAAC,CAAC;qBAC1C;gBACF,CAAC,CAAC;gBAEF,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,MAAI,CAAC,CAAC;aAC1C;YAED,+DAA+D;YAC/D,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACrF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,QAAA,EAAE,QAAQ,UAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;QAChD,CAAC;;;;;;eAED,UAAa,MAAe;YAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAC,CAAC;gBAC9B,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;oBACzB,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;iBACnB;aACD;QACF,CAAC;;IApDD;;;;eAA8B,GAAG;OAAC;IAqDnC,UAAC;CAAA,AAtDD,IAsDC;AAGD;;GAEG;AACH,IAAI,QAAQ,GAAkB,IAAI,CAAC;AAEnC;;GAEG;AACH,SAAS,UAAU;IAClB,IAAI,QAAQ,KAAK,IAAI,EAAE;QACtB,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YAC1C,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;SAExB;aAAM;YACN,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;SACrB;KACD;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;GAEG;AACH;IAKC,sBAAY,OAAgB,EAAE,QAAoB;QAJlD;;;;;WAAwB;QACxB;;;;;WAA0B;QAC1B;;;;mBAA6B,KAAK;WAAC;QAGlC,IAAI,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;;;;;eAED;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;;;;eAED;YACC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACzC;QACF,CAAC;;IAED,sBAAW,gCAAM;aAAjB;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IACF,mBAAC;AAAD,CAAC,AAzBD,IAyBC","sourcesContent":["/** @ignore *//** */\n\nimport type { IDisposer } from \"./Disposer\";\nimport * as $array from \"./Array\";\n\n/**\n * @ignore\n */\ninterface Sensor {\n\taddTarget(target: Element, callback: () => void): void;\n\tremoveTarget(target: Element): void;\n}\n\n/**\n * @ignore\n */\ndeclare const ResizeObserver: any;\n\n/**\n * @ignore\n */\nclass Native implements Sensor {\n\tprivate _observer: any;\n\tprivate _targets: Array<{ target: Element, callback: () => void }> = [];\n\n\tconstructor() {\n\t\tthis._observer = new ResizeObserver((entries: Array<any>) => {\n\t\t\t$array.each(entries, (entry) => {\n\t\t\t\t$array.each(this._targets, (x) => {\n\t\t\t\t\tif (x.target === entry.target) {\n\t\t\t\t\t\tx.callback();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\taddTarget(target: Element, callback: () => void) {\n\t\tthis._observer.observe(target, { box: \"border-box\" });\n\t\tthis._targets.push({ target, callback });\n\t}\n\n\tremoveTarget(target: Element) {\n\t\tthis._observer.unobserve(target);\n\n\t\t$array.keepIf(this._targets, (x) => {\n\t\t\treturn x.target !== target;\n\t\t});\n\t}\n}\n\n/**\n * @ignore\n */\ninterface ClientBounds {\n\twidth: number,\n\theight: number,\n\tleft: number,\n\tright: number,\n\ttop: number,\n\tbottom: number,\n\tx: number,\n\ty: number\n}\n\n\n/**\n * @ignore\n */\nclass Raf implements Sensor {\n\tpublic static delay: number = 200;\n\n\tprivate _timer: number | null = null;\n\tprivate _targets: Array<{ target: Element, callback: () => void, size: ClientRect | DOMRect | ClientBounds }> = [];\n\n\taddTarget(target: Element, callback: () => void) {\n\t\tif (this._timer === null) {\n\t\t\tlet lastTime: number | null = null;\n\n\t\t\tconst loop = () => {\n\t\t\t\tconst currentTime = Date.now();\n\n\t\t\t\tif (lastTime === null || currentTime > (lastTime + Raf.delay)) {\n\t\t\t\t\tlastTime = currentTime;\n\n\t\t\t\t\t$array.each(this._targets, (x) => {\n\t\t\t\t\t\tlet newSize = x.target.getBoundingClientRect();\n\n\t\t\t\t\t\tif (newSize.width !== x.size.width || newSize.height !== x.size.height) {\n\t\t\t\t\t\t\tx.size = newSize;\n\t\t\t\t\t\t\tx.callback();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (this._targets.length === 0) {\n\t\t\t\t\tthis._timer = null;\n\n\t\t\t\t} else {\n\t\t\t\t\tthis._timer = requestAnimationFrame(loop);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tthis._timer = requestAnimationFrame(loop);\n\t\t}\n\n\t\t// We start off with fake bounds so that sensor always kicks in\n\t\tlet size = { width: 0, height: 0, left: 0, right: 0, top: 0, bottom: 0, x: 0, y: 0 };\n\t\tthis._targets.push({ target, callback, size });\n\t}\n\n\tremoveTarget(target: Element) {\n\t\t$array.keepIf(this._targets, (x) => {\n\t\t\treturn x.target !== target;\n\t\t});\n\n\t\tif (this._targets.length === 0) {\n\t\t\tif (this._timer !== null) {\n\t\t\t\tcancelAnimationFrame(this._timer);\n\t\t\t\tthis._timer = null;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/**\n * @ignore\n */\nlet observer: Sensor | null = null;\n\n/**\n * @ignore\n */\nfunction makeSensor(): Sensor {\n\tif (observer === null) {\n\t\tif (typeof ResizeObserver !== \"undefined\") {\n\t\t\tobserver = new Native();\n\n\t\t} else {\n\t\t\tobserver = new Raf();\n\t\t}\n\t}\n\n\treturn observer;\n}\n\n/**\n * @ignore\n */\nexport class ResizeSensor implements IDisposer {\n\tprivate _sensor: Sensor;\n\tprivate _element: Element;\n\tprivate _disposed: boolean = false;\n\n\tconstructor(element: Element, callback: () => void) {\n\t\tthis._sensor = makeSensor();\n\t\tthis._element = element;\n\t\tthis._sensor.addTarget(element, callback);\n\t}\n\n\tpublic isDisposed() {\n\t\treturn this._disposed;\n\t}\n\n\tpublic dispose() {\n\t\tif (!this._disposed) {\n\t\t\tthis._disposed = true;\n\t\t\tthis._sensor.removeTarget(this._element);\n\t\t}\n\t}\n\n\tpublic get sensor(): Sensor {\n\t\treturn this._sensor;\n\t}\n}\n"]}
@@ -25,7 +25,7 @@ export declare class TemplateStates<E extends Entity> {
25
25
  }
26
26
  export declare class TemplateAdapters<E extends Entity> {
27
27
  private _callbacks;
28
- add<Key extends keyof E["_settings"]>(key: Key, callback: <O extends E["_settings"]>(value: O[Key], target?: O, key?: Key) => O[Key]): IDisposer;
28
+ add<Key extends keyof E["_settings"]>(key: Key, callback: (value: E["_settings"][Key], target: E, key: Key) => E["_settings"][Key]): IDisposer;
29
29
  remove<Key extends keyof E["_settings"]>(key: Key): void;
30
30
  _apply(entity: E): IDisposer;
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Template.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Template.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Template.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Entity, Dirty } from \"./Entity\";\nimport type { State } from \"./States\";\nimport { EventDispatcher, Events } from \"./EventDispatcher\";\nimport { IDisposer, Disposer, MultiDisposer } from \"./Disposer\";\nimport * as $array from \"./Array\";\nimport * as $object from \"./Object\";\n\nexport class TemplateState<E extends Entity> {\n\tpublic _settings: Partial<E[\"_settings\"]>;\n\n\tprivate _name: string;\n\tprivate _template: Template<E>;\n\n\tconstructor(name: string, template: Template<E>, settings: Partial<E[\"_settings\"]>) {\n\t\tthis._name = name;\n\t\tthis._template = template;\n\t\tthis._settings = settings;\n\t}\n\n\tpublic get<Key extends keyof this[\"_settings\"]>(key: Key): this[\"_settings\"][Key];\n\tpublic get<Key extends keyof this[\"_settings\"], F>(key: Key, fallback: F): NonNullable<this[\"_settings\"][Key]> | F;\n\tpublic get<Key extends keyof this[\"_settings\"]>(key: Key, fallback?: any): any {\n\t\tconst value = this._settings[key];\n\n\t\tif (value !== undefined) {\n\t\t\treturn value;\n\n\t\t} else {\n\t\t\treturn fallback;\n\t\t}\n\t}\n\n\tpublic set<Key extends keyof E[\"_settings\"]>(key: Key, value: E[\"_settings\"][Key]) {\n\t\tthis._settings[key] = value;\n\t\t// TODO maybe only do this if the value changed ?\n\t\tthis._template._stateChanged(this._name);\n\t}\n\n\tpublic remove<Key extends keyof this[\"_settings\"]>(key: Key) {\n\t\tdelete this._settings[key];\n\t\t// TODO maybe only do this if the value changed ?\n\t\tthis._template._stateChanged(this._name);\n\t}\n\n\tpublic setAll(settings: this[\"_settings\"]) {\n\t\t$object.keys(settings).forEach((key) => {\n\t\t\tthis._settings[key] = settings[key];\n\t\t});\n\n\t\tthis._template._stateChanged(this._name);\n\t}\n\n\tpublic _apply(other: State<E>, seen: Dirty<E[\"_settings\"]>): void {\n\t\t$object.each(this._settings, (key, value) => {\n\t\t\tif (!seen[key] && !other._userSettings[key]) {\n\t\t\t\tseen[key] = true;\n\t\t\t\tother.setRaw(key, value);\n\t\t\t}\n\t\t});\n\t}\n}\n\n\nexport class TemplateStates<E extends Entity> {\n\tprivate _template: Template<E>;\n\tprivate _states: { [key: string]: TemplateState<E> } = {};\n\n\tconstructor(template: Template<E>) {\n\t\tthis._template = template;\n\t}\n\n\tpublic lookup(name: string): TemplateState<E> | undefined {\n\t\treturn this._states[name];\n\t}\n\n\tpublic create(name: string, settings: Partial<E[\"_settings\"]>): TemplateState<E> {\n\t\tconst state = this._states[name];\n\n\t\tif (state) {\n\t\t\tstate.setAll(settings);\n\t\t\treturn state;\n\n\t\t} else {\n\t\t\tconst state = new TemplateState(name, this._template, settings);\n\t\t\tthis._states[name] = state;\n\t\t\tthis._template._stateChanged(name);\n\t\t\treturn state;\n\t\t}\n\t}\n\n\tpublic remove(name: string) {\n\t\tdelete this._states[name];\n\t\tthis._template._stateChanged(name);\n\t}\n\n\tpublic _apply(entity: E, state: ApplyState<E>): void {\n\t\t$object.each(this._states, (key, value) => {\n\t\t\tlet seen = state.states[key];\n\n\t\t\tif (seen == null) {\n\t\t\t\tseen = state.states[key] = {};\n\t\t\t}\n\n\t\t\tconst other = entity.states.create(key as string, {});\n\t\t\tvalue._apply(other, seen);\n\t\t});\n\t}\n}\n\n\nexport class TemplateAdapters<E extends Entity> {\n\tprivate _callbacks: { [K in keyof E[\"_settings\"]]?: Array<<O extends E[\"_settings\"]>(value: O[K], target?: O, key?: K) => O[K]> } = {};\n\n\tpublic add<Key extends keyof E[\"_settings\"]>(key: Key, callback: <O extends E[\"_settings\"]>(value: O[Key], target?: O, key?: Key) => O[Key]): IDisposer {\n\t\tlet callbacks = this._callbacks[key];\n\n\t\tif (callbacks === undefined) {\n\t\t\tcallbacks = this._callbacks[key] = [];\n\t\t}\n\n\t\tcallbacks.push(callback);\n\n\t\treturn new Disposer(() => {\n\t\t\t$array.removeFirst(callbacks!, callback);\n\n\t\t\tif (callbacks!.length === 0) {\n\t\t\t\tdelete this._callbacks[key];\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic remove<Key extends keyof E[\"_settings\"]>(key: Key) {\n\t\tconst callbacks = this._callbacks[key];\n\n\t\tif (callbacks !== undefined) {\n\t\t\tdelete this._callbacks[key];\n\t\t}\n\t}\n\n\tpublic _apply(entity: E): IDisposer {\n\t\tconst disposers: Array<IDisposer> = [];\n\n\t\t$object.each(this._callbacks, (key, callbacks) => {\n\t\t\t$array.each(callbacks, (callback) => {\n\t\t\t\tdisposers.push(entity.adapters.add(key, callback));\n\t\t\t});\n\t\t});\n\n\t\treturn new MultiDisposer(disposers);\n\t}\n}\n\n\nexport interface ApplyState<E extends Entity> {\n\tsettings: Dirty<E[\"_settings\"]>;\n\tprivateSettings: Dirty<E[\"_privateSettings\"]>;\n\tstates: { [name: string]: Dirty<E[\"_settings\"]> };\n}\n\n\n// TODO maybe extend from Properties ?\nexport class Template<E extends Entity> {\n\tpublic _settings: Partial<E[\"_settings\"]>;\n\tpublic _privateSettings: E[\"_privateSettings\"] = {};\n\n\t// TODO code duplication with Properties\n\tpublic _settingEvents: { [K in keyof this[\"_settings\"]]?: Array<<V extends this[\"_settings\"][K]>(value: V) => void> } = {};\n\tpublic _privateSettingEvents: { [K in keyof this[\"_settings\"]]?: Array<<V extends this[\"_settings\"][K]>(value: V) => void> } = {};\n\n\tpublic _entities: Array<E> = [];\n\n\tpublic readonly states: TemplateStates<E> = new TemplateStates(this);\n\n\tpublic readonly adapters: TemplateAdapters<E> = new TemplateAdapters();\n\tpublic readonly events: EventDispatcher<Events<E, E[\"_events\"]>> = new EventDispatcher();\n\n\tpublic setup: (<O extends E>(entity: O) => void) | undefined;\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @param settings Settings\n\t * @param template Template\n\t * @return Instantiated object\n\t */\n\tpublic static new<E extends Entity>(settings: E[\"_settings\"]): Template<E> {\n\t\treturn new Template<E>(settings, true);\n\t}\n\n\tconstructor(settings: E[\"_settings\"], isReal: boolean) {\n\t\tif (!isReal) {\n\t\t\tthrow new Error(\"You cannot use `new Class()`, instead use `Class.new()`\");\n\t\t}\n\n\t\tthis._settings = settings;\n\t}\n\n\tpublic get<Key extends keyof this[\"_settings\"]>(key: Key): this[\"_settings\"][Key];\n\tpublic get<Key extends keyof this[\"_settings\"], F>(key: Key, fallback: F): NonNullable<this[\"_settings\"][Key]> | F;\n\tpublic get<Key extends keyof this[\"_settings\"]>(key: Key, fallback?: any): any {\n\t\tconst value = this._settings[key];\n\n\t\tif (value !== undefined) {\n\t\t\treturn value;\n\n\t\t} else {\n\t\t\treturn fallback;\n\t\t}\n\t}\n\n\tpublic setRaw<Key extends keyof this[\"_settings\"]>(key: Key, value: this[\"_settings\"][Key]) {\n\t\tthis._settings[key] = value;\n\t}\n\n\tpublic set<Key extends keyof this[\"_settings\"]>(key: Key, value: this[\"_settings\"][Key]) {\n\t\tif (this._settings[key] !== value) {\n\t\t\tthis.setRaw(key, value);\n\n\t\t\tthis._entities.forEach((entity) => {\n\t\t\t\tentity._setTemplateProperty(this, key, value);\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic remove<Key extends keyof this[\"_settings\"]>(key: Key): void {\n\t\tif (key in this._settings) {\n\t\t\tdelete this._settings[key];\n\n\t\t\tthis._entities.forEach((entity) => {\n\t\t\t\tentity._removeTemplateProperty(key);\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic removeAll(): void {\n\t\t$object.each(this._settings, (key, _value) => {\n\t\t\tthis.remove(key);\n\t\t});\n\t}\n\n\tpublic getPrivate<Key extends keyof this[\"_privateSettings\"], F>(key: Key, fallback: F): NonNullable<this[\"_privateSettings\"][Key]> | F;\n\tpublic getPrivate<Key extends keyof this[\"_privateSettings\"]>(key: Key): this[\"_privateSettings\"][Key];\n\tpublic getPrivate<Key extends keyof this[\"_privateSettings\"]>(key: Key, fallback?: any): any {\n\t\tconst value = this._privateSettings[key];\n\n\t\tif (value !== undefined) {\n\t\t\treturn value;\n\n\t\t} else {\n\t\t\treturn fallback;\n\t\t}\n\t}\n\n\tpublic setPrivateRaw<Key extends keyof this[\"_privateSettings\"], Value extends this[\"_privateSettings\"][Key]>(key: Key, value: Value): Value {\n\t\tthis._privateSettings[key] = value;\n\t\treturn value;\n\t}\n\n\tpublic setPrivate<Key extends keyof this[\"_privateSettings\"], Value extends this[\"_privateSettings\"][Key]>(key: Key, value: Value): Value {\n\t\tif (this._privateSettings[key] !== value) {\n\t\t\tthis.setPrivateRaw(key, value);\n\n\t\t\tthis._entities.forEach((entity) => {\n\t\t\t\tentity._setTemplatePrivateProperty(this, key, value);\n\t\t\t});\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tpublic removePrivate<Key extends keyof this[\"_privateSettings\"]>(key: Key): void {\n\t\tif (key in this._privateSettings) {\n\t\t\tdelete this._privateSettings[key];\n\n\t\t\tthis._entities.forEach((entity) => {\n\t\t\t\tentity._removeTemplatePrivateProperty(key);\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic setAll(value: this[\"_settings\"]) {\n\t\t$object.each(value, (key, value) => {\n\t\t\tthis.set(key, value);\n\t\t});\n\t}\n\n\t// TODO code duplication with Properties\n\tpublic on<Key extends keyof this[\"_settings\"]>(key: Key, callback: (value: this[\"_settings\"][Key], target?: E, key?: Key) => void): IDisposer {\n\t\tlet events = this._settingEvents[key];\n\n\t\tif (events === undefined) {\n\t\t\tevents = this._settingEvents[key] = [];\n\t\t}\n\n\t\tevents.push(callback);\n\n\t\treturn new Disposer(() => {\n\t\t\t$array.removeFirst(events!, callback);\n\n\t\t\tif (events!.length === 0) {\n\t\t\t\tdelete this._settingEvents[key];\n\t\t\t}\n\t\t});\n\t}\n\n\t// TODO code duplication with Properties\n\tpublic onPrivate<Key extends keyof this[\"_privateSettings\"]>(key: Key, callback: (value: this[\"_privateSettings\"][Key], target?: E, key?: Key) => void): IDisposer {\n\t\tlet events = this._privateSettingEvents[key];\n\n\t\tif (events === undefined) {\n\t\t\tevents = this._privateSettingEvents[key] = [];\n\t\t}\n\n\t\tevents.push(callback);\n\n\t\treturn new Disposer(() => {\n\t\t\t$array.removeFirst(events!, callback);\n\n\t\t\tif (events!.length === 0) {\n\t\t\t\tdelete this._privateSettingEvents[key];\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic _apply(entity: E, state: ApplyState<E>): IDisposer {\n\t\tconst disposers: Array<IDisposer> = [];\n\n\t\t$object.each(this._settingEvents, (key, events) => {\n\t\t\t$array.each(events, (event) => {\n\t\t\t\tdisposers.push(entity.on(key, event));\n\t\t\t});\n\t\t});\n\n\t\t$object.each(this._privateSettingEvents, (key, events) => {\n\t\t\t$array.each(events, (event) => {\n\t\t\t\tdisposers.push(entity.onPrivate(key, event));\n\t\t\t});\n\t\t});\n\n\t\tthis.states._apply(entity, state);\n\n\t\tdisposers.push(this.adapters._apply(entity));\n\t\tdisposers.push(entity.events.copyFrom(this.events));\n\n\t\treturn new MultiDisposer(disposers);\n\t}\n\n\tpublic _setObjectTemplate(entity: E) {\n\t\tthis._entities.push(entity);\n\t}\n\n\tpublic _removeObjectTemplate(entity: E) {\n\t\t$array.remove(this._entities, entity);\n\t}\n\n\tpublic _stateChanged(name: string): void {\n\t\tthis._entities.forEach((entity) => {\n\t\t\tentity._applyStateByKey(name);\n\t\t});\n\t}\n}\n"]}
1
+ {"version":3,"file":"Template.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAU,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAa,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAEpC;IAMC,uBAAY,IAAY,EAAE,QAAqB,EAAE,QAAiC;QALlF;;;;;WAA0C;QAE1C;;;;;WAAsB;QACtB;;;;;WAA+B;QAG9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;;;;;eAID,UAAgD,GAAQ,EAAE,QAAc;YACvE,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACxB,OAAO,KAAK,CAAC;aAEb;iBAAM;gBACN,OAAO,QAAQ,CAAC;aAChB;QACF,CAAC;;;;;;eAED,UAA6C,GAAQ,EAAE,KAA0B;YAChF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC5B,iDAAiD;YACjD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;;;;;;eAED,UAAmD,GAAQ;YAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,iDAAiD;YACjD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;;;;;;eAED,UAAc,QAA2B;YAAzC,iBAMC;YALA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;gBAClC,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;;;;;;eAED,UAAc,KAAe,EAAE,IAA2B;YACzD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAC,GAAG,EAAE,KAAK;gBACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;oBAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBACjB,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBACzB;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;;IACF,oBAAC;AAAD,CAAC,AArDD,IAqDC;;AAGD;IAIC,wBAAY,QAAqB;QAHjC;;;;;WAA+B;QAC/B;;;;mBAAuD,EAAE;WAAC;QAGzD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;;;;;eAED,UAAc,IAAY;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;;;;;;eAED,UAAc,IAAY,EAAE,QAAiC;YAC5D,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEjC,IAAI,KAAK,EAAE;gBACV,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,KAAK,CAAC;aAEb;iBAAM;gBACN,IAAM,OAAK,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAK,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,OAAK,CAAC;aACb;QACF,CAAC;;;;;;eAED,UAAc,IAAY;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;;;;;;eAED,UAAc,MAAS,EAAE,KAAoB;YAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,GAAG,EAAE,KAAK;gBACrC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAE7B,IAAI,IAAI,IAAI,IAAI,EAAE;oBACjB,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;iBAC9B;gBAED,IAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAa,EAAE,EAAE,CAAC,CAAC;gBACtD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACJ,CAAC;;IACF,qBAAC;AAAD,CAAC,AA5CD,IA4CC;;AAGD;IAAA;QACC;;;;mBAA+I,EAAE;WAAC;IAuCnJ,CAAC;;;;;eArCA,UAA6C,GAAQ,EAAE,QAAkF;YAAzI,iBAgBC;YAfA,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,SAAS,KAAK,SAAS,EAAE;gBAC5B,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;aACtC;YAED,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEzB,OAAO,IAAI,QAAQ,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,SAAU,EAAE,QAAQ,CAAC,CAAC;gBAEzC,IAAI,SAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC5B,OAAO,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC5B;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;;;;;;eAED,UAAgD,GAAQ;YACvD,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAEvC,IAAI,SAAS,KAAK,SAAS,EAAE;gBAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAC5B;QACF,CAAC;;;;;;eAED,UAAc,MAAS;YACtB,IAAM,SAAS,GAAqB,EAAE,CAAC;YAEvC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAC,GAAG,EAAE,SAAS;gBAC5C,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAC,QAAQ;oBAC/B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;;IACF,uBAAC;AAAD,CAAC,AAxCD,IAwCC;;AAUD,sCAAsC;AACtC;IA8BC,kBAAY,QAAwB,EAAE,MAAe;QA7BrD;;;;;WAA0C;QAC1C;;;;mBAAiD,EAAE;WAAC;QAEpD,wCAAwC;QACxC;;;;mBAAwH,EAAE;WAAC;QAC3H;;;;mBAA+H,EAAE;WAAC;QAElI;;;;mBAA6B,EAAE;WAAC;QAEhC;;;;mBAA4C,IAAI,cAAc,CAAC,IAAI,CAAC;WAAC;QAErE;;;;mBAAgD,IAAI,gBAAgB,EAAE;WAAC;QACvE;;;;mBAAmE,IAAI,eAAe,EAAE;WAAC;QAEzF;;;;;WAA6D;QAgB5D,IAAI,CAAC,MAAM,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;SAC3E;QAED,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAnBD;;;;;;;;OAQG;;;;;eACH,UAAoC,QAAwB;YAC3D,OAAO,IAAI,QAAQ,CAAI,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;;;;;;eAYD,UAAgD,GAAQ,EAAE,QAAc;YACvE,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACxB,OAAO,KAAK,CAAC;aAEb;iBAAM;gBACN,OAAO,QAAQ,CAAC;aAChB;QACF,CAAC;;;;;;eAED,UAAmD,GAAQ,EAAE,KAA6B;YACzF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC7B,CAAC;;;;;;eAED,UAAgD,GAAQ,EAAE,KAA6B;YAAvF,iBAQC;YAPA,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAExB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,MAAM;oBAC7B,MAAM,CAAC,oBAAoB,CAAC,KAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;aACH;QACF,CAAC;;;;;;eAED,UAAmD,GAAQ;YAC1D,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAE3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,MAAM;oBAC7B,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;aACH;QACF,CAAC;;;;;;eAED;YAAA,iBAIC;YAHA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAC,GAAG,EAAE,MAAM;gBACxC,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACJ,CAAC;;;;;;eAID,UAA8D,GAAQ,EAAE,QAAc;YACrF,IAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAEzC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACxB,OAAO,KAAK,CAAC;aAEb;iBAAM;gBACN,OAAO,QAAQ,CAAC;aAChB;QACF,CAAC;;;;;;eAED,UAA8G,GAAQ,EAAE,KAAY;YACnI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACnC,OAAO,KAAK,CAAC;QACd,CAAC;;;;;;eAED,UAA2G,GAAQ,EAAE,KAAY;YAAjI,iBAUC;YATA,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBACzC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE/B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,MAAM;oBAC7B,MAAM,CAAC,2BAA2B,CAAC,KAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;aACH;YAED,OAAO,KAAK,CAAC;QACd,CAAC;;;;;;eAED,UAAiE,GAAQ;YACxE,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAElC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,MAAM;oBAC7B,MAAM,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;aACH;QACF,CAAC;;;;;;eAED,UAAc,KAAwB;YAAtC,iBAIC;YAHA,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,GAAG,EAAE,KAAK;gBAC9B,KAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACJ,CAAC;;IAED,wCAAwC;;;;;eACxC,UAA+C,GAAQ,EAAE,QAAwE;YAAjI,iBAgBC;YAfA,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,MAAM,KAAK,SAAS,EAAE;gBACzB,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;aACvC;YAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEtB,OAAO,IAAI,QAAQ,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,MAAO,EAAE,QAAQ,CAAC,CAAC;gBAEtC,IAAI,MAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACzB,OAAO,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBAChC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;;IAED,wCAAwC;;;;;eACxC,UAA6D,GAAQ,EAAE,QAA+E;YAAtJ,iBAgBC;YAfA,IAAI,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAE7C,IAAI,MAAM,KAAK,SAAS,EAAE;gBACzB,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;aAC9C;YAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEtB,OAAO,IAAI,QAAQ,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,MAAO,EAAE,QAAQ,CAAC,CAAC;gBAEtC,IAAI,MAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACzB,OAAO,KAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;iBACvC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;;;;;;eAED,UAAc,MAAS,EAAE,KAAoB;YAC5C,IAAM,SAAS,GAAqB,EAAE,CAAC;YAEvC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAC,GAAG,EAAE,MAAM;gBAC7C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAC,KAAK;oBACzB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,UAAC,GAAG,EAAE,MAAM;gBACpD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAC,KAAK;oBACzB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAElC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAEpD,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;;;;;;eAED,UAA0B,MAAS;YAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;;;;;;eAED,UAA6B,MAAS;YACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;;;;;;eAED,UAAqB,IAAY;YAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,MAAM;gBAC7B,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACJ,CAAC;;IACF,eAAC;AAAD,CAAC,AAzMD,IAyMC","sourcesContent":["import type { Entity, Dirty } from \"./Entity\";\nimport type { State } from \"./States\";\nimport { EventDispatcher, Events } from \"./EventDispatcher\";\nimport { IDisposer, Disposer, MultiDisposer } from \"./Disposer\";\nimport * as $array from \"./Array\";\nimport * as $object from \"./Object\";\n\nexport class TemplateState<E extends Entity> {\n\tpublic _settings: Partial<E[\"_settings\"]>;\n\n\tprivate _name: string;\n\tprivate _template: Template<E>;\n\n\tconstructor(name: string, template: Template<E>, settings: Partial<E[\"_settings\"]>) {\n\t\tthis._name = name;\n\t\tthis._template = template;\n\t\tthis._settings = settings;\n\t}\n\n\tpublic get<Key extends keyof this[\"_settings\"]>(key: Key): this[\"_settings\"][Key];\n\tpublic get<Key extends keyof this[\"_settings\"], F>(key: Key, fallback: F): NonNullable<this[\"_settings\"][Key]> | F;\n\tpublic get<Key extends keyof this[\"_settings\"]>(key: Key, fallback?: any): any {\n\t\tconst value = this._settings[key];\n\n\t\tif (value !== undefined) {\n\t\t\treturn value;\n\n\t\t} else {\n\t\t\treturn fallback;\n\t\t}\n\t}\n\n\tpublic set<Key extends keyof E[\"_settings\"]>(key: Key, value: E[\"_settings\"][Key]) {\n\t\tthis._settings[key] = value;\n\t\t// TODO maybe only do this if the value changed ?\n\t\tthis._template._stateChanged(this._name);\n\t}\n\n\tpublic remove<Key extends keyof this[\"_settings\"]>(key: Key) {\n\t\tdelete this._settings[key];\n\t\t// TODO maybe only do this if the value changed ?\n\t\tthis._template._stateChanged(this._name);\n\t}\n\n\tpublic setAll(settings: this[\"_settings\"]) {\n\t\t$object.keys(settings).forEach((key) => {\n\t\t\tthis._settings[key] = settings[key];\n\t\t});\n\n\t\tthis._template._stateChanged(this._name);\n\t}\n\n\tpublic _apply(other: State<E>, seen: Dirty<E[\"_settings\"]>): void {\n\t\t$object.each(this._settings, (key, value) => {\n\t\t\tif (!seen[key] && !other._userSettings[key]) {\n\t\t\t\tseen[key] = true;\n\t\t\t\tother.setRaw(key, value);\n\t\t\t}\n\t\t});\n\t}\n}\n\n\nexport class TemplateStates<E extends Entity> {\n\tprivate _template: Template<E>;\n\tprivate _states: { [key: string]: TemplateState<E> } = {};\n\n\tconstructor(template: Template<E>) {\n\t\tthis._template = template;\n\t}\n\n\tpublic lookup(name: string): TemplateState<E> | undefined {\n\t\treturn this._states[name];\n\t}\n\n\tpublic create(name: string, settings: Partial<E[\"_settings\"]>): TemplateState<E> {\n\t\tconst state = this._states[name];\n\n\t\tif (state) {\n\t\t\tstate.setAll(settings);\n\t\t\treturn state;\n\n\t\t} else {\n\t\t\tconst state = new TemplateState(name, this._template, settings);\n\t\t\tthis._states[name] = state;\n\t\t\tthis._template._stateChanged(name);\n\t\t\treturn state;\n\t\t}\n\t}\n\n\tpublic remove(name: string) {\n\t\tdelete this._states[name];\n\t\tthis._template._stateChanged(name);\n\t}\n\n\tpublic _apply(entity: E, state: ApplyState<E>): void {\n\t\t$object.each(this._states, (key, value) => {\n\t\t\tlet seen = state.states[key];\n\n\t\t\tif (seen == null) {\n\t\t\t\tseen = state.states[key] = {};\n\t\t\t}\n\n\t\t\tconst other = entity.states.create(key as string, {});\n\t\t\tvalue._apply(other, seen);\n\t\t});\n\t}\n}\n\n\nexport class TemplateAdapters<E extends Entity> {\n\tprivate _callbacks: { [K in keyof E[\"_settings\"]]?: Array<<O extends E>(value: O[\"_settings\"][K], target: O, key: K) => O[\"_settings\"][K]> } = {};\n\n\tpublic add<Key extends keyof E[\"_settings\"]>(key: Key, callback: (value: E[\"_settings\"][Key], target: E, key: Key) => E[\"_settings\"][Key]): IDisposer {\n\t\tlet callbacks = this._callbacks[key];\n\n\t\tif (callbacks === undefined) {\n\t\t\tcallbacks = this._callbacks[key] = [];\n\t\t}\n\n\t\tcallbacks.push(callback);\n\n\t\treturn new Disposer(() => {\n\t\t\t$array.removeFirst(callbacks!, callback);\n\n\t\t\tif (callbacks!.length === 0) {\n\t\t\t\tdelete this._callbacks[key];\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic remove<Key extends keyof E[\"_settings\"]>(key: Key) {\n\t\tconst callbacks = this._callbacks[key];\n\n\t\tif (callbacks !== undefined) {\n\t\t\tdelete this._callbacks[key];\n\t\t}\n\t}\n\n\tpublic _apply(entity: E): IDisposer {\n\t\tconst disposers: Array<IDisposer> = [];\n\n\t\t$object.each(this._callbacks, (key, callbacks) => {\n\t\t\t$array.each(callbacks, (callback) => {\n\t\t\t\tdisposers.push(entity.adapters.add(key, callback));\n\t\t\t});\n\t\t});\n\n\t\treturn new MultiDisposer(disposers);\n\t}\n}\n\n\nexport interface ApplyState<E extends Entity> {\n\tsettings: Dirty<E[\"_settings\"]>;\n\tprivateSettings: Dirty<E[\"_privateSettings\"]>;\n\tstates: { [name: string]: Dirty<E[\"_settings\"]> };\n}\n\n\n// TODO maybe extend from Properties ?\nexport class Template<E extends Entity> {\n\tpublic _settings: Partial<E[\"_settings\"]>;\n\tpublic _privateSettings: E[\"_privateSettings\"] = {};\n\n\t// TODO code duplication with Properties\n\tpublic _settingEvents: { [K in keyof this[\"_settings\"]]?: Array<<V extends this[\"_settings\"][K]>(value: V) => void> } = {};\n\tpublic _privateSettingEvents: { [K in keyof this[\"_settings\"]]?: Array<<V extends this[\"_settings\"][K]>(value: V) => void> } = {};\n\n\tpublic _entities: Array<E> = [];\n\n\tpublic readonly states: TemplateStates<E> = new TemplateStates(this);\n\n\tpublic readonly adapters: TemplateAdapters<E> = new TemplateAdapters();\n\tpublic readonly events: EventDispatcher<Events<E, E[\"_events\"]>> = new EventDispatcher();\n\n\tpublic setup: (<O extends E>(entity: O) => void) | undefined;\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @param settings Settings\n\t * @param template Template\n\t * @return Instantiated object\n\t */\n\tpublic static new<E extends Entity>(settings: E[\"_settings\"]): Template<E> {\n\t\treturn new Template<E>(settings, true);\n\t}\n\n\tconstructor(settings: E[\"_settings\"], isReal: boolean) {\n\t\tif (!isReal) {\n\t\t\tthrow new Error(\"You cannot use `new Class()`, instead use `Class.new()`\");\n\t\t}\n\n\t\tthis._settings = settings;\n\t}\n\n\tpublic get<Key extends keyof this[\"_settings\"]>(key: Key): this[\"_settings\"][Key];\n\tpublic get<Key extends keyof this[\"_settings\"], F>(key: Key, fallback: F): NonNullable<this[\"_settings\"][Key]> | F;\n\tpublic get<Key extends keyof this[\"_settings\"]>(key: Key, fallback?: any): any {\n\t\tconst value = this._settings[key];\n\n\t\tif (value !== undefined) {\n\t\t\treturn value;\n\n\t\t} else {\n\t\t\treturn fallback;\n\t\t}\n\t}\n\n\tpublic setRaw<Key extends keyof this[\"_settings\"]>(key: Key, value: this[\"_settings\"][Key]) {\n\t\tthis._settings[key] = value;\n\t}\n\n\tpublic set<Key extends keyof this[\"_settings\"]>(key: Key, value: this[\"_settings\"][Key]) {\n\t\tif (this._settings[key] !== value) {\n\t\t\tthis.setRaw(key, value);\n\n\t\t\tthis._entities.forEach((entity) => {\n\t\t\t\tentity._setTemplateProperty(this, key, value);\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic remove<Key extends keyof this[\"_settings\"]>(key: Key): void {\n\t\tif (key in this._settings) {\n\t\t\tdelete this._settings[key];\n\n\t\t\tthis._entities.forEach((entity) => {\n\t\t\t\tentity._removeTemplateProperty(key);\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic removeAll(): void {\n\t\t$object.each(this._settings, (key, _value) => {\n\t\t\tthis.remove(key);\n\t\t});\n\t}\n\n\tpublic getPrivate<Key extends keyof this[\"_privateSettings\"], F>(key: Key, fallback: F): NonNullable<this[\"_privateSettings\"][Key]> | F;\n\tpublic getPrivate<Key extends keyof this[\"_privateSettings\"]>(key: Key): this[\"_privateSettings\"][Key];\n\tpublic getPrivate<Key extends keyof this[\"_privateSettings\"]>(key: Key, fallback?: any): any {\n\t\tconst value = this._privateSettings[key];\n\n\t\tif (value !== undefined) {\n\t\t\treturn value;\n\n\t\t} else {\n\t\t\treturn fallback;\n\t\t}\n\t}\n\n\tpublic setPrivateRaw<Key extends keyof this[\"_privateSettings\"], Value extends this[\"_privateSettings\"][Key]>(key: Key, value: Value): Value {\n\t\tthis._privateSettings[key] = value;\n\t\treturn value;\n\t}\n\n\tpublic setPrivate<Key extends keyof this[\"_privateSettings\"], Value extends this[\"_privateSettings\"][Key]>(key: Key, value: Value): Value {\n\t\tif (this._privateSettings[key] !== value) {\n\t\t\tthis.setPrivateRaw(key, value);\n\n\t\t\tthis._entities.forEach((entity) => {\n\t\t\t\tentity._setTemplatePrivateProperty(this, key, value);\n\t\t\t});\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tpublic removePrivate<Key extends keyof this[\"_privateSettings\"]>(key: Key): void {\n\t\tif (key in this._privateSettings) {\n\t\t\tdelete this._privateSettings[key];\n\n\t\t\tthis._entities.forEach((entity) => {\n\t\t\t\tentity._removeTemplatePrivateProperty(key);\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic setAll(value: this[\"_settings\"]) {\n\t\t$object.each(value, (key, value) => {\n\t\t\tthis.set(key, value);\n\t\t});\n\t}\n\n\t// TODO code duplication with Properties\n\tpublic on<Key extends keyof this[\"_settings\"]>(key: Key, callback: (value: this[\"_settings\"][Key], target?: E, key?: Key) => void): IDisposer {\n\t\tlet events = this._settingEvents[key];\n\n\t\tif (events === undefined) {\n\t\t\tevents = this._settingEvents[key] = [];\n\t\t}\n\n\t\tevents.push(callback);\n\n\t\treturn new Disposer(() => {\n\t\t\t$array.removeFirst(events!, callback);\n\n\t\t\tif (events!.length === 0) {\n\t\t\t\tdelete this._settingEvents[key];\n\t\t\t}\n\t\t});\n\t}\n\n\t// TODO code duplication with Properties\n\tpublic onPrivate<Key extends keyof this[\"_privateSettings\"]>(key: Key, callback: (value: this[\"_privateSettings\"][Key], target?: E, key?: Key) => void): IDisposer {\n\t\tlet events = this._privateSettingEvents[key];\n\n\t\tif (events === undefined) {\n\t\t\tevents = this._privateSettingEvents[key] = [];\n\t\t}\n\n\t\tevents.push(callback);\n\n\t\treturn new Disposer(() => {\n\t\t\t$array.removeFirst(events!, callback);\n\n\t\t\tif (events!.length === 0) {\n\t\t\t\tdelete this._privateSettingEvents[key];\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic _apply(entity: E, state: ApplyState<E>): IDisposer {\n\t\tconst disposers: Array<IDisposer> = [];\n\n\t\t$object.each(this._settingEvents, (key, events) => {\n\t\t\t$array.each(events, (event) => {\n\t\t\t\tdisposers.push(entity.on(key, event));\n\t\t\t});\n\t\t});\n\n\t\t$object.each(this._privateSettingEvents, (key, events) => {\n\t\t\t$array.each(events, (event) => {\n\t\t\t\tdisposers.push(entity.onPrivate(key, event));\n\t\t\t});\n\t\t});\n\n\t\tthis.states._apply(entity, state);\n\n\t\tdisposers.push(this.adapters._apply(entity));\n\t\tdisposers.push(entity.events.copyFrom(this.events));\n\n\t\treturn new MultiDisposer(disposers);\n\t}\n\n\tpublic _setObjectTemplate(entity: E) {\n\t\tthis._entities.push(entity);\n\t}\n\n\tpublic _removeObjectTemplate(entity: E) {\n\t\t$array.remove(this._entities, entity);\n\t}\n\n\tpublic _stateChanged(name: string): void {\n\t\tthis._entities.forEach((entity) => {\n\t\t\tentity._applyStateByKey(name);\n\t\t});\n\t}\n}\n"]}
@@ -45,6 +45,7 @@ export declare function getDuration(unit: TimeUnit, count?: number): number;
45
45
  * @ignore
46
46
  */
47
47
  export declare function getIntervalDuration(interval: ITimeInterval | undefined): number;
48
+ export declare function getDateIntervalDuration(interval: ITimeInterval, date: Date, firstDateOfWeek?: number, utc?: boolean, timezone?: Timezone): number;
48
49
  /**
49
50
  * Returns current `Date` object.
50
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,oBAAY,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExG,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd;AAGD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/C;AAGD;;;;GAIG;AACH,eAAO,IAAI,iBAAiB,EAAE;KAAG,GAAG,IAAI,QAAQ,GAAG,MAAM;CASxD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAyBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,UAKtE;AAED;;;;GAIG;AACH,wBAAgB,GAAG,IAAI,IAAI,CAE1B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAErC;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAwFzH;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAmElF;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAqPrJ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,aAAa,CAuBjI;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,UAmBtD"}
1
+ {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,oBAAY,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExG,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd;AAGD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/C;AAGD;;;;GAIG;AACH,eAAO,IAAI,iBAAiB,EAAE;KAAG,GAAG,IAAI,QAAQ,GAAG,MAAM;CASxD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAyBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,UAKtE;AAGD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,UAWxI;AAED;;;;GAIG;AACH,wBAAgB,GAAG,IAAI,IAAI,CAE1B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAErC;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAwFzH;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAmElF;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAqPrJ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,aAAa,CAuBjI;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,UAmBtD"}
@@ -88,6 +88,18 @@ export function getIntervalDuration(interval) {
88
88
  }
89
89
  return 0;
90
90
  }
91
+ export function getDateIntervalDuration(interval, date, firstDateOfWeek, utc, timezone) {
92
+ var unit = interval.timeUnit;
93
+ var count = interval.count;
94
+ if (unit == "hour" || unit == "minute" || unit == "second" || unit == "millisecond") {
95
+ return timeUnitDurations[interval.timeUnit] * interval.count;
96
+ }
97
+ else {
98
+ var firstTime = round(new Date(date.getTime()), unit, count, firstDateOfWeek, utc, undefined, timezone).getTime();
99
+ var lastTime = add(new Date(firstTime), unit, count, utc).getTime();
100
+ return lastTime - firstTime;
101
+ }
102
+ }
91
103
  /**
92
104
  * Returns current `Date` object.
93
105
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Time.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ============================================================================\n * IMPORTS\n * ============================================================================\n * @hidden\n */\nimport * as $type from \"./Type\";\nimport * as $utils from \"./Utils\";\nimport type { Timezone } from \"./Timezone\";\n\nexport type TimeUnit = \"millisecond\" | \"second\" | \"minute\" | \"hour\" | \"day\" | \"week\" | \"month\" | \"year\";\n\nexport interface ITimeInterval {\n\ttimeUnit: TimeUnit;\n\tcount: number;\n}\n\n\n/**\n * Returns a `Promise` which can be used to execute code after number of\n * milliseconds.\n *\n * @param ms Sleep duration in ms\n * @return Promise\n */\nexport function sleep(ms: number): Promise<void> {\n\treturn new Promise((resolve, _reject) => {\n\t\tsetTimeout(resolve, ms);\n\t});\n}\n\n\n/**\n * Maps time period names to their numeric representations in milliseconds.\n *\n * @ignore Exclude from docs\n */\nexport let timeUnitDurations: { [Key in TimeUnit]: number } = {\n\tmillisecond: 1,\n\tsecond: 1000,\n\tminute: 60000,\n\thour: 3600000,\n\tday: 86400000,\n\tweek: 604800000,\n\tmonth: 365.242 / 12 * 86400000,\n\tyear: 31536000000\n};\n\n/**\n * Returns the next time unit that goes after source `unit`.\n *\n * E.g. \"hour\" is the next unit after \"minute\", etc.\n *\n * @ignore Exclude from docs\n * @param unit Source time unit\n * @return Next time unit\n */\nexport function getNextUnit(unit: TimeUnit): TimeUnit | undefined {\n\tswitch (unit) {\n\t\tcase \"year\":\n\t\t\treturn;\n\t\tcase \"month\":\n\t\t\treturn \"year\";\n\n\t\tcase \"week\":\n\t\t\treturn \"month\";\n\n\t\tcase \"day\":\n\t\t\treturn \"month\"; // not a mistake\n\n\t\tcase \"hour\":\n\t\t\treturn \"day\";\n\n\t\tcase \"minute\":\n\t\t\treturn \"hour\";\n\n\t\tcase \"second\":\n\t\t\treturn \"minute\"\n\n\t\tcase \"millisecond\":\n\t\t\treturn \"second\";\n\t}\n}\n\n/**\n * Returns number of milliseconds in the `count` of time `unit`.\n *\n * Available units: \"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"week\",\n * \"month\", and \"year\".\n *\n * @param unit Time unit\n * @param count Number of units\n * @return Milliseconds\n */\nexport function getDuration(unit: TimeUnit, count?: number): number {\n\tif (count == null) {\n\t\tcount = 1;\n\t}\n\treturn timeUnitDurations[unit] * count;\n}\n\n/**\n * @ignore\n */\nexport function getIntervalDuration(interval: ITimeInterval | undefined) {\n\tif (interval) {\n\t\treturn timeUnitDurations[interval.timeUnit] * interval.count;\n\t}\n\treturn 0;\n}\n\n/**\n * Returns current `Date` object.\n *\n * @return Current date\n */\nexport function now(): Date {\n\treturn new Date();\n}\n\n/**\n * Returns current timestamp.\n *\n * @return Current timestamp\n */\nexport function getTime(): number {\n\treturn now().getTime();\n}\n\n/**\n * Returns a copy of the `Date` object.\n *\n * @param date Source date\n * @return Copy\n */\nexport function copy(date: Date): Date {\n\treturn new Date(date.getTime()); // todo: check if this is ok. new Date(date) used to strip milliseconds on FF in v3\n}\n\n/**\n * Checks if the `unit` part of two `Date` objects do not match. Two dates\n * represent a \"range\" of time, rather the same time date.\n *\n * @param timeOne timestamp\n * @param timeTwo timestamp\n * @param unit Time unit to check\n * @return Range?\n */\nexport function checkChange(timeOne: number, timeTwo: number, unit: TimeUnit, utc?: boolean, timezone?: Timezone): boolean {\n\t// quick\n\tif ((timeTwo - timeOne) > getDuration(unit, 1.2)) {\n\t\treturn true;\n\t}\n\n\tlet dateOne = new Date(timeOne);\n\tlet dateTwo = new Date(timeTwo);\n\n\tif (timezone) {\n\t\tdateOne = timezone.convertLocal(dateOne);\n\t\tdateTwo = timezone.convertLocal(dateTwo);\n\t}\n\n\tlet timeZoneOffset1 = 0;\n\tlet timeZoneOffset2 = 0;\n\n\tif (!utc && unit != \"millisecond\") {\n\t\ttimeZoneOffset1 = dateOne.getTimezoneOffset();\n\t\tdateOne.setUTCMinutes(dateOne.getUTCMinutes() - timeZoneOffset1);\n\n\t\ttimeZoneOffset2 = dateTwo.getTimezoneOffset();\n\t\tdateTwo.setUTCMinutes(dateTwo.getUTCMinutes() - timeZoneOffset2);\n\t}\n\n\tlet changed = false;\n\tswitch (unit) {\n\t\tcase \"year\":\n\t\t\tif (dateOne.getUTCFullYear() != dateTwo.getUTCFullYear()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"month\":\n\t\t\tif (dateOne.getUTCFullYear() != dateTwo.getUTCFullYear()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\telse if (dateOne.getUTCMonth() != dateTwo.getUTCMonth()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"day\":\n\t\t\tif (dateOne.getUTCMonth() != dateTwo.getUTCMonth()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\telse if (dateOne.getUTCDate() != dateTwo.getUTCDate()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase \"hour\":\n\t\t\tif (dateOne.getUTCHours() != dateTwo.getUTCHours()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"minute\":\n\t\t\tif (dateOne.getUTCMinutes() != dateTwo.getUTCMinutes()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase \"second\":\n\t\t\tif (dateOne.getUTCSeconds() != dateTwo.getUTCSeconds()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"millisecond\":\n\t\t\tif (dateOne.getTime() != dateTwo.getTime()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\n\tif (changed) {\n\t\treturn changed;\n\t}\n\n\tlet nextUnit = getNextUnit(unit);\n\tif (nextUnit) {\n\t\treturn checkChange(timeOne, timeTwo, nextUnit, utc, timezone);\n\t}\n\telse {\n\t\treturn false;\n\t}\n}\n\n/**\n * Adds `count` of time `unit` to the source date. Returns a modified `Date` object.\n *\n * @param date Source date\n * @param unit Time unit\n * @param count Number of units to add\n * @return Modified date\n */\nexport function add(date: Date, unit: TimeUnit, count: number, utc?: boolean): Date {\n\tlet timeZoneOffset = 0;\n\n\tif (!utc && unit != \"millisecond\") {\n\t\ttimeZoneOffset = date.getTimezoneOffset();\n\t\tdate.setUTCMinutes(date.getUTCMinutes() - timeZoneOffset);\n\t}\n\n\tswitch (unit) {\n\t\tcase \"day\":\n\t\t\tlet day: number = date.getUTCDate();\n\t\t\tdate.setUTCDate(day + count);\n\t\t\tbreak;\n\n\t\tcase \"second\":\n\t\t\tlet seconds: number = date.getUTCSeconds();\n\t\t\tdate.setUTCSeconds(seconds + count);\n\t\t\tbreak;\n\n\t\tcase \"millisecond\":\n\t\t\tlet milliseconds: number = date.getUTCMilliseconds();\n\t\t\tdate.setUTCMilliseconds(milliseconds + count);\n\t\t\tbreak;\n\n\t\tcase \"hour\":\n\t\t\tlet hours: number = date.getUTCHours();\n\t\t\tdate.setUTCHours(hours + count);\n\t\t\tbreak;\n\n\t\tcase \"minute\":\n\t\t\tlet minutes: number = date.getUTCMinutes();\n\t\t\tdate.setUTCMinutes(minutes + count);\n\t\t\tbreak;\n\n\t\tcase \"year\":\n\t\t\tlet year: number = date.getUTCFullYear();\n\t\t\tdate.setUTCFullYear(year + count);\n\t\t\tbreak;\n\n\t\tcase \"month\":\n\t\t\tlet month: number = date.getUTCMonth();\n\t\t\tdate.setUTCMonth(month + count);\n\t\t\tbreak;\n\n\t\tcase \"week\":\n\t\t\tlet wday: number = date.getUTCDate();\n\t\t\tdate.setUTCDate(wday + count * 7);\n\t\t\tbreak;\n\t}\n\tif (!utc && unit != \"millisecond\") {\n\t\tdate.setUTCMinutes(date.getUTCMinutes() + timeZoneOffset);\n\n\t\tif (unit == \"day\" || unit == \"week\" || unit == \"month\" || unit == \"year\") {\n\t\t\tlet newTimeZoneOffset = date.getTimezoneOffset();\n\t\t\tif (newTimeZoneOffset != timeZoneOffset) {\n\t\t\t\tlet diff = newTimeZoneOffset - timeZoneOffset;\n\n\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + diff);\n\t\t\t\t// solves issues if newe time falls back to old time zone\n\t\t\t\tif (date.getTimezoneOffset() != newTimeZoneOffset) {\n\t\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() - diff);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn date;\n}\n\n\n/**\n * \"Rounds\" the date to specific time unit.\n *\n * @param date Source date\n * @param unit Time unit\n * @param count Number of units to round to\n * @param firstDateOfWeek First day of week\n * @param utc Use UTC timezone\n * @param firstDate First date to round to\n * @param roundMinutes Minutes to round to (some timezones use non-whole hour)\n * @param timezone Use specific named timezone when rounding\n * @return New date\n */\nexport function round(date: Date, unit: TimeUnit, count: number, firstDateOfWeek?: number, utc?: boolean, firstDate?: Date, timezone?: Timezone): Date {\n\tif (!timezone || utc) {\n\n\t\tlet timeZoneOffset = 0;\n\n\t\tif (!utc && unit != \"millisecond\") {\n\t\t\ttimeZoneOffset = date.getTimezoneOffset();\n\t\t\tdate.setUTCMinutes(date.getUTCMinutes() - timeZoneOffset);\n\t\t}\n\n\t\tswitch (unit) {\n\n\t\t\tcase \"day\":\n\t\t\t\tlet day = date.getUTCDate();\n\n\t\t\t\tif (count > 1) {\n\t\t\t\t\t//\tday = Math.floor(day / count) * count;\n\t\t\t\t\tif (firstDate) {\n\t\t\t\t\t\tfirstDate = round(firstDate, \"day\", 1);\n\n\t\t\t\t\t\tlet difference = date.getTime() - firstDate.getTime();\n\t\t\t\t\t\tlet unitCount = Math.floor(difference / getDuration(\"day\") / count);\n\t\t\t\t\t\tlet duration = getDuration(\"day\", unitCount * count);\n\t\t\t\t\t\tdate.setTime(firstDate.getTime() + duration - timeZoneOffset * getDuration(\"minute\"));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdate.setUTCDate(day);\n\t\t\t\t}\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"second\":\n\t\t\t\tlet seconds = date.getUTCSeconds();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tseconds = Math.floor(seconds / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCSeconds(seconds, 0);\n\t\t\t\tbreak;\n\n\t\t\tcase \"millisecond\":\n\t\t\t\tif (count == 1) {\n\t\t\t\t\treturn date; // much better for perf!\n\t\t\t\t}\n\n\t\t\t\tlet milliseconds = date.getUTCMilliseconds();\n\t\t\t\tmilliseconds = Math.floor(milliseconds / count) * count;\n\t\t\t\tdate.setUTCMilliseconds(milliseconds);\n\t\t\t\tbreak;\n\n\t\t\tcase \"hour\":\n\n\t\t\t\tlet hours = date.getUTCHours();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\thours = Math.floor(hours / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCHours(hours, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"minute\":\n\n\t\t\t\tlet minutes = date.getUTCMinutes();\n\t\t\t\tmilliseconds = date.getUTCMilliseconds();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tminutes = Math.floor(minutes / count) * count;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCMinutes(minutes, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"month\":\n\n\t\t\t\tlet month = date.getUTCMonth();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmonth = Math.floor(month / count) * count;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCMonth(month, 1);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"year\":\n\n\t\t\t\tlet year = date.getUTCFullYear();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tyear = Math.floor(year / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCFullYear(year, 0, 1);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\t\t\t\tbreak;\n\n\t\t\tcase \"week\":\n\n\t\t\t\tlet wday = date.getUTCDate();\n\t\t\t\tlet weekDay = date.getUTCDay();\n\n\t\t\t\tif (!$type.isNumber(firstDateOfWeek)) {\n\t\t\t\t\tfirstDateOfWeek = 1;\n\t\t\t\t}\n\n\t\t\t\tif (weekDay >= firstDateOfWeek) {\n\t\t\t\t\twday = wday - weekDay + firstDateOfWeek;\n\t\t\t\t} else {\n\t\t\t\t\twday = wday - (7 + weekDay) + firstDateOfWeek;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCDate(wday);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\t\t}\n\t\tif (!utc && unit != \"millisecond\") {\n\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + timeZoneOffset);\n\n\t\t\tif (unit == \"day\" || unit == \"week\" || unit == \"month\" || unit == \"year\") {\n\t\t\t\tlet newTimeZoneOffset = date.getTimezoneOffset();\n\t\t\t\tif (newTimeZoneOffset != timeZoneOffset) {\n\t\t\t\t\tlet diff = newTimeZoneOffset - timeZoneOffset;\n\n\t\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + diff);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn date;\n\t}\n\telse {\n\t\tlet tzoffset = timezone.offsetUTC(date);\n\t\tlet timeZoneOffset = date.getTimezoneOffset();\n\t\tconst parsedDate = timezone.parseDate(date);\n\n\t\tlet year = parsedDate.year;\n\t\tlet month = parsedDate.month;\n\t\tlet day = parsedDate.day;\n\t\tlet hour = parsedDate.hour;\n\t\tlet minute = parsedDate.minute;\n\t\tlet second = parsedDate.second;\n\t\tlet millisecond = parsedDate.millisecond;\n\n\t\tswitch (unit) {\n\n\t\t\tcase \"day\":\n\t\t\t\tif (firstDate) {\n\t\t\t\t\tfirstDate = round(firstDate, \"day\", 1);\n\t\t\t\t\tlet difference = date.getTime() - firstDate.getTime();\n\t\t\t\t\tlet unitCount = Math.floor(difference / getDuration(\"day\") / count);\n\t\t\t\t\tlet duration = getDuration(\"day\", unitCount * count);\n\t\t\t\t\tdate.setTime(firstDate.getTime() + duration - timeZoneOffset * getDuration(\"minute\"));\n\t\t\t\t\tyear = date.getUTCFullYear();\n\t\t\t\t\tmonth = date.getUTCMonth();\n\t\t\t\t\tday = date.getUTCDate();\n\t\t\t\t}\n\n\t\t\t\thour = 0;\n\t\t\t\tminute = 0;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"second\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tsecond = Math.floor(second / count) * count;\n\t\t\t\t}\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"millisecond\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmillisecond = Math.floor(millisecond / count) * count;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"hour\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\thour = Math.floor(hour / count) * count;\n\t\t\t\t}\n\t\t\t\tminute = 0;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"minute\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tminute = Math.floor(minute / count) * count;\n\t\t\t\t}\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"month\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmonth = Math.floor(month / count) * count;\n\t\t\t\t}\n\t\t\t\tday = 1;\n\t\t\t\thour = 0;\n\t\t\t\tminute = 0;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"year\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tyear = Math.floor(year / count) * count;\n\t\t\t\t}\n\t\t\t\tmonth = 0;\n\t\t\t\tday = 1;\n\t\t\t\thour = 0;\n\t\t\t\tminute = 0;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"week\":\n\t\t\t\tif (!$type.isNumber(firstDateOfWeek)) {\n\t\t\t\t\tfirstDateOfWeek = 1;\n\t\t\t\t}\n\n\t\t\t\tlet wday = date.getUTCDate();\n\t\t\t\tlet weekDay = date.getUTCDay();\n\n\t\t\t\tif (weekDay >= firstDateOfWeek) {\n\t\t\t\t\twday = wday - weekDay + firstDateOfWeek;\n\t\t\t\t} else {\n\t\t\t\t\twday = wday - (7 + weekDay) + firstDateOfWeek;\n\t\t\t\t}\n\n\t\t\t\tday = wday;\n\t\t\t\thour = 0;\n\t\t\t\tminute = 0;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tminute += tzoffset - timeZoneOffset;\n\t\tdate = new Date(year, month, day, hour, minute, second, millisecond);\n\n\t\treturn date;\n\t}\n}\n\n/**\n * @ignore\n */\nexport function chooseInterval(index: number, duration: number, gridCount: number, intervals: Array<ITimeInterval>): ITimeInterval {\n\tlet gridInterval: ITimeInterval = intervals[index];\n\tlet intervalDuration = getIntervalDuration(gridInterval);\n\n\tlet lastIndex = intervals.length - 1;\n\tif (index >= lastIndex) {\n\t\treturn { ...intervals[lastIndex] };\n\t}\n\n\tlet count = Math.ceil(duration / intervalDuration);\n\n\tif (duration < intervalDuration && index > 0) {\n\t\treturn { ...intervals[index - 1] };\n\t}\n\tif (count <= gridCount) {\n\t\treturn { ...intervals[index] };\n\t} else {\n\t\tif (index + 1 < intervals.length) {\n\t\t\treturn chooseInterval(index + 1, duration, gridCount, intervals);\n\t\t} else {\n\t\t\treturn { ...intervals[index] };\n\t\t}\n\t}\n}\n\n/**\n * @ignore\n */\nexport function getUnitValue(date: Date, unit: TimeUnit) {\n\tswitch (unit) {\n\t\tcase \"day\":\n\t\t\treturn date.getDate();\n\t\tcase \"second\":\n\t\t\treturn date.getSeconds();\n\t\tcase \"millisecond\":\n\t\t\treturn date.getMilliseconds();\n\t\tcase \"hour\":\n\t\t\treturn date.getHours();\n\t\tcase \"minute\":\n\t\t\treturn date.getMinutes();\n\t\tcase \"month\":\n\t\t\treturn date.getMonth();\n\t\tcase \"year\":\n\t\t\treturn date.getFullYear();\n\t\tcase \"week\":\n\t\t\treturn $utils.getWeek(date);\n\t}\n}\n"]}
1
+ {"version":3,"file":"Time.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ============================================================================\n * IMPORTS\n * ============================================================================\n * @hidden\n */\nimport * as $type from \"./Type\";\nimport * as $utils from \"./Utils\";\nimport type { Timezone } from \"./Timezone\";\n\nexport type TimeUnit = \"millisecond\" | \"second\" | \"minute\" | \"hour\" | \"day\" | \"week\" | \"month\" | \"year\";\n\nexport interface ITimeInterval {\n\ttimeUnit: TimeUnit;\n\tcount: number;\n}\n\n\n/**\n * Returns a `Promise` which can be used to execute code after number of\n * milliseconds.\n *\n * @param ms Sleep duration in ms\n * @return Promise\n */\nexport function sleep(ms: number): Promise<void> {\n\treturn new Promise((resolve, _reject) => {\n\t\tsetTimeout(resolve, ms);\n\t});\n}\n\n\n/**\n * Maps time period names to their numeric representations in milliseconds.\n *\n * @ignore Exclude from docs\n */\nexport let timeUnitDurations: { [Key in TimeUnit]: number } = {\n\tmillisecond: 1,\n\tsecond: 1000,\n\tminute: 60000,\n\thour: 3600000,\n\tday: 86400000,\n\tweek: 604800000,\n\tmonth: 365.242 / 12 * 86400000,\n\tyear: 31536000000\n};\n\n/**\n * Returns the next time unit that goes after source `unit`.\n *\n * E.g. \"hour\" is the next unit after \"minute\", etc.\n *\n * @ignore Exclude from docs\n * @param unit Source time unit\n * @return Next time unit\n */\nexport function getNextUnit(unit: TimeUnit): TimeUnit | undefined {\n\tswitch (unit) {\n\t\tcase \"year\":\n\t\t\treturn;\n\t\tcase \"month\":\n\t\t\treturn \"year\";\n\n\t\tcase \"week\":\n\t\t\treturn \"month\";\n\n\t\tcase \"day\":\n\t\t\treturn \"month\"; // not a mistake\n\n\t\tcase \"hour\":\n\t\t\treturn \"day\";\n\n\t\tcase \"minute\":\n\t\t\treturn \"hour\";\n\n\t\tcase \"second\":\n\t\t\treturn \"minute\"\n\n\t\tcase \"millisecond\":\n\t\t\treturn \"second\";\n\t}\n}\n\n/**\n * Returns number of milliseconds in the `count` of time `unit`.\n *\n * Available units: \"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"week\",\n * \"month\", and \"year\".\n *\n * @param unit Time unit\n * @param count Number of units\n * @return Milliseconds\n */\nexport function getDuration(unit: TimeUnit, count?: number): number {\n\tif (count == null) {\n\t\tcount = 1;\n\t}\n\treturn timeUnitDurations[unit] * count;\n}\n\n/**\n * @ignore\n */\nexport function getIntervalDuration(interval: ITimeInterval | undefined) {\n\tif (interval) {\n\t\treturn timeUnitDurations[interval.timeUnit] * interval.count;\n\t}\n\treturn 0;\n}\n\n\nexport function getDateIntervalDuration(interval: ITimeInterval, date: Date, firstDateOfWeek?: number, utc?: boolean, timezone?: Timezone) {\n\tconst unit = interval.timeUnit;\n\tconst count = interval.count;\n\tif (unit == \"hour\" || unit == \"minute\" || unit == \"second\" || unit == \"millisecond\") {\n\t\treturn timeUnitDurations[interval.timeUnit] * interval.count;\n\t}\n\telse {\n\t\tconst firstTime = round(new Date(date.getTime()), unit, count, firstDateOfWeek, utc, undefined, timezone).getTime();\n\t\tconst lastTime = add(new Date(firstTime), unit, count, utc).getTime();\n\t\treturn lastTime - firstTime;\n\t}\n}\n\n/**\n * Returns current `Date` object.\n *\n * @return Current date\n */\nexport function now(): Date {\n\treturn new Date();\n}\n\n/**\n * Returns current timestamp.\n *\n * @return Current timestamp\n */\nexport function getTime(): number {\n\treturn now().getTime();\n}\n\n/**\n * Returns a copy of the `Date` object.\n *\n * @param date Source date\n * @return Copy\n */\nexport function copy(date: Date): Date {\n\treturn new Date(date.getTime()); // todo: check if this is ok. new Date(date) used to strip milliseconds on FF in v3\n}\n\n/**\n * Checks if the `unit` part of two `Date` objects do not match. Two dates\n * represent a \"range\" of time, rather the same time date.\n *\n * @param timeOne timestamp\n * @param timeTwo timestamp\n * @param unit Time unit to check\n * @return Range?\n */\nexport function checkChange(timeOne: number, timeTwo: number, unit: TimeUnit, utc?: boolean, timezone?: Timezone): boolean {\n\t// quick\n\tif ((timeTwo - timeOne) > getDuration(unit, 1.2)) {\n\t\treturn true;\n\t}\n\n\tlet dateOne = new Date(timeOne);\n\tlet dateTwo = new Date(timeTwo);\n\n\tif (timezone) {\n\t\tdateOne = timezone.convertLocal(dateOne);\n\t\tdateTwo = timezone.convertLocal(dateTwo);\n\t}\n\n\tlet timeZoneOffset1 = 0;\n\tlet timeZoneOffset2 = 0;\n\n\tif (!utc && unit != \"millisecond\") {\n\t\ttimeZoneOffset1 = dateOne.getTimezoneOffset();\n\t\tdateOne.setUTCMinutes(dateOne.getUTCMinutes() - timeZoneOffset1);\n\n\t\ttimeZoneOffset2 = dateTwo.getTimezoneOffset();\n\t\tdateTwo.setUTCMinutes(dateTwo.getUTCMinutes() - timeZoneOffset2);\n\t}\n\n\tlet changed = false;\n\tswitch (unit) {\n\t\tcase \"year\":\n\t\t\tif (dateOne.getUTCFullYear() != dateTwo.getUTCFullYear()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"month\":\n\t\t\tif (dateOne.getUTCFullYear() != dateTwo.getUTCFullYear()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\telse if (dateOne.getUTCMonth() != dateTwo.getUTCMonth()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"day\":\n\t\t\tif (dateOne.getUTCMonth() != dateTwo.getUTCMonth()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\telse if (dateOne.getUTCDate() != dateTwo.getUTCDate()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase \"hour\":\n\t\t\tif (dateOne.getUTCHours() != dateTwo.getUTCHours()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"minute\":\n\t\t\tif (dateOne.getUTCMinutes() != dateTwo.getUTCMinutes()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase \"second\":\n\t\t\tif (dateOne.getUTCSeconds() != dateTwo.getUTCSeconds()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"millisecond\":\n\t\t\tif (dateOne.getTime() != dateTwo.getTime()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\n\tif (changed) {\n\t\treturn changed;\n\t}\n\n\tlet nextUnit = getNextUnit(unit);\n\tif (nextUnit) {\n\t\treturn checkChange(timeOne, timeTwo, nextUnit, utc, timezone);\n\t}\n\telse {\n\t\treturn false;\n\t}\n}\n\n/**\n * Adds `count` of time `unit` to the source date. Returns a modified `Date` object.\n *\n * @param date Source date\n * @param unit Time unit\n * @param count Number of units to add\n * @return Modified date\n */\nexport function add(date: Date, unit: TimeUnit, count: number, utc?: boolean): Date {\n\tlet timeZoneOffset = 0;\n\n\tif (!utc && unit != \"millisecond\") {\n\t\ttimeZoneOffset = date.getTimezoneOffset();\n\t\tdate.setUTCMinutes(date.getUTCMinutes() - timeZoneOffset);\n\t}\n\n\tswitch (unit) {\n\t\tcase \"day\":\n\t\t\tlet day: number = date.getUTCDate();\n\t\t\tdate.setUTCDate(day + count);\n\t\t\tbreak;\n\n\t\tcase \"second\":\n\t\t\tlet seconds: number = date.getUTCSeconds();\n\t\t\tdate.setUTCSeconds(seconds + count);\n\t\t\tbreak;\n\n\t\tcase \"millisecond\":\n\t\t\tlet milliseconds: number = date.getUTCMilliseconds();\n\t\t\tdate.setUTCMilliseconds(milliseconds + count);\n\t\t\tbreak;\n\n\t\tcase \"hour\":\n\t\t\tlet hours: number = date.getUTCHours();\n\t\t\tdate.setUTCHours(hours + count);\n\t\t\tbreak;\n\n\t\tcase \"minute\":\n\t\t\tlet minutes: number = date.getUTCMinutes();\n\t\t\tdate.setUTCMinutes(minutes + count);\n\t\t\tbreak;\n\n\t\tcase \"year\":\n\t\t\tlet year: number = date.getUTCFullYear();\n\t\t\tdate.setUTCFullYear(year + count);\n\t\t\tbreak;\n\n\t\tcase \"month\":\n\t\t\tlet month: number = date.getUTCMonth();\n\t\t\tdate.setUTCMonth(month + count);\n\t\t\tbreak;\n\n\t\tcase \"week\":\n\t\t\tlet wday: number = date.getUTCDate();\n\t\t\tdate.setUTCDate(wday + count * 7);\n\t\t\tbreak;\n\t}\n\tif (!utc && unit != \"millisecond\") {\n\t\tdate.setUTCMinutes(date.getUTCMinutes() + timeZoneOffset);\n\n\t\tif (unit == \"day\" || unit == \"week\" || unit == \"month\" || unit == \"year\") {\n\t\t\tlet newTimeZoneOffset = date.getTimezoneOffset();\n\t\t\tif (newTimeZoneOffset != timeZoneOffset) {\n\t\t\t\tlet diff = newTimeZoneOffset - timeZoneOffset;\n\n\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + diff);\n\t\t\t\t// solves issues if newe time falls back to old time zone\n\t\t\t\tif (date.getTimezoneOffset() != newTimeZoneOffset) {\n\t\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() - diff);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn date;\n}\n\n\n/**\n * \"Rounds\" the date to specific time unit.\n *\n * @param date Source date\n * @param unit Time unit\n * @param count Number of units to round to\n * @param firstDateOfWeek First day of week\n * @param utc Use UTC timezone\n * @param firstDate First date to round to\n * @param roundMinutes Minutes to round to (some timezones use non-whole hour)\n * @param timezone Use specific named timezone when rounding\n * @return New date\n */\nexport function round(date: Date, unit: TimeUnit, count: number, firstDateOfWeek?: number, utc?: boolean, firstDate?: Date, timezone?: Timezone): Date {\n\tif (!timezone || utc) {\n\n\t\tlet timeZoneOffset = 0;\n\n\t\tif (!utc && unit != \"millisecond\") {\n\t\t\ttimeZoneOffset = date.getTimezoneOffset();\n\t\t\tdate.setUTCMinutes(date.getUTCMinutes() - timeZoneOffset);\n\t\t}\n\n\t\tswitch (unit) {\n\n\t\t\tcase \"day\":\n\t\t\t\tlet day = date.getUTCDate();\n\n\t\t\t\tif (count > 1) {\n\t\t\t\t\t//\tday = Math.floor(day / count) * count;\n\t\t\t\t\tif (firstDate) {\n\t\t\t\t\t\tfirstDate = round(firstDate, \"day\", 1);\n\n\t\t\t\t\t\tlet difference = date.getTime() - firstDate.getTime();\n\t\t\t\t\t\tlet unitCount = Math.floor(difference / getDuration(\"day\") / count);\n\t\t\t\t\t\tlet duration = getDuration(\"day\", unitCount * count);\n\t\t\t\t\t\tdate.setTime(firstDate.getTime() + duration - timeZoneOffset * getDuration(\"minute\"));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdate.setUTCDate(day);\n\t\t\t\t}\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"second\":\n\t\t\t\tlet seconds = date.getUTCSeconds();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tseconds = Math.floor(seconds / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCSeconds(seconds, 0);\n\t\t\t\tbreak;\n\n\t\t\tcase \"millisecond\":\n\t\t\t\tif (count == 1) {\n\t\t\t\t\treturn date; // much better for perf!\n\t\t\t\t}\n\n\t\t\t\tlet milliseconds = date.getUTCMilliseconds();\n\t\t\t\tmilliseconds = Math.floor(milliseconds / count) * count;\n\t\t\t\tdate.setUTCMilliseconds(milliseconds);\n\t\t\t\tbreak;\n\n\t\t\tcase \"hour\":\n\n\t\t\t\tlet hours = date.getUTCHours();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\thours = Math.floor(hours / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCHours(hours, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"minute\":\n\n\t\t\t\tlet minutes = date.getUTCMinutes();\n\t\t\t\tmilliseconds = date.getUTCMilliseconds();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tminutes = Math.floor(minutes / count) * count;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCMinutes(minutes, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"month\":\n\n\t\t\t\tlet month = date.getUTCMonth();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmonth = Math.floor(month / count) * count;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCMonth(month, 1);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"year\":\n\n\t\t\t\tlet year = date.getUTCFullYear();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tyear = Math.floor(year / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCFullYear(year, 0, 1);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\t\t\t\tbreak;\n\n\t\t\tcase \"week\":\n\n\t\t\t\tlet wday = date.getUTCDate();\n\t\t\t\tlet weekDay = date.getUTCDay();\n\n\t\t\t\tif (!$type.isNumber(firstDateOfWeek)) {\n\t\t\t\t\tfirstDateOfWeek = 1;\n\t\t\t\t}\n\n\t\t\t\tif (weekDay >= firstDateOfWeek) {\n\t\t\t\t\twday = wday - weekDay + firstDateOfWeek;\n\t\t\t\t} else {\n\t\t\t\t\twday = wday - (7 + weekDay) + firstDateOfWeek;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCDate(wday);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\t\t}\n\t\tif (!utc && unit != \"millisecond\") {\n\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + timeZoneOffset);\n\n\t\t\tif (unit == \"day\" || unit == \"week\" || unit == \"month\" || unit == \"year\") {\n\t\t\t\tlet newTimeZoneOffset = date.getTimezoneOffset();\n\t\t\t\tif (newTimeZoneOffset != timeZoneOffset) {\n\t\t\t\t\tlet diff = newTimeZoneOffset - timeZoneOffset;\n\n\t\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + diff);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn date;\n\t}\n\telse {\n\t\tlet tzoffset = timezone.offsetUTC(date);\n\t\tlet timeZoneOffset = date.getTimezoneOffset();\n\t\tconst parsedDate = timezone.parseDate(date);\n\n\t\tlet year = parsedDate.year;\n\t\tlet month = parsedDate.month;\n\t\tlet day = parsedDate.day;\n\t\tlet hour = parsedDate.hour;\n\t\tlet minute = parsedDate.minute;\n\t\tlet second = parsedDate.second;\n\t\tlet millisecond = parsedDate.millisecond;\n\n\t\tswitch (unit) {\n\n\t\t\tcase \"day\":\n\t\t\t\tif (firstDate) {\n\t\t\t\t\tfirstDate = round(firstDate, \"day\", 1);\n\t\t\t\t\tlet difference = date.getTime() - firstDate.getTime();\n\t\t\t\t\tlet unitCount = Math.floor(difference / getDuration(\"day\") / count);\n\t\t\t\t\tlet duration = getDuration(\"day\", unitCount * count);\n\t\t\t\t\tdate.setTime(firstDate.getTime() + duration - timeZoneOffset * getDuration(\"minute\"));\n\t\t\t\t\tyear = date.getUTCFullYear();\n\t\t\t\t\tmonth = date.getUTCMonth();\n\t\t\t\t\tday = date.getUTCDate();\n\t\t\t\t}\n\n\t\t\t\thour = 0;\n\t\t\t\tminute = 0;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"second\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tsecond = Math.floor(second / count) * count;\n\t\t\t\t}\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"millisecond\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmillisecond = Math.floor(millisecond / count) * count;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"hour\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\thour = Math.floor(hour / count) * count;\n\t\t\t\t}\n\t\t\t\tminute = 0;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"minute\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tminute = Math.floor(minute / count) * count;\n\t\t\t\t}\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"month\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmonth = Math.floor(month / count) * count;\n\t\t\t\t}\n\t\t\t\tday = 1;\n\t\t\t\thour = 0;\n\t\t\t\tminute = 0;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"year\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tyear = Math.floor(year / count) * count;\n\t\t\t\t}\n\t\t\t\tmonth = 0;\n\t\t\t\tday = 1;\n\t\t\t\thour = 0;\n\t\t\t\tminute = 0;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"week\":\n\t\t\t\tif (!$type.isNumber(firstDateOfWeek)) {\n\t\t\t\t\tfirstDateOfWeek = 1;\n\t\t\t\t}\n\n\t\t\t\tlet wday = date.getUTCDate();\n\t\t\t\tlet weekDay = date.getUTCDay();\n\n\t\t\t\tif (weekDay >= firstDateOfWeek) {\n\t\t\t\t\twday = wday - weekDay + firstDateOfWeek;\n\t\t\t\t} else {\n\t\t\t\t\twday = wday - (7 + weekDay) + firstDateOfWeek;\n\t\t\t\t}\n\n\t\t\t\tday = wday;\n\t\t\t\thour = 0;\n\t\t\t\tminute = 0;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tminute += tzoffset - timeZoneOffset;\n\t\tdate = new Date(year, month, day, hour, minute, second, millisecond);\n\n\t\treturn date;\n\t}\n}\n\n/**\n * @ignore\n */\nexport function chooseInterval(index: number, duration: number, gridCount: number, intervals: Array<ITimeInterval>): ITimeInterval {\n\tlet gridInterval: ITimeInterval = intervals[index];\n\tlet intervalDuration = getIntervalDuration(gridInterval);\n\n\tlet lastIndex = intervals.length - 1;\n\tif (index >= lastIndex) {\n\t\treturn { ...intervals[lastIndex] };\n\t}\n\n\tlet count = Math.ceil(duration / intervalDuration);\n\n\tif (duration < intervalDuration && index > 0) {\n\t\treturn { ...intervals[index - 1] };\n\t}\n\tif (count <= gridCount) {\n\t\treturn { ...intervals[index] };\n\t} else {\n\t\tif (index + 1 < intervals.length) {\n\t\t\treturn chooseInterval(index + 1, duration, gridCount, intervals);\n\t\t} else {\n\t\t\treturn { ...intervals[index] };\n\t\t}\n\t}\n}\n\n/**\n * @ignore\n */\nexport function getUnitValue(date: Date, unit: TimeUnit) {\n\tswitch (unit) {\n\t\tcase \"day\":\n\t\t\treturn date.getDate();\n\t\tcase \"second\":\n\t\t\treturn date.getSeconds();\n\t\tcase \"millisecond\":\n\t\t\treturn date.getMilliseconds();\n\t\tcase \"hour\":\n\t\t\treturn date.getHours();\n\t\tcase \"minute\":\n\t\t\treturn date.getMinutes();\n\t\tcase \"month\":\n\t\t\treturn date.getMonth();\n\t\tcase \"year\":\n\t\t\treturn date.getFullYear();\n\t\tcase \"week\":\n\t\t\treturn $utils.getWeek(date);\n\t}\n}\n"]}
@@ -1046,7 +1046,7 @@ export function mergeTags(tags1, tags2) {
1046
1046
  if (!tags1) {
1047
1047
  tags1 = [];
1048
1048
  }
1049
- return __spreadArray(__spreadArray([], __read(tags1)), __read(tags2)).filter(function (value, index, self) {
1049
+ return __spreadArray(__spreadArray([], __read(tags1), false), __read(tags2), false).filter(function (value, index, self) {
1050
1050
  return self.indexOf(value) === index;
1051
1051
  });
1052
1052
  }