{"version":3,"file":"ngx-lipsum.mjs","sources":["../../../projects/ngx-lipsum/src/lib/lipsum.service.ts","../../../projects/ngx-lipsum/src/lib/lipsum.directive.ts","../../../projects/ngx-lipsum/src/lib/ngx-lipsum.component.ts","../../../projects/ngx-lipsum/src/public-api.ts","../../../projects/ngx-lipsum/src/ngx-lipsum.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { loremIpsum, ILoremIpsumParams } from 'lorem-ipsum';\n\n@Injectable({ providedIn: 'root' })\nexport class LipsumService {\n  constructor() {}\n  get(params?: ILoremIpsumParams) {\n    return loremIpsum(params);\n  }\n}\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport { LipsumService } from './lipsum.service';\nimport { ILoremIpsumParams, loremIpsum } from 'lorem-ipsum';\n\nconst SHORT_EL_DEFAULTS: ILoremIpsumParams = {\n  units: 'words',\n  count: 4,\n};\nconst SENTENCE_DEFAULTS: ILoremIpsumParams = {\n  units: 'sentences',\n  count: 1,\n};\nconst PARAGRAPHS_DEFAULTS: ILoremIpsumParams = {\n  units: 'paragraphs',\n  count: 5,\n};\nconst CONFIG_MAP = new Map<string, ILoremIpsumParams>([\n  ['a', SHORT_EL_DEFAULTS],\n  ['article', PARAGRAPHS_DEFAULTS],\n  ['aside', PARAGRAPHS_DEFAULTS],\n  ['b', SHORT_EL_DEFAULTS],\n  ['button', SHORT_EL_DEFAULTS],\n  ['caption', SENTENCE_DEFAULTS],\n  ['cite', SENTENCE_DEFAULTS],\n  ['code', SENTENCE_DEFAULTS],\n  ['del', SHORT_EL_DEFAULTS],\n  ['details', SENTENCE_DEFAULTS],\n  ['dialog', SENTENCE_DEFAULTS],\n  ['div', PARAGRAPHS_DEFAULTS],\n  ['em', SHORT_EL_DEFAULTS],\n  ['figcaption', SENTENCE_DEFAULTS],\n  ['footer', PARAGRAPHS_DEFAULTS],\n  ['h1', SHORT_EL_DEFAULTS],\n  ['h2', SHORT_EL_DEFAULTS],\n  ['h3', SHORT_EL_DEFAULTS],\n  ['h4', SHORT_EL_DEFAULTS],\n  ['h5', SHORT_EL_DEFAULTS],\n  ['h6', SHORT_EL_DEFAULTS],\n  ['header', SENTENCE_DEFAULTS],\n  ['input', SHORT_EL_DEFAULTS],\n  ['label', SHORT_EL_DEFAULTS],\n  ['li', SENTENCE_DEFAULTS],\n  ['main', PARAGRAPHS_DEFAULTS],\n  ['nav', SENTENCE_DEFAULTS],\n  [\n    'ol',\n    { ...PARAGRAPHS_DEFAULTS, paragraphLowerBound: 1, paragraphUpperBound: 1 },\n  ],\n  ['option', SHORT_EL_DEFAULTS],\n  ['output', SENTENCE_DEFAULTS],\n  ['p', { ...PARAGRAPHS_DEFAULTS, count: 1 }],\n  ['pre', SENTENCE_DEFAULTS],\n  ['s', SHORT_EL_DEFAULTS],\n  ['section', PARAGRAPHS_DEFAULTS],\n  ['small', SHORT_EL_DEFAULTS],\n  ['span', SHORT_EL_DEFAULTS],\n  ['strong', SHORT_EL_DEFAULTS],\n  ['sub', SHORT_EL_DEFAULTS],\n  ['summary', SENTENCE_DEFAULTS],\n  ['sup', SHORT_EL_DEFAULTS],\n  ['td', SHORT_EL_DEFAULTS],\n  ['template', SENTENCE_DEFAULTS],\n  ['textarea', SENTENCE_DEFAULTS],\n  ['th', SHORT_EL_DEFAULTS],\n  [\n    'ul',\n    { ...PARAGRAPHS_DEFAULTS, paragraphLowerBound: 1, paragraphUpperBound: 1 },\n  ],\n]);\n\n@Directive({\n  selector: '[lipsum]',\n  standalone: true,\n})\nexport class LipsumDirective implements OnInit {\n  @Input('lipsum') config?: ILoremIpsumParams = {};\n\n  constructor(readonly el: ElementRef<any>, private renderer: Renderer2) {}\n\n  get params(): ILoremIpsumParams {\n    return {\n      ...(CONFIG_MAP.get(this.el.nativeElement.localName) || {}),\n      ...this.config,\n    };\n  }\n\n  ngOnInit() {\n    const el = this.el.nativeElement;\n    if (['input', 'textarea', 'output'].includes(el.localName)) {\n      this.setLipsumForInputElements(this.el);\n    } else if (['ul', 'ol'].includes(el.localName)) {\n      this.setLipsumForListElements(this.el);\n    } else {\n      this.setLipsumForCommonElements(this.el);\n    }\n  }\n\n  private setLipsumForInputElements(\n    ref: ElementRef<HTMLInputElement | HTMLTextAreaElement>,\n  ) {\n    ref.nativeElement.value = loremIpsum(this.params);\n  }\n\n  private setLipsumForListElements(\n    ref: ElementRef<HTMLOListElement | HTMLLIElement>,\n  ) {\n    const paragraphs = loremIpsum(this.params).split('\\n');\n    paragraphs.forEach(p => {\n      const liEl = this.renderer.createElement('li');\n      liEl.innerText = p;\n      ref.nativeElement.appendChild(liEl);\n    });\n  }\n\n  private setLipsumForCommonElements(ref: ElementRef<HTMLElement>) {\n    ref.nativeElement.innerText = loremIpsum(this.params);\n  }\n}\n","import { Component, Input, SimpleChanges } from '@angular/core';\nimport { ILoremIpsumParams, loremIpsum } from 'lorem-ipsum';\n\n@Component({\n  selector: 'ngx-lipsum',\n  template: `<ng-container>{{ text }}</ng-container>`,\n  standalone: true,\n})\nexport class NgxLipsumComponent {\n  @Input() config?: ILoremIpsumParams;\n\n  public text!: string;\n  constructor() {\n    this.setText();\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    this.setText();\n  }\n\n  private setText() {\n    this.text = loremIpsum(this.config);\n  }\n}\n","/*\n * Public API Surface of ngx-lipsum\n */\n\nexport * from './lib/lipsum.service';\nexport * from './lib/lipsum.directive';\nexport * from './lib/ngx-lipsum.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}