@taiga-ui/addon-charts 2.44.0 → 2.45.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.
Files changed (21) hide show
  1. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.js +41 -6
  2. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.min.js +2 -2
  4. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-addon-charts-components-line-chart.umd.js +1 -1
  6. package/bundles/taiga-ui-addon-charts-components-line-chart.umd.min.js +1 -1
  7. package/bundles/taiga-ui-addon-charts-components-line-chart.umd.min.js.map +1 -1
  8. package/components/arc-chart/arc-chart.component.d.ts +7 -1
  9. package/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.metadata.json +1 -1
  10. package/components/line-chart/taiga-ui-addon-charts-components-line-chart.metadata.json +1 -1
  11. package/esm2015/components/arc-chart/arc-chart.component.js +33 -5
  12. package/esm2015/components/line-chart/line-chart.component.js +1 -1
  13. package/esm5/components/arc-chart/arc-chart.component.js +43 -6
  14. package/esm5/components/line-chart/line-chart.component.js +1 -1
  15. package/fesm2015/taiga-ui-addon-charts-components-arc-chart.js +32 -4
  16. package/fesm2015/taiga-ui-addon-charts-components-arc-chart.js.map +1 -1
  17. package/fesm2015/taiga-ui-addon-charts-components-line-chart.js +1 -1
  18. package/fesm5/taiga-ui-addon-charts-components-arc-chart.js +42 -5
  19. package/fesm5/taiga-ui-addon-charts-components-arc-chart.js.map +1 -1
  20. package/fesm5/taiga-ui-addon-charts-components-line-chart.js +1 -1
  21. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-charts/components/line-chart/line-chart-hint.directive.ts","ng://@taiga-ui/addon-charts/components/line-chart/line-chart.component.ts","ng://@taiga-ui/addon-charts/components/line-chart/line-chart.module.ts"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","TuiLineChartHintDirective","renderer","destroy$","_a","ngZone","animationFrame$","_this","this","nativeElement","charts","EMPTY_QUERY","chartsRef","hint","pipe","throttleTime","map","querySelector","HINT_HOVERED_CLASS","startWith","distinctUntilChanged","filter","v","tuiZonefree","takeUntil","subscribe","forEach","chart","onHovered","NaN","prototype","getContext","index","_chart","computeContext","raise","current","sorted","concat","__spread","sort","a","b","setStyle","indexOf","$implicit","Renderer2","type","Inject","args","TuiDestroyService","ElementRef","NgZone","Observable","ANIMATION_FRAME","ContentChildren","forwardRef","TuiLineChartComponent","read","Input","tuiDefaultProp","tuiPure","Directive","selector","providers","smoothingAssertion","smoothingFactor","inRange","idService","locationRef","hintDirective","_hovered$","Subject","x","y","width","height","hintContent","xStringify","yStringify","filled","dots","autoIdString","generate","item","some","isNaN","tuiZoneOptimized","prepareExternalUrl","path","fillId","getD","hasHints","onMouseLeave","getX","isSinglePoint","getWidth","computeWidth","getHintId","getContentContext","getHovered","hovered","Number","isInteger","getBottom","getLeft","getOffset","onMouseEnter","reduce","point","draw","TuiIdService","Location","Optional","HostListener","Component","template","changeDetection","ChangeDetectionStrategy","OnPush","TuiLineChartModule","NgModule","imports","CommonModule","PolymorpheusModule","TuiHintModule","TuiFocusableModule","TuiDescribedByModule","TuiLetModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {\n EMPTY_QUERY,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDestroyService,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {HINT_HOVERED_CLASS, TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiLineChartComponent} from './line-chart.component';\n\n@Directive({\n selector: '[tuiLineChartHint]',\n providers: [TuiDestroyService],\n})\nexport class TuiLineChartHintDirective {\n @ContentChildren(forwardRef(() => TuiLineChartComponent))\n private readonly charts: QueryList<TuiLineChartComponent> = EMPTY_QUERY;\n\n @ContentChildren(forwardRef(() => TuiLineChartComponent), {read: ElementRef})\n private readonly chartsRef: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input('tuiLineChartHint')\n @tuiDefaultProp()\n hint: PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>> = '';\n\n constructor(\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n animationFrame$\n .pipe(\n throttleTime(200),\n map(() => !!nativeElement.querySelector(`.${HINT_HOVERED_CLASS}`)),\n startWith(false),\n distinctUntilChanged(),\n filter(v => !v),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n this.charts.forEach(chart => chart.onHovered(NaN));\n });\n }\n\n // _chart is required by TuiLineDaysChartComponent that impersonates this directive\n getContext(\n index: number,\n _chart: TuiLineChartComponent,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return this.computeContext(index, this.charts);\n }\n\n // _chart is required by TuiLineDaysChartComponent that impersonates this directive\n raise(index: number, _chart: TuiLineChartComponent): void {\n const current = this.charts.map(chart => chart.value[index]);\n const sorted = [...current].sort((a, b) => a[1] - b[1]);\n\n this.charts.forEach(chart => chart.onHovered(index));\n this.chartsRef.forEach(({nativeElement}, index) =>\n this.renderer.setStyle(\n nativeElement,\n 'z-index',\n sorted.indexOf(current[index]),\n ),\n );\n }\n\n @tuiPure\n private computeContext(\n index: number,\n charts: QueryList<TuiLineChartComponent>,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return {\n $implicit: charts.map(chart => chart.value[index]),\n index,\n };\n }\n}\n","import {Location} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Inject,\n Input,\n NgZone,\n Optional,\n} from '@angular/core';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {draw} from '@taiga-ui/addon-charts/utils';\nimport {\n inRange,\n tuiDefaultProp,\n TuiIdService,\n tuiPure,\n TuiStringHandler,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\nimport {TuiLineChartHintDirective} from './line-chart-hint.directive';\n\nexport function smoothingAssertion(smoothingFactor: number): boolean {\n return inRange(smoothingFactor, 0, 100);\n}\n\nconst SMOOTHING_MESSAGE = 'smoothingFactor must be between 0 and 100';\n\n@Component({\n selector: 'tui-line-chart',\n templateUrl: './line-chart.template.html',\n styleUrls: ['./line-chart.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLineChartComponent {\n private readonly _hovered$ = new Subject<number>();\n\n private readonly autoIdString: string;\n\n @Input('value')\n @tuiDefaultProp()\n set valueSetter(value: readonly TuiPoint[]) {\n this.value = value.filter(item => !item.some(isNaN));\n }\n\n @Input()\n @tuiDefaultProp()\n x = 0;\n\n @Input()\n @tuiDefaultProp()\n y = 0;\n\n @Input()\n @tuiDefaultProp()\n width = 0;\n\n @Input()\n @tuiDefaultProp()\n height = 0;\n\n @Input()\n @tuiDefaultProp(smoothingAssertion, SMOOTHING_MESSAGE)\n smoothingFactor = 0;\n\n @Input()\n @tuiDefaultProp()\n hintContent: PolymorpheusContent<TuiLineChartHintContext<TuiPoint>> = '';\n\n @Input()\n @tuiDefaultProp()\n xStringify: TuiStringHandler<number> | null = null;\n\n @Input()\n @tuiDefaultProp()\n yStringify: TuiStringHandler<number> | null = null;\n\n @Input()\n @tuiDefaultProp()\n filled = false;\n\n @Input()\n @tuiDefaultProp()\n dots = false;\n\n value: readonly TuiPoint[] = [];\n\n constructor(\n @Inject(TuiIdService) idService: TuiIdService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(Location) private readonly locationRef: Location,\n @Optional()\n @Inject(TuiLineChartHintDirective)\n readonly hintDirective: TuiLineChartHintDirective | null,\n ) {\n this.autoIdString = idService.generate();\n }\n\n @tuiPure\n get hovered$(): Observable<number> {\n return this._hovered$.pipe(distinctUntilChanged(), tuiZoneOptimized(this.ngZone));\n }\n\n get fillId(): string {\n return `tui-line-chart-${this.autoIdString}`;\n }\n\n get fill(): string {\n return this.filled\n ? `url(${this.locationRef.prepareExternalUrl(this.locationRef.path())}#${\n this.fillId\n })`\n : 'none';\n }\n\n get viewBox(): string {\n return `${this.x} ${this.y} ${this.width} ${this.height}`;\n }\n\n get d(): string {\n return this.getD(this.value, this.smoothingFactor);\n }\n\n get fillD(): string {\n return this.value.length\n ? `${this.d}V ${this.y} H ${this.value[0][0]} V ${this.value[0][1]}`\n : this.d;\n }\n\n get isFocusable(): boolean {\n return !this.hintDirective && this.hasHints;\n }\n\n get hasHints(): boolean {\n return (\n !!this.xStringify ||\n !!this.yStringify ||\n !!this.hintDirective?.hint ||\n !!this.hintContent\n );\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n if (!this.hintDirective) {\n this.onHovered(NaN);\n }\n }\n\n getX(index: number): number {\n if (this.isSinglePoint) {\n return this.value[0][0] / 2;\n }\n\n return index\n ? (this.value[index - 1][0] + this.value[index][0]) / 2\n : 2 * this.value[0][0] - this.getX(1);\n }\n\n getWidth(index: number): number {\n return (100 * this.computeWidth(index)) / this.width;\n }\n\n getHintId(index: number): string {\n return `${this.autoIdString}_${index}`;\n }\n\n getContentContext(\n $implicit: TuiPoint,\n index: number,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return (\n this.hintDirective?.getContext(this.value.indexOf($implicit), this) || {\n $implicit: [],\n index,\n }\n );\n }\n\n getHovered(hovered: number): TuiPoint | null {\n // This checks for NaN and null too since async pipe returns null before first item\n return Number.isInteger(hovered) ? this.value[hovered] : null;\n }\n\n getBottom(y: number): number {\n return (100 * (y - this.y)) / this.height;\n }\n\n getLeft(x: number): number {\n return (100 * (x - this.x)) / this.width;\n }\n\n getOffset(x: number): number {\n return (100 * (this.value[x][0] - this.getX(x))) / this.computeWidth(x);\n }\n\n onMouseEnter(index: number): void {\n if (this.hintDirective) {\n this.hintDirective.raise(index, this);\n } else {\n this.onHovered(index);\n }\n }\n\n onHovered(index: number): void {\n this._hovered$.next(index);\n }\n\n private get isSinglePoint(): boolean {\n return this.value.length === 1;\n }\n\n @tuiPure\n private getD(value: readonly TuiPoint[], smoothingFactor: number): string {\n return value.reduce(\n (d, point, index) =>\n index ? `${d} ${draw(value, index, smoothingFactor)}` : `M ${point}`,\n '',\n );\n }\n\n private computeWidth(index: number): number {\n return index === this.value.length - 1\n ? 2 * (this.value[index][0] - this.getX(index))\n : this.getX(index + 1) - this.getX(index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiDescribedByModule, TuiHintModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineChartComponent} from './line-chart.component';\nimport {TuiLineChartHintDirective} from './line-chart-hint.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiHintModule,\n TuiFocusableModule,\n TuiDescribedByModule,\n TuiLetModule,\n ],\n declarations: [TuiLineChartComponent, TuiLineChartHintDirective],\n exports: [TuiLineChartComponent, TuiLineChartHintDirective],\n})\nexport class TuiLineChartModule {}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-charts/components/line-chart/line-chart-hint.directive.ts","ng://@taiga-ui/addon-charts/components/line-chart/line-chart.component.ts","ng://@taiga-ui/addon-charts/components/line-chart/line-chart.module.ts"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","TuiLineChartHintDirective","renderer","destroy$","_a","ngZone","animationFrame$","_this","this","nativeElement","charts","EMPTY_QUERY","chartsRef","hint","pipe","throttleTime","map","querySelector","HINT_HOVERED_CLASS","startWith","distinctUntilChanged","filter","v","tuiZonefree","takeUntil","subscribe","forEach","chart","onHovered","NaN","prototype","getContext","index","_chart","computeContext","raise","current","sorted","concat","__spread","sort","a","b","setStyle","indexOf","$implicit","Renderer2","type","Inject","args","TuiDestroyService","ElementRef","NgZone","Observable","ANIMATION_FRAME","ContentChildren","forwardRef","TuiLineChartComponent","read","Input","tuiDefaultProp","tuiPure","Directive","selector","providers","smoothingAssertion","smoothingFactor","inRange","idService","locationRef","hintDirective","_hovered$","Subject","x","y","width","height","hintContent","xStringify","yStringify","filled","dots","autoIdString","generate","item","some","isNaN","tuiZoneOptimized","prepareExternalUrl","path","fillId","getD","hasHints","onMouseLeave","getX","isSinglePoint","getWidth","computeWidth","getHintId","getContentContext","getHovered","hovered","Number","isInteger","getBottom","getLeft","getOffset","onMouseEnter","reduce","point","draw","TuiIdService","Location","Optional","HostListener","Component","template","changeDetection","ChangeDetectionStrategy","OnPush","TuiLineChartModule","NgModule","imports","CommonModule","PolymorpheusModule","TuiHintModule","TuiFocusableModule","TuiDescribedByModule","TuiLetModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {\n EMPTY_QUERY,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDestroyService,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {HINT_HOVERED_CLASS, TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiLineChartComponent} from './line-chart.component';\n\n@Directive({\n selector: '[tuiLineChartHint]',\n providers: [TuiDestroyService],\n})\nexport class TuiLineChartHintDirective {\n @ContentChildren(forwardRef(() => TuiLineChartComponent))\n private readonly charts: QueryList<TuiLineChartComponent> = EMPTY_QUERY;\n\n @ContentChildren(forwardRef(() => TuiLineChartComponent), {read: ElementRef})\n private readonly chartsRef: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input('tuiLineChartHint')\n @tuiDefaultProp()\n hint: PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>> = '';\n\n constructor(\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n animationFrame$\n .pipe(\n throttleTime(200),\n map(() => !!nativeElement.querySelector(`.${HINT_HOVERED_CLASS}`)),\n startWith(false),\n distinctUntilChanged(),\n filter(v => !v),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n this.charts.forEach(chart => chart.onHovered(NaN));\n });\n }\n\n // _chart is required by TuiLineDaysChartComponent that impersonates this directive\n getContext(\n index: number,\n _chart: TuiLineChartComponent,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return this.computeContext(index, this.charts);\n }\n\n // _chart is required by TuiLineDaysChartComponent that impersonates this directive\n raise(index: number, _chart: TuiLineChartComponent): void {\n const current = this.charts.map(chart => chart.value[index]);\n const sorted = [...current].sort((a, b) => a[1] - b[1]);\n\n this.charts.forEach(chart => chart.onHovered(index));\n this.chartsRef.forEach(({nativeElement}, index) =>\n this.renderer.setStyle(\n nativeElement,\n 'z-index',\n sorted.indexOf(current[index]),\n ),\n );\n }\n\n @tuiPure\n private computeContext(\n index: number,\n charts: QueryList<TuiLineChartComponent>,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return {\n $implicit: charts.map(chart => chart.value[index]),\n index,\n };\n }\n}\n","import {Location} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Inject,\n Input,\n NgZone,\n Optional,\n} from '@angular/core';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {draw} from '@taiga-ui/addon-charts/utils';\nimport {\n inRange,\n tuiDefaultProp,\n TuiIdService,\n tuiPure,\n TuiStringHandler,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\nimport {TuiLineChartHintDirective} from './line-chart-hint.directive';\n\nexport function smoothingAssertion(smoothingFactor: number): boolean {\n return inRange(smoothingFactor, 0, 100);\n}\n\nconst SMOOTHING_MESSAGE = 'smoothingFactor must be between 0 and 100';\n\n@Component({\n selector: 'tui-line-chart',\n templateUrl: './line-chart.template.html',\n styleUrls: ['./line-chart.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLineChartComponent {\n private readonly _hovered$ = new Subject<number>();\n\n private readonly autoIdString: string;\n\n @Input('value')\n @tuiDefaultProp()\n set valueSetter(value: readonly TuiPoint[]) {\n this.value = value.filter(item => !item.some(isNaN));\n }\n\n @Input()\n @tuiDefaultProp()\n x = 0;\n\n @Input()\n @tuiDefaultProp()\n y = 0;\n\n @Input()\n @tuiDefaultProp()\n width = 0;\n\n @Input()\n @tuiDefaultProp()\n height = 0;\n\n @Input()\n @tuiDefaultProp(smoothingAssertion, SMOOTHING_MESSAGE)\n smoothingFactor = 0;\n\n @Input()\n @tuiDefaultProp()\n hintContent: PolymorpheusContent<TuiLineChartHintContext<TuiPoint>> = '';\n\n @Input()\n @tuiDefaultProp()\n xStringify: TuiStringHandler<number> | null = null;\n\n @Input()\n @tuiDefaultProp()\n yStringify: TuiStringHandler<number> | null = null;\n\n @Input()\n @tuiDefaultProp()\n filled = false;\n\n @Input()\n @tuiDefaultProp()\n dots = false;\n\n value: readonly TuiPoint[] = [];\n\n constructor(\n @Inject(TuiIdService) idService: TuiIdService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(Location) private readonly locationRef: Location,\n @Optional()\n @Inject(TuiLineChartHintDirective)\n readonly hintDirective: TuiLineChartHintDirective | null,\n ) {\n this.autoIdString = idService.generate();\n }\n\n @tuiPure\n get hovered$(): Observable<number> {\n return this._hovered$.pipe(distinctUntilChanged(), tuiZoneOptimized(this.ngZone));\n }\n\n get fillId(): string {\n return `tui-line-chart-${this.autoIdString}`;\n }\n\n get fill(): string {\n return this.filled\n ? `url(${this.locationRef.prepareExternalUrl(this.locationRef.path())}#${\n this.fillId\n })`\n : 'none';\n }\n\n get viewBox(): string {\n return `${this.x} ${this.y} ${this.width} ${this.height}`;\n }\n\n get d(): string {\n return this.getD(this.value, this.smoothingFactor);\n }\n\n get fillD(): string {\n return this.value.length\n ? `${this.d}V ${this.y} H ${this.value[0][0]} V ${this.value[0][1]}`\n : this.d;\n }\n\n get isFocusable(): boolean {\n return !this.hintDirective && this.hasHints;\n }\n\n get hasHints(): boolean {\n return (\n !!this.xStringify ||\n !!this.yStringify ||\n !!this.hintDirective?.hint ||\n !!this.hintContent\n );\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n if (!this.hintDirective) {\n this.onHovered(NaN);\n }\n }\n\n getX(index: number): number {\n if (this.isSinglePoint) {\n return this.value[0][0] / 2;\n }\n\n return index\n ? (this.value[index - 1][0] + this.value[index][0]) / 2\n : 2 * this.value[0][0] - this.getX(1);\n }\n\n getWidth(index: number): number {\n return (100 * this.computeWidth(index)) / this.width;\n }\n\n getHintId(index: number): string {\n return `${this.autoIdString}_${index}`;\n }\n\n getContentContext(\n $implicit: TuiPoint,\n index: number,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return (\n this.hintDirective?.getContext(this.value.indexOf($implicit), this) || {\n $implicit: [],\n index,\n }\n );\n }\n\n getHovered(hovered: number): TuiPoint | null {\n // This checks for NaN and null too since async pipe returns null before first item\n return Number.isInteger(hovered) ? this.value[hovered] : null;\n }\n\n getBottom(y: number): number {\n return (100 * (y - this.y)) / this.height;\n }\n\n getLeft(x: number): number {\n return (100 * (x - this.x)) / this.width;\n }\n\n getOffset(x: number): number {\n return (100 * (this.value[x][0] - this.getX(x))) / this.computeWidth(x);\n }\n\n onMouseEnter(index: number): void {\n if (this.hintDirective) {\n this.hintDirective.raise(index, this);\n } else {\n this.onHovered(index);\n }\n }\n\n onHovered(index: number): void {\n this._hovered$.next(index);\n }\n\n private get isSinglePoint(): boolean {\n return this.value.length === 1;\n }\n\n @tuiPure\n private getD(value: readonly TuiPoint[], smoothingFactor: number): string {\n return value.reduce(\n (d, point, index) =>\n index ? `${d} ${draw(value, index, smoothingFactor)}` : `M ${point}`,\n '',\n );\n }\n\n private computeWidth(index: number): number {\n return index === this.value.length - 1\n ? 2 * (this.value[index][0] - this.getX(index))\n : this.getX(index + 1) - this.getX(index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiDescribedByModule, TuiHintModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineChartComponent} from './line-chart.component';\nimport {TuiLineChartHintDirective} from './line-chart-hint.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiHintModule,\n TuiFocusableModule,\n TuiDescribedByModule,\n TuiLetModule,\n ],\n declarations: [TuiLineChartComponent, TuiLineChartHintDirective],\n exports: [TuiLineChartComponent, TuiLineChartHintDirective],\n})\nexport class TuiLineChartModule {}\n"]}
