@obliczeniowo/elementary
Version:
Library made in Angular version 20
1 lines • 7.26 kB
Source Map (JSON)
{"version":3,"file":"obliczeniowo-elementary-temperature.mjs","sources":["../../../../projects/components/temperature/components/temperature/temperature.component.ts","../../../../projects/components/temperature/components/temperature/temperature.component.html","../../../../projects/components/temperature/temperature.module.ts","../../../../projects/components/temperature/obliczeniowo-elementary-temperature.ts"],"sourcesContent":["import { ColorHSV, ColorRGB } from '@obliczeniowo/elementary/classes';\nimport { ElementaryMath } from '@obliczeniowo/elementary/math';\nimport { Component, Input } from '@angular/core';\n\nexport enum Unit {\n Celsius = '°C',\n Fahrenheit = 'F',\n Kelvin = 'K'\n}\n\n@Component({\n selector: 'obl-temperature',\n templateUrl: './temperature.component.html',\n styleUrls: ['./temperature.component.scss'],\n standalone: false\n})\nexport class TemperatureComponent {\n private _value = 0;\n\n @Input() max = 100;\n @Input() min = 0;\n\n /**\n * Temperature value get\n */\n @Input()\n get value(): number {\n return this._value;\n }\n\n /**\n * Temperature value set\n */\n set value(value) {\n this._value = value;\n this.fill = ColorHSV.createColorHSVfromRGB(\n new ColorRGB(0, 100, 255)).addHue(\n 150 * this.k()\n ).convertToRGB();\n }\n\n /**\n * Unit for temperature (Celsius, Fahrenheit, Kelvin)\n */\n @Input() unit = Unit.Celsius;\n\n protected readonly scaleDt = 13.23;\n\n id!: string;\n\n fill: ColorRGB = ColorHSV.createColorHSVfromRGB(new ColorRGB(0, 100, 255)).convertToRGB();\n\n get dt(): number {\n return 50 * (1 - this.k());\n }\n\n protected k(value: number = this.value): number {\n return (ElementaryMath.minmax(value, this.min, this.max) - this.min) / (this.max - this.min);\n }\n\n constructor() {\n this.value = 0;\n\n do {\n this.id = `temperature${Math.floor(Math.random() * 100000)}`;\n } while (document.querySelector(this.id));\n }\n\n yScalePos(value: number): number {\n return 2.645 + 0.4 + this.scaleDt * (1 - this.k(value));\n }\n}\n","<svg\n xmlns:svg=\"http://www.w3.org/2000/svg\"\n width=\"80\"\n height=\"160\"\n viewBox=\"0 0 10.583333 21.166667\"\n>\n <defs id=\"defs2\">\n <clipPath [attr.id]=\"id\">\n <rect [attr.y]=\"10 + dt\" x=\"3\" [attr.height]=\"67 - dt\" width=\"14\" />\n </clipPath>\n </defs>\n <g>\n <path\n class=\"outline\"\n d=\"m 2.6458333,1.3229166 c -0.4397375,0 -0.79375,0.3540125 -0.79375,0.79375 V 16.937467 A 1.7717633,1.7717633 0 0 0 0.87384847,18.520833 1.7717633,1.7717633 0 0 0 2.6458333,20.292818 1.7717633,1.7717633 0 0 0 4.4178182,18.520833 1.7717633,1.7717633 0 0 0 3.4395833,16.939017 V 2.1166666 c 0,-0.4397375 -0.3540125,-0.79375 -0.79375,-0.79375 z\"\n />\n <path\n [attr.clip-path]=\"'url(#' + id + ')'\"\n transform=\"scale(0.26458333)\"\n d=\"M 10,6 C 8.8920003,6 8,6.8920003 8,8 V 64.556641 A 5.8035711,5.8035711 0 0 0 4.1972656,70 5.8035711,5.8035711 0 0 0 10,75.802734 5.8035711,5.8035711 0 0 0 15.802734,70 5.8035711,5.8035711 0 0 0 12,64.558594 V 8 C 12,6.8920003 11.108,6 10,6 Z\"\n style=\"stroke-width: 0.5; stroke-linejoin: round\"\n [style.fill]=\"fill.toString()\"\n />\n </g>\n <g>\n <path class=\"outline\" d=\"M 4,2.645 H 5\" />\n <text>\n <tspan\n class=\"text\"\n x=\"5.2\"\n [attr.y]=\"yScalePos(max)\"\n style=\"font-size: 1.5px; text-anchor: start; text-align: start\"\n >\n {{ max }}\n </tspan>\n </text>\n\n <path class=\"outline\" d=\"M 4,15.875 H 5\" />\n\n <text>\n <tspan\n class=\"text\"\n x=\"5.2\"\n [attr.y]=\"yScalePos(min)\"\n style=\"font-size: 1.5px; text-anchor: start; text-align: start\"\n >\n {{ min }}\n </tspan>\n </text>\n\n <text>\n <tspan\n class=\"text\"\n x=\"5\"\n [attr.y]=\"19\"\n style=\"font-size: 1.5px; text-anchor: start; text-align: start\"\n >\n {{ value.toFixed() }} {{ unit }}\n </tspan>\n </text>\n </g>\n</svg>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TemperatureComponent } from './components/temperature/temperature.component';\n\n@NgModule({\n declarations: [\n TemperatureComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n TemperatureComponent\n ]\n})\nexport class TemperatureModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}