@merkur/integration-react 0.27.5 → 0.29.1
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/lib/index.es5.js +1 -1
- package/package.json +9 -9
- package/jest.config.js +0 -6
package/lib/index.es5.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e,t,r,i,o,n,s){try{var u=e[n](s),a=u.value}catch(e){return void r(e)}u.done?t(a):Promise.resolve(a).then(i,o)}function t(e,r,i){return t="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=d(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(r):o.value}},t(e,r,i||e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function o(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),e}function n(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}function s(e,t){return s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},s(e,t)}function u(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=d(e);if(t){var o=d(this).constructor;r=Reflect.construct(i,arguments,o)}else r=i.apply(this,arguments);return a(this,r)}}function a(e,t){if(t&&("object"===p(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return l(e)}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},d(e)}function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}require("regenerator-runtime/runtime.js"),require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.object.freeze.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.function.bind.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.reflect.construct.js"),require("core-js/modules/es.object.create.js"),require("core-js/modules/es.reflect.get.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),Object.defineProperty(exports,"__esModule",{value:!0});var h=require("react"),f=require("@merkur/core"),g=require("@merkur/integration");function v(e){return e&&"object"===p(e)&&"default"in e?e:{default:e}}var m=v(h);function y(){return y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},y.apply(this,arguments)}var w=Object.freeze({"#":"id",".":"className"});function _(e){var t=e.html,r=e.containerSelector,i=e.children,o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if("string"!=typeof e||0===e.length)return{};var t=-1;for(var r in w){var i=e.lastIndexOf(r);t<i&&(t=i)}var o=e[t],n=e.substr(t+1);return c({},w[o],n)}(r);return t?m.default.createElement("div",y({},o,{dangerouslySetInnerHTML:{__html:t}})):m.default.createElement("div",o,i)}var j=m.default.memo(_),P=function(e){n(i,m["default"].Component);var t=u(i);function i(e){var o;return r(this,i),(o=t.call(this,e))._isMounted=!1,o._html=null,o}return o(i,[{key:"html",get:function(){throw new Error("The html getter is abstract and must be overridden")}},{key:"container",get:function(){throw new Error("The container getter is abstract and must be overridden")}},{key:"componentDidMount",value:function(){this._isMounted=!0}},{key:"_renderFallback",value:function(){var e=this.props.children,t=(this.state||{}).encounteredError;return"function"==typeof e?e({error:void 0===t?null:t}):m.default.isValidElement(e)?e:null}},{key:"_clearCachedHtml",value:function(){this._html=null}},{key:"_isClient",value:function(){return"undefined"!=typeof window&&"undefined"!=typeof document}},{key:"_getWidgetHTML",value:function(){return null!==this._html||(this._html=this.html||this._getSSRHTML()),this._html}},{key:"_getSSRHTML",value:function(){var e,t,r;return!this._isMounted&&this._isClient()&&(null===(e=this.container)||void 0===e||null===(t=e.children)||void 0===t||null===(r=t[0])||void 0===r?void 0:r.outerHTML)||""}},{key:"_isSSRHydrate",value:function(){return this._getSSRHTML().length>0}}],[{key:"hasWidgetChanged",value:function(e,t){return!(!(e&&e.name&&e.version&&t&&t.name&&t.version)||e.version===t.version&&e.name===t.name)}},{key:"validateProperties",value:function(e){return!!(e&&e.name&&e.version)}}]),i}(),b=function(i){n(p,P);var s,a,c=u(p);function p(e){var t;return r(this,p),(t=c.call(this,e))._widget=null,t._handleClientError=t._handleError.bind(l(t)),t.state={encounteredError:!1,assetsLoaded:!1,cachedWidgetMeta:null},t}return o(p,[{key:"html",get:function(){var e;return(null===(e=this.props.widgetProperties)||void 0===e?void 0:e.html)||null}},{key:"container",get:function(){var e,t;return this._isClient()&&(null===(e=document)||void 0===e?void 0:e.querySelector(null===(t=this.props.widgetProperties)||void 0===t?void 0:t.containerSelector))||null}},{key:"shouldComponentUpdate",value:function(e,t){if(this.state.assetsLoaded!==t.assetsLoaded||this.state.encounteredError!==t.encounteredError||!P.validateProperties(this.props.widgetProperties)||P.hasWidgetChanged(this.props.widgetProperties,e.widgetProperties))return!0;if(this._widget&&e.widgetProperties&&e.widgetProperties.props){if(Object.keys(e.widgetProperties.props).length!==Object.keys(this.props.widgetProperties.props).length)return this._widget.setProps(e.widgetProperties.props),!1;for(var r in e.widgetProperties.props)if(!this.props.widgetProperties||!this.props.widgetProperties.props||e.widgetProperties.props[r]!==this.props.widgetProperties.props[r])return this._widget.setProps(e.widgetProperties.props),!1}if(this._widget&&e.widgetProperties&&e.widgetProperties.state){if(Object.keys(e.widgetProperties.state).length!==Object.keys(this.props.widgetProperties.state).length)return this._widget.setState(e.widgetProperties.state),!1;for(var i in e.widgetProperties.state)if(!this.props.widgetProperties||!this.props.widgetProperties.state||e.widgetProperties.state[i]!==this.props.widgetProperties.state[i])return this._widget.setState(e.widgetProperties.state),!1}return!1}},{key:"componentDidMount",value:function(){t(d(p.prototype),"componentDidMount",this).call(this),this._loadWidgetAssets()}},{key:"componentDidUpdate",value:function(e,t){var r=this.props.widgetProperties,i=e.widgetProperties;return this.state.assetsLoaded&&t.assetsLoaded!==this.state.assetsLoaded?this._mountWidget():!P.validateProperties(r)&&P.validateProperties(i)?(this._removeWidget(),void this.setState({encounteredError:!1,assetsLoaded:!1,cachedWidgetMeta:null})):P.validateProperties(r)&&!P.validateProperties(i)?this._loadWidgetAssets():P.hasWidgetChanged(r,i)?(this._removeWidget(),void this._loadWidgetAssets()):void 0}},{key:"componentWillUnmount",value:function(){this._removeWidget()}},{key:"render",value:function(){var e=this.props.widgetProperties,t=this.state,r=t.encounteredError,i=t.assetsLoaded;if(!P.validateProperties(e)||r||this._isClient()&&!this._isSSRHydrate()&&!i)return this._renderFallback();if(!e.containerSelector)throw new Error("The widgetProperties.containerSelector is not defined");var o=this._getWidgetHTML();return m.default.createElement(m.default.Fragment,null,(!this._isClient()||this._isSSRHydrate())&&this._renderStyleAssets(),m.default.createElement(j,{containerSelector:e.containerSelector,html:o}))}},{key:"_renderStyleAssets",value:function(){var e=this.props.widgetProperties;return(Array.isArray(null==e?void 0:e.assets)?e.assets:[]).filter((function(e){return["stylesheet","inlineStyle"].includes(e.type)&&e.source})).map((function(e,t){switch(e.type){case"stylesheet":return m.default.createElement("link",{rel:"stylesheet",href:e.source,key:t});case"inlineStyle":return m.default.createElement("style",{key:t,dangerouslySetInnerHTML:{__html:e.source}})}}))}},{key:"_handleError",value:function(e){"function"==typeof this.props.onError&&this.props.onError(e),this.setState({encounteredError:e})}},{key:"_removeWidget",value:function(){this._widget&&(this.props.onWidgetUnmounting&&this.props.onWidgetUnmounting(this._widget),"function"==typeof this._widget.off&&this._widget.off("@merkur/plugin-error.error",this._handleClientError),this._widget.unmount(),this._widget=null,this._clearCachedHtml())}},{key:"_loadWidgetAssets",value:function(){var e=this,t=this.props.widgetProperties;if(P.validateProperties(t)&&!this._widget)return Promise.all([g.loadStyleAssets(t.assets),g.loadScriptAssets(t.assets)]).then((function(){return new Promise((function(t){e.setState({assetsLoaded:!0},(function(){t()}))}))})).catch((function(t){return e._handleError(t)}))}},{key:"_mountWidget",value:(s=regeneratorRuntime.mark((function e(){var t,r,i,o,n,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.props,r=t.widgetProperties,i=t.onWidgetMounted,o=t.debug,n=void 0!==o&&o,P.validateProperties(r)&&!this._widget){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,s=f.getMerkur(),e.next=7,s.create(r);case 7:return this._widget=e.sent,e.next=10,this._widget.mount();case 10:"function"==typeof this._widget.on&&this._widget.on("@merkur/plugin-error.error",this._handleClientError),"function"==typeof i&&i(this._widget),e.next=17;break;case 14:e.prev=14,e.t0=e.catch(3),n&&console.warn(e.t0);case 17:case"end":return e.stop()}}),e,this,[[3,14]])})),a=function(){var t=this,r=arguments;return new Promise((function(i,o){var n=s.apply(t,r);function u(t){e(n,i,o,u,a,"next",t)}function a(t){e(n,i,o,u,a,"throw",t)}u(void 0)}))},function(){return a.apply(this,arguments)})}],[{key:"getDerivedStateFromProps",value:function(e,t){if(t&&e&&P.validateProperties(e.widgetProperties)){var r=e.widgetProperties,i=r.version,o=r.name;if(!t.cachedWidgetMeta)return{cachedWidgetMeta:{name:o,version:i}};if(P.hasWidgetChanged(t.cachedWidgetMeta,e.widgetProperties))return{encounteredError:!1,assetsLoaded:!1,cachedWidgetMeta:{name:o,version:i}}}return null}}]),p}(),k=function(e){n(i,P);var t=u(i);function i(){return r(this,i),t.apply(this,arguments)}return o(i,[{key:"slot",get:function(){var e,t,r=this.props,i=r.widgetProperties,o=r.slotName;return null!==(e=null==i||null===(t=i.slot)||void 0===t?void 0:t[o])&&void 0!==e?e:null}},{key:"html",get:function(){var e;return(null===(e=this.slot)||void 0===e?void 0:e.html)||null}},{key:"container",get:function(){var e,t;return this._isClient()&&(null===(e=document)||void 0===e?void 0:e.querySelector(null===(t=this.slot)||void 0===t?void 0:t.containerSelector))||null}},{key:"shouldComponentUpdate",value:function(e){return!(P.validateProperties(this.props.widgetProperties)&&P.validateProperties(e.widgetProperties)&&!P.hasWidgetChanged(this.props.widgetProperties,e.widgetProperties))}},{key:"componentDidUpdate",value:function(e){var t=this.props.widgetProperties,r=e.widgetProperties;P.validateProperties(t)||!P.validateProperties(r)||this._removeSlot()}},{key:"componentWillUnmount",value:function(){this._removeSlot()}},{key:"render",value:function(){var e=this.props.widgetProperties;if(!P.validateProperties(e)||!this.slot)return this._renderFallback();if(!this.slot.containerSelector)throw new Error("The ".concat(this.slot.name,".containerSelector is not defined"));var t=this._isClient()&&!this._isSSRHydrate(),r=t?"":this._getWidgetHTML();return m.default.createElement(j,{containerSelector:this.slot.containerSelector,html:r},t&&this._renderFallback())}},{key:"_removeSlot",value:function(){this._clearCachedHtml()}}]),i}();exports.MerkurSlot=k,exports.MerkurWidget=b;
|
|
1
|
+
"use strict";function e(e,t,r,i,o,n,s){try{var u=e[n](s),a=u.value}catch(e){return void r(e)}u.done?t(a):Promise.resolve(a).then(i,o)}function t(){return t="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,i){var o=r(e,t);if(o){var n=Object.getOwnPropertyDescriptor(o,t);return n.get?n.get.call(arguments.length<3?e:i):n.value}},t.apply(this,arguments)}function r(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=c(e)););return e}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function n(e,t,r){return t&&o(e.prototype,t),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}function u(e,t){return u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},u(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=c(e);if(t){var o=c(this).constructor;r=Reflect.construct(i,arguments,o)}else r=i.apply(this,arguments);return l(this,r)}}function l(e,t){if(t&&("object"===h(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return d(e)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}require("regenerator-runtime/runtime.js"),require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.object.freeze.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.function.bind.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.reflect.construct.js"),require("core-js/modules/es.object.create.js"),require("core-js/modules/es.reflect.get.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),Object.defineProperty(exports,"__esModule",{value:!0});var f=require("react"),g=require("@merkur/core"),v=require("@merkur/integration");function y(e){return e&&"object"===h(e)&&"default"in e?e:{default:e}}var m=y(f);function w(){return w=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},w.apply(this,arguments)}var _=Object.freeze({"#":"id",".":"className"});function j(e){var t=e.html,r=e.containerSelector,i=e.children,o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if("string"!=typeof e||0===e.length)return{};var t=-1;for(var r in _){var i=e.lastIndexOf(r);t<i&&(t=i)}var o=e[t],n=e.substr(t+1);return p({},_[o],n)}(r);return t?m.default.createElement("div",w({},o,{dangerouslySetInnerHTML:{__html:t}})):m.default.createElement("div",o,i)}var P=m.default.memo(j),b=function(e){s(r,m["default"].Component);var t=a(r);function r(e){var o;return i(this,r),(o=t.call(this,e))._isMounted=!1,o._html=null,o}return n(r,[{key:"html",get:function(){throw new Error("The html getter is abstract and must be overridden")}},{key:"container",get:function(){throw new Error("The container getter is abstract and must be overridden")}},{key:"componentDidMount",value:function(){this._isMounted=!0}},{key:"_renderFallback",value:function(){var e=this.props.children,t=(this.state||{}).encounteredError;return"function"==typeof e?e({error:void 0===t?null:t}):m.default.isValidElement(e)?e:null}},{key:"_clearCachedHtml",value:function(){this._html=null}},{key:"_isClient",value:function(){return"undefined"!=typeof window&&"undefined"!=typeof document}},{key:"_getWidgetHTML",value:function(){return null!==this._html||(this._html=this.html||this._getSSRHTML()),this._html}},{key:"_getSSRHTML",value:function(){var e,t,r;return!this._isMounted&&this._isClient()&&(null===(e=this.container)||void 0===e||null===(t=e.children)||void 0===t||null===(r=t[0])||void 0===r?void 0:r.outerHTML)||""}},{key:"_isSSRHydrate",value:function(){return this._getSSRHTML().length>0}}],[{key:"hasWidgetChanged",value:function(e,t){return!(!(e&&e.name&&e.version&&t&&t.name&&t.version)||e.version===t.version&&e.name===t.name)}},{key:"validateProperties",value:function(e){return!!(e&&e.name&&e.version)}}]),r}(),k=function(r){s(p,b);var o,u,l=a(p);function p(e){var t;return i(this,p),(t=l.call(this,e))._widget=null,t._handleClientError=t._handleError.bind(d(t)),t.state={encounteredError:!1,assetsLoaded:!1,cachedWidgetMeta:null},t}return n(p,[{key:"html",get:function(){var e;return(null===(e=this.props.widgetProperties)||void 0===e?void 0:e.html)||null}},{key:"container",get:function(){var e,t;return this._isClient()&&(null===(e=document)||void 0===e?void 0:e.querySelector(null===(t=this.props.widgetProperties)||void 0===t?void 0:t.containerSelector))||null}},{key:"shouldComponentUpdate",value:function(e,t){if(this.state.assetsLoaded!==t.assetsLoaded||this.state.encounteredError!==t.encounteredError||!b.validateProperties(this.props.widgetProperties)||b.hasWidgetChanged(this.props.widgetProperties,e.widgetProperties))return!0;if(this._widget&&e.widgetProperties&&e.widgetProperties.props){if(Object.keys(e.widgetProperties.props).length!==Object.keys(this.props.widgetProperties.props).length)return this._widget.setProps(e.widgetProperties.props),!1;for(var r in e.widgetProperties.props)if(!this.props.widgetProperties||!this.props.widgetProperties.props||e.widgetProperties.props[r]!==this.props.widgetProperties.props[r])return this._widget.setProps(e.widgetProperties.props),!1}if(this._widget&&e.widgetProperties&&e.widgetProperties.state){if(Object.keys(e.widgetProperties.state).length!==Object.keys(this.props.widgetProperties.state).length)return this._widget.setState(e.widgetProperties.state),!1;for(var i in e.widgetProperties.state)if(!this.props.widgetProperties||!this.props.widgetProperties.state||e.widgetProperties.state[i]!==this.props.widgetProperties.state[i])return this._widget.setState(e.widgetProperties.state),!1}return!1}},{key:"componentDidMount",value:function(){t(c(p.prototype),"componentDidMount",this).call(this),this._loadWidgetAssets()}},{key:"componentDidUpdate",value:function(e,t){var r=this.props.widgetProperties,i=e.widgetProperties;return this.state.assetsLoaded&&t.assetsLoaded!==this.state.assetsLoaded?this._mountWidget():!b.validateProperties(r)&&b.validateProperties(i)?(this._removeWidget(),void this.setState({encounteredError:!1,assetsLoaded:!1,cachedWidgetMeta:null})):b.validateProperties(r)&&!b.validateProperties(i)?this._loadWidgetAssets():b.hasWidgetChanged(r,i)?(this._removeWidget(),void this._loadWidgetAssets()):void 0}},{key:"componentWillUnmount",value:function(){this._removeWidget()}},{key:"render",value:function(){var e=this.props.widgetProperties,t=this.state,r=t.encounteredError,i=t.assetsLoaded;if(!b.validateProperties(e)||r||this._isClient()&&!this._isSSRHydrate()&&!i)return this._renderFallback();if(!e.containerSelector)throw new Error("The widgetProperties.containerSelector is not defined");var o=this._getWidgetHTML();return m.default.createElement(m.default.Fragment,null,(!this._isClient()||this._isSSRHydrate())&&this._renderStyleAssets(),m.default.createElement(P,{containerSelector:e.containerSelector,html:o}))}},{key:"_renderStyleAssets",value:function(){var e=this.props.widgetProperties;return(Array.isArray(null==e?void 0:e.assets)?e.assets:[]).filter((function(e){return["stylesheet","inlineStyle"].includes(e.type)&&e.source})).map((function(e,t){switch(e.type){case"stylesheet":return m.default.createElement("link",{rel:"stylesheet",href:e.source,key:t});case"inlineStyle":return m.default.createElement("style",{key:t,dangerouslySetInnerHTML:{__html:e.source}})}}))}},{key:"_handleError",value:function(e){"function"==typeof this.props.onError&&this.props.onError(e),this.setState({encounteredError:e})}},{key:"_removeWidget",value:function(){this._widget&&(this.props.onWidgetUnmounting&&this.props.onWidgetUnmounting(this._widget),"function"==typeof this._widget.off&&this._widget.off("@merkur/plugin-error.error",this._handleClientError),this._widget.unmount(),this._widget=null,this._clearCachedHtml())}},{key:"_loadWidgetAssets",value:function(){var e=this,t=this.props.widgetProperties;if(b.validateProperties(t)&&!this._widget)return Promise.all([v.loadStyleAssets(t.assets),v.loadScriptAssets(t.assets)]).then((function(){return new Promise((function(t){e.setState({assetsLoaded:!0},(function(){t()}))}))})).catch((function(t){return e._handleError(t)}))}},{key:"_mountWidget",value:(o=regeneratorRuntime.mark((function e(){var t,r,i,o,n,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.props,r=t.widgetProperties,i=t.onWidgetMounted,o=t.debug,n=void 0!==o&&o,b.validateProperties(r)&&!this._widget){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,s=g.getMerkur(),e.next=7,s.create(r);case 7:return this._widget=e.sent,e.next=10,this._widget.mount();case 10:"function"==typeof this._widget.on&&this._widget.on("@merkur/plugin-error.error",this._handleClientError),"function"==typeof i&&i(this._widget),e.next=17;break;case 14:e.prev=14,e.t0=e.catch(3),n&&console.warn(e.t0);case 17:case"end":return e.stop()}}),e,this,[[3,14]])})),u=function(){var t=this,r=arguments;return new Promise((function(i,n){var s=o.apply(t,r);function u(t){e(s,i,n,u,a,"next",t)}function a(t){e(s,i,n,u,a,"throw",t)}u(void 0)}))},function(){return u.apply(this,arguments)})}],[{key:"getDerivedStateFromProps",value:function(e,t){if(t&&e&&b.validateProperties(e.widgetProperties)){var r=e.widgetProperties,i=r.version,o=r.name;if(!t.cachedWidgetMeta)return{cachedWidgetMeta:{name:o,version:i}};if(b.hasWidgetChanged(t.cachedWidgetMeta,e.widgetProperties))return{encounteredError:!1,assetsLoaded:!1,cachedWidgetMeta:{name:o,version:i}}}return null}}]),p}(),S=function(e){s(r,b);var t=a(r);function r(){return i(this,r),t.apply(this,arguments)}return n(r,[{key:"slot",get:function(){var e,t,r=this.props,i=r.widgetProperties,o=r.slotName;return null!==(e=null==i||null===(t=i.slot)||void 0===t?void 0:t[o])&&void 0!==e?e:null}},{key:"html",get:function(){var e;return(null===(e=this.slot)||void 0===e?void 0:e.html)||null}},{key:"container",get:function(){var e,t;return this._isClient()&&(null===(e=document)||void 0===e?void 0:e.querySelector(null===(t=this.slot)||void 0===t?void 0:t.containerSelector))||null}},{key:"shouldComponentUpdate",value:function(e){return!(b.validateProperties(this.props.widgetProperties)&&b.validateProperties(e.widgetProperties)&&!b.hasWidgetChanged(this.props.widgetProperties,e.widgetProperties))}},{key:"componentDidUpdate",value:function(e){var t=this.props.widgetProperties,r=e.widgetProperties;b.validateProperties(t)||!b.validateProperties(r)||this._removeSlot()}},{key:"componentWillUnmount",value:function(){this._removeSlot()}},{key:"render",value:function(){var e=this.props.widgetProperties;if(!b.validateProperties(e)||!this.slot)return this._renderFallback();if(!this.slot.containerSelector)throw new Error("The ".concat(this.slot.name,".containerSelector is not defined"));var t=this._isClient()&&!this._isSSRHydrate(),r=t?"":this._getWidgetHTML();return m.default.createElement(P,{containerSelector:this.slot.containerSelector,html:r},t&&this._renderFallback())}},{key:"_removeSlot",value:function(){this._clearCachedHtml()}}]),r}();exports.MerkurSlot=S,exports.MerkurWidget=k;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merkur/integration-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.1",
|
|
4
4
|
"description": "Merkur module for easy integration with react.",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"module": "lib/index",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"scripts": {
|
|
23
23
|
"preversion": "npm test",
|
|
24
24
|
"test": "../../node_modules/.bin/jest --no-watchman -c ./jest.config.js",
|
|
25
|
-
"test:es:version": "../../node_modules/.bin/es-check es5 ./lib/index.es5.js && ../../node_modules/.bin/es-check
|
|
25
|
+
"test:es:version": "../../node_modules/.bin/es-check es5 ./lib/index.es5.js && ../../node_modules/.bin/es-check es11 ./lib/index.mjs --module && ../../node_modules/.bin/es-check es9 ./lib/index.es9.mjs --module && ../../node_modules/.bin/es-check es9 ./lib/index.es9.cjs --module",
|
|
26
26
|
"build": "node_modules/.bin/rollup -c",
|
|
27
27
|
"prepare": "npm run build"
|
|
28
28
|
},
|
|
@@ -46,16 +46,16 @@
|
|
|
46
46
|
},
|
|
47
47
|
"homepage": "https://merkur.js.org/",
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@babel/preset-react": "^7.
|
|
50
|
-
"@merkur/core": "^0.
|
|
51
|
-
"@merkur/plugin-component": "^0.
|
|
52
|
-
"@merkur/plugin-event-emitter": "^0.
|
|
49
|
+
"@babel/preset-react": "^7.16.7",
|
|
50
|
+
"@merkur/core": "^0.29.1",
|
|
51
|
+
"@merkur/plugin-component": "^0.29.1",
|
|
52
|
+
"@merkur/plugin-event-emitter": "^0.29.1",
|
|
53
53
|
"enzyme": "3.11.0",
|
|
54
54
|
"enzyme-adapter-react-16": "1.15.6",
|
|
55
55
|
"enzyme-to-json": "^3.6.2",
|
|
56
56
|
"react": "16.13.1",
|
|
57
57
|
"react-dom": "16.13.1",
|
|
58
|
-
"rollup": "^2.
|
|
58
|
+
"rollup": "^2.70.2"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@merkur/core": "*",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"react-dom": ">=16"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@merkur/integration": "^0.
|
|
66
|
+
"@merkur/integration": "^0.29.1"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "45be5654dac0058728ab0a38c60baeb22d3ead15"
|
|
69
69
|
}
|