@obliczeniowo/elementary
Version:
Library made in Angular version 20
1 lines • 4.94 kB
Source Map (JSON)
{"version":3,"file":"obliczeniowo-elementary-chemical-text.mjs","sources":["../../../../projects/components/chemical-text/chemical-text/chemical-text.component.ts","../../../../projects/components/chemical-text/chemical-text/chemical-text.component.html","../../../../projects/components/chemical-text/chemical-text.module.ts","../../../../projects/components/chemical-text/obliczeniowo-elementary-chemical-text.ts"],"sourcesContent":["import { Component, effect, input } from '@angular/core';\n\nimport { symbols as chemicalSymbols } from '@obliczeniowo/elementary/utils';\n\n@Component({\n selector: 'obl-chemical-text',\n templateUrl: './chemical-text.component.html',\n styleUrl: './chemical-text.component.scss',\n standalone: false\n})\nexport class ChemicalTextComponent {\n text = input<string>();\n\n fontSize = input<string>();\n\n type = input<'background' | 'color'>('color');\n\n protected prepared: string[] = [];\n\n constructor() {\n effect(() => {\n const text = this.text();\n if (text) {\n const convert = text.split(' ');\n convert.forEach((toConvert, i) => {\n let symbols = [...chemicalSymbols];\n let index = -1;\n let s = '';\n symbols.forEach(symbol => {\n const found = toConvert.toLowerCase().search(symbol.toLowerCase());\n if ((index > -1 && found <= index && s.length <= symbol.length && found !== -1) || (index === -1 && found !== -1)) {\n index = found;\n s = symbol;\n }\n });\n\n if (index !== -1) {\n convert[i] = toConvert.replace(new RegExp(s, 'i'), `<span class=\"${this.type()}\">${s}</span>`);\n }\n\n symbols = symbols.filter(symbol => symbol !== s);\n });\n this.prepared = convert.join(' ').split('\\n');\n }\n })\n }\n}\n","@for (line of prepared; track line) {\n <div [innerHtml]=\"line | safe : 'html'\" [style.fontSize]=\"fontSize()\"></div>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { JsonDefTableModule } from '@obliczeniowo/elementary/json-def-table';\n\nimport { ChemicalTextComponent } from './chemical-text/chemical-text.component';\n\n@NgModule({\n declarations: [\n ChemicalTextComponent\n ],\n imports: [\n CommonModule,\n JsonDefTableModule\n ],\n exports: [\n ChemicalTextComponent\n ]\n})\nexport class ChemicalTextModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["symbols","chemicalSymbols"],"mappings":"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"}