{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/basic/picture/src/picture.props.ts","../../../../../projects/components/widgets/basic/picture/src/picture.directive.ts","../../../../../projects/components/widgets/basic/picture/src/index.ts"],"sourcesContent":["import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n    const props = new Map(\n        [\n            ['animation', PROP_STRING],\n            ['class', PROP_STRING],\n            ['conditionalclass', PROP_ANY],\n            ['conditionalstyle', PROP_ANY],\n            ['encodeurl', PROP_STRING],\n            ['hint', PROP_STRING],\n            ['arialabel', PROP_STRING],\n            ['name', PROP_STRING],\n            ['pictureaspect', {value: 'None', ...PROP_STRING}],\n            ['alttext', {value: 'Image alt text not provided', ...PROP_STRING}],\n            ['pictureplaceholder', PROP_STRING],\n            ['picturesource', PROP_STRING],\n            ['resizemode', {value: 'fill', ...PROP_STRING}],\n            ['shape', PROP_STRING],\n            ['show', {value: true, ...PROP_BOOLEAN}],\n            ['tabindex', {value: 0, ...PROP_NUMBER}]\n        ]\n    );\n    register('wm-picture', props);\n};\n","import {Directive, HostBinding, Inject, Injector, OnInit, Optional} from '@angular/core';\n\nimport {setAttr, setCSS, switchClass} from '@wm/core';\nimport {\n    DISPLAY_TYPE,\n    ImagePipe,\n    IWidgetConfig,\n    provideAsWidgetRef,\n    StylableComponent,\n    styler\n} from '@wm/components/base';\n\nimport {registerProps} from './picture.props';\n\nconst DEFAULT_CLS = 'app-picture';\nconst WIDGET_CONFIG: IWidgetConfig = {\n    widgetType: 'wm-picture',\n    hostClass: DEFAULT_CLS,\n    displayType: DISPLAY_TYPE.INLINE_BLOCK\n};\n\n@Directive({\n  standalone: true,\n    selector: 'img[wmPicture]',\n    providers: [\n        provideAsWidgetRef(PictureDirective)\n    ],\n    exportAs: 'wmPicture'\n})\nexport class PictureDirective extends StylableComponent implements OnInit {\n    static initializeProps = registerProps();\n\n    encodeurl;\n    picturesource;\n    pictureplaceholder;\n    alttext;\n\n    @HostBinding('src') imgSource: string;\n\n    constructor(inj: Injector, private imagePipe: ImagePipe, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n        super(inj, WIDGET_CONFIG, explicitContext);\n\n        styler(this.nativeElement, this);\n    }\n\n    setImgSource() {\n        this.imgSource = this.imagePipe.transform(this.picturesource, this.encodeurl, this.pictureplaceholder);\n    }\n\n    onPropertyChange(key: string, nv: any, ov: any) {\n        if (key === 'pictureaspect') {\n            let width = '';\n            let height = '';\n            switch (nv) {\n                case 'None':\n                    width = this.width;\n                    height = this.height;\n                    break;\n                case 'H':\n                    width = '100%';\n                    break;\n                case 'V':\n                    height = '100%';\n                    break;\n                case 'Both':\n                    width = '100%';\n                    height = '100%';\n                    break;\n            }\n            setCSS(this.nativeElement, 'width', width, true);\n            setCSS(this.nativeElement, 'height', height, true);\n        } else if (key === 'encodeurl' || key === 'pictureplaceholder') {\n            this.setImgSource();\n        } else if (key === 'shape') {\n            switchClass(this.nativeElement, `img-${nv}`, `img-${ov}`);\n        }  else if (key === 'resizemode') {\n            setCSS(this.nativeElement, 'object-fit', nv);\n        }\n        super.onPropertyChange(key, nv, ov);\n    }\n\n    onStyleChange(key: string, nv: any, ov?: any) {\n        if (key === 'picturesource') {\n            this.setImgSource();\n        } else {\n            super.onStyleChange(key, nv, ov);\n        }\n    }\n\n    ngOnInit() {\n        this.setImgSource();\n        super.ngOnInit();\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}