{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-img.mjs","sources":["../../../projects/ng-dsv/ds/img/component/img.component.ts","../../../projects/ng-dsv/ds/img/component/img.component.html","../../../projects/ng-dsv/ds/img/ng-vagabond-lab-ng-dsv-ds-img.ts"],"sourcesContent":["import { Component, computed, input, signal } from '@angular/core';\nimport { DsvSekeletonComponent } from '@ng-vagabond-lab/ng-dsv/ds/skeleton';\n\n@Component({\n    selector: 'dsv-img',\n    imports: [DsvSekeletonComponent],\n    templateUrl: './img.component.html',\n    styleUrl: './img.component.scss',\n})\nexport class DsvImgComponent {\n    src = input.required<string>();\n    alt = input<string>('description');\n    empty = input<string>('images/empty.svg');\n\n    width = input<number>(500);\n    height = input<number>(750);\n\n    load = signal<boolean>(false);\n    error = signal<boolean>(false);\n\n    aspectRatio = computed<string>(() => this.width() + '/' + this.height());\n\n    doLoad() {\n        this.load.set(true);\n    }\n\n    onImageError() {\n        this.error.set(true);\n    }\n}\n","@if (!load() || src() === '') {\n    <dsv-skeleton>\n        <svg\n            [attr.viewBox]=\"'0 0 ' + width() + ' ' + height()\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n        ></svg>\n    </dsv-skeleton>\n}\n@if (src() !== '' && !error()) {\n    <img\n        [src]=\"src()\"\n        [alt]=\"alt()\"\n        (load)=\"doLoad()\"\n        (error)=\"onImageError()\"\n        [style.aspect-ratio]=\"aspectRatio()\"\n        [class.hidden]=\"!load()\"\n    />\n} @else if (error()) {\n    <img\n        [src]=\"empty()\"\n        [alt]=\"alt()\"\n        (load)=\"doLoad()\"\n        [style.aspect-ratio]=\"aspectRatio()\"\n    />\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MASa,eAAe,CAAA;AACxB,IAAA,GAAG,GAAG,KAAK,CAAC,QAAQ,yEAAU;AAC9B,IAAA,GAAG,GAAG,KAAK,CAAS,aAAa,0EAAC;AAClC,IAAA,KAAK,GAAG,KAAK,CAAS,kBAAkB,4EAAC;AAEzC,IAAA,KAAK,GAAG,KAAK,CAAS,GAAG,4EAAC;AAC1B,IAAA,MAAM,GAAG,KAAK,CAAS,GAAG,6EAAC;AAE3B,IAAA,IAAI,GAAG,MAAM,CAAU,KAAK,2EAAC;AAC7B,IAAA,KAAK,GAAG,MAAM,CAAU,KAAK,4EAAC;AAE9B,IAAA,WAAW,GAAG,QAAQ,CAAS,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,kFAAC;IAExE,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB;IAEA,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IACxB;uGAnBS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECT5B,2oBAyBA,EAAA,MAAA,EAAA,CAAA,kVAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDpBc,qBAAqB,EAAA,QAAA,EAAA,cAAA,EAAA,CAAA,EAAA,CAAA;;2FAItB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACI,SAAS,EAAA,OAAA,EACV,CAAC,qBAAqB,CAAC,EAAA,QAAA,EAAA,2oBAAA,EAAA,MAAA,EAAA,CAAA,kVAAA,CAAA,EAAA;;;AELpC;;AAEG;;;;"}