@@ -1,17 +1,23 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, QueryList } from '@angular/core';
2
2
  import { DomSanitizer, SafeValue } from '@angular/platform-browser';
3
3
  import { TuiSizeXL } from '@taiga-ui/core';
4
+ import { Observable } from 'rxjs';
4
5
  export declare class TuiArcChartComponent {
5
6
  private readonly sanitizer;
7
+ private readonly arcs$;
8
+ set arcs(arcs: QueryList<ElementRef<SVGElement>>);
6
9
  value: readonly number[];
7
10
  size: TuiSizeXL;
8
11
  max: number;
9
12
  minLabel: string;
10
13
  maxLabel: string;
14
+ activeItemIndex: number;
15
+ readonly activeItemIndexChange: Observable<number>;
11
16
  initialized: boolean;
12
17
  constructor(sanitizer: DomSanitizer, changeDetectorRef: ChangeDetectorRef);
13
18
  get width(): number;
14
19
  get strokeWidth(): number;
20
+ isInactive(index: number): boolean;
15
21
  getInset(index: number): number;
16
22
  getDiameter(index: number): number;
17
23
  getLength(index: number): number;
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiArcChartComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":33,"character":1},"arguments":[{"selector":"tui-arc-chart","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":37,"character":21},"member":"OnPush"},"template":"<svg\n *tuiRepeatTimes=\"let index of value.length\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"-100 -100 200 200\"\n focusable=\"false\"\n class=\"t-svg\"\n [style.top.em]=\"getInset(index)\"\n [style.left.em]=\"getInset(index)\"\n [style.width.em]=\"getDiameter(index)\"\n [style.height.em]=\"getDiameter(index)\"\n>\n <path\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n />\n <path\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n class=\"t-value\"\n [style.stroke]=\"getColor(index)\"\n [style.strokeDasharray.em]=\"getLength(index)\"\n [style.strokeDashoffset.em]=\"initialized ? getOffset(index) : getLength(index)\"\n />\n</svg>\n<div class=\"t-content\">\n <div class=\"t-wrapper\"><ng-content></ng-content></div>\n</div>\n<div class=\"t-percent\">\n <span>{{minLabel}}</span>\n <span>{{maxLabel}}</span>\n</div>\n","styles":[":host{position:relative;display:block;flex-shrink:0}.t-svg{position:absolute;top:0;left:0;bottom:0;right:0;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;color:var(--tui-secondary);font-size:1rem}.t-value{transition-property:stroke-dashoffset;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--tui-text-02);font:var(--tui-font-text-xs)}:host[data-size=xl] .t-content{font:var(--tui-font-text-m)}.t-wrapper{flex:1}.t-wrapper:first-line{color:var(--tui-text-01)}:host[data-size='m'] .t-wrapper:first-line{font:var(--tui-font-text-s);font-weight:700}:host[data-size='l'] .t-wrapper:first-line{font:var(--tui-font-text-m);font-weight:700}:host[data-size=xl] .t-wrapper:first-line{font:var(--tui-font-heading-5)}.t-percent{position:absolute;left:25%;bottom:11%;display:flex;width:50%;justify-content:space-between;font:var(--tui-font-text-xs);color:var(--tui-text-02)}:host[data-size=xl] .t-percent{font:var(--tui-font-text-m)}"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":41,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":45,"character":5},"arguments":["attr.data-size"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":46,"character":5}}]}],"max":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":50,"character":5}}]}],"minLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":54,"character":5}}]}],"maxLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":58,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":64,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":64,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":65,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":65,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":64,"character":58},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":65,"character":54}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":74,"character":5},"arguments":["style.width.rem"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":75,"character":5},"arguments":["style.height.rem"]}]}],"strokeWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":80,"character":5},"arguments":["style.strokeWidth.rem"]}]}],"getInset":[{"__symbolic":"method"}],"getDiameter":[{"__symbolic":"method"}],"getLength":[{"__symbolic":"method"}],"getOffset":[{"__symbolic":"method"}],"getColor":[{"__symbolic":"method"}]}},"TuiArcChartModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiRepeatTimesModule","line":6,"character":14}],"declarations":[{"__symbolic":"reference","name":"TuiArcChartComponent"}],"exports":[{"__symbolic":"reference","name":"TuiArcChartComponent"}]}]}],"members":{}}},"origins":{"TuiArcChartComponent":"./arc-chart.component","TuiArcChartModule":"./arc-chart.module"},"importAs":"@taiga-ui/addon-charts/components/arc-chart"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiArcChartComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":39,"character":1},"arguments":[{"selector":"tui-arc-chart","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":43,"character":21},"member":"OnPush"},"template":"<svg\n *tuiRepeatTimes=\"let index of value.length\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"-100 -100 200 200\"\n focusable=\"false\"\n class=\"t-svg\"\n [style.top.em]=\"getInset(index)\"\n [style.left.em]=\"getInset(index)\"\n [style.width.em]=\"getDiameter(index)\"\n [style.height.em]=\"getDiameter(index)\"\n>\n <path\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n />\n <path\n #arc\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n class=\"t-value\"\n [class.t-value_inactive]=\"isInactive(index)\"\n [style.stroke]=\"getColor(index)\"\n [style.strokeDasharray.em]=\"getLength(index)\"\n [style.strokeDashoffset.em]=\"initialized ? getOffset(index) : getLength(index)\"\n />\n</svg>\n<div class=\"t-content\">\n <div class=\"t-wrapper\"><ng-content></ng-content></div>\n</div>\n<div class=\"t-percent\">\n <span>{{minLabel}}</span>\n <span>{{maxLabel}}</span>\n</div>\n","styles":[":host{position:relative;display:block;flex-shrink:0}.t-svg{position:absolute;top:0;left:0;bottom:0;right:0;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;color:var(--tui-secondary);font-size:1rem;pointer-events:none}.t-value{pointer-events:auto;transition:stroke-dashoffset var(--tui-duration) ease-in-out,opacity var(--tui-duration) ease-in-out .1s}.t-value_inactive{transition-property:stroke-dashoffset,opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;opacity:.16}.t-content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--tui-text-02);font:var(--tui-font-text-xs);pointer-events:none}:host[data-size=xl] .t-content{font:var(--tui-font-text-m)}.t-wrapper{pointer-events:auto}.t-wrapper:first-line{color:var(--tui-text-01)}:host[data-size='m'] .t-wrapper:first-line{font:var(--tui-font-text-s);font-weight:700}:host[data-size='l'] .t-wrapper:first-line{font:var(--tui-font-text-m);font-weight:700}:host[data-size=xl] .t-wrapper:first-line{font:var(--tui-font-heading-5)}.t-percent{position:absolute;left:25%;bottom:11%;display:flex;width:50%;justify-content:space-between;font:var(--tui-font-text-xs);color:var(--tui-text-02)}:host[data-size=xl] .t-percent{font:var(--tui-font-text-m)}"]}]}],"members":{"arcs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":48,"character":5},"arguments":["arc"]}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":54,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":58,"character":5},"arguments":["attr.data-size"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":59,"character":5}}]}],"max":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":63,"character":5}}]}],"minLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":67,"character":5}}]}],"maxLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":71,"character":5}}]}],"activeItemIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":75,"character":5}}]}],"activeItemIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":78,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":94,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":94,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":95,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":95,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":94,"character":58},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":95,"character":54}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":104,"character":5},"arguments":["style.width.rem"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":105,"character":5},"arguments":["style.height.rem"]}]}],"strokeWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":110,"character":5},"arguments":["style.strokeWidth.rem"]}]}],"isInactive":[{"__symbolic":"method"}],"getInset":[{"__symbolic":"method"}],"getDiameter":[{"__symbolic":"method"}],"getLength":[{"__symbolic":"method"}],"getOffset":[{"__symbolic":"method"}],"getColor":[{"__symbolic":"method"}]}},"TuiArcChartModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiRepeatTimesModule","line":6,"character":14}],"declarations":[{"__symbolic":"reference","name":"TuiArcChartComponent"}],"exports":[{"__symbolic":"reference","name":"TuiArcChartComponent"}]}]}],"members":{}}},"origins":{"TuiArcChartComponent":"./arc-chart.component","TuiArcChartModule":"./arc-chart.module"},"importAs":"@taiga-ui/addon-charts/components/arc-chart"}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"smoothingAssertion":{"__symbolic":"function","parameters":["smoothingFactor"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"inRange","line":28,"character":11},"arguments":[{"__symbolic":"reference","name":"smoothingFactor"},0,100]}},"TuiLineChartComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":33,"character":1},"arguments":[{"selector":"tui-line-chart","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":37,"character":21},"member":"OnPush"},"template":"<ng-container *tuiLet=\"hovered$ | async as hovered\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"none\"\n width=\"100%\"\n height=\"100%\"\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 stop-color=\"currentColor\"\n offset=\"0%\"\n stop-opacity=\"0.5\"\n />\n <stop\n stop-color=\"currentColor\"\n offset=\"100%\"\n stop-opacity=\"0\"\n />\n </linearGradient>\n </defs>\n <path\n stroke=\"none\"\n [attr.fill]=\"fill\"\n [attr.d]=\"fillD\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n vector-effect=\"non-scaling-stroke\"\n stroke-width=\"2\"\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.left.%]=\"getLeft(point[0])\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"hasHints\">\n <ng-container *ngFor=\"let point of value; let index = index\">\n <div\n *ngIf=\"value.length > 1 || dots\"\n tuiHintDirection=\"top-left\"\n class=\"t-column\"\n [class.t-column_hovered]=\"hovered === index\"\n [tuiHintHost]=\"hintHost\"\n [tuiHint]=\"hintDirective || hintContent ? hint : ''\"\n [tuiHintId]=\"getHintId(index)\"\n [style.left.%]=\"getLeft(getX(index))\"\n [style.width.%]=\"getWidth(index)\"\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 [style.left.%]=\"getOffset(index)\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [tuiFocusable]=\"isFocusable\"\n [tuiDescribedBy]=\"getHintId(index)\"\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-template #hint>\n <div\n *ngIf=\"hintDirective else single\"\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintDirective.hint\"\n [context]=\"getContentContext(point, index)\"\n ></div>\n <ng-template #single>\n <div\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintContent\"\n [context]=\"{ $implicit: point, index: index }\"\n ></div>\n </ng-template>\n </ng-template>\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:scale(1,-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 rgba(0,0,0,.1);outline:0;pointer-events:none}.column._hint_hovered .t-host,.column:hover .t-host,.column_hovered .t-host,.t-host:focus{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:not([style]) .column._hint_hovered .t-line,:host:not([style]) .column._hint_hovered+.t-line,:host:not([style]) .column:hover .t-line,:host:not([style]) .column:hover+.t-line,:host[style^='z-index: 0'] .column_hovered .t-line,:host[style^='z-index: 0'] .column_hovered+.t-line{opacity:1}.t-text{white-space:pre-wrap}.t-hint{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:absolute;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:translate3d(-50%,0,0)}.t-hint_x{bottom:0}.t-hint_y{left:0}"]}]}],"members":{"valueSetter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5},"arguments":["value"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":45,"character":5}}]}],"x":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":51,"character":5}}]}],"y":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":55,"character":5}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":59,"character":5}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":63,"character":5}}]}],"smoothingFactor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":67,"character":5},"arguments":[{"__symbolic":"reference","name":"smoothingAssertion"},"smoothingFactor must be between 0 and 100"]}]}],"hintContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":71,"character":5}}]}],"xStringify":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":75,"character":5}}]}],"yStringify":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":79,"character":5}}]}],"filled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":82,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":83,"character":5}}]}],"dots":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":87,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":93,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiIdService","line":93,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":94,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":94,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":95,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"Location","line":95,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":96,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":97,"character":9},"arguments":[{"__symbolic":"reference","name":"TuiLineChartHintDirective"}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiIdService","line":93,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":94,"character":49},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":95,"character":56},{"__symbolic":"reference","name":"TuiLineChartHintDirective"}]}],"hovered$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":103,"character":5}]}],"onMouseLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":147,"character":5},"arguments":["mouseleave"]}]}],"getX":[{"__symbolic":"method"}],"getWidth":[{"__symbolic":"method"}],"getHintId":[{"__symbolic":"method"}],"getContentContext":[{"__symbolic":"method"}],"getHovered":[{"__symbolic":"method"}],"getBottom":[{"__symbolic":"method"}],"getLeft":[{"__symbolic":"method"}],"getOffset":[{"__symbolic":"method"}],"onMouseEnter":[{"__symbolic":"method"}],"onHovered":[{"__symbolic":"method"}],"getD":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":217,"character":5}]}],"computeWidth":[{"__symbolic":"method"}]}},"TuiLineChartModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":8},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":12,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHintModule","line":13,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusableModule","line":14,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDescribedByModule","line":15,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiLetModule","line":16,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiLineChartComponent"},{"__symbolic":"reference","name":"TuiLineChartHintDirective"}],"exports":[{"__symbolic":"reference","name":"TuiLineChartComponent"},{"__symbolic":"reference","name":"TuiLineChartHintDirective"}]}]}],"members":{}},"TuiLineChartHintDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":35,"character":1},"arguments":[{"selector":"[tuiLineChartHint]","providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":37,"character":16}]}]}],"members":{"charts":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":40,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiLineChartComponent"}]}]}],"chartsRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":43,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiLineChartComponent"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":43,"character":69}}]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5},"arguments":["tuiLineChartHint"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":47,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":51,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":51,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":52,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":52,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":53,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":53,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":54,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"ANIMATION_FRAME","line":55,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":51,"character":54},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":52,"character":45},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":53,"character":56,"context":{"typeName":"HTMLElement"},"module":"./line-chart-hint.directive"}]},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":54,"character":32},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"number"}]}]}],"getContext":[{"__symbolic":"method"}],"raise":[{"__symbolic":"method"}],"computeContext":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":95,"character":5}]}]}}},"origins":{"smoothingAssertion":"./line-chart.component","TuiLineChartComponent":"./line-chart.component","TuiLineChartModule":"./line-chart.module","TuiLineChartHintDirective":"./line-chart-hint.directive"},"importAs":"@taiga-ui/addon-charts/components/line-chart"}
1
+ {"__symbolic":"module","version":4,"metadata":{"smoothingAssertion":{"__symbolic":"function","parameters":["smoothingFactor"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"inRange","line":28,"character":11},"arguments":[{"__symbolic":"reference","name":"smoothingFactor"},0,100]}},"TuiLineChartComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":33,"character":1},"arguments":[{"selector":"tui-line-chart","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":37,"character":21},"member":"OnPush"},"template":"<ng-container *tuiLet=\"hovered$ | async as hovered\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"none\"\n width=\"100%\"\n height=\"100%\"\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 stop-color=\"currentColor\"\n offset=\"0%\"\n stop-opacity=\"0.5\"\n />\n <stop\n stop-color=\"currentColor\"\n offset=\"100%\"\n stop-opacity=\"0\"\n />\n </linearGradient>\n </defs>\n <path\n stroke=\"none\"\n [attr.fill]=\"fill\"\n [attr.d]=\"fillD\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n vector-effect=\"non-scaling-stroke\"\n stroke-width=\"2\"\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.left.%]=\"getLeft(point[0])\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"hasHints\">\n <ng-container *ngFor=\"let point of value; let index = index\">\n <div\n *ngIf=\"value.length > 1 || dots\"\n tuiHintDirection=\"top-left\"\n class=\"t-column\"\n [class.t-column_hovered]=\"hovered === index\"\n [tuiHintHost]=\"hintHost\"\n [tuiHint]=\"hintDirective || hintContent ? hint : ''\"\n [tuiHintId]=\"getHintId(index)\"\n [style.left.%]=\"getLeft(getX(index))\"\n [style.width.%]=\"getWidth(index)\"\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 [style.left.%]=\"getOffset(index)\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [tuiFocusable]=\"isFocusable\"\n [tuiDescribedBy]=\"getHintId(index)\"\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-template #hint>\n <div\n *ngIf=\"hintDirective else single\"\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintDirective.hint\"\n [context]=\"getContentContext(point, index)\"\n ></div>\n <ng-template #single>\n <div\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintContent\"\n [context]=\"{ $implicit: point, index: index }\"\n ></div>\n </ng-template>\n </ng-template>\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:scale(1,-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 rgba(0,0,0,.1);outline:0;pointer-events:none}.t-column._hint_hovered .t-host,.t-column:hover .t-host,.t-column_hovered .t-host,.t-host:focus{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:not([style]) .t-column._hint_hovered .t-line,:host:not([style]) .t-column._hint_hovered+.t-line,:host:not([style]) .t-column:hover .t-line,:host:not([style]) .t-column:hover+.t-line,:host[style^='z-index: 0'] .t-column_hovered .t-line,:host[style^='z-index: 0'] .t-column_hovered+.t-line{opacity:1}.t-text{white-space:pre-wrap}.t-hint{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:absolute;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:translate3d(-50%,0,0)}.t-hint_x{bottom:0}.t-hint_y{left:0}"]}]}],"members":{"valueSetter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5},"arguments":["value"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":45,"character":5}}]}],"x":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":51,"character":5}}]}],"y":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":55,"character":5}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":59,"character":5}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":63,"character":5}}]}],"smoothingFactor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":67,"character":5},"arguments":[{"__symbolic":"reference","name":"smoothingAssertion"},"smoothingFactor must be between 0 and 100"]}]}],"hintContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":71,"character":5}}]}],"xStringify":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":75,"character":5}}]}],"yStringify":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":79,"character":5}}]}],"filled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":82,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":83,"character":5}}]}],"dots":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":87,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":93,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiIdService","line":93,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":94,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":94,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":95,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"Location","line":95,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":96,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":97,"character":9},"arguments":[{"__symbolic":"reference","name":"TuiLineChartHintDirective"}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiIdService","line":93,"character":41},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":94,"character":49},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":95,"character":56},{"__symbolic":"reference","name":"TuiLineChartHintDirective"}]}],"hovered$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":103,"character":5}]}],"onMouseLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":147,"character":5},"arguments":["mouseleave"]}]}],"getX":[{"__symbolic":"method"}],"getWidth":[{"__symbolic":"method"}],"getHintId":[{"__symbolic":"method"}],"getContentContext":[{"__symbolic":"method"}],"getHovered":[{"__symbolic":"method"}],"getBottom":[{"__symbolic":"method"}],"getLeft":[{"__symbolic":"method"}],"getOffset":[{"__symbolic":"method"}],"onMouseEnter":[{"__symbolic":"method"}],"onHovered":[{"__symbolic":"method"}],"getD":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":217,"character":5}]}],"computeWidth":[{"__symbolic":"method"}]}},"TuiLineChartModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":8},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":12,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHintModule","line":13,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusableModule","line":14,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDescribedByModule","line":15,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiLetModule","line":16,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiLineChartComponent"},{"__symbolic":"reference","name":"TuiLineChartHintDirective"}],"exports":[{"__symbolic":"reference","name":"TuiLineChartComponent"},{"__symbolic":"reference","name":"TuiLineChartHintDirective"}]}]}],"members":{}},"TuiLineChartHintDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":35,"character":1},"arguments":[{"selector":"[tuiLineChartHint]","providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":37,"character":16}]}]}],"members":{"charts":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":40,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiLineChartComponent"}]}]}],"chartsRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":43,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiLineChartComponent"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":43,"character":69}}]}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5},"arguments":["tuiLineChartHint"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":47,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":51,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":51,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":52,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":52,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":53,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":53,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":54,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"ANIMATION_FRAME","line":55,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":51,"character":54},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":52,"character":45},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":53,"character":56,"context":{"typeName":"HTMLElement"},"module":"./line-chart-hint.directive"}]},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":54,"character":32},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"number"}]}]}],"getContext":[{"__symbolic":"method"}],"raise":[{"__symbolic":"method"}],"computeContext":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":95,"character":5}]}]}}},"origins":{"smoothingAssertion":"./line-chart.component","TuiLineChartComponent":"./line-chart.component","TuiLineChartModule":"./line-chart.module","TuiLineChartHintDirective":"./line-chart-hint.directive"},"importAs":"@taiga-ui/addon-charts/components/line-chart"}
@@ -1,7 +1,9 @@
1
1
  import { __decorate, __param } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Inject, Input, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Inject, Input, Output, QueryList, ViewChildren, } from '@angular/core';
