{"version":3,"file":"alyle-ui-avatar.mjs","sources":["../../../lib/avatar/avatar.ts","../../../lib/avatar/avatar.module.ts","../../../lib/avatar/alyle-ui-avatar.ts"],"sourcesContent":["import { Directive, Input, ElementRef, OnInit, OnChanges, Renderer2, InjectionToken, Inject, Optional } from '@angular/core';\nimport {\n  LyTheme2,\n  mixinBg,\n  mixinColor,\n  mixinElevation,\n  mixinOutlined,\n  mixinRaised,\n  mixinShadowColor,\n  mixinStyleUpdater,\n  ThemeVariables,\n  st2c,\n  StyleTemplate,\n  StyleRenderer } from '@alyle/ui';\n\nexport interface LyAvatarTheme {\n  /** Styles for Avatar Component */\n  root?: () => StyleTemplate;\n}\n\nexport interface LyAvatarDefaultOptions {\n  size?: number;\n  bg?: string;\n}\n\nexport interface LyAvatarVariables {\n  avatar?: LyAvatarTheme;\n}\n\n\nconst STYLE_PRIORITY = -2;\nconst DEFAULT_SIZE = 40;\nconst DEFAULT_BG = 'action';\n\nexport const LY_AVATAR_DEFAULT_OPTIONS =\n    new InjectionToken<LyAvatarDefaultOptions>('LY_AVATAR_DEFAULT_OPTIONS');\n\nexport const STYLES = (theme: ThemeVariables & LyAvatarVariables) => {\n  return {\n    $name: LyAvatar.и,\n    $priority: STYLE_PRIORITY,\n    root: (_className: string) => `${_className}{display:inline-flex;position:relative;font-size:1.25em;flex-shrink:0;align-items:center;user-select:none;border-radius:50%;text-align:center;justify-content:center;}${_className}>img{width:100%;height:100%;border-radius:50%;display:block;object-fit:cover;-webkit-background-clip:padding-box;}${st2c((\n          (theme.avatar\n            && theme.avatar.root\n            && theme.avatar.root())), `${_className}`)}`\n  };\n};\n\n/** @docs-private */\nexport class LyAvatarBase {\n  constructor(\n    public _theme: LyTheme2\n  ) { }\n}\n\n/** @docs-private */\nexport const LyAvatarMixinBase = mixinStyleUpdater(\n  mixinBg(\n    mixinColor(\n      mixinRaised(\n        mixinOutlined(\n          mixinElevation(\n            mixinShadowColor(LyAvatarBase)))))));\n\n@Directive({\n  selector: 'ly-avatar',\n  inputs: [\n    'bg',\n    'color',\n    'raised',\n    'outlined',\n    'elevation',\n    'shadowColor',\n  ],\n  providers: [\n    StyleRenderer\n  ],\n  standalone: false\n})\nexport class LyAvatar extends LyAvatarMixinBase implements OnChanges, OnInit {\n  /** @docs-private */\n  static readonly и = 'LyAvatar';\n\n  /** @docs-private */\n  readonly classes = this._theme.renderStyleSheet(STYLES);\n  private _size: number;\n\n  /** Avatar size */\n  @Input()\n  set size(val: number) {\n    if (val !== this.size) {\n      this._size = val;\n      this[0x1] = this.sRenderer.add(`${LyAvatar.и}-size-${val}`, () => (\n        (_className: string) => `${_className}{width:${val}px;height:${val}px;}`\n      ), STYLE_PRIORITY, this[0x1]);\n\n      // const newClass = this._theme.renderStyle(`${LyAvatar.и}.size:${val}`, () => (\n      //   (_className: string) => `${_className}{ ;`\n      // ), STYLE_PRIORITY);\n      // this._sizeClass = this._hostClass.update(newClass, this._sizeClass);\n    }\n  }\n  get size() {\n    return this._size;\n  }\n  [0x1]: string;\n\n  constructor(\n    theme: LyTheme2,\n    renderer: Renderer2,\n    private _elementRef: ElementRef,\n    readonly sRenderer: StyleRenderer,\n    @Optional() @Inject(LY_AVATAR_DEFAULT_OPTIONS) private _defaults: LyAvatarDefaultOptions\n  ) {\n    super(theme);\n    this.setAutoContrast();\n    renderer.addClass(_elementRef.nativeElement, this.classes.root);\n  }\n\n  ngOnChanges() {\n    this.updateStyle(this._elementRef.nativeElement);\n  }\n\n  ngOnInit() {\n    if (!this.bg) {\n      this.bg = (this._defaults && this._defaults.bg) || DEFAULT_BG;\n      this.ngOnChanges();\n    }\n    if (!this.size) {\n      this.size = (this._defaults && this._defaults.size) || DEFAULT_SIZE;\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { LyCommonModule } from '@alyle/ui';\nimport { LyAvatar } from './avatar';\n\n@NgModule({\n  exports: [LyAvatar, LyCommonModule],\n  declarations: [LyAvatar]\n})\nexport class LyAvatarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}