@taiga-ui/addon-charts 3.59.0 → 3.60.0

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.
@@ -1,726 +1,872 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/addon-charts/utils'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('rxjs'), require('rxjs/operators'), require('@angular/common'), require('@tinkoff/ng-polymorpheus')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/addon-charts/components/line-chart', ['exports', '@angular/core', '@taiga-ui/addon-charts/utils', '@taiga-ui/cdk', '@taiga-ui/core', 'rxjs', 'rxjs/operators', '@angular/common', '@tinkoff/ng-polymorpheus'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-charts"] = global["taiga-ui"]["addon-charts"] || {}, global["taiga-ui"]["addon-charts"].components = global["taiga-ui"]["addon-charts"].components || {}, global["taiga-ui"]["addon-charts"].components["line-chart"] = {}), global.ng.core, global["taiga-ui"]["addon-charts"].utils, global.i1, global.i3, global.rxjs, global.rxjs.operators, global.ng.common, global.ngPolymorpheus));
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/addon-charts/utils'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('rxjs'), require('rxjs/operators'), require('@angular/common'), require('@tinkoff/ng-polymorpheus')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/addon-charts/components/line-chart', ['exports', '@angular/core', '@taiga-ui/addon-charts/utils', '@taiga-ui/cdk', '@taiga-ui/core', 'rxjs', 'rxjs/operators', '@angular/common', '@tinkoff/ng-polymorpheus'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-charts"] = global["taiga-ui"]["addon-charts"] || {}, global["taiga-ui"]["addon-charts"].components = global["taiga-ui"]["addon-charts"].components || {}, global["taiga-ui"]["addon-charts"].components["line-chart"] = {}), global.ng.core, global["taiga-ui"]["addon-charts"].utils, global.i1, global.i3, global.rxjs, global.rxjs.operators, global.ng.common, global.ngPolymorpheus));
5
5
  })(this, (function (exports, i0, utils, i1, i3, i2, operators, i2$1, ngPolymorpheus) { 'use strict';
6
6
 
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
20
18
  }
21
- n["default"] = e;
22
- return Object.freeze(n);
19
+ });
23
20
  }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
23
+ }
24
24
 
25
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
27
- var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
28
- var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
29
- var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
25
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
27
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
28
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
29
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
30
30
 
