UNPKG

hosted-fields-sdk

Version:
1 lines 9.67 kB
var merchantId,renderMode,fields,hostedfieldsurl,service,styles,_interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_typeof=require("@babel/runtime/helpers/typeof"),_defineProperty2=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.HostedFields=void 0,exports.__ResetDependency__=_reset__,exports.__RewireAPI__=void 0,exports.__set__=exports.__Rewire__=_set__,exports.__GetDependency__=exports.__get__=_get__,exports.default=void 0,_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"))),_objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")),_actions=require("./actions"),_excluded=["errors"],_excluded2=["errors"];function ownKeys(t,e){var r,_=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),_.push.apply(_,r)),_}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach(function(e){(0,_defineProperty2.default)(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var el,callback,onLoadCallback,onCardBrandChangeCallback,autoFocusNext,targets=[],responses=[],onLoadCounter=0,window=document.parentWindow||document.defaultView;function setup(e){_assign__("merchantId",e.merchantId),_assign__("renderMode",e.renderMode),_assign__("hostedfieldsurl",e.hostedfieldsurl),_assign__("fields",e.fields),_assign__("service",e.service),_assign__("styles",e.styles),_assign__("callback",e.callback),_assign__("onLoadCallback",e.onLoadCallback),_assign__("onCardBrandChangeCallback",e.onCardBrandChangeCallback),_assign__("autoFocusNext",e.autoFocusNext||!1),_assign__("el",e.el),(_get__("renderMode")&&"single"===_get__("renderMode")?_get__("registerSingleIframe"):_get__("registerIframes"))()}function validateOrigin(e){return-1<[e,"https://test-hostedpages.paymentiq.io","https://hostedpages.paymentiq.io","https://card-fields.paymentiq.io"].indexOf(e)}function get(){_get__("targets").forEach(function(e){e.target.postMessage({action:_get__("actions").get,merchantId:_get__("merchantId"),id:e.id},_get__("hostedfieldsurl"))})}function reset(){_assign__("targets",[])}function registerIframes(){_assign__("targets",_get__("targets").concat(_get__("fields").map(function(e){return _get__("initIframe")(e)})))}function registerSingleIframe(){_assign__("targets",_get__("initSingleIframe")())}function eventHandler(e){var t;if(_get__("validateOrigin")(e.origin))switch(e.data.action){case _get__("actions").formData:_get__("responses").push({id:e.data.id,data:e.data.formData}),_get__("sendCallback")();break;case _get__("actions").cardBrandChange:null!=(t=_get__("onCardBrandChangeCallback"))&&t({cardBrand:e.data.cardBrand});break;case _get__("actions").formSubmit:_get__("get")()}else console.error("Received message from invalid origin",e.origin)}function sendCallback(){var t,r=_get__("responses").map(function(e){return e.id}),e=_get__("targets").map(function(e){return e.id});r.length===e.length&&(t=!0,e.forEach(function(e){t=r.includes(e)}),t)&&(e=_get__("responses").reduce(function(e,t){var r=e.errors,e=(0,_objectWithoutProperties2.default)(e,_excluded),t=t.data,_=t.errors,t=(0,_objectWithoutProperties2.default)(t,_excluded2),e=_objectSpread(_objectSpread({},e),t),t=_objectSpread(_objectSpread({},r),_);return 0<Object.keys(t).length&&(e.errors=t),e},{}),_assign__("responses",[]),_get__("callback")()(e))}function initIframe(e){var t=document.createElement("iframe"),r=(t.id="hosted-field-"+e.id,t.name="hosted-field-"+e.id,t.src=_get__("hostedfieldsurl")+"?mid="+_get__("merchantId"),document.querySelector(_get__("el"))),_=document.createElement("div");_.id="hosted-field-container-"+e.id,_.className="hosted-field-container";try{_.appendChild(t),r.appendChild(_);var n=document.querySelector("#"+t.id).contentWindow;return t.onload=_get__("createIframeProxy").bind(this,e,n),{id:t.id,target:n}}catch(e){console.log(e),_get__("onLoadCallback")()()}}function createIframeProxy(e,t){var r={};r[e.name]=e,_get__("window").addEventListener("message",_get__("eventHandler"),!1),t.postMessage({action:_get__("actions").setupContent,styles:_get__("styles"),fields:r,service:_get__("service")},_get__("hostedfieldsurl")),_update_operation__("++","onLoadCounter",!1),_get__("onLoadCounter")===_get__("fields").length&&_get__("onLoadCallback")&&(_get__("onLoadCallback")()(),_assign__("onLoadCounter",0))}function initSingleIframe(){var e=document.createElement("iframe"),t=(e.id="hosted-field-single-iframe",e.name="hosted-field-single-iframe",e.src=_get__("hostedfieldsurl")+"?mid="+_get__("merchantId"),document.querySelector(_get__("el"))),r=document.createElement("div");r.id="hosted-field-container-single-iframe",r.className="hosted-field-container";try{r.appendChild(e),t.appendChild(r);var _=document.querySelector("#hosted-field-single-iframe").contentWindow;return e.onload=_get__("createSingleIframeProxy").bind(this,_get__("fields"),_),[{id:e.id,target:_}]}catch(e){console.log(e),_get__("onLoadCallback")()()}}function createSingleIframeProxy(e,t){var r={};e.forEach(function(e){r[e.name]=e}),_get__("window").addEventListener("message",_get__("eventHandler"),!1),t.postMessage({action:_get__("actions").setupSingleIframeContent,styles:_get__("styles"),fields:r,service:_get__("service"),settings:{autoFocusNext:_get__("autoFocusNext")}},_get__("hostedfieldsurl")),_get__("onLoadCallback")()()}var HostedFields=exports.HostedFields={setup:_get__("setup"),get:_get__("get"),reset:_get__("reset")};function _getGlobalObject(){try{if(global)return global}catch(e){try{if(window)return window}catch(e){return this}}}var _RewireModuleId__=null;function _getRewireModuleId__(){var e;return null===_RewireModuleId__&&((e=_getGlobalObject()).__$$GLOBAL_REWIRE_NEXT_MODULE_ID__||(e.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__=0),_RewireModuleId__=__$$GLOBAL_REWIRE_NEXT_MODULE_ID__++),_RewireModuleId__}function _getRewireRegistry__(){var e=_getGlobalObject();return e.__$$GLOBAL_REWIRE_REGISTRY__||(e.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)),e.__$$GLOBAL_REWIRE_REGISTRY__}function _getRewiredData__(){var e=_getRewireModuleId__(),t=_getRewireRegistry__(),r=t[e];return r||(t[e]=Object.create(null),r=t[e]),r}(()=>{var e=_getGlobalObject();e.__rewire_reset_all__||(e.__rewire_reset_all__=function(){e.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)})})();var INTENTIONAL_UNDEFINED="__INTENTIONAL_UNDEFINED__",_RewireAPI__=exports.__RewireAPI__={};function _get__(e){var t=_getRewiredData__();return void 0===t[e]?_get_original__(e):(t=t[e])!==INTENTIONAL_UNDEFINED?t:void 0}function _get_original__(e){switch(e){case"merchantId":return merchantId;case"renderMode":return renderMode;case"hostedfieldsurl":return hostedfieldsurl;case"fields":return fields;case"service":return service;case"styles":return styles;case"callback":return callback;case"onLoadCallback":return onLoadCallback;case"onCardBrandChangeCallback":return onCardBrandChangeCallback;case"autoFocusNext":return autoFocusNext;case"el":return el;case"registerSingleIframe":return registerSingleIframe;case"registerIframes":return registerIframes;case"targets":return targets;case"actions":return _actions.actions;case"initIframe":return initIframe;case"initSingleIframe":return initSingleIframe;case"validateOrigin":return validateOrigin;case"responses":return responses;case"sendCallback":return sendCallback;case"get":return get;case"createIframeProxy":return createIframeProxy;case"window":return window;case"eventHandler":return eventHandler;case"onLoadCounter":return onLoadCounter;case"createSingleIframeProxy":return createSingleIframeProxy;case"setup":return setup;case"reset":return reset}}function _assign__(e,t){var r=_getRewiredData__();return void 0===r[e]?_set_original__(e,t):r[e]=t}function _set_original__(e,t){switch(e){case"merchantId":return merchantId=t;case"renderMode":return renderMode=t;case"hostedfieldsurl":return hostedfieldsurl=t;case"fields":return fields=t;case"service":return service=t;case"styles":return styles=t;case"callback":return callback=t;case"onLoadCallback":return onLoadCallback=t;case"onCardBrandChangeCallback":return onCardBrandChangeCallback=t;case"autoFocusNext":return autoFocusNext=t;case"el":return el=t;case"targets":return targets=t;case"responses":return responses=t;case"onLoadCounter":return onLoadCounter=t}}function _update_operation__(e,t,r){var _=_get__(t),e="++"===e?_+1:_-1;return _assign__(t,e),r?e:_}function _set__(t,e){var r=_getRewiredData__();return"object"===_typeof(t)?(Object.keys(t).forEach(function(e){r[e]=t[e]}),function(){Object.keys(t).forEach(function(e){_reset__(t)})}):(r[t]=void 0===e?INTENTIONAL_UNDEFINED:e,function(){_reset__(t)})}function _reset__(e){var t=_getRewiredData__();delete t[e],0==Object.keys(t).length&&delete _getRewireRegistry__()[_getRewireModuleId__]}function _with__(t){var r=_getRewiredData__(),_=Object.keys(t),n={};function a(){_.forEach(function(e){r[e]=n[e]})}return function(e){_.forEach(function(e){n[e]=r[e],r[e]=t[e]});e=e();return e&&"function"==typeof e.then?e.then(a).catch(a):a(),e}}(()=>{function e(e,t){Object.defineProperty(_RewireAPI__,e,{value:t,enumerable:!1,configurable:!0})}e("__get__",_get__),e("__GetDependency__",_get__),e("__Rewire__",_set__),e("__set__",_set__),e("__reset__",_reset__),e("__ResetDependency__",_reset__),e("__with__",_with__)})();var _default=exports.default=_RewireAPI__;