@myop/sdk 0.3.16 → 0.3.18
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/bundled-declarations.d.ts +34 -0
- package/dist/cjs/{_IframeSDK.0e315746.js → _IframeSDK.c1b7f57f.js} +49 -13
- package/dist/cjs/_IframeSDK.c1b7f57f.js.map +7 -0
- package/dist/cjs/_IframeSDK.ff567b74.min.js +1 -0
- package/dist/cjs/_MyopHelpers.a39f420c.js.map +1 -1
- package/dist/cjs/_WebComponentSDK.045877dc.min.js +1 -0
- package/dist/cjs/{_WebComponentSDK.6f1a3255.js → _WebComponentSDK.26dff6f5.js} +46 -10
- package/dist/cjs/_WebComponentSDK.26dff6f5.js.map +7 -0
- package/dist/cjs/_hostSDK.1f0bc503.min.js +1 -0
- package/dist/cjs/{_hostSDK.fd5d5514.js → _hostSDK.cb5a3856.js} +46 -10
- package/dist/cjs/_hostSDK.cb5a3856.js.map +7 -0
- package/dist/cjs/myop_sdk.js +11 -11
- package/dist/cjs/myop_sdk.js.map +1 -1
- package/dist/cjs/myop_sdk.min.js +1 -1
- package/dist/cjs-bundled/myop_sdk.bundled.js +50 -14
- package/dist/cjs-bundled/myop_sdk.bundled.js.map +3 -3
- package/dist/cjs-bundled/myop_sdk.bundled.min.js +1 -1
- package/dist/module/Iframe/index.js +50 -14
- package/dist/module/Iframe/index.js.map +3 -3
- package/dist/module/SDK.js +50 -14
- package/dist/module/SDK.js.map +3 -3
- package/dist/module/common/index.d.ts +13 -0
- package/dist/module/common/index.js +1 -1
- package/dist/module/common/index.js.map +2 -2
- package/dist/module/embeddedSDK.js +1 -1
- package/dist/module/helpers/index.js +1 -1
- package/dist/module/helpers/index.js.map +1 -1
- package/dist/module/host/components/IMyopComponent.d.ts +13 -0
- package/dist/module/host/components/myopIframeComponent.d.ts +8 -0
- package/dist/module/host/embeddedSDK.js +1 -1
- package/dist/module/host/index.js +47 -11
- package/dist/module/host/index.js.map +2 -2
- package/dist/module/webcomponent/index.js +47 -11
- package/dist/module/webcomponent/index.js.map +2 -2
- package/package.json +1 -1
- package/dist/cjs/_IframeSDK.0e315746.js.map +0 -7
- package/dist/cjs/_IframeSDK.5d5802e4.min.js +0 -1
- package/dist/cjs/_WebComponentSDK.6f1a3255.js.map +0 -7
- package/dist/cjs/_WebComponentSDK.cc56ccfd.min.js +0 -1
- package/dist/cjs/_hostSDK.581f1f0b.min.js +0 -1
- package/dist/cjs/_hostSDK.fd5d5514.js.map +0 -7
|
@@ -1587,6 +1587,7 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1587
1587
|
this.componentConfig = componentConfig;
|
|
1588
1588
|
this.container = container;
|
|
1589
1589
|
this.IframeElement = IframeElement;
|
|
1590
|
+
__publicField(this, "sizeMeta");
|
|
1590
1591
|
__publicField(this, "cleanupInspect");
|
|
1591
1592
|
__publicField(this, "setHeightBasedOnDocumentElement", () => {
|
|
1592
1593
|
const cleanupHandler = this.send(new ExecuteScriptMessage(() => {
|
|
@@ -1619,7 +1620,7 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1619
1620
|
* @returns Cleanup function to stop observing
|
|
1620
1621
|
*/
|
|
1621
1622
|
__publicField(this, "observeAutoSize", (options) => {
|
|
1622
|
-
var _a;
|
|
1623
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1623
1624
|
const iframe = this.IframeElement;
|
|
1624
1625
|
const doc = iframe.contentDocument;
|
|
1625
1626
|
if (!doc) {
|
|
@@ -1643,14 +1644,28 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1643
1644
|
const minHeight = parseSize(options == null ? void 0 : options.minHeight);
|
|
1644
1645
|
const maxHeight = parseSize(options == null ? void 0 : options.maxHeight);
|
|
1645
1646
|
const loaderMinHeight = (_a = options == null ? void 0 : options.loaderMinHeight) != null ? _a : 50;
|
|
1646
|
-
const
|
|
1647
|
-
const
|
|
1647
|
+
const sizeMetaFillWidth = ((_b = this.sizeMeta) == null ? void 0 : _b.width) === "100%" ? "100%" : void 0;
|
|
1648
|
+
const sizeMetaFillHeight = ((_c = this.sizeMeta) == null ? void 0 : _c.height) === "100%" ? "100%" : void 0;
|
|
1649
|
+
const resolvedExplicitWidth = (_e = (_d = options == null ? void 0 : options.explicitWidth) != null ? _d : sizeMetaFillWidth) != null ? _e : "100%";
|
|
1650
|
+
const resolvedExplicitHeight = (_f = options == null ? void 0 : options.explicitHeight) != null ? _f : sizeMetaFillHeight;
|
|
1651
|
+
const hasExplicitWidth = resolvedExplicitWidth !== void 0;
|
|
1652
|
+
const hasExplicitHeight = resolvedExplicitHeight !== void 0;
|
|
1648
1653
|
const containerRect = this.container.getBoundingClientRect();
|
|
1649
1654
|
const collapsedWidth = containerRect.width === 0;
|
|
1650
1655
|
const collapsedHeight = containerRect.height === 0 || containerRect.height === loaderMinHeight;
|
|
1651
1656
|
const shouldAutoWidth = (options == null ? void 0 : options.forceAutoSize) ? !hasExplicitWidth : collapsedWidth && !hasExplicitWidth;
|
|
1652
1657
|
const shouldAutoHeight = (options == null ? void 0 : options.forceAutoSize) ? !hasExplicitHeight : collapsedHeight && !hasExplicitHeight;
|
|
1653
1658
|
if (!shouldAutoWidth && !shouldAutoHeight) {
|
|
1659
|
+
const explicitWidthPx = typeof resolvedExplicitWidth === "number" ? resolvedExplicitWidth : void 0;
|
|
1660
|
+
const explicitHeightPx = typeof resolvedExplicitHeight === "number" ? resolvedExplicitHeight : void 0;
|
|
1661
|
+
if (explicitWidthPx !== void 0 || explicitHeightPx !== void 0) {
|
|
1662
|
+
(_g = options == null ? void 0 : options.onSizeChange) == null ? void 0 : _g.call(options, {
|
|
1663
|
+
width: explicitWidthPx,
|
|
1664
|
+
height: explicitHeightPx,
|
|
1665
|
+
autoSizingWidth: false,
|
|
1666
|
+
autoSizingHeight: false
|
|
1667
|
+
});
|
|
1668
|
+
}
|
|
1654
1669
|
return () => {
|
|
1655
1670
|
};
|
|
1656
1671
|
}
|
|
@@ -1658,9 +1673,14 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1658
1673
|
var _a2;
|
|
1659
1674
|
const contentDoc = iframe.contentDocument;
|
|
1660
1675
|
if (contentDoc) {
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1676
|
+
if (shouldAutoHeight) {
|
|
1677
|
+
iframe.style.height = "0px";
|
|
1678
|
+
}
|
|
1679
|
+
if (shouldAutoWidth) {
|
|
1680
|
+
iframe.style.width = "0px";
|
|
1681
|
+
}
|
|
1682
|
+
const contentWidth = Math.ceil(contentDoc.documentElement.scrollWidth);
|
|
1683
|
+
const contentHeight = Math.ceil(contentDoc.documentElement.scrollHeight);
|
|
1664
1684
|
const width = clamp(contentWidth, minWidth, maxWidth);
|
|
1665
1685
|
const height = clamp(contentHeight, minHeight, maxHeight);
|
|
1666
1686
|
if (shouldAutoWidth) {
|
|
@@ -1671,8 +1691,8 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1671
1691
|
}
|
|
1672
1692
|
const isWidthConstrained = shouldAutoWidth && maxWidth !== void 0 && contentWidth > maxWidth;
|
|
1673
1693
|
const isHeightConstrained = shouldAutoHeight && maxHeight !== void 0 && contentHeight > maxHeight;
|
|
1674
|
-
contentDoc.documentElement.style.overflowX = isWidthConstrained ? "auto" : "
|
|
1675
|
-
contentDoc.documentElement.style.overflowY = isHeightConstrained ? "auto" : "
|
|
1694
|
+
contentDoc.documentElement.style.overflowX = isWidthConstrained ? "auto" : "";
|
|
1695
|
+
contentDoc.documentElement.style.overflowY = isHeightConstrained ? "auto" : "";
|
|
1676
1696
|
(_a2 = options == null ? void 0 : options.onSizeChange) == null ? void 0 : _a2.call(options, {
|
|
1677
1697
|
width,
|
|
1678
1698
|
height,
|
|
@@ -1685,8 +1705,11 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1685
1705
|
const resizeObserver = new ResizeObserver(updateSize);
|
|
1686
1706
|
resizeObserver.observe(doc.body);
|
|
1687
1707
|
resizeObserver.observe(doc.documentElement);
|
|
1708
|
+
const mutationObserver = new MutationObserver(updateSize);
|
|
1709
|
+
mutationObserver.observe(doc.body, { childList: true, subtree: true, characterData: true, attributes: true });
|
|
1688
1710
|
return () => {
|
|
1689
1711
|
resizeObserver.disconnect();
|
|
1712
|
+
mutationObserver.disconnect();
|
|
1690
1713
|
};
|
|
1691
1714
|
});
|
|
1692
1715
|
__publicField(this, "setSizeBasedOnDocumentElement", () => {
|
|
@@ -1948,7 +1971,7 @@ var WebcomponentLoader = class extends BaseMyopLoader {
|
|
|
1948
1971
|
};
|
|
1949
1972
|
|
|
1950
1973
|
// version:myop-sdk-version
|
|
1951
|
-
var myop_sdk_version_default = "0.3.
|
|
1974
|
+
var myop_sdk_version_default = "0.3.18";
|
|
1952
1975
|
|
|
1953
1976
|
// src/host/embeddedSDK.ts
|
|
1954
1977
|
var EMBEDDED_SDK_CONTENT = "";
|
|
@@ -2012,6 +2035,18 @@ var HTMLComponentLoader = class extends BaseMyopLoader {
|
|
|
2012
2035
|
IframeElement = this.appendChild(container, IframeElement, options);
|
|
2013
2036
|
const doc = IframeElement.contentDocument || IframeElement.contentWindow.document;
|
|
2014
2037
|
doc.open();
|
|
2038
|
+
let parsedSizeMeta = null;
|
|
2039
|
+
{
|
|
2040
|
+
const _preParser = new DOMParser();
|
|
2041
|
+
const _preDoc = _preParser.parseFromString(loaderConfig.HTML, "text/html");
|
|
2042
|
+
const sizeMeta = _preDoc.querySelector('meta[name="myop:size"]');
|
|
2043
|
+
if (sizeMeta) {
|
|
2044
|
+
try {
|
|
2045
|
+
parsedSizeMeta = JSON.parse(sizeMeta.getAttribute("content") || "{}");
|
|
2046
|
+
} catch (e) {
|
|
2047
|
+
}
|
|
2048
|
+
}
|
|
2049
|
+
}
|
|
2015
2050
|
let HTML2Render = loaderConfig.HTML;
|
|
2016
2051
|
if (options == null ? void 0 : options._inspection) {
|
|
2017
2052
|
const parser = new DOMParser();
|
|
@@ -2025,7 +2060,7 @@ var HTMLComponentLoader = class extends BaseMyopLoader {
|
|
|
2025
2060
|
_doc.head.insertBefore(_doc.importNode(node, true), _doc.head.firstChild);
|
|
2026
2061
|
}
|
|
2027
2062
|
HTML2Render = _doc.documentElement.outerHTML;
|
|
2028
|
-
} else {
|
|
2063
|
+
} else if ((options == null ? void 0 : options.data) !== void 0) {
|
|
2029
2064
|
const parser = new DOMParser();
|
|
2030
2065
|
const _doc = parser.parseFromString(loaderConfig.HTML, "text/html");
|
|
2031
2066
|
const myop_preview_script = _doc.getElementById("myop_preview");
|
|
@@ -2046,6 +2081,7 @@ var HTMLComponentLoader = class extends BaseMyopLoader {
|
|
|
2046
2081
|
}
|
|
2047
2082
|
doc.close();
|
|
2048
2083
|
const comp = new MyopIframeComponent(componentDefinition, skin, container, IframeElement, options);
|
|
2084
|
+
comp.sizeMeta = parsedSizeMeta;
|
|
2049
2085
|
if (loaderConfig.autoHeight) {
|
|
2050
2086
|
IframeElement.onload = () => {
|
|
2051
2087
|
comp.observeSizeBasedOnDocumentElement();
|