@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
|
@@ -359,10 +359,23 @@ declare module "@myop/sdk/common" {
|
|
|
359
359
|
updatedOn?: string;
|
|
360
360
|
updatedBy?: string;
|
|
361
361
|
}
|
|
362
|
+
export interface ComponentAccess {
|
|
363
|
+
visibility: 'private' | 'unlisted' | 'public';
|
|
364
|
+
unlisted?: {
|
|
365
|
+
slug: string;
|
|
366
|
+
};
|
|
367
|
+
marketplace?: {
|
|
368
|
+
status: 'draft' | 'submitted' | 'claimed' | 'closed';
|
|
369
|
+
description: string;
|
|
370
|
+
contactEmail: string;
|
|
371
|
+
deadline: string;
|
|
372
|
+
};
|
|
373
|
+
}
|
|
362
374
|
export interface v2_IComponentDefinitionConfig extends v2_IMyopStoredObject {
|
|
363
375
|
variants_ids: string[];
|
|
364
376
|
DTOs: v2_IDTO[];
|
|
365
377
|
tags: string[];
|
|
378
|
+
access?: ComponentAccess;
|
|
366
379
|
variants_names: string[];
|
|
367
380
|
variants_data: {
|
|
368
381
|
name: string;
|
|
@@ -1108,6 +1121,19 @@ declare module "@myop/sdk/host/components/IMyopComponent" {
|
|
|
1108
1121
|
* @returns Cleanup function to stop observing
|
|
1109
1122
|
*/
|
|
1110
1123
|
observeAutoSize?: (options?: AutoSizeOptions) => CleanupHandler;
|
|
1124
|
+
/**
|
|
1125
|
+
* Parsed myop:size meta tag from the component HTML.
|
|
1126
|
+
* Set by HTMLComponentLoader before iframe creation.
|
|
1127
|
+
* Used by the React host to determine sizing mode (fill vs content).
|
|
1128
|
+
*/
|
|
1129
|
+
sizeMeta?: {
|
|
1130
|
+
width?: string | number;
|
|
1131
|
+
height?: string | number;
|
|
1132
|
+
minWidth?: number;
|
|
1133
|
+
maxWidth?: number;
|
|
1134
|
+
minHeight?: number;
|
|
1135
|
+
maxHeight?: number;
|
|
1136
|
+
} | null;
|
|
1111
1137
|
parent?: IMyopComponent;
|
|
1112
1138
|
props: P;
|
|
1113
1139
|
refs: R;
|
|
@@ -1166,6 +1192,14 @@ declare module "@myop/sdk/host/components/myopIframeComponent" {
|
|
|
1166
1192
|
container: HTMLElement;
|
|
1167
1193
|
private IframeElement;
|
|
1168
1194
|
constructor(componentConfig: IComponentDefinitionConfig, skin: ISkinConfig, container: HTMLElement, IframeElement: HTMLIFrameElement, options?: loaderOptions);
|
|
1195
|
+
sizeMeta?: {
|
|
1196
|
+
width?: string | number;
|
|
1197
|
+
height?: string | number;
|
|
1198
|
+
minWidth?: number;
|
|
1199
|
+
maxWidth?: number;
|
|
1200
|
+
minHeight?: number;
|
|
1201
|
+
maxHeight?: number;
|
|
1202
|
+
} | null;
|
|
1169
1203
|
cleanupInspect?: CleanupHandler;
|
|
1170
1204
|
inspect(): CleanupHandler;
|
|
1171
1205
|
hide(): void;
|
|
@@ -1585,6 +1585,7 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1585
1585
|
this.componentConfig = componentConfig;
|
|
1586
1586
|
this.container = container;
|
|
1587
1587
|
this.IframeElement = IframeElement;
|
|
1588
|
+
__publicField(this, "sizeMeta");
|
|
1588
1589
|
__publicField(this, "cleanupInspect");
|
|
1589
1590
|
__publicField(this, "setHeightBasedOnDocumentElement", () => {
|
|
1590
1591
|
const cleanupHandler = this.send(new ExecuteScriptMessage(() => {
|
|
@@ -1617,7 +1618,7 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1617
1618
|
* @returns Cleanup function to stop observing
|
|
1618
1619
|
*/
|
|
1619
1620
|
__publicField(this, "observeAutoSize", (options) => {
|
|
1620
|
-
var _a;
|
|
1621
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1621
1622
|
const iframe = this.IframeElement;
|
|
1622
1623
|
const doc = iframe.contentDocument;
|
|
1623
1624
|
if (!doc) {
|
|
@@ -1641,14 +1642,28 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1641
1642
|
const minHeight = parseSize(options == null ? void 0 : options.minHeight);
|
|
1642
1643
|
const maxHeight = parseSize(options == null ? void 0 : options.maxHeight);
|
|
1643
1644
|
const loaderMinHeight = (_a = options == null ? void 0 : options.loaderMinHeight) != null ? _a : 50;
|
|
1644
|
-
const
|
|
1645
|
-
const
|
|
1645
|
+
const sizeMetaFillWidth = ((_b = this.sizeMeta) == null ? void 0 : _b.width) === "100%" ? "100%" : void 0;
|
|
1646
|
+
const sizeMetaFillHeight = ((_c = this.sizeMeta) == null ? void 0 : _c.height) === "100%" ? "100%" : void 0;
|
|
1647
|
+
const resolvedExplicitWidth = (_e = (_d = options == null ? void 0 : options.explicitWidth) != null ? _d : sizeMetaFillWidth) != null ? _e : "100%";
|
|
1648
|
+
const resolvedExplicitHeight = (_f = options == null ? void 0 : options.explicitHeight) != null ? _f : sizeMetaFillHeight;
|
|
1649
|
+
const hasExplicitWidth = resolvedExplicitWidth !== void 0;
|
|
1650
|
+
const hasExplicitHeight = resolvedExplicitHeight !== void 0;
|
|
1646
1651
|
const containerRect = this.container.getBoundingClientRect();
|
|
1647
1652
|
const collapsedWidth = containerRect.width === 0;
|
|
1648
1653
|
const collapsedHeight = containerRect.height === 0 || containerRect.height === loaderMinHeight;
|
|
1649
1654
|
const shouldAutoWidth = (options == null ? void 0 : options.forceAutoSize) ? !hasExplicitWidth : collapsedWidth && !hasExplicitWidth;
|
|
1650
1655
|
const shouldAutoHeight = (options == null ? void 0 : options.forceAutoSize) ? !hasExplicitHeight : collapsedHeight && !hasExplicitHeight;
|
|
1651
1656
|
if (!shouldAutoWidth && !shouldAutoHeight) {
|
|
1657
|
+
const explicitWidthPx = typeof resolvedExplicitWidth === "number" ? resolvedExplicitWidth : void 0;
|
|
1658
|
+
const explicitHeightPx = typeof resolvedExplicitHeight === "number" ? resolvedExplicitHeight : void 0;
|
|
1659
|
+
if (explicitWidthPx !== void 0 || explicitHeightPx !== void 0) {
|
|
1660
|
+
(_g = options == null ? void 0 : options.onSizeChange) == null ? void 0 : _g.call(options, {
|
|
1661
|
+
width: explicitWidthPx,
|
|
1662
|
+
height: explicitHeightPx,
|
|
1663
|
+
autoSizingWidth: false,
|
|
1664
|
+
autoSizingHeight: false
|
|
1665
|
+
});
|
|
1666
|
+
}
|
|
1652
1667
|
return () => {
|
|
1653
1668
|
};
|
|
1654
1669
|
}
|
|
@@ -1656,9 +1671,14 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1656
1671
|
var _a2;
|
|
1657
1672
|
const contentDoc = iframe.contentDocument;
|
|
1658
1673
|
if (contentDoc) {
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1674
|
+
if (shouldAutoHeight) {
|
|
1675
|
+
iframe.style.height = "0px";
|
|
1676
|
+
}
|
|
1677
|
+
if (shouldAutoWidth) {
|
|
1678
|
+
iframe.style.width = "0px";
|
|
1679
|
+
}
|
|
1680
|
+
const contentWidth = Math.ceil(contentDoc.documentElement.scrollWidth);
|
|
1681
|
+
const contentHeight = Math.ceil(contentDoc.documentElement.scrollHeight);
|
|
1662
1682
|
const width = clamp(contentWidth, minWidth, maxWidth);
|
|
1663
1683
|
const height = clamp(contentHeight, minHeight, maxHeight);
|
|
1664
1684
|
if (shouldAutoWidth) {
|
|
@@ -1669,8 +1689,8 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1669
1689
|
}
|
|
1670
1690
|
const isWidthConstrained = shouldAutoWidth && maxWidth !== void 0 && contentWidth > maxWidth;
|
|
1671
1691
|
const isHeightConstrained = shouldAutoHeight && maxHeight !== void 0 && contentHeight > maxHeight;
|
|
1672
|
-
contentDoc.documentElement.style.overflowX = isWidthConstrained ? "auto" : "
|
|
1673
|
-
contentDoc.documentElement.style.overflowY = isHeightConstrained ? "auto" : "
|
|
1692
|
+
contentDoc.documentElement.style.overflowX = isWidthConstrained ? "auto" : "";
|
|
1693
|
+
contentDoc.documentElement.style.overflowY = isHeightConstrained ? "auto" : "";
|
|
1674
1694
|
(_a2 = options == null ? void 0 : options.onSizeChange) == null ? void 0 : _a2.call(options, {
|
|
1675
1695
|
width,
|
|
1676
1696
|
height,
|
|
@@ -1683,8 +1703,11 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1683
1703
|
const resizeObserver = new ResizeObserver(updateSize);
|
|
1684
1704
|
resizeObserver.observe(doc.body);
|
|
1685
1705
|
resizeObserver.observe(doc.documentElement);
|
|
1706
|
+
const mutationObserver = new MutationObserver(updateSize);
|
|
1707
|
+
mutationObserver.observe(doc.body, { childList: true, subtree: true, characterData: true, attributes: true });
|
|
1686
1708
|
return () => {
|
|
1687
1709
|
resizeObserver.disconnect();
|
|
1710
|
+
mutationObserver.disconnect();
|
|
1688
1711
|
};
|
|
1689
1712
|
});
|
|
1690
1713
|
__publicField(this, "setSizeBasedOnDocumentElement", () => {
|
|
@@ -1951,7 +1974,7 @@ var WebcomponentLoader = class extends BaseMyopLoader {
|
|
|
1951
1974
|
};
|
|
1952
1975
|
|
|
1953
1976
|
// version:myop-sdk-version
|
|
1954
|
-
var myop_sdk_version_default = "0.3.
|
|
1977
|
+
var myop_sdk_version_default = "0.3.18";
|
|
1955
1978
|
|
|
1956
1979
|
// src/webcomponent/messageHandlers/BaseWebComponentMessageHandler.ts
|
|
1957
1980
|
var BaseWebComponentMessageHandler = class extends BaseContextMessageHandler {
|
|
@@ -2338,6 +2361,18 @@ var HTMLComponentLoader = class extends BaseMyopLoader {
|
|
|
2338
2361
|
IframeElement = this.appendChild(container, IframeElement, options);
|
|
2339
2362
|
const doc = IframeElement.contentDocument || IframeElement.contentWindow.document;
|
|
2340
2363
|
doc.open();
|
|
2364
|
+
let parsedSizeMeta = null;
|
|
2365
|
+
{
|
|
2366
|
+
const _preParser = new DOMParser();
|
|
2367
|
+
const _preDoc = _preParser.parseFromString(loaderConfig.HTML, "text/html");
|
|
2368
|
+
const sizeMeta = _preDoc.querySelector('meta[name="myop:size"]');
|
|
2369
|
+
if (sizeMeta) {
|
|
2370
|
+
try {
|
|
2371
|
+
parsedSizeMeta = JSON.parse(sizeMeta.getAttribute("content") || "{}");
|
|
2372
|
+
} catch (e) {
|
|
2373
|
+
}
|
|
2374
|
+
}
|
|
2375
|
+
}
|
|
2341
2376
|
let HTML2Render = loaderConfig.HTML;
|
|
2342
2377
|
if (options == null ? void 0 : options._inspection) {
|
|
2343
2378
|
const parser = new DOMParser();
|
|
@@ -2351,7 +2386,7 @@ var HTMLComponentLoader = class extends BaseMyopLoader {
|
|
|
2351
2386
|
_doc.head.insertBefore(_doc.importNode(node, true), _doc.head.firstChild);
|
|
2352
2387
|
}
|
|
2353
2388
|
HTML2Render = _doc.documentElement.outerHTML;
|
|
2354
|
-
} else {
|
|
2389
|
+
} else if ((options == null ? void 0 : options.data) !== void 0) {
|
|
2355
2390
|
const parser = new DOMParser();
|
|
2356
2391
|
const _doc = parser.parseFromString(loaderConfig.HTML, "text/html");
|
|
2357
2392
|
const myop_preview_script = _doc.getElementById("myop_preview");
|
|
@@ -2372,6 +2407,7 @@ var HTMLComponentLoader = class extends BaseMyopLoader {
|
|
|
2372
2407
|
}
|
|
2373
2408
|
doc.close();
|
|
2374
2409
|
const comp = new MyopIframeComponent(componentDefinition, skin, container, IframeElement, options);
|
|
2410
|
+
comp.sizeMeta = parsedSizeMeta;
|
|
2375
2411
|
if (loaderConfig.autoHeight) {
|
|
2376
2412
|
IframeElement.onload = () => {
|
|
2377
2413
|
comp.observeSizeBasedOnDocumentElement();
|
|
@@ -3144,10 +3180,10 @@ var observeDOM = (obj, callback) => {
|
|
|
3144
3180
|
console.log("n");
|
|
3145
3181
|
return;
|
|
3146
3182
|
}
|
|
3147
|
-
let
|
|
3183
|
+
let MutationObserver2 = window.MutationObserver || window.WebKitMutationObserver;
|
|
3148
3184
|
if (!obj || obj.nodeType !== 1) return;
|
|
3149
|
-
if (
|
|
3150
|
-
const mutationObserver = new
|
|
3185
|
+
if (MutationObserver2) {
|
|
3186
|
+
const mutationObserver = new MutationObserver2(callback);
|
|
3151
3187
|
const config = { attributes: true, childList: true, subtree: true };
|
|
3152
3188
|
mutationObserver.observe(obj, config);
|
|
3153
3189
|
return mutationObserver;
|