31
- /*! *****************************************************************************
32
- Copyright (c) Microsoft Corporation.
31
+ /******************************************************************************
32
+ Copyright (c) Microsoft Corporation.
33
33
 
34
- Permission to use, copy, modify, and/or distribute this software for any
35
- purpose with or without fee is hereby granted.
34
+ Permission to use, copy, modify, and/or distribute this software for any
35
+ purpose with or without fee is hereby granted.
36
36
 
37
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
38
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
39
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
40
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
41
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
42
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
43
- PERFORMANCE OF THIS SOFTWARE.
44
- ***************************************************************************** */
45
- /* global Reflect, Promise */
46
- var extendStatics = function (d, b) {
47
- extendStatics = Object.setPrototypeOf ||
48
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
49
- function (d, b) { for (var p in b)
50
- if (Object.prototype.hasOwnProperty.call(b, p))
51
- d[p] = b[p]; };
52
- return extendStatics(d, b);
53
- };
54
- function __extends(d, b) {
55
- if (typeof b !== "function" && b !== null)
56
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
57
- extendStatics(d, b);
58
- function __() { this.constructor = d; }
59
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
60
- }
61
- var __assign = function () {
62
- __assign = Object.assign || function __assign(t) {
63
- for (var s, i = 1, n = arguments.length; i < n; i++) {
64
- s = arguments[i];
65
- for (var p in s)
66
- if (Object.prototype.hasOwnProperty.call(s, p))
67
- t[p] = s[p];
68
- }
69
- return t;
70
- };
71
- return __assign.apply(this, arguments);
72
- };
73
- function __rest(s, e) {
74
- var t = {};
75
- for (var p in s)
76
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
77
- t[p] = s[p];
78
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
79
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
80
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
81
- t[p[i]] = s[p[i]];
82
- }
83
- return t;
84
- }
85
- function __decorate(decorators, target, key, desc) {
86
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
87
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
88
- r = Reflect.decorate(decorators, target, key, desc);
89
- else
90
- for (var i = decorators.length - 1; i >= 0; i--)
91
- if (d = decorators[i])
92
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
93
- return c > 3 && r && Object.defineProperty(target, key, r), r;
94
- }
95
- function __param(paramIndex, decorator) {
96
- return function (target, key) { decorator(target, key, paramIndex); };
97
- }
98
- function __metadata(metadataKey, metadataValue) {
99
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
100
- return Reflect.metadata(metadataKey, metadataValue);
101
- }
102
- function __awaiter(thisArg, _arguments, P, generator) {
103
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
104
- return new (P || (P = Promise))(function (resolve, reject) {
105
- function fulfilled(value) { try {
106
- step(generator.next(value));
107
- }
108
- catch (e) {
109
- reject(e);
110
- } }
111
- function rejected(value) { try {
112
- step(generator["throw"](value));
113
- }
114
- catch (e) {
115
- reject(e);
116
- } }
117
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
118
- step((generator = generator.apply(thisArg, _arguments || [])).next());
119
- });
120
- }
121
- function __generator(thisArg, body) {
122
- var _ = { label: 0, sent: function () { if (t[0] & 1)
123
- throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
124
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
125
- function verb(n) { return function (v) { return step([n, v]); }; }
126
- function step(op) {
127
- if (f)
128
- throw new TypeError("Generator is already executing.");
129
- while (_)
130
- try {
131
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
132
- return t;
133
- if (y = 0, t)
134
- op = [op[0] & 2, t.value];
135
- switch (op[0]) {
136
- case 0:
137
- case 1:
138
- t = op;
139
- break;
140
- case 4:
141
- _.label++;
142
- return { value: op[1], done: false };
143
- case 5:
144
- _.label++;
145
- y = op[1];
146
- op = [0];
147
- continue;
148
- case 7:
149
- op = _.ops.pop();
150
- _.trys.pop();
151
- continue;
152
- default:
153
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
154
- _ = 0;
155
- continue;
156
- }
157
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
158
- _.label = op[1];
159
- break;
160
- }
161
- if (op[0] === 6 && _.label < t[1]) {
162
- _.label = t[1];
163
- t = op;
164
- break;
165
- }
166
- if (t && _.label < t[2]) {
167
- _.label = t[2];
168
- _.ops.push(op);
169
- break;
170
- }
171
- if (t[2])
172
- _.ops.pop();
173
- _.trys.pop();
174
- continue;
175
- }
176
- op = body.call(thisArg, _);
177
- }
178
- catch (e) {
179
- op = [6, e];
180
- y = 0;
181
- }
182
- finally {
183
- f = t = 0;
184
- }
185
- if (op[0] & 5)
186
- throw op[1];
187
- return { value: op[0] ? op[1] : void 0, done: true };
188
- }
189
- }
190
- var __createBinding = Object.create ? (function (o, m, k, k2) {
191
- if (k2 === undefined)
192
- k2 = k;
193
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
194
- }) : (function (o, m, k, k2) {
195
- if (k2 === undefined)
196
- k2 = k;
197
- o[k2] = m[k];
198
- });
199
- function __exportStar(m, o) {
200
- for (var p in m)
201
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
202
- __createBinding(o, m, p);
203
- }
204
- function __values(o) {
205
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
206
- if (m)
207
- return m.call(o);
208
- if (o && typeof o.length === "number")
209
- return {
210
- next: function () {
211
- if (o && i >= o.length)
212
- o = void 0;
213
- return { value: o && o[i++], done: !o };
214
- }
215
- };
216
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
217
- }
218
- function __read(o, n) {
219
- var m = typeof Symbol === "function" && o[Symbol.iterator];
220
- if (!m)
221
- return o;
222
- var i = m.call(o), r, ar = [], e;
223
- try {
224
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
225
- ar.push(r.value);
226
- }
227
- catch (error) {
228
- e = { error: error };
229
- }
230
- finally {
231
- try {
232
- if (r && !r.done && (m = i["return"]))
233
- m.call(i);
234
- }
235
- finally {
236
- if (e)
237
- throw e.error;
238
- }
239
- }
240
- return ar;
241
- }
242
- /** @deprecated */
243
- function __spread() {
244
- for (var ar = [], i = 0; i < arguments.length; i++)
245
- ar = ar.concat(__read(arguments[i]));
246
- return ar;
247
- }
248
- /** @deprecated */
249
- function __spreadArrays() {
250
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
251
- s += arguments[i].length;
252
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
253
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
254
- r[k] = a[j];
255
- return r;
256
- }
257
- function __spreadArray(to, from, pack) {
258
- if (pack || arguments.length === 2)
259
- for (var i = 0, l = from.length, ar; i < l; i++) {
260
- if (ar || !(i in from)) {
261
- if (!ar)
262
- ar = Array.prototype.slice.call(from, 0, i);
263
- ar[i] = from[i];
264
- }
265
- }
266
- return to.concat(ar || from);
267
- }
268
- function __await(v) {
269
- return this instanceof __await ? (this.v = v, this) : new __await(v);
270
- }
271
- function __asyncGenerator(thisArg, _arguments, generator) {
272
- if (!Symbol.asyncIterator)
273
- throw new TypeError("Symbol.asyncIterator is not defined.");
274
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
275
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
276
- function verb(n) { if (g[n])
277
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
278
- function resume(n, v) { try {
279
- step(g[n](v));
280
- }
281
- catch (e) {
282
- settle(q[0][3], e);
283
- } }
284
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
285
- function fulfill(value) { resume("next", value); }
286
- function reject(value) { resume("throw", value); }
287
- function settle(f, v) { if (f(v), q.shift(), q.length)
288
- resume(q[0][0], q[0][1]); }
289
- }
290
- function __asyncDelegator(o) {
291
- var i, p;
292
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
293
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
294
- }
295
- function __asyncValues(o) {
296
- if (!Symbol.asyncIterator)
297
- throw new TypeError("Symbol.asyncIterator is not defined.");
298
- var m = o[Symbol.asyncIterator], i;
299
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
300
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
301
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
302
- }
303
- function __makeTemplateObject(cooked, raw) {
304
- if (Object.defineProperty) {
305
- Object.defineProperty(cooked, "raw", { value: raw });
306
- }
307
- else {
308
- cooked.raw = raw;
309
- }
310
- return cooked;
311
- }
312
- ;
313
- var __setModuleDefault = Object.create ? (function (o, v) {
314
- Object.defineProperty(o, "default", { enumerable: true, value: v });
315
- }) : function (o, v) {
316
- o["default"] = v;
317
- };
318
- function __importStar(mod) {
319
- if (mod && mod.__esModule)
320
- return mod;
321
- var result = {};
322
- if (mod != null)
323
- for (var k in mod)
324
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
325
- __createBinding(result, mod, k);
326
- __setModuleDefault(result, mod);
327
- return result;
328
- }
329
- function __importDefault(mod) {
330
- return (mod && mod.__esModule) ? mod : { default: mod };
331
- }
332
- function __classPrivateFieldGet(receiver, state, kind, f) {
333
- if (kind === "a" && !f)
334
- throw new TypeError("Private accessor was defined without a getter");
335
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
336
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
337
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
338
- }
339
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
340
- if (kind === "m")
341
- throw new TypeError("Private method is not writable");
342
- if (kind === "a" && !f)
343
- throw new TypeError("Private accessor was defined without a setter");
344
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
345
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
346
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
347
- }
37
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
38
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
39
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
40
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
41
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
42
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
43
+ PERFORMANCE OF THIS SOFTWARE.
44
+ ***************************************************************************** */
45
+ /* global Reflect, Promise, SuppressedError, Symbol */
46
+ var extendStatics = function (d, b) {
47
+ extendStatics = Object.setPrototypeOf ||
48
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
49
+ function (d, b) { for (var p in b)
50
+ if (Object.prototype.hasOwnProperty.call(b, p))
51
+ d[p] = b[p]; };
52
+ return extendStatics(d, b);
53
+ };
54
+ function __extends(d, b) {
55
+ if (typeof b !== "function" && b !== null)
56
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
57
+ extendStatics(d, b);
58
+ function __() { this.constructor = d; }
59
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
60
+ }
61
+ var __assign = function () {
62
+ __assign = Object.assign || function __assign(t) {
63
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
64
+ s = arguments[i];
65
+ for (var p in s)
66
+ if (Object.prototype.hasOwnProperty.call(s, p))
67
+ t[p] = s[p];
68
+ }
69
+ return t;
70
+ };
71
+ return __assign.apply(this, arguments);
72
+ };
73
+ function __rest(s, e) {
74
+ var t = {};
75
+ for (var p in s)
76
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
77
+ t[p] = s[p];
78
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
79
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
80
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
81
+ t[p[i]] = s[p[i]];
82
+ }
83
+ return t;
84
+ }
85
+ function __decorate(decorators, target, key, desc) {
86
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
87
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
88
+ r = Reflect.decorate(decorators, target, key, desc);
89
+ else
90
+ for (var i = decorators.length - 1; i >= 0; i--)
91
+ if (d = decorators[i])
92
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
93
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
94
+ }
95
+ function __param(paramIndex, decorator) {
96
+ return function (target, key) { decorator(target, key, paramIndex); };
97
+ }
98
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
99
+ function accept(f) { if (f !== void 0 && typeof f !== "function")
100
+ throw new TypeError("Function expected"); return f; }
101
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
102
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
103
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
104
+ var _, done = false;
105
+ for (var i = decorators.length - 1; i >= 0; i--) {
106
+ var context = {};
107
+ for (var p in contextIn)
108
+ context[p] = p === "access" ? {} : contextIn[p];
109
+ for (var p in contextIn.access)
110
+ context.access[p] = contextIn.access[p];
111
+ context.addInitializer = function (f) { if (done)
112
+ throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
113
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
114
+ if (kind === "accessor") {
115
+ if (result === void 0)
116
+ continue;
117
+ if (result === null || typeof result !== "object")
118
+ throw new TypeError("Object expected");
119
+ if (_ = accept(result.get))
120
+ descriptor.get = _;
121
+ if (_ = accept(result.set))
122
+ descriptor.set = _;
123
+ if (_ = accept(result.init))
124
+ initializers.unshift(_);
125
+ }
126
+ else if (_ = accept(result)) {
127
+ if (kind === "field")
128
+ initializers.unshift(_);
129
+ else
130
+ descriptor[key] = _;
131
+ }
132
+ }
133
+ if (target)
134
+ Object.defineProperty(target, contextIn.name, descriptor);
135
+ done = true;
136
+ }
137
+ ;
138
+ function __runInitializers(thisArg, initializers, value) {
139
+ var useValue = arguments.length > 2;
140
+ for (var i = 0; i < initializers.length; i++) {
141
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
142
+ }
143
+ return useValue ? value : void 0;
144
+ }
145
+ ;
146
+ function __propKey(x) {
147
+ return typeof x === "symbol" ? x : "".concat(x);
148
+ }
149
+ ;
150
+ function __setFunctionName(f, name, prefix) {
151
+ if (typeof name === "symbol")
152
+ name = name.description ? "[".concat(name.description, "]") : "";
153
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
154
+ }
155
+ ;
156
+ function __metadata(metadataKey, metadataValue) {
157
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
158
+ return Reflect.metadata(metadataKey, metadataValue);
159
+ }
160
+ function __awaiter(thisArg, _arguments, P, generator) {
161
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
162
+ return new (P || (P = Promise))(function (resolve, reject) {
163
+ function fulfilled(value) { try {
164
+ step(generator.next(value));
165
+ }
166
+ catch (e) {
167
+ reject(e);
168
+ } }
169
+ function rejected(value) { try {
170
+ step(generator["throw"](value));
171
+ }
172
+ catch (e) {
173
+ reject(e);
174
+ } }
175
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
176
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
177
+ });
178
+ }
179
+ function __generator(thisArg, body) {
180
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
181
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
182
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
183
+ function verb(n) { return function (v) { return step([n, v]); }; }
184
+ function step(op) {
185
+ if (f)
186
+ throw new TypeError("Generator is already executing.");
187
+ while (g && (g = 0, op[0] && (_ = 0)), _)
188
+ try {
189
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
190
+ return t;
191
+ if (y = 0, t)
192
+ op = [op[0] & 2, t.value];
193
+ switch (op[0]) {
194
+ case 0:
195
+ case 1:
196
+ t = op;
197
+ break;
198
+ case 4:
199
+ _.label++;
200
+ return { value: op[1], done: false };
201
+ case 5:
202
+ _.label++;
203
+ y = op[1];
204
+ op = [0];
205
+ continue;
206
+ case 7:
207
+ op = _.ops.pop();
208
+ _.trys.pop();
209
+ continue;
210
+ default:
211
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
212
+ _ = 0;
213
+ continue;
214
+ }
215
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
216
+ _.label = op[1];
217
+ break;
218
+ }
219
+ if (op[0] === 6 && _.label < t[1]) {
220
+ _.label = t[1];
221
+ t = op;
222
+ break;
223
+ }
224
+ if (t && _.label < t[2]) {
225
+ _.label = t[2];
226
+ _.ops.push(op);
227
+ break;
228
+ }
229
+ if (t[2])
230
+ _.ops.pop();
231
+ _.trys.pop();
232
+ continue;
233
+ }
234
+ op = body.call(thisArg, _);
235
+ }
236
+ catch (e) {
237
+ op = [6, e];
238
+ y = 0;
239
+ }
240
+ finally {
241
+ f = t = 0;
242
+ }
243
+ if (op[0] & 5)
244
+ throw op[1];
245
+ return { value: op[0] ? op[1] : void 0, done: true };
246
+ }
247
+ }
248
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
249
+ if (k2 === undefined)
250
+ k2 = k;
251
+ var desc = Object.getOwnPropertyDescriptor(m, k);
252
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
253
+ desc = { enumerable: true, get: function () { return m[k]; } };
254
+ }
255
+ Object.defineProperty(o, k2, desc);
256
+ }) : (function (o, m, k, k2) {
257
+ if (k2 === undefined)
258
+ k2 = k;
259
+ o[k2] = m[k];
260
+ });
261
+ function __exportStar(m, o) {
262
+ for (var p in m)
263
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
264
+ __createBinding(o, m, p);
265
+ }
266
+ function __values(o) {
267
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
268
+ if (m)
269
+ return m.call(o);
270
+ if (o && typeof o.length === "number")
271
+ return {
272
+ next: function () {
273
+ if (o && i >= o.length)
274
+ o = void 0;
275
+ return { value: o && o[i++], done: !o };
276
+ }
277
+ };
278
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
279
+ }
280
+ function __read(o, n) {
281
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
282
+ if (!m)
283
+ return o;
284
+ var i = m.call(o), r, ar = [], e;
285
+ try {
286
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
287
+ ar.push(r.value);
288
+ }
289
+ catch (error) {
290
+ e = { error: error };
291
+ }
292
+ finally {
293
+ try {
294
+ if (r && !r.done && (m = i["return"]))
295
+ m.call(i);
296
+ }
297
+ finally {
298
+ if (e)
299
+ throw e.error;
300
+ }
301
+ }
302
+ return ar;
303
+ }
304
+ /** @deprecated */
305
+ function __spread() {
306
+ for (var ar = [], i = 0; i < arguments.length; i++)
307
+ ar = ar.concat(__read(arguments[i]));
308
+ return ar;
309
+ }
310
+ /** @deprecated */
311
+ function __spreadArrays() {
312
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
313
+ s += arguments[i].length;
314
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
315
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
316
+ r[k] = a[j];
317
+ return r;
318
+ }
319
+ function __spreadArray(to, from, pack) {
320
+ if (pack || arguments.length === 2)
321
+ for (var i = 0, l = from.length, ar; i < l; i++) {
322
+ if (ar || !(i in from)) {
323
+ if (!ar)
324
+ ar = Array.prototype.slice.call(from, 0, i);
325
+ ar[i] = from[i];
326
+ }
327
+ }
328
+ return to.concat(ar || Array.prototype.slice.call(from));
329
+ }
330
+ function __await(v) {
331
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
332
+ }
333
+ function __asyncGenerator(thisArg, _arguments, generator) {
334
+ if (!Symbol.asyncIterator)
335
+ throw new TypeError("Symbol.asyncIterator is not defined.");
336
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
337
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
338
+ function verb(n) { if (g[n])
339
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
340
+ function resume(n, v) { try {
341
+ step(g[n](v));
342
+ }
343
+ catch (e) {
344
+ settle(q[0][3], e);
345
+ } }
346
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
347
+ function fulfill(value) { resume("next", value); }
348
+ function reject(value) { resume("throw", value); }
349
+ function settle(f, v) { if (f(v), q.shift(), q.length)
350
+ resume(q[0][0], q[0][1]); }
351
+ }
352
+ function __asyncDelegator(o) {
353
+ var i, p;
354
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
355
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
356
+ }
357
+ function __asyncValues(o) {
358
+ if (!Symbol.asyncIterator)
359
+ throw new TypeError("Symbol.asyncIterator is not defined.");
360
+ var m = o[Symbol.asyncIterator], i;
361
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
362
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
363
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
364
+ }
365
+ function __makeTemplateObject(cooked, raw) {
366
+ if (Object.defineProperty) {
367
+ Object.defineProperty(cooked, "raw", { value: raw });
368
+ }
369
+ else {
370
+ cooked.raw = raw;
371
+ }
372
+ return cooked;
373
+ }
374
+ ;
375
+ var __setModuleDefault = Object.create ? (function (o, v) {
376
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
377
+ }) : function (o, v) {
378
+ o["default"] = v;
379
+ };
380
+ function __importStar(mod) {
381
+ if (mod && mod.__esModule)
382
+ return mod;
383
+ var result = {};
384
+ if (mod != null)
385
+ for (var k in mod)
386
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
387
+ __createBinding(result, mod, k);
388
+ __setModuleDefault(result, mod);
389
+ return result;
390
+ }
391
+ function __importDefault(mod) {
392
+ return (mod && mod.__esModule) ? mod : { default: mod };
393
+ }
394
+ function __classPrivateFieldGet(receiver, state, kind, f) {
395
+ if (kind === "a" && !f)
396
+ throw new TypeError("Private accessor was defined without a getter");
397
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
398
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
399
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
400
+ }
401
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
402
+ if (kind === "m")
403
+ throw new TypeError("Private method is not writable");
404
+ if (kind === "a" && !f)
405
+ throw new TypeError("Private accessor was defined without a setter");
406
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
407
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
408
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
409
+ }
410
+ function __classPrivateFieldIn(state, receiver) {
411
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
412
+ throw new TypeError("Cannot use 'in' operator on non-object");
413
+ return typeof state === "function" ? receiver === state : state.has(receiver);
414
+ }
415
+ function __addDisposableResource(env, value, async) {
416
+ if (value !== null && value !== void 0) {
417
+ if (typeof value !== "object" && typeof value !== "function")
418
+ throw new TypeError("Object expected.");
419
+ var dispose;
420
+ if (async) {
421
+ if (!Symbol.asyncDispose)
422
+ throw new TypeError("Symbol.asyncDispose is not defined.");
423
+ dispose = value[Symbol.asyncDispose];
424
+ }
425
+ if (dispose === void 0) {
426
+ if (!Symbol.dispose)
427
+ throw new TypeError("Symbol.dispose is not defined.");
428
+ dispose = value[Symbol.dispose];
429
+ }
430
+ if (typeof dispose !== "function")
431
+ throw new TypeError("Object not disposable.");
432
+ env.stack.push({ value: value, dispose: dispose, async: async });
433
+ }
434
+ else if (async) {
435
+ env.stack.push({ async: true });
436
+ }
437
+ return value;
438
+ }
439
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
440
+ var e = new Error(message);
441
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
442
+ };
443
+ function __disposeResources(env) {
444
+ function fail(e) {
445
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
446
+ env.hasError = true;
447
+ }
448
+ function next() {
449
+ while (env.stack.length) {
450
+ var rec = env.stack.pop();
451
+ try {
452
+ var result = rec.dispose && rec.dispose.call(rec.value);
453
+ if (rec.async)
454
+ return Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
455
+ }
456
+ catch (e) {
457
+ fail(e);
458
+ }
459
+ }
460
+ if (env.hasError)
461
+ throw env.error;
462
+ }
463
+ return next();
464
+ }
465
+ var tslib_es6 = {
466
+ __extends: __extends,
467
+ __assign: __assign,
468
+ __rest: __rest,
469
+ __decorate: __decorate,
470
+ __param: __param,
471
+ __metadata: __metadata,
472
+ __awaiter: __awaiter,
473
+ __generator: __generator,
474
+ __createBinding: __createBinding,
475
+ __exportStar: __exportStar,
476
+ __values: __values,
477
+ __read: __read,
478
+ __spread: __spread,
479
+ __spreadArrays: __spreadArrays,
480
+ __spreadArray: __spreadArray,
481
+ __await: __await,
482
+ __asyncGenerator: __asyncGenerator,
483
+ __asyncDelegator: __asyncDelegator,
484
+ __asyncValues: __asyncValues,
485
+ __makeTemplateObject: __makeTemplateObject,
486
+ __importStar: __importStar,
487
+ __importDefault: __importDefault,
488
+ __classPrivateFieldGet: __classPrivateFieldGet,
489
+ __classPrivateFieldSet: __classPrivateFieldSet,
490
+ __classPrivateFieldIn: __classPrivateFieldIn,
491
+ __addDisposableResource: __addDisposableResource,
492
+ __disposeResources: __disposeResources,
493
+ };
348
494
 
