@amcharts/amcharts5 5.0.19 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/.internal/charts/map/MapLineSeries.d.ts +6 -1
  2. package/.internal/charts/map/MapLineSeries.d.ts.map +1 -1
  3. package/.internal/charts/map/MapLineSeries.js +11 -6
  4. package/.internal/charts/map/MapLineSeries.js.map +1 -1
  5. package/.internal/charts/map/MapPointSeries.d.ts +6 -1
  6. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  7. package/.internal/charts/map/MapPointSeries.js +7 -2
  8. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  9. package/.internal/charts/map/MapPolygonSeries.d.ts +6 -1
  10. package/.internal/charts/map/MapPolygonSeries.d.ts.map +1 -1
  11. package/.internal/charts/map/MapPolygonSeries.js +7 -2
  12. package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
  13. package/.internal/charts/map/MapSeries.d.ts +1 -0
  14. package/.internal/charts/map/MapSeries.d.ts.map +1 -1
  15. package/.internal/charts/map/MapSeries.js +12 -0
  16. package/.internal/charts/map/MapSeries.js.map +1 -1
  17. package/.internal/charts/percent/PercentSeries.d.ts +3 -0
  18. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  19. package/.internal/charts/percent/PercentSeries.js +12 -0
  20. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  21. package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
  22. package/.internal/charts/pie/PieSeries.js.map +1 -1
  23. package/.internal/charts/xy/XYChart.d.ts +1 -1
  24. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  25. package/.internal/charts/xy/XYChart.js.map +1 -1
  26. package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
  27. package/.internal/charts/xy/XYChartDefaultTheme.js +16 -2
  28. package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
  29. package/.internal/charts/xy/XYCursor.d.ts +6 -0
  30. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  31. package/.internal/charts/xy/XYCursor.js +14 -3
  32. package/.internal/charts/xy/XYCursor.js.map +1 -1
  33. package/.internal/charts/xy/axes/Axis.d.ts +3 -2
  34. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  35. package/.internal/charts/xy/axes/Axis.js +12 -5
  36. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  37. package/.internal/charts/xy/axes/CategoryDateAxis.js +1 -1
  38. package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
  39. package/.internal/charts/xy/axes/DateAxis.d.ts +3 -0
  40. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  41. package/.internal/charts/xy/axes/DateAxis.js +75 -20
  42. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  43. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +55 -0
  44. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -0
  45. package/.internal/charts/xy/axes/GaplessDateAxis.js +316 -0
  46. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -0
  47. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  48. package/.internal/charts/xy/axes/ValueAxis.js +1 -1
  49. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  50. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  51. package/.internal/charts/xy/series/BaseColumnSeries.js +21 -3
  52. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  53. package/.internal/charts/xy/series/CandlestickSeries.d.ts +0 -177
  54. package/.internal/charts/xy/series/CandlestickSeries.d.ts.map +1 -1
  55. package/.internal/charts/xy/series/CandlestickSeries.js +0 -19
  56. package/.internal/charts/xy/series/CandlestickSeries.js.map +1 -1
  57. package/.internal/charts/xy/series/LineSeries.d.ts +1 -0
  58. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  59. package/.internal/charts/xy/series/LineSeries.js +14 -2
  60. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  61. package/.internal/charts/xy/series/XYSeries.d.ts +207 -2
  62. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  63. package/.internal/charts/xy/series/XYSeries.js +30 -5
  64. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  65. package/.internal/core/Classes.d.ts +4 -0
  66. package/.internal/core/Classes.d.ts.map +1 -1
  67. package/.internal/core/Classes.js.map +1 -1
  68. package/.internal/core/Root.d.ts +11 -3
  69. package/.internal/core/Root.d.ts.map +1 -1
  70. package/.internal/core/Root.js +14 -5
  71. package/.internal/core/Root.js.map +1 -1
  72. package/.internal/core/render/Component.d.ts +6 -1
  73. package/.internal/core/render/Component.d.ts.map +1 -1
  74. package/.internal/core/render/Component.js +9 -4
  75. package/.internal/core/render/Component.js.map +1 -1
  76. package/.internal/core/render/Container.d.ts +8 -0
  77. package/.internal/core/render/Container.d.ts.map +1 -1
  78. package/.internal/core/render/Container.js +1 -9
  79. package/.internal/core/render/Container.js.map +1 -1
  80. package/.internal/core/render/Ellipse.d.ts +28 -0
  81. package/.internal/core/render/Ellipse.d.ts.map +1 -0
  82. package/.internal/core/render/Ellipse.js +51 -0
  83. package/.internal/core/render/Ellipse.js.map +1 -0
  84. package/.internal/core/render/GridLayout.d.ts +1 -3
  85. package/.internal/core/render/GridLayout.d.ts.map +1 -1
  86. package/.internal/core/render/GridLayout.js +10 -10
  87. package/.internal/core/render/GridLayout.js.map +1 -1
  88. package/.internal/core/render/HorizontalLayout.d.ts.map +1 -1
  89. package/.internal/core/render/HorizontalLayout.js +18 -4
  90. package/.internal/core/render/HorizontalLayout.js.map +1 -1
  91. package/.internal/core/render/Layout.d.ts +2 -0
  92. package/.internal/core/render/Layout.d.ts.map +1 -1
  93. package/.internal/core/render/Layout.js +8 -0
  94. package/.internal/core/render/Layout.js.map +1 -1
  95. package/.internal/core/render/Legend.d.ts +6 -4
  96. package/.internal/core/render/Legend.d.ts.map +1 -1
  97. package/.internal/core/render/Legend.js +35 -34
  98. package/.internal/core/render/Legend.js.map +1 -1
  99. package/.internal/core/render/Line.js +1 -1
  100. package/.internal/core/render/Line.js.map +1 -1
  101. package/.internal/core/render/Series.d.ts +1 -1
  102. package/.internal/core/render/Series.d.ts.map +1 -1
  103. package/.internal/core/render/Series.js +5 -3
  104. package/.internal/core/render/Series.js.map +1 -1
  105. package/.internal/core/render/Slice.d.ts.map +1 -1
  106. package/.internal/core/render/Slice.js +7 -1
  107. package/.internal/core/render/Slice.js.map +1 -1
  108. package/.internal/core/render/Slider.d.ts +0 -2
  109. package/.internal/core/render/Slider.d.ts.map +1 -1
  110. package/.internal/core/render/Slider.js +0 -2
  111. package/.internal/core/render/Slider.js.map +1 -1
  112. package/.internal/core/render/Sprite.d.ts +11 -2
  113. package/.internal/core/render/Sprite.d.ts.map +1 -1
  114. package/.internal/core/render/Sprite.js +40 -17
  115. package/.internal/core/render/Sprite.js.map +1 -1
  116. package/.internal/core/render/VerticalLayout.d.ts.map +1 -1
  117. package/.internal/core/render/VerticalLayout.js +18 -4
  118. package/.internal/core/render/VerticalLayout.js.map +1 -1
  119. package/.internal/core/render/backend/CanvasRenderer.d.ts +9 -4
  120. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  121. package/.internal/core/render/backend/CanvasRenderer.js +136 -32
  122. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  123. package/.internal/core/render/backend/Renderer.d.ts +2 -0
  124. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  125. package/.internal/core/render/backend/Renderer.js.map +1 -1
  126. package/.internal/core/util/Array.d.ts.map +1 -1
  127. package/.internal/core/util/Array.js +13 -23
  128. package/.internal/core/util/Array.js.map +1 -1
  129. package/.internal/core/util/DateFormatter.d.ts.map +1 -1
  130. package/.internal/core/util/DateFormatter.js +4 -7
  131. package/.internal/core/util/DateFormatter.js.map +1 -1
  132. package/.internal/core/util/Entity.d.ts +19 -0
  133. package/.internal/core/util/Entity.d.ts.map +1 -1
  134. package/.internal/core/util/Entity.js +69 -7
  135. package/.internal/core/util/Entity.js.map +1 -1
  136. package/.internal/core/util/InterfaceColors.d.ts +1 -1
  137. package/.internal/core/util/InterfaceColors.js.map +1 -1
  138. package/.internal/core/util/List.d.ts +7 -0
  139. package/.internal/core/util/List.d.ts.map +1 -1
  140. package/.internal/core/util/List.js +14 -0
  141. package/.internal/core/util/List.js.map +1 -1
  142. package/.internal/core/util/Modal.d.ts +50 -0
  143. package/.internal/core/util/Modal.d.ts.map +1 -0
  144. package/.internal/core/util/Modal.js +215 -0
  145. package/.internal/core/util/Modal.js.map +1 -0
  146. package/.internal/core/util/Template.d.ts +2 -1
  147. package/.internal/core/util/Template.d.ts.map +1 -1
  148. package/.internal/core/util/Template.js +19 -1
  149. package/.internal/core/util/Template.js.map +1 -1
  150. package/.internal/core/util/Time.d.ts +16 -19
  151. package/.internal/core/util/Time.d.ts.map +1 -1
  152. package/.internal/core/util/Time.js +209 -122
  153. package/.internal/core/util/Time.js.map +1 -1
  154. package/.internal/core/util/Timezone.d.ts +28 -0
  155. package/.internal/core/util/Timezone.d.ts.map +1 -0
  156. package/.internal/core/util/Timezone.js +138 -0
  157. package/.internal/core/util/Timezone.js.map +1 -0
  158. package/.internal/core/util/Utils.d.ts +2 -1
  159. package/.internal/core/util/Utils.d.ts.map +1 -1
  160. package/.internal/core/util/Utils.js +6 -3
  161. package/.internal/core/util/Utils.js.map +1 -1
  162. package/.internal/plugins/exporting/Exporting.d.ts +10 -1
  163. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  164. package/.internal/plugins/exporting/Exporting.js +11 -3
  165. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  166. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts +1 -0
  167. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts.map +1 -1
  168. package/.internal/plugins/sliceGrouper/SliceGrouper.js +15 -3
  169. package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -1
  170. package/.internal/themes/DefaultTheme.js +2 -2
  171. package/.internal/themes/DefaultTheme.js.map +1 -1
  172. package/CHANGELOG.md +70 -0
  173. package/examples/javascript/flow-chord/package.json +1 -1
  174. package/examples/javascript/flow-chord-directed/package.json +1 -1
  175. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  176. package/examples/javascript/flow-sankey/package.json +1 -1
  177. package/examples/javascript/gauge/package.json +1 -1
  178. package/examples/javascript/gauge-bands/package.json +1 -1
  179. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  180. package/examples/javascript/hierarchy-pack/package.json +1 -1
  181. package/examples/javascript/hierarchy-partition/package.json +1 -1
  182. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  183. package/examples/javascript/hierarchy-tree/package.json +1 -1
  184. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  185. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  186. package/examples/javascript/map-day-and-night/package.json +1 -1
  187. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  188. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  189. package/examples/javascript/map-with-bubbles/package.json +1 -1
  190. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  191. package/examples/javascript/misc-40-charts/package.json +1 -1
  192. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  193. package/examples/javascript/pie-chart/package.json +1 -1
  194. package/examples/javascript/pie-donut-chart/package.json +1 -1
  195. package/examples/javascript/pie-variable-radius/package.json +1 -1
  196. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  197. package/examples/javascript/radar-heat-map/package.json +1 -1
  198. package/examples/javascript/radar-line/package.json +1 -1
  199. package/examples/javascript/radar-time-line/package.json +1 -1
  200. package/examples/javascript/sliced-funnel/package.json +1 -1
  201. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  202. package/examples/javascript/sliced-pyramid/package.json +1 -1
  203. package/examples/javascript/venn-diagram/package.json +1 -1
  204. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  205. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  206. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  207. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  208. package/examples/javascript/xy-bubble/package.json +1 -1
  209. package/examples/javascript/xy-candlestick/package.json +1 -1
  210. package/examples/javascript/xy-clustered-column/package.json +1 -1
  211. package/examples/javascript/xy-column/package.json +1 -1
  212. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  213. package/examples/javascript/xy-data-grouping/package.json +1 -1
  214. package/examples/javascript/xy-draggable-range/package.json +1 -1
  215. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  216. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  217. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  218. package/examples/javascript/xy-line/package.json +1 -1
  219. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  220. package/examples/javascript/xy-live-data/package.json +1 -1
  221. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  222. package/examples/javascript/xy-ohlc/package.json +1 -1
  223. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  224. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  225. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  226. package/examples/javascript/xy-stacked-column/package.json +1 -1
  227. package/examples/javascript/xy-stacked-step/package.json +1 -1
  228. package/examples/javascript/xy-stock/package.json +1 -1
  229. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  230. package/examples/typescript/flow-chord/package.json +1 -1
  231. package/examples/typescript/flow-chord-directed/package.json +1 -1
  232. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  233. package/examples/typescript/flow-sankey/package.json +1 -1
  234. package/examples/typescript/gauge/package.json +1 -1
  235. package/examples/typescript/gauge-bands/package.json +1 -1
  236. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  237. package/examples/typescript/hierarchy-pack/package.json +1 -1
  238. package/examples/typescript/hierarchy-partition/package.json +1 -1
  239. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  240. package/examples/typescript/hierarchy-tree/package.json +1 -1
  241. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  242. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  243. package/examples/typescript/map-day-and-night/package.json +1 -1
  244. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  245. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  246. package/examples/typescript/map-with-bubbles/package.json +1 -1
  247. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  248. package/examples/typescript/misc-40-charts/package.json +1 -1
  249. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  250. package/examples/typescript/pie-chart/package.json +1 -1
  251. package/examples/typescript/pie-donut-chart/package.json +1 -1
  252. package/examples/typescript/pie-variable-radius/package.json +1 -1
  253. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  254. package/examples/typescript/radar-heat-map/package.json +1 -1
  255. package/examples/typescript/radar-line/package.json +1 -1
  256. package/examples/typescript/radar-time-line/package.json +1 -1
  257. package/examples/typescript/sliced-funnel/package.json +1 -1
  258. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  259. package/examples/typescript/sliced-pyramid/package.json +1 -1
  260. package/examples/typescript/venn-diagram/package.json +1 -1
  261. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  262. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  263. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  264. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  265. package/examples/typescript/xy-bubble/package.json +1 -1
  266. package/examples/typescript/xy-candlestick/package.json +1 -1
  267. package/examples/typescript/xy-clustered-column/package.json +1 -1
  268. package/examples/typescript/xy-column/package.json +1 -1
  269. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  270. package/examples/typescript/xy-data-grouping/package.json +1 -1
  271. package/examples/typescript/xy-draggable-range/package.json +1 -1
  272. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  273. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  274. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  275. package/examples/typescript/xy-line/package.json +1 -1
  276. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  277. package/examples/typescript/xy-live-data/package.json +1 -1
  278. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  279. package/examples/typescript/xy-ohlc/package.json +1 -1
  280. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  281. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  282. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  283. package/examples/typescript/xy-stacked-column/package.json +1 -1
  284. package/examples/typescript/xy-stacked-step/package.json +1 -1
  285. package/examples/typescript/xy-stock/package.json +1 -1
  286. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  287. package/flow.d.ts +15 -13
  288. package/flow.d.ts.map +1 -1
  289. package/flow.js +2 -0
  290. package/flow.js.map +1 -1
  291. package/hierarchy.d.ts +14 -12
  292. package/hierarchy.d.ts.map +1 -1
  293. package/hierarchy.js +2 -0
  294. package/hierarchy.js.map +1 -1
  295. package/index.d.ts +43 -40
  296. package/index.d.ts.map +1 -1
  297. package/index.js +5 -2
  298. package/index.js.map +1 -1
  299. package/map.d.ts +11 -9
  300. package/map.d.ts.map +1 -1
  301. package/map.js +2 -0
  302. package/map.js.map +1 -1
  303. package/package.json +1 -1
  304. package/percent.d.ts +10 -8
  305. package/percent.d.ts.map +1 -1
  306. package/percent.js +2 -0
  307. package/percent.js.map +1 -1
  308. package/radar.d.ts +10 -8
  309. package/radar.d.ts.map +1 -1
  310. package/radar.js +2 -0
  311. package/radar.js.map +1 -1
  312. package/venn.d.ts +3 -1
  313. package/venn.d.ts.map +1 -1
  314. package/venn.js +2 -0
  315. package/venn.js.map +1 -1
  316. package/wc.d.ts +3 -1
  317. package/wc.d.ts.map +1 -1
  318. package/wc.js +2 -0
  319. package/wc.js.map +1 -1
  320. package/xy.d.ts +30 -25
  321. package/xy.d.ts.map +1 -1
  322. package/xy.js +5 -0
  323. package/xy.js.map +1 -1
