@myop/sdk 0.3.24 → 0.3.25
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.1f1af47b.min.js +1 -0
- package/dist/cjs/{_IframeSDK.398c9caf.js → _IframeSDK.4fb657bf.js} +57 -4
- package/dist/cjs/_IframeSDK.4fb657bf.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.05217c76.min.js +1 -0
- package/dist/cjs/{_WebComponentSDK.c8c6ebc0.js → _WebComponentSDK.949eae52.js} +57 -4
- package/dist/cjs/{_WebComponentSDK.c8c6ebc0.js.map → _WebComponentSDK.949eae52.js.map} +2 -2
- package/dist/cjs/{_hostSDK.6d5f8f31.js → _hostSDK.664e938c.js} +57 -4
- package/dist/cjs/{_hostSDK.6d5f8f31.js.map → _hostSDK.664e938c.js.map} +2 -2
- package/dist/cjs/_hostSDK.d90560a4.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 +64 -6
- 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 +58 -5
- package/dist/module/Iframe/index.js.map +2 -2
- package/dist/module/SDK.js +64 -6
- 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 +58 -5
- package/dist/module/host/index.js.map +2 -2
- package/dist/module/webcomponent/index.js +58 -5
- 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
|
@@ -1562,10 +1562,22 @@ var MyopIframeComponent = class extends BaseMyopComponent {
|
|
|
1562
1562
|
const prevMinWidth = container.style.minWidth;
|
|
1563
1563
|
if (needsHeightCollapse) container.style.minHeight = "".concat(currentIframeHeight, "px");
|
|
1564
1564
|
if (needsWidthCollapse) container.style.minWidth = "".concat(currentIframeWidth, "px");
|
|
1565
|
+
const measureStyle = contentDoc.createElement("style");
|
|
1566
|
+
measureStyle.id = "__myop_measure";
|
|
1567
|
+
const rules = [];
|
|
1568
|
+
if (needsHeightCollapse) {
|
|
1569
|
+
rules.push("height: auto !important", "min-height: 0 !important", "max-height: none !important");
|
|
1570
|
+
}
|
|
1571
|
+
if (needsWidthCollapse) {
|
|
1572
|
+
rules.push("width: auto !important", "min-width: 0 !important", "max-width: none !important");
|
|
1573
|
+
}
|
|
1574
|
+
measureStyle.textContent = "*, *::before, *::after { ".concat(rules.join("; "), "; flex-basis: auto !important; flex-grow: 0 !important; }");
|
|
1575
|
+
contentDoc.head.appendChild(measureStyle);
|
|
1565
1576
|
if (needsHeightCollapse) iframe.style.height = "0px";
|
|
1566
1577
|
if (needsWidthCollapse) iframe.style.width = "0px";
|
|
1567
1578
|
contentWidth = Math.ceil(Math.max(contentDoc.documentElement.scrollWidth, contentDoc.body.scrollWidth, contentDoc.body.getBoundingClientRect().width));
|
|
1568
1579
|
contentHeight = Math.ceil(Math.max(contentDoc.documentElement.scrollHeight, contentDoc.body.scrollHeight, contentDoc.body.getBoundingClientRect().height));
|
|
1580
|
+
measureStyle.remove();
|
|
1569
1581
|
container.style.minHeight = prevMinHeight;
|
|
1570
1582
|
container.style.minWidth = prevMinWidth;
|
|
1571
1583
|
}
|
|
@@ -1886,7 +1898,7 @@ var WebcomponentLoader = class extends BaseMyopLoader {
|
|
|
1886
1898
|
};
|
|
1887
1899
|
|
|
1888
1900
|
// version:myop-sdk-version
|
|
1889
|
-
var myop_sdk_version_default = "0.3.
|
|
1901
|
+
var myop_sdk_version_default = "0.3.25";
|
|
1890
1902
|
|
|
1891
1903
|
// src/webcomponent/messageHandlers/BaseWebComponentMessageHandler.ts
|
|
1892
1904
|
var BaseWebComponentMessageHandler = class extends BaseContextMessageHandler {
|
|
@@ -2343,10 +2355,19 @@ var HTMLComponentLoader = class extends BaseMyopLoader {
|
|
|
2343
2355
|
const comp = new MyopIframeComponent(componentDefinition, skin, container, IframeElement, options);
|
|
2344
2356
|
comp.sizeMeta = parsedSizeMeta;
|
|
2345
2357
|
comp.initiated().then(() => {
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
comp.show();
|
|
2358
|
+
if ((options == null ? void 0 : options.autoSize) === false) {
|
|
2359
|
+
return;
|
|
2349
2360
|
}
|
|
2361
|
+
let shown = false;
|
|
2362
|
+
comp.observeAutoSize({
|
|
2363
|
+
forceAutoSize: true,
|
|
2364
|
+
onSizeChange: () => {
|
|
2365
|
+
if (!shown && !(options == null ? void 0 : options.hidden)) {
|
|
2366
|
+
shown = true;
|
|
2367
|
+
comp.show();
|
|
2368
|
+
}
|
|
2369
|
+
}
|
|
2370
|
+
});
|
|
2350
2371
|
});
|
|
2351
2372
|
return comp;
|
|
2352
2373
|
}
|
|
@@ -2533,6 +2554,7 @@ var _CloudRepository = class _CloudRepository {
|
|
|
2533
2554
|
constructor(_baseUrl = "https://cloud.myop.dev") {
|
|
2534
2555
|
this._baseUrl = _baseUrl;
|
|
2535
2556
|
// v2 cache - keyed by componentId:env:preview|live
|
|
2557
|
+
// Each Promise is tagged with a `resolved` property after settling (see fetchComponentV2).
|
|
2536
2558
|
__publicField(this, "variants", {});
|
|
2537
2559
|
// Track which components were preloaded and with what params
|
|
2538
2560
|
// Key: componentId, Value: { env, preview }
|
|
@@ -2633,6 +2655,7 @@ var _CloudRepository = class _CloudRepository {
|
|
|
2633
2655
|
return;
|
|
2634
2656
|
}
|
|
2635
2657
|
const componentConfig = convertV2VariantToComponentConfig(variant);
|
|
2658
|
+
this.variants[cacheKey].resolved = componentConfig;
|
|
2636
2659
|
resolve(componentConfig);
|
|
2637
2660
|
} catch (e) {
|
|
2638
2661
|
reject(e);
|
|
@@ -2642,6 +2665,36 @@ var _CloudRepository = class _CloudRepository {
|
|
|
2642
2665
|
}
|
|
2643
2666
|
return await this.variants[cacheKey];
|
|
2644
2667
|
}
|
|
2668
|
+
/**
|
|
2669
|
+
* Synchronous version of fetchComponentV2 — returns the config only if
|
|
2670
|
+
* the fetch already completed, null otherwise.
|
|
2671
|
+
*
|
|
2672
|
+
* Uses the same `this.variants` cache that fetchComponentV2/preloadComponents
|
|
2673
|
+
* populate. Each cached Promise is tagged with a `.resolved` property when
|
|
2674
|
+
* it settles — this method just reads that property. No separate cache.
|
|
2675
|
+
*
|
|
2676
|
+
* Why this exists: React Native needs the config at render time to embed it
|
|
2677
|
+
* in the WebView HTML (can't await in useState). If preloadComponents ran
|
|
2678
|
+
* earlier and the fetch completed, this returns the result synchronously,
|
|
2679
|
+
* skipping the WEBVIEW_READY → fetch → inject round trip entirely.
|
|
2680
|
+
*/
|
|
2681
|
+
getResolvedConfig(componentId, env, preview) {
|
|
2682
|
+
var _a;
|
|
2683
|
+
const preloaded = this.preloadedComponents[componentId];
|
|
2684
|
+
const hasExplicitParams = env !== void 0 || preview !== void 0;
|
|
2685
|
+
let resolvedEnv;
|
|
2686
|
+
let usePreview;
|
|
2687
|
+
if (!hasExplicitParams && preloaded) {
|
|
2688
|
+
resolvedEnv = preloaded.env;
|
|
2689
|
+
usePreview = preloaded.preview;
|
|
2690
|
+
} else {
|
|
2691
|
+
resolvedEnv = env || this._defaultEnv;
|
|
2692
|
+
const hasEffectiveEnv = env || this._envExplicitlySet;
|
|
2693
|
+
usePreview = preview === true ? true : preview === false ? false : !hasEffectiveEnv;
|
|
2694
|
+
}
|
|
2695
|
+
const cacheKey = "".concat(componentId, ":").concat(resolvedEnv, ":").concat(usePreview ? "preview" : "live");
|
|
2696
|
+
return ((_a = this.variants[cacheKey]) == null ? void 0 : _a.resolved) || null;
|
|
2697
|
+
}
|
|
2645
2698
|
// ============ V1 Methods (Legacy) ============
|
|
2646
2699
|
/**
|
|
2647
2700
|
* Fetch a v1 component from a flow
|