349
- var TUI_LINE_CHART_DEFAULT_OPTIONS = {
350
- dots: false,
351
- filled: false,
352
- smoothingFactor: 0,
353
- };
354
- var TUI_LINE_CHART_OPTIONS = i1.tuiCreateToken(TUI_LINE_CHART_DEFAULT_OPTIONS);
355
- function tuiLineChartOptionsProvider(options) {
356
- return i1.tuiProvideOptions(TUI_LINE_CHART_OPTIONS, options, TUI_LINE_CHART_DEFAULT_OPTIONS);
357
- }
495
+ var TUI_LINE_CHART_DEFAULT_OPTIONS = {
496
+ dots: false,
497
+ filled: false,
498
+ smoothingFactor: 0,
499
+ };
500
+ var TUI_LINE_CHART_OPTIONS = i1.tuiCreateToken(TUI_LINE_CHART_DEFAULT_OPTIONS);
501
+ function tuiLineChartOptionsProvider(options) {
502
+ return i1.tuiProvideOptions(TUI_LINE_CHART_OPTIONS, options, TUI_LINE_CHART_DEFAULT_OPTIONS);
503
+ }
358
504
 
359
- var TuiLineChartHintDirective = /** @class */ (function () {
360
- function TuiLineChartHintDirective(renderer, destroy$, zone, hovered$) {
361
- this.renderer = renderer;
362
- this.destroy$ = destroy$;
363
- this.zone = zone;
364
- this.hovered$ = hovered$;
365
- this.charts = i1.EMPTY_QUERY;
366
- this.chartsRef = i1.EMPTY_QUERY;
367
- }
368
- TuiLineChartHintDirective.prototype.ngAfterViewInit = function () {
369
- var _this = this;
370
- i2.combineLatest([tuiLineChartDrivers(this.charts), this.hovered$])
371
- .pipe(operators.filter(function (result) { return !result.some(Boolean); }), i1.tuiZonefree(this.zone), operators.takeUntil(this.destroy$))
372
- .subscribe(function () {
373
- _this.charts.forEach(function (chart) { return chart.onHovered(NaN); });
374
- });
375
- };
376
- // _chart is required by TuiLineDaysChartComponent that impersonates this directive
377
- TuiLineChartHintDirective.prototype.getContext = function (index, _chart) {
378
- return this.computeContext.apply(this, __spreadArray([], __read(this.charts.map(function (_a) {
379
- var value = _a.value;
380
- return value;
381
- }))))[index];
382
- };
383
- // _chart is required by TuiLineDaysChartComponent that impersonates this directive
384
- TuiLineChartHintDirective.prototype.raise = function (index, _chart) {
385
- var _this = this;
386
- var current = this.charts.map(function (chart) { return chart.value[index]; });
387
- var sorted = __spreadArray([], __read(current)).sort(function (a, b) { return a[1] - b[1]; });
388
- this.charts.forEach(function (chart) { return chart.onHovered(index); });
389
- this.chartsRef.forEach(function (_a, index) {
390
- var nativeElement = _a.nativeElement;
391
- return _this.renderer.setStyle(nativeElement, 'z-index', sorted.indexOf(current[index]));
392
- });
393
- };
394
- TuiLineChartHintDirective.prototype.computeContext = function () {
395
- var values = [];
396
- for (var _i = 0; _i < arguments.length; _i++) {
397
- values[_i] = arguments[_i];
398
- }
399
- return (values[0] || []).map(function (_, index) { return values.map(function (value) { return value[index]; }); });
400
- };
401
- return TuiLineChartHintDirective;
402
- }());
403
- TuiLineChartHintDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartHintDirective, deps: [{ token: i0.Renderer2 }, { token: i1.TuiDestroyService, self: true }, { token: i0.NgZone }, { token: i1.TuiHoveredService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
404
- TuiLineChartHintDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiLineChartHintDirective, selector: "[tuiLineChartHint]", inputs: { hint: ["tuiLineChartHint", "hint"] }, providers: [i1.TuiDestroyService, i1.TuiHoveredService], queries: [{ propertyName: "charts", predicate: i0__namespace.forwardRef(function () { return TuiLineChartComponent; }) }, { propertyName: "chartsRef", predicate: i0__namespace.forwardRef(function () { return TuiLineChartComponent; }), read: i0.ElementRef }], ngImport: i0__namespace });
405
- __decorate([
406
- i1.tuiPure
407
- ], TuiLineChartHintDirective.prototype, "computeContext", null);
408
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartHintDirective, decorators: [{
409
- type: i0.Directive,
410
- args: [{
411
- selector: '[tuiLineChartHint]',
412
- providers: [i1.TuiDestroyService, i1.TuiHoveredService],
413
- }]
414
- }], ctorParameters: function () {
415
- return [{ type: i0__namespace.Renderer2, decorators: [{
416
- type: i0.Inject,
417
- args: [i0.Renderer2]
418
- }] }, { type: i1__namespace.TuiDestroyService, decorators: [{
419
- type: i0.Self
420
- }, {
421
- type: i0.Inject,
422
- args: [i1.TuiDestroyService]
423
- }] }, { type: i0__namespace.NgZone, decorators: [{
424
- type: i0.Inject,
425
- args: [i0.NgZone]
426
- }] }, { type: i2__namespace.Observable, decorators: [{
427
- type: i0.Inject,
428
- args: [i1.TuiHoveredService]
429
- }] }];
430
- }, propDecorators: { charts: [{
431
- type: i0.ContentChildren,
432
- args: [i0.forwardRef(function () { return TuiLineChartComponent; })]
433
- }], chartsRef: [{
434
- type: i0.ContentChildren,
435
- args: [i0.forwardRef(function () { return TuiLineChartComponent; }), { read: i0.ElementRef }]
436
- }], hint: [{
437
- type: i0.Input,
438
- args: ['tuiLineChartHint']
439
- }], computeContext: [] } });
440
- function tuiLineChartDrivers(charts) {
441
- return i2.combineLatest(charts.map(function (_a) {
442
- var drivers = _a.drivers;
443
- return i1.tuiQueryListChanges(drivers).pipe(operators.map(function (drivers) { return drivers.map(function (driver) { return driver.pipe(operators.startWith(false)); }); }));
444
- })).pipe(operators.map(function (all) { return all.reduce(function (acc, drivers) { return acc.concat(drivers); }, []); }), operators.switchMap(function (drivers) { return i2.combineLatest(drivers); }), operators.map(function (values) { return values.some(Boolean); }), operators.distinctUntilChanged());
445
- }
505
+ var TuiLineChartHintDirective = /** @class */ (function () {
506
+ function TuiLineChartHintDirective(renderer, destroy$, zone, hovered$) {
507
+ this.renderer = renderer;
508
+ this.destroy$ = destroy$;
509
+ this.zone = zone;
510
+ this.hovered$ = hovered$;
511
+ this.charts = i1.EMPTY_QUERY;
512
+ this.chartsRef = i1.EMPTY_QUERY;
513
+ }
514
+ TuiLineChartHintDirective.prototype.ngAfterViewInit = function () {
515
+ var _this = this;
516
+ i2.combineLatest([tuiLineChartDrivers(this.charts), this.hovered$])
517
+ .pipe(operators.filter(function (result) { return !result.some(Boolean); }), i1.tuiZonefree(this.zone), operators.takeUntil(this.destroy$))
518
+ .subscribe(function () {
519
+ _this.charts.forEach(function (chart) { return chart.onHovered(NaN); });
520
+ });
521
+ };
522
+ // _chart is required by TuiLineDaysChartComponent that impersonates this directive
523
+ TuiLineChartHintDirective.prototype.getContext = function (index, _chart) {
524
+ return this.computeContext.apply(this, __spreadArray([], __read(this.charts.map(function (_a) {
525
+ var value = _a.value;
526
+ return value;
527
+ }))))[index];
528
+ };
529
+ // _chart is required by TuiLineDaysChartComponent that impersonates this directive
530
+ TuiLineChartHintDirective.prototype.raise = function (index, _chart) {
531
+ var _this = this;
532
+ var current = this.charts.map(function (chart) { return chart.value[index]; });
533
+ var sorted = __spreadArray([], __read(current)).sort(function (a, b) { return a[1] - b[1]; });
534
+ this.charts.forEach(function (chart) { return chart.onHovered(index); });
535
+ this.chartsRef.forEach(function (_a, index) {
536
+ var nativeElement = _a.nativeElement;
537
+ return _this.renderer.setStyle(nativeElement, 'z-index', sorted.indexOf(current[index]));
538
+ });
539
+ };
540
+ TuiLineChartHintDirective.prototype.computeContext = function () {
541
+ var values = [];
542
+ for (var _i = 0; _i < arguments.length; _i++) {
543
+ values[_i] = arguments[_i];
544
+ }
545
+ return (values[0] || []).map(function (_, index) { return values.map(function (value) { return value[index]; }); });
546
+ };
547
+ return TuiLineChartHintDirective;
548
+ }());
549
+ TuiLineChartHintDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartHintDirective, deps: [{ token: i0.Renderer2 }, { token: i1.TuiDestroyService, self: true }, { token: i0.NgZone }, { token: i1.TuiHoveredService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
550
+ TuiLineChartHintDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiLineChartHintDirective, selector: "[tuiLineChartHint]", inputs: { hint: ["tuiLineChartHint", "hint"] }, providers: [i1.TuiDestroyService, i1.TuiHoveredService], queries: [{ propertyName: "charts", predicate: i0__namespace.forwardRef(function () { return TuiLineChartComponent; }) }, { propertyName: "chartsRef", predicate: i0__namespace.forwardRef(function () { return TuiLineChartComponent; }), read: i0.ElementRef }], ngImport: i0__namespace });
551
+ __decorate([
552
+ i1.tuiPure
553
+ ], TuiLineChartHintDirective.prototype, "computeContext", null);
554
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartHintDirective, decorators: [{
555
+ type: i0.Directive,
556
+ args: [{
557
+ selector: '[tuiLineChartHint]',
558
+ providers: [i1.TuiDestroyService, i1.TuiHoveredService],
559
+ }]
560
+ }], ctorParameters: function () {
561
+ return [{ type: i0__namespace.Renderer2, decorators: [{
562
+ type: i0.Inject,
563
+ args: [i0.Renderer2]
564
+ }] }, { type: i1__namespace.TuiDestroyService, decorators: [{
565
+ type: i0.Self
566
+ }, {
567
+ type: i0.Inject,
568
+ args: [i1.TuiDestroyService]
569
+ }] }, { type: i0__namespace.NgZone, decorators: [{
570
+ type: i0.Inject,
571
+ args: [i0.NgZone]
572
+ }] }, { type: i2__namespace.Observable, decorators: [{
573
+ type: i0.Inject,
574
+ args: [i1.TuiHoveredService]
575
+ }] }];
576
+ }, propDecorators: { charts: [{
577
+ type: i0.ContentChildren,
578
+ args: [i0.forwardRef(function () { return TuiLineChartComponent; })]
579
+ }], chartsRef: [{
580
+ type: i0.ContentChildren,
581
+ args: [i0.forwardRef(function () { return TuiLineChartComponent; }), { read: i0.ElementRef }]
582
+ }], hint: [{
583
+ type: i0.Input,
584
+ args: ['tuiLineChartHint']
585
+ }], computeContext: [] } });
586
+ function tuiLineChartDrivers(charts) {
587
+ return i2.combineLatest(charts.map(function (_a) {
588
+ var drivers = _a.drivers;
589
+ return i1.tuiQueryListChanges(drivers).pipe(operators.map(function (drivers) { return drivers.map(function (driver) { return driver.pipe(operators.startWith(false)); }); }));
590
+ })).pipe(operators.map(function (all) { return all.reduce(function (acc, drivers) { return acc.concat(drivers); }, []); }), operators.switchMap(function (drivers) { return i2.combineLatest(drivers); }), operators.map(function (values) { return values.some(Boolean); }), operators.distinctUntilChanged());
591
+ }
446
592
 
