{"version":3,"file":"mayvio-ui-angular-skeleton.mjs","sources":["../../src/skeleton/skeleton.component.ts","../../src/skeleton/mayvio-ui-angular-skeleton.ts"],"sourcesContent":["import {\n  Component,\n  Input,\n  OnChanges,\n  ChangeDetectionStrategy,\n  signal,\n  computed,\n} from '@angular/core';\n\n@Component({\n  selector: 'mv-skeleton',\n  standalone: true,\n  template: `\n    <div\n      [class]=\"hostClass()\"\n      [style.width]=\"hostWidth()\"\n      [style.height]=\"hostHeight()\"\n      aria-busy=\"true\"\n    ></div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkeletonComponent implements OnChanges {\n  @Input() variant: 'text' | 'circle' | 'rect' = 'text';\n  @Input() animation: 'shimmer' | 'pulse' | 'wave' | 'none' = 'shimmer';\n  @Input() width?: string | number;\n  @Input() height?: string | number;\n\n  readonly _variant = signal<'text' | 'circle' | 'rect'>('text');\n  readonly _animation = signal<'shimmer' | 'pulse' | 'wave' | 'none'>('shimmer');\n  readonly _width = signal<string | number | undefined>(undefined);\n  readonly _height = signal<string | number | undefined>(undefined);\n\n  ngOnChanges(): void {\n    this._variant.set(this.variant);\n    this._animation.set(this.animation);\n    this._width.set(this.width);\n    this._height.set(this.height);\n  }\n\n  readonly hostClass = computed(() => {\n    const classes = ['mv-skeleton', `mv-skeleton--${this._variant()}`];\n    if (this._animation() !== 'none') {\n      classes.push(`mv-skeleton--${this._animation()}`);\n    }\n    return classes.join(' ');\n  });\n\n  private formatSize(val?: string | number): string {\n    if (val === undefined || val === null) return '';\n    if (typeof val === 'number') return `${val}px`;\n    return val;\n  }\n\n  readonly hostWidth = computed(() => this.formatSize(this._width()));\n  readonly hostHeight = computed(() => this.formatSize(this._height()));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAsBa,iBAAiB,CAAA;IACnB,OAAO,GAA+B,MAAM;IAC5C,SAAS,GAA0C,SAAS;AAC5D,IAAA,KAAK;AACL,IAAA,MAAM;AAEN,IAAA,QAAQ,GAAG,MAAM,CAA6B,MAAM,+EAAC;AACrD,IAAA,UAAU,GAAG,MAAM,CAAwC,SAAS,iFAAC;AACrE,IAAA,MAAM,GAAG,MAAM,CAA8B,SAAS,6EAAC;AACvD,IAAA,OAAO,GAAG,MAAM,CAA8B,SAAS,8EAAC;IAEjE,WAAW,GAAA;QACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IAC/B;AAES,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AACjC,QAAA,MAAM,OAAO,GAAG,CAAC,aAAa,EAAE,CAAA,aAAA,EAAgB,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC;AAClE,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE;YAChC,OAAO,CAAC,IAAI,CAAC,CAAA,aAAA,EAAgB,IAAI,CAAC,UAAU,EAAE,CAAA,CAAE,CAAC;QACnD;AACA,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1B,IAAA,CAAC,gFAAC;AAEM,IAAA,UAAU,CAAC,GAAqB,EAAA;AACtC,QAAA,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;AAAE,YAAA,OAAO,EAAE;QAChD,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI;AAC9C,QAAA,OAAO,GAAG;IACZ;AAES,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,gFAAC;AAC1D,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,iFAAC;wGAjC1D,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAVlB;;;;;;;AAOT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAGU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;;;;;;AAOT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;sBAEE;;sBACA;;sBACA;;sBACA;;;AC1BH;;AAEG;;;;"}