@myop/sdk 0.3.24 → 0.3.26
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 +23 -0
- package/dist/cjs/_IframeSDK.8724e6a9.min.js +1 -0
- package/dist/cjs/{_IframeSDK.398c9caf.js → _IframeSDK.f8e27dc0.js} +63 -14
- package/dist/cjs/_IframeSDK.f8e27dc0.js.map +7 -0
- package/dist/cjs/_MyopHelpers.6fb8c382.min.js +1 -0
- package/dist/cjs/{_MyopHelpers.71a8a09b.js → _MyopHelpers.859b9bc8.js} +37 -0
- package/dist/cjs/{_MyopHelpers.71a8a09b.js.map → _MyopHelpers.859b9bc8.js.map} +2 -2
- package/dist/cjs/_WebComponentSDK.9222ca02.min.js +1 -0
- package/dist/cjs/{_WebComponentSDK.c8c6ebc0.js → _WebComponentSDK.f8bc2f3a.js} +63 -14
- package/dist/cjs/{_WebComponentSDK.c8c6ebc0.js.map → _WebComponentSDK.f8bc2f3a.js.map} +2 -2
- package/dist/cjs/{_hostSDK.6d5f8f31.js → _hostSDK.9c5e7767.js} +63 -14
- package/dist/cjs/_hostSDK.9c5e7767.js.map +7 -0
- package/dist/cjs/_hostSDK.e2851f6a.min.js +1 -0
- package/dist/cjs/myop_sdk.js +14 -14
- 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 +70 -16
- 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 +64 -15
- package/dist/module/Iframe/index.js.map +2 -2
- package/dist/module/SDK.js +70 -16
- package/dist/module/SDK.js.map +3 -3
- package/dist/module/embeddedSDK.js +1 -1
- package/dist/module/helpers/CloudRepository.d.ts +14 -0
- package/dist/module/helpers/cloudRepositoryHelpers.d.ts +1 -0
- package/dist/module/helpers/index.js +37 -1
- package/dist/module/helpers/index.js.map +2 -2
- package/dist/module/host/embeddedSDK.js +1 -1
- package/dist/module/host/hostSDK.d.ts +8 -0
- package/dist/module/host/index.js +64 -15
- package/dist/module/host/index.js.map +2 -2
- package/dist/module/webcomponent/index.js +64 -15
- package/dist/module/webcomponent/index.js.map +2 -2
- package/package.json +1 -1
- package/dist/cjs/_IframeSDK.398c9caf.js.map +0 -7
- package/dist/cjs/_IframeSDK.b1090eff.min.js +0 -1
- package/dist/cjs/_MyopHelpers.19dc0df3.min.js +0 -1
- package/dist/cjs/_WebComponentSDK.fc58ea5a.min.js +0 -1
- package/dist/cjs/_hostSDK.2c80162b.min.js +0 -1
- package/dist/cjs/_hostSDK.6d5f8f31.js.map +0 -7
|
@@ -1530,16 +1530,12 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1530
1530
|
if (!shouldAutoWidth && !shouldAutoHeight) {
|
|
1531
1531
|
iframe.style.width = typeof resolvedExplicitWidth === "number" ? "".concat(resolvedExplicitWidth, "px") : "100%";
|
|
1532
1532
|
iframe.style.height = typeof resolvedExplicitHeight === "number" ? "".concat(resolvedExplicitHeight, "px") : "100%";
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
autoSizingWidth: false,
|
|
1540
|
-
autoSizingHeight: false
|
|
1541
|
-
});
|
|
1542
|
-
}
|
|
1533
|
+
(_g = opts == null ? void 0 : opts.onSizeChange) == null ? void 0 : _g.call(opts, {
|
|
1534
|
+
width: typeof resolvedExplicitWidth === "number" ? resolvedExplicitWidth : void 0,
|
|
1535
|
+
height: typeof resolvedExplicitHeight === "number" ? resolvedExplicitHeight : void 0,
|
|
1536
|
+
autoSizingWidth: false,
|
|
1537
|
+
autoSizingHeight: false
|
|
1538
|
+
});
|
|
1543
1539
|
return;
|
|
1544
1540
|
}
|
|
1545
1541
|
const prevTransition = iframe.style.transition;
|
|
@@ -1562,10 +1558,22 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1562
1558
|
const prevMinWidth = container.style.minWidth;
|
|
1563
1559
|
if (needsHeightCollapse) container.style.minHeight = "".concat(currentIframeHeight, "px");
|
|
1564
1560
|
if (needsWidthCollapse) container.style.minWidth = "".concat(currentIframeWidth, "px");
|
|
1561
|
+
const measureStyle = contentDoc.createElement("style");
|
|
1562
|
+
measureStyle.id = "__myop_measure";
|
|
1563
|
+
const rules = [];
|
|
1564
|
+
if (needsHeightCollapse) {
|
|
1565
|
+
rules.push("height: auto !important", "min-height: 0 !important", "max-height: none !important");
|
|
1566
|
+
}
|
|
1567
|
+
if (needsWidthCollapse) {
|
|
1568
|
+
rules.push("width: auto !important", "min-width: 0 !important", "max-width: none !important");
|
|
1569
|
+
}
|
|
1570
|
+
measureStyle.textContent = "*, *::before, *::after { ".concat(rules.join("; "), "; flex-basis: auto !important; flex-grow: 0 !important; }");
|
|
1571
|
+
contentDoc.head.appendChild(measureStyle);
|
|
1565
1572
|
if (needsHeightCollapse) iframe.style.height = "0px";
|
|
1566
1573
|
if (needsWidthCollapse) iframe.style.width = "0px";
|
|
1567
1574
|
contentWidth = Math.ceil(Math.max(contentDoc.documentElement.scrollWidth, contentDoc.body.scrollWidth, contentDoc.body.getBoundingClientRect().width));
|
|
1568
1575
|
contentHeight = Math.ceil(Math.max(contentDoc.documentElement.scrollHeight, contentDoc.body.scrollHeight, contentDoc.body.getBoundingClientRect().height));
|
|
1576
|
+
measureStyle.remove();
|
|
1569
1577
|
container.style.minHeight = prevMinHeight;
|
|
1570
1578
|
container.style.minWidth = prevMinWidth;
|
|
1571
1579
|
}
|
|
@@ -1886,7 +1894,7 @@ var WebcomponentLoader = class extends BaseMyopLoader {
|
|
|
1886
1894
|
};
|
|
1887
1895
|
|
|
1888
1896
|
// version:myop-sdk-version
|
|
1889
|
-
var myop_sdk_version_default = "0.3.
|
|
1897
|
+
var myop_sdk_version_default = "0.3.26";
|
|
1890
1898
|
|
|
1891
1899
|
// src/webcomponent/messageHandlers/BaseWebComponentMessageHandler.ts
|
|
1892
1900
|
var BaseWebComponentMessageHandler = class extends BaseContextMessageHandler {
|
|
@@ -2343,10 +2351,19 @@ var HTMLComponentLoader = class extends BaseMyopLoader {
|
|
|
2343
2351
|
const comp = new MyopIframeComponent(componentDefinition, skin, container, IframeElement, options);
|
|
2344
2352
|
comp.sizeMeta = parsedSizeMeta;
|
|
2345
2353
|
comp.initiated().then(() => {
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
comp.show();
|
|
2354
|
+
if ((options == null ? void 0 : options.autoSize) === false) {
|
|
2355
|
+
return;
|
|
2349
2356
|
}
|
|
2357
|
+
let shown = false;
|
|
2358
|
+
comp.observeAutoSize({
|
|
2359
|
+
forceAutoSize: true,
|
|
2360
|
+
onSizeChange: () => {
|
|
2361
|
+
if (!shown && !(options == null ? void 0 : options.hidden)) {
|
|
2362
|
+
shown = true;
|
|
2363
|
+
comp.show();
|
|
2364
|
+
}
|
|
2365
|
+
}
|
|
2366
|
+
});
|
|
2350
2367
|
});
|
|
2351
2368
|
return comp;
|
|
2352
2369
|
}
|
|
@@ -2533,6 +2550,7 @@ var _CloudRepository = class _CloudRepository {
|
|
|
2533
2550
|
constructor(_baseUrl = "https://cloud.myop.dev") {
|
|
2534
2551
|
this._baseUrl = _baseUrl;
|
|
2535
2552
|
// v2 cache - keyed by componentId:env:preview|live
|
|
2553
|
+
// Each Promise is tagged with a `resolved` property after settling (see fetchComponentV2).
|
|
2536
2554
|
__publicField(this, "variants", {});
|
|
2537
2555
|
// Track which components were preloaded and with what params
|
|
2538
2556
|
// Key: componentId, Value: { env, preview }
|
|
@@ -2633,6 +2651,7 @@ var _CloudRepository = class _CloudRepository {
|
|
|
2633
2651
|
return;
|
|
2634
2652
|
}
|
|
2635
2653
|
const componentConfig = convertV2VariantToComponentConfig(variant);
|
|
2654
|
+
this.variants[cacheKey].resolved = componentConfig;
|
|
2636
2655
|
resolve(componentConfig);
|
|
2637
2656
|
} catch (e) {
|
|
2638
2657
|
reject(e);
|
|
@@ -2642,6 +2661,36 @@ var _CloudRepository = class _CloudRepository {
|
|
|
2642
2661
|
}
|
|
2643
2662
|
return await this.variants[cacheKey];
|
|
2644
2663
|
}
|
|
2664
|
+
/**
|
|
2665
|
+
* Synchronous version of fetchComponentV2 — returns the config only if
|
|
2666
|
+
* the fetch already completed, null otherwise.
|
|
2667
|
+
*
|
|
2668
|
+
* Uses the same `this.variants` cache that fetchComponentV2/preloadComponents
|
|
2669
|
+
* populate. Each cached Promise is tagged with a `.resolved` property when
|
|
2670
|
+
* it settles — this method just reads that property. No separate cache.
|
|
2671
|
+
*
|
|
2672
|
+
* Why this exists: React Native needs the config at render time to embed it
|
|
2673
|
+
* in the WebView HTML (can't await in useState). If preloadComponents ran
|
|
2674
|
+
* earlier and the fetch completed, this returns the result synchronously,
|
|
2675
|
+
* skipping the WEBVIEW_READY → fetch → inject round trip entirely.
|
|
2676
|
+
*/
|
|
2677
|
+
getResolvedConfig(componentId, env, preview) {
|
|
2678
|
+
var _a;
|
|
2679
|
+
const preloaded = this.preloadedComponents[componentId];
|
|
2680
|
+
const hasExplicitParams = env !== void 0 || preview !== void 0;
|
|
2681
|
+
let resolvedEnv;
|
|
2682
|
+
let usePreview;
|
|
2683
|
+
if (!hasExplicitParams && preloaded) {
|
|
2684
|
+
resolvedEnv = preloaded.env;
|
|
2685
|
+
usePreview = preloaded.preview;
|
|
2686
|
+
} else {
|
|
2687
|
+
resolvedEnv = env || this._defaultEnv;
|
|
2688
|
+
const hasEffectiveEnv = env || this._envExplicitlySet;
|
|
2689
|
+
usePreview = preview === true ? true : preview === false ? false : !hasEffectiveEnv;
|
|
2690
|
+
}
|
|
2691
|
+
const cacheKey = "".concat(componentId, ":").concat(resolvedEnv, ":").concat(usePreview ? "preview" : "live");
|
|
2692
|
+
return ((_a = this.variants[cacheKey]) == null ? void 0 : _a.resolved) || null;
|
|
2693
|
+
}
|
|
2645
2694
|
// ============ V1 Methods (Legacy) ============
|
|
2646
2695
|
/**
|
|
2647
2696
|
* Fetch a v1 component from a flow
|