447
- var TuiLineChartComponent = /** @class */ (function () {
448
- function TuiLineChartComponent(idService, zone, hintDirective, hintOptions, options) {
449
- this.zone = zone;
450
- this.hintDirective = hintDirective;
451
- this.hintOptions = hintOptions;
452
- this.options = options;
453
- this.hover$ = new i2.Subject();
454
- this.drivers = i1.EMPTY_QUERY;
455
- this.x = 0;
456
- this.y = 0;
457
- this.width = 0;
458
- this.height = 0;
459
- this.smoothingFactor = this.options.smoothingFactor;
460
- this.xStringify = null;
461
- this.yStringify = null;
462
- this.filled = this.options.filled;
463
- this.dots = this.options.dots;
464
- this.value = [];
465
- this.autoIdString = idService.generate();
466
- }
467
- Object.defineProperty(TuiLineChartComponent.prototype, "valueSetter", {
468
- set: function (value) {
469
- this.value = value.filter(function (item) { return !item.some(Number.isNaN); });
470
- },
471
- enumerable: false,
472
- configurable: true
473
- });
474
- Object.defineProperty(TuiLineChartComponent.prototype, "hovered$", {
475
- get: function () {
476
- return this.hover$.pipe(operators.distinctUntilChanged(), i1.tuiZoneOptimized(this.zone));
477
- },
478
- enumerable: false,
479
- configurable: true
480
- });
481
- Object.defineProperty(TuiLineChartComponent.prototype, "hintContent", {
482
- get: function () {
483
- var _a;
484
- return ((_a = this.hintOptions) === null || _a === void 0 ? void 0 : _a.content) || '';
485
- },
486
- enumerable: false,
487
- configurable: true
488
- });
489
- Object.defineProperty(TuiLineChartComponent.prototype, "fillId", {
490
- get: function () {
491
- return "tui-line-chart-" + this.autoIdString;
492
- },
493
- enumerable: false,
494
- configurable: true
495
- });
496
- Object.defineProperty(TuiLineChartComponent.prototype, "fill", {
497
- get: function () {
498
- return this.filled ? "url(#" + this.fillId + ")" : 'none';
499
- },
500
- enumerable: false,
501
- configurable: true
502
- });
503
- Object.defineProperty(TuiLineChartComponent.prototype, "viewBox", {
504
- get: function () {
505
- return this.x + " " + this.y + " " + this.width + " " + this.height;
506
- },
507
- enumerable: false,
508
- configurable: true
509
- });
510
- Object.defineProperty(TuiLineChartComponent.prototype, "d", {
511
- get: function () {
512
- return this.getD(this.value, this.smoothingFactor);
513
- },
514
- enumerable: false,
515
- configurable: true
516
- });
517
- Object.defineProperty(TuiLineChartComponent.prototype, "fillD", {
518
- get: function () {
519
- return this.value.length
520
- ? this.d + "V " + this.y + " H " + this.value[0][0] + " V " + this.value[0][1]
521
- : this.d;
522
- },
523
- enumerable: false,
524
- configurable: true
525
- });
526
- Object.defineProperty(TuiLineChartComponent.prototype, "isFocusable", {
527
- get: function () {
528
- return !this.hintDirective && this.hasHints;
529
- },
530
- enumerable: false,
531
- configurable: true
532
- });
533
- Object.defineProperty(TuiLineChartComponent.prototype, "hasHints", {
534
- get: function () {
535
- var _a;
536
- return (!!this.xStringify ||
537
- !!this.yStringify ||
538
- !!((_a = this.hintDirective) === null || _a === void 0 ? void 0 : _a.hint) ||
539
- !!this.hintContent);
540
- },
541
- enumerable: false,
542
- configurable: true
543
- });
544
- TuiLineChartComponent.prototype.onMouseLeave = function () {
545
- if (!this.hintDirective) {
546
- this.onHovered(NaN);
547
- }
548
- };
549
- TuiLineChartComponent.prototype.getX = function (index) {
550
- if (this.isSinglePoint) {
551
- return this.value[0][0] / 2;
552
- }
553
- return index
554
- ? (this.value[index - 1][0] + this.value[index][0]) / 2
555
- : 2 * this.value[0][0] - this.getX(1);
556
- };
557
- TuiLineChartComponent.prototype.getWidth = function (index) {
558
- return (100 * this.computeWidth(index)) / this.width;
559
- };
560
- TuiLineChartComponent.prototype.getHintId = function (index) {
561
- return this.autoIdString + "_" + index;
562
- };
563
- TuiLineChartComponent.prototype.getImplicit = function ($implicit) {
564
- var _a;
565
- return (((_a = this.hintDirective) === null || _a === void 0 ? void 0 : _a.getContext(this.value.indexOf($implicit), this)) ||
566
- $implicit);
567
- };
568
- TuiLineChartComponent.prototype.getHovered = function (hovered) {
569
- // This checks for NaN and null too since async pipe returns null before first item
570
- return i1.tuiIsPresent(hovered) && Number.isInteger(hovered)
571
- ? this.value[hovered]
572
- : null;
573
- };
574
- TuiLineChartComponent.prototype.getBottom = function (y) {
575
- return (100 * (y - this.y)) / this.height;
576
- };
577
- TuiLineChartComponent.prototype.getLeft = function (x) {
578
- return (100 * (x - this.x)) / this.width;
579
- };
580
- TuiLineChartComponent.prototype.getOffset = function (x) {
581
- return (100 * (this.value[x][0] - this.getX(x))) / this.computeWidth(x);
582
- };
583
- TuiLineChartComponent.prototype.onMouseEnter = function (index) {
584
- if (this.hintDirective) {
585
- this.hintDirective.raise(index, this);
586
- }
587
- else {
588
- this.onHovered(index);
589
- }
590
- };
591
- TuiLineChartComponent.prototype.onHovered = function (index) {
592
- this.hover$.next(index);
593
- };
594
- Object.defineProperty(TuiLineChartComponent.prototype, "isSinglePoint", {
595
- get: function () {
596
- return this.value.length === 1;
597
- },
598
- enumerable: false,
599
- configurable: true
600
- });
601
- TuiLineChartComponent.prototype.getD = function (value, smoothingFactor) {
602
- return value.reduce(function (d, point, index) { return index ? d + " " + utils.tuiDraw(value, index, smoothingFactor) : "M " + point; }, '');
603
- };
604
- TuiLineChartComponent.prototype.computeWidth = function (index) {
605
- return index === this.value.length - 1
606
- ? 2 * (this.value[index][0] - this.getX(index))
607
- : this.getX(index + 1) - this.getX(index);
608
- };
609
- return TuiLineChartComponent;
610
- }());
611
- TuiLineChartComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartComponent, deps: [{ token: i1.TuiIdService }, { token: i0.NgZone }, { token: TuiLineChartHintDirective, optional: true }, { token: i3.TuiHintOptionsDirective, optional: true }, { token: TUI_LINE_CHART_OPTIONS }], target: i0__namespace.ɵɵFactoryTarget.Component });
612
- TuiLineChartComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiLineChartComponent, selector: "tui-line-chart", inputs: { valueSetter: ["value", "valueSetter"], x: "x", y: "y", width: "width", height: "height", smoothingFactor: "smoothingFactor", xStringify: "xStringify", yStringify: "yStringify", filled: "filled", dots: "dots" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, viewQueries: [{ propertyName: "drivers", predicate: i3.TuiHintHoverDirective, descendants: true }], ngImport: i0__namespace, template: "<ng-container *tuiLet=\"hovered$ | async as hovered\">\n <svg\n focusable=\"false\"\n height=\"100%\"\n preserveAspectRatio=\"none\"\n width=\"100%\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-svg\"\n [attr.viewBox]=\"viewBox\"\n >\n <defs>\n <linearGradient\n x1=\"0\"\n x2=\"0\"\n y1=\"1\"\n y2=\"0\"\n [attr.id]=\"fillId\"\n >\n <stop\n offset=\"0%\"\n stop-color=\"currentColor\"\n stop-opacity=\"0.5\"\n />\n <stop\n offset=\"100%\"\n stop-color=\"currentColor\"\n stop-opacity=\"0\"\n />\n </linearGradient>\n </defs>\n <path\n stroke=\"none\"\n [attr.d]=\"fillD\"\n [attr.fill]=\"fill\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n vector-effect=\"non-scaling-stroke\"\n [attr.d]=\"d\"\n />\n </svg>\n <ng-container *ngIf=\"dots\">\n <div\n *ngFor=\"let point of value\"\n class=\"t-dot\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [style.left.%]=\"getLeft(point[0])\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"hasHints\">\n <ng-container *ngFor=\"let point of value; let index = index\">\n <!-- TODO: Fix hint type -->\n <div\n *ngIf=\"value.length > 1 || dots\"\n class=\"t-column\"\n [class.t-column_hint_hovered]=\"drivers.get(index) | async\"\n [class.t-column_hovered]=\"hovered === index\"\n [style.left.%]=\"getLeft(getX(index))\"\n [style.width.%]=\"getWidth(index)\"\n [tuiHint]=\"$any(hintDirective?.hint || hintContent)\"\n [tuiHintContext]=\"{$implicit: getImplicit(point), index: index}\"\n [tuiHintDescribe]=\"isFocusable ? getHintId(index) : null\"\n [tuiHintHost]=\"hintHost\"\n (mouseenter)=\"onMouseEnter(index)\"\n >\n <div\n class=\"t-line t-line_vertical\"\n [style.left.%]=\"getOffset(index)\"\n ></div>\n <div\n #hintHost\n class=\"t-host\"\n [id]=\"getHintId(index)\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [style.left.%]=\"getOffset(index)\"\n [tuiFocusable]=\"isFocusable\"\n ></div>\n </div>\n <div\n *ngIf=\"isFocusable\"\n class=\"t-line t-line_horizontal\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"getHovered(hovered) as point\">\n <div\n *ngIf=\"xStringify\"\n class=\"t-hint t-hint_x\"\n [style.left.%]=\"getLeft(point[0])\"\n >\n {{ xStringify(point[0]) }}\n </div>\n <div\n *ngIf=\"yStringify\"\n class=\"t-hint t-hint_y\"\n [style.bottom.%]=\"getBottom(point[1])\"\n >\n {{ yStringify(point[1]) }}\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;width:100%;height:100%;pointer-events:none}.t-svg{transform:scaleY(-1)}.t-column{position:absolute;top:0;height:100%;pointer-events:auto}.t-dot{position:absolute;width:.375rem;height:.375rem;border-radius:100%;background:currentColor;margin:-.1875rem;box-shadow:0 0 0 2px #fff}.t-host{position:absolute;left:50%;width:.5rem;height:.5rem;border-radius:100%;opacity:0;background:#fff;margin:-.25rem;box-shadow:0 0 0 2px currentColor,0 .0625rem .1875rem .125rem #0000001a;outline:none;pointer-events:none}.t-host:focus,.t-column_hovered .t-host,.t-column:hover .t-host,.t-column_hint_hovered .t-host{opacity:1}.t-line{position:absolute;opacity:0;background:var(--tui-base-03)}.t-line_vertical{top:0;bottom:0;left:50%;width:1px}.t-line_horizontal{z-index:-1;width:100%;height:1px}:host[style^=\"z-index: 0\"] .t-column_hovered .t-line,:host:not([style]) .t-column:hover .t-line,:host:not([style]) .t-column_hint_hovered .t-line,:host[style^=\"z-index: 0\"] .t-column_hovered+.t-line,:host:not([style]) .t-column:hover+.t-line,:host:not([style]) .t-column_hint_hovered+.t-line{opacity:1}.t-hint{position:absolute;box-shadow:var(--tui-shadow);font:var(--tui-font-text-xs);height:1.25rem;line-height:1.25rem;margin-bottom:-.625rem;padding:0 .375rem;white-space:nowrap;color:var(--tui-base-09);background:var(--tui-base-01);transform:translate(-50%)}.t-hint_x{bottom:0}.t-hint_y{left:0}\n"], directives: [{ type: i1__namespace.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3__namespace.TuiHintDriverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)" }, { type: i3__namespace.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { type: i3__namespace.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition]):not(ng-container):not(ng-template)", inputs: ["tuiHintDirection"] }, { type: i3__namespace.TuiHintHostDirective, selector: "[tuiHint][tuiHintHost]", inputs: ["tuiHintHost"] }, { type: i3__namespace.TuiHintDescribeDirective, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { type: i1__namespace.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], pipes: { "async": i2__namespace$1.AsyncPipe }, viewProviders: [i3.tuiHintOptionsProvider({ direction: 'top', hideDelay: 0 })], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
613
- __decorate([
614
- i1.tuiPure
615
- ], TuiLineChartComponent.prototype, "hovered$", null);
616
- __decorate([
617
- i1.tuiPure
618
- ], TuiLineChartComponent.prototype, "getD", null);
619
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartComponent, decorators: [{
620
- type: i0.Component,
621
- args: [{
622
- selector: 'tui-line-chart',
623
- templateUrl: './line-chart.template.html',
624
- styleUrls: ['./line-chart.style.less'],
625
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
626
- viewProviders: [i3.tuiHintOptionsProvider({ direction: 'top', hideDelay: 0 })],
627
- }]
628
- }], ctorParameters: function () {
629
- return [{ type: i1__namespace.TuiIdService, decorators: [{
630
- type: i0.Inject,
631
- args: [i1.TuiIdService]
632
- }] }, { type: i0__namespace.NgZone, decorators: [{
633
- type: i0.Inject,
634
- args: [i0.NgZone]
635
- }] }, { type: TuiLineChartHintDirective, decorators: [{
636
- type: i0.Optional
637
- }, {
638
- type: i0.Inject,
639
- args: [TuiLineChartHintDirective]
640
- }] }, { type: i3__namespace.TuiHintOptionsDirective, decorators: [{
641
- type: i0.Optional
642
- }, {
643
- type: i0.Inject,
644
- args: [i3.TuiHintOptionsDirective]
645
- }] }, { type: undefined, decorators: [{
646
- type: i0.Inject,
647
- args: [TUI_LINE_CHART_OPTIONS]
648
- }] }];
649
- }, propDecorators: { drivers: [{
650
- type: i0.ViewChildren,
651
- args: [i3.TuiHintHoverDirective]
652
- }], valueSetter: [{
653
- type: i0.Input,
654
- args: ['value']
655
- }], x: [{
656
- type: i0.Input
657
- }], y: [{
658
- type: i0.Input
659
- }], width: [{
660
- type: i0.Input
661
- }], height: [{
662
- type: i0.Input
663
- }], smoothingFactor: [{
664
- type: i0.Input
665
- }], xStringify: [{
666
- type: i0.Input
667
- }], yStringify: [{
668
- type: i0.Input
669
- }], filled: [{
670
- type: i0.Input
671
- }], dots: [{
672
- type: i0.Input
673
- }], hovered$: [], onMouseLeave: [{
674
- type: i0.HostListener,
675
- args: ['mouseleave']
676
- }], getD: [] } });
593
+ var TuiLineChartComponent = /** @class */ (function () {
594
+ function TuiLineChartComponent(idService, zone, hintDirective, hintOptions, options) {
595
+ this.zone = zone;
596
+ this.hintDirective = hintDirective;
597
+ this.hintOptions = hintOptions;
598
+ this.options = options;
599
+ this.hover$ = new i2.Subject();
600
+ this.drivers = i1.EMPTY_QUERY;
601
+ this.x = 0;
602
+ this.y = 0;
603
+ this.width = 0;
604
+ this.height = 0;
605
+ this.smoothingFactor = this.options.smoothingFactor;
606
+ this.xStringify = null;
607
+ this.yStringify = null;
608
+ this.filled = this.options.filled;
609
+ this.dots = this.options.dots;
610
+ this.value = [];
611
+ this.autoIdString = idService.generate();
612
+ }
613
+ Object.defineProperty(TuiLineChartComponent.prototype, "valueSetter", {
614
+ set: function (value) {
615
+ this.value = value.filter(function (item) { return !item.some(Number.isNaN); });
616
+ },
617
+ enumerable: false,
618
+ configurable: true
619
+ });
620
+ Object.defineProperty(TuiLineChartComponent.prototype, "hovered$", {
621
+ get: function () {
622
+ return this.hover$.pipe(operators.distinctUntilChanged(), i1.tuiZoneOptimized(this.zone));
623
+ },
624
+ enumerable: false,
625
+ configurable: true
626
+ });
627
+ Object.defineProperty(TuiLineChartComponent.prototype, "hintContent", {
628
+ get: function () {
629
+ var _a;
630
+ return ((_a = this.hintOptions) === null || _a === void 0 ? void 0 : _a.content) || '';
631
+ },
632
+ enumerable: false,
633
+ configurable: true
634
+ });
635
+ Object.defineProperty(TuiLineChartComponent.prototype, "fillId", {
636
+ get: function () {
637
+ return "tui-line-chart-" + this.autoIdString;
638
+ },
639
+ enumerable: false,
640
+ configurable: true
641
+ });
642
+ Object.defineProperty(TuiLineChartComponent.prototype, "fill", {
643
+ get: function () {
644
+ return this.filled ? "url(#" + this.fillId + ")" : 'none';
645
+ },
646
+ enumerable: false,
647
+ configurable: true
648
+ });
649
+ Object.defineProperty(TuiLineChartComponent.prototype, "viewBox", {
650
+ get: function () {
651
+ return this.x + " " + this.y + " " + this.width + " " + this.height;
652
+ },
653
+ enumerable: false,
654
+ configurable: true
655
+ });
656
+ Object.defineProperty(TuiLineChartComponent.prototype, "d", {
657
+ get: function () {
658
+ return this.getD(this.value, this.smoothingFactor);
659
+ },
660
+ enumerable: false,
661
+ configurable: true
662
+ });
663
+ Object.defineProperty(TuiLineChartComponent.prototype, "fillD", {
664
+ get: function () {
665
+ return this.value.length
666
+ ? this.d + "V " + this.y + " H " + this.value[0][0] + " V " + this.value[0][1]
667
+ : this.d;
668
+ },
669
+ enumerable: false,
670
+ configurable: true
671
+ });
672
+ Object.defineProperty(TuiLineChartComponent.prototype, "isFocusable", {
673
+ get: function () {
674
+ return !this.hintDirective && this.hasHints;
675
+ },
676
+ enumerable: false,
677
+ configurable: true
678
+ });
679
+ Object.defineProperty(TuiLineChartComponent.prototype, "hasHints", {
680
+ get: function () {
681
+ var _a;
682
+ return (!!this.xStringify ||
683
+ !!this.yStringify ||
684
+ !!((_a = this.hintDirective) === null || _a === void 0 ? void 0 : _a.hint) ||
685
+ !!this.hintContent);
686
+ },
687
+ enumerable: false,
688
+ configurable: true
689
+ });
690
+ TuiLineChartComponent.prototype.onMouseLeave = function () {
691
+ if (!this.hintDirective) {
692
+ this.onHovered(NaN);
693
+ }
694
+ };
695
+ TuiLineChartComponent.prototype.getX = function (index) {
696
+ if (this.isSinglePoint) {
697
+ return this.value[0][0] / 2;
698
+ }
699
+ return index
700
+ ? (this.value[index - 1][0] + this.value[index][0]) / 2
701
+ : 2 * this.value[0][0] - this.getX(1);
702
+ };
703
+ TuiLineChartComponent.prototype.getWidth = function (index) {
704
+ return (100 * this.computeWidth(index)) / this.width;
705
+ };
706
+ TuiLineChartComponent.prototype.getHintId = function (index) {
707
+ return this.autoIdString + "_" + index;
708
+ };
709
+ TuiLineChartComponent.prototype.getImplicit = function ($implicit) {
710
+ var _a;
711
+ return (((_a = this.hintDirective) === null || _a === void 0 ? void 0 : _a.getContext(this.value.indexOf($implicit), this)) ||
712
+ $implicit);
713
+ };
714
+ TuiLineChartComponent.prototype.getHovered = function (hovered) {
715
+ // This checks for NaN and null too since async pipe returns null before first item
716
+ return i1.tuiIsPresent(hovered) && Number.isInteger(hovered)
717
+ ? this.value[hovered]
718
+ : null;
719
+ };
720
+ TuiLineChartComponent.prototype.getBottom = function (y) {
721
+ return (100 * (y - this.y)) / this.height;
722
+ };
723
+ TuiLineChartComponent.prototype.getLeft = function (x) {
724
+ return (100 * (x - this.x)) / this.width;
725
+ };
726
+ TuiLineChartComponent.prototype.getOffset = function (x) {
727
+ return (100 * (this.value[x][0] - this.getX(x))) / this.computeWidth(x);
728
+ };
729
+ TuiLineChartComponent.prototype.onMouseEnter = function (index) {
730
+ if (this.hintDirective) {
731
+ this.hintDirective.raise(index, this);
732
+ }
733
+ else {
734
+ this.onHovered(index);
735
+ }
736
+ };
737
+ TuiLineChartComponent.prototype.onHovered = function (index) {
738
+ this.hover$.next(index);
739
+ };
740
+ Object.defineProperty(TuiLineChartComponent.prototype, "isSinglePoint", {
741
+ get: function () {
742
+ return this.value.length === 1;
743
+ },
744
+ enumerable: false,
745
+ configurable: true
746
+ });
747
+ TuiLineChartComponent.prototype.getD = function (value, smoothingFactor) {
748
+ return value.reduce(function (d, point, index) { return index ? d + " " + utils.tuiDraw(value, index, smoothingFactor) : "M " + point; }, '');
749
+ };
750
+ TuiLineChartComponent.prototype.computeWidth = function (index) {
751
+ return index === this.value.length - 1
752
+ ? 2 * (this.value[index][0] - this.getX(index))
753
+ : this.getX(index + 1) - this.getX(index);
754
+ };
755
+ return TuiLineChartComponent;
756
+ }());
757
+ TuiLineChartComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartComponent, deps: [{ token: i1.TuiIdService }, { token: i0.NgZone }, { token: TuiLineChartHintDirective, optional: true }, { token: i3.TuiHintOptionsDirective, optional: true }, { token: TUI_LINE_CHART_OPTIONS }], target: i0__namespace.ɵɵFactoryTarget.Component });
758
+ TuiLineChartComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiLineChartComponent, selector: "tui-line-chart", inputs: { valueSetter: ["value", "valueSetter"], x: "x", y: "y", width: "width", height: "height", smoothingFactor: "smoothingFactor", xStringify: "xStringify", yStringify: "yStringify", filled: "filled", dots: "dots" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, viewQueries: [{ propertyName: "drivers", predicate: i3.TuiHintHoverDirective, descendants: true }], ngImport: i0__namespace, template: "<ng-container *tuiLet=\"hovered$ | async as hovered\">\n <svg\n focusable=\"false\"\n height=\"100%\"\n preserveAspectRatio=\"none\"\n width=\"100%\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-svg\"\n [attr.viewBox]=\"viewBox\"\n >\n <defs>\n <linearGradient\n x1=\"0\"\n x2=\"0\"\n y1=\"1\"\n y2=\"0\"\n [attr.id]=\"fillId\"\n >\n <stop\n offset=\"0%\"\n stop-color=\"currentColor\"\n stop-opacity=\"0.5\"\n />\n <stop\n offset=\"100%\"\n stop-color=\"currentColor\"\n stop-opacity=\"0\"\n />\n </linearGradient>\n </defs>\n <path\n stroke=\"none\"\n [attr.d]=\"fillD\"\n [attr.fill]=\"fill\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n vector-effect=\"non-scaling-stroke\"\n [attr.d]=\"d\"\n />\n </svg>\n <ng-container *ngIf=\"dots\">\n <div\n *ngFor=\"let point of value\"\n class=\"t-dot\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [style.left.%]=\"getLeft(point[0])\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"hasHints\">\n <ng-container *ngFor=\"let point of value; let index = index\">\n <!-- TODO: Fix hint type -->\n <div\n *ngIf=\"value.length > 1 || dots\"\n class=\"t-column\"\n [class.t-column_hint_hovered]=\"drivers.get(index) | async\"\n [class.t-column_hovered]=\"hovered === index\"\n [style.left.%]=\"getLeft(getX(index))\"\n [style.width.%]=\"getWidth(index)\"\n [tuiHint]=\"$any(hintDirective?.hint || hintContent)\"\n [tuiHintContext]=\"{$implicit: getImplicit(point), index: index}\"\n [tuiHintDescribe]=\"isFocusable ? getHintId(index) : null\"\n [tuiHintHost]=\"hintHost\"\n (mouseenter)=\"onMouseEnter(index)\"\n >\n <div\n class=\"t-line t-line_vertical\"\n [style.left.%]=\"getOffset(index)\"\n ></div>\n <div\n #hintHost\n class=\"t-host\"\n [id]=\"getHintId(index)\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [style.left.%]=\"getOffset(index)\"\n [tuiFocusable]=\"isFocusable\"\n ></div>\n </div>\n <div\n *ngIf=\"isFocusable\"\n class=\"t-line t-line_horizontal\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"getHovered(hovered) as point\">\n <div\n *ngIf=\"xStringify\"\n class=\"t-hint t-hint_x\"\n [style.left.%]=\"getLeft(point[0])\"\n >\n {{ xStringify(point[0]) }}\n </div>\n <div\n *ngIf=\"yStringify\"\n class=\"t-hint t-hint_y\"\n [style.bottom.%]=\"getBottom(point[1])\"\n >\n {{ yStringify(point[1]) }}\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;width:100%;height:100%;pointer-events:none}.t-svg{transform:scaleY(-1)}.t-column{position:absolute;top:0;height:100%;pointer-events:auto}.t-dot{position:absolute;width:.375rem;height:.375rem;border-radius:100%;background:currentColor;margin:-.1875rem;box-shadow:0 0 0 2px #fff}.t-host{position:absolute;left:50%;width:.5rem;height:.5rem;border-radius:100%;opacity:0;background:#fff;margin:-.25rem;box-shadow:0 0 0 2px currentColor,0 .0625rem .1875rem .125rem #0000001a;outline:none;pointer-events:none}.t-host:focus,.t-column_hovered .t-host,.t-column:hover .t-host,.t-column_hint_hovered .t-host{opacity:1}.t-line{position:absolute;opacity:0;background:var(--tui-base-03)}.t-line_vertical{top:0;bottom:0;left:50%;width:1px}.t-line_horizontal{z-index:-1;width:100%;height:1px}:host[style^=\"z-index: 0\"] .t-column_hovered .t-line,:host:not([style]) .t-column:hover .t-line,:host:not([style]) .t-column_hint_hovered .t-line,:host[style^=\"z-index: 0\"] .t-column_hovered+.t-line,:host:not([style]) .t-column:hover+.t-line,:host:not([style]) .t-column_hint_hovered+.t-line{opacity:1}.t-hint{position:absolute;box-shadow:var(--tui-shadow);font:var(--tui-font-text-xs);height:1.25rem;line-height:1.25rem;margin-bottom:-.625rem;padding:0 .375rem;white-space:nowrap;color:var(--tui-base-09);background:var(--tui-base-01);transform:translate(-50%)}.t-hint_x{bottom:0}.t-hint_y{left:0}\n"], directives: [{ type: i1__namespace.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3__namespace.TuiHintDriverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)" }, { type: i3__namespace.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { type: i3__namespace.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition]):not(ng-container):not(ng-template)", inputs: ["tuiHintDirection"] }, { type: i3__namespace.TuiHintHostDirective, selector: "[tuiHint][tuiHintHost]", inputs: ["tuiHintHost"] }, { type: i3__namespace.TuiHintDescribeDirective, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { type: i1__namespace.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], pipes: { "async": i2__namespace$1.AsyncPipe }, viewProviders: [i3.tuiHintOptionsProvider({ direction: 'top', hideDelay: 0 })], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
759
+ __decorate([
760
+ i1.tuiPure
761
+ ], TuiLineChartComponent.prototype, "hovered$", null);
762
+ __decorate([
763
+ i1.tuiPure
764
+ ], TuiLineChartComponent.prototype, "getD", null);
765
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartComponent, decorators: [{
766
+ type: i0.Component,
767
+ args: [{
768
+ selector: 'tui-line-chart',
769
+ templateUrl: './line-chart.template.html',
770
+ styleUrls: ['./line-chart.style.less'],
771
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
772
+ viewProviders: [i3.tuiHintOptionsProvider({ direction: 'top', hideDelay: 0 })],
773
+ }]
774
+ }], ctorParameters: function () {
775
+ return [{ type: i1__namespace.TuiIdService, decorators: [{
776
+ type: i0.Inject,
777
+ args: [i1.TuiIdService]
778
+ }] }, { type: i0__namespace.NgZone, decorators: [{
779
+ type: i0.Inject,
780
+ args: [i0.NgZone]
781
+ }] }, { type: TuiLineChartHintDirective, decorators: [{
782
+ type: i0.Optional
783
+ }, {
784
+ type: i0.Inject,
785
+ args: [TuiLineChartHintDirective]
786
+ }] }, { type: i3__namespace.TuiHintOptionsDirective, decorators: [{
787
+ type: i0.Optional
788
+ }, {
789
+ type: i0.Inject,
790
+ args: [i3.TuiHintOptionsDirective]
791
+ }] }, { type: undefined, decorators: [{
792
+ type: i0.Inject,
793
+ args: [TUI_LINE_CHART_OPTIONS]
794
+ }] }];
795
+ }, propDecorators: { drivers: [{
796
+ type: i0.ViewChildren,
797
+ args: [i3.TuiHintHoverDirective]
798
+ }], valueSetter: [{
799
+ type: i0.Input,
800
+ args: ['value']
801
+ }], x: [{
802
+ type: i0.Input
803
+ }], y: [{
804
+ type: i0.Input
805
+ }], width: [{
806
+ type: i0.Input
807
+ }], height: [{
808
+ type: i0.Input
809
+ }], smoothingFactor: [{
810
+ type: i0.Input
811
+ }], xStringify: [{
812
+ type: i0.Input
813
+ }], yStringify: [{
814
+ type: i0.Input
815
+ }], filled: [{
816
+ type: i0.Input
817
+ }], dots: [{
818
+ type: i0.Input
819
+ }], hovered$: [], onMouseLeave: [{
820
+ type: i0.HostListener,
821
+ args: ['mouseleave']
822
+ }], getD: [] } });
677
823
 
