@verdocs/web-sdk 1.0.3 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{Content-a339b396.js → Content-986f7a13.js} +39 -6
- package/dist/cjs/document-status-indicator.cjs.entry.js +2 -2
- package/dist/cjs/dropdown-menu.cjs.entry.js +2 -2
- package/dist/cjs/{index-2293949e.js → index-e2fb537e.js} +359 -8
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/org-popup.cjs.entry.js +2 -2
- package/dist/cjs/pdf-viewer.cjs.entry.js +6 -2
- package/dist/cjs/search-box.cjs.entry.js +22 -3
- package/dist/cjs/search-embed.cjs.entry.js +1 -1
- package/dist/cjs/search-quick-functions.cjs.entry.js +2 -2
- package/dist/cjs/search-recent.cjs.entry.js +3 -3
- package/dist/cjs/search-saved.cjs.entry.js +3 -3
- package/dist/cjs/search-starred.cjs.entry.js +6 -5
- package/dist/cjs/search-tabs.cjs.entry.js +2 -1
- package/dist/cjs/tags-indicator.cjs.entry.js +2 -2
- package/dist/cjs/template-card.cjs.entry.js +2 -2
- package/dist/cjs/toggle-icon-buttons.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-web-sdk.cjs.js +2 -2
- package/dist/collection/api/endpoint.js +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/controls/document-status-indicator/document-status-indicator.css +10 -4
- package/dist/collection/components/controls/document-status-indicator/document-status-indicator.js +1 -2
- package/dist/collection/components/controls/dropdown-menu/dropdown-menu.css +23 -19
- package/dist/collection/components/controls/dropdown-menu/dropdown-menu.js +1 -2
- package/dist/collection/components/controls/tags-indicator/tags-indicator.css +8 -2
- package/dist/collection/components/controls/tags-indicator/tags-indicator.js +1 -2
- package/dist/collection/components/controls/toggle-icon-buttons/toggle-icon-buttons.css +18 -12
- package/dist/collection/components/controls/toggle-icon-buttons/toggle-icon-buttons.js +1 -2
- package/dist/collection/components/elements/org-popup/org-popup.css +17 -17
- package/dist/collection/components/elements/org-popup/org-popup.js +1 -2
- package/dist/collection/components/elements/search-box/close.svg +3 -0
- package/dist/collection/components/elements/search-box/search-box.css +70 -2
- package/dist/collection/components/elements/search-box/search-box.js +70 -4
- package/dist/collection/components/elements/search-box/search-box.stories.js +7 -9
- package/dist/collection/components/elements/search-box/search.svg +3 -0
- package/dist/collection/components/elements/search-quick-functions/search-quick-functions.css +10 -12
- package/dist/collection/components/elements/search-quick-functions/search-quick-functions.js +1 -2
- package/dist/collection/components/elements/search-recent/search-recent.css +15 -22
- package/dist/collection/components/elements/search-recent/search-recent.js +1 -2
- package/dist/collection/components/elements/search-saved/search-saved.css +14 -20
- package/dist/collection/components/elements/search-saved/search-saved.js +1 -2
- package/dist/collection/components/elements/search-starred/search-starred.css +22 -40
- package/dist/collection/components/elements/search-starred/search-starred.js +31 -8
- package/dist/collection/components/elements/search-starred/search-starred.stories.js +13 -15
- package/dist/collection/components/elements/search-tabs/search-tabs.css +1 -1
- package/dist/collection/components/elements/search-tabs/search-tabs.js +8 -3
- package/dist/collection/components/elements/template-card/template-card.css +21 -13
- package/dist/collection/components/elements/template-card/template-card.js +2 -3
- package/dist/collection/components/embeds/search-embed/search-embed.css +1 -1
- package/dist/collection/components/embeds/search-embed/search-embed.js +1 -1
- package/dist/collection/components/pdf-viewer/pdf-viewer.css +7 -4
- package/dist/collection/components/pdf-viewer/pdf-viewer.js +2 -3
- package/dist/custom-elements/index.js +94 -49
- package/dist/custom-elements.json +266 -0
- package/dist/docs.json +69 -18
- package/dist/esm/{Content-68a13fb0.js → Content-386637c8.js} +39 -6
- package/dist/esm/document-status-indicator.entry.js +2 -2
- package/dist/esm/dropdown-menu.entry.js +2 -2
- package/dist/esm/{index-69a4b693.js → index-183a8995.js} +359 -8
- package/dist/esm/loader.js +2 -2
- package/dist/esm/org-popup.entry.js +2 -2
- package/dist/esm/pdf-viewer.entry.js +6 -2
- package/dist/esm/search-box.entry.js +22 -3
- package/dist/esm/search-embed.entry.js +1 -1
- package/dist/esm/search-quick-functions.entry.js +2 -2
- package/dist/esm/search-recent.entry.js +3 -3
- package/dist/esm/search-saved.entry.js +3 -3
- package/dist/esm/search-starred.entry.js +6 -5
- package/dist/esm/search-tabs.entry.js +2 -1
- package/dist/esm/tags-indicator.entry.js +2 -2
- package/dist/esm/template-card.entry.js +2 -2
- package/dist/esm/toggle-icon-buttons.entry.js +2 -2
- package/dist/esm/verdocs-web-sdk.js +2 -2
- package/dist/esm-es5/{Content-68a13fb0.js → Content-386637c8.js} +1 -1
- package/dist/esm-es5/document-status-indicator.entry.js +1 -1
- package/dist/esm-es5/dropdown-menu.entry.js +1 -1
- package/dist/esm-es5/index-183a8995.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/org-popup.entry.js +1 -1
- package/dist/esm-es5/pdf-viewer.entry.js +2 -2
- package/dist/esm-es5/search-box.entry.js +1 -1
- package/dist/esm-es5/search-embed.entry.js +1 -1
- package/dist/esm-es5/search-quick-functions.entry.js +1 -1
- package/dist/esm-es5/search-recent.entry.js +1 -1
- package/dist/esm-es5/search-saved.entry.js +1 -1
- package/dist/esm-es5/search-starred.entry.js +1 -1
- package/dist/esm-es5/search-tabs.entry.js +1 -1
- package/dist/esm-es5/tags-indicator.entry.js +1 -1
- package/dist/esm-es5/template-card.entry.js +1 -1
- package/dist/esm-es5/toggle-icon-buttons.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/api/endpoint.d.ts +1 -0
- package/dist/types/components/elements/search-box/search-box.d.ts +14 -0
- package/dist/types/components/elements/search-box/search-box.stories.d.ts +3 -2
- package/dist/types/components/elements/search-starred/search-starred.d.ts +10 -1
- package/dist/types/components/elements/search-starred/search-starred.stories.d.ts +2 -1
- package/dist/types/components/elements/search-tabs/search-tabs.d.ts +2 -0
- package/dist/types/components/elements/template-card/template-card.d.ts +1 -1
- package/dist/types/components.d.ts +13 -2
- package/dist/verdocs-web-sdk/p-153879ad.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-299c2e14.system.entry.js → p-1d1bc463.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-29cb7cbc.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-f6bd3c28.entry.js → p-2cec77cf.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-79141dc5.entry.js → p-32a5788a.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-ad0daf3f.system.js → p-33f73371.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-349248f0.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-4ffe65f0.entry.js → p-36082c90.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-3a032151.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-3cc8281f.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-440d8a73.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-d498562e.system.entry.js → p-4d4e090f.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-55660c24.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-63107dd5.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6b569aa1.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-4b97efc0.system.entry.js → p-6e033b90.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-6ee008ff.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-7ab216be.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-ea92818e.system.entry.js → p-7d10b067.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-89be87e5.js +1 -0
- package/dist/verdocs-web-sdk/p-92e7863c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-99ebfee7.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-9af63b8a.system.js +1 -0
- package/dist/verdocs-web-sdk/p-9da35744.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-b3d5601a.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-b466e003.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-bb99a203.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-cbc784a6.system.js +1 -0
- package/dist/verdocs-web-sdk/{p-ab5a12f2.js → p-cf030985.js} +1 -1
- package/dist/verdocs-web-sdk/{p-f8532ba9.entry.js → p-d73f486f.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-dea09611.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e34538bd.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e59eda0c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.css +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.js +1 -1
- package/package.json +4 -2
- package/dist/esm-es5/index-69a4b693.js +0 -1
- package/dist/verdocs-web-sdk/p-0851fc9a.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-09a2b37a.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0c7f99e4.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-10b8a992.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-16920169.js +0 -1
- package/dist/verdocs-web-sdk/p-1d99fd7e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-20def3b4.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-35c52a07.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-58183d59.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-64b6c2b3.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7427f970.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7b071b76.system.js +0 -1
- package/dist/verdocs-web-sdk/p-83fe27d7.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-918d1153.system.js +0 -1
- package/dist/verdocs-web-sdk/p-943c181c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a10f4a2a.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a415baa5.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-acbc9fd7.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ad52e615.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-af8bde91.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-bab548fb.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-cda6aa04.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-eaee7c4a.system.entry.js +0 -1
|
@@ -1805,11 +1805,40 @@ axios_1.default = _default;
|
|
|
1805
1805
|
|
|
1806
1806
|
var axios = axios_1;
|
|
1807
1807
|
|
|
1808
|
-
var
|
|
1809
|
-
|
|
1808
|
+
var TRACE_ID = '' + Math.floor(Math.random() * 100000);
|
|
1809
|
+
// tslint:disable-next-line
|
|
1810
|
+
console.log('[JS-SDK Loaded]', TRACE_ID);
|
|
1811
|
+
// console.log('[JS-SDK Loaded]', TRACE_ID, import.meta.url);
|
|
1812
|
+
var config = {
|
|
1813
|
+
baseURL: 'https://api.verdocs.com/',
|
|
1810
1814
|
timeout: 3000,
|
|
1811
1815
|
headers: { 'X-Client-ID': 'NONE' },
|
|
1812
|
-
}
|
|
1816
|
+
};
|
|
1817
|
+
var recreateEndpoint = function () {
|
|
1818
|
+
endpoint = axios.create(config);
|
|
1819
|
+
endpoint.interceptors.request.use(function (r) {
|
|
1820
|
+
// tslint:disable-next-line
|
|
1821
|
+
console.log("[JS-SDK] " + TRACE_ID + " :: " + r.method.toUpperCase() + " " + r.url, JSON.stringify(r.data), JSON.stringify(r.headers));
|
|
1822
|
+
return r;
|
|
1823
|
+
});
|
|
1824
|
+
};
|
|
1825
|
+
var endpoint;
|
|
1826
|
+
recreateEndpoint();
|
|
1827
|
+
/**
|
|
1828
|
+
* Helper to get the endpoint for direct access to HTTP functions.
|
|
1829
|
+
*
|
|
1830
|
+
* ```typescript
|
|
1831
|
+
* import {Transport} from '@verdocs/js-sdk/HTTP';
|
|
1832
|
+
*
|
|
1833
|
+
* console.log('Current timeout', Transport.getEndpoint().defaults.timeout);
|
|
1834
|
+
* ```
|
|
1835
|
+
*/
|
|
1836
|
+
var getEndpoint = function () {
|
|
1837
|
+
if (!endpoint) {
|
|
1838
|
+
recreateEndpoint();
|
|
1839
|
+
}
|
|
1840
|
+
return endpoint;
|
|
1841
|
+
};
|
|
1813
1842
|
|
|
1814
1843
|
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
1815
1844
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
@@ -1857,8 +1886,12 @@ var __generator = (undefined && undefined.__generator) || function (thisArg, bod
|
|
|
1857
1886
|
* const {recent, saved} = await Content.getSearchHistory();
|
|
1858
1887
|
* ```
|
|
1859
1888
|
*/
|
|
1860
|
-
var getSearchHistory = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1861
|
-
return
|
|
1862
|
-
|
|
1889
|
+
var getSearchHistory = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1890
|
+
return __generator(this, function (_a) {
|
|
1891
|
+
return [2 /*return*/, getEndpoint()
|
|
1892
|
+
.get('/search/history')
|
|
1893
|
+
.then(function (r) { return r.data; })];
|
|
1894
|
+
});
|
|
1895
|
+
}); };
|
|
1863
1896
|
|
|
1864
1897
|
exports.getSearchHistory = getSearchHistory;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-e2fb537e.js');
|
|
6
6
|
|
|
7
7
|
const CancelledIcon = `<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#ffffff"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12zm8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8z"/></svg>`;
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ const FinishedIcon = `<svg xmlns="http://www.w3.org/2000/svg" height="24px" view
|
|
|
12
12
|
|
|
13
13
|
const PendingIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#ffffff"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M12,20c-4.42,0-8-3.58-8-8 c0-4.42,3.58-8,8-8s8,3.58,8,8C20,16.42,16.42,20,12,20z"/><circle cx="7" cy="12" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="17" cy="12" r="1.5"/></g></g></svg>`;
|
|
14
14
|
|
|
15
|
-
const documentStatusIndicatorCss = ".container{width:195px;height:72px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;background-color:#33364b;font-family:sans-serif;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;font-size:16px;color:#ffffff}.icon{margin-right:15px}svg{height:24px;width:24px}";
|
|
15
|
+
const documentStatusIndicatorCss = "document-status-indicator{font-family:sans-serif;font-family:var(--verdocs-font)}document-status-indicator .container{width:195px;height:72px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;background-color:#33364b;font-family:sans-serif;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;font-size:16px;color:#ffffff}document-status-indicator .icon{margin-right:15px}document-status-indicator svg{height:24px;width:24px}";
|
|
16
16
|
|
|
17
17
|
let DocumentStatusIndicator = class {
|
|
18
18
|
constructor(hostRef) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-e2fb537e.js');
|
|
6
6
|
|
|
7
7
|
var top = 'top';
|
|
8
8
|
var bottom = 'bottom';
|
|
@@ -1745,7 +1745,7 @@ var createPopper = /*#__PURE__*/popperGenerator({
|
|
|
1745
1745
|
const SortDown = `<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#50BE80"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M7 10l5 5 5-5H7z"/></svg>
|
|
1746
1746
|
`;
|
|
1747
1747
|
|
|
1748
|
-
const dropdownMenuCss = "
|
|
1748
|
+
const dropdownMenuCss = "dropdown-menu{font-family:sans-serif;font-family:var(--verdocs-font)}dropdown-menu .arrow{width:32px;height:26px;background:#fff;border-radius:4px;-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;border:1px solid #ccc;-ms-flex-pack:center;justify-content:center}dropdown-menu .arrow svg{fill:#50be80;-webkit-transition:0.3s;transition:0.3s}dropdown-menu .items{width:200px;display:none;border-radius:5px;background:#33364b;border:1px solid #654dcb}dropdown-menu .items[data-show]{display:block}dropdown-menu .option{width:100%;color:#fff;border:none;display:block;text-align:left;background:none;padding:10px 20px}dropdown-menu .option:hover{cursor:pointer;background:#50be80}dropdown-menu .option[disabled]{color:#aaa}dropdown-menu .option[disabled]:hover{color:#aaa;cursor:inherit;background:transparent}dropdown-menu .open .items{display:block}dropdown-menu .open .arrow{background:#4c56cb;border:1px solid #707ae5}dropdown-menu .open .arrow svg{-webkit-transform:scaleY(-1);transform:scaleY(-1);fill:#fff}";
|
|
1749
1749
|
|
|
1750
1750
|
let DropdownMenu = class {
|
|
1751
1751
|
constructor(hostRef) {
|
|
@@ -23,7 +23,11 @@ function _interopNamespace(e) {
|
|
|
23
23
|
const NAMESPACE = 'verdocs-web-sdk';
|
|
24
24
|
|
|
25
25
|
let scopeId;
|
|
26
|
+
let contentRef;
|
|
26
27
|
let hostTagName;
|
|
28
|
+
let useNativeShadowDom = false;
|
|
29
|
+
let checkSlotFallbackVisibility = false;
|
|
30
|
+
let checkSlotRelocate = false;
|
|
27
31
|
let isSvgMode = false;
|
|
28
32
|
let queuePending = false;
|
|
29
33
|
const win = typeof window !== 'undefined' ? window : {};
|
|
@@ -189,6 +193,7 @@ const isComplexType = (o) => {
|
|
|
189
193
|
const h = (nodeName, vnodeData, ...children) => {
|
|
190
194
|
let child = null;
|
|
191
195
|
let key = null;
|
|
196
|
+
let slotName = null;
|
|
192
197
|
let simple = false;
|
|
193
198
|
let lastSimple = false;
|
|
194
199
|
let vNodeChildren = [];
|
|
@@ -220,6 +225,9 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
220
225
|
if (vnodeData.key) {
|
|
221
226
|
key = vnodeData.key;
|
|
222
227
|
}
|
|
228
|
+
if (vnodeData.name) {
|
|
229
|
+
slotName = vnodeData.name;
|
|
230
|
+
}
|
|
223
231
|
{
|
|
224
232
|
const classData = vnodeData.className || vnodeData.class;
|
|
225
233
|
if (classData) {
|
|
@@ -240,6 +248,9 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
240
248
|
{
|
|
241
249
|
vnode.$key$ = key;
|
|
242
250
|
}
|
|
251
|
+
{
|
|
252
|
+
vnode.$name$ = slotName;
|
|
253
|
+
}
|
|
243
254
|
return vnode;
|
|
244
255
|
};
|
|
245
256
|
const newVNode = (tag, text) => {
|
|
@@ -256,6 +267,9 @@ const newVNode = (tag, text) => {
|
|
|
256
267
|
{
|
|
257
268
|
vnode.$key$ = null;
|
|
258
269
|
}
|
|
270
|
+
{
|
|
271
|
+
vnode.$name$ = null;
|
|
272
|
+
}
|
|
259
273
|
return vnode;
|
|
260
274
|
};
|
|
261
275
|
const Host = {};
|
|
@@ -394,13 +408,36 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
394
408
|
let i = 0;
|
|
395
409
|
let elm;
|
|
396
410
|
let childNode;
|
|
411
|
+
let oldVNode;
|
|
412
|
+
if (!useNativeShadowDom) {
|
|
413
|
+
// remember for later we need to check to relocate nodes
|
|
414
|
+
checkSlotRelocate = true;
|
|
415
|
+
if (newVNode.$tag$ === 'slot') {
|
|
416
|
+
if (scopeId) {
|
|
417
|
+
// scoped css needs to add its scoped id to the parent element
|
|
418
|
+
parentElm.classList.add(scopeId + '-s');
|
|
419
|
+
}
|
|
420
|
+
newVNode.$flags$ |= newVNode.$children$
|
|
421
|
+
? // slot element has fallback content
|
|
422
|
+
2 /* isSlotFallback */
|
|
423
|
+
: // slot element does not have fallback content
|
|
424
|
+
1 /* isSlotReference */;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
397
427
|
if (newVNode.$text$ !== null) {
|
|
398
428
|
// create text node
|
|
399
429
|
elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
|
|
400
430
|
}
|
|
431
|
+
else if (newVNode.$flags$ & 1 /* isSlotReference */) {
|
|
432
|
+
// create a slot reference node
|
|
433
|
+
elm = newVNode.$elm$ =
|
|
434
|
+
doc.createTextNode('');
|
|
435
|
+
}
|
|
401
436
|
else {
|
|
402
437
|
// create element
|
|
403
|
-
elm = newVNode.$elm$ = (doc.createElement(newVNode.$
|
|
438
|
+
elm = newVNode.$elm$ = (doc.createElement(newVNode.$flags$ & 2 /* isSlotFallback */
|
|
439
|
+
? 'slot-fb'
|
|
440
|
+
: newVNode.$tag$));
|
|
404
441
|
// add css classes, attrs, props, listeners, etc.
|
|
405
442
|
{
|
|
406
443
|
updateElement(null, newVNode, isSvgMode);
|
|
@@ -413,7 +450,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
413
450
|
if (newVNode.$children$) {
|
|
414
451
|
for (i = 0; i < newVNode.$children$.length; ++i) {
|
|
415
452
|
// create the node
|
|
416
|
-
childNode = createElm(oldParentVNode, newVNode, i);
|
|
453
|
+
childNode = createElm(oldParentVNode, newVNode, i, elm);
|
|
417
454
|
// return node could have been null
|
|
418
455
|
if (childNode) {
|
|
419
456
|
// append our new node
|
|
@@ -422,20 +459,62 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
422
459
|
}
|
|
423
460
|
}
|
|
424
461
|
}
|
|
462
|
+
{
|
|
463
|
+
elm['s-hn'] = hostTagName;
|
|
464
|
+
if (newVNode.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
|
|
465
|
+
// remember the content reference comment
|
|
466
|
+
elm['s-sr'] = true;
|
|
467
|
+
// remember the content reference comment
|
|
468
|
+
elm['s-cr'] = contentRef;
|
|
469
|
+
// remember the slot name, or empty string for default slot
|
|
470
|
+
elm['s-sn'] = newVNode.$name$ || '';
|
|
471
|
+
// check if we've got an old vnode for this slot
|
|
472
|
+
oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
|
|
473
|
+
if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
|
|
474
|
+
// we've got an old slot vnode and the wrapper is being replaced
|
|
475
|
+
// so let's move the old slot content back to it's original location
|
|
476
|
+
putBackInOriginalLocation(oldParentVNode.$elm$, false);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
}
|
|
425
480
|
return elm;
|
|
426
481
|
};
|
|
482
|
+
const putBackInOriginalLocation = (parentElm, recursive) => {
|
|
483
|
+
plt.$flags$ |= 1 /* isTmpDisconnected */;
|
|
484
|
+
const oldSlotChildNodes = parentElm.childNodes;
|
|
485
|
+
for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
|
|
486
|
+
const childNode = oldSlotChildNodes[i];
|
|
487
|
+
if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
|
|
488
|
+
// // this child node in the old element is from another component
|
|
489
|
+
// // remove this node from the old slot's parent
|
|
490
|
+
// childNode.remove();
|
|
491
|
+
// and relocate it back to it's original location
|
|
492
|
+
parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
|
|
493
|
+
// remove the old original location comment entirely
|
|
494
|
+
// later on the patch function will know what to do
|
|
495
|
+
// and move this to the correct spot in need be
|
|
496
|
+
childNode['s-ol'].remove();
|
|
497
|
+
childNode['s-ol'] = undefined;
|
|
498
|
+
checkSlotRelocate = true;
|
|
499
|
+
}
|
|
500
|
+
if (recursive) {
|
|
501
|
+
putBackInOriginalLocation(childNode, recursive);
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
plt.$flags$ &= ~1 /* isTmpDisconnected */;
|
|
505
|
+
};
|
|
427
506
|
const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
|
|
428
|
-
let containerElm = (parentElm);
|
|
507
|
+
let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
|
|
429
508
|
let childNode;
|
|
430
509
|
if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
|
|
431
510
|
containerElm = containerElm.shadowRoot;
|
|
432
511
|
}
|
|
433
512
|
for (; startIdx <= endIdx; ++startIdx) {
|
|
434
513
|
if (vnodes[startIdx]) {
|
|
435
|
-
childNode = createElm(null, parentVNode, startIdx);
|
|
514
|
+
childNode = createElm(null, parentVNode, startIdx, parentElm);
|
|
436
515
|
if (childNode) {
|
|
437
516
|
vnodes[startIdx].$elm$ = childNode;
|
|
438
|
-
containerElm.insertBefore(childNode, before);
|
|
517
|
+
containerElm.insertBefore(childNode, referenceNode(before) );
|
|
439
518
|
}
|
|
440
519
|
}
|
|
441
520
|
}
|
|
@@ -445,6 +524,20 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
|
|
|
445
524
|
if ((vnode = vnodes[startIdx])) {
|
|
446
525
|
elm = vnode.$elm$;
|
|
447
526
|
callNodeRefs(vnode);
|
|
527
|
+
{
|
|
528
|
+
// we're removing this element
|
|
529
|
+
// so it's possible we need to show slot fallback content now
|
|
530
|
+
checkSlotFallbackVisibility = true;
|
|
531
|
+
if (elm['s-ol']) {
|
|
532
|
+
// remove the original location comment
|
|
533
|
+
elm['s-ol'].remove();
|
|
534
|
+
}
|
|
535
|
+
else {
|
|
536
|
+
// it's possible that child nodes of the node
|
|
537
|
+
// that's being removed are slot nodes
|
|
538
|
+
putBackInOriginalLocation(elm, true);
|
|
539
|
+
}
|
|
540
|
+
}
|
|
448
541
|
// remove the vnode's element from the dom
|
|
449
542
|
elm.remove();
|
|
450
543
|
}
|
|
@@ -488,12 +581,20 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
488
581
|
newEndVnode = newCh[--newEndIdx];
|
|
489
582
|
}
|
|
490
583
|
else if (isSameVnode(oldStartVnode, newEndVnode)) {
|
|
584
|
+
// Vnode moved right
|
|
585
|
+
if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
|
|
586
|
+
putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
|
|
587
|
+
}
|
|
491
588
|
patch(oldStartVnode, newEndVnode);
|
|
492
589
|
parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
|
|
493
590
|
oldStartVnode = oldCh[++oldStartIdx];
|
|
494
591
|
newEndVnode = newCh[--newEndIdx];
|
|
495
592
|
}
|
|
496
593
|
else if (isSameVnode(oldEndVnode, newStartVnode)) {
|
|
594
|
+
// Vnode moved left
|
|
595
|
+
if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
|
|
596
|
+
putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
|
|
597
|
+
}
|
|
497
598
|
patch(oldEndVnode, newStartVnode);
|
|
498
599
|
parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
|
|
499
600
|
oldEndVnode = oldCh[--oldEndIdx];
|
|
@@ -513,7 +614,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
513
614
|
if (idxInOld >= 0) {
|
|
514
615
|
elmToMove = oldCh[idxInOld];
|
|
515
616
|
if (elmToMove.$tag$ !== newStartVnode.$tag$) {
|
|
516
|
-
node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld);
|
|
617
|
+
node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);
|
|
517
618
|
}
|
|
518
619
|
else {
|
|
519
620
|
patch(elmToMove, newStartVnode);
|
|
@@ -524,12 +625,12 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
524
625
|
}
|
|
525
626
|
else {
|
|
526
627
|
// new element
|
|
527
|
-
node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
|
|
628
|
+
node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
|
|
528
629
|
newStartVnode = newCh[++newStartIdx];
|
|
529
630
|
}
|
|
530
631
|
if (node) {
|
|
531
632
|
{
|
|
532
|
-
oldStartVnode.$elm
|
|
633
|
+
parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
|
|
533
634
|
}
|
|
534
635
|
}
|
|
535
636
|
}
|
|
@@ -545,18 +646,30 @@ const isSameVnode = (vnode1, vnode2) => {
|
|
|
545
646
|
// compare if two vnode to see if they're "technically" the same
|
|
546
647
|
// need to have the same element tag, and same key to be the same
|
|
547
648
|
if (vnode1.$tag$ === vnode2.$tag$) {
|
|
649
|
+
if (vnode1.$tag$ === 'slot') {
|
|
650
|
+
return vnode1.$name$ === vnode2.$name$;
|
|
651
|
+
}
|
|
548
652
|
{
|
|
549
653
|
return vnode1.$key$ === vnode2.$key$;
|
|
550
654
|
}
|
|
551
655
|
}
|
|
552
656
|
return false;
|
|
553
657
|
};
|
|
658
|
+
const referenceNode = (node) => {
|
|
659
|
+
// this node was relocated to a new location in the dom
|
|
660
|
+
// because of some other component's slot
|
|
661
|
+
// but we still have an html comment in place of where
|
|
662
|
+
// it's original location was according to it's original vdom
|
|
663
|
+
return (node && node['s-ol']) || node;
|
|
664
|
+
};
|
|
665
|
+
const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
|
|
554
666
|
const patch = (oldVNode, newVNode) => {
|
|
555
667
|
const elm = (newVNode.$elm$ = oldVNode.$elm$);
|
|
556
668
|
const oldChildren = oldVNode.$children$;
|
|
557
669
|
const newChildren = newVNode.$children$;
|
|
558
670
|
const tag = newVNode.$tag$;
|
|
559
671
|
const text = newVNode.$text$;
|
|
672
|
+
let defaultHolder;
|
|
560
673
|
if (text === null) {
|
|
561
674
|
// element node
|
|
562
675
|
{
|
|
@@ -587,12 +700,147 @@ const patch = (oldVNode, newVNode) => {
|
|
|
587
700
|
removeVnodes(oldChildren, 0, oldChildren.length - 1);
|
|
588
701
|
}
|
|
589
702
|
}
|
|
703
|
+
else if ((defaultHolder = elm['s-cr'])) {
|
|
704
|
+
// this element has slotted content
|
|
705
|
+
defaultHolder.parentNode.textContent = text;
|
|
706
|
+
}
|
|
590
707
|
else if (oldVNode.$text$ !== text) {
|
|
591
708
|
// update the text content for the text only vnode
|
|
592
709
|
// and also only if the text is different than before
|
|
593
710
|
elm.data = text;
|
|
594
711
|
}
|
|
595
712
|
};
|
|
713
|
+
const updateFallbackSlotVisibility = (elm) => {
|
|
714
|
+
// tslint:disable-next-line: prefer-const
|
|
715
|
+
let childNodes = elm.childNodes;
|
|
716
|
+
let childNode;
|
|
717
|
+
let i;
|
|
718
|
+
let ilen;
|
|
719
|
+
let j;
|
|
720
|
+
let slotNameAttr;
|
|
721
|
+
let nodeType;
|
|
722
|
+
for (i = 0, ilen = childNodes.length; i < ilen; i++) {
|
|
723
|
+
childNode = childNodes[i];
|
|
724
|
+
if (childNode.nodeType === 1 /* ElementNode */) {
|
|
725
|
+
if (childNode['s-sr']) {
|
|
726
|
+
// this is a slot fallback node
|
|
727
|
+
// get the slot name for this slot reference node
|
|
728
|
+
slotNameAttr = childNode['s-sn'];
|
|
729
|
+
// by default always show a fallback slot node
|
|
730
|
+
// then hide it if there are other slots in the light dom
|
|
731
|
+
childNode.hidden = false;
|
|
732
|
+
for (j = 0; j < ilen; j++) {
|
|
733
|
+
nodeType = childNodes[j].nodeType;
|
|
734
|
+
if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
|
|
735
|
+
// this sibling node is from a different component OR is a named fallback slot node
|
|
736
|
+
if (nodeType === 1 /* ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
|
|
737
|
+
childNode.hidden = true;
|
|
738
|
+
break;
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
else {
|
|
742
|
+
// this is a default fallback slot node
|
|
743
|
+
// any element or text node (with content)
|
|
744
|
+
// should hide the default fallback slot node
|
|
745
|
+
if (nodeType === 1 /* ElementNode */ ||
|
|
746
|
+
(nodeType === 3 /* TextNode */ && childNodes[j].textContent.trim() !== '')) {
|
|
747
|
+
childNode.hidden = true;
|
|
748
|
+
break;
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
// keep drilling down
|
|
754
|
+
updateFallbackSlotVisibility(childNode);
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
};
|
|
758
|
+
const relocateNodes = [];
|
|
759
|
+
const relocateSlotContent = (elm) => {
|
|
760
|
+
// tslint:disable-next-line: prefer-const
|
|
761
|
+
let childNode;
|
|
762
|
+
let node;
|
|
763
|
+
let hostContentNodes;
|
|
764
|
+
let slotNameAttr;
|
|
765
|
+
let relocateNodeData;
|
|
766
|
+
let j;
|
|
767
|
+
let i = 0;
|
|
768
|
+
let childNodes = elm.childNodes;
|
|
769
|
+
let ilen = childNodes.length;
|
|
770
|
+
for (; i < ilen; i++) {
|
|
771
|
+
childNode = childNodes[i];
|
|
772
|
+
if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
|
|
773
|
+
// first got the content reference comment node
|
|
774
|
+
// then we got it's parent, which is where all the host content is in now
|
|
775
|
+
hostContentNodes = node.parentNode.childNodes;
|
|
776
|
+
slotNameAttr = childNode['s-sn'];
|
|
777
|
+
for (j = hostContentNodes.length - 1; j >= 0; j--) {
|
|
778
|
+
node = hostContentNodes[j];
|
|
779
|
+
if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
|
|
780
|
+
// let's do some relocating to its new home
|
|
781
|
+
// but never relocate a content reference node
|
|
782
|
+
// that is suppose to always represent the original content location
|
|
783
|
+
if (isNodeLocatedInSlot(node, slotNameAttr)) {
|
|
784
|
+
// it's possible we've already decided to relocate this node
|
|
785
|
+
relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
786
|
+
// made some changes to slots
|
|
787
|
+
// let's make sure we also double check
|
|
788
|
+
// fallbacks are correctly hidden or shown
|
|
789
|
+
checkSlotFallbackVisibility = true;
|
|
790
|
+
node['s-sn'] = node['s-sn'] || slotNameAttr;
|
|
791
|
+
if (relocateNodeData) {
|
|
792
|
+
// previously we never found a slot home for this node
|
|
793
|
+
// but turns out we did, so let's remember it now
|
|
794
|
+
relocateNodeData.$slotRefNode$ = childNode;
|
|
795
|
+
}
|
|
796
|
+
else {
|
|
797
|
+
// add to our list of nodes to relocate
|
|
798
|
+
relocateNodes.push({
|
|
799
|
+
$slotRefNode$: childNode,
|
|
800
|
+
$nodeToRelocate$: node,
|
|
801
|
+
});
|
|
802
|
+
}
|
|
803
|
+
if (node['s-sr']) {
|
|
804
|
+
relocateNodes.map((relocateNode) => {
|
|
805
|
+
if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
|
|
806
|
+
relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
807
|
+
if (relocateNodeData && !relocateNode.$slotRefNode$) {
|
|
808
|
+
relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
});
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
|
|
815
|
+
// so far this element does not have a slot home, not setting slotRefNode on purpose
|
|
816
|
+
// if we never find a home for this element then we'll need to hide it
|
|
817
|
+
relocateNodes.push({
|
|
818
|
+
$nodeToRelocate$: node,
|
|
819
|
+
});
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
if (childNode.nodeType === 1 /* ElementNode */) {
|
|
825
|
+
relocateSlotContent(childNode);
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
};
|
|
829
|
+
const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
|
|
830
|
+
if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
|
|
831
|
+
if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
|
|
832
|
+
return true;
|
|
833
|
+
}
|
|
834
|
+
if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
|
|
835
|
+
return true;
|
|
836
|
+
}
|
|
837
|
+
return false;
|
|
838
|
+
}
|
|
839
|
+
if (nodeToRelocate['s-sn'] === slotNameAttr) {
|
|
840
|
+
return true;
|
|
841
|
+
}
|
|
842
|
+
return slotNameAttr === '';
|
|
843
|
+
};
|
|
596
844
|
const callNodeRefs = (vNode) => {
|
|
597
845
|
{
|
|
598
846
|
vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
|
|
@@ -601,6 +849,7 @@ const callNodeRefs = (vNode) => {
|
|
|
601
849
|
};
|
|
602
850
|
const renderVdom = (hostRef, renderFnResults) => {
|
|
603
851
|
const hostElm = hostRef.$hostElement$;
|
|
852
|
+
const cmpMeta = hostRef.$cmpMeta$;
|
|
604
853
|
const oldVNode = hostRef.$vnode$ || newVNode(null, null);
|
|
605
854
|
const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
|
|
606
855
|
hostTagName = hostElm.tagName;
|
|
@@ -611,8 +860,90 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
611
860
|
{
|
|
612
861
|
scopeId = hostElm['s-sc'];
|
|
613
862
|
}
|
|
863
|
+
{
|
|
864
|
+
contentRef = hostElm['s-cr'];
|
|
865
|
+
useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
|
|
866
|
+
// always reset
|
|
867
|
+
checkSlotFallbackVisibility = false;
|
|
868
|
+
}
|
|
614
869
|
// synchronous patch
|
|
615
870
|
patch(oldVNode, rootVnode);
|
|
871
|
+
{
|
|
872
|
+
// while we're moving nodes around existing nodes, temporarily disable
|
|
873
|
+
// the disconnectCallback from working
|
|
874
|
+
plt.$flags$ |= 1 /* isTmpDisconnected */;
|
|
875
|
+
if (checkSlotRelocate) {
|
|
876
|
+
relocateSlotContent(rootVnode.$elm$);
|
|
877
|
+
let relocateData;
|
|
878
|
+
let nodeToRelocate;
|
|
879
|
+
let orgLocationNode;
|
|
880
|
+
let parentNodeRef;
|
|
881
|
+
let insertBeforeNode;
|
|
882
|
+
let refNode;
|
|
883
|
+
let i = 0;
|
|
884
|
+
for (; i < relocateNodes.length; i++) {
|
|
885
|
+
relocateData = relocateNodes[i];
|
|
886
|
+
nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
887
|
+
if (!nodeToRelocate['s-ol']) {
|
|
888
|
+
// add a reference node marking this node's original location
|
|
889
|
+
// keep a reference to this node for later lookups
|
|
890
|
+
orgLocationNode =
|
|
891
|
+
doc.createTextNode('');
|
|
892
|
+
orgLocationNode['s-nr'] = nodeToRelocate;
|
|
893
|
+
nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
for (i = 0; i < relocateNodes.length; i++) {
|
|
897
|
+
relocateData = relocateNodes[i];
|
|
898
|
+
nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
899
|
+
if (relocateData.$slotRefNode$) {
|
|
900
|
+
// by default we're just going to insert it directly
|
|
901
|
+
// after the slot reference node
|
|
902
|
+
parentNodeRef = relocateData.$slotRefNode$.parentNode;
|
|
903
|
+
insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
|
|
904
|
+
orgLocationNode = nodeToRelocate['s-ol'];
|
|
905
|
+
while ((orgLocationNode = orgLocationNode.previousSibling)) {
|
|
906
|
+
refNode = orgLocationNode['s-nr'];
|
|
907
|
+
if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
|
|
908
|
+
refNode = refNode.nextSibling;
|
|
909
|
+
if (!refNode || !refNode['s-nr']) {
|
|
910
|
+
insertBeforeNode = refNode;
|
|
911
|
+
break;
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
}
|
|
915
|
+
if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
|
|
916
|
+
nodeToRelocate.nextSibling !== insertBeforeNode) {
|
|
917
|
+
// we've checked that it's worth while to relocate
|
|
918
|
+
// since that the node to relocate
|
|
919
|
+
// has a different next sibling or parent relocated
|
|
920
|
+
if (nodeToRelocate !== insertBeforeNode) {
|
|
921
|
+
if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
|
|
922
|
+
// probably a component in the index.html that doesn't have it's hostname set
|
|
923
|
+
nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
|
|
924
|
+
}
|
|
925
|
+
// add it back to the dom but in its new home
|
|
926
|
+
parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
else {
|
|
931
|
+
// this node doesn't have a slot home to go to, so let's hide it
|
|
932
|
+
if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
|
|
933
|
+
nodeToRelocate.hidden = true;
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
if (checkSlotFallbackVisibility) {
|
|
939
|
+
updateFallbackSlotVisibility(rootVnode.$elm$);
|
|
940
|
+
}
|
|
941
|
+
// done moving nodes around
|
|
942
|
+
// allow the disconnect callback to work again
|
|
943
|
+
plt.$flags$ &= ~1 /* isTmpDisconnected */;
|
|
944
|
+
// always reset
|
|
945
|
+
relocateNodes.length = 0;
|
|
946
|
+
}
|
|
616
947
|
};
|
|
617
948
|
const getElement = (ref) => (getHostRef(ref).$hostElement$ );
|
|
618
949
|
const createEvent = (ref, name, flags) => {
|
|
@@ -1039,6 +1370,15 @@ const connectedCallback = (elm) => {
|
|
|
1039
1370
|
if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
|
|
1040
1371
|
// first time this component has connected
|
|
1041
1372
|
hostRef.$flags$ |= 1 /* hasConnected */;
|
|
1373
|
+
{
|
|
1374
|
+
// initUpdate
|
|
1375
|
+
// if the slot polyfill is required we'll need to put some nodes
|
|
1376
|
+
// in here to act as original content anchors as we move nodes around
|
|
1377
|
+
// host element has been connected to the DOM
|
|
1378
|
+
if ((cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {
|
|
1379
|
+
setContentReference(elm);
|
|
1380
|
+
}
|
|
1381
|
+
}
|
|
1042
1382
|
{
|
|
1043
1383
|
// find the first ancestor component (if there is one) and register
|
|
1044
1384
|
// this component as one of the actively loading child components for its ancestor
|
|
@@ -1078,6 +1418,17 @@ const connectedCallback = (elm) => {
|
|
|
1078
1418
|
endConnected();
|
|
1079
1419
|
}
|
|
1080
1420
|
};
|
|
1421
|
+
const setContentReference = (elm) => {
|
|
1422
|
+
// only required when we're NOT using native shadow dom (slot)
|
|
1423
|
+
// or this browser doesn't support native shadow dom
|
|
1424
|
+
// and this host element was NOT created with SSR
|
|
1425
|
+
// let's pick out the inner content for slot projection
|
|
1426
|
+
// create a node to represent where the original
|
|
1427
|
+
// content was first placed, which is useful later on
|
|
1428
|
+
const contentRefElm = (elm['s-cr'] = doc.createComment(''));
|
|
1429
|
+
contentRefElm['s-cn'] = true;
|
|
1430
|
+
elm.insertBefore(contentRefElm, elm.firstChild);
|
|
1431
|
+
};
|
|
1081
1432
|
const disconnectedCallback = (elm) => {
|
|
1082
1433
|
if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
|
|
1083
1434
|
const hostRef = getHostRef(elm);
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-e2fb537e.js');
|
|
6
6
|
|
|
7
7
|
/*
|
|
8
8
|
Stencil Client Patch Esm v2.9.0 | MIT Licensed | https://stenciljs.com
|
|
@@ -14,7 +14,7 @@ const patchEsm = () => {
|
|
|
14
14
|
const defineCustomElements = (win, options) => {
|
|
15
15
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
16
16
|
return patchEsm().then(() => {
|
|
17
|
-
return index.bootstrapLazy([["document-status-indicator.cjs",[[
|
|
17
|
+
return index.bootstrapLazy([["document-status-indicator.cjs",[[0,"document-status-indicator",{"status":[1],"theme":[1]}]]],["dropdown-menu.cjs",[[0,"dropdown-menu",{"options":[16],"open":[4],"tall":[4],"isOpen":[32]}]]],["org-popup.cjs",[[0,"org-popup",{"organization":[8],"theme":[1]}]]],["pdf-viewer.cjs",[[0,"pdf-viewer",{"rotation":[2],"src":[1]}]]],["search-box.cjs",[[0,"search-box",{"type":[1],"q":[32]}]]],["search-embed.cjs",[[1,"search-embed"]]],["search-quick-functions.cjs",[[0,"search-quick-functions"]]],["search-recent.cjs",[[0,"search-recent",{"limit":[2],"recent":[32]}]]],["search-saved.cjs",[[0,"search-saved",{"limit":[2],"saved":[32]}]]],["search-starred.cjs",[[0,"search-starred",{"options":[8]}]]],["search-tabs.cjs",[[4,"search-tabs",{"selected":[32]}]]],["tags-indicator.cjs",[[0,"tags-indicator",{"tags":[16],"theme":[1]}]]],["template-card.cjs",[[0,"template-card",{"template":[8],"theme":[1]}]]],["toggle-icon-buttons.cjs",[[0,"toggle-icon-buttons",{"options":[16],"theme":[1]},[[6,"click","handleClick"]]]]]], options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|