@myop/sdk 0.3.15 → 0.3.17
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 +5 -2
- package/dist/cjs/{_IframeSDK.9748f61d.js → _IframeSDK.2444180b.js} +135 -88
- package/dist/cjs/_IframeSDK.2444180b.js.map +7 -0
- package/dist/cjs/_IframeSDK.d5896709.min.js +1 -0
- package/dist/cjs/_WebComponentSDK.87c5e31a.min.js +1 -0
- package/dist/cjs/{_WebComponentSDK.6157152e.js → _WebComponentSDK.8ff8e8a2.js} +135 -88
- package/dist/cjs/_WebComponentSDK.8ff8e8a2.js.map +7 -0
- package/dist/cjs/{_hostSDK.0fb0e40a.js → _hostSDK.8915b7f2.js} +135 -88
- package/dist/cjs/_hostSDK.8915b7f2.js.map +7 -0
- package/dist/cjs/_hostSDK.fe79b132.min.js +1 -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 +145 -97
- package/dist/cjs-bundled/myop_sdk.bundled.js.map +4 -4
- package/dist/cjs-bundled/myop_sdk.bundled.min.js +1 -1
- package/dist/module/Iframe/index.js +136 -89
- package/dist/module/Iframe/index.js.map +3 -3
- package/dist/module/SDK.js +145 -97
- package/dist/module/SDK.js.map +4 -4
- package/dist/module/embeddedSDK.js +1 -1
- package/dist/module/host/components/myopExtractedWebComponent.d.ts +5 -2
- package/dist/module/host/embeddedSDK.js +1 -1
- package/dist/module/host/index.js +136 -89
- package/dist/module/host/index.js.map +3 -3
- package/dist/module/webcomponent/index.js +136 -89
- package/dist/module/webcomponent/index.js.map +3 -3
- package/package.json +1 -1
- package/dist/cjs/_IframeSDK.9748f61d.js.map +0 -7
- package/dist/cjs/_IframeSDK.9bd2ab9c.min.js +0 -1
- package/dist/cjs/_WebComponentSDK.28ac5568.min.js +0 -1
- package/dist/cjs/_WebComponentSDK.6157152e.js.map +0 -7
- package/dist/cjs/_hostSDK.0fb0e40a.js.map +0 -7
- package/dist/cjs/_hostSDK.c253d85a.min.js +0 -1
|
@@ -1013,6 +1013,114 @@ var MyopRefComponent = class extends BaseMyopComponent {
|
|
|
1013
1013
|
}
|
|
1014
1014
|
};
|
|
1015
1015
|
|
|
1016
|
+
// src/host/components/myopExtractedWebComponent.ts
|
|
1017
|
+
var MyopExtractedWebComponent = class extends BaseMyopComponent {
|
|
1018
|
+
constructor(componentDefinition, skin, container, customElement, tagName, options) {
|
|
1019
|
+
super(componentDefinition, container, options);
|
|
1020
|
+
this.container = container;
|
|
1021
|
+
this.customElement = customElement;
|
|
1022
|
+
this.tagName = tagName;
|
|
1023
|
+
__publicField(this, "ctaCleanup");
|
|
1024
|
+
__publicField(this, "_ctaHandler");
|
|
1025
|
+
__publicField(this, "_ctaQueue", []);
|
|
1026
|
+
__publicField(this, "cleanupInspect", () => {
|
|
1027
|
+
});
|
|
1028
|
+
/**
|
|
1029
|
+
* For compatibility with message-based components.
|
|
1030
|
+
* Web components don't use postMessage, so this is a no-op for most messages.
|
|
1031
|
+
*/
|
|
1032
|
+
__publicField(this, "send", (message) => {
|
|
1033
|
+
const cleanupHandler = super.send(message);
|
|
1034
|
+
console.debug("[MyopExtractedWebComponent] send() called - web components use direct API instead", message);
|
|
1035
|
+
return cleanupHandler;
|
|
1036
|
+
});
|
|
1037
|
+
__publicField(this, "dispose", () => {
|
|
1038
|
+
var _a;
|
|
1039
|
+
if (this.ctaCleanup) {
|
|
1040
|
+
this.ctaCleanup();
|
|
1041
|
+
}
|
|
1042
|
+
super.dispose();
|
|
1043
|
+
(_a = this.customElement.parentNode) == null ? void 0 : _a.removeChild(this.customElement);
|
|
1044
|
+
});
|
|
1045
|
+
this.element = customElement;
|
|
1046
|
+
this.setInitiated();
|
|
1047
|
+
}
|
|
1048
|
+
inspect() {
|
|
1049
|
+
this.cleanupInspect = setDebugStyle(this.id, "MyopExtractedWebComponent", 0, this.container, this.customElement, this.componentDefinition);
|
|
1050
|
+
return this.cleanupInspect;
|
|
1051
|
+
}
|
|
1052
|
+
hide() {
|
|
1053
|
+
this.customElement.style.opacity = "0";
|
|
1054
|
+
this.customElement.style.position = "absolute";
|
|
1055
|
+
this.customElement.style.pointerEvents = "none";
|
|
1056
|
+
this.customElement.style.visibility = "hidden";
|
|
1057
|
+
this.customElement.style.height = "0";
|
|
1058
|
+
this.customElement.style.width = "0";
|
|
1059
|
+
}
|
|
1060
|
+
show() {
|
|
1061
|
+
this.customElement.style.opacity = "1";
|
|
1062
|
+
this.customElement.style.position = "unset";
|
|
1063
|
+
this.customElement.style.pointerEvents = "all";
|
|
1064
|
+
this.customElement.style.visibility = "visible";
|
|
1065
|
+
this.customElement.style.height = "";
|
|
1066
|
+
this.customElement.style.width = "";
|
|
1067
|
+
}
|
|
1068
|
+
/**
|
|
1069
|
+
* Initialize the component with data by calling myop_init_interface directly
|
|
1070
|
+
*/
|
|
1071
|
+
initWithData(data) {
|
|
1072
|
+
if (typeof this.customElement.myop_init_interface === "function") {
|
|
1073
|
+
this.customElement.myop_init_interface(data);
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
/**
|
|
1077
|
+
* Get current data from the component
|
|
1078
|
+
*/
|
|
1079
|
+
getData() {
|
|
1080
|
+
if (typeof this.customElement.myop_init_interface === "function") {
|
|
1081
|
+
return this.customElement.myop_init_interface();
|
|
1082
|
+
}
|
|
1083
|
+
return void 0;
|
|
1084
|
+
}
|
|
1085
|
+
/**
|
|
1086
|
+
* Set CTA handler - unified API with iframe components.
|
|
1087
|
+
* Called via props.myop_cta_handler = handler
|
|
1088
|
+
*/
|
|
1089
|
+
setCtaHandler(handler) {
|
|
1090
|
+
if (this.ctaCleanup) {
|
|
1091
|
+
this.ctaCleanup();
|
|
1092
|
+
}
|
|
1093
|
+
this._ctaHandler = handler;
|
|
1094
|
+
if (this._ctaQueue.length > 0) {
|
|
1095
|
+
const queue = [...this._ctaQueue];
|
|
1096
|
+
this._ctaQueue = [];
|
|
1097
|
+
queue.forEach((item) => {
|
|
1098
|
+
if (!this.markedForDisposed) {
|
|
1099
|
+
handler(item.action, item.payload);
|
|
1100
|
+
}
|
|
1101
|
+
});
|
|
1102
|
+
}
|
|
1103
|
+
const listener = (e) => {
|
|
1104
|
+
var _a;
|
|
1105
|
+
const customEvent = e;
|
|
1106
|
+
if ((_a = customEvent.detail) == null ? void 0 : _a.action) {
|
|
1107
|
+
if (this._ctaHandler && !this.markedForDisposed) {
|
|
1108
|
+
this._ctaHandler(customEvent.detail.action, customEvent.detail.payload);
|
|
1109
|
+
} else if (!this._ctaHandler) {
|
|
1110
|
+
this._ctaQueue.push({
|
|
1111
|
+
action: customEvent.detail.action,
|
|
1112
|
+
payload: customEvent.detail.payload
|
|
1113
|
+
});
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
};
|
|
1117
|
+
this.customElement.addEventListener("myop-cta", listener);
|
|
1118
|
+
this.ctaCleanup = () => {
|
|
1119
|
+
this.customElement.removeEventListener("myop-cta", listener);
|
|
1120
|
+
};
|
|
1121
|
+
}
|
|
1122
|
+
};
|
|
1123
|
+
|
|
1016
1124
|
// src/host/componentCore.ts
|
|
1017
1125
|
var createDebugTitle = (text, top, componentDefinitionConfig) => {
|
|
1018
1126
|
const titleEl = document.createElement("a");
|
|
@@ -1065,6 +1173,19 @@ var connectProps = (component, propsConfig, selectedSkin) => {
|
|
|
1065
1173
|
return false;
|
|
1066
1174
|
}
|
|
1067
1175
|
if (propConfig.behavior.type === PropConfigBehaviorTypes.code) {
|
|
1176
|
+
if (component instanceof MyopExtractedWebComponent) {
|
|
1177
|
+
const typedPropBehavior = propConfig.behavior;
|
|
1178
|
+
const propName = typedPropBehavior.remap || prop;
|
|
1179
|
+
if (propName === "myop_init_interface") {
|
|
1180
|
+
return (data) => {
|
|
1181
|
+
if (data === void 0) {
|
|
1182
|
+
return component.getData();
|
|
1183
|
+
}
|
|
1184
|
+
component.initWithData(data);
|
|
1185
|
+
};
|
|
1186
|
+
}
|
|
1187
|
+
return void 0;
|
|
1188
|
+
}
|
|
1068
1189
|
if (selectedSkin.loader.type === SkinLoaders.HTMLLoader) {
|
|
1069
1190
|
const typedLoader = selectedSkin.loader;
|
|
1070
1191
|
if (typedLoader.shadowRootMode === ShadowRootModeType.localFrame) {
|
|
@@ -1099,6 +1220,18 @@ var connectProps = (component, propsConfig, selectedSkin) => {
|
|
|
1099
1220
|
return false;
|
|
1100
1221
|
}
|
|
1101
1222
|
if (propConfig.behavior.type === PropConfigBehaviorTypes.code) {
|
|
1223
|
+
if (component instanceof MyopExtractedWebComponent) {
|
|
1224
|
+
const typedPropBehavior = propConfig.behavior;
|
|
1225
|
+
const propName = typedPropBehavior.remap || prop;
|
|
1226
|
+
if (propName === "myop_cta_handler") {
|
|
1227
|
+
component.setCtaHandler(value);
|
|
1228
|
+
return true;
|
|
1229
|
+
}
|
|
1230
|
+
if (propName === "myop_init_interface") {
|
|
1231
|
+
component.initWithData(value);
|
|
1232
|
+
return true;
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
1102
1235
|
if (selectedSkin.loader.type === SkinLoaders.HTMLLoader) {
|
|
1103
1236
|
const typedLoader = selectedSkin.loader;
|
|
1104
1237
|
if (typedLoader.shadowRootMode === ShadowRootModeType.localFrame) {
|
|
@@ -1675,93 +1808,7 @@ var WebcomponentLoader = class extends BaseMyopLoader {
|
|
|
1675
1808
|
};
|
|
1676
1809
|
|
|
1677
1810
|
// version:myop-sdk-version
|
|
1678
|
-
var myop_sdk_version_default = "0.3.
|
|
1679
|
-
|
|
1680
|
-
// src/host/components/myopExtractedWebComponent.ts
|
|
1681
|
-
var MyopExtractedWebComponent = class extends BaseMyopComponent {
|
|
1682
|
-
constructor(componentDefinition, skin, container, customElement, tagName, options) {
|
|
1683
|
-
super(componentDefinition, container, options);
|
|
1684
|
-
this.container = container;
|
|
1685
|
-
this.customElement = customElement;
|
|
1686
|
-
this.tagName = tagName;
|
|
1687
|
-
__publicField(this, "ctaCleanup");
|
|
1688
|
-
__publicField(this, "cleanupInspect", () => {
|
|
1689
|
-
});
|
|
1690
|
-
/**
|
|
1691
|
-
* For compatibility with message-based components.
|
|
1692
|
-
* Web components don't use postMessage, so this is a no-op for most messages.
|
|
1693
|
-
*/
|
|
1694
|
-
__publicField(this, "send", (message) => {
|
|
1695
|
-
const cleanupHandler = super.send(message);
|
|
1696
|
-
console.debug("[MyopExtractedWebComponent] send() called - web components use direct API instead", message);
|
|
1697
|
-
return cleanupHandler;
|
|
1698
|
-
});
|
|
1699
|
-
__publicField(this, "dispose", () => {
|
|
1700
|
-
var _a;
|
|
1701
|
-
if (this.ctaCleanup) {
|
|
1702
|
-
this.ctaCleanup();
|
|
1703
|
-
}
|
|
1704
|
-
super.dispose();
|
|
1705
|
-
(_a = this.customElement.parentNode) == null ? void 0 : _a.removeChild(this.customElement);
|
|
1706
|
-
});
|
|
1707
|
-
this.element = customElement;
|
|
1708
|
-
this.setInitiated();
|
|
1709
|
-
}
|
|
1710
|
-
inspect() {
|
|
1711
|
-
this.cleanupInspect = setDebugStyle(this.id, "MyopExtractedWebComponent", 0, this.container, this.customElement, this.componentDefinition);
|
|
1712
|
-
return this.cleanupInspect;
|
|
1713
|
-
}
|
|
1714
|
-
hide() {
|
|
1715
|
-
this.customElement.style.opacity = "0";
|
|
1716
|
-
this.customElement.style.position = "absolute";
|
|
1717
|
-
this.customElement.style.pointerEvents = "none";
|
|
1718
|
-
this.customElement.style.visibility = "hidden";
|
|
1719
|
-
this.customElement.style.height = "0";
|
|
1720
|
-
this.customElement.style.width = "0";
|
|
1721
|
-
}
|
|
1722
|
-
show() {
|
|
1723
|
-
this.customElement.style.opacity = "1";
|
|
1724
|
-
this.customElement.style.position = "unset";
|
|
1725
|
-
this.customElement.style.pointerEvents = "all";
|
|
1726
|
-
this.customElement.style.visibility = "visible";
|
|
1727
|
-
this.customElement.style.height = "";
|
|
1728
|
-
this.customElement.style.width = "";
|
|
1729
|
-
}
|
|
1730
|
-
/**
|
|
1731
|
-
* Initialize the component with data by calling myop_init_interface directly
|
|
1732
|
-
*/
|
|
1733
|
-
initWithData(data) {
|
|
1734
|
-
if (typeof this.customElement.myop_init_interface === "function") {
|
|
1735
|
-
this.customElement.myop_init_interface(data);
|
|
1736
|
-
}
|
|
1737
|
-
}
|
|
1738
|
-
/**
|
|
1739
|
-
* Get current data from the component
|
|
1740
|
-
*/
|
|
1741
|
-
getData() {
|
|
1742
|
-
if (typeof this.customElement.myop_init_interface === "function") {
|
|
1743
|
-
return this.customElement.myop_init_interface();
|
|
1744
|
-
}
|
|
1745
|
-
return void 0;
|
|
1746
|
-
}
|
|
1747
|
-
/**
|
|
1748
|
-
* Set up CTA handler to listen for myop-cta events
|
|
1749
|
-
*/
|
|
1750
|
-
onCta(handler) {
|
|
1751
|
-
const listener = (e) => {
|
|
1752
|
-
const customEvent = e;
|
|
1753
|
-
if (customEvent.detail && customEvent.detail.action) {
|
|
1754
|
-
handler(customEvent.detail.action, customEvent.detail.payload);
|
|
1755
|
-
}
|
|
1756
|
-
};
|
|
1757
|
-
this.customElement.addEventListener("myop-cta", listener);
|
|
1758
|
-
const cleanup = () => {
|
|
1759
|
-
this.customElement.removeEventListener("myop-cta", listener);
|
|
1760
|
-
};
|
|
1761
|
-
this.ctaCleanup = cleanup;
|
|
1762
|
-
return cleanup;
|
|
1763
|
-
}
|
|
1764
|
-
};
|
|
1811
|
+
var myop_sdk_version_default = "0.3.17";
|
|
1765
1812
|
|
|
1766
1813
|
// src/webcomponent/messageHandlers/BaseWebComponentMessageHandler.ts
|
|
1767
1814
|
var BaseWebComponentMessageHandler = class extends BaseContextMessageHandler {
|
|
@@ -2183,7 +2230,7 @@ var HTMLComponentLoader = class extends BaseMyopLoader {
|
|
|
2183
2230
|
_doc.head.insertBefore(_doc.importNode(node, true), _doc.head.firstChild);
|
|
2184
2231
|
}
|
|
2185
2232
|
HTML2Render = _doc.documentElement.outerHTML;
|
|
2186
|
-
} else {
|
|
2233
|
+
} else if ((options == null ? void 0 : options.data) !== void 0) {
|
|
2187
2234
|
const parser = new DOMParser();
|
|
2188
2235
|
const _doc = parser.parseFromString(loaderConfig.HTML, "text/html");
|
|
2189
2236
|
const myop_preview_script = _doc.getElementById("myop_preview");
|