@tetacom/ng-threejs-chart 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +43 -0
- package/README.md +7 -0
- package/common/model/base-3d-point.d.ts +5 -0
- package/component/three/custom-series/custom-series.component.d.ts +20 -0
- package/component/three/public-api.d.ts +11 -0
- package/component/three/three-chart/area-3d/area-3d.component.d.ts +13 -0
- package/component/three/three-chart/axes-3d/axes-3d.component.d.ts +28 -0
- package/component/three/three-chart/base-3d-series/base3d-series.component.d.ts +15 -0
- package/component/three/three-chart/block-3d/block-3d.component.d.ts +28 -0
- package/component/three/three-chart/canvas/canvas.component.d.ts +11 -0
- package/component/three/three-chart/directive/canvas-3d-host.d.ts +19 -0
- package/component/three/three-chart/directive/public-api.d.ts +2 -0
- package/component/three/three-chart/directive/series-3d-host.d.ts +16 -0
- package/component/three/three-chart/line-3d/line-3d.component.d.ts +19 -0
- package/component/three/three-chart/model/axes-3d-min-max.d.ts +5 -0
- package/component/three/three-chart/model/axis-3d-point.d.ts +4 -0
- package/component/three/three-chart/model/base-3d-series.d.ts +11 -0
- package/component/three/three-chart/model/base-3d-three-point.d.ts +8 -0
- package/component/three/three-chart/model/block-3d-series.d.ts +6 -0
- package/component/three/three-chart/model/block3d-point.d.ts +5 -0
- package/component/three/three-chart/model/enum/public-api.d.ts +1 -0
- package/component/three/three-chart/model/enum/series-3d-type.d.ts +4 -0
- package/component/three/three-chart/model/i-3d-chart-config.d.ts +14 -0
- package/component/three/three-chart/model/line-3d-point.d.ts +5 -0
- package/component/three/three-chart/model/line-3d-series.d.ts +6 -0
- package/component/three/three-chart/model/public-api.d.ts +10 -0
- package/component/three/three-chart/scene/scene.component.d.ts +20 -0
- package/component/three/three-chart/service/chart-3d.service.d.ts +21 -0
- package/component/three/three-chart/three-chart.component.d.ts +19 -0
- package/esm2022/common/model/base-3d-point.mjs +2 -0
- package/esm2022/component/three/custom-series/custom-series.component.mjs +32 -0
- package/esm2022/component/three/public-api.mjs +12 -0
- package/esm2022/component/three/three-chart/area-3d/area-3d.component.mjs +54 -0
- package/esm2022/component/three/three-chart/axes-3d/axes-3d.component.mjs +59 -0
- package/esm2022/component/three/three-chart/base-3d-series/base3d-series.component.mjs +28 -0
- package/esm2022/component/three/three-chart/block-3d/block-3d.component.mjs +74 -0
- package/esm2022/component/three/three-chart/canvas/canvas.component.mjs +22 -0
- package/esm2022/component/three/three-chart/directive/canvas-3d-host.mjs +45 -0
- package/esm2022/component/three/three-chart/directive/public-api.mjs +3 -0
- package/esm2022/component/three/three-chart/directive/series-3d-host.mjs +45 -0
- package/esm2022/component/three/three-chart/line-3d/line-3d.component.mjs +40 -0
- package/esm2022/component/three/three-chart/model/axes-3d-min-max.mjs +2 -0
- package/esm2022/component/three/three-chart/model/axis-3d-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/base-3d-series.mjs +2 -0
- package/esm2022/component/three/three-chart/model/base-3d-three-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/block-3d-series.mjs +2 -0
- package/esm2022/component/three/three-chart/model/block3d-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/enum/public-api.mjs +2 -0
- package/esm2022/component/three/three-chart/model/enum/series-3d-type.mjs +6 -0
- package/esm2022/component/three/three-chart/model/i-3d-chart-config.mjs +2 -0
- package/esm2022/component/three/three-chart/model/line-3d-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/line-3d-series.mjs +2 -0
- package/esm2022/component/three/three-chart/model/public-api.mjs +11 -0
- package/esm2022/component/three/three-chart/scene/scene.component.mjs +45 -0
- package/esm2022/component/three/three-chart/service/chart-3d.service.mjs +83 -0
- package/esm2022/component/three/three-chart/three-chart.component.mjs +45 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/tetacom-ng-threejs-chart.mjs +5 -0
- package/fesm2022/tetacom-ng-threejs-chart.mjs +496 -0
- package/fesm2022/tetacom-ng-threejs-chart.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/package.json +29 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tetacom-ng-threejs-chart.mjs","sources":["../../src/component/three/three-chart/service/chart-3d.service.ts","../../src/component/three/three-chart/base-3d-series/base3d-series.component.ts","../../src/component/three/three-chart/base-3d-series/base3d-series.component.html","../../src/component/three/custom-series/custom-series.component.ts","../../src/component/three/custom-series/custom-series.component.html","../../src/component/three/three-chart/area-3d/area-3d.component.ts","../../src/component/three/three-chart/area-3d/area-3d.component.html","../../src/component/three/three-chart/axes-3d/axes-3d.component.ts","../../src/component/three/three-chart/axes-3d/axes-3d.component.html","../../src/component/three/three-chart/block-3d/block-3d.component.ts","../../src/component/three/three-chart/block-3d/block-3d.component.html","../../src/component/three/three-chart/line-3d/line-3d.component.ts","../../src/component/three/three-chart/line-3d/line-3d.component.html","../../src/component/three/three-chart/model/enum/series-3d-type.ts","../../src/component/three/three-chart/directive/series-3d-host.ts","../../src/component/three/three-chart/scene/scene.component.ts","../../src/component/three/three-chart/scene/scene.component.html","../../src/component/three/three-chart/canvas/canvas.component.ts","../../src/component/three/three-chart/canvas/canvas.component.html","../../src/component/three/three-chart/directive/canvas-3d-host.ts","../../src/component/three/three-chart/three-chart.component.ts","../../src/component/three/three-chart/three-chart.component.html","../../src/tetacom-ng-threejs-chart.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as d3 from 'd3';\nimport { map, Observable, ReplaySubject, shareReplay} from 'rxjs';\n\nimport { Axes3dMinMax } from '../model/axes-3d-min-max';\nimport { I3dChartConfig } from '../model/i-3d-chart-config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Chart3dService {\n public minMax: Observable<Axes3dMinMax>;\n public data: Observable<I3dChartConfig>;\n public scales: Observable<{ x; y; z }>;\n private data$: ReplaySubject<I3dChartConfig> =\n new ReplaySubject<I3dChartConfig>(1);\n\n constructor() {\n this.data = this.data$.asObservable();\n this.minMax = this.data.pipe(\n map(_ => {\n return this.getAxesMinMax(_);\n })\n );\n this.scales = this.minMax.pipe(\n map(minMax => {\n return this.getScales(minMax);\n }),\n shareReplay(1)\n );\n }\n\n setData(data) {\n this.data$.next(data);\n }\n\n private getAxesMinMax(data: I3dChartConfig): Axes3dMinMax {\n const zArr: number[] = data.series\n .map(_ => {\n return _?.data?.map(d => d?.z);\n })\n .flat()\n .filter(_ => {\n return _ !== null && _ !== undefined;\n });\n const xArr: number[] = data.series\n .map(_ => {\n return _?.data?.map(d => d?.x);\n })\n .flat()\n .filter(_ => {\n return _ !== null && _ !== undefined;\n });\n const yArr: number[] = data.series\n .map(_ => {\n return _?.data?.map(d => d?.y);\n })\n .flat()\n .filter(_ => {\n return _ !== null && _ !== undefined;\n });\n const ZMinMaxVal: [number, number] = [Math.min(...zArr), Math.max(...zArr)];\n const XMinMaxVal: [number, number] = [Math.min(...xArr), Math.max(...xArr)];\n const YMinMaxVal: [number, number] = [Math.min(...yArr), Math.max(...yArr)];\n return {\n z: this.getMinMaxRange(ZMinMaxVal, data.zAxis?.min, data.zAxis?.max),\n x: this.getMinMaxRange(XMinMaxVal, data.xAxis?.min, data.xAxis?.max),\n y: this.getMinMaxRange(YMinMaxVal, data.yAxis?.min, data.yAxis?.max),\n };\n }\n\n private getMinMaxRange(\n minMax: [number, number],\n axisMin: number,\n axisMax: number\n ): [number, number] {\n const min =\n axisMin ||\n (Math.abs(minMax[0] - minMax[1]) < 0.0000001\n ? minMax[0] - Math.abs(minMax[0] - 1) * 0.1\n : minMax[0]);\n const max =\n axisMax ||\n (Math.abs(minMax[0] - minMax[1]) < 0.0000001\n ? minMax[1] + Math.abs(minMax[1] + 1) * 0.1\n : minMax[1]);\n return [min, max];\n }\n\n private getScales(axesMinMax: Axes3dMinMax) {\n const z = d3.scaleLinear().domain(axesMinMax.z).range([50, -50]);\n const x = d3.scaleLinear().domain(axesMinMax.x).range([25, 0]);\n const y = d3.scaleLinear().domain(axesMinMax.y).range([50, -50]);\n return {\n x,\n y,\n z,\n };\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Chart3dService } from '../service/chart-3d.service';\nimport { Base3dThreePoint } from '../model/base-3d-three-point';\nimport { Base3dSeries } from '../model/base-3d-series';\nimport { NgtStore } from 'angular-three';\n\n@Component({\n selector: 'teta-base3d-series',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './base3d-series.component.html',\n styleUrls: ['./base3d-series.component.scss'],\n})\nexport class Base3dSeriesComponent<T extends Base3dThreePoint> {\n @Input()\n set series(series: Base3dSeries<T>) {\n this._series = series;\n }\n\n get series() {\n return this._series;\n }\n protected _series: Base3dSeries<T>;\n constructor(protected svc: Chart3dService, protected ngtStore: NgtStore) {}\n}\n","<p>base3d-series works!</p>\n","import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n OnInit,\n} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {Base3dSeriesComponent} from '../three-chart/base-3d-series/base3d-series.component';\nimport {Base3dPoint} from '../../../common/model/base-3d-point';\nimport {Chart3dService} from '../three-chart/service/chart-3d.service';\nimport {extend, NgtArgs, NgtStore} from 'angular-three';\nimport {Observable} from 'rxjs';\nimport * as THREE from 'three';\n\nextend(THREE);\n\n@Component({\n selector: 'teta-custom-series',\n standalone: true,\n imports: [CommonModule, NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './custom-series.component.html',\n})\nexport class CustomSeriesComponent\n extends Base3dSeriesComponent<Base3dPoint>\n implements OnInit {\n public scales: Observable<{ x; y; z }>;\n\n constructor(override svc: Chart3dService, override ngtStore: NgtStore) {\n super(svc, ngtStore);\n this.scales = this.svc.scales;\n }\n\n ngOnInit(): void {\n setTimeout(() => {\n this.ngtStore.get('camera').zoom = 2;\n this.ngtStore.get('camera').updateProjectionMatrix();\n }, 1000);\n }\n}\n","<ng-container *ngIf=\" {scales:scales|async} as scales\">\n <ngt-mesh [position]=\"[scales.scales.x(this.series.data[0].x),scales.scales.y(this.series.data[0].y),scales.scales.z(this.series.data[0].z) ]\">\n <ngt-box-geometry *args=\"[5,5,5]\"></ngt-box-geometry>\n <ngt-mesh-basic-material></ngt-mesh-basic-material>\n </ngt-mesh>\n</ng-container>\n","import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n OnInit,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as THREE from 'three';\nimport { GridHelper } from 'three';\nimport { extend, NgtArgs } from 'angular-three';\n\nextend(THREE);\n\n@Component({\n selector: 'teta-area-3d',\n templateUrl: './area-3d.component.html',\n standalone: true,\n imports: [CommonModule, NgtArgs],\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class Area3dComponent implements OnInit {\n public area: GridHelper[];\n\n protected readonly THREE = THREE;\n\n createArea() {\n const grids: GridHelper[] = [];\n grids.push(this.getMainGrid());\n grids.push(...this.createGrid(4, 25, 3, 'vertical'));\n grids.push(...this.createGrid(4, 25, 3, 'horizontal'));\n return grids;\n }\n\n getMainGrid() {\n const mainGrid = new GridHelper(100, 12);\n mainGrid.position.set(0, 0, 0);\n mainGrid.rotateZ(Math.PI / 2);\n return mainGrid;\n }\n\n createGrid(\n gridsCount: number,\n gridSize: number,\n rectsInGrid: number,\n direction: 'vertical' | 'horizontal'\n ) {\n const plane: GridHelper[] = [];\n for (let p = 0; p <= gridsCount - 1; p++) {\n plane[p] = new THREE.GridHelper(gridSize, rectsInGrid, '#666', '#666');\n plane[p].renderOrder = -1;\n switch (direction) {\n case 'horizontal':\n plane[p].position.set(\n gridSize / 2,\n -50,\n gridSize * p + gridSize / 2 - 50\n );\n break;\n case 'vertical':\n plane[p].position.set(\n gridSize / 2,\n gridSize * p + gridSize / 2 - 50,\n -50\n );\n plane[p].rotateZ(Math.PI / 2);\n plane[p].rotateX(Math.PI / 2);\n break;\n }\n }\n return plane;\n }\n\n ngOnInit(): void {\n this.area = this.createArea();\n }\n}\n","<ngt-mesh>\n <ngt-mesh-basic-material [side]=\"THREE.DoubleSide\"></ngt-mesh-basic-material>\n <ng-container *ngFor=\"let rect of area\">\n <ngt-primitive *args=\"[rect]\"></ngt-primitive>\n </ng-container>\n</ngt-mesh>\n","import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n inject,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgtsText } from 'angular-three-soba/abstractions';\nimport * as d3 from 'd3';\nimport * as THREE from 'three';\nimport { Euler } from 'three';\nimport { extend } from 'angular-three';\nimport { Axis3dPoint } from '../model/axis-3d-point';\nimport { Chart3dService } from '../service/chart-3d.service';\nimport { combineLatest, map, Observable, takeWhile } from 'rxjs';\nimport { Axes3dMinMax } from '../model/axes-3d-min-max';\n\nextend(THREE);\n\n@Component({\n selector: 'teta-axes-3d',\n templateUrl: './axes-3d.component.html',\n standalone: true,\n imports: [CommonModule, NgtsText],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Axes3dComponent implements OnDestroy {\n @Input() rotation: Euler;\n public axes: Observable<{\n z: Axis3dPoint[];\n y: Axis3dPoint[];\n x: Axis3dPoint[];\n }>;\n private _alive = true;\n\n protected readonly chartService = inject(Chart3dService);\n constructor() {\n this.axes = combineLatest([\n this.chartService.scales,\n this.chartService.minMax,\n ]).pipe(\n takeWhile(() => this._alive),\n map(([scales, minMax]) => {\n return this.createAxes(scales, minMax);\n })\n );\n }\n\n createAxes(scales, minMax: Axes3dMinMax) {\n const axisZ = this.generateTicks(minMax.z, 12).map(_ => {\n return { value: _.toFixed(1), position: scales.z(_) };\n });\n const axisY = this.generateTicks(minMax.y, 12).map(_ => {\n return { value: _.toFixed(1), position: scales.y(_) };\n });\n const axisX = this.generateTicks(minMax.x, 4).map(_ => {\n return { value: _.toFixed(1), position: scales.x(_) };\n });\n return { z: axisZ, y: axisY, x: axisX };\n }\n generateTicks(extremes: number[], count = 10) {\n const [min, max] = extremes;\n const tickStep = (max - min) / count;\n\n const ticks = d3\n .range(min, max + tickStep, tickStep)\n .filter(step => step <= max);\n\n return ticks;\n }\n trackBy(i) {\n return i;\n }\n ngOnDestroy(): void {\n this._alive = false;\n }\n}\n","<ng-container *ngIf='{axes:axes|async}as data'>\n <ngts-text *ngFor='let tick of data.axes?.x;let i=index; trackBy: trackBy' [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[tick.position, -50, 50]'\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n ></ngts-text>\n <ngts-text *ngFor='let tick of data.axes?.y;let i=index; trackBy: trackBy' [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[0,tick.position,50]'\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n ></ngts-text>\n <ngts-text *ngFor='let tick of data.axes?.z;let i=index; trackBy: trackBy' [text]='tick.value'\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[25,-50,tick.position]'\n ></ngts-text>\n</ng-container>\n","import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n OnDestroy,\n} from '@angular/core';\nimport {extend, NgtArgs, NgtStore} from 'angular-three';\nimport {NgtsText} from 'angular-three-soba/abstractions';\nimport {map, Observable, takeWhile} from 'rxjs';\nimport * as THREE from 'three';\nimport {Texture} from 'three';\n\nimport {Base3dSeriesComponent} from '../base-3d-series/base3d-series.component';\nimport {Block3dPoint} from '../model/block3d-point';\nimport {Chart3dService} from '../service/chart-3d.service';\nimport { AsyncPipe, NgForOf, NgIf } from '@angular/common';\n\nextend(THREE);\n\n@Component({\n selector: 'teta-block-3d',\n templateUrl: './block-3d.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgtArgs, NgtsText, NgIf, AsyncPipe, NgForOf],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class Block3dComponent<T extends Block3dPoint>\n extends Base3dSeriesComponent<T>\n implements OnDestroy {\n public blocks: Observable<{\n component: THREE.Mesh<THREE.PlaneGeometry, THREE.MeshBasicMaterial>;\n position: number;\n }[][]>;\n private _alive = true;\n protected readonly Math = Math;\n\n constructor(override svc: Chart3dService, override ngtStore: NgtStore) {\n super(svc, ngtStore);\n this.blocks = this.svc.scales.pipe(\n takeWhile(() => this._alive),\n map(scales => {\n return this.series?.data?.map(_ => {\n return this.createSVGTexture(scales.y(_?.y), scales.y(_?.y1), _?.iconId);\n });\n })\n );\n }\n\n createSVGTexture(y: number, y1: number, iconId: number) {\n const max = Math.max(y, y1);\n const min = Math.min(y, y1);\n const height = Math.abs(max - min);\n const icon = iconId ? document.querySelector(`#${iconId}`) : null;\n const svgString =icon? `<svg width='100' height='100' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>${icon?.innerHTML}</svg>`:null;\n const loader = new THREE.TextureLoader();\n const texture = loader.load(\n `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgString)}`\n );\n const plane = this.createTexturedPlane(texture, 100, height, !!icon);\n const plane1 = this.createTexturedPlane(texture, 25, height, !!icon);\n plane.rotation.set(0, Math.PI / 2, 0);\n plane.position.set(0.17, min + height / 2, 0);\n plane1.position.set(25 / 2, min + height / 2, -50 + 0.17);\n return [\n {component: plane, position: min + height / 2},\n {component: plane1, position: min + height / 2},\n ];\n }\n\n createTexturedPlane(\n texture: Texture,\n width: number,\n height: number,\n visible: boolean\n ) {\n texture.wrapS = THREE.RepeatWrapping;\n texture.wrapT = THREE.RepeatWrapping;\n texture.repeat.set(10, height / 9);\n const material = new THREE.MeshBasicMaterial({map: texture, visible});\n const geometry = new THREE.PlaneGeometry(width, height, 1, 1);\n const uvs = geometry.attributes['uv'].array;\n const newUvs = new Float32Array(uvs);\n newUvs[0] = 0;\n newUvs[1] = 1;\n newUvs[2] = width / 100;\n newUvs[3] = 1;\n newUvs[4] = 0;\n newUvs[5] = 0;\n newUvs[6] = width / 100;\n newUvs[7] = 0;\n geometry.attributes['uv'].needsUpdate = true;\n geometry.setAttribute('uv', new THREE.BufferAttribute(newUvs, 2));\n return new THREE.Mesh(geometry, material);\n }\n\n ngOnDestroy(): void {\n this._alive = false;\n }\n}\n","<ng-container *ngIf='{\n blocks: blocks | async,\n scales: svc.scales | async\n } as data'>\n <ng-container *ngFor='let mesh of data.blocks; let i=index'>\n <ngt-primitive *args='[mesh[0].component]'></ngt-primitive>\n <ngts-text [text]='series.data[i].name'\n color='black'\n [fontSize]='2.5'\n [rotation]='[0,Math.PI/2,0]'\n [position]='[1,mesh[0].position,5]'\n [textAlign]=\"'left'\"\n [anchorX]=\"'center'\"\n [anchorY]=\"'middle'\"></ngts-text>\n <ngt-primitive *args='[mesh[1].component]'></ngt-primitive>\n </ng-container>\n</ng-container>\n\n","import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n OnDestroy,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgtsLine } from 'angular-three-soba/abstractions';\nimport { extend, NgtArgs, NgtStore } from 'angular-three';\nimport * as THREE from 'three';\nimport { map, Observable, takeWhile } from 'rxjs';\nimport { Chart3dService } from '../service/chart-3d.service';\nimport { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';\nimport { Line3dPoint } from '../model/line-3d-point';\n\nextend(THREE);\n@Component({\n selector: 'teta-line-3d',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, NgtsLine, NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './line-3d.component.html',\n})\nexport class Line3dComponent\n extends Base3dSeriesComponent<Line3dPoint>\n implements OnDestroy\n{\n public points: Observable<[number,number,number]>;\n private _alive = true;\n\n protected readonly Math = Math;\n constructor(override svc: Chart3dService, override ngtStore: NgtStore) {\n super(svc, ngtStore);\n this.points = this.svc.scales.pipe(\n takeWhile(() => this._alive),\n map(scales => {\n return this.getPoints(scales);\n })\n );\n }\n getPoints(scales) {\n return this.series?.data?.map(_ => {\n return [scales.x(_?.x), scales.y(_?.y), scales.z(_?.z)];\n }).flat() as [number,number,number];\n }\n\n ngOnDestroy(): void {\n this._alive = false;\n }\n}\n","<ng-container *ngIf=\"{points:points|async}as data\">\n <ngt-mesh *ngIf=\"data?.points?.length\">\n <ngts-line [color]=\"series.color\" [lineWidth]=\"2\" [points]=\"data.points\"></ngts-line>\n <ngt-line-basic-material></ngt-line-basic-material>\n </ngt-mesh>\n</ng-container>\n","export enum Series3dType {\n line,\n block,\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Input,\n OnInit,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';\nimport { Block3dComponent } from '../block-3d/block-3d.component';\nimport { Line3dComponent } from '../line-3d/line-3d.component';\nimport { Base3dSeries } from '../model/base-3d-series';\nimport { Base3dThreePoint } from '../model/base-3d-three-point';\nimport { Series3dType } from '../model/enum/series-3d-type';\n\n@Component({\n selector: '[teta-series-3d-host]',\n template: '',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Series3dHost<T extends Base3dThreePoint> implements OnInit {\n @Input() series: Base3dSeries<T>;\n\n private seriesMap: Map<Series3dType, typeof Base3dSeriesComponent> = new Map()\n .set(Series3dType.line, Line3dComponent)\n .set(Series3dType.block, Block3dComponent);\n private _init = false;\n private _componentRef: ComponentRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngOnInit(): void {\n if (\n !Object.prototype.isPrototypeOf.call(\n Base3dSeriesComponent,\n this.series.component\n )\n ) {\n this.series.component = this.seriesMap.get(this.series.type);\n }\n this._componentRef = this.viewContainerRef.createComponent(\n this.series.component\n );\n\n this._componentRef.instance.series = this.series;\n this._init = true;\n }\n ngOnChanges(changes: SimpleChanges): void {\n if (\n this._init &&\n (Object.prototype.hasOwnProperty.call(changes, 'series') ||\n changes.hasOwnProperty('config'))\n ) {\n this._componentRef.instance.series = this.series;\n this._componentRef.injector.get(ChangeDetectorRef).detectChanges();\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n inject,\n OnInit,\n} from '@angular/core';\nimport { NgtStore } from 'angular-three';\nimport { NgtsOrbitControls } from 'angular-three-soba/controls';\nimport { Observable } from 'rxjs';\nimport { Euler } from 'three';\n\nimport { Area3dComponent } from '../area-3d/area-3d.component';\nimport { Axes3dComponent } from '../axes-3d/axes-3d.component';\nimport { Block3dComponent } from '../block-3d/block-3d.component';\nimport { Series3dHost } from '../directive/series-3d-host';\nimport { Line3dComponent } from '../line-3d/line-3d.component';\nimport { I3dChartConfig } from '../model/i-3d-chart-config';\nimport { Chart3dService } from '../service/chart-3d.service';\n\n@Component({\n standalone: true,\n selector: 'teta-scene',\n templateUrl: './scene.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgtsOrbitControls,\n CommonModule,\n Area3dComponent,\n Line3dComponent,\n Axes3dComponent,\n Block3dComponent,\n Series3dHost,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class SceneComponent implements OnInit {\n public data: Observable<I3dChartConfig>;\n public rotation: Euler;\n public readonly store = inject(NgtStore);\n protected readonly Math = Math;\n protected readonly chartService = inject(Chart3dService);\n protected readonly _cdr = inject(ChangeDetectorRef);\n\n constructor() {\n this.data = this.chartService.data;\n }\n\n setRotation() {\n this.rotation = null;\n this._cdr.detectChanges();\n this.rotation = this.store.get('camera').rotation;\n this._cdr.detectChanges();\n }\n\n ngOnInit(): void {\n this.rotation = this.store.get('camera').rotation;\n }\n}\n","<ng-container *ngIf='{data:data|async} as config'>\n <ngt-scene>\n <ngts-orbit-controls [minAzimuthAngle]='0'\n [maxAzimuthAngle]='Math.PI/2'\n [maxZoom]='30'\n [minZoom]='2'\n (change)='setRotation()'></ngts-orbit-controls>\n </ngt-scene>\n <teta-area-3d></teta-area-3d>\n <ng-container *ngFor='let s of config.data?.series;'>\n <div teta-series-3d-host [series]='s'></div>\n </ng-container>\n <teta-axes-3d [rotation]='rotation'></teta-axes-3d>\n</ng-container>\n\n\n","import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n Input,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgtCanvas, NgtStore } from 'angular-three';\nimport { SceneComponent } from '../scene/scene.component';\nimport { I3dChartConfig } from '../model/i-3d-chart-config';\nimport { Camera } from 'three';\n\n@Component({\n selector: 'teta-canvas',\n standalone: true,\n templateUrl: './canvas.component.html',\n styleUrls: ['./canvas.component.scss'],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [NgtStore],\n imports: [NgtCanvas, SceneComponent, CommonModule],\n})\nexport class CanvasComponent {\n @Input() scene: typeof SceneComponent;\n @Input() camera: Camera;\n @Input() data: I3dChartConfig;\n}\n","<ngt-canvas *ngIf=\"data?.series?.length;else noData\" [sceneGraph]=\"scene\"\n [camera]=\"camera\">\n</ngt-canvas>\n<ng-template #noData>\n <p>{{data?.noDataText || 'no data'}}</p>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Input,\n OnChanges,\n OnInit,\n ViewContainerRef,\n} from '@angular/core';\nimport { Camera } from 'three';\n\nimport { CanvasComponent } from '../canvas/canvas.component';\nimport { I3dChartConfig } from '../model/i-3d-chart-config';\nimport { SceneComponent } from '../scene/scene.component';\n\n@Component({\n selector: '[teta-canvas-3d-host]',\n template: '',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Canvas3dHost implements OnInit, OnChanges {\n @Input() scene: typeof SceneComponent;\n @Input() camera: Camera;\n @Input() data: I3dChartConfig;\n\n private _init = false;\n private _componentRef: ComponentRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngOnInit(): void {\n this.createCanvas();\n this._init = true;\n }\n\n ngOnChanges(): void {\n if (this._init) {\n this.createCanvas();\n this._componentRef.injector.get(ChangeDetectorRef).detectChanges();\n }\n }\n\n createCanvas() {\n this.viewContainerRef.clear();\n this._componentRef = this.viewContainerRef.createComponent(CanvasComponent);\n this._componentRef.instance.scene = this.scene;\n this._componentRef.instance.camera = this.camera;\n this._componentRef.instance.data = this.data;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n inject,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { extend, NgtCanvas, NgtStore } from 'angular-three';\nimport * as THREE from 'three';\nimport { OrthographicCamera } from 'three';\n\nimport { I3dChartConfig } from './model/i-3d-chart-config';\nimport { SceneComponent } from './scene/scene.component';\nimport { Chart3dService } from './service/chart-3d.service';\nimport { CanvasComponent } from './canvas/canvas.component';\nimport { Canvas3dHost } from './directive/canvas-3d-host';\n\nextend(THREE);\n\n@Component({\n selector: 'teta-three-chart',\n templateUrl: './three-chart.component.html',\n styleUrls: ['./three-chart.component.scss'],\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [NgtStore],\n imports: [\n NgtCanvas,\n SceneComponent,\n CommonModule,\n CanvasComponent,\n Canvas3dHost,\n ],\n})\nexport class ThreeChartComponent implements OnInit, OnChanges {\n @Input() data: I3dChartConfig;\n public scene: typeof SceneComponent;\n public camera: OrthographicCamera;\n\n protected readonly chartService = inject(Chart3dService);\n protected readonly store = inject(NgtStore);\n protected readonly cdr = inject(ChangeDetectorRef);\n\n ngOnInit(): void {\n this.scene = SceneComponent;\n this.camera = new OrthographicCamera(20, 20, 20, 20, 0.1, 1000);\n this.camera.position.set(100, 20, 70);\n this.camera.zoom = 4.5;\n this.camera.updateProjectionMatrix();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.data?.series?.length) {\n this.chartService.setData(this.data);\n }\n }\n}\n","<div class=\"column_auto column justify-content-center align-center\" style=\"height: 100%;width: 100%;\">\n <div teta-canvas-3d-host [camera]=\"camera\" [data]=\"data\" [scene]=\"scene\"></div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.Chart3dService"],"mappings":";;;;;;;;;;;;;MAUa,cAAc,CAAA;AAOzB,IAAA,WAAA,GAAA;AAHQ,QAAA,IAAA,CAAA,KAAK,GACX,IAAI,aAAa,CAAiB,CAAC,CAAC,CAAC;QAGrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAC1B,GAAG,CAAC,CAAC,IAAG;AACN,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAC9B,CAAC,CACH,CAAC;AACF,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAC5B,GAAG,CAAC,MAAM,IAAG;AACX,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,SAAC,CAAC,EACF,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;KACH;AAED,IAAA,OAAO,CAAC,IAAI,EAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvB;AAEO,IAAA,aAAa,CAAC,IAAoB,EAAA;AACxC,QAAA,MAAM,IAAI,GAAa,IAAI,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,IAAG;AACP,YAAA,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,SAAC,CAAC;AACD,aAAA,IAAI,EAAE;aACN,MAAM,CAAC,CAAC,IAAG;AACV,YAAA,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC;AACvC,SAAC,CAAC,CAAC;AACL,QAAA,MAAM,IAAI,GAAa,IAAI,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,IAAG;AACP,YAAA,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,SAAC,CAAC;AACD,aAAA,IAAI,EAAE;aACN,MAAM,CAAC,CAAC,IAAG;AACV,YAAA,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC;AACvC,SAAC,CAAC,CAAC;AACL,QAAA,MAAM,IAAI,GAAa,IAAI,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,IAAG;AACP,YAAA,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,SAAC,CAAC;AACD,aAAA,IAAI,EAAE;aACN,MAAM,CAAC,CAAC,IAAG;AACV,YAAA,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC;AACvC,SAAC,CAAC,CAAC;AACL,QAAA,MAAM,UAAU,GAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5E,QAAA,MAAM,UAAU,GAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5E,QAAA,MAAM,UAAU,GAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC5E,OAAO;AACL,YAAA,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;AACpE,YAAA,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;AACpE,YAAA,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;SACrE,CAAC;KACH;AAEO,IAAA,cAAc,CACpB,MAAwB,EACxB,OAAe,EACf,OAAe,EAAA;QAEf,MAAM,GAAG,GACP,OAAO;AACP,aAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;AAC1C,kBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG;AAC3C,kBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,GAAG,GACP,OAAO;AACP,aAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;AAC1C,kBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG;AAC3C,kBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,QAAA,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACnB;AAEO,IAAA,SAAS,CAAC,UAAwB,EAAA;QACxC,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO;YACL,CAAC;YACD,CAAC;YACD,CAAC;SACF,CAAC;KACH;8GAxFU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCKY,qBAAqB,CAAA;IAChC,IACI,MAAM,CAAC,MAAuB,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;KACvB;AAED,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IAED,WAAsB,CAAA,GAAmB,EAAY,QAAkB,EAAA;QAAjD,IAAG,CAAA,GAAA,GAAH,GAAG,CAAgB;QAAY,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAAI;8GAVhE,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdlC,+BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDSY,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAClB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,+BAAA,EAAA,CAAA;uGAMnB,MAAM,EAAA,CAAA;sBADT,KAAK;;;AEDR,MAAM,CAAC,KAAK,CAAC,CAAC;AAUR,MAAO,qBACX,SAAQ,qBAAkC,CAAA;IAI1C,WAAqB,CAAA,GAAmB,EAAW,QAAkB,EAAA;AACnE,QAAA,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QADF,IAAG,CAAA,GAAA,GAAH,GAAG,CAAgB;QAAW,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAEnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;KAC/B;IAED,QAAQ,GAAA;QACN,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;SACtD,EAAE,IAAI,CAAC,CAAC;KACV;8GAfU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,ECxBlC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,kXAMA,EDaY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,wLAAE,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKpB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAClB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,OAAO,CAAC,EAAA,OAAA,EACvB,CAAC,sBAAsB,CAAC,EAChB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kXAAA,EAAA,CAAA;;;AEVjD,MAAM,CAAC,KAAK,CAAC,CAAC;MAUD,eAAe,CAAA;AAR5B,IAAA,WAAA,GAAA;QAWqB,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AAoDlC,KAAA;IAlDC,UAAU,GAAA;QACR,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/B,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AACrD,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;AACvD,QAAA,OAAO,KAAK,CAAC;KACd;IAED,WAAW,GAAA;QACT,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9B,QAAA,OAAO,QAAQ,CAAC;KACjB;AAED,IAAA,UAAU,CACR,UAAkB,EAClB,QAAgB,EAChB,WAAmB,EACnB,SAAoC,EAAA;QAEpC,MAAM,KAAK,GAAiB,EAAE,CAAC;AAC/B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACxC,YAAA,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACvE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAC1B,QAAQ,SAAS;AACf,gBAAA,KAAK,YAAY;oBACf,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,QAAQ,GAAG,CAAC,EACZ,CAAC,EAAE,EACH,QAAQ,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,EAAE,CACjC,CAAC;oBACF,MAAM;AACR,gBAAA,KAAK,UAAU;oBACb,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,QAAQ,GAAG,CAAC,EACZ,QAAQ,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,EAAE,EAChC,CAAC,EAAE,CACJ,CAAC;AACF,oBAAA,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9B,oBAAA,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC9B,MAAM;aACT;SACF;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;KAC/B;8GAtDU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,ECrB5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qOAMA,EDWY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,4JAAE,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAIpB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAEZ,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,OAAO,CAAC,EAAA,eAAA,EACf,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,qOAAA,EAAA,CAAA;;;AEAnC,MAAM,CAAC,KAAK,CAAC,CAAC;MAUD,eAAe,CAAA;AAU1B,IAAA,WAAA,GAAA;QAHQ,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;AAEH,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAEvD,QAAA,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,MAAM;YACxB,IAAI,CAAC,YAAY,CAAC,MAAM;SACzB,CAAC,CAAC,IAAI,CACL,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAC5B,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,KAAI;YACvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACxC,CAAC,CACH,CAAC;KACH;IAED,UAAU,CAAC,MAAM,EAAE,MAAoB,EAAA;AACrC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAG;AACrD,YAAA,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAG;AACrD,YAAA,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAG;AACpD,YAAA,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;KACzC;AACD,IAAA,aAAa,CAAC,QAAkB,EAAE,KAAK,GAAG,EAAE,EAAA;AAC1C,QAAA,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC;QAC5B,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC;QAErC,MAAM,KAAK,GAAG,EAAE;aACb,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,EAAE,QAAQ,CAAC;aACpC,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;AAE/B,QAAA,OAAO,KAAK,CAAC;KACd;AACD,IAAA,OAAO,CAAC,CAAC,EAAA;AACP,QAAA,OAAO,CAAC,CAAC;KACV;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;8GAjDU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EC7B5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ynCA0BA,EDDY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,qTAAE,QAAQ,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAIrB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAEZ,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAA,OAAA,EACxB,CAAC,sBAAsB,CAAC,EAChB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ynCAAA,EAAA,CAAA;wDAGtC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AEbR,MAAM,CAAC,KAAK,CAAC,CAAC;AAUR,MAAO,gBACX,SAAQ,qBAAwB,CAAA;IAShC,WAAqB,CAAA,GAAmB,EAAW,QAAkB,EAAA;AACnE,QAAA,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QADF,IAAG,CAAA,GAAA,GAAH,GAAG,CAAgB;QAAW,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAH7D,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;QACH,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;QAI7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAChC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAC5B,GAAG,CAAC,MAAM,IAAG;YACX,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAG;gBAChC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3E,aAAC,CAAC,CAAC;SACJ,CAAC,CACH,CAAC;KACH;AAED,IAAA,gBAAgB,CAAC,CAAS,EAAE,EAAU,EAAE,MAAc,EAAA;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;AACnC,QAAA,MAAM,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA,CAAA,EAAI,MAAM,CAAE,CAAA,CAAC,GAAG,IAAI,CAAC;AAClE,QAAA,MAAM,SAAS,GAAE,IAAI,GAAE,CAAA,kGAAA,EAAqG,IAAI,EAAE,SAAS,CAAQ,MAAA,CAAA,GAAC,IAAI,CAAC;AACzJ,QAAA,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;AACzC,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,CAAoC,iCAAA,EAAA,kBAAkB,CAAC,SAAS,CAAC,CAAA,CAAE,CACpE,CAAC;AACF,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACrE,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACrE,QAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,QAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1D,OAAO;YACL,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,GAAG,MAAM,GAAG,CAAC,EAAC;YAC9C,EAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,MAAM,GAAG,CAAC,EAAC;SAChD,CAAC;KACH;AAED,IAAA,mBAAmB,CACjB,OAAgB,EAChB,KAAa,EACb,MAAc,EACd,OAAgB,EAAA;AAEhB,QAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC;AACrC,QAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;AACnC,QAAA,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;AACtE,QAAA,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;AAC5C,QAAA,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;AACrC,QAAA,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACd,QAAA,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACd,QAAA,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;AACxB,QAAA,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACd,QAAA,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACd,QAAA,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACd,QAAA,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;AACxB,QAAA,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACd,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;AAC7C,QAAA,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAC3C;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;8GAvEU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3B7B,6pBAkBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDMY,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAG1C,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;+BACE,eAAe,EAAA,UAAA,EAEb,IAAI,EACC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAA,OAAA,EAC7C,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,6pBAAA,EAAA,CAAA;;;AEVnC,MAAM,CAAC,KAAK,CAAC,CAAC;AASR,MAAO,eACX,SAAQ,qBAAkC,CAAA;IAO1C,WAAqB,CAAA,GAAmB,EAAW,QAAkB,EAAA;AACnE,QAAA,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QADF,IAAG,CAAA,GAAA,GAAH,GAAG,CAAgB;QAAW,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAH7D,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;QAEH,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;QAG7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAChC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAC5B,GAAG,CAAC,MAAM,IAAG;AACX,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC/B,CAAC,CACH,CAAC;KACH;AACD,IAAA,SAAS,CAAC,MAAM,EAAA;QACd,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAG;AAChC,YAAA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1D,SAAC,CAAC,CAAC,IAAI,EAA4B,CAAC;KACrC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;8GAzBU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,ECxB5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,gSAMA,EDcY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,wLAAE,QAAQ,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAIrB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,cACZ,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,EACjC,OAAA,EAAA,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,gSAAA,EAAA,CAAA;;;IErBvB,aAGX;AAHD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,YAAA,CAAA,YAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACP,CAAC,EAHW,YAAY,KAAZ,YAAY,GAGvB,EAAA,CAAA,CAAA;;MCqBY,YAAY,CAAA;AASvB,IAAA,WAAA,CAAoB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAN9C,IAAS,CAAA,SAAA,GAAoD,IAAI,GAAG,EAAE;AAC3E,aAAA,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC;AACvC,aAAA,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACrC,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;KAGoC;IAE1D,QAAQ,GAAA;AACN,QAAA,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAClC,qBAAqB,EACrB,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,EACD;AACA,YAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC9D;AACD,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACjD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACnB;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IACE,IAAI,CAAC,KAAK;aACT,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACtD,gBAAA,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EACnC;YACA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACjD,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,aAAa,EAAE,CAAC;SACpE;KACF;8GApCU,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,oIAJb,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAID,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;qFAEU,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MCaK,cAAc,CAAA;AAQzB,IAAA,WAAA,GAAA;AALgB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;AACZ,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAGlD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;KACpC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;AAClD,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;KAC3B;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;KACnD;8GArBU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtC3B,mkBAgBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDYI,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,QAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,eAAe,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEf,eAAe,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEf,YAAY,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAIH,cAAc,EAAA,UAAA,EAAA,CAAA;kBAhB1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,YACN,YAAY,EAAA,eAAA,EAEL,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,iBAAiB;wBACjB,YAAY;wBACZ,eAAe;wBACf,eAAe;wBACf,eAAe;wBACf,gBAAgB;wBAChB,YAAY;qBACb,EACQ,OAAA,EAAA,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,mkBAAA,EAAA,CAAA;;;MEdtB,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAHf,CAAC,QAAQ,CAAC,0BCnBvB,qNAMA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDcY,SAAS,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,cAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,aAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAkB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAEtC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;+BACE,aAAa,EAAA,UAAA,EACX,IAAI,EAGP,OAAA,EAAA,CAAC,sBAAsB,CAAC,EAAA,eAAA,EAChB,uBAAuB,CAAC,MAAM,aACpC,CAAC,QAAQ,CAAC,EACZ,OAAA,EAAA,CAAC,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,qNAAA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,CAAA;8BAGzC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEHK,YAAY,CAAA;AAQvB,IAAA,WAAA,CAAoB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAH9C,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;KAGoC;IAE1D,QAAQ,GAAA;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACnB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,aAAa,EAAE,CAAC;SACpE;KACF;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KAC9C;8GA5BU,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,kKAJb,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAID,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;qFAEU,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;ACHR,MAAM,CAAC,KAAK,CAAC,CAAC;MAkBD,mBAAmB,CAAA;AAhBhC,IAAA,WAAA,GAAA;AAqBqB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAepD,KAAA;IAbC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAChE,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;KACtC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtC;KACF;8GArBU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EATnB,CAAC,QAAQ,CAAC,+CC/BvB,gNAGA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDgCI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEZ,YAAY,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGH,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAhB/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAGhB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,sBAAsB,CAAC,EAAA,eAAA,EAChB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,QAAQ,CAAC,EACZ,OAAA,EAAA;wBACP,SAAS;wBACT,cAAc;wBACd,YAAY;wBACZ,eAAe;wBACf,YAAY;AACb,qBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,CAAA;8BAGQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;AEzCR;;AAEG;;;;"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './component/three/public-api';
|
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tetacom/ng-threejs-chart",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^17.1.0",
|
|
6
|
+
"@angular/core": "^17.1.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"private": false,
|
|
13
|
+
"publishConfig": {
|
|
14
|
+
"access": "public"
|
|
15
|
+
},
|
|
16
|
+
"module": "fesm2022/tetacom-ng-threejs-chart.mjs",
|
|
17
|
+
"typings": "index.d.ts",
|
|
18
|
+
"exports": {
|
|
19
|
+
"./package.json": {
|
|
20
|
+
"default": "./package.json"
|
|
21
|
+
},
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./index.d.ts",
|
|
24
|
+
"esm2022": "./esm2022/tetacom-ng-threejs-chart.mjs",
|
|
25
|
+
"esm": "./esm2022/tetacom-ng-threejs-chart.mjs",
|
|
26
|
+
"default": "./fesm2022/tetacom-ng-threejs-chart.mjs"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|