3
3
  import { DomSanitizer, SafeValue } from '@angular/platform-browser';
4
- import { tuiDefaultProp } from '@taiga-ui/cdk';
4
+ import { tuiDefaultProp, typedFromEvent } from '@taiga-ui/cdk';
5
+ import { merge, ReplaySubject } from 'rxjs';
6
+ import { mapTo, startWith, switchMap, tap } from 'rxjs/operators';
5
7
  // 3/4 with 1% safety offset
6
8
  const ARC = 0.76;
7
9
  const SIZE = {
@@ -22,11 +24,16 @@ const GAP = {
22
24
  let TuiArcChartComponent = class TuiArcChartComponent {
23
25
  constructor(sanitizer, changeDetectorRef) {
24
26
  this.sanitizer = sanitizer;
27
+ this.arcs$ = new ReplaySubject(1);
25
28
  this.value = [];
26
29
  this.size = 'm';
27
30
  this.max = 100;
28
31
  this.minLabel = '0%';
29
32
  this.maxLabel = '100%';
33
+ this.activeItemIndex = NaN;
34
+ this.activeItemIndexChange = this.arcs$.pipe(switchMap(arcs => arcs.changes.pipe(startWith(null), switchMap(() => merge(...arcsToIndex(arcs))))), tap(index => {
35
+ this.activeItemIndex = index;
36
+ }));
30
37
  this.initialized = false;
31
38
  // So initial animation works
32
39
  setTimeout(() => {
@@ -34,12 +41,18 @@ let TuiArcChartComponent = class TuiArcChartComponent {
34
41
  changeDetectorRef.markForCheck();
35
42
  });
36
43
  }
44
+ set arcs(arcs) {
45
+ this.arcs$.next(arcs);
46
+ }
37
47
  get width() {
38
48
  return SIZE[this.size];
39
49
  }
40
50
  get strokeWidth() {
41
51
  return WIDTH[this.size];
42
52
  }
53
+ isInactive(index) {
54
+ return !isNaN(this.activeItemIndex) && index !== this.activeItemIndex;
55
+ }
43
56
  getInset(index) {
44
57
  return this.strokeWidth / 2 + index * (this.strokeWidth + GAP[this.size]);
45
58
  }
@@ -60,6 +73,9 @@ TuiArcChartComponent.ctorParameters = () => [
60
73
  { type: DomSanitizer, decorators: [{ type: Inject, args: [DomSanitizer,] }] },
61
74
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] }
62
75
  ];
76
+ __decorate([
77
+ ViewChildren('arc')
78
+ ], TuiArcChartComponent.prototype, "arcs", null);
63
79
  __decorate([
64
80
  Input(),
65
81
  tuiDefaultProp()
@@ -81,6 +97,13 @@ __decorate([
81
97
  Input(),
82
98
  tuiDefaultProp()
83
99
  ], TuiArcChartComponent.prototype, "maxLabel", void 0);
100
+ __decorate([
101
+ Input(),
102
+ tuiDefaultProp()
103
+ ], TuiArcChartComponent.prototype, "activeItemIndex", void 0);
104
+ __decorate([
105
+ Output()
106
+ ], TuiArcChartComponent.prototype, "activeItemIndexChange", void 0);
84
107
  __decorate([
85
108
  HostBinding('style.width.rem'),
86
109
  HostBinding('style.height.rem')
@@ -91,12 +114,17 @@ __decorate([
91
114
  TuiArcChartComponent = __decorate([
92
115
  Component({
93
116
  selector: 'tui-arc-chart',
94
- template: "<svg\n *tuiRepeatTimes=\"let index of value.length\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"-100 -100 200 200\"\n focusable=\"false\"\n class=\"t-svg\"\n [style.top.em]=\"getInset(index)\"\n [style.left.em]=\"getInset(index)\"\n [style.width.em]=\"getDiameter(index)\"\n [style.height.em]=\"getDiameter(index)\"\n>\n <path\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n />\n <path\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n class=\"t-value\"\n [style.stroke]=\"getColor(index)\"\n [style.strokeDasharray.em]=\"getLength(index)\"\n [style.strokeDashoffset.em]=\"initialized ? getOffset(index) : getLength(index)\"\n />\n</svg>\n<div class=\"t-content\">\n <div class=\"t-wrapper\"><ng-content></ng-content></div>\n</div>\n<div class=\"t-percent\">\n <span>{{minLabel}}</span>\n <span>{{maxLabel}}</span>\n</div>\n",
117
+ template: "<svg\n *tuiRepeatTimes=\"let index of value.length\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"-100 -100 200 200\"\n focusable=\"false\"\n class=\"t-svg\"\n [style.top.em]=\"getInset(index)\"\n [style.left.em]=\"getInset(index)\"\n [style.width.em]=\"getDiameter(index)\"\n [style.height.em]=\"getDiameter(index)\"\n>\n <path\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n />\n <path\n #arc\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n class=\"t-value\"\n [class.t-value_inactive]=\"isInactive(index)\"\n [style.stroke]=\"getColor(index)\"\n [style.strokeDasharray.em]=\"getLength(index)\"\n [style.strokeDashoffset.em]=\"initialized ? getOffset(index) : getLength(index)\"\n />\n</svg>\n<div class=\"t-content\">\n <div class=\"t-wrapper\"><ng-content></ng-content></div>\n</div>\n<div class=\"t-percent\">\n <span>{{minLabel}}</span>\n <span>{{maxLabel}}</span>\n</div>\n",
95
118
  changeDetection: ChangeDetectionStrategy.OnPush,
96
- styles: [":host{position:relative;display:block;flex-shrink:0}.t-svg{position:absolute;top:0;left:0;bottom:0;right:0;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;color:var(--tui-secondary);font-size:1rem}.t-value{transition-property:stroke-dashoffset;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--tui-text-02);font:var(--tui-font-text-xs)}:host[data-size=xl] .t-content{font:var(--tui-font-text-m)}.t-wrapper{flex:1}.t-wrapper:first-line{color:var(--tui-text-01)}:host[data-size='m'] .t-wrapper:first-line{font:var(--tui-font-text-s);font-weight:700}:host[data-size='l'] .t-wrapper:first-line{font:var(--tui-font-text-m);font-weight:700}:host[data-size=xl] .t-wrapper:first-line{font:var(--tui-font-heading-5)}.t-percent{position:absolute;left:25%;bottom:11%;display:flex;width:50%;justify-content:space-between;font:var(--tui-font-text-xs);color:var(--tui-text-02)}:host[data-size=xl] .t-percent{font:var(--tui-font-text-m)}"]
119
+ styles: [":host{position:relative;display:block;flex-shrink:0}.t-svg{position:absolute;top:0;left:0;bottom:0;right:0;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;color:var(--tui-secondary);font-size:1rem;pointer-events:none}.t-value{pointer-events:auto;transition:stroke-dashoffset var(--tui-duration) ease-in-out,opacity var(--tui-duration) ease-in-out .1s}.t-value_inactive{transition-property:stroke-dashoffset,opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;opacity:.16}.t-content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--tui-text-02);font:var(--tui-font-text-xs);pointer-events:none}:host[data-size=xl] .t-content{font:var(--tui-font-text-m)}.t-wrapper{pointer-events:auto}.t-wrapper:first-line{color:var(--tui-text-01)}:host[data-size='m'] .t-wrapper:first-line{font:var(--tui-font-text-s);font-weight:700}:host[data-size='l'] .t-wrapper:first-line{font:var(--tui-font-text-m);font-weight:700}:host[data-size=xl] .t-wrapper:first-line{font:var(--tui-font-heading-5)}.t-percent{position:absolute;left:25%;bottom:11%;display:flex;width:50%;justify-content:space-between;font:var(--tui-font-text-xs);color:var(--tui-text-02)}:host[data-size=xl] .t-percent{font:var(--tui-font-text-m)}"]
97
120
  }),
98
121
  __param(0, Inject(DomSanitizer)),
99
122
  __param(1, Inject(ChangeDetectorRef))
100
123
  ], TuiArcChartComponent);
101
124
  export { TuiArcChartComponent };
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9hcmMtY2hhcnQvIiwic291cmNlcyI6WyJhcmMtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLDRCQUE0QjtBQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUM7QUFFakIsTUFBTSxJQUFJLEdBQThCO0lBQ3BDLENBQUMsRUFBRSxDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUU7SUFDTCxFQUFFLEVBQUUsRUFBRTtDQUNULENBQUM7QUFFRixNQUFNLEtBQUssR0FBOEI7SUFDckMsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsS0FBSztJQUNSLEVBQUUsRUFBRSxNQUFNO0NBQ2IsQ0FBQztBQUVGLE1BQU0sR0FBRyxHQUE4QjtJQUNuQyxDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxNQUFNO0lBQ1QsRUFBRSxFQUFFLElBQUk7Q0FDWCxDQUFDO0FBUUYsSUFBYSxvQkFBb0IsR0FBakMsTUFBYSxvQkFBb0I7SUF3QjdCLFlBQzJDLFNBQXVCLEVBQ25DLGlCQUFvQztRQUR4QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBdEJsRSxVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUs5QixTQUFJLEdBQWMsR0FBRyxDQUFDO1FBSXRCLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFJVixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBSWhCLGFBQVEsR0FBRyxNQUFNLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNaEIsNkJBQTZCO1FBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFJRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUdELElBQUksV0FBVztRQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDbkQsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQzFDLG1CQUFtQixLQUFLLHdCQUF3QixLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQ2hFLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQTs7WUExQ3lELFlBQVksdUJBQTdELE1BQU0sU0FBQyxZQUFZO1lBQzBCLGlCQUFpQix1QkFBOUQsTUFBTSxTQUFDLGlCQUFpQjs7QUF2QjdCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO21EQUNhO0FBSzlCO0lBSEMsS0FBSyxFQUFFO0lBQ1AsV0FBVyxDQUFDLGdCQUFnQixDQUFDO0lBQzdCLGNBQWMsRUFBRTtrREFDSztBQUl0QjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtpREFDUDtBQUlWO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3NEQUNEO0FBSWhCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3NEQUNDO0FBaUJsQjtJQUZDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztJQUM5QixXQUFXLENBQUMsa0JBQWtCLENBQUM7aURBRy9CO0FBR0Q7SUFEQyxXQUFXLENBQUMsdUJBQXVCLENBQUM7dURBR3BDO0FBNUNRLG9CQUFvQjtJQU5oQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZUFBZTtRQUN6QixrL0JBQXdDO1FBRXhDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0lBMEJPLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3BCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7R0ExQnJCLG9CQUFvQixDQW1FaEM7U0FuRVksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlVmFsdWV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVYTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG4vLyAzLzQgd2l0aCAxJSBzYWZldHkgb2Zmc2V0XG5jb25zdCBBUkMgPSAwLjc2O1xuXG5jb25zdCBTSVpFOiBSZWNvcmQ8VHVpU2l6ZVhMLCBudW1iZXI+ID0ge1xuICAgIG06IDksXG4gICAgbDogMTEsXG4gICAgeGw6IDE2LFxufTtcblxuY29uc3QgV0lEVEg6IFJlY29yZDxUdWlTaXplWEwsIG51bWJlcj4gPSB7XG4gICAgbTogMC4yNSxcbiAgICBsOiAwLjM3NSxcbiAgICB4bDogMC41NjI1LFxufTtcblxuY29uc3QgR0FQOiBSZWNvcmQ8VHVpU2l6ZVhMLCBudW1iZXI+ID0ge1xuICAgIG06IDAuMTI1LFxuICAgIGw6IDAuMTg3NSxcbiAgICB4bDogMC4yNSxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWFyYy1jaGFydCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FyYy1jaGFydC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hcmMtY2hhcnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBcmNDaGFydENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiByZWFkb25seSBudW1iZXJbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVYTCA9ICdtJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSAxMDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluTGFiZWwgPSAnMCUnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heExhYmVsID0gJzEwMCUnO1xuXG4gICAgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERvbVNhbml0aXplcikgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgICAgICAvLyBTbyBpbml0aWFsIGFuaW1hdGlvbiB3b3Jrc1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgucmVtJylcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5yZW0nKVxuICAgIGdldCB3aWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gU0laRVt0aGlzLnNpemVdO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuc3Ryb2tlV2lkdGgucmVtJylcbiAgICBnZXQgc3Ryb2tlV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFdJRFRIW3RoaXMuc2l6ZV07XG4gICAgfVxuXG4gICAgZ2V0SW5zZXQoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0cm9rZVdpZHRoIC8gMiArIGluZGV4ICogKHRoaXMuc3Ryb2tlV2lkdGggKyBHQVBbdGhpcy5zaXplXSk7XG4gICAgfVxuXG4gICAgZ2V0RGlhbWV0ZXIoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBTSVpFW3RoaXMuc2l6ZV0gLSAyICogdGhpcy5nZXRJbnNldChpbmRleCk7XG4gICAgfVxuXG4gICAgZ2V0TGVuZ3RoKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5QSSAqIHRoaXMuZ2V0RGlhbWV0ZXIoaW5kZXgpICogQVJDO1xuICAgIH1cblxuICAgIGdldE9mZnNldChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGVuZ3RoKGluZGV4KSAqICgxIC0gTWF0aC5taW4odGhpcy52YWx1ZVtpbmRleF0gLyB0aGlzLm1heCwgMSkpO1xuICAgIH1cblxuICAgIGdldENvbG9yKGluZGV4OiBudW1iZXIpOiBTYWZlVmFsdWUge1xuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKFxuICAgICAgICAgICAgYHZhcigtLXR1aS1jaGFydC0ke2luZGV4fSwgdmFyKC0tdHVpLXN1cHBvcnQtMCR7aW5kZXggKyAxfSkpYCxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
125
+ function arcsToIndex(arcs) {
126
+ return arcs
127
+ .toArray()
128
+ .map(({ nativeElement }, index) => merge(typedFromEvent(nativeElement, 'mouseenter').pipe(mapTo(index)), typedFromEvent(nativeElement, 'mouseleave').pipe(mapTo(NaN))));
129
+ }
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9hcmMtY2hhcnQvIiwic291cmNlcyI6WyJhcmMtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFDLEtBQUssRUFBYyxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLDRCQUE0QjtBQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUM7QUFFakIsTUFBTSxJQUFJLEdBQThCO0lBQ3BDLENBQUMsRUFBRSxDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUU7SUFDTCxFQUFFLEVBQUUsRUFBRTtDQUNULENBQUM7QUFFRixNQUFNLEtBQUssR0FBOEI7SUFDckMsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsS0FBSztJQUNSLEVBQUUsRUFBRSxNQUFNO0NBQ2IsQ0FBQztBQUVGLE1BQU0sR0FBRyxHQUE4QjtJQUNuQyxDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxNQUFNO0lBQ1QsRUFBRSxFQUFFLElBQUk7Q0FDWCxDQUFDO0FBUUYsSUFBYSxvQkFBb0IsR0FBakMsTUFBYSxvQkFBb0I7SUFnRDdCLFlB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QUFDLEVBQzlELGNBQWMsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUMvRCxDQUNKLENBQUM7QUFDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wLCB0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVYTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcFRvLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIDMvNCB3aXRoIDElIHNhZmV0eSBvZmZzZXRcbmNvbnN0IEFSQyA9IDAuNzY7XG5cbmNvbnN0IFNJWkU6IFJlY29yZDxUdWlTaXplWEwsIG51bWJlcj4gPSB7XG4gICAgbTogOSxcbiAgICBsOiAxMSxcbiAgICB4bDogMTYsXG59O1xuXG5jb25zdCBXSURUSDogUmVjb3JkPFR1aVNpemVYTCwgbnVtYmVyPiA9IHtcbiAgICBtOiAwLjI1LFxuICAgIGw6IDAuMzc1LFxuICAgIHhsOiAwLjU2MjUsXG59O1xuXG5jb25zdCBHQVA6IFJlY29yZDxUdWlTaXplWEwsIG51bWJlcj4gPSB7XG4gICAgbTogMC4xMjUsXG4gICAgbDogMC4xODc1LFxuICAgIHhsOiAwLjI1LFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktYXJjLWNoYXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXJjLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FyYy1jaGFydC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFyY0NoYXJ0Q29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFyY3MkID0gbmV3IFJlcGxheVN1YmplY3Q8UXVlcnlMaXN0PEVsZW1lbnRSZWY8U1ZHRWxlbWVudD4+PigxKTtcblxuICAgIEBWaWV3Q2hpbGRyZW4oJ2FyYycpXG4gICAgc2V0IGFyY3MoYXJjczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8U1ZHRWxlbWVudD4+KSB7XG4gICAgICAgIHRoaXMuYXJjcyQubmV4dChhcmNzKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IHJlYWRvbmx5IG51bWJlcltdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVhMID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IDEwMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW5MYWJlbCA9ICcwJSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4TGFiZWwgPSAnMTAwJSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gTmFOO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYWN0aXZlSXRlbUluZGV4Q2hhbmdlID0gdGhpcy5hcmNzJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoYXJjcyA9PlxuICAgICAgICAgICAgYXJjcy5jaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBtZXJnZSguLi5hcmNzVG9JbmRleChhcmNzKSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKGluZGV4ID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gaW5kZXg7XG4gICAgICAgIH0pLFxuICAgICk7XG5cbiAgICBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRG9tU2FuaXRpemVyKSBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIC8vIFNvIGluaXRpYWwgYW5pbWF0aW9uIHdvcmtzXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC5yZW0nKVxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnJlbScpXG4gICAgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBTSVpFW3RoaXMuc2l6ZV07XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5zdHJva2VXaWR0aC5yZW0nKVxuICAgIGdldCBzdHJva2VXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gV0lEVEhbdGhpcy5zaXplXTtcbiAgICB9XG5cbiAgICBpc0luYWN0aXZlKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFpc05hTih0aGlzLmFjdGl2ZUl0ZW1JbmRleCkgJiYgaW5kZXggIT09IHRoaXMuYWN0aXZlSXRlbUluZGV4O1xuICAgIH1cblxuICAgIGdldEluc2V0KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zdHJva2VXaWR0aCAvIDIgKyBpbmRleCAqICh0aGlzLnN0cm9rZVdpZHRoICsgR0FQW3RoaXMuc2l6ZV0pO1xuICAgIH1cblxuICAgIGdldERpYW1ldGVyKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gU0laRVt0aGlzLnNpemVdIC0gMiAqIHRoaXMuZ2V0SW5zZXQoaW5kZXgpO1xuICAgIH1cblxuICAgIGdldExlbmd0aChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGguUEkgKiB0aGlzLmdldERpYW1ldGVyKGluZGV4KSAqIEFSQztcbiAgICB9XG5cbiAgICBnZXRPZmZzZXQoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExlbmd0aChpbmRleCkgKiAoMSAtIE1hdGgubWluKHRoaXMudmFsdWVbaW5kZXhdIC8gdGhpcy5tYXgsIDEpKTtcbiAgICB9XG5cbiAgICBnZXRDb2xvcihpbmRleDogbnVtYmVyKTogU2FmZVZhbHVlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShcbiAgICAgICAgICAgIGB2YXIoLS10dWktY2hhcnQtJHtpbmRleH0sIHZhcigtLXR1aS1zdXBwb3J0LTAke2luZGV4ICsgMX0pKWAsXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhcmNzVG9JbmRleChhcmNzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxTVkdFbGVtZW50Pj4pOiBBcnJheTxPYnNlcnZhYmxlPG51bWJlcj4+IHtcbiAgICByZXR1cm4gYXJjc1xuICAgICAgICAudG9BcnJheSgpXG4gICAgICAgIC5tYXAoKHtuYXRpdmVFbGVtZW50fSwgaW5kZXgpID0+XG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnbW91c2VlbnRlcicpLnBpcGUobWFwVG8oaW5kZXgpKSxcbiAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnbW91c2VsZWF2ZScpLnBpcGUobWFwVG8oTmFOKSksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xufVxuIl19
@@ -190,7 +190,7 @@ TuiLineChartComponent = __decorate([
190
190
  selector: 'tui-line-chart',
191
191
  template: "<ng-container *tuiLet=\"hovered$ | async as hovered\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"none\"\n width=\"100%\"\n height=\"100%\"\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 stop-color=\"currentColor\"\n offset=\"0%\"\n stop-opacity=\"0.5\"\n />\n <stop\n stop-color=\"currentColor\"\n offset=\"100%\"\n stop-opacity=\"0\"\n />\n </linearGradient>\n </defs>\n <path\n stroke=\"none\"\n [attr.fill]=\"fill\"\n [attr.d]=\"fillD\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n vector-effect=\"non-scaling-stroke\"\n stroke-width=\"2\"\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.left.%]=\"getLeft(point[0])\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"hasHints\">\n <ng-container *ngFor=\"let point of value; let index = index\">\n <div\n *ngIf=\"value.length > 1 || dots\"\n tuiHintDirection=\"top-left\"\n class=\"t-column\"\n [class.t-column_hovered]=\"hovered === index\"\n [tuiHintHost]=\"hintHost\"\n [tuiHint]=\"hintDirective || hintContent ? hint : ''\"\n [tuiHintId]=\"getHintId(index)\"\n [style.left.%]=\"getLeft(getX(index))\"\n [style.width.%]=\"getWidth(index)\"\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 [style.left.%]=\"getOffset(index)\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [tuiFocusable]=\"isFocusable\"\n [tuiDescribedBy]=\"getHintId(index)\"\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-template #hint>\n <div\n *ngIf=\"hintDirective else single\"\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintDirective.hint\"\n [context]=\"getContentContext(point, index)\"\n ></div>\n <ng-template #single>\n <div\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintContent\"\n [context]=\"{ $implicit: point, index: index }\"\n ></div>\n </ng-template>\n </ng-template>\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",
192
192
  changeDetection: ChangeDetectionStrategy.OnPush,
193
- styles: [":host{display:flex;width:100%;height:100%;pointer-events:none}.t-svg{transform:scale(1,-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 rgba(0,0,0,.1);outline:0;pointer-events:none}.column._hint_hovered .t-host,.column:hover .t-host,.column_hovered .t-host,.t-host:focus{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:not([style]) .column._hint_hovered .t-line,:host:not([style]) .column._hint_hovered+.t-line,:host:not([style]) .column:hover .t-line,:host:not([style]) .column:hover+.t-line,:host[style^='z-index: 0'] .column_hovered .t-line,:host[style^='z-index: 0'] .column_hovered+.t-line{opacity:1}.t-text{white-space:pre-wrap}.t-hint{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:absolute;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:translate3d(-50%,0,0)}.t-hint_x{bottom:0}.t-hint_y{left:0}"]
193
+ styles: [":host{display:flex;width:100%;height:100%;pointer-events:none}.t-svg{transform:scale(1,-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 rgba(0,0,0,.1);outline:0;pointer-events:none}.t-column._hint_hovered .t-host,.t-column:hover .t-host,.t-column_hovered .t-host,.t-host:focus{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:not([style]) .t-column._hint_hovered .t-line,:host:not([style]) .t-column._hint_hovered+.t-line,:host:not([style]) .t-column:hover .t-line,:host:not([style]) .t-column:hover+.t-line,:host[style^='z-index: 0'] .t-column_hovered .t-line,:host[style^='z-index: 0'] .t-column_hovered+.t-line{opacity:1}.t-text{white-space:pre-wrap}.t-hint{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:absolute;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:translate3d(-50%,0,0)}.t-hint_x{bottom:0}.t-hint_y{left:0}"]
194
194
  }),
195
195
  __param(0, Inject(TuiIdService)),
196
196
  __param(1, Inject(NgZone)),