678
- var TuiLineChartModule = /** @class */ (function () {
679
- function TuiLineChartModule() {
680
- }
681
- return TuiLineChartModule;
682
- }());
683
- TuiLineChartModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
684
- TuiLineChartModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartModule, declarations: [TuiLineChartComponent, TuiLineChartHintDirective], imports: [i2$1.CommonModule,
685
- ngPolymorpheus.PolymorpheusModule,
686
- i3.TuiHintModule,
687
- i1.TuiFocusableModule,
688
- i1.TuiLetModule], exports: [TuiLineChartComponent, TuiLineChartHintDirective] });
689
- TuiLineChartModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartModule, imports: [[
690
- i2$1.CommonModule,
691
- ngPolymorpheus.PolymorpheusModule,
692
- i3.TuiHintModule,
693
- i1.TuiFocusableModule,
694
- i1.TuiLetModule,
695
- ]] });
696
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartModule, decorators: [{
697
- type: i0.NgModule,
698
- args: [{
699
- imports: [
700
- i2$1.CommonModule,
701
- ngPolymorpheus.PolymorpheusModule,
702
- i3.TuiHintModule,
703
- i1.TuiFocusableModule,
704
- i1.TuiLetModule,
705
- ],
706
- declarations: [TuiLineChartComponent, TuiLineChartHintDirective],
707
- exports: [TuiLineChartComponent, TuiLineChartHintDirective],
708
- }]
709
- }] });
824
+ var TuiLineChartModule = /** @class */ (function () {
825
+ function TuiLineChartModule() {
826
+ }
827
+ return TuiLineChartModule;
828
+ }());
829
+ TuiLineChartModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
830
+ TuiLineChartModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartModule, declarations: [TuiLineChartComponent, TuiLineChartHintDirective], imports: [i2$1.CommonModule,
831
+ ngPolymorpheus.PolymorpheusModule,
832
+ i3.TuiHintModule,
833
+ i1.TuiFocusableModule,
834
+ i1.TuiLetModule], exports: [TuiLineChartComponent, TuiLineChartHintDirective] });
835
+ TuiLineChartModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartModule, imports: [[
836
+ i2$1.CommonModule,
837
+ ngPolymorpheus.PolymorpheusModule,
838
+ i3.TuiHintModule,
839
+ i1.TuiFocusableModule,
840
+ i1.TuiLetModule,
841
+ ]] });
842
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiLineChartModule, decorators: [{
843
+ type: i0.NgModule,
844
+ args: [{
845
+ imports: [
846
+ i2$1.CommonModule,
847
+ ngPolymorpheus.PolymorpheusModule,
848
+ i3.TuiHintModule,
849
+ i1.TuiFocusableModule,
850
+ i1.TuiLetModule,
851
+ ],
852
+ declarations: [TuiLineChartComponent, TuiLineChartHintDirective],
853
+ exports: [TuiLineChartComponent, TuiLineChartHintDirective],
854
+ }]
855
+ }] });
710
856
 
