{"version":3,"file":"edsis-component-avatar.mjs","sources":["../../../library/component/avatar/avatar.component.ts","../../../library/component/avatar/edsis-component-avatar.ts"],"sourcesContent":["import { Component, computed, input, signal } from '@angular/core';\nimport { cn } from '@edsis/component/class';\n\nconst avatarSizeClasses = {\n  default: 'h-10 w-10',\n  sm: 'h-8 w-8',\n  lg: 'h-12 w-12',\n} as const;\n\nexport type AvatarSize = keyof typeof avatarSizeClasses;\n\n@Component({\n  selector: 'Avatar',\n  host: {\n    '[class]': 'classes()',\n    '[attr.data-size]': 'size()',\n  },\n  template: `<ng-content />`,\n})\nexport class AvatarComponent {\n  readonly size = input<AvatarSize>('default');\n  readonly class = input<string>('');\n  protected readonly classes = computed(() =>\n    cn(\n      'relative flex shrink-0 overflow-visible rounded-full',\n      avatarSizeClasses[this.size()],\n      this.class(),\n    ),\n  );\n}\n\n@Component({\n  selector: 'AvatarImage',\n  host: {\n    class: 'absolute inset-0 z-10 block overflow-hidden rounded-[inherit]',\n  },\n  template: `\n    @if (!failed()) {\n      <img [src]=\"src()\" [alt]=\"alt()\" [class]=\"classes()\" (error)=\"failed.set(true)\" />\n    }\n  `,\n})\nexport class AvatarImageComponent {\n  readonly src = input.required<string>();\n  readonly alt = input<string>('');\n  readonly class = input<string>('');\n\n  protected readonly failed = signal(false);\n  protected readonly classes = computed(() => cn('h-full w-full object-cover', this.class()));\n}\n\n@Component({\n  selector: 'AvatarFallback',\n  host: { '[class]': 'classes()' },\n  template: `<ng-content />`,\n})\nexport class AvatarFallbackComponent {\n  readonly class = input<string>('');\n  protected readonly classes = computed(() =>\n    cn(\n      'absolute inset-0 z-0 flex items-center justify-center rounded-full bg-muted text-sm font-medium text-muted-foreground',\n      this.class(),\n    ),\n  );\n}\n\n@Component({\n  selector: 'AvatarBadge',\n  host: { '[class]': 'classes()' },\n  template: `<ng-content />`,\n})\nexport class AvatarBadgeComponent {\n  readonly class = input<string>('');\n  protected readonly classes = computed(() =>\n    cn(\n      'absolute bottom-0 right-0 z-10 flex size-3 translate-x-1/4 translate-y-1/4 items-center justify-center rounded-full border border-background bg-primary text-2xs font-medium leading-none text-primary-foreground shadow-sm [&>*]:pointer-events-none [&>*]:size-2 [&>*]:shrink-0',\n      this.class(),\n    ),\n  );\n}\n\n@Component({\n  selector: 'AvatarGroup',\n  host: { '[class]': 'classes()' },\n  template: `<ng-content />`,\n})\nexport class AvatarGroupComponent {\n  readonly class = input<string>('');\n  protected readonly classes = computed(() =>\n    cn(\n      'inline-flex items-center [&>*]:ring-2 [&>*]:ring-background [&>*:not(:first-child)]:-ml-3',\n      this.class(),\n    ),\n  );\n}\n\n@Component({\n  selector: 'AvatarGroupCount',\n  host: { '[class]': 'classes()' },\n  template: `<ng-content />`,\n})\nexport class AvatarGroupCountComponent {\n  readonly class = input<string>('');\n  protected readonly classes = computed(() =>\n    cn(\n      'flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-muted text-sm font-medium text-muted-foreground',\n      this.class(),\n    ),\n  );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA,MAAM,iBAAiB,GAAG;AACxB,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,WAAW;CACP;MAYG,eAAe,CAAA;IACjB,IAAI,GAAG,KAAK,CAAa,SAAS;6EAAC;IACnC,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;IACf,OAAO,GAAG,QAAQ,CAAC,MACpC,EAAE,CACA,sDAAsD,EACtD,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAC9B,IAAI,CAAC,KAAK,EAAE,CACb;gFACF;uGATU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,uYAFhB,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,WAAW;AACtB,wBAAA,kBAAkB,EAAE,QAAQ;AAC7B,qBAAA;AACD,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC3B,iBAAA;;MAwBY,oBAAoB,CAAA;IACtB,GAAG,GAAG,KAAK,CAAC,QAAQ;4EAAU;IAC9B,GAAG,GAAG,KAAK,CAAS,EAAE;4EAAC;IACvB,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;IAEf,MAAM,GAAG,MAAM,CAAC,KAAK;+EAAC;AACtB,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,4BAA4B,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gFAAC;uGANhF,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,+DAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EANrB;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,+DAA+D;AACvE,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;AAIT,EAAA,CAAA;AACF,iBAAA;;MAeY,uBAAuB,CAAA;IACzB,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;AACf,IAAA,OAAO,GAAG,QAAQ,CAAC,MACpC,EAAE,CACA,uHAAuH,EACvH,IAAI,CAAC,KAAK,EAAE,CACb;gFACF;uGAPU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,8PAFxB,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEf,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;AAChC,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC3B,iBAAA;;MAgBY,oBAAoB,CAAA;IACtB,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;AACf,IAAA,OAAO,GAAG,QAAQ,CAAC,MACpC,EAAE,CACA,mRAAmR,EACnR,IAAI,CAAC,KAAK,EAAE,CACb;gFACF;uGAPU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,2PAFrB,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEf,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;AAChC,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC3B,iBAAA;;MAgBY,oBAAoB,CAAA;IACtB,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;AACf,IAAA,OAAO,GAAG,QAAQ,CAAC,MACpC,EAAE,CACA,2FAA2F,EAC3F,IAAI,CAAC,KAAK,EAAE,CACb;gFACF;uGAPU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,2PAFrB,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEf,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;AAChC,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC3B,iBAAA;;MAgBY,yBAAyB,CAAA;IAC3B,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;AACf,IAAA,OAAO,GAAG,QAAQ,CAAC,MACpC,EAAE,CACA,qHAAqH,EACrH,IAAI,CAAC,KAAK,EAAE,CACb;gFACF;uGAPU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,gQAF1B,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;AAChC,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC3B,iBAAA;;;ACpGD;;AAEG;;;;"}