{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/basic/iframe/src/iframe.props.ts","../../../../../projects/components/widgets/basic/iframe/src/iframe.component.ts","../../../../../projects/components/widgets/basic/iframe/src/iframe.component.html","../../../../../projects/components/widgets/basic/iframe/src/index.ts"],"sourcesContent":["import {PROP_BOOLEAN, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n    register(\n        'wm-iframe',\n        new Map(\n            [\n                ['class', PROP_STRING],\n                ['encodeurl', PROP_BOOLEAN],\n                ['height', {value: '150px', ...PROP_STRING}],\n                ['iframesrc', PROP_STRING],\n                ['name', PROP_STRING],\n                ['show', {value: true, ...PROP_BOOLEAN}],\n                ['width', {value: '300px', ...PROP_STRING}],\n                ['hint', PROP_STRING],\n                ['arialabel', PROP_STRING]\n            ]\n        )\n    );\n};\n","import { TextContentDirective } from \"@wm/components/base\";\nimport {Component, Inject, Injector, Optional, SecurityContext} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\n\nimport {encodeUrl, isInsecureContentRequest} from '@wm/core';\nimport {IWidgetConfig, provideAsWidgetRef, StylableComponent, styler, TrustAsPipe} from '@wm/components/base';\n\nimport {registerProps} from './iframe.props';\n\nconst DEFAULT_CLS = 'embed-responsive app-iframe';\nconst WIDGET_CONFIG: IWidgetConfig = {\n    widgetType: 'wm-iframe',\n    hostClass: DEFAULT_CLS\n};\n\n@Component({\n    standalone: true,\n    imports: [TextContentDirective],\n    selector: '[wmIframe]',\n    templateUrl: './iframe.component.html',\n    providers: [\n        provideAsWidgetRef(IframeComponent)\n    ]\n})\nexport class IframeComponent extends StylableComponent {\n    static initializeProps = registerProps();\n\n    public iframesrc: string;\n    public encodeurl: boolean;\n\n    public _iframesrc: SafeResourceUrl;\n    private errorMsg: string;\n    private hintMsg: string;\n\n    public caption: any;\n    public name: string;\n    public hint: string;\n    public arialabel: string;\n    /**\n     * this property member is set to true when the content request url doesn't match windows protocol\n     */\n    public showContentLoadError = false;\n\n    constructor(inj: Injector, private trustAsPipe: TrustAsPipe, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n        super(inj, WIDGET_CONFIG, explicitContext);\n        styler(this.nativeElement, this);\n    }\n\n    protected computeIframeSrc() {\n        this.showContentLoadError = false;\n        this._iframesrc = undefined;\n\n        if (this.iframesrc) {\n            let url = this.iframesrc;\n            if (this.encodeurl) {\n                url = encodeUrl(this.iframesrc);\n            }\n\n            const trustedUrl = this.trustAsPipe.transform(url, SecurityContext.RESOURCE_URL);\n\n            if (isInsecureContentRequest(url)) {\n                this.showContentLoadError = true;\n\n                this.errorMsg = `${this.appLocale.MESSAGE_ERROR_CONTENT_DISPLAY} ${this.iframesrc}`;\n                this.hintMsg = this.errorMsg;\n            }\n\n            this._iframesrc = trustedUrl;\n        }\n    }\n\n    onPropertyChange(key, nv, ov?) {\n        if (key === 'iframesrc' || key === 'encodeurl') {\n            this.computeIframeSrc();\n        } else {\n            super.onPropertyChange(key, nv, ov);\n        }\n    }\n}\n","<iframe  class=\"embed-responsive-item iframe-content\" role=\"document\"\n  scrolling=\"auto\"\n  marginheight=\"0\"\n  marginwidth=\"0\"\n  frameborder=\"0\"\n  [name]=\"name\"\n  [attr.src]=\"_iframesrc\"\n  [attr.aria-label]=\"arialabel || 'iframe'\"\n  seamless=\"seamless\">\n</iframe>\n@if (showContentLoadError) {\n  <div class=\"wm-content-info readonly-wrapper\">\n    <p class=\"wm-message\" [title]=\"hintMsg\" [textContent]=\"errMsg\"></p>\n  </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}