@@ -0,0 +1,50 @@
1
+ import { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from "./Entity";
2
+ export interface IModalSettings extends IEntitySettings {
3
+ content?: string;
4
+ }
5
+ export interface IModalPrivate extends IEntityPrivate {
6
+ container: HTMLDivElement;
7
+ curtain: HTMLDivElement;
8
+ wrapper: HTMLDivElement;
9
+ content: HTMLDivElement;
10
+ }
11
+ export interface IModalEvents extends IEntityEvents {
12
+ "opened": {};
13
+ "closed": {};
14
+ "cancelled": {};
15
+ }
16
+ /**
17
+ * Used to display a modal dialog with HTML content.
18
+ */
19
+ export declare class Modal extends Entity {
20
+ static className: string;
21
+ static classNames: Array<string>;
22
+ _settings: IModalSettings;
23
+ _privateSettings: IModalPrivate;
24
+ _events: IModalEvents;
25
+ protected _afterNew(): void;
26
+ _beforeChanged(): void;
27
+ /**
28
+ * Returns `true` if modal is currently open.
29
+ *
30
+ * @return Modal open?
31
+ */
32
+ isOpen(): boolean;
33
+ /**
34
+ * Opens modal.
35
+ */
36
+ open(): void;
37
+ /**
38
+ * Closes modal.
39
+ */
40
+ close(): void;
41
+ /**
42
+ * Closes modal and invokes `cancelled` event.
43
+ */
44
+ cancel(): void;
45
+ /**
46
+ * Disposes modal.
47
+ */
48
+ dispose(): void;
49
+ }
50
+ //# sourceMappingURL=Modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Modal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA8ElF,MAAM,WAAW,cAAe,SAAQ,eAAe;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IAClD,QAAQ,EAAE,EAAE,CAAA;IACZ,QAAQ,EAAE,EAAE,CAAA;IACZ,WAAW,EAAE,EAAE,CAAA;CACf;AAED;;GAEG;AACH,qBAAa,KAAM,SAAQ,MAAM;IAChC,OAAc,SAAS,EAAE,MAAM,CAAW;IAC1C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA+C;IAEvE,SAAS,EAAE,cAAc,CAAC;IAC1B,gBAAgB,EAAE,aAAa,CAAC;IAChC,OAAO,EAAE,YAAY,CAAC;IAIrC,SAAS,CAAC,SAAS;IAgDZ,cAAc;IAQrB;;;;OAIG;IACI,MAAM,IAAI,OAAO;IAIxB;;OAEG;IACI,IAAI,IAAI,IAAI;IAQnB;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB;;OAEG;IACI,MAAM,IAAI,IAAI;IAQrB;;OAEG;IACI,OAAO;CAKd"}
@@ -0,0 +1,215 @@
1
+ import { __extends } from "tslib";
2
+ import { Entity } from "./Entity";
3
+ import { StyleRule } from "./Utils";
4
+ import { MultiDisposer, CounterDisposer } from "../../core/util/Disposer";
5
+ import * as $utils from "./Utils";
6
+ /**
7
+ * @ignore
8
+ */
9
+ var rules;
10
+ /**
11
+ * @ignore
12
+ */
13
+ function modalCSS(element, root, _prefix) {
14
+ var ic = root.interfaceColors;
15
+ if (!rules) {
16
+ var disposer_1 = new MultiDisposer([
17
+ new StyleRule(element, ".am5-modal", {
18
+ "width": "100%",
19
+ "height": "100%",
20
+ "position": "relative",
21
+ "z-index": "1000"
22
+ }),
23
+ new StyleRule(element, ".am5-modal-curtain", {
24
+ "top": "0",
25
+ "left": "0",
26
+ "width": "100%",
27
+ "height": "100%",
28
+ "position": "absolute",
29
+ "background": ic.get("background").toCSS(0.5),
30
+ "z-index": "100"
31
+ }),
32
+ new StyleRule(element, ".am5-modal-wrapper", {
33
+ "top": "0",
34
+ "left": "0",
35
+ "width": "100%",
36
+ "height": "100%",
37
+ "position": "absolute",
38
+ "text-align": "center",
39
+ "white-space": "nowrap",
40
+ "background": ic.get("background").toCSS(0.5),
41
+ "z-index": "101"
42
+ }),
43
+ new StyleRule(element, ".am5-modal-wrapper:before", {
44
+ "content": "''",
45
+ "display": "inline-block",
46
+ "height": "100%",
47
+ "vertical-align": "middle",
48
+ "margin-right": "-0.25em"
49
+ }),
50
+ new StyleRule(element, ".am5-modal-content", {
51
+ "display": "inline-block",
52
+ "padding": "1em",
53
+ "vertical-align": "middle",
54
+ "background": ic.get("background").toCSS(),
55
+ "border": "1px solid " + ic.get("alternativeBackground").toCSS()
56
+ }),
57
+ ]);
58
+ rules = new CounterDisposer(function () {
59
+ rules = undefined;
60
+ disposer_1.dispose();
61
+ });
62
+ }
63
+ return rules.increment();
64
+ }
65
+ /**
66
+ * Used to display a modal dialog with HTML content.
67
+ */
68
+ var Modal = /** @class */ (function (_super) {
69
+ __extends(Modal, _super);
70
+ function Modal() {
71
+ return _super !== null && _super.apply(this, arguments) || this;
72
+ }
73
+ //protected _currentPass: number = 0;
74
+ Object.defineProperty(Modal.prototype, "_afterNew", {
75
+ enumerable: false,
76
+ configurable: true,
77
+ writable: true,
78
+ value: function () {
79
+ var _this = this;
80
+ // Applying themes because this will not have parents
81
+ _super.prototype._afterNewApplyThemes.call(this);
82
+ // Load CSS
83
+ modalCSS($utils.getShadowRoot(this._root.dom), this._root);
84
+ // Create elements
85
+ var container = document.createElement("div");
86
+ container.className = "am5-modal";
87
+ container.style.display = "none";
88
+ this.root.dom.appendChild(container);
89
+ this.setPrivate("container", container);
90
+ var curtain = document.createElement("div");
91
+ curtain.className = "am5-modal-curtain";
92
+ container.appendChild(curtain);
93
+ this.setPrivate("curtain", curtain);
94
+ $utils.addEventListener(curtain, "click", function () {
95
+ _this.cancel();
96
+ });
97
+ var wrapper = document.createElement("div");
98
+ wrapper.className = "am5-modal-wrapper";
99
+ container.appendChild(wrapper);
100
+ this.setPrivate("wrapper", wrapper);
101
+ var content = document.createElement("div");
102
+ content.className = "am5-modal-content";
103
+ wrapper.appendChild(content);
104
+ this.setPrivate("content", content);
105
+ var html = this.get("content");
106
+ if (html) {
107
+ content.innerHTML = html;
108
+ }
109
+ // Close on ESC
110
+ if ($utils.supports("keyboardevents")) {
111
+ this._disposers.push($utils.addEventListener(document, "keydown", function (ev) {
112
+ if (_this.isOpen() && ev.keyCode == 27) {
113
+ _this.cancel();
114
+ }
115
+ }));
116
+ }
117
+ }
118
+ });
119
+ Object.defineProperty(Modal.prototype, "_beforeChanged", {
120
+ enumerable: false,
121
+ configurable: true,
122
+ writable: true,
123
+ value: function () {
124
+ _super.prototype._beforeChanged.call(this);
125
+ if (this.isDirty("content")) {
126
+ this.getPrivate("content").innerHTML = this.get("content", "");
127
+ }
128
+ }
129
+ });
130
+ /**
131
+ * Returns `true` if modal is currently open.
132
+ *
133
+ * @return Modal open?
134
+ */
135
+ Object.defineProperty(Modal.prototype, "isOpen", {
136
+ enumerable: false,
137
+ configurable: true,
138
+ writable: true,
139
+ value: function () {
140
+ return this.getPrivate("container").style.display != "none";
141
+ }
142
+ });
143
+ /**
144
+ * Opens modal.
145
+ */
146
+ Object.defineProperty(Modal.prototype, "open", {
147
+ enumerable: false,
148
+ configurable: true,
149
+ writable: true,
150
+ value: function () {
151
+ this.getPrivate("container").style.display = "block";
152
+ this.events.dispatch("opened", {
153
+ type: "opened",
154
+ target: this
155
+ });
156
+ }
157
+ });
158
+ /**
159
+ * Closes modal.
160
+ */
161
+ Object.defineProperty(Modal.prototype, "close", {
162
+ enumerable: false,
163
+ configurable: true,
164
+ writable: true,
165
+ value: function () {
166
+ this.getPrivate("container").style.display = "none";
167
+ this.events.dispatch("closed", {
168
+ type: "closed",
169
+ target: this
170
+ });
171
+ }
172
+ });
173
+ /**
174
+ * Closes modal and invokes `cancelled` event.
175
+ */
176
+ Object.defineProperty(Modal.prototype, "cancel", {
177
+ enumerable: false,
178
+ configurable: true,
179
+ writable: true,
180
+ value: function () {
181
+ this.getPrivate("container").style.display = "none";
182
+ this.events.dispatch("cancelled", {
183
+ type: "cancelled",
184
+ target: this
185
+ });
186
+ }
187
+ });
188
+ /**
189
+ * Disposes modal.
190
+ */
191
+ Object.defineProperty(Modal.prototype, "dispose", {
192
+ enumerable: false,
193
+ configurable: true,
194
+ writable: true,
195
+ value: function () {
196
+ _super.prototype.dispose.call(this);
197
+ this.root.dom.removeChild(this.getPrivate("container"));
198
+ }
199
+ });
200
+ Object.defineProperty(Modal, "className", {
201
+ enumerable: true,
202
+ configurable: true,
203
+ writable: true,
204
+ value: "Modal"
205
+ });
206
+ Object.defineProperty(Modal, "classNames", {
207
+ enumerable: true,
208
+ configurable: true,
209
+ writable: true,
210
+ value: Entity.classNames.concat([Modal.className])
211
+ });
212
+ return Modal;
213
+ }(Entity));
214
+ export { Modal };
215
+ //# sourceMappingURL=Modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Modal.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../Root\"\n\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"./Entity\";\nimport { StyleRule } from \"./Utils\"\nimport { MultiDisposer, IDisposer, CounterDisposer } from \"../../core/util/Disposer\";\n\nimport * as $utils from \"./Utils\"\n\n\n/**\n * @ignore\n */\nlet rules: CounterDisposer | undefined;\n\n/**\n * @ignore\n */\nfunction modalCSS(element: ShadowRoot | null, root: Root, _prefix?: string): IDisposer {\n\tconst ic = root.interfaceColors;\n\n\tif (!rules) {\n\t\tconst disposer = new MultiDisposer([\n\n\t\t\tnew StyleRule(element, \".am5-modal\", {\n\t\t\t\t\"width\": \"100%\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"position\": \"relative\",\n\t\t\t\t\"z-index\": \"1000\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-curtain\", {\n\t\t\t\t\"top\": \"0\",\n\t\t\t\t\"left\": \"0\",\n\t\t\t\t\"width\": \"100%\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"position\": \"absolute\",\n\t\t\t\t\"background\": ic.get(\"background\")!.toCSS(0.5),\n\t\t\t\t\"z-index\": \"100\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-wrapper\", {\n\t\t\t\t\"top\": \"0\",\n\t\t\t\t\"left\": \"0\",\n\t\t\t\t\"width\": \"100%\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"position\": \"absolute\",\n\t\t\t\t\"text-align\": \"center\",\n\t\t\t\t\"white-space\": \"nowrap\",\n\t\t\t\t\"background\": ic.get(\"background\")!.toCSS(0.5),\n\t\t\t\t\"z-index\": \"101\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-wrapper:before\", {\n\t\t\t\t\"content\": \"''\",\n\t\t\t\t\"display\": \"inline-block\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"vertical-align\": \"middle\",\n\t\t\t\t\"margin-right\": \"-0.25em\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-content\", {\n\t\t\t\t\"display\": \"inline-block\",\n\t\t\t\t\"padding\": \"1em\",\n\t\t\t\t\"vertical-align\": \"middle\",\n\t\t\t\t\"background\": ic.get(\"background\")!.toCSS(),\n\t\t\t\t\"border\": \"1px solid \" + ic.get(\"alternativeBackground\")!.toCSS()\n\t\t\t}),\n\n\t\t]);\n\n\t\trules = new CounterDisposer(() => {\n\t\t\trules = undefined;\n\t\t\tdisposer.dispose();\n\t\t});\n\t}\n\n\treturn rules.increment();\n}\n\n\nexport interface IModalSettings extends IEntitySettings {\n\tcontent?: string;\n}\n\nexport interface IModalPrivate extends IEntityPrivate {\n\tcontainer: HTMLDivElement;\n\tcurtain: HTMLDivElement;\n\twrapper: HTMLDivElement;\n\tcontent: HTMLDivElement;\n}\n\nexport interface IModalEvents extends IEntityEvents {\n\t\"opened\": {}\n\t\"closed\": {}\n\t\"cancelled\": {}\n}\n\n/**\n * Used to display a modal dialog with HTML content.\n */\nexport class Modal extends Entity {\n\tpublic static className: string = \"Modal\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Modal.className]);\n\n\tdeclare public _settings: IModalSettings;\n\tdeclare public _privateSettings: IModalPrivate;\n\tdeclare public _events: IModalEvents;\n\n\t//protected _currentPass: number = 0;\n\n\tprotected _afterNew() {\n\t\t// Applying themes because this will not have parents\n\t\tsuper._afterNewApplyThemes();\n\n\t\t// Load CSS\n\t\tmodalCSS($utils.getShadowRoot(this._root.dom), this._root);\n\n\t\t// Create elements\n\t\tconst container = document.createElement(\"div\");\n\t\tcontainer.className = \"am5-modal\";\n\t\tcontainer.style.display = \"none\";\n\t\tthis.root.dom.appendChild(container);\n\t\tthis.setPrivate(\"container\", container);\n\n\t\tconst curtain = document.createElement(\"div\");\n\t\tcurtain.className = \"am5-modal-curtain\";\n\t\tcontainer.appendChild(curtain);\n\t\tthis.setPrivate(\"curtain\", curtain);\n\n\t\t$utils.addEventListener(curtain, \"click\", () => {\n\t\t\tthis.cancel();\n\t\t});\n\n\t\tconst wrapper = document.createElement(\"div\");\n\t\twrapper.className = \"am5-modal-wrapper\";\n\t\tcontainer.appendChild(wrapper);\n\t\tthis.setPrivate(\"wrapper\", wrapper);\n\n\t\tconst content = document.createElement(\"div\");\n\t\tcontent.className = \"am5-modal-content\";\n\t\twrapper.appendChild(content);\n\t\tthis.setPrivate(\"content\", content);\n\n\t\tconst html = this.get(\"content\");\n\t\tif (html) {\n\t\t\tcontent.innerHTML = html;\n\t\t}\n\n\t\t// Close on ESC\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tif (this.isOpen() && ev.keyCode == 27) {\n\t\t\t\t\tthis.cancel();\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"content\")) {\n\t\t\tthis.getPrivate(\"content\").innerHTML = this.get(\"content\", \"\");\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if modal is currently open.\n\t * \n\t * @return Modal open?\n\t */\n\tpublic isOpen(): boolean {\n\t\treturn this.getPrivate(\"container\").style.display != \"none\";\n\t}\n\n\t/**\n\t * Opens modal.\n\t */\n\tpublic open(): void {\n\t\tthis.getPrivate(\"container\").style.display = \"block\";\n\t\tthis.events.dispatch(\"opened\", {\n\t\t\ttype: \"opened\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Closes modal.\n\t */\n\tpublic close(): void {\n\t\tthis.getPrivate(\"container\").style.display = \"none\";\n\t\tthis.events.dispatch(\"closed\", {\n\t\t\ttype: \"closed\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Closes modal and invokes `cancelled` event.\n\t */\n\tpublic cancel(): void {\n\t\tthis.getPrivate(\"container\").style.display = \"none\";\n\t\tthis.events.dispatch(\"cancelled\", {\n\t\t\ttype: \"cancelled\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Disposes modal.\n\t */\n\tpublic dispose() {\n\t\tsuper.dispose();\n\t\tthis.root.dom.removeChild(this.getPrivate(\"container\"));\n\t}\n\n}"]}
@@ -25,7 +25,8 @@ 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]): void;
28
+ add<Key extends keyof E["_settings"]>(key: Key, callback: <O extends E["_settings"]>(value: O[Key], target?: O, key?: Key) => O[Key]): IDisposer;
29
+ remove<Key extends keyof E["_settings"]>(key: Key): void;
29
30
  _apply(entity: E): IDisposer;
