{"version":3,"file":"obliczeniowo-elementary-text-pipes.mjs","sources":["../../../../projects/components/text-pipes/pipes/text-format.pipe.ts","../../../../projects/components/text-pipes/pipes/text-size.pipe.ts","../../../../projects/components/text-pipes/pipes/translation.pipe.ts","../../../../projects/components/text-pipes/pipes/text-split.pipe.ts","../../../../projects/components/text-pipes/text-pipes.module.ts","../../../../projects/components/text-pipes/obliczeniowo-elementary-text-pipes.ts"],"sourcesContent":["import { TextFormatType } from './../types/pipes.type';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n    name: 'oblTextFormat',\n    standalone: false\n})\nexport class TextFormatPipe implements PipeTransform {\n  transform(value: string, ...args: TextFormatType): string {\n    switch (args[0]) {\n      case 'lower':\n        return value.toLowerCase();\n      case 'upper':\n        return value.toUpperCase();\n      case 'upperFirst':\n        return this.firstToUpper(value);\n      case 'allFirstToUpper':\n        return value.split(' ').map(t => this.firstToUpper(t)).join(' ');\n      case 'ellipsis':\n        return (value.length > args[1] ? value.substring(0, args[1] - 1) + '…' : value);\n      case 'css':\n        return value.toLowerCase().replace(/[;:.,?><'\"`~@#$%^&*+=!()[\\]]/g, '').split(' ').join('-');\n      case 'noPolishLetters':\n        return value.normalize('NFD').replace(/[\\u0142]/g, 'l').replace(/[\\u0142-\\u036f]/g, '').replace(/[Ł]/g, 'L');\n    }\n  }\n\n  protected firstToUpper(text: string): string {\n    return text.substring(0, 1).toUpperCase() + text.substring(1);\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Size } from '@obliczeniowo/elementary/resize-window';\n\n@Pipe({\n    name: 'textSize',\n    standalone: false\n})\nexport class TextSizePipe implements PipeTransform {\n  div = document.createElement('div');\n\n  constructor() {\n    this.div.style.position = 'absolute';\n    this.div.style.left = '-10000';\n    this.div.style.top = '-10000';\n  }\n\n  transform(value: string, fontSize: number): Size {\n    return this.measureText(value, fontSize || 10);\n  }\n\n  measureText(text: string, fontSize: number): Size {\n    document.body.appendChild(this.div);\n\n    this.div.style.fontSize = `${fontSize}px`;\n\n    this.div.textContent = text;\n\n    const lResult = {\n      width: this.div.clientWidth,\n      height: this.div.clientHeight\n    };\n\n    document.body.removeChild(this.div);\n\n    return lResult;\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n    name: 'oblTranslation',\n    standalone: false\n})\nexport class TranslationPipe implements PipeTransform {\n  /**\n   * Transforming key by translations mapping object\n   * @param value string key to translate\n   * @param translations translations map\n   * @param params params for translations\n   * @param def override default\n   * @returns translated string\n   */\n  transform(value: string, translations: { [en: string]: string | undefined }, params?: { [param: string]: string | number }, def?: string): string {\n    return this.setParams(translations[value] || def || value, params);\n  }\n\n  setParams(translation: string, params?: { [param: string]: string | number }) {\n    if (params) {\n      const reg = /\\{([^}]*)\\}/mg;\n      const find = translation.match(reg);\n      const clear = (match: string) => match.replace(/\\{|\\}/g, '');\n      find?.forEach(found => translation = translation.replace(new RegExp(found, 'g'), `${params?.[clear(found)] ?? `unknown param ${found}`}`));\n    }\n\n    return translation;\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'oblTextSplit',\n  standalone: false\n})\nexport class TextSplitPipe implements PipeTransform {\n  transform(value: string, by: string = ' '): string[] {\n    return value.split(by);\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextFormatPipe } from './pipes/text-format.pipe';\nimport { TextSizePipe } from './pipes/text-size.pipe';\nimport { TranslationPipe } from './pipes/translation.pipe';\nimport { TextSplitPipe } from './pipes/text-split.pipe';\n\n@NgModule({\n  declarations: [\n    TextFormatPipe,\n    TextSizePipe,\n    TranslationPipe,\n    TextSplitPipe\n  ],\n  imports: [\n    CommonModule,\n  ],\n  exports: [\n    TextFormatPipe,\n    TextSizePipe,\n    TranslationPipe,\n    TextSplitPipe\n  ]\n})\nexport class TextPipesModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}