@alyle/ui
Version:
Minimal Design, a set of components for Angular
1 lines • 7.72 kB
Source Map (JSON)
{"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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"}