30
31
  }
31
32
  export interface ApplyState<E extends Entity> {
@@ -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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"}
@@ -171,11 +171,29 @@ var TemplateAdapters = /** @class */ (function () {
171
171
  configurable: true,
172
172
  writable: true,
173
173
  value: function (key, callback) {
174
+ var _this = this;
174
175
  var callbacks = this._callbacks[key];
175
176
  if (callbacks === undefined) {
176
177
  callbacks = this._callbacks[key] = [];
177
178
  }
178
179
  callbacks.push(callback);
180
+ return new Disposer(function () {
181
+ $array.removeFirst(callbacks, callback);
182
+ if (callbacks.length === 0) {
183
+ delete _this._callbacks[key];
184
+ }
185
+ });
186
+ }
187
+ });
188
+ Object.defineProperty(TemplateAdapters.prototype, "remove", {
189
+ enumerable: false,
190
+ configurable: true,
191
+ writable: true,
192
+ value: function (key) {
193
+ var callbacks = this._callbacks[key];
194
+ if (callbacks !== undefined) {
195
+ delete this._callbacks[key];
196
+ }
179
197
  }
180
198
  });
181
199
  Object.defineProperty(TemplateAdapters.prototype, "_apply", {
@@ -472,7 +490,7 @@ var Template = /** @class */ (function () {
472
490
  configurable: true,
473
491
  writable: true,
474
492
  value: function (entity) {
475
- $array.keepIf(this._entities, function (x) { return x !== entity; });
493
+ $array.remove(this._entities, entity);
476
494
  }
477
495
  });
478
496
  Object.defineProperty(Template.prototype, "_stateChanged", {
@@ -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]) {\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\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.keepIf(this._entities, (x) => x !== 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":"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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,8 +1,16 @@
1
+ import type { Timezone } from "./Timezone";
1
2
  export declare type TimeUnit = "millisecond" | "second" | "minute" | "hour" | "day" | "week" | "month" | "year";
2
3
  export interface ITimeInterval {
3
4
  timeUnit: TimeUnit;
4
5
  count: number;
5
6
  }
7
+ /**
8
+ * Returns a `Promise` which can be used to execute code after number of
9
+ * milliseconds.
10
+ *
11
+ * @param ms Sleep duration in ms
12
+ * @return Promise
13
+ */
6
14
  export declare function sleep(ms: number): Promise<void>;
7
15
  /**
8
16
  * Maps time period names to their numeric representations in milliseconds.
@@ -28,7 +36,6 @@ export declare function getNextUnit(unit: TimeUnit): TimeUnit | undefined;
28
36
  * Available units: "millisecond", "second", "minute", "hour", "day", "week",
29
37
  * "month", and "year".
30
38
  *
31
- * @ignore Exclude from docs
32
39
  * @param unit Time unit
33
40
  * @param count Number of units
34
41
  * @return Milliseconds
@@ -53,7 +60,6 @@ export declare function getTime(): number;
53
60
  /**
54
61
  * Returns a copy of the `Date` object.
55
62
  *
56
- * @ignore Exclude from docs
57
63
  * @param date Source date
58
64
  * @return Copy
59
65
  */
@@ -62,17 +68,15 @@ export declare function copy(date: Date): Date;
62
68
  * Checks if the `unit` part of two `Date` objects do not match. Two dates
63
69
  * represent a "range" of time, rather the same time date.
64
70
  *
65
- * @ignore Exclude from docs
66
- * @param dateOne Date 1
67
- * @param dateTwo Date 2
71
+ * @param timeOne timestamp
72
+ * @param timeTwo timestamp
68
73
  * @param unit Time unit to check
69
74
  * @return Range?
70
75
  */
71
- export declare function checkChange(dateOne: Date, dateTwo: Date, unit: TimeUnit, utc?: boolean): boolean;
76
+ export declare function checkChange(timeOne: number, timeTwo: number, unit: TimeUnit, utc?: boolean, timezone?: Timezone): boolean;
72
77
  /**
73
78
  * Adds `count` of time `unit` to the source date. Returns a modified `Date` object.
74
79
  *
75
- * @ignore Exclude from docs
76
80
  * @param date Source date
77
81
  * @param unit Time unit
78
82
  * @param count Number of units to add
@@ -82,24 +86,17 @@ export declare function add(date: Date, unit: TimeUnit, count: number, utc?: boo
82
86
  /**
83
87
  * "Rounds" the date to specific time unit.
84
88
  *
85
- * @ignore Exclude from docs
86
89
  * @param date Source date
87
90
  * @param unit Time unit
88
91
  * @param count Number of units to round to
89
92
  * @param firstDateOfWeek First day of week
93
+ * @param utc Use UTC timezone
94
+ * @param firstDate First date to round to
95
+ * @param roundMinutes Minutes to round to (some timezones use non-whole hour)
96
+ * @param timezone Use specific named timezone when rounding
90
97
  * @return New date
91
98
  */
92
- export declare function round(date: Date, unit: TimeUnit, count: number, firstDateOfWeek?: number, utc?: boolean, firstDate?: Date): Date;
93
- /**
94
- * Returns a new `Date` object which corresponds to the source date in a
95
- * specific timezone.
96
- *
97
- * @since 4.10.1
98
- * @param date Source date
99
- * @param timezone Timezone identifier
100
- * @return Recalculated new Date
101
- */
102
- export declare function setTimezone(date: Date, timezone: string): Date;
99
+ export declare function round(date: Date, unit: TimeUnit, count: number, firstDateOfWeek?: number, utc?: boolean, firstDate?: Date, timezone?: Timezone): Date;
103
100
  /**
104
101
  * @ignore
105
102
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"AAUA,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,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;;;;;;;;;;GAUG;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;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAErC;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAyFhG;AAED;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAmElF;AAED;;;;;;;;;GASG;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,GAAG,IAAI,CA0IhI;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAG9D;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;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"}