From d935e5089d9611e6a2ccdcc8de747a45e5241024 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Wed, 22 Apr 2020 15:30:00 +0200
Subject: [PATCH] Port to scoped elements

---
 .../package.json                              |   4 +-
 .../rollup.config.js                          |  12 +-
 .../src/demo.js                               |   1 -
 .../src/index.js                              |   3 +
 .../knowledge-base-web-page-element-view.js   | 184 ++++++++++++++++++
 ...owledge-base-web-page-element-view-demo.js |  18 +-
 ...pu-knowledge-base-web-page-element-view.js | 180 +----------------
 .../test/unit.js                              |   2 +-
 .../vendor/auth                               |   2 +-
 .../vendor/common                             |   2 +-
 10 files changed, 216 insertions(+), 192 deletions(-)
 delete mode 100644 packages/knowledge-base-web-page-element-view/src/demo.js
 create mode 100644 packages/knowledge-base-web-page-element-view/src/index.js
 create mode 100644 packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js

diff --git a/packages/knowledge-base-web-page-element-view/package.json b/packages/knowledge-base-web-page-element-view/package.json
index b8823697..b31f40c3 100644
--- a/packages/knowledge-base-web-page-element-view/package.json
+++ b/packages/knowledge-base-web-page-element-view/package.json
@@ -1,7 +1,7 @@
 {
   "name": "vpu-knowledge-base-web-page-element-view",
   "version": "1.0.0",
-  "main": "src/vpu-knowledge-base-web-page-element-view.js",
+  "main": "src/index.js",
   "devDependencies": {
     "chai": "^4.2.0",
     "i18next-scanner": "^2.10.2",
@@ -18,7 +18,6 @@
     "rollup-plugin-copy": "^3.1.0",
     "rollup-plugin-delete": "^1.1.0",
     "rollup-plugin-json": "^4.0.0",
-    "rollup-plugin-multi-entry": "^2.1.0",
     "rollup-plugin-node-resolve": "^5.2.0",
     "rollup-plugin-postcss": "^2.0.3",
     "rollup-plugin-replace": "^2.2.0",
@@ -29,6 +28,7 @@
     "vpu-common": "file:./vendor/common"
   },
   "dependencies": {
+    "@open-wc/scoped-elements": "^1.0.9",
     "i18next": "^17.0.3",
     "lit-element": "^2.1.0",
     "lit-html": "^1.1.1",
diff --git a/packages/knowledge-base-web-page-element-view/rollup.config.js b/packages/knowledge-base-web-page-element-view/rollup.config.js
index 4fb9bf0e..a766344c 100644
--- a/packages/knowledge-base-web-page-element-view/rollup.config.js
+++ b/packages/knowledge-base-web-page-element-view/rollup.config.js
@@ -1,3 +1,4 @@
+import glob from 'glob';
 import path from 'path';
 import resolve from 'rollup-plugin-node-resolve';
 import commonjs from 'rollup-plugin-commonjs';
@@ -5,7 +6,6 @@ import copy from 'rollup-plugin-copy';
 import {terser} from "rollup-plugin-terser";
 import json from 'rollup-plugin-json';
 import serve from 'rollup-plugin-serve';
-import multiEntry from 'rollup-plugin-multi-entry';
 import url from "rollup-plugin-url";
 import consts from 'rollup-plugin-consts';
 import del from 'rollup-plugin-delete';
@@ -14,7 +14,7 @@ const build = (typeof process.env.BUILD !== 'undefined') ? process.env.BUILD : '
 console.log("build: " + build);
 
 export default {
-    input: (build != 'test') ? ['src/vpu-knowledge-base-web-page-element-view.js', 'src/vpu-knowledge-base-web-page-element-view-demo.js'] : 'test/**/*.js',
+    input: (build != 'test') ? ['src/vpu-knowledge-base-web-page-element-view.js', 'src/vpu-knowledge-base-web-page-element-view-demo.js'] : glob.sync('test/**/*.js'),
     output: {
         dir: 'dist',
         entryFileNames: '[name].js',
@@ -22,11 +22,17 @@ export default {
         format: 'esm',
         sourcemap: true
     },
+    onwarn: function (warning, warn) {
+        // keycloak bundled code uses eval
+        if (warning.code === 'EVAL') {
+          return;
+        }
+        warn(warning);
+    },
     plugins: [
         del({
             targets: 'dist/*'
         }),
-        (build == 'test') ? multiEntry() : false,
         consts({
             environment: build,
         }),
diff --git a/packages/knowledge-base-web-page-element-view/src/demo.js b/packages/knowledge-base-web-page-element-view/src/demo.js
deleted file mode 100644
index e176fe1e..00000000
--- a/packages/knowledge-base-web-page-element-view/src/demo.js
+++ /dev/null
@@ -1 +0,0 @@
-import './vpu-knowledge-base-web-page-element-view-demo.js';
\ No newline at end of file
diff --git a/packages/knowledge-base-web-page-element-view/src/index.js b/packages/knowledge-base-web-page-element-view/src/index.js
new file mode 100644
index 00000000..2d9635ee
--- /dev/null
+++ b/packages/knowledge-base-web-page-element-view/src/index.js
@@ -0,0 +1,3 @@
+import {KnowledgeBaseWebPageElementView} from './knowledge-base-web-page-element-view.js';
+
+export {KnowledgeBaseWebPageElementView};
\ No newline at end of file
diff --git a/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js b/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js
new file mode 100644
index 00000000..7991c14d
--- /dev/null
+++ b/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js
@@ -0,0 +1,184 @@
+import {i18n} from './i18n';
+import {html} from 'lit-element';
+import VPULitElement from 'vpu-common/vpu-lit-element'
+import {ScopedElementsMixin} from '@open-wc/scoped-elements';
+import {MiniSpinner} from 'vpu-common';
+import * as commonUtils from "vpu-common/utils";
+import {unsafeHTML} from 'lit-html/directives/unsafe-html.js';
+
+/**
+ * KnowledgeBaseWebPageElementView web component
+ */
+export class KnowledgeBaseWebPageElementView extends ScopedElementsMixin(VPULitElement) {
+    constructor() {
+        super();
+        this.lang = 'de';
+        this.value = '';
+        this.html = '';
+        this.entryPointUrl = commonUtils.getAPiUrl();
+        this.error = '';
+        this.eyeClose = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA1ElEQVQ4ja3SMU5CURCF4c+ejpiILe5DZAGyASuJS5CKEoMGKhdAwWKgMkriKjQWFkAkBizgmckNPEgeJ7nVuee/M3eGI2mCehFAHZ/Hgtygizd84wsjPOHsEMgUqx1njvtd4R7uAmSIMipo4SeAHtLwdTCbG8gHLsOdVlJN9LwEY4nSFsh5AhhHwGtinoY/ySDlPEAjMbvByyDDvBbgOZi/eNxUkrUTp9NJw3CCNhbJS0vcBshgWzjqAn28W899Zr1U1dBObR8kT9nGXhWFTIoA/vUHQydS/iUcHx4AAAAASUVORK5CYII=';
+        this.eyeOpen = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA5UlEQVQ4jc3SvS7EURAF8B+JioSsCokHUFgNiWewQqvzICRew2v4WLFUnoNS/msrazUaFOYm12RlVeIkk9ycM2fmztzLf8U02tiPaAc3EbM4Rh8fKfo4wdxP5nXcV4YhLnGO54p/wEY2b6akHhYqfR7dVHyriMt4qsQRWtiNaw+wFwWHaaQlcc161l4UblIyXKTcM7hL5FUk14tsgsvNumIhb2NG6ISxiXMrtJI3wErZwyHeK/E2DAWLuKn0F2xLOEgdRriOeK34sc9YsIpT37dd4hFHvj7bRMxElw52sIap3xj/Hp9rzGFBhiMSxAAAAABJRU5ErkJggg==';
+        //this.css = 'kb.css';
+        this.text = '';
+        this.class = '';
+    }
+
+    static get scopedElements() {
+        return {
+          'vpu-mini-spinner': MiniSpinner,
+        };
+    }
+
+    /**
+     * See: https://lit-element.polymer-project.org/guide/properties#initialize
+     */
+    static get properties() {
+        return {
+            lang: { type: String },
+            value: { type: String },
+            html: { type: String, attribute: false },
+            entryPointUrl: { type: String, attribute: 'entry-point-url' },
+            id: { type: String, attribute: false},
+            error: { type: String, attribute: false},
+            //css: { type: String },
+            text: { type: String },
+        };
+    }
+
+    /*
+    connectedCallback() {
+        super.connectedCallback();
+        const that = this;
+
+        // JSONLD.initialize(this.entryPointUrl, function (jsonld) {
+        //     const apiUrl = jsonld.getApiUrlForEntityName("KnowledgeBaseWebPageElement") + '/' +
+        //         encodeURIComponent(commonUtils.base64EncodeUnicode(encodeURIComponent(that.value)));
+        // });
+
+        // disabled, load first on toggle to visible
+        window.addEventListener("vpu-auth-init", () => that.loadWebPageElement());
+    }
+    */
+
+    /**
+     * Loads the data from the web page element
+     */
+    loadWebPageElement() {
+        if (window.VPUAuthToken === undefined || window.VPUAuthToken === "") {
+            return;
+        }
+
+        // sadly there there is no entity url without "collectionOperations" in entity KnowledgeBaseWebPageElement!
+        const apiUrl = this.entryPointUrl + "/web_page_elements/knowledge_base_web_page_elements/" +
+            encodeURIComponent(commonUtils.base64EncodeUnicode(encodeURIComponent(this.value))) +
+            "?lang=" + encodeURIComponent(this.lang);
+
+        var that = this;
+        fetch(apiUrl, {
+            headers: {
+                'Content-Type': 'application/ld+json',
+                'Authorization': 'Bearer ' + window.VPUAuthToken,
+            },
+        })
+        .then(function (res) {
+            if (!res.ok) {
+                let status_msg;
+                switch (res.status) {
+                    case 403:
+                        status_msg = i18n.t('is-forbidden');
+                        break;
+                    case 404:
+                        status_msg = i18n.t('was-not-found');
+                        break;
+                    case 500:
+                        status_msg = i18n.t('troubled-server');
+                        break;
+                    default:
+                        status_msg = i18n.t('unknown-problems');
+                }
+                const error_head = i18n.t('error-head');
+                that.error = html`<p>${error_head} "<b>${that.value}</b>" ${status_msg} (${res.status}).</p>`;
+                that.html = "";
+                throw new Error('HTTP ' + error_head + ' ' + that.value + ' ' + status_msg + ', status = ' + res.status);
+            }
+            return res.json();
+        })
+        .then(webPageElement => {
+            if (webPageElement !== undefined && webPageElement.text !== undefined) {
+                that.html = webPageElement.text;
+            }
+        })
+        // catch e.g. 404 errors
+        .catch();
+    }
+
+    update(changedProperties) {
+        changedProperties.forEach((oldValue, propName) => {
+            if (propName === "lang") {
+                i18n.changeLanguage(this.lang);
+            }
+
+            switch(propName) {
+                case "lang":
+                case "value":
+                case "entry-point-url":
+                    this.html = '';
+                    const img = this._('#A2');
+                    if (img !== null) {
+                        img.src = this.eyeOpen;
+                    }
+                    const div = this._('#A1');
+                    if (div !== null) {
+                        div.style.display = 'none';
+                    }
+                    break;
+                case "text":
+                    this.class = this.text !== '' ? 'has-text' : '';
+                    break;
+            }
+        });
+
+        super.update(changedProperties);
+    }
+
+    toggle(e) {
+        const div = this._('#A1');
+        const img = this._('#A2');
+        const d = div.style.display;
+        if(d === '' || d === 'none') {
+            div.style.display = 'block';
+            img.src = this.eyeClose;
+        } else {
+            div.style.display = 'none';
+            img.src = this.eyeOpen;
+        }
+        if (this.html === '' && div.style.display !== 'none') {
+            this.html = "<vpu-mini-spinner></vpu-mini-spinner>";
+            this.loadWebPageElement();
+        }
+    }
+
+    render() {
+        commonUtils.initAssetBaseURL('vpu-knowledge-base-web-page-element-view-src');
+
+        return html`
+            <style>
+                .kb {
+                    display: none;
+                    border-radius: var(--KBBorderRadius, 0);
+                    border: var(--KBBorder, 0);
+                    margin: var(--KBMargin, 0);
+                    padding: var(--KBPadding, 0);
+                }
+                span.has-text img {margin-left: 5px}
+                span.with-pointer { cursor: pointer; }
+            </style>
+            <span class="with-pointer ${this.class}" @click="${this.toggle}">${this.text}<img src="${this.eyeOpen}" id="A2" alt="open/close"></span>
+            <div class='kb' id="A1">
+                ${unsafeHTML(this.html)}
+                ${this.error}
+            </div>
+        `;
+    }
+}
\ No newline at end of file
diff --git a/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view-demo.js b/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view-demo.js
index f40e936e..636b8901 100644
--- a/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view-demo.js
+++ b/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view-demo.js
@@ -1,17 +1,25 @@
 import {i18n} from './i18n';
 import {css, html, LitElement} from 'lit-element';
-import 'vpu-auth';
-import './vpu-knowledge-base-web-page-element-view.js';
+import {ScopedElementsMixin} from '@open-wc/scoped-elements';
+import {Auth} from 'vpu-auth';
+import {KnowledgeBaseWebPageElementView} from './knowledge-base-web-page-element-view.js';
 import * as commonUtils from 'vpu-common/utils';
 import * as commonStyles from 'vpu-common/styles';
 
-class KnowledgeBaseWebPageElementViewDemo extends LitElement {
+class KnowledgeBaseWebPageElementViewDemo extends ScopedElementsMixin(LitElement) {
     constructor() {
         super();
         this.lang = 'de';
         this.noAuth = false;
     }
 
+    static get scopedElements() {
+        return {
+          'vpu-knowledge-base-web-page-element-view' : KnowledgeBaseWebPageElementView,
+          'vpu-auth': Auth,
+        };
+    }
+
     static get properties() {
         return {
             lang: { type: String },
@@ -38,13 +46,13 @@ class KnowledgeBaseWebPageElementViewDemo extends LitElement {
             h1.title {margin-bottom: 1em;}
             div.container {margin-bottom: 1.5em;}
 
-            vpu-knowledge-base-web-page-element-view.clean {
+            .clean {
                 --KBBorder: initial;
                 --KBBorderRadius: initial;
                 --KBMargin: initial;
                 --KBPadding: initial;
             }
-            vpu-knowledge-base-web-page-element-view.opt {
+            .opt {
                 --KBBorder: 2px solid blue;
             }
         `;
diff --git a/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view.js b/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view.js
index a4f532c3..f11e7a53 100644
--- a/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view.js
+++ b/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view.js
@@ -1,180 +1,4 @@
-import {i18n} from './i18n';
-import {html} from 'lit-element';
-// import JSONLD from 'vpu-common/jsonld';
-import VPULitElement from 'vpu-common/vpu-lit-element'
-import "vpu-common/vpu-mini-spinner.js";
 import * as commonUtils from "vpu-common/utils";
-import {unsafeHTML} from 'lit-html/directives/unsafe-html.js';
+import {KnowledgeBaseWebPageElementView} from './knowledge-base-web-page-element-view.js';
 
-/**
- * KnowledgeBaseWebPageElementView web component
- */
-class VPUKnowledgeBaseWebPageElementView extends VPULitElement {
-    constructor() {
-        super();
-        this.lang = 'de';
-        this.value = '';
-        this.html = '';
-        this.entryPointUrl = commonUtils.getAPiUrl();
-        this.error = '';
-        this.eyeClose = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA1ElEQVQ4ja3SMU5CURCF4c+ejpiILe5DZAGyASuJS5CKEoMGKhdAwWKgMkriKjQWFkAkBizgmckNPEgeJ7nVuee/M3eGI2mCehFAHZ/Hgtygizd84wsjPOHsEMgUqx1njvtd4R7uAmSIMipo4SeAHtLwdTCbG8gHLsOdVlJN9LwEY4nSFsh5AhhHwGtinoY/ySDlPEAjMbvByyDDvBbgOZi/eNxUkrUTp9NJw3CCNhbJS0vcBshgWzjqAn28W899Zr1U1dBObR8kT9nGXhWFTIoA/vUHQydS/iUcHx4AAAAASUVORK5CYII=';
-        this.eyeOpen = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA5UlEQVQ4jc3SvS7EURAF8B+JioSsCokHUFgNiWewQqvzICRew2v4WLFUnoNS/msrazUaFOYm12RlVeIkk9ycM2fmztzLf8U02tiPaAc3EbM4Rh8fKfo4wdxP5nXcV4YhLnGO54p/wEY2b6akHhYqfR7dVHyriMt4qsQRWtiNaw+wFwWHaaQlcc161l4UblIyXKTcM7hL5FUk14tsgsvNumIhb2NG6ISxiXMrtJI3wErZwyHeK/E2DAWLuKn0F2xLOEgdRriOeK34sc9YsIpT37dd4hFHvj7bRMxElw52sIap3xj/Hp9rzGFBhiMSxAAAAABJRU5ErkJggg==';
-        //this.css = 'kb.css';
-        this.text = '';
-        this.class = '';
-    }
-
-    /**
-     * See: https://lit-element.polymer-project.org/guide/properties#initialize
-     */
-    static get properties() {
-        return {
-            lang: { type: String },
-            value: { type: String },
-            html: { type: String, attribute: false },
-            entryPointUrl: { type: String, attribute: 'entry-point-url' },
-            id: { type: String, attribute: false},
-            error: { type: String, attribute: false},
-            //css: { type: String },
-            text: { type: String },
-        };
-    }
-
-    /*
-    connectedCallback() {
-        super.connectedCallback();
-        const that = this;
-
-        // JSONLD.initialize(this.entryPointUrl, function (jsonld) {
-        //     const apiUrl = jsonld.getApiUrlForEntityName("KnowledgeBaseWebPageElement") + '/' +
-        //         encodeURIComponent(commonUtils.base64EncodeUnicode(encodeURIComponent(that.value)));
-        // });
-
-        // disabled, load first on toggle to visible
-        window.addEventListener("vpu-auth-init", () => that.loadWebPageElement());
-    }
-    */
-
-    /**
-     * Loads the data from the web page element
-     */
-    loadWebPageElement() {
-        if (window.VPUAuthToken === undefined || window.VPUAuthToken === "") {
-            return;
-        }
-
-        // sadly there there is no entity url without "collectionOperations" in entity KnowledgeBaseWebPageElement!
-        const apiUrl = this.entryPointUrl + "/web_page_elements/knowledge_base_web_page_elements/" +
-            encodeURIComponent(commonUtils.base64EncodeUnicode(encodeURIComponent(this.value))) +
-            "?lang=" + encodeURIComponent(this.lang);
-
-        var that = this;
-        fetch(apiUrl, {
-            headers: {
-                'Content-Type': 'application/ld+json',
-                'Authorization': 'Bearer ' + window.VPUAuthToken,
-            },
-        })
-        .then(function (res) {
-            if (!res.ok) {
-                let status_msg;
-                switch (res.status) {
-                    case 403:
-                        status_msg = i18n.t('is-forbidden');
-                        break;
-                    case 404:
-                        status_msg = i18n.t('was-not-found');
-                        break;
-                    case 500:
-                        status_msg = i18n.t('troubled-server');
-                        break;
-                    default:
-                        status_msg = i18n.t('unknown-problems');
-                }
-                const error_head = i18n.t('error-head');
-                that.error = html`<p>${error_head} "<b>${that.value}</b>" ${status_msg} (${res.status}).</p>`;
-                that.html = "";
-                throw new Error('HTTP ' + error_head + ' ' + that.value + ' ' + status_msg + ', status = ' + res.status);
-            }
-            return res.json();
-        })
-        .then(webPageElement => {
-            if (webPageElement !== undefined && webPageElement.text !== undefined) {
-                that.html = webPageElement.text;
-            }
-        })
-        // catch e.g. 404 errors
-        .catch();
-    }
-
-    update(changedProperties) {
-        changedProperties.forEach((oldValue, propName) => {
-            if (propName === "lang") {
-                i18n.changeLanguage(this.lang);
-            }
-
-            switch(propName) {
-                case "lang":
-                case "value":
-                case "entry-point-url":
-                    this.html = '';
-                    const img = this._('#A2');
-                    if (img !== null) {
-                        img.src = this.eyeOpen;
-                    }
-                    const div = this._('#A1');
-                    if (div !== null) {
-                        div.style.display = 'none';
-                    }
-                    break;
-                case "text":
-                    this.class = this.text !== '' ? 'has-text' : '';
-                    break;
-            }
-        });
-
-        super.update(changedProperties);
-    }
-
-    toggle(e) {
-        const div = this._('#A1');
-        const img = this._('#A2');
-        const d = div.style.display;
-        if(d === '' || d === 'none') {
-            div.style.display = 'block';
-            img.src = this.eyeClose;
-        } else {
-            div.style.display = 'none';
-            img.src = this.eyeOpen;
-        }
-        if (this.html === '' && div.style.display !== 'none') {
-            this.html = "<vpu-mini-spinner></vpu-mini-spinner>";
-            this.loadWebPageElement();
-        }
-    }
-
-    render() {
-        commonUtils.initAssetBaseURL('vpu-knowledge-base-web-page-element-view-src');
-
-        return html`
-            <style>
-                .kb {
-                    display: none;
-                    border-radius: var(--KBBorderRadius, 0);
-                    border: var(--KBBorder, 0);
-                    margin: var(--KBMargin, 0);
-                    padding: var(--KBPadding, 0);
-                }
-                span.has-text img {margin-left: 5px}
-                span.with-pointer { cursor: pointer; }
-            </style>
-            <span class="with-pointer ${this.class}" @click="${this.toggle}">${this.text}<img src="${this.eyeOpen}" id="A2" alt="open/close"></span>
-            <div class='kb' id="A1">
-                ${unsafeHTML(this.html)}
-                ${this.error}
-            </div>
-        `;
-    }
-}
-
-commonUtils.defineCustomElement('vpu-knowledge-base-web-page-element-view', VPUKnowledgeBaseWebPageElementView);
+commonUtils.defineCustomElement('vpu-knowledge-base-web-page-element-view', KnowledgeBaseWebPageElementView);
diff --git a/packages/knowledge-base-web-page-element-view/test/unit.js b/packages/knowledge-base-web-page-element-view/test/unit.js
index 1dd031e8..b2682060 100644
--- a/packages/knowledge-base-web-page-element-view/test/unit.js
+++ b/packages/knowledge-base-web-page-element-view/test/unit.js
@@ -1,5 +1,5 @@
 import '../src/vpu-knowledge-base-web-page-element-view.js';
-import '../src/demo.js';
+import '../src/vpu-knowledge-base-web-page-element-view-demo.js';
 
 describe('vpu-knowledge-base-web-page-element-view basics', () => {
   let node;
diff --git a/packages/knowledge-base-web-page-element-view/vendor/auth b/packages/knowledge-base-web-page-element-view/vendor/auth
index 0d2610ce..b9fbe487 160000
--- a/packages/knowledge-base-web-page-element-view/vendor/auth
+++ b/packages/knowledge-base-web-page-element-view/vendor/auth
@@ -1 +1 @@
-Subproject commit 0d2610cee764128529a71629c2adb1922e2849ed
+Subproject commit b9fbe487a8a6117ae90a423a8ba318a0321bf51b
diff --git a/packages/knowledge-base-web-page-element-view/vendor/common b/packages/knowledge-base-web-page-element-view/vendor/common
index 833dd224..9c6dc1fd 160000
--- a/packages/knowledge-base-web-page-element-view/vendor/common
+++ b/packages/knowledge-base-web-page-element-view/vendor/common
@@ -1 +1 @@
-Subproject commit 833dd224c7ecab1caf509d83f58211c2346e8b19
+Subproject commit 9c6dc1fd5e004eba32e31adf8e4485a26c345fe0
-- 
GitLab