711
- /**
712
- * Generated bundle index. Do not edit.
713
- */
857
+ /**
858
+ * Generated bundle index. Do not edit.
859
+ */
714
860
 
715
- exports.TUI_LINE_CHART_DEFAULT_OPTIONS = TUI_LINE_CHART_DEFAULT_OPTIONS;
716
- exports.TUI_LINE_CHART_OPTIONS = TUI_LINE_CHART_OPTIONS;
717
- exports.TuiLineChartComponent = TuiLineChartComponent;
718
- exports.TuiLineChartHintDirective = TuiLineChartHintDirective;
719
- exports.TuiLineChartModule = TuiLineChartModule;
720
- exports.tuiLineChartDrivers = tuiLineChartDrivers;
721
- exports.tuiLineChartOptionsProvider = tuiLineChartOptionsProvider;
861
+ exports.TUI_LINE_CHART_DEFAULT_OPTIONS = TUI_LINE_CHART_DEFAULT_OPTIONS;
862
+ exports.TUI_LINE_CHART_OPTIONS = TUI_LINE_CHART_OPTIONS;
863
+ exports.TuiLineChartComponent = TuiLineChartComponent;
864
+ exports.TuiLineChartHintDirective = TuiLineChartHintDirective;
865
+ exports.TuiLineChartModule = TuiLineChartModule;
866
+ exports.tuiLineChartDrivers = tuiLineChartDrivers;
867
+ exports.tuiLineChartOptionsProvider = tuiLineChartOptionsProvider;
722
868
 
723
- Object.defineProperty(exports, '__esModule', { value: true });
869
+ Object.defineProperty(exports, '__esModule', { value: true });
724
870
 
725
871
  }));
726
872
  //# sourceMappingURL=taiga-ui-addon-charts-components-line-chart.umd.js.map