@adyen/adyen-web 6.24.0 → 6.25.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.
Files changed (110) hide show
  1. package/dist/cjs/adyen.css +14 -13
  2. package/dist/cjs/adyen.css.map +1 -1
  3. package/dist/cjs/index.cjs +2 -2
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/index.d.cts +215 -4
  6. package/dist/es/adyen.css +14 -13
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/ANCV/ANCV.js +1 -1
  9. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  10. package/dist/es/components/Blik/Blik.js +1 -1
  11. package/dist/es/components/Blik/Blik.js.map +1 -1
  12. package/dist/es/components/Card/components/CardInput/components/StoredCardFields.js.map +1 -1
  13. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  14. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  15. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  16. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  17. package/dist/es/components/MBWay/MBWay.js +1 -1
  18. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  19. package/dist/es/components/PayByBankPix/components/Enrollment/components/PayByBankPixAwait.js.map +1 -1
  20. package/dist/es/components/PayTo/PayTo.js +1 -1
  21. package/dist/es/components/PayTo/PayTo.js.map +1 -1
  22. package/dist/es/components/Pix/Pix.js +1 -1
  23. package/dist/es/components/Pix/Pix.js.map +1 -1
  24. package/dist/es/components/Pix/components/PixQRDetails.js +1 -1
  25. package/dist/es/components/Pix/components/PixQRDetails.js.map +1 -1
  26. package/dist/es/components/PreAuthorizedDebitCanada/components/SettlementInfo.js +1 -1
  27. package/dist/es/components/PreAuthorizedDebitCanada/components/SettlementInfo.js.map +1 -1
  28. package/dist/es/components/UPI/UPI.js +1 -1
  29. package/dist/es/components/UPI/UPI.js.map +1 -1
  30. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  31. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  32. package/dist/es/components/internal/Await/Await.js +1 -1
  33. package/dist/es/components/internal/Await/Await.js.map +1 -1
  34. package/dist/es/components/internal/Button/Button.js.map +1 -1
  35. package/dist/es/components/internal/Button/CopyButton.js +2 -0
  36. package/dist/es/components/internal/Button/CopyButton.js.map +1 -0
  37. package/dist/es/components/internal/Button/CopyIconButton.js +1 -1
  38. package/dist/es/components/internal/Button/CopyIconButton.js.map +1 -1
  39. package/dist/es/components/internal/Button/stopPropagationForActionKeys.js +2 -0
  40. package/dist/es/components/internal/Button/stopPropagationForActionKeys.js.map +1 -0
  41. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  42. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  43. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  44. package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js +1 -1
  45. package/dist/es/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -1
  46. package/dist/es/components/internal/QRLoader/components/QRCountdown.js +1 -1
  47. package/dist/es/components/internal/QRLoader/components/QRCountdown.js.map +1 -1
  48. package/dist/es/components/internal/QRLoader/components/QRDetails.js +1 -1
  49. package/dist/es/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  50. package/dist/es/components/internal/QRLoader/components/QRFinalState.js +2 -0
  51. package/dist/es/components/internal/QRLoader/components/QRFinalState.js.map +1 -0
  52. package/dist/es/components/internal/Voucher/Voucher.js +1 -1
  53. package/dist/es/components/internal/Voucher/Voucher.js.map +1 -1
  54. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  55. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  56. package/dist/es/core/config.js +1 -1
  57. package/dist/es/index.d.ts +215 -4
  58. package/dist/es-legacy/adyen.css +14 -13
  59. package/dist/es-legacy/adyen.css.map +1 -1
  60. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  61. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  62. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  63. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  64. package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFields.js.map +1 -1
  65. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  66. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  67. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
  68. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  69. package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
  70. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  71. package/dist/es-legacy/components/PayByBankPix/components/Enrollment/components/PayByBankPixAwait.js.map +1 -1
  72. package/dist/es-legacy/components/PayTo/PayTo.js +1 -1
  73. package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
  74. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  75. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  76. package/dist/es-legacy/components/Pix/components/PixQRDetails.js +1 -1
  77. package/dist/es-legacy/components/Pix/components/PixQRDetails.js.map +1 -1
  78. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/SettlementInfo.js +1 -1
  79. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/SettlementInfo.js.map +1 -1
  80. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  81. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  82. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  83. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  84. package/dist/es-legacy/components/internal/Await/Await.js +1 -1
  85. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  86. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  87. package/dist/es-legacy/components/internal/Button/CopyButton.js +2 -0
  88. package/dist/es-legacy/components/internal/Button/CopyButton.js.map +1 -0
  89. package/dist/es-legacy/components/internal/Button/CopyIconButton.js +1 -1
  90. package/dist/es-legacy/components/internal/Button/CopyIconButton.js.map +1 -1
  91. package/dist/es-legacy/components/internal/Button/stopPropagationForActionKeys.js +2 -0
  92. package/dist/es-legacy/components/internal/Button/stopPropagationForActionKeys.js.map +1 -0
  93. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  94. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  95. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  96. package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js +1 -1
  97. package/dist/es-legacy/components/internal/QRLoader/components/QRCodeCopyButton.js.map +1 -1
  98. package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js +1 -1
  99. package/dist/es-legacy/components/internal/QRLoader/components/QRCountdown.js.map +1 -1
  100. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js +1 -1
  101. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  102. package/dist/es-legacy/components/internal/QRLoader/components/QRFinalState.js +2 -0
  103. package/dist/es-legacy/components/internal/QRLoader/components/QRFinalState.js.map +1 -0
  104. package/dist/es-legacy/components/internal/Voucher/Voucher.js +1 -1
  105. package/dist/es-legacy/components/internal/Voucher/Voucher.js.map +1 -1
  106. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  107. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  108. package/dist/es-legacy/core/config.js +1 -1
  109. package/package.json +6 -6
  110. package/styles/adyen.css +14 -13
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/ANCVInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import s from"./components/ANCVAwait/config.js";import n from"../internal/Await/Await.js";import i from"../../core/Errors/SRPanelProvider.js";import a from"../../core/Errors/AdyenCheckoutError.js";import p from"../internal/PayButton/PayButton.js";import{sanitizeResponse as h,verifyPaymentDidNotFail as c}from"../internal/UIElement/utils.js";function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function m(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class u extends e{formatData(){var t;return{paymentMethod:{type:u.type,beneficiaryId:null===(t=this.state.data)||void 0===t?void 0:t.beneficiaryId}}}submit(){if(!this.isValid)return this.showValidation(),!1;this.createOrder().then(this.makePaymentsCall).then(h).then(c).then(this.handleResponse).catch(this.handleFailedResult)}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{srPanel:this.props.modules.srPanel},t(n,{ref:t=>{this.componentRef=t},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("ancv.confirmPayment"),awaitText:this.props.i18n.get("await.waitForConfirmation"),showCountdownTimer:s.showCountdownTimer,throttleTime:s.THROTTLE_TIME,throttleInterval:s.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}))):t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,m(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){l(t,e,r[e])})}return t}({ref:t=>{this.componentRef=t}},this.props),{onSubmit:this.submit,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton})))}constructor(...e){super(...e),l(this,"onOrderRequest",t=>this.props.onOrderRequest?new Promise((e,r)=>{this.props.onOrderRequest(e,r,t)}):this.props.session?this.props.session.createOrder():void 0),l(this,"createOrder",()=>(this.setStatus("loading"),this.props.order?Promise.resolve():this.onOrderRequest(this.data).then(t=>{const e={order:{orderData:t.orderData,pspReference:t.pspReference}};return this.setState(e),Promise.resolve()}).catch(t=>{this.setStatus((null==t?void 0:t.message)||"error"),this.props.onError&&(t instanceof a?this.handleError(t):this.handleError(new a("ERROR",t)))}))),l(this,"payButton",e=>t(p,e))}}l(u,"type","ancv");export{u as ANCVElement,u as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/ANCVInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"./components/ANCVAwait/config.js";import s from"../internal/Await/Await.js";import i from"../../core/Errors/SRPanelProvider.js";import a from"../../core/Errors/AdyenCheckoutError.js";import p from"../internal/PayButton/PayButton.js";import{sanitizeResponse as c,verifyPaymentDidNotFail as h}from"../internal/UIElement/utils.js";function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function m(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class u extends e{formatData(){var t;return{paymentMethod:{type:u.type,beneficiaryId:null===(t=this.state.data)||void 0===t?void 0:t.beneficiaryId}}}submit(){if(!this.isValid)return this.showValidation(),!1;this.createOrder().then(this.makePaymentsCall).then(c).then(h).then(this.handleResponse).catch(this.handleFailedResult)}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{srPanel:this.props.modules.srPanel},t(s,{clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("ancv.confirmPayment"),awaitText:this.props.i18n.get("await.waitForConfirmation"),showCountdownTimer:n.showCountdownTimer,throttleTime:n.THROTTLE_TIME,throttleInterval:n.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}))):t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,m(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){l(t,e,r[e])})}return t}({ref:t=>{this.componentRef=t}},this.props),{onSubmit:this.submit,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton})))}constructor(...e){super(...e),l(this,"onOrderRequest",t=>this.props.onOrderRequest?new Promise((e,r)=>{this.props.onOrderRequest(e,r,t)}):this.props.session?this.props.session.createOrder():void 0),l(this,"createOrder",()=>(this.setStatus("loading"),this.props.order?Promise.resolve():this.onOrderRequest(this.data).then(t=>{const e={order:{orderData:t.orderData,pspReference:t.pspReference}};return this.setState(e),Promise.resolve()}).catch(t=>{t instanceof a?this.handleError(t):this.handleError(new a("ERROR",t))}))),l(this,"payButton",e=>t(p,e))}}l(u,"type","ancv");export{u as ANCVElement,u as default};
2
2
  //# sourceMappingURL=ANCV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ANCV.js","sources":["../../../../src/components/ANCV/ANCV.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ANCVInput from './components/ANCVInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/ANCVAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport PayButton from '../internal/PayButton';\nimport { ANCVConfiguration } from './types';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\n\nexport class ANCVElement extends UIElement<ANCVConfiguration> {\n public static type = 'ancv';\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: ANCVElement.type,\n beneficiaryId: this.state.data?.beneficiaryId\n }\n };\n }\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n /**\n * Check if order exists, if it does Resolve.\n * Otherwise createOrder and then Resolve.\n */\n public createOrder = (): Promise<void> => {\n this.setStatus('loading');\n\n // allow for multiple ANCV payments, follow giftcard logic and just use order if it exists\n if (this.props.order) {\n return Promise.resolve();\n }\n\n return this.onOrderRequest(this.data)\n .then((order: { orderData: string; pspReference: string }) => {\n const stateOrder = { order: { orderData: order.orderData, pspReference: order.pspReference } };\n this.setState(stateOrder);\n return Promise.resolve();\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) {\n if (error instanceof AdyenCheckoutError) {\n this.handleError(error);\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error));\n }\n }\n });\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.createOrder()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.handleResponse)\n .catch(this.handleFailedResult);\n }\n\n // Reimplement payButton similar to GiftCard to allow to set onClick\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('ancv.confirmPayment')}\n awaitText={this.props.i18n.get('await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ANCVInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onSubmit={this.submit}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ANCVElement;\n"],"names":["ANCVElement","UIElement","formatData","_this_state_data","paymentMethod","type","beneficiaryId","this","state","data","submit","isValid","showValidation","createOrder","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","catch","handleFailedResult","displayName","props","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","config","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","ANCVInput","onSubmit","onChange","setState","payButton","showPayButton","super","args","_define_property","onOrderRequest","Promise","resolve","reject","session","setStatus","order","stateOrder","orderData","pspReference","error","message","AdyenCheckoutError","handleError","PayButton"],"mappings":"0iCAYO,MAAMA,UAAoBC,EAM7BC,UAAAA,GAI2B,IAAAC,EAHvB,MAAO,CACHC,cAAe,CACXC,KAAML,EAAYK,KAClBC,cAA8B,QAAfH,EAAAI,KAAKC,MAAMC,YAAX,IAAAN,OAAA,EAAAA,EAAiBG,eAG5C,CA2COI,MAAAA,GACH,IAAKH,KAAKI,QAEN,OADAJ,KAAKK,kBACE,EAGXL,KAAKM,cACAC,KAAKP,KAAKQ,kBACVD,KAAKE,GACLF,KAAKG,GACLH,KAAKP,KAAKW,gBACVC,MAAMZ,KAAKa,mBACpB,CAOA,WAAIT,GACA,QAASJ,KAAKC,MAAMG,OACxB,CAEA,eAAIU,GACA,OAAOd,KAAKe,MAAMC,IACtB,CAEAC,MAAAA,GACI,OAAIjB,KAAKe,MAAMG,YAEPC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKe,MAAMM,KAAMC,eAAgBtB,KAAKe,MAAMO,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASzB,KAAKe,MAAMW,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACD5B,KAAK6B,aAAeD,GAExBE,UAAW9B,KAAKe,MAAMe,UACtBZ,YAAalB,KAAKe,MAAMG,YACxBa,QAAS/B,KAAKe,MAAMgB,QACpBC,WAAYhC,KAAKgC,WACjBC,UAAWjC,KAAKkC,KAChBpC,KAAME,KAAKmC,YAAY,KACvBC,YAAapC,KAAKe,MAAMM,KAAKgB,IAAI,uBACjCC,UAAWtC,KAAKe,MAAMM,KAAKgB,IAAI,6BAC/BE,mBAAoBC,EAAOD,mBAC3BE,aAAcD,EAAOE,cACrBC,iBAAkBH,EAAOI,kBACzBC,gBAAiB7C,KAAK6C,oBAQtC1B,EAACC,EAAAA,CAAaC,KAAMrB,KAAKe,MAAMM,KAAMC,eAAgBtB,KAAKe,MAAMO,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAAC2B,EAAAA,oUAAAA,CAAAA,CACGlB,IAAKA,IACD5B,KAAK6B,aAAeD,IAEpB5B,KAAKe,OAAK,CACdgC,SAAU/C,KAAKG,OACf6C,SAAUhD,KAAKiD,SACfC,UAAWlD,KAAKkD,UAChBC,cAAenD,KAAKe,MAAMoC,iBAI1C,mBA5HGC,SAAAC,GAeHC,EAAAtD,KAAQuD,iBAAiBrD,GACjBF,KAAKe,MAAMwC,eACJ,IAAIC,QAAQ,CAACC,EAASC,KACzB1D,KAAKe,MAAMwC,eAAeE,EAASC,EAAQxD,KAG/CF,KAAKe,MAAM4C,QACJ3D,KAAKe,MAAM4C,QAAQrD,mBAD9B,GASJgD,OAAOhD,cAAc,KACjBN,KAAK4D,UAAU,WAGX5D,KAAKe,MAAM8C,MACJL,QAAQC,UAGZzD,KAAKuD,eAAevD,KAAKE,MAC3BK,KAAMsD,IACH,MAAMC,EAAa,CAAED,MAAO,CAAEE,UAAWF,EAAME,UAAWC,aAAcH,EAAMG,eAE9E,OADAhE,KAAKiD,SAASa,GACPN,QAAQC,YAElB7C,MAAMqD,IACHjE,KAAK4D,WAAUK,aAAAA,EAAAA,EAAOC,UAAW,SAC7BlE,KAAKe,MAAMgB,UACPkC,aAAiBE,EACjBnE,KAAKoE,YAAYH,GAEjBjE,KAAKoE,YAAY,IAAID,EAAmB,QAASF,SAqBrEX,EAAAtD,KAAOkD,YAAYnC,GACRI,EAACkD,EAActD,KAvE1BuC,EADS7D,EACKK,OAAO"}
