{"version":3,"file":"alyle-ui-badge.mjs","sources":["../../../lib/badge/badge.ts","../../../lib/badge/badge.module.ts","../../../lib/badge/alyle-ui-badge.ts"],"sourcesContent":["import {\n  Directive,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnInit,\n  Renderer2,\n  OnDestroy,\n  InjectionToken\n} from '@angular/core';\nimport {\n  LyTheme2,\n  mixinBg,\n  mixinColor,\n  mixinDisabled,\n  mixinElevation,\n  mixinOutlined,\n  mixinRaised,\n  mixinShadowColor,\n  mixinStyleUpdater,\n  ThemeVariables,\n  st2c,\n  LyClasses,\n  StyleTemplate,\n  ThemeRef,\n  StyleCollection,\n  StyleRenderer } from '@alyle/ui';\n\n\nexport interface LyBadgeVariables {\n  badge?: LyBadgeTheme;\n}\n\nexport interface LyBadgeTheme {\n  root?: StyleCollection<((classes: LyClasses<typeof STYLES>) => StyleTemplate)>\n    | ((classes: LyClasses<typeof STYLES>) => StyleTemplate);\n  appearance?: {\n    default?: (classes: LyClasses<typeof STYLES>) => StyleTemplate\n    dot?: (classes: LyClasses<typeof STYLES>) => StyleTemplate\n    [name: string]: ((classes: LyClasses<typeof STYLES>) => StyleTemplate) | undefined\n  };\n}\n\nexport const LY_BADGE_DEFAULT_OPTIONS = new InjectionToken<LyBadgeTheme>('BADGE_DEFAULT_OPTIONS');\n\nconst STYLE_PRIORITY = -2;\nconst DEFAULT_H_POSITION = 'after';\nconst DEFAULT_V_POSITION = 'above';\nconst DEFAULT_BG = 'primary';\nconst DEFAULT_APPEARANCE = 'default';\nconst DEFAULT_OVERLAP = 'rectangle';\n\nexport const STYLES = (theme: ThemeVariables & LyBadgeVariables, ref: ThemeRef) => {\n  const badge = ref.selectorsOf(STYLES);\n  return {\n    $name: LyBadge.и,\n    $priority: STYLE_PRIORITY,\n    root: ( ) => (_className: string) => `${_className}{position:absolute;display:flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:${theme.pxToRem(12)};font-family:${theme.typography.fontFamily};justify-content:center;align-items:center;box-sizing:border-box;z-index:1;}${st2c((\n          (theme.badge\n            && theme.badge.root\n            && (theme.badge.root instanceof StyleCollection\n              ? theme.badge.root.setTransformer(fn => fn(badge))\n              : theme.badge.root(badge))\n          )), `${_className}`)}`,\n    relative: (_className: string) => `${_className}{position:relative;}`\n  };\n};\n\n/** @docs-private */\nexport class LyBadgeBase {\n  constructor(\n    public _theme: LyTheme2\n  ) { }\n}\n\n/** @docs-private */\nexport const LyBadgeMixinBase = mixinStyleUpdater(\nmixinBg(\n  mixinColor(\n    mixinRaised(\n      mixinDisabled(\n        mixinOutlined(\n          mixinElevation(\n            mixinShadowColor(LyBadgeBase))))))));\n\n@Directive({\n  selector: 'ly-badge, [lyBadge]',\n  inputs: [\n    'bg',\n    'color',\n    'raised',\n    'disabled',\n    'outlined',\n    'elevation',\n    'shadowColor'\n  ],\n  standalone: false\n})\nexport class LyBadge extends LyBadgeMixinBase implements OnChanges, OnInit, OnDestroy {\n  static readonly и = 'LyBadge';\n  /**\n   * Styles\n   * @docs-private\n   */\n  readonly classes = this._theme.renderStyleSheet(STYLES);\n  private _content: string | number;\n  // private _position: string;\n  private _positionClass: string;\n  private _badgeEl: any;\n  private _badgeElementRef: any;\n  private _sRenderer?: StyleRenderer;\n\n  /** The content for the badge */\n  @Input('lyBadge')\n  set content(val: string | number) {\n    if (val !== this.content) {\n      this._content = val;\n      this._createBadge();\n    }\n  }\n  get content(): string | number {\n    return this._content;\n  }\n\n  @Input()\n  set container(container: HTMLElement) {\n    if (container == null) {\n      throw new Error(`${LyBadge.и}: [container] is undefined.`);\n    }\n    if (this.content != null) {\n      throw new Error(`${LyBadge.и}: [container] with [content] don't work together.`);\n    }\n    if (!container.tagName) {\n      throw new Error(`${LyBadge.и}: the value given to container is not an HTMLElement`);\n    }\n    this._container = container;\n    this._renderer.appendChild(container, this._el.nativeElement);\n\n  }\n  get container() {\n    return this._container;\n  }\n  private _container: HTMLElement;\n\n  @Input() hPosition: 'before' | 'after';\n  @Input() vPosition: 'above' | 'below';\n\n  @Input()\n  get overlap() {\n    return this._overlap;\n  }\n  set overlap(val: 'circle' | 'rectangle') {\n    if (val !== this.overlap) {\n      this._overlap = val;\n\n      Promise.resolve(null!).then(() => {\n        const overlap = val;\n        const hp = this.hPosition;\n        const vp = this.vPosition;\n\n        const newClass = this._theme.renderStyle(`${LyBadge.и}-overlap-${val}&${hp}&${vp}`, (theme: ThemeVariables) => {\n          const p = overlap === 'circle'\n            ? 14 : 0;\n          return (_className: string) => `${_className}{${theme.getDirection(vp)}:${p}%;${theme.getDirection(hp)}:${p}%;}`;\n        }, STYLE_PRIORITY);\n        this._overlapClass = this._sRenderer!.updateClass(newClass, this._overlapClass);\n      });\n    }\n  }\n  private _overlap: 'circle' | 'rectangle';\n  private _overlapClass: string;\n\n  /** The color of the badge */\n  @Input()\n  get bg() {\n    return this._lyBadgeBg;\n  }\n  set bg(val: string) {\n    if (this.content == null) {\n      this.lyBadgeBg = val;\n    }\n  }\n\n  /** The color of the badge */\n  @Input()\n  get lyBadgeBg() {\n    return this._lyBadgeBg;\n  }\n  set lyBadgeBg(val: string) {\n    if (val !== this.lyBadgeBg) {\n      this._lyBadgeBg = val;\n\n      const newClass = this._theme.renderStyle(`${LyBadge.и}--bg-${val}`,\n      (theme: ThemeVariables) => (_className: string) => `${_className}{background-color:${theme.colorOf(val)};color:${theme.colorOf(`${val}:contrast`)};`, STYLE_PRIORITY);\n\n      Promise.resolve(null!).then(() => {\n        this[0x1] = this._sRenderer!.updateClass(newClass, this[0x1]);\n      });\n\n\n    }\n  }\n  private _lyBadgeBg: string;\n\n  @Input()\n  get appearance() {\n    return this._appearance;\n  }\n  set appearance(val: string) {\n    if (this.content == null) {\n      this.lyBadgeAppearance = val;\n    }\n  }\n\n  @Input()\n  get lyBadgeAppearance() {\n    return this._appearance;\n  }\n  set lyBadgeAppearance(val: string) {\n    if (val !== this.appearance) {\n      this._appearance = val;\n      const styleID = `${LyBadge.и}--appearance-${val}`;\n      const newClass = this._theme.renderStyle(\n        styleID,\n        (theme: LyBadgeVariables) => {\n          const appearance = theme.badge\n            && theme.badge.appearance\n            && theme.badge.appearance[val]\n            && theme.badge.appearance[val]!(this.classes);\n          if (appearance) {\n            return appearance;\n          }\n          throw new Error(`${styleID} is not defined in the theme.`);\n        },\n        STYLE_PRIORITY\n      );\n      Promise.resolve(null!).then(() => {\n        this._appearanceClass = this._sRenderer!.updateClass(newClass, this._appearanceClass);\n      });\n    }\n  }\n\n  private _appearance: string;\n  private _appearanceClass: string;\n\n  constructor(\n    private _el: ElementRef<HTMLElement>,\n    _theme: LyTheme2,\n    private _renderer: Renderer2\n  ) {\n    super(_theme);\n    this.setAutoContrast();\n    this._badgeElementRef = this._el.nativeElement;\n  }\n\n  ngOnChanges() {\n    if (this.content == null) {\n      this.updateStyle(this._el);\n    }\n    this._updatePosition();\n    if (!this._sRenderer) {\n      this._sRenderer = new StyleRenderer(this._theme, this._el, this._renderer);\n    }\n  }\n\n  ngOnInit() {\n\n    /** Add root styles */\n    this._renderer.addClass(this._badgeElementRef, this.classes.root);\n\n    /** Set default bg */\n    if (!this.bg) {\n      this.lyBadgeBg = DEFAULT_BG;\n    }\n\n    /** Set default position */\n    let requireUpdate = false;\n    if (!this.hPosition) {\n      requireUpdate = true;\n      this.hPosition = DEFAULT_H_POSITION;\n    }\n    if (!this.vPosition) {\n      requireUpdate = true;\n      this.vPosition = DEFAULT_V_POSITION;\n    }\n    if (requireUpdate) {\n      this._updatePosition();\n    }\n\n    /** Set default appearance */\n    if (!this.appearance) {\n      this.lyBadgeAppearance = DEFAULT_APPEARANCE;\n    }\n\n    /** Set default overlap */\n    if (!this.overlap) {\n      this.overlap = DEFAULT_OVERLAP;\n    }\n  }\n\n  ngOnDestroy() {\n    if (this._badgeEl) {\n      this._renderer.removeChild(this._el.nativeElement, this._badgeEl);\n    }\n  }\n\n  private _updatePosition() {\n    const hp = this.hPosition;\n    const vp = this.vPosition;\n\n    if (hp && vp) {\n      let y: number;\n      let x: number;\n      if (hp && vp) {\n        if (hp === 'after') {\n          x = 50;\n        } else {\n          x = -50;\n        }\n        if (vp === 'above') {\n          y = -50;\n        } else {\n          y = 50;\n        }\n      }\n\n      const newClass = this._theme.renderStyle(`${LyBadge.и}--position-${hp}-${vp}`,\n      (theme: ThemeVariables) => (_className: string) => `${_className}{transform:translate(${theme.after === 'right'\n          ? x : -x}%,${y}%);}`, STYLE_PRIORITY);\n\n      Promise.resolve(null!).then(() => {\n        this._positionClass = this._sRenderer!.updateClass(newClass, this._positionClass);\n      });\n\n    }\n  }\n\n  private _createBadge() {\n    if (!this._badgeEl) {\n      const badge = this._badgeEl = this._renderer.createElement('div');\n      this._renderer.appendChild((this.container) || this._el.nativeElement, badge);\n      this._badgeElementRef = badge;\n      this._sRenderer = new StyleRenderer(this._theme, new ElementRef(badge), this._renderer);\n\n      /** Add position relative */\n      this._renderer.addClass(this._el.nativeElement, this.classes.relative);\n    }\n    this._badgeEl.textContent = `${this.content}`;\n  }\n\n}\n","import { NgModule } from '@angular/core';\nimport { LyCommonModule } from '@alyle/ui';\nimport { LyBadge } from './badge';\n\n@NgModule({\n  exports: [LyBadge, LyCommonModule],\n  declarations: [LyBadge]\n})\nexport class LyBadgeModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}