{"version":3,"file":"alyle-ui-typography.mjs","sources":["../../../lib/typography/typography.directive.ts","../../../lib/typography/typography.module.ts","../../../lib/typography/alyle-ui-typography.ts"],"sourcesContent":["import { Directive, ElementRef, Renderer2, Input, OnInit, OnChanges } from '@angular/core';\nimport {\n  LyTheme2,\n  ThemeVariables,\n  mixinStyleUpdater,\n  mixinColor,\n  StyleCollection,\n  StyleTemplate,\n  st2c,\n  StyleRenderer } from '@alyle/ui';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nexport interface LyTypographyTheme {\n  /** Styles for Typography Component */\n  root?: StyleCollection<(() => StyleTemplate)>\n    | (() => StyleTemplate);\n  lyTyp?: {\n    [name: string]: StyleCollection<(() => StyleTemplate)>\n      | (() => StyleTemplate) | undefined\n  };\n}\n\nexport interface LyTypographyVariables {\n  typography?: LyTypographyTheme;\n}\n\nconst STYLE_PRIORITY = -1;\nexport const STYLES = (theme: ThemeVariables & LyTypographyVariables) => {\n  return {\n    $name: LyTypography.и,\n    $priority: STYLE_PRIORITY,\n    root: (_className: string) => `${_className}{margin:0;display:block;font-family:${theme.typography.fontFamily};}${st2c((\n        (theme.typography\n          && theme.typography.root\n          && (theme.typography.root instanceof StyleCollection\n            ? theme.typography.root.setTransformer(fn => fn()).css\n            : theme.typography.root())\n        )), `${_className}`)}`,\n    gutterTop: (_className: string) => `${_className}{margin-top:0.35em;}`,\n    gutterBottom: (_className: string) => `${_className}{margin-bottom:0.35em;}`,\n    gutter: (_className: string) => `${_className}{margin:0.35em 0;}`\n  };\n};\n\n\n/** @docs-private */\nexport class LyTypographyBase {\n  constructor(\n    public _theme: LyTheme2\n  ) { }\n}\n\n/** @docs-private */\nexport const LyTypographyMixinBase = mixinStyleUpdater(\n    mixinColor((LyTypographyBase)));\n\n@Directive({\n  selector: `[lyTyp]`,\n  inputs: [\n    'color'\n  ],\n  providers: [\n    StyleRenderer\n  ],\n  standalone: false\n})\nexport class LyTypography extends LyTypographyMixinBase implements OnInit, OnChanges {\n  /** @docs-private */\n  static readonly и = 'LyTypography';\n  /** @docs-private */\n  readonly classes = this._theme.renderStyleSheet(STYLES);\n  private _lyTyp: string;\n  private _lyTypClass: string | null;\n\n  private _gutter: boolean;\n\n  private _gutterTop: boolean;\n\n  private _gutterBottom: boolean;\n  private _noWrap: boolean;\n  private _noWrapClass?: string;\n\n  @Input()\n  set lyTyp(val: string) {\n    if (val !== this.lyTyp) {\n      if (val) {\n        this._lyTypClass = this._createTypClass(val, this._lyTypClass);\n      } else if (this._lyTypClass) {\n        this.renderer.removeClass(this._el.nativeElement, this._lyTypClass);\n        this._lyTypClass = null;\n      }\n    }\n  }\n  get lyTyp(): string {\n    return this._lyTyp;\n  }\n\n  /** The text will truncate with an ellipsis. */\n  @Input()\n  set noWrap(val: BooleanInput) {\n    const newValue = coerceBooleanProperty(val);\n    if (newValue) {\n      this._noWrapClass = this._theme.addSimpleStyle('lyTyp.noWrap', {\n        overflow: 'hidden',\n        whiteSpace: 'nowrap',\n        textOverflow: 'ellipsis'\n      });\n      this.renderer.addClass(this._el.nativeElement, this._noWrapClass);\n    } else if (this._noWrapClass) {\n      this.renderer.removeClass(this._el.nativeElement, this._noWrapClass);\n      this._noWrapClass = undefined;\n    }\n  }\n  get noWrap(): boolean {\n    return this._noWrap;\n  }\n\n  @Input()\n  set gutter(val: BooleanInput) {\n    const newVal = coerceBooleanProperty(val);\n    if (newVal !== this.gutter) {\n      this._gutter = newVal;\n      this.sRenderer.toggleClass(this.classes.gutter, newVal);\n    }\n  }\n  get gutter() {\n    return this._gutter;\n  }\n\n  @Input()\n  set gutterTop(val: BooleanInput) {\n    const newVal = coerceBooleanProperty(val);\n    if (newVal !== this.gutterTop) {\n      this._gutterTop = newVal;\n      this.sRenderer.toggleClass(this.classes.gutterTop, newVal);\n    }\n  }\n  get gutterTop() {\n    return this._gutterTop;\n  }\n\n  @Input()\n  set gutterBottom(val: BooleanInput) {\n    const newVal = coerceBooleanProperty(val);\n    if (newVal !== this.gutterBottom) {\n      this._gutterBottom = newVal;\n      this.sRenderer.toggleClass(this.classes.gutterBottom, newVal);\n    }\n  }\n  get gutterBottom() {\n    return this._gutterBottom;\n  }\n\n  constructor(\n    _theme: LyTheme2,\n    private _el: ElementRef,\n    private renderer: Renderer2,\n    readonly sRenderer: StyleRenderer\n  ) {\n    super(_theme);\n    this.renderer.addClass(this._el.nativeElement, this.classes.root);\n  }\n\n  ngOnInit() {\n    if ((this.gutterTop && this.gutterBottom)) {\n      throw new Error(`use '<element lyTyp gutter>' instead of '<element lyTyp gutterTop gutterBottom>'`);\n    }\n  }\n\n  ngOnChanges() {\n    this.updateStyle(this._el.nativeElement);\n  }\n\n  private _createTypClass(val: string, instance: string | null) {\n    const newKey = `k-typ:${val}`;\n\n    return this.sRenderer.add(newKey,\n      (theme: LyTypographyVariables) => {\n        if (theme.typography && theme.typography.lyTyp) {\n          const lyTyp = theme.typography.lyTyp[val];\n          if (lyTyp) {\n              return lyTyp instanceof StyleCollection\n                ? lyTyp.setTransformer((_) => _()).css\n                : lyTyp();\n            }\n        }\n        throw new Error(`Value typography.lyTyp['${val}'] not found in ThemeVariables`);\n      },\n      STYLE_PRIORITY,\n      instance,\n    );\n  }\n\n}\n","import { NgModule } from '@angular/core';\nimport { LyCommonModule } from '@alyle/ui';\n\nimport { LyTypography } from './typography.directive';\n\n@NgModule({\n  exports: [LyTypography, LyCommonModule],\n  declarations: [LyTypography]\n})\nexport class LyTypographyModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}