1
+ {"version":3,"file":"ANCV.js","sources":["../../../../src/components/ANCV/ANCV.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ANCVInput from './components/ANCVInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/ANCVAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport PayButton from '../internal/PayButton';\nimport { ANCVConfiguration } from './types';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\n\nexport class ANCVElement extends UIElement<ANCVConfiguration> {\n public static type = 'ancv';\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: ANCVElement.type,\n beneficiaryId: this.state.data?.beneficiaryId\n }\n };\n }\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n /**\n * Check if order exists, if it does Resolve.\n * Otherwise createOrder and then Resolve.\n */\n public createOrder = (): Promise<void> => {\n this.setStatus('loading');\n\n // allow for multiple ANCV payments, follow giftcard logic and just use order if it exists\n if (this.props.order) {\n return Promise.resolve();\n }\n\n return this.onOrderRequest(this.data)\n .then((order: { orderData: string; pspReference: string }) => {\n const stateOrder = { order: { orderData: order.orderData, pspReference: order.pspReference } };\n this.setState(stateOrder);\n return Promise.resolve();\n })\n .catch(error => {\n if (error instanceof AdyenCheckoutError) {\n this.handleError(error);\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error));\n }\n });\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.createOrder()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.handleResponse)\n .catch(this.handleFailedResult);\n }\n\n // Reimplement payButton similar to GiftCard to allow to set onClick\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('ancv.confirmPayment')}\n awaitText={this.props.i18n.get('await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ANCVInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onSubmit={this.submit}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ANCVElement;\n"],"names":["ANCVElement","UIElement","formatData","_this_state_data","paymentMethod","type","beneficiaryId","this","state","data","submit","isValid","showValidation","createOrder","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","catch","handleFailedResult","displayName","props","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","clientKey","onError","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","config","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","ANCVInput","ref","componentRef","onSubmit","onChange","setState","payButton","showPayButton","super","args","_define_property","onOrderRequest","Promise","resolve","reject","session","setStatus","order","stateOrder","orderData","pspReference","error","AdyenCheckoutError","handleError","PayButton"],"mappings":"0iCAYO,MAAMA,UAAoBC,EAM7BC,UAAAA,GAI2B,IAAAC,EAHvB,MAAO,CACHC,cAAe,CACXC,KAAML,EAAYK,KAClBC,cAA8B,QAAfH,EAAAI,KAAKC,MAAMC,YAAX,IAAAN,OAAA,EAAAA,EAAiBG,eAG5C,CAwCOI,MAAAA,GACH,IAAKH,KAAKI,QAEN,OADAJ,KAAKK,kBACE,EAGXL,KAAKM,cACAC,KAAKP,KAAKQ,kBACVD,KAAKE,GACLF,KAAKG,GACLH,KAAKP,KAAKW,gBACVC,MAAMZ,KAAKa,mBACpB,CAOA,WAAIT,GACA,QAASJ,KAAKC,MAAMG,OACxB,CAEA,eAAIU,GACA,OAAOd,KAAKe,MAAMC,IACtB,CAEAC,MAAAA,GACI,OAAIjB,KAAKe,MAAMG,YAEPC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKe,MAAMM,KAAMC,eAAgBtB,KAAKe,MAAMO,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASzB,KAAKe,MAAMW,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,UAAW5B,KAAKe,MAAMa,UACtBV,YAAalB,KAAKe,MAAMG,YACxBW,QAAS7B,KAAKe,MAAMc,QACpBC,WAAY9B,KAAK8B,WACjBC,UAAW/B,KAAKgC,KAChBlC,KAAME,KAAKiC,YAAY,KACvBC,YAAalC,KAAKe,MAAMM,KAAKc,IAAI,uBACjCC,UAAWpC,KAAKe,MAAMM,KAAKc,IAAI,6BAC/BE,mBAAoBC,EAAOD,mBAC3BE,aAAcD,EAAOE,cACrBC,iBAAkBH,EAAOI,kBACzBC,gBAAiB3C,KAAK2C,oBAQtCxB,EAACC,EAAAA,CAAaC,KAAMrB,KAAKe,MAAMM,KAAMC,eAAgBtB,KAAKe,MAAMO,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACyB,EAAAA,oUAAAA,CAAAA,CACGC,IAAKA,IACD7C,KAAK8C,aAAeD,IAEpB7C,KAAKe,OAAK,CACdgC,SAAU/C,KAAKG,OACf6C,SAAUhD,KAAKiD,SACfC,UAAWlD,KAAKkD,UAChBC,cAAenD,KAAKe,MAAMoC,iBAI1C,mBAtHGC,SAAAC,GAeHC,EAAAtD,KAAQuD,iBAAiBrD,GACjBF,KAAKe,MAAMwC,eACJ,IAAIC,QAAQ,CAACC,EAASC,KACzB1D,KAAKe,MAAMwC,eAAeE,EAASC,EAAQxD,KAG/CF,KAAKe,MAAM4C,QACJ3D,KAAKe,MAAM4C,QAAQrD,mBAD9B,GASJgD,OAAOhD,cAAc,KACjBN,KAAK4D,UAAU,WAGX5D,KAAKe,MAAM8C,MACJL,QAAQC,UAGZzD,KAAKuD,eAAevD,KAAKE,MAC3BK,KAAMsD,IACH,MAAMC,EAAa,CAAED,MAAO,CAAEE,UAAWF,EAAME,UAAWC,aAAcH,EAAMG,eAE9E,OADAhE,KAAKiD,SAASa,GACPN,QAAQC,YAElB7C,MAAMqD,IACCA,aAAiBC,EACjBlE,KAAKmE,YAAYF,GAEjBjE,KAAKmE,YAAY,IAAID,EAAmB,QAASD,QAoBjEX,EAAAtD,KAAOkD,YAAYnC,GACRI,EAACiD,EAAcrD,KApE1BuC,EADS7D,EACKK,OAAO"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/BlikInput.js";import r from"../internal/Await/Await.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import s from"./config.js";import i from"../internal/RedirectButton/RedirectButton.js";import p from"../../core/Errors/SRPanelProvider.js";import{TxVariants as a}from"../tx-variants.js";function l(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function m(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){l(t,e,o[e])})}return t}function d(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}class h extends e{formatData(){var t,e;const o=!!this.props.storedPaymentMethodId;return{paymentMethod:m({type:h.type},!o&&{blikCode:null===(e=this.state)||void 0===e||null===(t=e.data)||void 0===t?void 0:t.blikCode},o&&{storedPaymentMethodId:this.props.storedPaymentMethodId})}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId&&this.props.label?this.props.name:null}render(){return this.props.paymentData?t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(p,{srPanel:this.props.modules.srPanel},t(r,{ref:t=>{this.componentRef=t},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.handleError,onComplete:this.onComplete,brandLogo:this.icon,type:s.type,messageText:this.props.i18n.get(s.messageTextId),awaitText:this.props.i18n.get(s.awaitTextId),showCountdownTimer:s.showCountdownTimer,delay:s.STATUS_INTERVAL,countdownTime:s.COUNTDOWN_MINUTES,throttleTime:s.THROTTLE_TIME,throttleInterval:s.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}))):t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.storedPaymentMethodId?t(i,{showPayButton:this.props.showPayButton,name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):t(o,d(m({ref:t=>{this.componentRef=t}},this.props),{onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}l(h,"type",a.blik);export{h as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/BlikInput.js";import r from"../internal/Await/Await.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import s from"./config.js";import i from"../internal/RedirectButton/RedirectButton.js";import p from"../../core/Errors/SRPanelProvider.js";import{TxVariants as a}from"../tx-variants.js";function l(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function d(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){l(t,e,o[e])})}return t}function m(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}class h extends e{formatData(){var t,e;const o=!!this.props.storedPaymentMethodId;return{paymentMethod:d({type:h.type},!o&&{blikCode:null===(e=this.state)||void 0===e||null===(t=e.data)||void 0===t?void 0:t.blikCode},o&&{storedPaymentMethodId:this.props.storedPaymentMethodId})}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId&&this.props.label?this.props.name:null}render(){return this.props.paymentData?t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(p,{srPanel:this.props.modules.srPanel},t(r,{clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.handleError,onComplete:this.onComplete,brandLogo:this.icon,type:s.type,messageText:this.props.i18n.get(s.messageTextId),awaitText:this.props.i18n.get(s.awaitTextId),showCountdownTimer:s.showCountdownTimer,delay:s.STATUS_INTERVAL,countdownTime:s.COUNTDOWN_MINUTES,throttleTime:s.THROTTLE_TIME,throttleInterval:s.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}))):t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.storedPaymentMethodId?t(i,{showPayButton:this.props.showPayButton,name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):t(o,m(d({ref:t=>{this.componentRef=t}},this.props),{onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}l(h,"type",a.blik);export{h as default};
2
2
  //# sourceMappingURL=Blik.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Blik.js","sources":["../../../../src/components/Blik/Blik.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BlikInput from '../../components/Blik/components/BlikInput';\nimport Await from '../internal/Await';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './config';\nimport RedirectButton from '../../components/internal/RedirectButton';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\ninterface BlikElementData {\n paymentMethod: {\n type: string;\n blikCode: string;\n };\n}\n\nclass BlikElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.blik;\n\n formatData(): BlikElementData {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n return {\n paymentMethod: {\n type: BlikElement.type,\n ...(!recurringPayment && { blikCode: this.state?.data?.blikCode }),\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.name;\n }\n return null;\n }\n\n /**\n * NOTE: for future reference:\n * this.props.onComplete (which is called from this.onComplete) equates to the merchant defined onAdditionalDetails callback\n * (the initial /payments response defines an \"await\" action, actionTypes.ts translates this to \"onComplete: props.onAdditionalDetails\")\n */\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.handleError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <BlikInput\n // @ts-ignore Ref is used by preact component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default BlikElement;\n"],"names":["BlikElement","UIElement","formatData","_this_state_data","_this_state","recurringPayment","this","props","storedPaymentMethodId","paymentMethod","_object_spread","type","blikCode","state","data","isValid","displayName","label","name","additionalInfo","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","handleError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","RedirectButton","showPayButton","amount","payButton","onSubmit","submit","BlikInput","onChange","setState","_define_property","TxVariants","blik"],"mappings":"4vCAkBA,MAAMA,UAAoBC,EAGtBC,UAAAA,OAMiDC,EAAAC,EAL7C,MAAMC,IAAqBC,KAAKC,MAAMC,sBAEtC,MAAO,CACHC,cAAeC,EAAA,CACXC,KAAMX,EAAYW,OACbN,GAAoB,CAAEO,SAAoB,QAAVR,EAAAE,KAAKO,aAAL,IAAAT,GAAgB,QAAhBD,EAAAC,EAAYU,YAAZ,IAAAX,OAAA,EAAAA,EAAkBS,UACnDP,GAAoB,CAAEG,sBAAuBF,KAAKC,MAAMC,wBAGxE,CAEA,WAAIO,GACA,QAAIT,KAAKC,MAAMC,yBAINF,KAAKO,MAAME,OACxB,CAEA,eAAIC,GACA,OAAIV,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMU,MACxCX,KAAKC,MAAMU,MAEfX,KAAKC,MAAMW,IACtB,CAEA,kBAAIC,GACA,OAAIb,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMU,MACxCX,KAAKC,MAAMW,KAEf,IACX,CAOAE,MAAAA,GACI,OAAId,KAAKC,MAAMc,YAEPC,EAACC,EAAAA,CAAaC,KAAMlB,KAAKC,MAAMiB,KAAMC,eAAgBnB,KAAKC,MAAMkB,eAAgBC,UAAWpB,KAAKoB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAAStB,KAAKC,MAAMsB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDzB,KAAK0B,aAAeD,GAExBE,UAAW3B,KAAKC,MAAM0B,UACtBZ,YAAaf,KAAKC,MAAMc,YACxBa,QAAS5B,KAAK6B,YACdC,WAAY9B,KAAK8B,WACjBC,UAAW/B,KAAKgC,KAChB3B,KAAM4B,EAAO5B,KACb6B,YAAalC,KAAKC,MAAMiB,KAAKiB,IAAIF,EAAOG,eACxCC,UAAWrC,KAAKC,MAAMiB,KAAKiB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBhD,KAAKgD,oBAQtChC,EAACC,EAAAA,CAAaC,KAAMlB,KAAKC,MAAMiB,KAAMC,eAAgBnB,KAAKC,MAAMkB,eAAgBC,UAAWpB,KAAKoB,WAC3FpB,KAAKC,MAAMC,sBACRc,EAACiC,EAAAA,CACGC,cAAelD,KAAKC,MAAMiD,cAC1BtC,KAAMZ,KAAKU,YACXyC,OAAQnD,KAAKC,MAAMkD,OACnBC,UAAWpD,KAAKoD,UAChBC,SAAUrD,KAAKsD,OACf7B,IAAKA,IACDzB,KAAK0B,aAAeD,KAI5BT,EAACuC,EAAAA,EAAAA,EAAAA,CAEG9B,IAAKA,IACDzB,KAAK0B,aAAeD,IAEpBzB,KAAKC,OAAK,CACduD,SAAUxD,KAAKyD,SACfJ,SAAUrD,KAAKsD,OACfF,UAAWpD,KAAKoD,aAKpC,EAjGAM,EADEhE,EACYW,OAAOsD,EAAWC"}
1
+ {"version":3,"file":"Blik.js","sources":["../../../../src/components/Blik/Blik.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BlikInput from '../../components/Blik/components/BlikInput';\nimport Await from '../internal/Await';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './config';\nimport RedirectButton from '../../components/internal/RedirectButton';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\ninterface BlikElementData {\n paymentMethod: {\n type: string;\n blikCode: string;\n };\n}\n\nclass BlikElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.blik;\n\n formatData(): BlikElementData {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n return {\n paymentMethod: {\n type: BlikElement.type,\n ...(!recurringPayment && { blikCode: this.state?.data?.blikCode }),\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.name;\n }\n return null;\n }\n\n /**\n * NOTE: for future reference:\n * this.props.onComplete (which is called from this.onComplete) equates to the merchant defined onAdditionalDetails callback\n * (the initial /payments response defines an \"await\" action, actionTypes.ts translates this to \"onComplete: props.onAdditionalDetails\")\n */\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.handleError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <BlikInput\n // @ts-ignore Ref is used by preact component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default BlikElement;\n"],"names":["BlikElement","UIElement","formatData","_this_state_data","_this_state","recurringPayment","this","props","storedPaymentMethodId","paymentMethod","_object_spread","type","blikCode","state","data","isValid","displayName","label","name","additionalInfo","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","clientKey","onError","handleError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","RedirectButton","showPayButton","amount","payButton","onSubmit","submit","ref","componentRef","BlikInput","onChange","setState","_define_property","TxVariants","blik"],"mappings":"4vCAkBA,MAAMA,UAAoBC,EAGtBC,UAAAA,OAMiDC,EAAAC,EAL7C,MAAMC,IAAqBC,KAAKC,MAAMC,sBAEtC,MAAO,CACHC,cAAeC,EAAA,CACXC,KAAMX,EAAYW,OACbN,GAAoB,CAAEO,SAAoB,QAAVR,EAAAE,KAAKO,aAAL,IAAAT,GAAgB,QAAhBD,EAAAC,EAAYU,YAAZ,IAAAX,OAAA,EAAAA,EAAkBS,UACnDP,GAAoB,CAAEG,sBAAuBF,KAAKC,MAAMC,wBAGxE,CAEA,WAAIO,GACA,QAAIT,KAAKC,MAAMC,yBAINF,KAAKO,MAAME,OACxB,CAEA,eAAIC,GACA,OAAIV,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMU,MACxCX,KAAKC,MAAMU,MAEfX,KAAKC,MAAMW,IACtB,CAEA,kBAAIC,GACA,OAAIb,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMU,MACxCX,KAAKC,MAAMW,KAEf,IACX,CAOAE,MAAAA,GACI,OAAId,KAAKC,MAAMc,YAEPC,EAACC,EAAAA,CAAaC,KAAMlB,KAAKC,MAAMiB,KAAMC,eAAgBnB,KAAKC,MAAMkB,eAAgBC,UAAWpB,KAAKoB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAAStB,KAAKC,MAAMsB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,UAAWzB,KAAKC,MAAMwB,UACtBV,YAAaf,KAAKC,MAAMc,YACxBW,QAAS1B,KAAK2B,YACdC,WAAY5B,KAAK4B,WACjBC,UAAW7B,KAAK8B,KAChBzB,KAAM0B,EAAO1B,KACb2B,YAAahC,KAAKC,MAAMiB,KAAKe,IAAIF,EAAOG,eACxCC,UAAWnC,KAAKC,MAAMiB,KAAKe,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiB9C,KAAK8C,oBAQtC9B,EAACC,EAAAA,CAAaC,KAAMlB,KAAKC,MAAMiB,KAAMC,eAAgBnB,KAAKC,MAAMkB,eAAgBC,UAAWpB,KAAKoB,WAC3FpB,KAAKC,MAAMC,sBACRc,EAAC+B,EAAAA,CACGC,cAAehD,KAAKC,MAAM+C,cAC1BpC,KAAMZ,KAAKU,YACXuC,OAAQjD,KAAKC,MAAMgD,OACnBC,UAAWlD,KAAKkD,UAChBC,SAAUnD,KAAKoD,OACfC,IAAKA,IACDrD,KAAKsD,aAAeD,KAI5BrC,EAACuC,EAAAA,EAAAA,EAAAA,CAEGF,IAAKA,IACDrD,KAAKsD,aAAeD,IAEpBrD,KAAKC,OAAK,CACduD,SAAUxD,KAAKyD,SACfN,SAAUnD,KAAKoD,OACfF,UAAWlD,KAAKkD,aAKpC,EA9FAQ,EADEhE,EACYW,OAAOsD,EAAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StoredCardFields.js","sources":["../../../../../../../src/components/Card/components/CardInput/components/StoredCardFields.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CVC from './CVC';\nimport Field from '../../../../internal/FormFields/Field';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport { StoredCardFieldsProps } from './types';\nimport { ENCRYPTED_SECURITY_CODE } from '../../../../internal/SecuredFields/lib/constants';\nimport InputText from '../../../../internal/FormFields/InputText';\nimport Fieldset from '../../../../internal/FormFields/Fieldset';\n\nexport default function StoredCardFields({\n brand,\n hasCVC,\n onFocusField,\n errors,\n valid,\n cvcPolicy,\n focusedElement,\n lastFour,\n expiryMonth,\n expiryYear,\n showContextualElement\n}: StoredCardFieldsProps) {\n const { i18n } = useCoreContext();\n const storedCardDescription = i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', lastFour);\n const storedCardDescriptionSuffix = expiryMonth && expiryYear ? ` ${i18n.get('creditCard.expiryDate.label')} ${expiryMonth}/${expiryYear}` : '';\n const ariaLabel = `${storedCardDescription}${storedCardDescriptionSuffix}`;\n const isAmex = brand === 'amex';\n const cvcContextualText = isAmex\n ? i18n.get('creditCard.securityCode.contextualText.4digits')\n : i18n.get('creditCard.securityCode.contextualText.3digits');\n\n const getError = (errors, fieldType) => {\n return errors[fieldType] ? i18n.get(errors[fieldType]) : null;\n };\n\n return (\n <div className=\"adyen-checkout__card__form adyen-checkout__card__form--oneClick\" aria-label={ariaLabel}>\n <Fieldset classNamesFields={['adyen-checkout__card__exp-cvc']}>\n {expiryMonth && expiryYear && (\n <Field\n label={i18n.get('creditCard.expiryDate.label')}\n classNameModifiers={['col-50', 'storedCard']}\n name={'expiryDateField'}\n disabled\n >\n <InputText\n name={'expiryDateField'}\n className={'adyen-checkout__input adyen-checkout__input--disabled adyen-checkout__card__exp-date__input--oneclick'}\n value={`${expiryMonth} / ${expiryYear}`}\n disabled={true}\n dir={'ltr'}\n />\n </Field>\n )}\n\n {hasCVC && (\n <CVC\n cvcPolicy={cvcPolicy}\n error={getError(errors, ENCRYPTED_SECURITY_CODE)}\n focused={focusedElement === 'encryptedSecurityCode'}\n filled={!!valid.encryptedSecurityCode || !!errors.encryptedSecurityCode}\n isValid={!!valid.encryptedSecurityCode}\n label={i18n.get('creditCard.securityCode.label')}\n onFocusField={onFocusField}\n classNameModifiers={[...(expiryMonth && expiryYear ? ['col-50', 'storedCard'] : ['storedCard'])]}\n frontCVC={isAmex}\n showContextualElement={showContextualElement}\n contextualText={cvcContextualText}\n />\n )}\n </Fieldset>\n </div>\n );\n}\n"],"names":["StoredCardFields","brand","hasCVC","onFocusField","errors","valid","cvcPolicy","focusedElement","lastFour","expiryMonth","expiryYear","showContextualElement","i18n","useCoreContext","ariaLabel","get","replace","isAmex","cvcContextualText","h","div","className","aria-label","Fieldset","classNamesFields","Field","label","classNameModifiers","name","disabled","InputText","value","dir","CVC","error","fieldType","getError","ENCRYPTED_SECURITY_CODE","focused","filled","encryptedSecurityCode","isValid","frontCVC","contextualText"],"mappings":"+cASe,SAASA,GAAiBC,MACrCA,EAAKC,OACLA,EAAMC,aACNA,EAAYC,OACZA,EAAMC,MACNA,EAAKC,UACLA,EAASC,eACTA,EAAcC,SACdA,EAAQC,YACRA,EAAWC,WACXA,EAAUC,sBACVA,IAEA,MAAMC,KAAEA,GAASC,IAGXC,EAAY,GAFYF,EAAKG,IAAI,+CAA+CC,QAAQ,KAAMR,KAChEC,GAAeC,EAAa,IAAIE,EAAKG,IAAI,kCAAkCN,KAAeC,IAAe,KAEvIO,EAAmB,SAAVhB,EACTiB,EAAoBD,EACpBL,EAAKG,IAAI,kDACTH,EAAKG,IAAI,kDAMf,OACII,EAACC,MAAAA,CAAIC,UAAU,kEAAkEC,aAAYR,GACzFK,EAACI,EAAAA,CAASC,iBAAkB,CAAC,kCACxBf,GAAeC,GACZS,EAACM,EAAAA,CACGC,MAAOd,EAAKG,IAAI,+BAChBY,mBAAoB,CAAC,SAAU,cAC/BC,KAAM,kBACNC,UAAAA,GAEAV,EAACW,EAAAA,CACGF,KAAM,kBACNP,UAAW,wGACXU,MAAO,GAAGtB,OAAiBC,IAC3BmB,UAAU,EACVG,IAAK,SAKhB9B,GACGiB,EAACc,EAAAA,CACG3B,UAAWA,EACX4B,MA3BH,EAAC9B,EAAQ+B,IACf/B,EAAO+B,GAAavB,EAAKG,IAAIX,EAAO+B,IAAc,KA0BlCC,CAAShC,EAAQiC,GACxBC,QAA4B,0BAAnB/B,EACTgC,SAAUlC,EAAMmC,yBAA2BpC,EAAOoC,sBAClDC,UAAWpC,EAAMmC,sBACjBd,MAAOd,EAAKG,IAAI,iCAChBZ,aAAcA,EACdwB,mBAAoB,IAAKlB,GAAeC,EAAa,CAAC,SAAU,cAAgB,CAAC,eACjFgC,SAAUzB,EACVN,sBAAuBA,EACvBgC,eAAgBzB,KAMxC"}
1
+ {"version":3,"file":"StoredCardFields.js","sources":["../../../../../../../src/components/Card/components/CardInput/components/StoredCardFields.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CVC from './CVC';\nimport Field from '../../../../internal/FormFields/Field';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport { StoredCardFieldsProps } from './types';\nimport { ENCRYPTED_SECURITY_CODE } from '../../../../internal/SecuredFields/lib/constants';\nimport InputText from '../../../../internal/FormFields/InputText';\nimport Fieldset from '../../../../internal/FormFields/Fieldset';\nimport './StoredCardFields.scss';\n\nexport default function StoredCardFields({\n brand,\n hasCVC,\n onFocusField,\n errors,\n valid,\n cvcPolicy,\n focusedElement,\n lastFour,\n expiryMonth,\n expiryYear,\n showContextualElement\n}: StoredCardFieldsProps) {\n const { i18n } = useCoreContext();\n const storedCardDescription = i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', lastFour);\n const storedCardDescriptionSuffix = expiryMonth && expiryYear ? ` ${i18n.get('creditCard.expiryDate.label')} ${expiryMonth}/${expiryYear}` : '';\n const ariaLabel = `${storedCardDescription}${storedCardDescriptionSuffix}`;\n const isAmex = brand === 'amex';\n const cvcContextualText = isAmex\n ? i18n.get('creditCard.securityCode.contextualText.4digits')\n : i18n.get('creditCard.securityCode.contextualText.3digits');\n\n const getError = (errors, fieldType) => {\n return errors[fieldType] ? i18n.get(errors[fieldType]) : null;\n };\n\n return (\n <div className=\"adyen-checkout__card__form adyen-checkout__card__form--oneClick\" aria-label={ariaLabel}>\n <Fieldset classNamesFields={['adyen-checkout__card__exp-cvc']}>\n {expiryMonth && expiryYear && (\n <Field\n label={i18n.get('creditCard.expiryDate.label')}\n classNameModifiers={['col-50', 'storedCard']}\n name={'expiryDateField'}\n disabled\n >\n <InputText\n name={'expiryDateField'}\n className={'adyen-checkout__input adyen-checkout__input--disabled adyen-checkout__card__exp-date__input--oneclick'}\n value={`${expiryMonth} / ${expiryYear}`}\n disabled={true}\n dir={'ltr'}\n />\n </Field>\n )}\n\n {hasCVC && (\n <CVC\n cvcPolicy={cvcPolicy}\n error={getError(errors, ENCRYPTED_SECURITY_CODE)}\n focused={focusedElement === 'encryptedSecurityCode'}\n filled={!!valid.encryptedSecurityCode || !!errors.encryptedSecurityCode}\n isValid={!!valid.encryptedSecurityCode}\n label={i18n.get('creditCard.securityCode.label')}\n onFocusField={onFocusField}\n classNameModifiers={[...(expiryMonth && expiryYear ? ['col-50', 'storedCard'] : ['storedCard'])]}\n frontCVC={isAmex}\n showContextualElement={showContextualElement}\n contextualText={cvcContextualText}\n />\n )}\n </Fieldset>\n </div>\n );\n}\n"],"names":["StoredCardFields","brand","hasCVC","onFocusField","errors","valid","cvcPolicy","focusedElement","lastFour","expiryMonth","expiryYear","showContextualElement","i18n","useCoreContext","ariaLabel","get","replace","isAmex","cvcContextualText","h","div","className","aria-label","Fieldset","classNamesFields","Field","label","classNameModifiers","name","disabled","InputText","value","dir","CVC","error","fieldType","getError","ENCRYPTED_SECURITY_CODE","focused","filled","encryptedSecurityCode","isValid","frontCVC","contextualText"],"mappings":"+cAUe,SAASA,GAAiBC,MACrCA,EAAKC,OACLA,EAAMC,aACNA,EAAYC,OACZA,EAAMC,MACNA,EAAKC,UACLA,EAASC,eACTA,EAAcC,SACdA,EAAQC,YACRA,EAAWC,WACXA,EAAUC,sBACVA,IAEA,MAAMC,KAAEA,GAASC,IAGXC,EAAY,GAFYF,EAAKG,IAAI,+CAA+CC,QAAQ,KAAMR,KAChEC,GAAeC,EAAa,IAAIE,EAAKG,IAAI,kCAAkCN,KAAeC,IAAe,KAEvIO,EAAmB,SAAVhB,EACTiB,EAAoBD,EACpBL,EAAKG,IAAI,kDACTH,EAAKG,IAAI,kDAMf,OACII,EAACC,MAAAA,CAAIC,UAAU,kEAAkEC,aAAYR,GACzFK,EAACI,EAAAA,CAASC,iBAAkB,CAAC,kCACxBf,GAAeC,GACZS,EAACM,EAAAA,CACGC,MAAOd,EAAKG,IAAI,+BAChBY,mBAAoB,CAAC,SAAU,cAC/BC,KAAM,kBACNC,UAAAA,GAEAV,EAACW,EAAAA,CACGF,KAAM,kBACNP,UAAW,wGACXU,MAAO,GAAGtB,OAAiBC,IAC3BmB,UAAU,EACVG,IAAK,SAKhB9B,GACGiB,EAACc,EAAAA,CACG3B,UAAWA,EACX4B,MA3BH,EAAC9B,EAAQ+B,IACf/B,EAAO+B,GAAavB,EAAKG,IAAIX,EAAO+B,IAAc,KA0BlCC,CAAShC,EAAQiC,GACxBC,QAA4B,0BAAnB/B,EACTgC,SAAUlC,EAAMmC,yBAA2BpC,EAAOoC,sBAClDC,UAAWpC,EAAMmC,sBACjBd,MAAOd,EAAKG,IAAI,iCAChBZ,aAAcA,EACdwB,mBAAoB,IAAKlB,GAAeC,EAAa,CAAC,SAAU,cAAgB,CAAC,eACjFgC,SAAUzB,EACVN,sBAAuBA,EACvBgC,eAAgBzB,KAMxC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/GiftcardComponent.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"../internal/PayButton/PayButton.js";import s from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as i}from"../tx-variants.js";import a from"../../core/Errors/SRPanelProvider.js";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 c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){p(e,t,r[t])})}return e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class u extends t{formatProps(e){return c({},null==e?void 0:e.configuration,e)}formatData(){var e,t;return{paymentMethod:{type:this.constructor.type,brand:this.props.brand,encryptedCardNumber:null===(e=this.state.data)||void 0===e?void 0:e.encryptedCardNumber,encryptedSecurityCode:null===(t=this.state.data)||void 0===t?void 0:t.encryptedSecurityCode}}}get isValid(){return!!this.state.isValid}get icon(){var e;return(null===(e=this.props.brandsConfiguration[this.props.brand])||void 0===e?void 0:e.icon)||this.props.icon||this.resources.getImage()(this.props.brand)}get displayName(){var e;return(null===(e=this.props.brandsConfiguration[this.props.brand])||void 0===e?void 0:e.name)||this.props.name}balanceCheck(){return this.onBalanceCheck()}submit(){this.balanceCheck()}makeSubmitCall(){super.submit()}render(){return e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(a,{srPanel:this.props.modules.srPanel},e(r,h(c({ref:e=>{this.componentRef=e}},this.props),{handleKeyPress:this.handleKeyPress,showPayButton:this.props.showPayButton,onChange:this.setState,makeBalanceCheck:()=>this.onBalanceCheck(),makePayment:()=>this.makeSubmitCall(),payButton:this.payButton}))))}constructor(...t){super(...t),p(this,"handleBalanceCheck",e=>this.props.onBalanceCheck?new Promise((t,r)=>{this.props.onBalanceCheck(t,r,e)}):this.props.session?this.props.session.checkBalance(e):void 0),p(this,"onOrderRequest",e=>this.props.onOrderRequest?new Promise((t,r)=>{this.props.onOrderRequest(t,r,e)}):this.props.session?this.props.session.createOrder():void 0),p(this,"onBalanceCheck",()=>{if(!this.isValid)return void this.showValidation();if(!(this.props.session||this.props.onBalanceCheck))return super.submit();this.setStatus("loading"),this.handleBalanceCheck(this.formatData()).then(({balance:e,transactionLimit:t={}})=>{var r;if(!e)throw new Error("card-error");if((null==e?void 0:e.currency)!==(null===(r=this.props.amount)||void 0===r?void 0:r.currency))throw new Error("currency-error");if((null==e?void 0:e.value)<=0)throw new Error("no-balance");return this.props.amount.value>e.value||this.props.amount.value>t.value?this.props.order?this.makeSubmitCall():this.onOrderRequest(this.data).then(e=>(this.setState({order:{orderData:e.orderData,pspReference:e.pspReference}}),this.makeSubmitCall())):this.handleOnRequiringConfirmation(e,t)}).catch(e=>{this.setStatus((null==e?void 0:e.message)||"error"),this.props.onError&&(e instanceof s?this.handleError(e):this.handleError(new s("ERROR",e)))})}),p(this,"handleOnRequiringConfirmation",(e,t)=>{if(this.componentRef.setBalance({balance:e,transactionLimit:t}),this.setStatus("ready"),!this.props.showPayButton){if(!this.props.onRequiringConfirmation)throw new s("IMPLEMENTATION_ERROR","onRequiringConfirmation must be provided");return new Promise((e,t)=>{this.props.onRequiringConfirmation(e,t)}).then(()=>this.makeSubmitCall()).catch(()=>{})}}),p(this,"payButton",t=>e(n,t))}}p(u,"type",i.giftcard),p(u,"defaultProps",{brandsConfiguration:{}});export{u as GiftcardElement,u as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/GiftcardComponent.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import o from"../internal/PayButton/PayButton.js";import s from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as i}from"../tx-variants.js";import a from"../../core/Errors/SRPanelProvider.js";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){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){c(e,t,r[t])})}return e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class l extends t{formatProps(e){return p({},null==e?void 0:e.configuration,e)}formatData(){var e,t;return{paymentMethod:{type:this.constructor.type,brand:this.props.brand,encryptedCardNumber:null===(e=this.state.data)||void 0===e?void 0:e.encryptedCardNumber,encryptedSecurityCode:null===(t=this.state.data)||void 0===t?void 0:t.encryptedSecurityCode}}}get isValid(){return!!this.state.isValid}get icon(){var e;return(null===(e=this.props.brandsConfiguration[this.props.brand])||void 0===e?void 0:e.icon)||this.props.icon||this.resources.getImage()(this.props.brand)}get displayName(){var e;return(null===(e=this.props.brandsConfiguration[this.props.brand])||void 0===e?void 0:e.name)||this.props.name}setBalanceCheckError(e){var t,r;null===(r=this.componentRef)||void 0===r||null===(t=r.setBalanceCheckErrors)||void 0===t||t.call(r,e)}balanceCheck(){return this.onBalanceCheck()}submit(){this.balanceCheck()}makeSubmitCall(){super.submit()}render(){return e(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(a,{srPanel:this.props.modules.srPanel},e(r,h(p({ref:e=>{this.componentRef=e}},this.props),{handleKeyPress:this.handleKeyPress,showPayButton:this.props.showPayButton,onChange:this.setState,makeBalanceCheck:()=>this.onBalanceCheck(),makePayment:()=>this.makeSubmitCall(),payButton:this.payButton}))))}constructor(...t){super(...t),c(this,"componentRef",void 0),c(this,"handleBalanceCheck",e=>this.props.onBalanceCheck?new Promise((t,r)=>{this.props.onBalanceCheck(t,r,e)}):this.props.session?this.props.session.checkBalance(e):void 0),c(this,"onOrderRequest",e=>this.props.onOrderRequest?new Promise((t,r)=>{this.props.onOrderRequest(t,r,e)}):this.props.session?this.props.session.createOrder():void 0),c(this,"onBalanceCheck",()=>{if(!this.isValid)return void this.showValidation();if(!(this.props.session||this.props.onBalanceCheck))return super.submit();this.setStatus("loading"),this.handleBalanceCheck(this.formatData()).then(({balance:e,transactionLimit:t={}})=>{var r;if(this.setBalanceCheckError(null),!e)throw new Error("card-error");if((null==e?void 0:e.currency)!==(null===(r=this.props.amount)||void 0===r?void 0:r.currency))throw new Error("currency-error");if((null==e?void 0:e.value)<=0)throw new Error("no-balance");return this.props.amount.value>e.value||this.props.amount.value>t.value?this.props.order?this.makeSubmitCall():this.onOrderRequest(this.data).then(e=>(this.setState({order:{orderData:e.orderData,pspReference:e.pspReference}}),this.makeSubmitCall())):this.handleOnRequiringConfirmation(e,t)}).catch(e=>{this.setBalanceCheckError(null==e?void 0:e.message),e instanceof s?this.handleError(e):this.handleError(new s("ERROR",e))})}),c(this,"handleOnRequiringConfirmation",(e,t)=>{if(this.componentRef.setBalance({balance:e,transactionLimit:t}),this.setStatus("ready"),!this.props.showPayButton){if(!this.props.onRequiringConfirmation)throw new s("IMPLEMENTATION_ERROR","onRequiringConfirmation must be provided");return new Promise((e,t)=>{this.props.onRequiringConfirmation(e,t)}).then(()=>this.makeSubmitCall()).catch(()=>{})}}),c(this,"payButton",t=>e(o,t))}}c(l,"type",i.giftcard),c(l,"defaultProps",{brandsConfiguration:{}});export{l as GiftcardElement,l as default};
2
2
  //# sourceMappingURL=Giftcard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType } from './types';\nimport { TxVariants } from '../tx-variants';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n if (!this.isValid) {\n this.showValidation();\n return;\n }\n\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return this.makeSubmitCall();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return this.makeSubmitCall();\n });\n } else {\n return this.handleOnRequiringConfirmation(balance, transactionLimit);\n }\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) {\n if (error instanceof AdyenCheckoutError) {\n this.handleError(error);\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error));\n }\n }\n });\n };\n\n /**\n * Check if it should call onRequiringConfirmation\n */\n private handleOnRequiringConfirmation = (balance, transactionLimit): Promise<any> => {\n this.componentRef.setBalance({ balance, transactionLimit });\n this.setStatus('ready');\n\n // 1. if we show pay button we don't need to ask for confirmation\n if (this.props.showPayButton) {\n return;\n }\n // 2. there's no callback, we throw error\n if (!this.props.onRequiringConfirmation) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'onRequiringConfirmation must be provided');\n }\n // 3. success case if in case of custom pay button\n return (\n new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n })\n //when this resolve passed to onRequiringConfirmation gets resolved make payments call\n .then(() => this.makeSubmitCall())\n //when it gets rejected handle cancellation\n .catch(() => {})\n );\n };\n\n public submit() {\n // for simplicity of the merchant we always only expose .submit()\n // however to make the actual payment call we call makeSubmitCall\n this.balanceCheck();\n }\n\n // this makes the payment, as .submit is used by the merchant to trigger the payButton action\n private makeSubmitCall() {\n super.submit();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n makeBalanceCheck={() => this.onBalanceCheck()}\n makePayment={() => this.makeSubmitCall()}\n payButton={this.payButton}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","formatProps","props","_object_spread","configuration","formatData","_this_state_data","_this_state_data1","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","_this_props_brandsConfiguration_this_props_brand","brandsConfiguration","resources","getImage","displayName","name","balanceCheck","onBalanceCheck","submit","makeSubmitCall","super","render","h","CoreProvider","i18n","loadingContext","SRPanelProvider","srPanel","modules","GiftcardComponent","ref","componentRef","handleKeyPress","showPayButton","onChange","setState","makeBalanceCheck","makePayment","payButton","args","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","showValidation","setStatus","then","balance","transactionLimit","_this_props_amount","Error","currency","amount","value","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","AdyenCheckoutError","handleError","setBalance","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType, GiftCardBalanceCheckErrorType } from './types';\nimport { TxVariants } from '../tx-variants';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected componentRef: GiftcardComponent | undefined;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private setBalanceCheckError(errorMessage: GiftCardBalanceCheckErrorType | null): void {\n this.componentRef?.setBalanceCheckErrors?.(errorMessage);\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n if (!this.isValid) {\n this.showValidation();\n return;\n }\n\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n // Clear any previous balance check errors on success\n this.setBalanceCheckError(null);\n\n // We still need to throw these errors, otherwise it would be a breaking changing\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return this.makeSubmitCall();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return this.makeSubmitCall();\n });\n } else {\n return this.handleOnRequiringConfirmation(balance, transactionLimit);\n }\n })\n .catch(error => {\n // Simply pass the raw error message to setBalanceCheckError\n this.setBalanceCheckError(error?.message);\n\n // Still call handleError for other side effects (analytics, onError callback)\n if (error instanceof AdyenCheckoutError) {\n this.handleError(error);\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error));\n }\n });\n };\n\n /**\n * Check if it should call onRequiringConfirmation\n */\n private handleOnRequiringConfirmation = (balance, transactionLimit): Promise<any> => {\n this.componentRef.setBalance({ balance, transactionLimit });\n this.setStatus('ready');\n\n // 1. if we show pay button we don't need to ask for confirmation\n if (this.props.showPayButton) {\n return;\n }\n // 2. there's no callback, we throw error\n if (!this.props.onRequiringConfirmation) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'onRequiringConfirmation must be provided');\n }\n // 3. success case if in case of custom pay button\n return (\n new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n })\n //when this resolve passed to onRequiringConfirmation gets resolved make payments call\n .then(() => this.makeSubmitCall())\n //when it gets rejected handle cancellation\n .catch(() => {})\n );\n };\n\n public submit() {\n // for simplicity of the merchant we always only expose .submit()\n // however to make the actual payment call we call makeSubmitCall\n this.balanceCheck();\n }\n\n // this makes the payment, as .submit is used by the merchant to trigger the payButton action\n private makeSubmitCall() {\n super.submit();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n makeBalanceCheck={() => this.onBalanceCheck()}\n makePayment={() => this.makeSubmitCall()}\n payButton={this.payButton}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","formatProps","props","_object_spread","configuration","formatData","_this_state_data","_this_state_data1","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","_this_props_brandsConfiguration_this_props_brand","brandsConfiguration","resources","getImage","displayName","name","setBalanceCheckError","errorMessage","_this_componentRef_setBalanceCheckErrors","_this_componentRef","componentRef","setBalanceCheckErrors","call","balanceCheck","onBalanceCheck","submit","makeSubmitCall","super","render","h","CoreProvider","i18n","loadingContext","SRPanelProvider","srPanel","modules","GiftcardComponent","ref","handleKeyPress","showPayButton","onChange","setState","makeBalanceCheck","makePayment","payButton","args","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","showValidation","setStatus","then","balance","transactionLimit","_this_props_amount","Error","currency","amount","value","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","AdyenCheckoutError","handleError","setBalance","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import s from"../../internal/Alert/Alert.js";import o from"./GiftcardResult.js";import{useCoreContext as a}from"../../../core/Context/CoreProvider.js";import{GIFT_CARD as n}from"../../internal/SecuredFields/lib/constants.js";import{GiftCardFields as i}from"./GiftcardFields.js";import{useSRPanelForGiftcardErrors as c}from"./useSRPanelForGiftcardErrors.js";function u(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class p extends t{render(t,{focusedElement:i,balance:p,transactionLimit:d,isValidating:f,transformedErrors:h}){var m;const{i18n:y}=a();c({errors:h,isValidating:f,sfp:this.sfp});const b=(null==d?void 0:d.value)<(null==p?void 0:p.value)?d:p,g=(null==b?void 0:b.value)>=(null===(m=this.props.amount)||void 0===m?void 0:m.value);if(b&&g)return e(o,{amount:this.props.amount,balance:p,transactionLimit:d,makePayment:t.makePayment,status:this.state.status,makeBalanceCheck:t.makeBalanceCheck,showPayButton:this.props.showPayButton,payButton:this.props.payButton});const O=t=>{if(t.errors.encryptedCardNumber)return y.get(t.errors.encryptedCardNumber);switch(this.state.status){case"no-balance":return y.get("error.giftcard.no-balance");case"card-error":return y.get("error.giftcard.card-error");case"currency-error":return y.get("error.giftcard.currency-error");default:return null}};return e("div",{className:"adyen-checkout__giftcard"},"error"===this.state.status&&e(s,{icon:"cross"},y.get("error.message.unknown")),e(r,l(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},s=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),s.forEach(function(e){u(t,e,r[e])})}return t}({},this.props),{ref:t=>{this.sfp=t},onChange:this.onChange,onFocus:this.handleFocus,type:n,render:({setRootNode:t,setFocusOn:e},r)=>this.props.fieldsLayoutComponent({i18n:y,pinRequired:this.props.pinRequired,focusedElement:i,getCardErrorMessage:O,setRootNode:t,setFocusOn:e,sfpState:r})})),this.props.showPayButton&&this.props.payButton({status:this.state.status,onClick:this.props.makeBalanceCheck,label:y.get("applyGiftcard")}))}constructor(...t){super(...t),u(this,"state",{status:"ready",data:{},balance:null,transactionLimit:null,focusedElement:!1,isValid:!1,sfpState:{},isValidating:!1,transformedErrors:{}}),u(this,"sfp",void 0),u(this,"mapErrorsToValidationObjects",()=>this.sfp?this.sfp.mapErrorsToValidationRuleResult():{}),u(this,"onChange",t=>{const e=this.mapErrorsToValidationObjects();this.setState({sfpState:t,transformedErrors:e}),this.props.onChange({data:t.data,isValid:t.isSfpValid})}),u(this,"handleFocus",t=>{this.setState({focusedElement:t.currentFocusObject});!0===t.focus?this.props.onFocus(t):this.props.onBlur(t)}),u(this,"setBalance",({balance:t,transactionLimit:e})=>{this.setState({balance:t,transactionLimit:e})}),u(this,"showValidation",()=>{var t;this.setState({isValidating:!0}),null===(t=this.sfp)||void 0===t||t.showValidation()})}}u(p,"defaultProps",{pinRequired:!0,expiryDateRequired:!1,onChange:()=>{},onFocus:()=>{},onBlur:()=>{},fieldsLayoutComponent:i});export{p as default};
1
+ import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import s from"../../internal/Alert/Alert.js";import o from"./GiftcardResult.js";import{useCoreContext as a}from"../../../core/Context/CoreProvider.js";import{GIFT_CARD as n}from"../../internal/SecuredFields/lib/constants.js";import{GiftCardFields as i}from"./GiftcardFields.js";import{useSRPanelForGiftcardErrors as c}from"./useSRPanelForGiftcardErrors.js";function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function u(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},s=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),s.forEach(function(e){l(t,e,r[e])})}return t}function p(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class d extends t{generateBalanceCheckErrors(t){const e={};return null===t||(e.encryptedCardNumber={isValid:!1,errorMessage:`error.giftcard.${t}`,error:t}),e}isBalanceCheckError(t){return["no-balance","card-error","currency-error"].includes(t)}render(t,{focusedElement:i,balance:l,transactionLimit:d,isValidating:h,transformedErrors:f}){var m;const{i18n:y}=a();c({errors:f,isValidating:h,sfp:this.sfp});const b=(null==d?void 0:d.value)<(null==l?void 0:l.value)?d:l,g=(null==b?void 0:b.value)>=(null===(m=this.props.amount)||void 0===m?void 0:m.value);if(b&&g)return e(o,{amount:this.props.amount,balance:l,transactionLimit:d,makePayment:t.makePayment,status:this.state.status,makeBalanceCheck:t.makeBalanceCheck,showPayButton:this.props.showPayButton,payButton:this.props.payButton});const O=t=>t.errors.encryptedCardNumber?y.get(t.errors.encryptedCardNumber):f.encryptedCardNumber?y.get(f.encryptedCardNumber.errorMessage):null;return e("div",{className:"adyen-checkout__giftcard"},"error"===this.state.status&&e(s,{icon:"cross"},y.get("error.message.unknown")),e(r,p(u({},this.props),{ref:t=>{this.sfp=t},onChange:this.onChange,onFocus:this.handleFocus,type:n,render:({setRootNode:t,setFocusOn:e},r)=>this.props.fieldsLayoutComponent({i18n:y,pinRequired:this.props.pinRequired,focusedElement:i,getCardErrorMessage:O,setRootNode:t,setFocusOn:e,sfpState:r})})),this.props.showPayButton&&this.props.payButton({status:this.state.status,onClick:this.props.makeBalanceCheck,label:y.get("applyGiftcard")}))}constructor(...t){super(...t),l(this,"state",{status:"ready",data:{},balance:null,transactionLimit:null,focusedElement:!1,isValid:!1,sfpState:{},isValidating:!1,transformedErrors:{}}),l(this,"sfp",void 0),l(this,"mapErrorsToValidationObjects",()=>this.sfp?this.sfp.mapErrorsToValidationRuleResult():{}),l(this,"updateTransformedErrors",t=>{const e=u({},this.mapErrorsToValidationObjects(),t);this.setState({transformedErrors:e})}),l(this,"onChange",t=>{this.setState({sfpState:t},()=>this.updateTransformedErrors()),this.props.onChange({data:t.data,isValid:t.isSfpValid})}),l(this,"handleFocus",t=>{this.setState({focusedElement:t.currentFocusObject});!0===t.focus?this.props.onFocus(t):this.props.onBlur(t)}),l(this,"setBalance",({balance:t,transactionLimit:e})=>{this.setState({balance:t,transactionLimit:e})}),l(this,"setBalanceCheckErrors",t=>{if(this.isBalanceCheckError(t)){const e=this.generateBalanceCheckErrors(t);this.updateTransformedErrors(e)}}),l(this,"showValidation",()=>{var t;this.setState({isValidating:!0}),null===(t=this.sfp)||void 0===t||t.showValidation()})}}l(d,"defaultProps",{pinRequired:!0,expiryDateRequired:!1,onChange:()=>{},onFocus:()=>{},onBlur:()=>{},fieldsLayoutComponent:i});export{d as default};
2
2
  //# sourceMappingURL=GiftcardComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\nimport { useSRPanelForGiftcardErrors } from './useSRPanelForGiftcardErrors';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n\n makeBalanceCheck: (event) => void;\n makePayment: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false,\n sfpState: {},\n isValidating: false,\n transformedErrors: {}\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n /**\n * Maps string error codes from SecuredFields to validation rule objects\n */\n public mapErrorsToValidationObjects = () => {\n // Use the sfp reference to call mapErrorsToValidationRuleResult\n if (!this.sfp) return {};\n return this.sfp.mapErrorsToValidationRuleResult();\n };\n\n public onChange = sfpState => {\n // Add transformed errors to the state\n const transformedErrors = this.mapErrorsToValidationObjects();\n\n this.setState({\n sfpState,\n transformedErrors\n });\n\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n public showValidation = () => {\n this.setState({ isValidating: true });\n\n // Validate SecuredFields\n this.sfp?.showValidation();\n };\n\n render(props, { focusedElement, balance, transactionLimit, isValidating, transformedErrors }) {\n const { i18n } = useCoreContext();\n\n // Handle SRPanel errors in render with transformed error objects\n useSRPanelForGiftcardErrors({\n errors: transformedErrors,\n isValidating,\n sfp: this.sfp\n });\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return (\n <GiftcardResult\n amount={this.props.amount}\n balance={balance}\n transactionLimit={transactionLimit}\n makePayment={props.makePayment}\n status={this.state.status}\n makeBalanceCheck={props.makeBalanceCheck}\n showPayButton={this.props.showPayButton}\n payButton={this.props.payButton}\n />\n );\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.makeBalanceCheck,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","render","props","focusedElement","balance","transactionLimit","isValidating","transformedErrors","_this_props_amount","i18n","useCoreContext","useSRPanelForGiftcardErrors","errors","sfp","this","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","makePayment","status","state","makeBalanceCheck","showPayButton","payButton","getCardErrorMessage","sfpState","encryptedCardNumber","get","div","className","Alert","icon","SecuredFieldsProvider","ref","onChange","onFocus","handleFocus","type","GIFT_CARD","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","onClick","label","super","args","_define_property","data","isValid","mapErrorsToValidationObjects","mapErrorsToValidationRuleResult","setState","isSfpValid","e","currentFocusObject","focus","onBlur","setBalance","showValidation","_this_sfp","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"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"}
1
+ {"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\nimport { useSRPanelForGiftcardErrors } from './useSRPanelForGiftcardErrors';\nimport { GiftCardBalanceCheckErrorType } from '../types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n\n makeBalanceCheck: (event) => void;\n makePayment: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false,\n sfpState: {},\n isValidating: false,\n transformedErrors: {}\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp: SecuredFieldsProvider;\n\n /**\n * Maps string error codes from SecuredFields to validation rule objects\n */\n public mapErrorsToValidationObjects = () => {\n // Use the sfp reference to call mapErrorsToValidationRuleResult\n if (!this.sfp) return {};\n return this.sfp.mapErrorsToValidationRuleResult();\n };\n\n private updateTransformedErrors = (balanceCheckErrors?: Record<string, any>) => {\n const transformedErrors = this.mapErrorsToValidationObjects();\n\n const mergedErrors = { ...transformedErrors, ...balanceCheckErrors };\n\n this.setState({ transformedErrors: mergedErrors });\n };\n\n public onChange = sfpState => {\n this.setState({ sfpState }, () => this.updateTransformedErrors());\n\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n /**\n * Generates balance check errors in the same format as SFP errors\n * Compatible with the transformedErrors structure\n */\n private generateBalanceCheckErrors(errorType?: GiftCardBalanceCheckErrorType | null): Record<string, any> {\n const balanceCheckErrors: Record<string, any> = {};\n\n // This is the field that the error is associated with, only used for SR logic\n const fieldToAnnounce = 'encryptedCardNumber';\n\n // If errorType is null, clear errors\n if (errorType === null) {\n return balanceCheckErrors;\n }\n\n // Create error in the same format as SFP errors for consistency\n balanceCheckErrors[fieldToAnnounce] = {\n isValid: false,\n errorMessage: `error.giftcard.${errorType}`,\n error: errorType\n };\n\n return balanceCheckErrors;\n }\n\n /**\n * Checks if a status represents a balance check error\n */\n private isBalanceCheckError(status: string): boolean {\n return ['no-balance', 'card-error', 'currency-error'].includes(status);\n }\n\n /**\n * Method called by GiftcardElement to set balance check errors only\n */\n public setBalanceCheckErrors = (errorType: GiftCardBalanceCheckErrorType | null): void => {\n // Check if the errors should be displayed\n if (this.isBalanceCheckError(errorType)) {\n // Generate balance check errors in the style of useForm\n // This is usefull because then we can use the same logic for SF and balance check errors\n // Also we can use the same logic for SRPanel errors\n const balanceCheckErrors = this.generateBalanceCheckErrors(errorType);\n this.updateTransformedErrors(balanceCheckErrors);\n }\n };\n\n public showValidation = () => {\n this.setState({ isValidating: true });\n\n // Validate SecuredFields\n this.sfp?.showValidation();\n };\n\n render(props, { focusedElement, balance, transactionLimit, isValidating, transformedErrors }) {\n const { i18n } = useCoreContext();\n\n // Handle SRPanel errors in render with transformed error objects\n useSRPanelForGiftcardErrors({\n errors: transformedErrors,\n isValidating,\n sfp: this.sfp\n });\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return (\n <GiftcardResult\n amount={this.props.amount}\n balance={balance}\n transactionLimit={transactionLimit}\n makePayment={props.makePayment}\n status={this.state.status}\n makeBalanceCheck={props.makeBalanceCheck}\n showPayButton={this.props.showPayButton}\n payButton={this.props.payButton}\n />\n );\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n // This logic is a bit of a hack, but it's the only way to get the error message for balance check errors\n // In the future we should move this logic to useForm\n if (transformedErrors.encryptedCardNumber) {\n return i18n.get(transformedErrors.encryptedCardNumber.errorMessage);\n }\n\n return null;\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.makeBalanceCheck,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","generateBalanceCheckErrors","errorType","balanceCheckErrors","isValid","errorMessage","error","isBalanceCheckError","status","includes","render","props","focusedElement","balance","transactionLimit","isValidating","transformedErrors","_this_props_amount","i18n","useCoreContext","useSRPanelForGiftcardErrors","errors","sfp","this","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","makePayment","state","makeBalanceCheck","showPayButton","payButton","getCardErrorMessage","sfpState","encryptedCardNumber","get","div","className","Alert","icon","SecuredFieldsProvider","ref","onChange","onFocus","handleFocus","type","GIFT_CARD","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","onClick","label","super","args","_define_property","data","mapErrorsToValidationObjects","mapErrorsToValidationRuleResult","updateTransformedErrors","mergedErrors","_object_spread","setState","isSfpValid","e","currentFocusObject","focus","onBlur","setBalance","setBalanceCheckErrors","showValidation","_this_sfp","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/MBWayInput/MBWayInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"./components/MBWayAwait/config.js";import s from"../internal/Await/Await.js";import i from"../../core/Errors/SRPanelProvider.js";import{TxVariants as p}from"../tx-variants.js";function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){a(e,t,r[t])})}return e}function c(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class l extends t{formatProps(e){const{data:t={},placeholders:r={}}=e;return c(m({},e),{data:{phoneNumber:t.telephoneNumber||t.phoneNumber,phonePrefix:t.phonePrefix||"+351"},placeholders:{phoneNumber:r.telephoneNumber||r.phoneNumber}})}formatData(){var e;return{paymentMethod:m({type:l.type},(null===(e=this.state.data)||void 0===e?void 0:e.phoneNumber)&&{telephoneNumber:this.state.data.phonePrefix+this.state.data.phoneNumber})}}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(i,{srPanel:this.props.modules.srPanel},e(s,{ref:e=>{this.componentRef=e},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:n.type,messageText:this.props.i18n.get(n.messageTextId),awaitText:this.props.i18n.get(n.awaitTextId),showCountdownTimer:n.showCountdownTimer,delay:n.STATUS_INTERVAL,countdownTime:n.COUNTDOWN_MINUTES,throttleTime:n.THROTTLE_TIME,throttleInterval:n.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}))):e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(r,c(m({ref:e=>{this.componentRef=e}},this.props),{setComponentRef:this.setComponentRef,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}a(l,"type",p.mbway);export{l as MBWayElement,l as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/MBWayInput/MBWayInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"./components/MBWayAwait/config.js";import s from"../internal/Await/Await.js";import i from"../../core/Errors/SRPanelProvider.js";import{TxVariants as p}from"../tx-variants.js";function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){a(e,t,r[t])})}return e}function c(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class l extends t{formatProps(e){const{data:t={},placeholders:r={}}=e;return c(m({},e),{data:{phoneNumber:t.telephoneNumber||t.phoneNumber,phonePrefix:t.phonePrefix||"+351"},placeholders:{phoneNumber:r.telephoneNumber||r.phoneNumber}})}formatData(){var e;return{paymentMethod:m({type:l.type},(null===(e=this.state.data)||void 0===e?void 0:e.phoneNumber)&&{telephoneNumber:this.state.data.phonePrefix+this.state.data.phoneNumber})}}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(i,{srPanel:this.props.modules.srPanel},e(s,{clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:n.type,messageText:this.props.i18n.get(n.messageTextId),awaitText:this.props.i18n.get(n.awaitTextId),showCountdownTimer:n.showCountdownTimer,delay:n.STATUS_INTERVAL,countdownTime:n.COUNTDOWN_MINUTES,throttleTime:n.THROTTLE_TIME,throttleInterval:n.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}))):e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(r,c(m({ref:e=>{this.componentRef=e}},this.props),{setComponentRef:this.setComponentRef,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}a(l,"type",p.mbway);export{l as MBWayElement,l as default};
2
2
  //# sourceMappingURL=MBWay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/MBWayAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","_object_spread_props","_object_spread","phoneNumber","telephoneNumber","phonePrefix","formatData","_this_state_data","paymentMethod","type","this","state","isValid","displayName","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","mbway"],"mappings":"kuCAUO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAA,EAAEC,aAAEA,EAAe,CAAA,GAAOF,EAEzC,OAAOG,EAAAC,EAAA,CAAA,EACAJ,GAAAA,CACHC,KAAM,CACFI,YAAaJ,EAAKK,iBAAmBL,EAAKI,YAC1CE,YAAaN,EAAKM,aAAe,QAErCL,aAAc,CACVG,YAAaH,EAAaI,iBAAmBJ,EAAaG,cAGtE,CAKAG,UAAAA,GAIgB,IAAAC,EAHZ,MAAO,CACHC,cAAeN,EAAA,CACXO,KAAMd,EAAac,OACA,QAAfF,EAAAG,KAAKC,MAAMZ,YAAX,IAAAQ,OAAA,EAAAA,EAAiBJ,cAAe,CAAEC,gBAAiBM,KAAKC,MAAMZ,KAAKM,YAAcK,KAAKC,MAAMZ,KAAKI,cAGjH,CAEA,WAAIS,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKZ,MAAMgB,IACtB,CAEAC,MAAAA,GACI,OAAIL,KAAKZ,MAAMkB,YAEPC,EAACC,EAAAA,CAAaC,KAAMT,KAAKZ,MAAMqB,KAAMC,eAAgBV,KAAKZ,MAAMsB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASb,KAAKZ,MAAM0B,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDhB,KAAKiB,aAAeD,GAExBE,UAAWlB,KAAKZ,MAAM8B,UACtBZ,YAAaN,KAAKZ,MAAMkB,YACxBa,QAASnB,KAAKZ,MAAM+B,QACpBC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBvB,KAAMwB,EAAOxB,KACbyB,YAAaxB,KAAKZ,MAAMqB,KAAKgB,IAAIF,EAAOG,eACxCC,UAAW3B,KAAKZ,MAAMqB,KAAKgB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBtC,KAAKsC,oBAQtC/B,EAACC,EAAAA,CAAaC,KAAMT,KAAKZ,MAAMqB,KAAMC,eAAgBV,KAAKZ,MAAMsB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACgC,EAAAA,EAAAA,EAAAA,CAEGvB,IAAKA,IACDhB,KAAKiB,aAAeD,IAEpBhB,KAAKZ,OAAK,CACdoD,gBAAiBxC,KAAKwC,gBACtBC,SAAUzC,KAAK0C,SACfC,SAAU3C,KAAK4C,OACfC,UAAW7C,KAAK6C,aAIhC,EAjFAC,EADS7D,EACKc,OAAOgD,EAAWC"}
1
+ {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/MBWayAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","_object_spread_props","_object_spread","phoneNumber","telephoneNumber","phonePrefix","formatData","_this_state_data","paymentMethod","type","this","state","isValid","displayName","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","clientKey","onError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","ref","componentRef","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","mbway"],"mappings":"kuCAUO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAA,EAAEC,aAAEA,EAAe,CAAA,GAAOF,EAEzC,OAAOG,EAAAC,EAAA,CAAA,EACAJ,GAAAA,CACHC,KAAM,CACFI,YAAaJ,EAAKK,iBAAmBL,EAAKI,YAC1CE,YAAaN,EAAKM,aAAe,QAErCL,aAAc,CACVG,YAAaH,EAAaI,iBAAmBJ,EAAaG,cAGtE,CAKAG,UAAAA,GAIgB,IAAAC,EAHZ,MAAO,CACHC,cAAeN,EAAA,CACXO,KAAMd,EAAac,OACA,QAAfF,EAAAG,KAAKC,MAAMZ,YAAX,IAAAQ,OAAA,EAAAA,EAAiBJ,cAAe,CAAEC,gBAAiBM,KAAKC,MAAMZ,KAAKM,YAAcK,KAAKC,MAAMZ,KAAKI,cAGjH,CAEA,WAAIS,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKZ,MAAMgB,IACtB,CAEAC,MAAAA,GACI,OAAIL,KAAKZ,MAAMkB,YAEPC,EAACC,EAAAA,CAAaC,KAAMT,KAAKZ,MAAMqB,KAAMC,eAAgBV,KAAKZ,MAAMsB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASb,KAAKZ,MAAM0B,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,UAAWhB,KAAKZ,MAAM4B,UACtBV,YAAaN,KAAKZ,MAAMkB,YACxBW,QAASjB,KAAKZ,MAAM6B,QACpBC,WAAYlB,KAAKkB,WACjBC,UAAWnB,KAAKoB,KAChBrB,KAAMsB,EAAOtB,KACbuB,YAAatB,KAAKZ,MAAMqB,KAAKc,IAAIF,EAAOG,eACxCC,UAAWzB,KAAKZ,MAAMqB,KAAKc,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBpC,KAAKoC,oBAQtC7B,EAACC,EAAAA,CAAaC,KAAMT,KAAKZ,MAAMqB,KAAMC,eAAgBV,KAAKZ,MAAMsB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAAC8B,EAAAA,EAAAA,EAAAA,CAEGC,IAAKA,IACDtC,KAAKuC,aAAeD,IAEpBtC,KAAKZ,OAAK,CACdoD,gBAAiBxC,KAAKwC,gBACtBC,SAAUzC,KAAK0C,SACfC,SAAU3C,KAAK4C,OACfC,UAAW7C,KAAK6C,aAIhC,EA9EAC,EADS7D,EACKc,OAAOgD,EAAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PayByBankPixAwait.js","sources":["../../../../../../../src/components/PayByBankPix/components/Enrollment/components/PayByBankPixAwait.tsx"],"sourcesContent":["import { h } from 'preact';\nimport AwaitLogoContainer, { IAwaitLogoContainer } from './AwaitLogoContainer';\nimport Await from '../../../../internal/Await';\nimport './PayBankBankPixAwait.scss';\nimport { AwaitComponentProps } from '../../../../internal/Await/types';\n\nexport interface IPayByBankPixAwait extends Partial<AwaitComponentProps>, Partial<IAwaitLogoContainer> {}\n\nfunction PayByBankPixAwait(props: IPayByBankPixAwait) {\n return (\n <div className={'adyen-checkout-pay-by-bank-pix-await'}>\n {props.logos?.length > 0 && <AwaitLogoContainer logos={props.logos}></AwaitLogoContainer>}\n <Await\n // We want the countdown capability but the adyen-checkout__await__countdown-holder is visually hidden.\n showCountdownTimer={true}\n type={props.type}\n countdownTime={props.countdownTime}\n clientKey={props.clientKey}\n onError={props.onError}\n awaitText={props.awaitText}\n instructions={props.instructions}\n pollStatus={props.pollStatus}\n endSlot={props.endSlot}\n ></Await>\n </div>\n );\n}\n\nexport default PayByBankPixAwait;\n"],"names":["PayByBankPixAwait","props","h","div","className","logos","length","AwaitLogoContainer","Await","showCountdownTimer","type","countdownTime","clientKey","onError","awaitText","instructions","pollStatus","endSlot"],"mappings":"wKAQA,SAASA,EAAkBC,GAGdA,IAAAA,EAFT,OACIC,EAACC,MAAAA,CAAIC,UAAW,yCACA,QAAXH,EAAAA,EAAMI,iBAANJ,SAAAA,EAAaK,QAAS,GAAKJ,EAACK,EAAAA,CAAmBF,MAAOJ,EAAMI,QAC7DH,EAACM,EAAAA,CAEGC,oBAAoB,EACpBC,KAAMT,EAAMS,KACZC,cAAeV,EAAMU,cACrBC,UAAWX,EAAMW,UACjBC,QAASZ,EAAMY,QACfC,UAAWb,EAAMa,UACjBC,aAAcd,EAAMc,aACpBC,WAAYf,EAAMe,WAClBC,QAAShB,EAAMgB,UAI/B"}
1
+ {"version":3,"file":"PayByBankPixAwait.js","sources":["../../../../../../../src/components/PayByBankPix/components/Enrollment/components/PayByBankPixAwait.tsx"],"sourcesContent":["import { h } from 'preact';\nimport AwaitLogoContainer, { IAwaitLogoContainer } from './AwaitLogoContainer';\nimport Await from '../../../../internal/Await';\nimport './PayBankBankPixAwait.scss';\nimport { AwaitComponentProps } from '../../../../internal/Await/types';\n\nexport interface IPayByBankPixAwait extends Partial<AwaitComponentProps>, Partial<IAwaitLogoContainer> {}\n\nfunction PayByBankPixAwait(props: IPayByBankPixAwait) {\n return (\n <div className={'adyen-checkout-pay-by-bank-pix-await'}>\n {props.logos?.length > 0 && <AwaitLogoContainer logos={props.logos}></AwaitLogoContainer>}\n <Await\n // We want the countdown capability but the adyen-checkout__await__countdown-holder is visually hidden.\n showCountdownTimer={true}\n type={props.type}\n countdownTime={props.countdownTime}\n clientKey={props.clientKey}\n onError={props.onError}\n awaitText={props.awaitText}\n instructions={props.instructions}\n pollStatus={props.pollStatus}\n endSlot={props.endSlot}\n />\n </div>\n );\n}\n\nexport default PayByBankPixAwait;\n"],"names":["PayByBankPixAwait","props","h","div","className","logos","length","AwaitLogoContainer","Await","showCountdownTimer","type","countdownTime","clientKey","onError","awaitText","instructions","pollStatus","endSlot"],"mappings":"wKAQA,SAASA,EAAkBC,GAGdA,IAAAA,EAFT,OACIC,EAACC,MAAAA,CAAIC,UAAW,yCACA,QAAXH,EAAAA,EAAMI,iBAANJ,SAAAA,EAAaK,QAAS,GAAKJ,EAACK,EAAAA,CAAmBF,MAAOJ,EAAMI,QAC7DH,EAACM,EAAAA,CAEGC,oBAAoB,EACpBC,KAAMT,EAAMS,KACZC,cAAeV,EAAMU,cACrBC,UAAWX,EAAMW,UACjBC,QAASZ,EAAMY,QACfC,UAAWb,EAAMa,UACjBC,aAAcd,EAAMc,aACpBC,WAAYf,EAAMe,WAClBC,QAAShB,EAAMgB,UAI/B"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../internal/Await/Await.js";import s from"../../core/Errors/SRPanelProvider.js";import{TxVariants as n}from"../tx-variants.js";import{PayToIdentifierEnum as a}from"./components/IdentifierSelector.js";import i from"./components/PayToComponent.js";import{PayToInstructions as p}from"./components/PayToInstructions.js";import m from"./components/MandateSummary.js";import h from"../internal/PayButton/PayButton.js";import{payAmountLabel as c}from"../internal/PayButton/utils.js";function d(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function l(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){d(t,e,o[e])})}return t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}const y=6e4,f=1e4,b=!1,P=t=>{if("bsb-option"===t.selectedInput)return`${t.bsb}-${t.bankAccountNumber}`;if("payid-option"===t.selectedInput)switch(t.selectedIdentifier){case a.email:return t.email;case a.abn:return t.abn;case a.orgid:return t.orgid;case a.phone:return`${t.phonePrefix}-${t.phoneNumber}`}};class g extends e{formatProps(t){return u(l({},t),{data:u(l({},t.data),{phonePrefix:"+61"})})}formatData(){return this.props.storedPaymentMethodId?{paymentMethod:{type:g.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:{paymentMethod:{type:g.type,shopperAccountIdentifier:P(this.state.data)},shopperName:{firstName:this.state.data.firstName,lastName:this.state.data.lastName}}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}render(){return this.props.storedPaymentMethodId?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.showPayButton&&t(h,u(l({},this.props),{classNameModifiers:["standalone"],amount:this.props.amount,label:c(this.props.i18n,this.props.amount),onClick:this.submit}))):this.props.paymentData?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{srPanel:this.props.modules.srPanel},t(r,{ref:t=>{this.componentRef=t},amount:this.props.amount,showAmount:!0,instructions:p,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("payto.confirmPayment"),awaitText:this.props.i18n.get("payto.await.waitForConfirmation"),showCountdownTimer:b,throttleTime:y,throttleInterval:f,onActionHandled:this.onActionHandled,endSlot:()=>!!this.props.mandate&&t(m,{mandate:this.props.mandate,payee:this.props.payee,currencyCode:this.props.amount.currency})}))):t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{data:this.props.data,placeholders:this.props.placeholders,setComponentRef:this.setComponentRef,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton}))}}d(g,"type",n.payto),d(g,"defaultProps",{placeholders:{}});export{g as PayToElement,g as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../internal/Await/Await.js";import s from"../../core/Errors/SRPanelProvider.js";import{TxVariants as n}from"../tx-variants.js";import{PayToIdentifierEnum as a}from"./components/IdentifierSelector.js";import i from"./components/PayToComponent.js";import{PayToInstructions as p}from"./components/PayToInstructions.js";import m from"./components/MandateSummary.js";import h from"../internal/PayButton/PayButton.js";import{payAmountLabel as c}from"../internal/PayButton/utils.js";function d(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function l(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){d(t,e,o[e])})}return t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}const y=6e4,f=1e4,b=!1,P=t=>{if("bsb-option"===t.selectedInput)return`${t.bsb}-${t.bankAccountNumber}`;if("payid-option"===t.selectedInput)switch(t.selectedIdentifier){case a.email:return t.email;case a.abn:return t.abn;case a.orgid:return t.orgid;case a.phone:return`${t.phonePrefix}-${t.phoneNumber}`}};class g extends e{formatProps(t){return u(l({},t),{data:u(l({},t.data),{phonePrefix:"+61"})})}formatData(){return this.props.storedPaymentMethodId?{paymentMethod:{type:g.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:{paymentMethod:{type:g.type,shopperAccountIdentifier:P(this.state.data)},shopperName:{firstName:this.state.data.firstName,lastName:this.state.data.lastName}}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}render(){return this.props.storedPaymentMethodId?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.showPayButton&&t(h,u(l({},this.props),{classNameModifiers:["standalone"],amount:this.props.amount,label:c(this.props.i18n,this.props.amount),onClick:this.submit}))):this.props.paymentData?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{srPanel:this.props.modules.srPanel},t(r,{amount:this.props.amount,showAmount:!0,instructions:p,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("payto.confirmPayment"),awaitText:this.props.i18n.get("payto.await.waitForConfirmation"),showCountdownTimer:b,throttleTime:y,throttleInterval:f,onActionHandled:this.onActionHandled,endSlot:()=>!!this.props.mandate&&t(m,{mandate:this.props.mandate,payee:this.props.payee,currencyCode:this.props.amount.currency})}))):t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{data:this.props.data,placeholders:this.props.placeholders,setComponentRef:this.setComponentRef,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton}))}}d(g,"type",n.payto),d(g,"defaultProps",{placeholders:{}});export{g as PayToElement,g as default};
2
2
  //# sourceMappingURL=PayTo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayTo.js","sources":["../../../../src/components/PayTo/PayTo.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { PayToIdentifierEnum } from './components/IdentifierSelector';\nimport PayToComponent from './components/PayToComponent';\nimport { PayToInstructions } from './components/PayToInstructions';\nimport MandateSummary from './components/MandateSummary';\nimport { PayToConfiguration, PayToData } from './types';\nimport PayButton, { payAmountLabel } from '../internal/PayButton';\n\n/*\nAwait Config (previously in its own file)\n */\nconst COUNTDOWN_MINUTES = 15; // min\nconst THROTTLE_TIME = 60000; // ms\nconst THROTTLE_INTERVAL = 10000; // ms\n\nconst config = {\n COUNTDOWN_MINUTES,\n THROTTLE_TIME,\n THROTTLE_INTERVAL,\n showCountdownTimer: false\n};\n\nconst getAccountIdentifier = (state: PayToData) => {\n // if it's BSB Input type merge bankAccount with BSB\n if (state.selectedInput === 'bsb-option') {\n return `${state.bsb}-${state.bankAccountNumber}`;\n } else if (state.selectedInput === 'payid-option') {\n // otherwise use the option in the dropdown\n switch (state.selectedIdentifier) {\n case PayToIdentifierEnum.email:\n return state.email;\n case PayToIdentifierEnum.abn:\n return state.abn;\n case PayToIdentifierEnum.orgid:\n return state.orgid;\n case PayToIdentifierEnum.phone:\n // merge the phone prefix and number - see comment in ticket\n return `${state.phonePrefix}-${state.phoneNumber}`;\n }\n }\n};\n/**\n *\n */\nexport class PayToElement extends UIElement<PayToConfiguration> {\n public static readonly type = TxVariants.payto;\n\n protected static defaultProps = {\n placeholders: {}\n };\n\n formatProps(props: PayToConfiguration) {\n return {\n ...props,\n data: {\n ...props.data,\n phonePrefix: '+61' // hardcode +61\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n if (this.props.storedPaymentMethodId) {\n return {\n paymentMethod: {\n type: PayToElement.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: PayToElement.type,\n shopperAccountIdentifier: getAccountIdentifier(this.state.data)\n },\n shopperName: {\n firstName: this.state.data.firstName,\n lastName: this.state.data.lastName\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n render() {\n // Stored\n if (this.props.storedPaymentMethodId) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.showPayButton && (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n amount={this.props.amount}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n onClick={this.submit}\n />\n )}\n </CoreProvider>\n );\n }\n // Await\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n amount={this.props.amount}\n showAmount={true}\n instructions={PayToInstructions}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('payto.confirmPayment')}\n awaitText={this.props.i18n.get('payto.await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n endSlot={() =>\n !!this.props.mandate && (\n <MandateSummary mandate={this.props.mandate} payee={this.props.payee} currencyCode={this.props.amount.currency} />\n )\n }\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n // Input\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PayToComponent\n data={this.props.data}\n placeholders={this.props.placeholders}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PayToElement;\n"],"names":["config","getAccountIdentifier","state","selectedInput","bsb","bankAccountNumber","selectedIdentifier","PayToIdentifierEnum","email","abn","orgid","phone","phonePrefix","phoneNumber","PayToElement","UIElement","formatProps","props","_object_spread_props","_object_spread","data","formatData","this","storedPaymentMethodId","paymentMethod","type","shopperAccountIdentifier","shopperName","firstName","lastName","isValid","displayName","label","name","additionalInfo","render","h","CoreProvider","i18n","loadingContext","resources","showPayButton","PayButton","classNameModifiers","amount","payAmountLabel","onClick","submit","paymentData","SRPanelProvider","srPanel","modules","Await","ref","componentRef","showAmount","instructions","PayToInstructions","clientKey","onError","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","throttleTime","throttleInterval","onActionHandled","endSlot","mandate","MandateSummary","payee","currencyCode","currency","PayToComponent","placeholders","setComponentRef","onChange","setState","payButton","_define_property","TxVariants","payto","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"PayTo.js","sources":["../../../../src/components/PayTo/PayTo.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { PayToIdentifierEnum } from './components/IdentifierSelector';\nimport PayToComponent from './components/PayToComponent';\nimport { PayToInstructions } from './components/PayToInstructions';\nimport MandateSummary from './components/MandateSummary';\nimport { PayToConfiguration, PayToData } from './types';\nimport PayButton, { payAmountLabel } from '../internal/PayButton';\n\n/*\nAwait Config (previously in its own file)\n */\nconst COUNTDOWN_MINUTES = 15; // min\nconst THROTTLE_TIME = 60000; // ms\nconst THROTTLE_INTERVAL = 10000; // ms\n\nconst config = {\n COUNTDOWN_MINUTES,\n THROTTLE_TIME,\n THROTTLE_INTERVAL,\n showCountdownTimer: false\n};\n\nconst getAccountIdentifier = (state: PayToData) => {\n // if it's BSB Input type merge bankAccount with BSB\n if (state.selectedInput === 'bsb-option') {\n return `${state.bsb}-${state.bankAccountNumber}`;\n } else if (state.selectedInput === 'payid-option') {\n // otherwise use the option in the dropdown\n switch (state.selectedIdentifier) {\n case PayToIdentifierEnum.email:\n return state.email;\n case PayToIdentifierEnum.abn:\n return state.abn;\n case PayToIdentifierEnum.orgid:\n return state.orgid;\n case PayToIdentifierEnum.phone:\n // merge the phone prefix and number - see comment in ticket\n return `${state.phonePrefix}-${state.phoneNumber}`;\n }\n }\n};\n/**\n *\n */\nexport class PayToElement extends UIElement<PayToConfiguration> {\n public static readonly type = TxVariants.payto;\n\n protected static defaultProps = {\n placeholders: {}\n };\n\n formatProps(props: PayToConfiguration) {\n return {\n ...props,\n data: {\n ...props.data,\n phonePrefix: '+61' // hardcode +61\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n if (this.props.storedPaymentMethodId) {\n return {\n paymentMethod: {\n type: PayToElement.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: PayToElement.type,\n shopperAccountIdentifier: getAccountIdentifier(this.state.data)\n },\n shopperName: {\n firstName: this.state.data.firstName,\n lastName: this.state.data.lastName\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n render() {\n // Stored\n if (this.props.storedPaymentMethodId) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.showPayButton && (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n amount={this.props.amount}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n onClick={this.submit}\n />\n )}\n </CoreProvider>\n );\n }\n // Await\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n amount={this.props.amount}\n showAmount={true}\n instructions={PayToInstructions}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('payto.confirmPayment')}\n awaitText={this.props.i18n.get('payto.await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n endSlot={() =>\n !!this.props.mandate && (\n <MandateSummary mandate={this.props.mandate} payee={this.props.payee} currencyCode={this.props.amount.currency} />\n )\n }\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n // Input\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PayToComponent\n data={this.props.data}\n placeholders={this.props.placeholders}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PayToElement;\n"],"names":["config","getAccountIdentifier","state","selectedInput","bsb","bankAccountNumber","selectedIdentifier","PayToIdentifierEnum","email","abn","orgid","phone","phonePrefix","phoneNumber","PayToElement","UIElement","formatProps","props","_object_spread_props","_object_spread","data","formatData","this","storedPaymentMethodId","paymentMethod","type","shopperAccountIdentifier","shopperName","firstName","lastName","isValid","displayName","label","name","additionalInfo","render","h","CoreProvider","i18n","loadingContext","resources","showPayButton","PayButton","classNameModifiers","amount","payAmountLabel","onClick","submit","paymentData","SRPanelProvider","srPanel","modules","Await","showAmount","instructions","PayToInstructions","clientKey","onError","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","throttleTime","throttleInterval","onActionHandled","endSlot","mandate","MandateSummary","payee","currencyCode","currency","PayToComponent","placeholders","setComponentRef","onChange","setState","payButton","_define_property","TxVariants","payto","defaultProps"],"mappings":"y9CAiBA,MAGMA,EAHgB,IAGhBA,EAFoB,IAEpBA,GAIkB,EAGlBC,EAAwBC,IAE1B,GAA4B,eAAxBA,EAAMC,cACN,MAAO,GAAGD,EAAME,OAAOF,EAAMG,oBAC1B,GAA4B,iBAAxBH,EAAMC,cAEb,OAAQD,EAAMI,oBACV,KAAKC,EAAoBC,MACrB,OAAON,EAAMM,MACjB,KAAKD,EAAoBE,IACrB,OAAOP,EAAMO,IACjB,KAAKF,EAAoBG,MACrB,OAAOR,EAAMQ,MACjB,KAAKH,EAAoBI,MAErB,MAAO,GAAGT,EAAMU,eAAeV,EAAMW,gBAO9C,MAAMC,UAAqBC,EAO9BC,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAF,GAAAA,CACHG,KAAMF,EAAAC,EAAA,CAAA,EACCF,EAAMG,MAAI,CACbR,YAAa,SAGzB,CAKAS,UAAAA,GACI,OAAIC,KAAKL,MAAMM,sBACJ,CACHC,cAAe,CACXC,KAAMX,EAAaW,KACnBF,sBAAuBD,KAAKL,MAAMM,wBAKvC,CACHC,cAAe,CACXC,KAAMX,EAAaW,KACnBC,yBAA0BzB,EAAqBqB,KAAKpB,MAAMkB,OAE9DO,YAAa,CACTC,UAAWN,KAAKpB,MAAMkB,KAAKQ,UAC3BC,SAAUP,KAAKpB,MAAMkB,KAAKS,UAGtC,CAEA,WAAIC,GACA,QAAIR,KAAKL,MAAMM,yBAIND,KAAKpB,MAAM4B,OACxB,CAEA,eAAIC,GACA,OAAIT,KAAKL,MAAMM,uBAAyBD,KAAKL,MAAMe,MACxCV,KAAKL,MAAMe,MAEfV,KAAKL,MAAMgB,IACtB,CAEA,kBAAIC,GACA,OAAOZ,KAAKL,MAAMM,sBAAwBD,KAAKL,MAAMgB,KAAO,EAChE,CAEAE,MAAAA,GAEI,OAAIb,KAAKL,MAAMM,sBAEPa,EAACC,EAAAA,CAAaC,KAAMhB,KAAKL,MAAMqB,KAAMC,eAAgBjB,KAAKL,MAAMsB,eAAgBC,UAAWlB,KAAKkB,WAC3FlB,KAAKL,MAAMwB,eACRL,EAACM,EAAAA,EAAAA,EAAAA,CAAAA,EACOpB,KAAKL,OAAK,CACd0B,mBAAoB,CAAC,cACrBC,OAAQtB,KAAKL,MAAM2B,OACnBZ,MAAOa,EAAevB,KAAKL,MAAMqB,KAAMhB,KAAKL,MAAM2B,QAClDE,QAASxB,KAAKyB,WAO9BzB,KAAKL,MAAM+B,YAEPZ,EAACC,EAAAA,CAAaC,KAAMhB,KAAKL,MAAMqB,KAAMC,eAAgBjB,KAAKL,MAAMsB,eAAgBC,UAAWlB,KAAKkB,WAC5FJ,EAACa,EAAAA,CAAgBC,QAAS5B,KAAKL,MAAMkC,QAAQD,SACzCd,EAACgB,EAAAA,CACGR,OAAQtB,KAAKL,MAAM2B,OACnBS,YAAY,EACZC,aAAcC,EACdC,UAAWlC,KAAKL,MAAMuC,UACtBR,YAAa1B,KAAKL,MAAM+B,YACxBS,QAASnC,KAAKL,MAAMwC,QACpBC,WAAYpC,KAAKoC,WACjBC,UAAWrC,KAAKsC,KAChBnC,KAAMH,KAAKuC,YAAY,KACvBC,YAAaxC,KAAKL,MAAMqB,KAAKyB,IAAI,wBACjCC,UAAW1C,KAAKL,MAAMqB,KAAKyB,IAAI,mCAC/BE,mBAAoBjE,EACpBkE,aAAclE,EACdmE,iBAAkBnE,EAClBoE,gBAAiB9C,KAAK8C,gBACtBC,QAAS,MACH/C,KAAKL,MAAMqD,SACTlC,EAACmC,EAAAA,CAAeD,QAAShD,KAAKL,MAAMqD,QAASE,MAAOlD,KAAKL,MAAMuD,MAAOC,aAAcnD,KAAKL,MAAM2B,OAAO8B,eAU9HtC,EAACC,EAAAA,CAAaC,KAAMhB,KAAKL,MAAMqB,KAAMC,eAAgBjB,KAAKL,MAAMsB,eAAgBC,UAAWlB,KAAKkB,WAC5FJ,EAACuC,EAAAA,CACGvD,KAAME,KAAKL,MAAMG,KACjBwD,aAActD,KAAKL,MAAM2D,aACzBC,gBAAiBvD,KAAKuD,gBACtBC,SAAUxD,KAAKyD,SACfC,UAAW1D,KAAK0D,UAChBvC,cAAenB,KAAKL,MAAMwB,gBAI1C,EAzHAwC,EADSnE,EACcW,OAAOyD,EAAWC,OAEzCF,EAHSnE,EAGQsE,eAAe,CAC5BR,aAAc,CAAA"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import e from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import o from"./components/PixInput/PixInput.js";import{cleanCPFCNPJ as n}from"../internal/SocialSecurityNumberBrazil/utils.js";import{TxVariants as s}from"../tx-variants.js";import"../../external/preact/hooks/dist/hooks.js";import"../../core/Errors/AdyenCheckoutError.js";import"../../core/Errors/SRPanelContext.js";import"../internal/Button/Button.js";import i from"../internal/QRLoader/QRLoader.js";import"../internal/QRLoader/QRLoaderDetailsProvider.js";import a from"../../core/Errors/SRPanelProvider.js";import p from"./components/PixQRDetails.js";function c(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){c(t,e,r[e])})}return t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class m extends e{get isValid(){return!!this.state.isValid}formatProps(t){return l({copyBtn:!0,introduction:"pix.instructions"},super.formatProps(t))}formatData(){const{data:t={}}=this.state,{firstName:e,lastName:r,socialSecurityNumber:o=""}=t;return l({paymentMethod:{type:this.props.type||this.constructor.type}},e&&r&&{shopperName:{firstName:e,lastName:r}},o&&{socialSecurityNumber:n(o)})}renderQRCode(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(a,{srPanel:this.props.modules.srPanel},t(i,u(l({ref:t=>{this.componentRef=t}},this.props),{type:this.constructor.type,brandLogo:this.props.brandLogo||this.icon,onComplete:this.onComplete,onActionHandled:this.onActionHandled,brandName:this.displayName,onSubmitAnalytics:this.submitAnalytics}),t(p,null))))}render(){return this.props.paymentData?this.renderQRCode():t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,u(l({ref:t=>{this.componentRef=t}},this.props),{showPayButton:this.props.showPayButton,personalDetailsRequired:this.props.personalDetailsRequired,name:this.displayName,onChange:this.setState,payButton:this.payButton})))}}c(m,"type",s.pix),c(m,"defaultProps",l({personalDetailsRequired:!1,countdownTime:15,delay:2e3},e.defaultProps));export{m as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import e from"../helpers/QRLoaderContainer/QRLoaderContainer.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import o from"./components/PixInput/PixInput.js";import{cleanCPFCNPJ as s}from"../internal/SocialSecurityNumberBrazil/utils.js";import{TxVariants as n}from"../tx-variants.js";import"../../external/preact/hooks/dist/hooks.js";import"../../core/Errors/AdyenCheckoutError.js";import"../../core/Errors/SRPanelContext.js";import"../internal/Button/Button.js";import i from"../internal/QRLoader/QRLoader.js";import"../internal/QRLoader/QRLoaderDetailsProvider.js";import a from"../../core/Errors/SRPanelProvider.js";import p from"./components/PixQRDetails.js";function c(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){c(t,e,r[e])})}return t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class m extends e{get isValid(){return!!this.state.isValid}formatProps(t){return l({copyBtn:!0,introduction:"pix.instructions"},super.formatProps(t))}formatData(){const{data:t={}}=this.state,{firstName:e,lastName:r,socialSecurityNumber:o=""}=t;return l({paymentMethod:{type:this.props.type||this.constructor.type}},e&&r&&{shopperName:{firstName:e,lastName:r}},o&&{socialSecurityNumber:s(o)})}renderQRCode(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(a,{srPanel:this.props.modules.srPanel},t(i,u(l({},this.props),{type:this.constructor.type,brandLogo:this.props.brandLogo||this.icon,onComplete:this.onComplete,onActionHandled:this.onActionHandled,brandName:this.displayName,onSubmitAnalytics:this.submitAnalytics}),t(p,null))))}render(){return this.props.paymentData?this.renderQRCode():t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,u(l({ref:t=>{this.componentRef=t}},this.props),{showPayButton:this.props.showPayButton,personalDetailsRequired:this.props.personalDetailsRequired,name:this.displayName,onChange:this.setState,payButton:this.payButton})))}}c(m,"type",n.pix),c(m,"defaultProps",l({personalDetailsRequired:!1,countdownTime:15,delay:2e3},e.defaultProps));export{m as default};
2
2
  //# sourceMappingURL=Pix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pix.js","sources":["../../../../src/components/Pix/Pix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PixInput from './components/PixInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport { PixElementData, PixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport QRLoader from '../internal/QRLoader';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport PixQRDetails from './components/PixQRDetails';\nimport './Pix.scss';\n\nclass PixElement extends QRLoaderContainer<PixConfiguration> {\n public static type = TxVariants.pix;\n\n public static defaultProps = {\n personalDetailsRequired: false,\n countdownTime: 15,\n delay: 2000,\n ...QRLoaderContainer.defaultProps\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n formatProps(props: PixConfiguration): PixConfiguration {\n return {\n copyBtn: true,\n introduction: 'pix.instructions',\n ...super.formatProps(props)\n };\n }\n\n formatData(): PixElementData {\n const { data = {} } = this.state;\n const { firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.props.type || this.constructor['type']\n },\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n renderQRCode() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <QRLoader\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n type={this.constructor['type']}\n brandLogo={this.props.brandLogo || this.icon}\n onComplete={this.onComplete}\n onActionHandled={this.onActionHandled}\n brandName={this.displayName}\n onSubmitAnalytics={this.submitAnalytics}\n >\n <PixQRDetails />\n </QRLoader>\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n render() {\n if (this.props.paymentData) {\n return this.renderQRCode();\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PixInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n showPayButton={this.props.showPayButton}\n personalDetailsRequired={this.props.personalDetailsRequired}\n name={this.displayName}\n onChange={this.setState}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PixElement;\n"],"names":["PixElement","QRLoaderContainer","isValid","this","state","formatProps","props","_object_spread","copyBtn","introduction","super","formatData","data","firstName","lastName","socialSecurityNumber","paymentMethod","type","constructor","shopperName","cleanCPFCNPJ","renderQRCode","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","QRLoader","ref","componentRef","brandLogo","icon","onComplete","onActionHandled","brandName","displayName","onSubmitAnalytics","submitAnalytics","PixQRDetails","render","paymentData","PixInput","showPayButton","personalDetailsRequired","name","onChange","setState","payButton","_define_property","TxVariants","pix","defaultProps","countdownTime","delay"],"mappings":"2hDAYA,MAAMA,UAAmBC,EAUrB,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAEAG,WAAAA,CAAYC,GACR,OAAOC,EAAA,CACHC,SAAS,EACTC,aAAc,oBACXC,MAAML,YAAYC,GAE7B,CAEAK,UAAAA,GACI,MAAMC,KAAEA,EAAO,IAAOT,KAAKC,OACrBS,UAAEA,EAASC,SAAEA,EAAQC,qBAAEA,EAAuB,IAAOH,EAE3D,OAAOL,EAAA,CACHS,cAAe,CACXC,KAAMd,KAAKG,MAAMW,MAAQd,KAAKe,YAAY,OAE1CL,GAAaC,GAAY,CAAEK,YAAa,CAAEN,YAAWC,aACrDC,GAAwB,CAAEA,qBAAsBK,EAAaL,IAEzE,CAEAM,YAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKG,MAAMkB,KAAMC,eAAgBtB,KAAKG,MAAMmB,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASzB,KAAKG,MAAMuB,QAAQD,SACzCN,EAACQ,EAAAA,EAAAA,EAAAA,CACGC,IAAKA,IACD5B,KAAK6B,aAAeD,IAEpB5B,KAAKG,OAAK,CACdW,KAAMd,KAAKe,YAAY,KACvBe,UAAW9B,KAAKG,MAAM2B,WAAa9B,KAAK+B,KACxCC,WAAYhC,KAAKgC,WACjBC,gBAAiBjC,KAAKiC,gBACtBC,UAAWlC,KAAKmC,YAChBC,kBAAmBpC,KAAKqC,kBAExBlB,EAACmB,EAAAA,QAKrB,CAEAC,MAAAA,GACI,OAAIvC,KAAKG,MAAMqC,YACJxC,KAAKkB,eAIZC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKG,MAAMkB,KAAMC,eAAgBtB,KAAKG,MAAMmB,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACsB,EAAAA,EAAAA,EAAAA,CACGb,IAAKA,IACD5B,KAAK6B,aAAeD,IAEpB5B,KAAKG,OAAK,CACduC,cAAe1C,KAAKG,MAAMuC,cAC1BC,wBAAyB3C,KAAKG,MAAMwC,wBACpCC,KAAM5C,KAAKmC,YACXU,SAAU7C,KAAK8C,SACfC,UAAW/C,KAAK+C,aAIhC,EA7EAC,EADEnD,EACYiB,OAAOmC,EAAWC,KAEhCF,EAHEnD,EAGYsD,eAAe/C,EAAA,CACzBuC,yBAAyB,EACzBS,cAAe,GACfC,MAAO,KACJvD,EAAkBqD"}
1
+ {"version":3,"file":"Pix.js","sources":["../../../../src/components/Pix/Pix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport QRLoaderContainer from '../helpers/QRLoaderContainer/QRLoaderContainer';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PixInput from './components/PixInput';\nimport { cleanCPFCNPJ } from '../internal/SocialSecurityNumberBrazil/utils';\nimport { PixElementData, PixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport QRLoader from '../internal/QRLoader';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport PixQRDetails from './components/PixQRDetails';\nimport './Pix.scss';\n\nclass PixElement extends QRLoaderContainer<PixConfiguration> {\n public static type = TxVariants.pix;\n\n public static defaultProps = {\n personalDetailsRequired: false,\n countdownTime: 15,\n delay: 2000,\n ...QRLoaderContainer.defaultProps\n };\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n formatProps(props: PixConfiguration): PixConfiguration {\n return {\n copyBtn: true,\n introduction: 'pix.instructions',\n ...super.formatProps(props)\n };\n }\n\n formatData(): PixElementData {\n const { data = {} } = this.state;\n const { firstName, lastName, socialSecurityNumber = '' } = data;\n\n return {\n paymentMethod: {\n type: this.props.type || this.constructor['type']\n },\n ...(firstName && lastName && { shopperName: { firstName, lastName } }),\n ...(socialSecurityNumber && { socialSecurityNumber: cleanCPFCNPJ(socialSecurityNumber) })\n };\n }\n\n renderQRCode() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <QRLoader\n {...this.props}\n type={this.constructor['type']}\n brandLogo={this.props.brandLogo || this.icon}\n onComplete={this.onComplete}\n onActionHandled={this.onActionHandled}\n brandName={this.displayName}\n onSubmitAnalytics={this.submitAnalytics}\n >\n <PixQRDetails />\n </QRLoader>\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n render() {\n if (this.props.paymentData) {\n return this.renderQRCode();\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PixInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n showPayButton={this.props.showPayButton}\n personalDetailsRequired={this.props.personalDetailsRequired}\n name={this.displayName}\n onChange={this.setState}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PixElement;\n"],"names":["PixElement","QRLoaderContainer","isValid","this","state","formatProps","props","_object_spread","copyBtn","introduction","super","formatData","data","firstName","lastName","socialSecurityNumber","paymentMethod","type","constructor","shopperName","cleanCPFCNPJ","renderQRCode","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","QRLoader","brandLogo","icon","onComplete","onActionHandled","brandName","displayName","onSubmitAnalytics","submitAnalytics","PixQRDetails","render","paymentData","PixInput","ref","componentRef","showPayButton","personalDetailsRequired","name","onChange","setState","payButton","_define_property","TxVariants","pix","defaultProps","countdownTime","delay"],"mappings":"2hDAYA,MAAMA,UAAmBC,EAUrB,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAEAG,WAAAA,CAAYC,GACR,OAAOC,EAAA,CACHC,SAAS,EACTC,aAAc,oBACXC,MAAML,YAAYC,GAE7B,CAEAK,UAAAA,GACI,MAAMC,KAAEA,EAAO,IAAOT,KAAKC,OACrBS,UAAEA,EAASC,SAAEA,EAAQC,qBAAEA,EAAuB,IAAOH,EAE3D,OAAOL,EAAA,CACHS,cAAe,CACXC,KAAMd,KAAKG,MAAMW,MAAQd,KAAKe,YAAY,OAE1CL,GAAaC,GAAY,CAAEK,YAAa,CAAEN,YAAWC,aACrDC,GAAwB,CAAEA,qBAAsBK,EAAaL,IAEzE,CAEAM,YAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKG,MAAMkB,KAAMC,eAAgBtB,KAAKG,MAAMmB,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASzB,KAAKG,MAAMuB,QAAQD,SACzCN,EAACQ,EAAAA,EAAAA,EAAAA,GACO3B,KAAKG,OAAK,CACdW,KAAMd,KAAKe,YAAY,KACvBa,UAAW5B,KAAKG,MAAMyB,WAAa5B,KAAK6B,KACxCC,WAAY9B,KAAK8B,WACjBC,gBAAiB/B,KAAK+B,gBACtBC,UAAWhC,KAAKiC,YAChBC,kBAAmBlC,KAAKmC,kBAExBhB,EAACiB,EAAAA,QAKrB,CAEAC,MAAAA,GACI,OAAIrC,KAAKG,MAAMmC,YACJtC,KAAKkB,eAIZC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKG,MAAMkB,KAAMC,eAAgBtB,KAAKG,MAAMmB,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACoB,EAAAA,EAAAA,EAAAA,CACGC,IAAKA,IACDxC,KAAKyC,aAAeD,IAEpBxC,KAAKG,OAAK,CACduC,cAAe1C,KAAKG,MAAMuC,cAC1BC,wBAAyB3C,KAAKG,MAAMwC,wBACpCC,KAAM5C,KAAKiC,YACXY,SAAU7C,KAAK8C,SACfC,UAAW/C,KAAK+C,aAIhC,EA1EAC,EADEnD,EACYiB,OAAOmC,EAAWC,KAEhCF,EAHEnD,EAGYsD,eAAe/C,EAAA,CACzBuC,yBAAyB,EACzBS,cAAe,GACfC,MAAO,KACJvD,EAAkBqD"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import o from"../../internal/QRLoader/components/QRImage.js";import r from"../../internal/QRLoader/components/QRProgressbar.js";import a from"../../internal/QRLoader/components/QRCountdown.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import n from"../../internal/QRLoader/components/QRCodeCopyButton.js";import"../../internal/QRLoader/QRLoader.js";import{useQRLoaderDetails as i}from"../../internal/QRLoader/QRLoaderDetailsProvider.js";import d from"../../internal/FormFields/Field/Field.js";import l from"../../internal/FormFields/InputText.js";const m=()=>{const{i18n:m}=t(),{qrCodeData:p,qrCodeImage:c,percentage:s,timeToPay:_,onTick:L,countdownTime:Q,onQRCodeLoad:R,onTimeUp:u,handleCopy:x}=i();return e("div",{className:"adyen-checkout__qr-loader--pix__qr_details"},e(o,{src:c,onLoad:R}),e("div",{className:"adyen-checkout__qr-loader--pix__qr_details__timer"},e(r,{percentage:s}),e(a,{countdownTime:Q,timeToPay:_,onTick:L,onCompleted:u})),e(d,{name:"pix-code",useLabelElement:!1},e(l,{className:"adyen-checkout__qr-loader--pix__qr_details__code",value:p,readonly:!0,"aria-label":m.get("pix.code.label")})),e(n,{copyLabel:m.get("pix.code.copy.label"),copiedLabel:m.get("pix.code.copied.label"),handleCopy:x}))};export{m as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import o from"../../internal/QRLoader/components/QRImage.js";import r from"../../internal/QRLoader/components/QRProgressbar.js";import a from"../../internal/QRLoader/components/QRCountdown.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import n from"../../internal/QRLoader/components/QRCodeCopyButton.js";import"../../internal/QRLoader/QRLoader.js";import{useQRLoaderDetails as i}from"../../internal/QRLoader/QRLoaderDetailsProvider.js";import d from"../../internal/FormFields/Field/Field.js";import l from"../../internal/FormFields/InputText.js";const m=()=>{const{i18n:m}=t(),{qrCodeData:p,qrCodeImage:c,percentage:s,timeToPay:_,onTick:L,countdownTime:Q,onQRCodeLoad:R,onTimeUp:u,handleCopy:x}=i();return e("div",{className:"adyen-checkout__qr-loader--pix__qr_details"},e(o,{src:c,onLoad:R}),e("div",{className:"adyen-checkout__qr-loader--pix__qr_details__timer"},e(r,{percentage:s}),e(a,{countdownTime:Q,timeToPay:_,onTick:L,onCompleted:u})),e(d,{name:"pix-code",useLabelElement:!1},e(l,{className:"adyen-checkout__qr-loader--pix__qr_details__code",value:p,readonly:!0,"aria-label":m.get("pix.code.label")})),e(n,{text:p,copyLabel:m.get("pix.code.copy.label"),copiedLabel:m.get("pix.code.copied.label"),handleCopy:x}))};export{m as default};
2
2
  //# sourceMappingURL=PixQRDetails.js.map