WooCommerce PayPal Payments - Version 1.0.1

Version Description

  • Fix - PayPal Smart buttons don't load when using a production/live account and WP_Debug is turned on/true. #66
  • Fix - [Card Processing] SCA/Visa Verification form loads underneath the Checkout blockUI element. #63
  • Fix - Attempting to checkout without country selected results in unexpected error message. #67
  • Fix - Remove ability to change shipping address on PayPal from checkout page. #72
  • Fix - Amount value should be a string when send to the api. #76
  • Fix - "The value of a field does not conform to the expected format" error when using certain e-mail addresses. #56
  • Fix - HTML tags in Product description. #79
Download this release

Release Info

Developer woothemes
Plugin Icon 128x128 WooCommerce PayPal Payments
Version 1.0.1
Comparing to
See all releases

Code changes from version 1.0.0 to 1.0.1

Files changed (52) hide show
  1. changelog.txt +9 -0
  2. modules/ppcp-api-client/src/Endpoint/class-orderendpoint.php +9 -4
  3. modules/ppcp-api-client/src/Entity/class-amount.php +1 -1
  4. modules/ppcp-api-client/src/Entity/class-payer.php +10 -5
  5. modules/ppcp-api-client/src/Factory/class-itemfactory.php +2 -2
  6. modules/ppcp-api-client/src/Factory/class-payerfactory.php +4 -1
  7. modules/ppcp-api-client/src/Factory/class-purchaseunitfactory.php +2 -2
  8. modules/ppcp-button/assets/css/hosted-fields.css +1 -1
  9. modules/ppcp-button/assets/js/button.js +1 -1
  10. modules/ppcp-button/assets/js/button.js.map +1 -1
  11. modules/ppcp-button/resources/css/hosted-fields.scss +4 -0
  12. modules/ppcp-button/resources/js/modules/ErrorHandler.js +1 -1
  13. modules/ppcp-button/services.php +3 -1
  14. modules/ppcp-button/src/Assets/class-smartbutton.php +15 -2
  15. modules/ppcp-button/src/Endpoint/class-createorderendpoint.php +20 -6
  16. modules/ppcp-button/src/Endpoint/class-requestdata.php +10 -2
  17. readme.txt +11 -2
  18. src/README.md +0 -3
  19. vendor/autoload.php +1 -1
  20. vendor/composer/autoload_real.php +4 -4
  21. vendor/composer/autoload_static.php +4 -4
  22. vendor/dhii/containers/.idea/containers.iml +0 -52
  23. vendor/dhii/containers/.idea/modules.xml +0 -8
  24. vendor/dhii/containers/.idea/php-test-framework.xml +0 -14
  25. vendor/dhii/containers/.idea/php.xml +0 -160
  26. vendor/dhii/containers/.idea/remote-mappings.xml +0 -16
  27. vendor/dhii/containers/.idea/vcs.xml +0 -6
  28. vendor/dhii/data-container-interface/.idea/codeStyles/codeStyleConfig.xml +0 -5
  29. vendor/dhii/data-container-interface/.idea/data-container-interface.iml +0 -51
  30. vendor/dhii/data-container-interface/.idea/modules.xml +0 -8
  31. vendor/dhii/data-container-interface/.idea/php-test-framework.xml +0 -14
  32. vendor/dhii/data-container-interface/.idea/php.xml +0 -60
  33. vendor/dhii/data-container-interface/.idea/vcs.xml +0 -6
  34. vendor/dhii/exception-interface/.idea/exception-interface.iml +0 -49
  35. vendor/dhii/exception-interface/.idea/modules.xml +0 -8
  36. vendor/dhii/exception-interface/.idea/php-test-framework.xml +0 -14
  37. vendor/dhii/exception-interface/.idea/php.xml +0 -50
  38. vendor/dhii/exception-interface/.idea/vcs.xml +0 -6
  39. vendor/dhii/factory-interface/.idea/factory-interface.iml +0 -51
  40. vendor/dhii/factory-interface/.idea/modules.xml +0 -8
  41. vendor/dhii/factory-interface/.idea/php-test-framework.xml +0 -14
  42. vendor/dhii/factory-interface/.idea/php.xml +0 -52
  43. vendor/dhii/factory-interface/.idea/vcs.xml +0 -6
  44. vendor/dhii/module-interface/.idea/codeStyles/codeStyleConfig.xml +0 -5
  45. vendor/dhii/module-interface/.idea/module-interface.iml +0 -48
  46. vendor/dhii/module-interface/.idea/modules.xml +0 -8
  47. vendor/dhii/module-interface/.idea/php-test-framework.xml +0 -14
  48. vendor/dhii/module-interface/.idea/php.xml +0 -157
  49. vendor/dhii/module-interface/.idea/remote-mappings.xml +0 -16
  50. vendor/dhii/module-interface/.idea/vcs.xml +0 -6
  51. vendor/dhii/module-interface/.idea/workspace.xml +0 -14
  52. woocommerce-paypal-payments.php +1 -1
changelog.txt CHANGED
@@ -1,4 +1,13 @@
1
  *** Changelog ***
2
 
 
 
 
 
 
 
 
 
 
3
  = 1.0.0 - 2020-10-15 =
4
  * Initial release.
1
  *** Changelog ***
2
 
3
+ = 1.0.1 - 2020-11-05 =
4
+ * Fix - PayPal Smart buttons don't load when using a production/live account and `WP_Debug` is turned on/true. #66
5
+ * Fix - [Card Processing] SCA/Visa Verification form loads underneath the Checkout blockUI element. #63
6
+ * Fix - Attempting to checkout without country selected results in unexpected error message. #67
7
+ * Fix - Remove ability to change shipping address on PayPal from checkout page. #72
8
+ * Fix - Amount value should be a string when send to the api. #76
9
+ * Fix - "The value of a field does not conform to the expected format" error when using certain e-mail addresses. #56
10
+ * Fix - HTML tags in Product description. #79
11
+
12
  = 1.0.0 - 2020-10-15 =
13
  * Initial release.
modules/ppcp-api-client/src/Endpoint/class-orderendpoint.php CHANGED
@@ -154,6 +154,7 @@ class OrderEndpoint {
154
  * @param PaymentToken|null $payment_token The payment token.
155
  * @param PaymentMethod|null $payment_method The payment method.
156
  * @param string $paypal_request_id The paypal request id.
 
157
  *
158
  * @return Order
159
  * @throws RuntimeException If the request fails.
@@ -163,7 +164,8 @@ class OrderEndpoint {
163
  Payer $payer = null,
164
  PaymentToken $payment_token = null,
165
  PaymentMethod $payment_method = null,
166
- string $paypal_request_id = ''
 
167
  ): Order {
168
 
169
  $contains_physical_goods = false;
@@ -184,10 +186,13 @@ class OrderEndpoint {
184
  }
185
  );
186
  $shipping_preferences = $contains_physical_goods
187
- ? ApplicationContext::SHIPPING_PREFERENCE_GET_FROM_FILE
 
 
188
  : ApplicationContext::SHIPPING_PREFERENCE_NO_SHIPPING;
189
- $bearer = $this->bearer->bearer();
190
- $data = array(
 
191
  'intent' => $this->intent,
192
  'purchase_units' => array_map(
193
  static function ( PurchaseUnit $item ): array {
154
  * @param PaymentToken|null $payment_token The payment token.
155
  * @param PaymentMethod|null $payment_method The payment method.
156
  * @param string $paypal_request_id The paypal request id.
157
+ * @param bool $shipping_address_is_fixed Whether the shipping address is changeable or not.
158
  *
159
  * @return Order
160
  * @throws RuntimeException If the request fails.
164
  Payer $payer = null,
165
  PaymentToken $payment_token = null,
166
  PaymentMethod $payment_method = null,
167
+ string $paypal_request_id = '',
168
+ bool $shipping_address_is_fixed = false
169
  ): Order {
170
 
171
  $contains_physical_goods = false;
186
  }
187
  );
188
  $shipping_preferences = $contains_physical_goods
189
+ ? $shipping_address_is_fixed ?
190
+ ApplicationContext::SHIPPING_PREFERENCE_SET_PROVIDED_ADDRESS
191
+ : ApplicationContext::SHIPPING_PREFERENCE_GET_FROM_FILE
192
  : ApplicationContext::SHIPPING_PREFERENCE_NO_SHIPPING;
193
+
194
+ $bearer = $this->bearer->bearer();
195
+ $data = array(
196
  'intent' => $this->intent,
197
  'purchase_units' => array_map(
198
  static function ( PurchaseUnit $item ): array {
modules/ppcp-api-client/src/Entity/class-amount.php CHANGED
@@ -74,7 +74,7 @@ class Amount {
74
  public function to_array(): array {
75
  $amount = array(
76
  'currency_code' => $this->currency_code(),
77
- 'value' => $this->value(),
78
  );
79
  if ( $this->breakdown() && count( $this->breakdown()->to_array() ) ) {
80
  $amount['breakdown'] = $this->breakdown()->to_array();
74
  public function to_array(): array {
75
  $amount = array(
76
  'currency_code' => $this->currency_code(),
77
+ 'value' => number_format( $this->value(), 2 ),
78
  );
79
  if ( $this->breakdown() && count( $this->breakdown()->to_array() ) ) {
80
  $amount['breakdown'] = $this->breakdown()->to_array();
modules/ppcp-api-client/src/Entity/class-payer.php CHANGED
@@ -70,7 +70,7 @@ class Payer {
70
  * @param PayerName $name The name.
71
  * @param string $email_address The email.
72
  * @param string $payer_id The payer id.
73
- * @param Address $address The address.
74
  * @param \DateTime|null $birthdate The birth date.
75
  * @param PhoneWithType|null $phone The phone.
76
  * @param PayerTaxInfo|null $tax_info The tax info.
@@ -79,7 +79,7 @@ class Payer {
79
  PayerName $name,
80
  string $email_address,
81
  string $payer_id,
82
- Address $address,
83
  \DateTime $birthdate = null,
84
  PhoneWithType $phone = null,
85
  PayerTaxInfo $tax_info = null
@@ -133,9 +133,9 @@ class Payer {
133
  /**
134
  * Returns the address.
135
  *
136
- * @return Address
137
  */
138
- public function address(): Address {
139
  return $this->address;
140
  }
141
 
@@ -166,8 +166,13 @@ class Payer {
166
  $payer = array(
167
  'name' => $this->name()->to_array(),
168
  'email_address' => $this->email_address(),
169
- 'address' => $this->address()->to_array(),
170
  );
 
 
 
 
 
 
171
  if ( $this->payer_id() ) {
172
  $payer['payer_id'] = $this->payer_id();
173
  }
70
  * @param PayerName $name The name.
71
  * @param string $email_address The email.
72
  * @param string $payer_id The payer id.
73
+ * @param Address|null $address The address.
74
  * @param \DateTime|null $birthdate The birth date.
75
  * @param PhoneWithType|null $phone The phone.
76
  * @param PayerTaxInfo|null $tax_info The tax info.
79
  PayerName $name,
80
  string $email_address,
81
  string $payer_id,
82
+ Address $address = null,
83
  \DateTime $birthdate = null,
84
  PhoneWithType $phone = null,
85
  PayerTaxInfo $tax_info = null
133
  /**
134
  * Returns the address.
135
  *
136
+ * @return Address|null
137
  */
138
+ public function address() {
139
  return $this->address;
140
  }
141
 
166
  $payer = array(
167
  'name' => $this->name()->to_array(),
168
  'email_address' => $this->email_address(),
 
169
  );
170
+ if ( $this->address() ) {
171
+ $payer['address'] = $this->address->to_array();
172
+ if ( 2 !== strlen( $this->address()->country_code() ) ) {
173
+ unset( $payer['address'] );
174
+ }
175
+ }
176
  if ( $this->payer_id() ) {
177
  $payer['payer_id'] = $this->payer_id();
178
  }
modules/ppcp-api-client/src/Factory/class-itemfactory.php CHANGED
@@ -48,7 +48,7 @@ class ItemFactory {
48
  mb_substr( $product->get_name(), 0, 127 ),
49
  new Money( $price_without_tax_rounded, $currency ),
50
  $quantity,
51
- mb_substr( $product->get_description(), 0, 127 ),
52
  $tax,
53
  $product->get_sku(),
54
  ( $product->is_virtual() ) ? Item::DIGITAL_GOODS : Item::PHYSICAL_GOODS
@@ -102,7 +102,7 @@ class ItemFactory {
102
  mb_substr( $product->get_name(), 0, 127 ),
103
  new Money( $price_without_tax_rounded, $currency ),
104
  $quantity,
105
- mb_substr( $product->get_description(), 0, 127 ),
106
  $tax,
107
  $product->get_sku(),
108
  ( $product->is_virtual() ) ? Item::DIGITAL_GOODS : Item::PHYSICAL_GOODS
48
  mb_substr( $product->get_name(), 0, 127 ),
49
  new Money( $price_without_tax_rounded, $currency ),
50
  $quantity,
51
+ mb_substr( wp_strip_all_tags( $product->get_description() ), 0, 127 ),
52
  $tax,
53
  $product->get_sku(),
54
  ( $product->is_virtual() ) ? Item::DIGITAL_GOODS : Item::PHYSICAL_GOODS
102
  mb_substr( $product->get_name(), 0, 127 ),
103
  new Money( $price_without_tax_rounded, $currency ),
104
  $quantity,
105
+ mb_substr( wp_strip_all_tags( $product->get_description() ), 0, 127 ),
106
  $tax,
107
  $product->get_sku(),
108
  ( $product->is_virtual() ) ? Item::DIGITAL_GOODS : Item::PHYSICAL_GOODS
modules/ppcp-api-client/src/Factory/class-payerfactory.php CHANGED
@@ -116,7 +116,10 @@ class PayerFactory {
116
  * @return Payer
117
  */
118
  public function from_paypal_response( \stdClass $data ): Payer {
119
- $address = $this->address_factory->from_paypal_response( $data->address );
 
 
 
120
  $payer_name = new PayerName(
121
  isset( $data->name->given_name ) ? (string) $data->name->given_name : '',
122
  isset( $data->name->surname ) ? (string) $data->name->surname : ''
116
  * @return Payer
117
  */
118
  public function from_paypal_response( \stdClass $data ): Payer {
119
+ $address = null;
120
+ if ( isset( $data->address ) ) {
121
+ $address = $this->address_factory->from_paypal_response( $data->address );
122
+ }
123
  $payer_name = new PayerName(
124
  isset( $data->name->given_name ) ? (string) $data->name->given_name : '',
125
  isset( $data->name->surname ) ? (string) $data->name->surname : ''
modules/ppcp-api-client/src/Factory/class-purchaseunitfactory.php CHANGED
@@ -153,8 +153,8 @@ class PurchaseUnitFactory {
153
  if ( $this->shipping_needed( ... array_values( $items ) ) && is_a( $customer, \WC_Customer::class ) ) {
154
  $shipping = $this->shipping_factory->from_wc_customer( \WC()->customer );
155
  if (
156
- ! $shipping->address()->country_code()
157
- || ( $shipping->address()->country_code() && ! $shipping->address()->postal_code() )
158
  ) {
159
  $shipping = null;
160
  }
153
  if ( $this->shipping_needed( ... array_values( $items ) ) && is_a( $customer, \WC_Customer::class ) ) {
154
  $shipping = $this->shipping_factory->from_wc_customer( \WC()->customer );
155
  if (
156
+ 2 !== strlen( $shipping->address()->country_code() )
157
+ || ( ! $shipping->address()->postal_code() )
158
  ) {
159
  $shipping = null;
160
  }
modules/ppcp-button/assets/css/hosted-fields.css CHANGED
@@ -1 +1 @@
1
- #payment ul.payment_methods li img.ppcp-card-icon{padding:0 0 3px 3px;max-height:25px;display:inline-block}
1
+ #payment ul.payment_methods li img.ppcp-card-icon{padding:0 0 3px 3px;max-height:25px;display:inline-block}.payments-sdk-contingency-handler{z-index:1000 !important}
modules/ppcp-button/assets/js/button.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([,function(e,t,r){"use strict";r.r(t);var n=class{constructor(e){this.genericErrorText=e,this.wrapper=document.querySelector(".woocommerce-notices-wrapper")}genericError(){this.wrapper.classList.contains("ppcp-persist")||(this.clear(),this.message(this.genericErrorText))}message(e,t=!1){this.wrapper.classList.add("woocommerce-error"),t?this.wrapper.classList.add("ppcp-persist"):this.wrapper.classList.remove("ppcp-persist"),this.wrapper.innerText=this.sanitize(e),jQuery.scroll_to_notices(jQuery(".woocommerce-notices-wrapper"))}sanitize(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value.replace("Error: ","")}clear(){this.wrapper.classList.contains("woocommerce-error")&&(this.wrapper.classList.remove("woocommerce-error"),this.wrapper.innerText="")}};var a=(e,t)=>(r,n)=>fetch(e.config.ajax.approve_order.endpoint,{method:"POST",body:JSON.stringify({nonce:e.config.ajax.approve_order.nonce,order_id:r.orderID})}).then(e=>e.json()).then(r=>{if(!r.success)return t.genericError(),n.restart().catch(e=>{t.genericError()});location.href=e.config.redirect});const o=()=>{const e=PayPalCommerceGateway.payer;if(!e)return null;const t=document.querySelector("#billing_phone")||void 0!==e.phone?{phone_type:"HOME",phone_number:{national_number:document.querySelector("#billing_phone")?document.querySelector("#billing_phone").value:e.phone.phone_number.national_number}}:null,r={email_address:document.querySelector("#billing_email")?document.querySelector("#billing_email").value:e.email_address,name:{surname:document.querySelector("#billing_last_name")?document.querySelector("#billing_last_name").value:e.name.surname,given_name:document.querySelector("#billing_first_name")?document.querySelector("#billing_first_name").value:e.name.given_name},address:{country_code:document.querySelector("#billing_country")?document.querySelector("#billing_country").value:e.address.country_code,address_line_1:document.querySelector("#billing_address_1")?document.querySelector("#billing_address_1").value:e.address.address_line_1,address_line_2:document.querySelector("#billing_address_2")?document.querySelector("#billing_address_2").value:e.address.address_line_2,admin_area_1:document.querySelector("#billing_state")?document.querySelector("#billing_state").value:e.address.admin_area_1,admin_area_2:document.querySelector("#billing_city")?document.querySelector("#billing_city").value:e.address.admin_area_2,postal_code:document.querySelector("#billing_postcode")?document.querySelector("#billing_postcode").value:e.address.postal_code}};return t&&(r.phone=t),r};var s=class{constructor(e,t){this.config=e,this.errorHandler=t}configuration(){return{createOrder:(e,t)=>{const r=o(),n=void 0!==this.config.bn_codes[this.config.context]?this.config.bn_codes[this.config.context]:"";return fetch(this.config.ajax.create_order.endpoint,{method:"POST",body:JSON.stringify({nonce:this.config.ajax.create_order.nonce,purchase_units:[],bn_code:n,payer:r,context:this.config.context})}).then((function(e){return e.json()})).then((function(e){if(!e.success)throw console.error(e),Error(e.data.message);return e.data.id}))},onApprove:a(this,this.errorHandler),onError:e=>{this.errorHandler.genericError()}}}};var i=class{constructor(e,t){this.gateway=e,this.renderer=t,this.actionHandler=null}init(){this.actionHandler=new s(PayPalCommerceGateway,new n(this.gateway.labels.error.generic)),this.render(),jQuery(document.body).on("wc_fragments_loaded wc_fragments_refreshed",()=>{this.render()})}shouldRender(){return null!==document.querySelector(this.gateway.button.mini_cart_wrapper)||null!==document.querySelector(this.gateway.hosted_fields.mini_cart_wrapper)}render(){this.shouldRender()&&this.renderer.render(this.gateway.button.mini_cart_wrapper,this.gateway.hosted_fields.mini_cart_wrapper,this.actionHandler.configuration())}};var c=class{constructor(e,t,r){this.id=e,this.quantity=t,this.variations=r}data(){return{id:this.id,quantity:this.quantity,variations:this.variations}}};var d=class{constructor(e,t){this.endpoint=e,this.nonce=t}update(e,t){return new Promise((r,n)=>{fetch(this.endpoint,{method:"POST",body:JSON.stringify({nonce:this.nonce,products:t})}).then(e=>e.json()).then(t=>{if(!t.success)return void n(t.data);const a=e(t.data);r(a)})})}};var u=class{constructor(e,t,r){this.element=e,this.showCallback=t,this.hideCallback=r,this.observer=null}init(){const e=()=>{this.element.classList.contains("disabled")?this.hideCallback():this.showCallback()};this.observer=new MutationObserver(e),this.observer.observe(this.element,{attributes:!0}),e()}disconnect(){this.observer.disconnect()}};var l=class{constructor(e,t,r,n,a,o){this.config=e,this.updateCart=t,this.showButtonCallback=r,this.hideButtonCallback=n,this.formElement=a,this.errorHandler=o}configuration(){if(this.hasVariations()){new u(this.formElement.querySelector(".single_add_to_cart_button"),this.showButtonCallback,this.hideButtonCallback).init()}return{createOrder:this.createOrder(),onApprove:a(this,this.errorHandler),onError:e=>{this.errorHandler.genericError()}}}createOrder(){var e=null;e=this.isGroupedProduct()?()=>{const e=[];return this.formElement.querySelectorAll('input[type="number"]').forEach(t=>{if(!t.value)return;const r=t.getAttribute("name").match(/quantity\[([\d]*)\]/);if(2!==r.length)return;const n=parseInt(r[1]),a=parseInt(t.value);e.push(new c(n,a,null))}),e}:()=>{const e=document.querySelector('[name="add-to-cart"]').value,t=document.querySelector('[name="quantity"]').value,r=this.variations();return[new c(e,t,r)]};return(t,r)=>{this.errorHandler.clear();return this.updateCart.update(e=>{const t=o(),r=void 0!==this.config.bn_codes[this.config.context]?this.config.bn_codes[this.config.context]:"";return fetch(this.config.ajax.create_order.endpoint,{method:"POST",body:JSON.stringify({nonce:this.config.ajax.create_order.nonce,purchase_units:e,payer:t,bn_code:r,context:this.config.context})}).then((function(e){return e.json()})).then((function(e){if(!e.success)throw console.error(e),Error(e.data.message);return e.data.id}))},e())}}variations(){if(!this.hasVariations())return null;return[...this.formElement.querySelectorAll("[name^='attribute_']")].map(e=>({value:e.value,name:e.name}))}hasVariations(){return this.formElement.classList.contains("variations_form")}isGroupedProduct(){return this.formElement.classList.contains("grouped_form")}};var h=class{constructor(e,t,r){this.gateway=e,this.renderer=t,this.messages=r}init(){this.shouldRender()?this.render():this.renderer.hideButtons(this.gateway.hosted_fields.wrapper)}shouldRender(){return null!==document.querySelector("form.cart")}render(){const e=new l(this.gateway,new d(this.gateway.ajax.change_cart.endpoint,this.gateway.ajax.change_cart.nonce),()=>{this.renderer.showButtons(this.gateway.button.wrapper),this.renderer.showButtons(this.gateway.hosted_fields.wrapper);let e="0";document.querySelector("form.cart ins .woocommerce-Price-amount")?e=document.querySelector("form.cart ins .woocommerce-Price-amount").innerText:document.querySelector("form.cart .woocommerce-Price-amount")&&(e=document.querySelector("form.cart .woocommerce-Price-amount").innerText);const t=parseInt(e.replace(/([^\d,\.\s]*)/g,""));this.messages.renderWithAmount(t)},()=>{this.renderer.hideButtons(this.gateway.button.wrapper),this.renderer.hideButtons(this.gateway.hosted_fields.wrapper)},document.querySelector("form.cart"),new n(this.gateway.labels.error.generic));this.renderer.render(this.gateway.button.wrapper,this.gateway.hosted_fields.wrapper,e.configuration())}};var p=class{constructor(e,t){this.gateway=e,this.renderer=t}init(){this.shouldRender()&&(this.render(),jQuery(document.body).on("updated_cart_totals updated_checkout",()=>{this.render()}))}shouldRender(){return null!==document.querySelector(this.gateway.button.wrapper)||null!==document.querySelector(this.gateway.hosted_fields.wrapper)}render(){const e=new s(PayPalCommerceGateway,new n(this.gateway.labels.error.generic));this.renderer.render(this.gateway.button.wrapper,this.gateway.hosted_fields.wrapper,e.configuration())}};var y=(e,t,r)=>(n,a)=>(r.block(),fetch(e.config.ajax.approve_order.endpoint,{method:"POST",body:JSON.stringify({nonce:e.config.ajax.approve_order.nonce,order_id:n.orderID})}).then(e=>e.json()).then(e=>{if(r.unblock(),!e.success){if(100===e.data.code?t.message(e.data.message):t.genericError(),void 0!==a&&void 0!==a.restart)return a.restart();throw new Error(e.data.message)}document.querySelector("#place_order").click()}));var m=class{constructor(e,t,r){this.config=e,this.errorHandler=t,this.spinner=r}configuration(){const e=this.spinner;return{createOrder:(t,r)=>{const n=o(),a=void 0!==this.config.bn_codes[this.config.context]?this.config.bn_codes[this.config.context]:"",s=this.errorHandler,i="checkout"===this.config.context?"form.checkout":"form#order_review",c=jQuery(i).serialize();return fetch(this.config.ajax.create_order.endpoint,{method:"POST",body:JSON.stringify({nonce:this.config.ajax.create_order.nonce,payer:n,bn_code:a,context:this.config.context,order_id:this.config.order_id,form:c})}).then((function(e){return e.json()})).then((function(t){if(!t.success)return e.unblock(),void s.message(t.data.message,!0);const r=document.createElement("input");return r.setAttribute("type","hidden"),r.setAttribute("name","ppcp-resume-order"),r.setAttribute("value",t.data.purchase_units[0].custom_id),document.querySelector(i).append(r),t.data.id}))},onApprove:y(this,this.errorHandler,this.spinner),onError:e=>{this.errorHandler.genericError()}}}};var g=class{constructor(e,t,r,n){this.gateway=e,this.renderer=t,this.messages=r,this.spinner=n}init(){this.render(),jQuery(document.body).on("updated_checkout",()=>{this.render()}),jQuery(document.body).on("updated_checkout payment_method_selected",()=>{this.switchBetweenPayPalandOrderButton()}),this.switchBetweenPayPalandOrderButton()}shouldRender(){return!document.querySelector(this.gateway.button.cancel_wrapper)&&(null!==document.querySelector(this.gateway.button.wrapper)||null!==document.querySelector(this.gateway.hosted_fields.wrapper))}render(){if(!this.shouldRender())return;document.querySelector(this.gateway.hosted_fields.wrapper+">div")&&document.querySelector(this.gateway.hosted_fields.wrapper+">div").setAttribute("style","");const e=new m(PayPalCommerceGateway,new n(this.gateway.labels.error.generic),this.spinner);this.renderer.render(this.gateway.button.wrapper,this.gateway.hosted_fields.wrapper,e.configuration())}switchBetweenPayPalandOrderButton(){const e=jQuery('input[name="payment_method"]:checked').val();"ppcp-gateway"!==e&&"ppcp-credit-card-gateway"!==e?(this.renderer.hideButtons(this.gateway.button.wrapper),this.renderer.hideButtons(this.gateway.messages.wrapper),this.renderer.hideButtons(this.gateway.hosted_fields.wrapper),jQuery("#place_order").show()):(jQuery("#place_order").hide(),"ppcp-gateway"===e&&(this.renderer.showButtons(this.gateway.button.wrapper),this.renderer.showButtons(this.gateway.messages.wrapper),this.messages.render(),this.renderer.hideButtons(this.gateway.hosted_fields.wrapper)),"ppcp-credit-card-gateway"===e&&(this.renderer.hideButtons(this.gateway.button.wrapper),this.renderer.hideButtons(this.gateway.messages.wrapper),this.renderer.showButtons(this.gateway.hosted_fields.wrapper)))}};var w=class{constructor(e,t,r){this.gateway=e,this.renderer=t,this.messages=r}init(){this.render(),jQuery(document.body).on("updated_checkout",()=>{this.render()}),jQuery(document.body).on("updated_checkout payment_method_selected",()=>{this.switchBetweenPayPalandOrderButton()}),this.switchBetweenPayPalandOrderButton()}shouldRender(){return!document.querySelector(this.gateway.button.cancel_wrapper)&&(null!==document.querySelector(this.gateway.button.wrapper)||null!==document.querySelector(this.gateway.hosted_fields.wrapper))}render(){if(!this.shouldRender())return;document.querySelector(this.gateway.hosted_fields.wrapper+">div")&&document.querySelector(this.gateway.hosted_fields.wrapper+">div").setAttribute("style","");const e=new m(PayPalCommerceGateway,new n(this.gateway.labels.error.generic));this.renderer.render(this.gateway.button.wrapper,this.gateway.hosted_fields.wrapper,e.configuration())}switchBetweenPayPalandOrderButton(){const e=jQuery('input[name="payment_method"]:checked').val();"ppcp-gateway"!==e&&"ppcp-credit-card-gateway"!==e?(this.renderer.hideButtons(this.gateway.button.wrapper),this.renderer.hideButtons(this.gateway.messages.wrapper),this.renderer.hideButtons(this.gateway.hosted_fields.wrapper),jQuery("#place_order").show()):(jQuery("#place_order").hide(),"ppcp-gateway"===e&&(this.renderer.showButtons(this.gateway.button.wrapper),this.renderer.showButtons(this.gateway.messages.wrapper),this.messages.render(),this.renderer.hideButtons(this.gateway.hosted_fields.wrapper)),"ppcp-credit-card-gateway"===e&&(this.renderer.hideButtons(this.gateway.button.wrapper),this.renderer.hideButtons(this.gateway.messages.wrapper),this.renderer.showButtons(this.gateway.hosted_fields.wrapper)))}};var f=class{constructor(e,t){this.defaultConfig=t,this.creditCardRenderer=e}render(e,t,r){this.renderButtons(e,r),this.creditCardRenderer.render(t,r)}renderButtons(e,t){if(!document.querySelector(e)||this.isAlreadyRendered(e)||void 0===paypal.Buttons)return;const r=e===this.defaultConfig.button.wrapper?this.defaultConfig.button.style:this.defaultConfig.button.mini_cart_style;paypal.Buttons({style:r,...t}).render(e)}isAlreadyRendered(e){return document.querySelector(e).hasChildNodes()}hideButtons(e){const t=document.querySelector(e);return!!t&&(t.style.display="none",!0)}showButtons(e){const t=document.querySelector(e);return!!t&&(t.style.display="block",!0)}};var _=e=>{const t=window.getComputedStyle(e),r=document.createElement("span");return r.setAttribute("id",e.id),Object.values(t).forEach(e=>{t[e]&&isNaN(e)&&r.style.setProperty(e,""+t[e])}),r};var b=class{constructor(e,t,r){this.defaultConfig=e,this.errorHandler=t,this.spinner=r,this.cardValid=!1}render(e,t){if("checkout"!==this.defaultConfig.context&&"pay-now"!==this.defaultConfig.context||null===e||null===document.querySelector(e))return;if(void 0===paypal.HostedFields||!paypal.HostedFields.isEligible()){const t=document.querySelector(e);return void t.parentNode.removeChild(t)}const r=document.querySelector(".payment_box.payment_method_ppcp-credit-card-gateway"),n=r.style.display;r.style.display="block";const a=document.querySelector("#ppcp-hide-dcc");a&&a.parentNode.removeChild(a);const o=document.querySelector("#ppcp-credit-card-gateway-card-number"),s=window.getComputedStyle(o);let i={};Object.values(s).forEach(e=>{s[e]&&(i[e]=""+s[e])});const c=_(o);o.parentNode.replaceChild(c,o);const d=document.querySelector("#ppcp-credit-card-gateway-card-expiry"),u=_(d);d.parentNode.replaceChild(u,d);const l=document.querySelector("#ppcp-credit-card-gateway-card-cvc"),h=_(l);l.parentNode.replaceChild(h,l),r.style.display=n;const p=".payment_box payment_method_ppcp-credit-card-gateway";this.defaultConfig.enforce_vault&&document.querySelector(p+" .ppcp-credit-card-vault")&&(document.querySelector(p+" .ppcp-credit-card-vault").checked=!0,document.querySelector(p+" .ppcp-credit-card-vault").setAttribute("disabled",!0)),paypal.HostedFields.render({createOrder:t.createOrder,styles:{input:i},fields:{number:{selector:"#ppcp-credit-card-gateway-card-number",placeholder:this.defaultConfig.hosted_fields.labels.credit_card_number},cvv:{selector:"#ppcp-credit-card-gateway-card-cvc",placeholder:this.defaultConfig.hosted_fields.labels.cvv},expirationDate:{selector:"#ppcp-credit-card-gateway-card-expiry",placeholder:this.defaultConfig.hosted_fields.labels.mm_yyyy}}}).then(r=>{const n=n=>{this.spinner.block(),n&&n.preventDefault(),this.errorHandler.clear();const a=r.getState();if(Object.keys(a.fields).every((function(e){return a.fields[e].isValid}))&&this.cardValid){let n=!!document.querySelector(e+" .ppcp-credit-card-vault")&&document.querySelector(e+" .ppcp-credit-card-vault").checked;n=this.defaultConfig.enforce_vault||n,r.submit({contingencies:["3D_SECURE"],vault:n}).then(e=>(e.orderID=e.orderId,this.spinner.unblock(),t.onApprove(e)))}else{this.spinner.unblock();const e=this.cardValid?this.defaultConfig.hosted_fields.labels.fields_not_valid:this.defaultConfig.hosted_fields.labels.card_not_supported;this.errorHandler.message(e)}};r.on("inputSubmitRequest",(function(){n(null)})),r.on("cardTypeChange",e=>{if(!e.cards.length)return void(this.cardValid=!1);const t=this.defaultConfig.hosted_fields.valid_cards;this.cardValid=-1!==t.indexOf(e.cards[0].type)}),document.querySelector(e+" button").addEventListener("click",n)}),document.querySelector("#payment_method_ppcp-credit-card-gateway").addEventListener("click",()=>{document.querySelector("label[for=ppcp-credit-card-gateway-card-number]").click()})}};const v=(e,t)=>{if(!e)return!1;if(e.user!==t)return!1;return!((new Date).getTime()>=1e3*e.expiration)};var S=(e,t)=>{const r=(e=>{const t=JSON.parse(sessionStorage.getItem("ppcp-data-client-id"));return v(t,e)?t.token:null})(t.user);if(r)return e.setAttribute("data-client-token",r),void document.body.append(e);fetch(t.endpoint,{method:"POST",body:JSON.stringify({nonce:t.nonce})}).then(e=>e.json()).then(r=>{v(r,t.user)&&((e=>{sessionStorage.setItem("ppcp-data-client-id",JSON.stringify(e))})(r),e.setAttribute("data-client-token",r.token),document.body.append(e))})};var q=class{constructor(e){this.config=e}render(){this.shouldRender()&&paypal.Messages({amount:this.config.amount,placement:this.config.placement,style:this.config.style}).render(this.config.wrapper)}renderWithAmount(e){if(!this.shouldRender())return;const t=document.createElement("div");t.setAttribute("id",this.config.wrapper.replace("#",""));const r=document.querySelector(this.config.wrapper).nextSibling;document.querySelector(this.config.wrapper).parentElement.removeChild(document.querySelector(this.config.wrapper)),r.parentElement.insertBefore(t,r),paypal.Messages({amount:e,placement:this.config.placement,style:this.config.style}).render(this.config.wrapper)}shouldRender(){return void 0!==paypal.Messages&&void 0!==this.config.wrapper&&!!document.querySelector(this.config.wrapper)}};var P=class{constructor(){this.target="form.woocommerce-checkout"}block(){jQuery(this.target).block({message:null,overlayCSS:{background:"#fff",opacity:.6}})}unblock(){jQuery(this.target).unblock()}};document.addEventListener("DOMContentLoaded",()=>{const e=document.createElement("script");e.addEventListener("load",e=>{(()=>{const e=new n(PayPalCommerceGateway.labels.error.generic),t=new P,r=new b(PayPalCommerceGateway,e,t),a=new f(r,PayPalCommerceGateway),o=new q(PayPalCommerceGateway.messages),s=PayPalCommerceGateway.context;if("mini-cart"===s||"product"===s){new i(PayPalCommerceGateway,a).init()}if("product"===s){new h(PayPalCommerceGateway,a,o).init()}if("cart"===s){new p(PayPalCommerceGateway,a).init()}if("checkout"===s){new g(PayPalCommerceGateway,a,o,t).init()}if("pay-now"===s){new w(PayPalCommerceGateway,a,o).init()}"checkout"!==s&&o.render()})()}),e.setAttribute("src",PayPalCommerceGateway.button.url),Object.entries(PayPalCommerceGateway.script_attributes).forEach(t=>{e.setAttribute(t[0],t[1])}),PayPalCommerceGateway.data_client_id.set_attribute?S(e,PayPalCommerceGateway.data_client_id):document.body.append(e)})}]);
2
  //# sourceMappingURL=button.js.map
1
+ !function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([,function(e,t,r){"use strict";r.r(t);var n=class{constructor(e){this.genericErrorText=e,this.wrapper=document.querySelector(".woocommerce-notices-wrapper")}genericError(){this.wrapper.classList.contains("ppcp-persist")||(this.clear(),this.message(this.genericErrorText))}message(e,t=!1){this.wrapper.classList.add("woocommerce-error"),t?this.wrapper.classList.add("ppcp-persist"):this.wrapper.classList.remove("ppcp-persist"),this.wrapper.innerHTML=this.sanitize(e),jQuery.scroll_to_notices(jQuery(".woocommerce-notices-wrapper"))}sanitize(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value.replace("Error: ","")}clear(){this.wrapper.classList.contains("woocommerce-error")&&(this.wrapper.classList.remove("woocommerce-error"),this.wrapper.innerText="")}};var a=(e,t)=>(r,n)=>fetch(e.config.ajax.approve_order.endpoint,{method:"POST",body:JSON.stringify({nonce:e.config.ajax.approve_order.nonce,order_id:r.orderID})}).then(e=>e.json()).then(r=>{if(!r.success)return t.genericError(),n.restart().catch(e=>{t.genericError()});location.href=e.config.redirect});const o=()=>{const e=PayPalCommerceGateway.payer;if(!e)return null;const t=document.querySelector("#billing_phone")||void 0!==e.phone?{phone_type:"HOME",phone_number:{national_number:document.querySelector("#billing_phone")?document.querySelector("#billing_phone").value:e.phone.phone_number.national_number}}:null,r={email_address:document.querySelector("#billing_email")?document.querySelector("#billing_email").value:e.email_address,name:{surname:document.querySelector("#billing_last_name")?document.querySelector("#billing_last_name").value:e.name.surname,given_name:document.querySelector("#billing_first_name")?document.querySelector("#billing_first_name").value:e.name.given_name},address:{country_code:document.querySelector("#billing_country")?document.querySelector("#billing_country").value:e.address.country_code,address_line_1:document.querySelector("#billing_address_1")?document.querySelector("#billing_address_1").value:e.address.address_line_1,address_line_2:document.querySelector("#billing_address_2")?document.querySelector("#billing_address_2").value:e.address.address_line_2,admin_area_1:document.querySelector("#billing_state")?document.querySelector("#billing_state").value:e.address.admin_area_1,admin_area_2:document.querySelector("#billing_city")?document.querySelector("#billing_city").value:e.address.admin_area_2,postal_code:document.querySelector("#billing_postcode")?document.querySelector("#billing_postcode").value:e.address.postal_code}};return t&&(r.phone=t),r};var s=class{constructor(e,t){this.config=e,this.errorHandler=t}configuration(){return{createOrder:(e,t)=>{const r=o(),n=void 0!==this.config.bn_codes[this.config.context]?this.config.bn_codes[this.config.context]:"";return fetch(this.config.ajax.create_order.endpoint,{method:"POST",body:JSON.stringify({nonce:this.config.ajax.create_order.nonce,purchase_units:[],bn_code:n,payer:r,context:this.config.context})}).then((function(e){return e.json()})).then((function(e){if(!e.success)throw console.error(e),Error(e.data.message);return e.data.id}))},onApprove:a(this,this.errorHandler),onError:e=>{this.errorHandler.genericError()}}}};var i=class{constructor(e,t){this.gateway=e,this.renderer=t,this.actionHandler=null}init(){this.actionHandler=new s(PayPalCommerceGateway,new n(this.gateway.labels.error.generic)),this.render(),jQuery(document.body).on("wc_fragments_loaded wc_fragments_refreshed",()=>{this.render()})}shouldRender(){return null!==document.querySelector(this.gateway.button.mini_cart_wrapper)||null!==document.querySelector(this.gateway.hosted_fields.mini_cart_wrapper)}render(){this.shouldRender()&&this.renderer.render(this.gateway.button.mini_cart_wrapper,this.gateway.hosted_fields.mini_cart_wrapper,this.actionHandler.configuration())}};var c=class{constructor(e,t,r){this.id=e,this.quantity=t,this.variations=r}data(){return{id:this.id,quantity:this.quantity,variations:this.variations}}};var d=class{constructor(e,t){this.endpoint=e,this.nonce=t}update(e,t){return new Promise((r,n)=>{fetch(this.endpoint,{method:"POST",body:JSON.stringify({nonce:this.nonce,products:t})}).then(e=>e.json()).then(t=>{if(!t.success)return void n(t.data);const a=e(t.data);r(a)})})}};var u=class{constructor(e,t,r){this.element=e,this.showCallback=t,this.hideCallback=r,this.observer=null}init(){const e=()=>{this.element.classList.contains("disabled")?this.hideCallback():this.showCallback()};this.observer=new MutationObserver(e),this.observer.observe(this.element,{attributes:!0}),e()}disconnect(){this.observer.disconnect()}};var l=class{constructor(e,t,r,n,a,o){this.config=e,this.updateCart=t,this.showButtonCallback=r,this.hideButtonCallback=n,this.formElement=a,this.errorHandler=o}configuration(){if(this.hasVariations()){new u(this.formElement.querySelector(".single_add_to_cart_button"),this.showButtonCallback,this.hideButtonCallback).init()}return{createOrder:this.createOrder(),onApprove:a(this,this.errorHandler),onError:e=>{this.errorHandler.genericError()}}}createOrder(){var e=null;e=this.isGroupedProduct()?()=>{const e=[];return this.formElement.querySelectorAll('input[type="number"]').forEach(t=>{if(!t.value)return;const r=t.getAttribute("name").match(/quantity\[([\d]*)\]/);if(2!==r.length)return;const n=parseInt(r[1]),a=parseInt(t.value);e.push(new c(n,a,null))}),e}:()=>{const e=document.querySelector('[name="add-to-cart"]').value,t=document.querySelector('[name="quantity"]').value,r=this.variations();return[new c(e,t,r)]};return(t,r)=>{this.errorHandler.clear();return this.updateCart.update(e=>{const t=o(),r=void 0!==this.config.bn_codes[this.config.context]?this.config.bn_codes[this.config.context]:"";return fetch(this.config.ajax.create_order.endpoint,{method:"POST",body:JSON.stringify({nonce:this.config.ajax.create_order.nonce,purchase_units:e,payer:t,bn_code:r,context:this.config.context})}).then((function(e){return e.json()})).then((function(e){if(!e.success)throw console.error(e),Error(e.data.message);return e.data.id}))},e())}}variations(){if(!this.hasVariations())return null;return[...this.formElement.querySelectorAll("[name^='attribute_']")].map(e=>({value:e.value,name:e.name}))}hasVariations(){return this.formElement.classList.contains("variations_form")}isGroupedProduct(){return this.formElement.classList.contains("grouped_form")}};var h=class{constructor(e,t,r){this.gateway=e,this.renderer=t,this.messages=r}init(){this.shouldRender()?this.render():this.renderer.hideButtons(this.gateway.hosted_fields.wrapper)}shouldRender(){return null!==document.querySelector("form.cart")}render(){const e=new l(this.gateway,new d(this.gateway.ajax.change_cart.endpoint,this.gateway.ajax.change_cart.nonce),()=>{this.renderer.showButtons(this.gateway.button.wrapper),this.renderer.showButtons(this.gateway.hosted_fields.wrapper);let e="0";document.querySelector("form.cart ins .woocommerce-Price-amount")?e=document.querySelector("form.cart ins .woocommerce-Price-amount").innerText:document.querySelector("form.cart .woocommerce-Price-amount")&&(e=document.querySelector("form.cart .woocommerce-Price-amount").innerText);const t=parseInt(e.replace(/([^\d,\.\s]*)/g,""));this.messages.renderWithAmount(t)},()=>{this.renderer.hideButtons(this.gateway.button.wrapper),this.renderer.hideButtons(this.gateway.hosted_fields.wrapper)},document.querySelector("form.cart"),new n(this.gateway.labels.error.generic));this.renderer.render(this.gateway.button.wrapper,this.gateway.hosted_fields.wrapper,e.configuration())}};var p=class{constructor(e,t){this.gateway=e,this.renderer=t}init(){this.shouldRender()&&(this.render(),jQuery(document.body).on("updated_cart_totals updated_checkout",()=>{this.render()}))}shouldRender(){return null!==document.querySelector(this.gateway.button.wrapper)||null!==document.querySelector(this.gateway.hosted_fields.wrapper)}render(){const e=new s(PayPalCommerceGateway,new n(this.gateway.labels.error.generic));this.renderer.render(this.gateway.button.wrapper,this.gateway.hosted_fields.wrapper,e.configuration())}};var y=(e,t,r)=>(n,a)=>(r.block(),fetch(e.config.ajax.approve_order.endpoint,{method:"POST",body:JSON.stringify({nonce:e.config.ajax.approve_order.nonce,order_id:n.orderID})}).then(e=>e.json()).then(e=>{if(r.unblock(),!e.success){if(100===e.data.code?t.message(e.data.message):t.genericError(),void 0!==a&&void 0!==a.restart)return a.restart();throw new Error(e.data.message)}document.querySelector("#place_order").click()}));var m=class{constructor(e,t,r){this.config=e,this.errorHandler=t,this.spinner=r}configuration(){const e=this.spinner;return{createOrder:(t,r)=>{const n=o(),a=void 0!==this.config.bn_codes[this.config.context]?this.config.bn_codes[this.config.context]:"",s=this.errorHandler,i="checkout"===this.config.context?"form.checkout":"form#order_review",c=jQuery(i).serialize();return fetch(this.config.ajax.create_order.endpoint,{method:"POST",body:JSON.stringify({nonce:this.config.ajax.create_order.nonce,payer:n,bn_code:a,context:this.config.context,order_id:this.config.order_id,form:c})}).then((function(e){return e.json()})).then((function(t){if(!t.success)return e.unblock(),void s.message(t.data.message,!0);const r=document.createElement("input");return r.setAttribute("type","hidden"),r.setAttribute("name","ppcp-resume-order"),r.setAttribute("value",t.data.purchase_units[0].custom_id),document.querySelector(i).append(r),t.data.id}))},onApprove:y(this,this.errorHandler,this.spinner),onError:e=>{this.errorHandler.genericError()}}}};var g=class{constructor(e,t,r,n){this.gateway=e,this.renderer=t,this.messages=r,this.spinner=n}init(){this.render(),jQuery(document.body).on("updated_checkout",()=>{this.render()}),jQuery(document.body).on("updated_checkout payment_method_selected",()=>{this.switchBetweenPayPalandOrderButton()}),this.switchBetweenPayPalandOrderButton()}shouldRender(){return!document.querySelector(this.gateway.button.cancel_wrapper)&&(null!==document.querySelector(this.gateway.button.wrapper)||null!==document.querySelector(this.gateway.hosted_fields.wrapper))}render(){if(!this.shouldRender())return;document.querySelector(this.gateway.hosted_fields.wrapper+">div")&&document.querySelector(this.gateway.hosted_fields.wrapper+">div").setAttribute("style","");const e=new m(PayPalCommerceGateway,new n(this.gateway.labels.error.generic),this.spinner);this.renderer.render(this.gateway.button.wrapper,this.gateway.hosted_fields.wrapper,e.configuration())}switchBetweenPayPalandOrderButton(){const e=jQuery('input[name="payment_method"]:checked').val();"ppcp-gateway"!==e&&"ppcp-credit-card-gateway"!==e?(this.renderer.hideButtons(this.gateway.button.wrapper),this.renderer.hideButtons(this.gateway.messages.wrapper),this.renderer.hideButtons(this.gateway.hosted_fields.wrapper),jQuery("#place_order").show()):(jQuery("#place_order").hide(),"ppcp-gateway"===e&&(this.renderer.showButtons(this.gateway.button.wrapper),this.renderer.showButtons(this.gateway.messages.wrapper),this.messages.render(),this.renderer.hideButtons(this.gateway.hosted_fields.wrapper)),"ppcp-credit-card-gateway"===e&&(this.renderer.hideButtons(this.gateway.button.wrapper),this.renderer.hideButtons(this.gateway.messages.wrapper),this.renderer.showButtons(this.gateway.hosted_fields.wrapper)))}};var w=class{constructor(e,t,r){this.gateway=e,this.renderer=t,this.messages=r}init(){this.render(),jQuery(document.body).on("updated_checkout",()=>{this.render()}),jQuery(document.body).on("updated_checkout payment_method_selected",()=>{this.switchBetweenPayPalandOrderButton()}),this.switchBetweenPayPalandOrderButton()}shouldRender(){return!document.querySelector(this.gateway.button.cancel_wrapper)&&(null!==document.querySelector(this.gateway.button.wrapper)||null!==document.querySelector(this.gateway.hosted_fields.wrapper))}render(){if(!this.shouldRender())return;document.querySelector(this.gateway.hosted_fields.wrapper+">div")&&document.querySelector(this.gateway.hosted_fields.wrapper+">div").setAttribute("style","");const e=new m(PayPalCommerceGateway,new n(this.gateway.labels.error.generic));this.renderer.render(this.gateway.button.wrapper,this.gateway.hosted_fields.wrapper,e.configuration())}switchBetweenPayPalandOrderButton(){const e=jQuery('input[name="payment_method"]:checked').val();"ppcp-gateway"!==e&&"ppcp-credit-card-gateway"!==e?(this.renderer.hideButtons(this.gateway.button.wrapper),this.renderer.hideButtons(this.gateway.messages.wrapper),this.renderer.hideButtons(this.gateway.hosted_fields.wrapper),jQuery("#place_order").show()):(jQuery("#place_order").hide(),"ppcp-gateway"===e&&(this.renderer.showButtons(this.gateway.button.wrapper),this.renderer.showButtons(this.gateway.messages.wrapper),this.messages.render(),this.renderer.hideButtons(this.gateway.hosted_fields.wrapper)),"ppcp-credit-card-gateway"===e&&(this.renderer.hideButtons(this.gateway.button.wrapper),this.renderer.hideButtons(this.gateway.messages.wrapper),this.renderer.showButtons(this.gateway.hosted_fields.wrapper)))}};var f=class{constructor(e,t){this.defaultConfig=t,this.creditCardRenderer=e}render(e,t,r){this.renderButtons(e,r),this.creditCardRenderer.render(t,r)}renderButtons(e,t){if(!document.querySelector(e)||this.isAlreadyRendered(e)||void 0===paypal.Buttons)return;const r=e===this.defaultConfig.button.wrapper?this.defaultConfig.button.style:this.defaultConfig.button.mini_cart_style;paypal.Buttons({style:r,...t}).render(e)}isAlreadyRendered(e){return document.querySelector(e).hasChildNodes()}hideButtons(e){const t=document.querySelector(e);return!!t&&(t.style.display="none",!0)}showButtons(e){const t=document.querySelector(e);return!!t&&(t.style.display="block",!0)}};var _=e=>{const t=window.getComputedStyle(e),r=document.createElement("span");return r.setAttribute("id",e.id),Object.values(t).forEach(e=>{t[e]&&isNaN(e)&&r.style.setProperty(e,""+t[e])}),r};var b=class{constructor(e,t,r){this.defaultConfig=e,this.errorHandler=t,this.spinner=r,this.cardValid=!1}render(e,t){if("checkout"!==this.defaultConfig.context&&"pay-now"!==this.defaultConfig.context||null===e||null===document.querySelector(e))return;if(void 0===paypal.HostedFields||!paypal.HostedFields.isEligible()){const t=document.querySelector(e);return void t.parentNode.removeChild(t)}const r=document.querySelector(".payment_box.payment_method_ppcp-credit-card-gateway"),n=r.style.display;r.style.display="block";const a=document.querySelector("#ppcp-hide-dcc");a&&a.parentNode.removeChild(a);const o=document.querySelector("#ppcp-credit-card-gateway-card-number"),s=window.getComputedStyle(o);let i={};Object.values(s).forEach(e=>{s[e]&&(i[e]=""+s[e])});const c=_(o);o.parentNode.replaceChild(c,o);const d=document.querySelector("#ppcp-credit-card-gateway-card-expiry"),u=_(d);d.parentNode.replaceChild(u,d);const l=document.querySelector("#ppcp-credit-card-gateway-card-cvc"),h=_(l);l.parentNode.replaceChild(h,l),r.style.display=n;const p=".payment_box payment_method_ppcp-credit-card-gateway";this.defaultConfig.enforce_vault&&document.querySelector(p+" .ppcp-credit-card-vault")&&(document.querySelector(p+" .ppcp-credit-card-vault").checked=!0,document.querySelector(p+" .ppcp-credit-card-vault").setAttribute("disabled",!0)),paypal.HostedFields.render({createOrder:t.createOrder,styles:{input:i},fields:{number:{selector:"#ppcp-credit-card-gateway-card-number",placeholder:this.defaultConfig.hosted_fields.labels.credit_card_number},cvv:{selector:"#ppcp-credit-card-gateway-card-cvc",placeholder:this.defaultConfig.hosted_fields.labels.cvv},expirationDate:{selector:"#ppcp-credit-card-gateway-card-expiry",placeholder:this.defaultConfig.hosted_fields.labels.mm_yyyy}}}).then(r=>{const n=n=>{this.spinner.block(),n&&n.preventDefault(),this.errorHandler.clear();const a=r.getState();if(Object.keys(a.fields).every((function(e){return a.fields[e].isValid}))&&this.cardValid){let n=!!document.querySelector(e+" .ppcp-credit-card-vault")&&document.querySelector(e+" .ppcp-credit-card-vault").checked;n=this.defaultConfig.enforce_vault||n,r.submit({contingencies:["3D_SECURE"],vault:n}).then(e=>(e.orderID=e.orderId,this.spinner.unblock(),t.onApprove(e)))}else{this.spinner.unblock();const e=this.cardValid?this.defaultConfig.hosted_fields.labels.fields_not_valid:this.defaultConfig.hosted_fields.labels.card_not_supported;this.errorHandler.message(e)}};r.on("inputSubmitRequest",(function(){n(null)})),r.on("cardTypeChange",e=>{if(!e.cards.length)return void(this.cardValid=!1);const t=this.defaultConfig.hosted_fields.valid_cards;this.cardValid=-1!==t.indexOf(e.cards[0].type)}),document.querySelector(e+" button").addEventListener("click",n)}),document.querySelector("#payment_method_ppcp-credit-card-gateway").addEventListener("click",()=>{document.querySelector("label[for=ppcp-credit-card-gateway-card-number]").click()})}};const v=(e,t)=>{if(!e)return!1;if(e.user!==t)return!1;return!((new Date).getTime()>=1e3*e.expiration)};var S=(e,t)=>{const r=(e=>{const t=JSON.parse(sessionStorage.getItem("ppcp-data-client-id"));return v(t,e)?t.token:null})(t.user);if(r)return e.setAttribute("data-client-token",r),void document.body.append(e);fetch(t.endpoint,{method:"POST",body:JSON.stringify({nonce:t.nonce})}).then(e=>e.json()).then(r=>{v(r,t.user)&&((e=>{sessionStorage.setItem("ppcp-data-client-id",JSON.stringify(e))})(r),e.setAttribute("data-client-token",r.token),document.body.append(e))})};var q=class{constructor(e){this.config=e}render(){this.shouldRender()&&paypal.Messages({amount:this.config.amount,placement:this.config.placement,style:this.config.style}).render(this.config.wrapper)}renderWithAmount(e){if(!this.shouldRender())return;const t=document.createElement("div");t.setAttribute("id",this.config.wrapper.replace("#",""));const r=document.querySelector(this.config.wrapper).nextSibling;document.querySelector(this.config.wrapper).parentElement.removeChild(document.querySelector(this.config.wrapper)),r.parentElement.insertBefore(t,r),paypal.Messages({amount:e,placement:this.config.placement,style:this.config.style}).render(this.config.wrapper)}shouldRender(){return void 0!==paypal.Messages&&void 0!==this.config.wrapper&&!!document.querySelector(this.config.wrapper)}};var P=class{constructor(){this.target="form.woocommerce-checkout"}block(){jQuery(this.target).block({message:null,overlayCSS:{background:"#fff",opacity:.6}})}unblock(){jQuery(this.target).unblock()}};document.addEventListener("DOMContentLoaded",()=>{const e=document.createElement("script");e.addEventListener("load",e=>{(()=>{const e=new n(PayPalCommerceGateway.labels.error.generic),t=new P,r=new b(PayPalCommerceGateway,e,t),a=new f(r,PayPalCommerceGateway),o=new q(PayPalCommerceGateway.messages),s=PayPalCommerceGateway.context;if("mini-cart"===s||"product"===s){new i(PayPalCommerceGateway,a).init()}if("product"===s){new h(PayPalCommerceGateway,a,o).init()}if("cart"===s){new p(PayPalCommerceGateway,a).init()}if("checkout"===s){new g(PayPalCommerceGateway,a,o,t).init()}if("pay-now"===s){new w(PayPalCommerceGateway,a,o).init()}"checkout"!==s&&o.render()})()}),e.setAttribute("src",PayPalCommerceGateway.button.url),Object.entries(PayPalCommerceGateway.script_attributes).forEach(t=>{e.setAttribute(t[0],t[1])}),PayPalCommerceGateway.data_client_id.set_attribute?S(e,PayPalCommerceGateway.data_client_id):document.body.append(e)})}]);
2
  //# sourceMappingURL=button.js.map
modules/ppcp-button/assets/js/button.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./resources/js/modules/ErrorHandler.js","webpack:///./resources/js/modules/OnApproveHandler/onApproveForContinue.js","webpack:///./resources/js/modules/Helper/PayerData.js","webpack:///./resources/js/modules/ActionHandler/CartActionHandler.js","webpack:///./resources/js/modules/ContextBootstrap/MiniCartBootstap.js","webpack:///./resources/js/modules/Entity/Product.js","webpack:///./resources/js/modules/Helper/UpdateCart.js","webpack:///./resources/js/modules/Helper/ButtonsToggleListener.js","webpack:///./resources/js/modules/ActionHandler/SingleProductActionHandler.js","webpack:///./resources/js/modules/ContextBootstrap/SingleProductBootstap.js","webpack:///./resources/js/modules/ContextBootstrap/CartBootstap.js","webpack:///./resources/js/modules/OnApproveHandler/onApproveForPayNow.js","webpack:///./resources/js/modules/ActionHandler/CheckoutActionHandler.js","webpack:///./resources/js/modules/ContextBootstrap/CheckoutBootstap.js","webpack:///./resources/js/modules/ContextBootstrap/PayNowBootstrap.js","webpack:///./resources/js/modules/Renderer/Renderer.js","webpack:///./resources/js/modules/Helper/DccInputFactory.js","webpack:///./resources/js/modules/Renderer/CreditCardRenderer.js","webpack:///./resources/js/modules/DataClientIdAttributeHandler.js","webpack:///./resources/js/modules/Renderer/MessageRenderer.js","webpack:///./resources/js/modules/Helper/Spinner.js","webpack:///./resources/js/button.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","ErrorHandler","constructor","genericErrorText","this","wrapper","document","querySelector","genericError","classList","contains","clear","message","text","persist","add","remove","innerText","sanitize","jQuery","scroll_to_notices","textarea","createElement","innerHTML","replace","onApprove","context","errorHandler","data","actions","fetch","config","ajax","approve_order","endpoint","method","body","JSON","stringify","nonce","order_id","orderID","then","res","json","success","restart","catch","err","location","href","redirect","payerData","payer","PayPalCommerceGateway","phone","phone_type","phone_number","national_number","email_address","surname","given_name","address","country_code","address_line_1","address_line_2","admin_area_1","admin_area_2","postal_code","CartActionHandler","configuration","createOrder","bnCode","bn_codes","create_order","purchase_units","bn_code","console","error","Error","id","onError","MiniCartBootstap","gateway","renderer","actionHandler","init","labels","generic","render","on","shouldRender","button","mini_cart_wrapper","hosted_fields","Product","quantity","variations","UpdateCart","update","onResolve","products","Promise","resolve","reject","result","resolved","ButtonsToggleListener","element","showCallback","hideCallback","observer","callback","MutationObserver","observe","attributes","disconnect","SingleProductActionHandler","updateCart","showButtonCallback","hideButtonCallback","formElement","hasVariations","getProducts","isGroupedProduct","querySelectorAll","forEach","elementName","getAttribute","match","length","parseInt","push","qty","map","SingleProductBootstap","messages","hideButtons","change_cart","showButtons","priceText","amount","renderWithAmount","CartBootstrap","spinner","block","unblock","code","click","CheckoutActionHandler","formSelector","formValues","serialize","form","input","setAttribute","custom_id","append","CheckoutBootstap","switchBetweenPayPalandOrderButton","cancel_wrapper","currentPaymentMethod","val","show","hide","PayNowBootstrap","Renderer","creditCardRenderer","defaultConfig","hostedFieldsWrapper","contextConfig","renderButtons","isAlreadyRendered","paypal","Buttons","style","mini_cart_style","hasChildNodes","domElement","display","dccInputFactory","original","styles","window","getComputedStyle","newElement","values","prop","isNaN","setProperty","CreditCardRenderer","cardValid","HostedFields","isEligible","wrapperElement","parentNode","removeChild","gateWayBox","oldDisplayStyle","hideDccGateway","cardNumberField","stylesRaw","cardNumber","replaceChild","cardExpiryField","cardExpiry","cardCodeField","cardCode","formWrapper","enforce_vault","checked","fields","number","selector","placeholder","credit_card_number","cvv","expirationDate","mm_yyyy","hostedFields","submitEvent","event","preventDefault","state","getState","keys","every","isValid","vault","submit","contingencies","payload","orderId","fields_not_valid","card_not_supported","cards","validCards","valid_cards","indexOf","type","addEventListener","validateToken","token","user","Date","getTime","expiration","dataClientIdAttributeHandler","script","parse","sessionStorage","getItem","storedTokenForUser","setItem","storeToken","MessageRenderer","Messages","placement","newWrapper","sibling","nextSibling","parentElement","insertBefore","Spinner","target","overlayCSS","background","opacity","messageRenderer","bootstrap","url","entries","script_attributes","keyValue","data_client_id","set_attribute"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,uCCrCtCC,MA7Cf,MAEIC,YAAYC,GAERC,KAAKD,iBAAmBA,EACxBC,KAAKC,QAAUC,SAASC,cAAc,gCAG1CC,eACQJ,KAAKC,QAAQI,UAAUC,SAAS,kBAGpCN,KAAKO,QACLP,KAAKQ,QAAQR,KAAKD,mBAGtBS,QAAQC,EAAMC,GAAU,GAEpBV,KAAKC,QAAQI,UAAUM,IAAI,qBACvBD,EACAV,KAAKC,QAAQI,UAAUM,IAAI,gBAE3BX,KAAKC,QAAQI,UAAUO,OAAO,gBAElCZ,KAAKC,QAAQY,UAAYb,KAAKc,SAASL,GACvCM,OAAOC,kBAAkBD,OAAO,iCAGpCD,SAASL,GAEL,MAAMQ,EAAWf,SAASgB,cAAc,YAExC,OADAD,EAASE,UAAYV,EACdQ,EAASnC,MAAMsC,QAAQ,UAAW,IAG7Cb,QAEUP,KAAKC,QAAQI,UAAUC,SAAS,uBAGtCN,KAAKC,QAAQI,UAAUO,OAAO,qBAC9BZ,KAAKC,QAAQY,UAAY,MClBlBQ,MAvBG,CAACC,EAASC,IACjB,CAACC,EAAMC,IACHC,MAAMJ,EAAQK,OAAOC,KAAKC,cAAcC,SAAU,CACrDC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACjBC,MAAOb,EAAQK,OAAOC,KAAKC,cAAcM,MACzCC,SAASZ,EAAKa,YAEnBC,KAAMC,GACEA,EAAIC,QACZF,KAAMd,IACL,IAAKA,EAAKiB,QAEN,OADAlB,EAAanB,eACNqB,EAAQiB,UAAUC,MAAMC,IAC3BrB,EAAanB,iBAGrByC,SAASC,KAAOxB,EAAQK,OAAOoB,WCjBpC,MAAMC,EAAY,KACrB,MAAMC,EAAQC,sBAAsBD,MACpC,IAAMA,EACF,OAAO,KAGX,MAAME,EAASjD,SAASC,cAAc,wBAA4C,IAAhB8C,EAAME,MACxE,CACIC,WAAW,OACPC,aAAa,CACbC,gBAAmBpD,SAASC,cAAc,kBAAqBD,SAASC,cAAc,kBAAkBrB,MAAQmE,EAAME,MAAME,aAAaC,kBAE7I,KACEN,EAAY,CACdO,cAAerD,SAASC,cAAc,kBAAqBD,SAASC,cAAc,kBAAkBrB,MAAQmE,EAAMM,cAClHnF,KAAO,CACHoF,QAAUtD,SAASC,cAAc,sBAAyBD,SAASC,cAAc,sBAAsBrB,MAAQmE,EAAM7E,KAAKoF,QAC1HC,WAAavD,SAASC,cAAc,uBAA0BD,SAASC,cAAc,uBAAuBrB,MAAQmE,EAAM7E,KAAKqF,YAEnIC,QAAU,CACNC,aAAgBzD,SAASC,cAAc,oBAAuBD,SAASC,cAAc,oBAAoBrB,MAAQmE,EAAMS,QAAQC,aAC/HC,eAAkB1D,SAASC,cAAc,sBAAyBD,SAASC,cAAc,sBAAsBrB,MAAQmE,EAAMS,QAAQE,eACrIC,eAAkB3D,SAASC,cAAc,sBAAyBD,SAASC,cAAc,sBAAsBrB,MAAQmE,EAAMS,QAAQG,eACrIC,aAAgB5D,SAASC,cAAc,kBAAqBD,SAASC,cAAc,kBAAkBrB,MAAQmE,EAAMS,QAAQI,aAC3HC,aAAgB7D,SAASC,cAAc,iBAAoBD,SAASC,cAAc,iBAAiBrB,MAAQmE,EAAMS,QAAQK,aACzHC,YAAe9D,SAASC,cAAc,qBAAwBD,SAASC,cAAc,qBAAqBrB,MAAQmE,EAAMS,QAAQM,cAOxI,OAHIb,IACAH,EAAUG,MAAQA,GAEfH,GCaIiB,MA1Cf,MAEInE,YAAY6B,EAAQJ,GAChBvB,KAAK2B,OAASA,EACd3B,KAAKuB,aAAeA,EAGxB2C,gBAyBI,MAAO,CACHC,YAzBgB,CAAC3C,EAAMC,KACvB,MAAMwB,EAAQD,IACRoB,OAA8D,IAA9CpE,KAAK2B,OAAO0C,SAASrE,KAAK2B,OAAOL,SACnDtB,KAAK2B,OAAO0C,SAASrE,KAAK2B,OAAOL,SAAW,GAChD,OAAOI,MAAM1B,KAAK2B,OAAOC,KAAK0C,aAAaxC,SAAU,CACjDC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACjBC,MAAOnC,KAAK2B,OAAOC,KAAK0C,aAAanC,MACrCoC,eAAgB,GAChBC,QAAQJ,EACRnB,QACA3B,QAAQtB,KAAK2B,OAAOL,YAEzBgB,MAAK,SAASC,GACb,OAAOA,EAAIC,UACZF,MAAK,SAASd,GACb,IAAKA,EAAKiB,QAEN,MADAgC,QAAQC,MAAMlD,GACRmD,MAAMnD,EAAKA,KAAKhB,SAE1B,OAAOgB,EAAKA,KAAKoD,OAMrBvD,UAAWA,EAAUrB,KAAMA,KAAKuB,cAChCsD,QAAUH,IACN1E,KAAKuB,aAAanB,mBCGnB0E,MAvCf,MACIhF,YAAYiF,EAASC,GACjBhF,KAAK+E,QAAUA,EACf/E,KAAKgF,SAAWA,EAChBhF,KAAKiF,cAAgB,KAGzBC,OAEIlF,KAAKiF,cAAgB,IAAIhB,EACrBf,sBACA,IAAIrD,EAAaG,KAAK+E,QAAQI,OAAOT,MAAMU,UAE/CpF,KAAKqF,SAELtE,OAAOb,SAAS8B,MAAMsD,GAAG,6CAA8C,KACnEtF,KAAKqF,WAIbE,eACI,OACI,OADGrF,SAASC,cAAcH,KAAK+E,QAAQS,OAAOC,oBAElD,OADYvF,SAASC,cAAcH,KAAK+E,QAAQW,cAAcD,mBAIlEJ,SACSrF,KAAKuF,gBAIVvF,KAAKgF,SAASK,OACVrF,KAAK+E,QAAQS,OAAOC,kBACpBzF,KAAK+E,QAAQW,cAAcD,kBAC3BzF,KAAKiF,cAAcf,mBCpBhByB,MAjBf,MAEI7F,YAAY8E,EAAIgB,EAAUC,GACtB7F,KAAK4E,GAAKA,EACV5E,KAAK4F,SAAWA,EAChB5F,KAAK6F,WAAaA,EAGtBrE,OACI,MAAO,CACHoD,GAAG5E,KAAK4E,GACRgB,SAAS5F,KAAK4F,SACdC,WAAW7F,KAAK6F,cCgCbC,MA3Cf,MAEIhG,YAAYgC,EAAUK,GAElBnC,KAAK8B,SAAWA,EAChB9B,KAAKmC,MAAQA,EASjB4D,OAAOC,EAAWC,GAEd,OAAO,IAAIC,QAAQ,CAACC,EAASC,KACzB1E,MACI1B,KAAK8B,SACL,CACIC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACjBC,MAAOnC,KAAKmC,MACZ8D,eAGV3D,KACG+D,GACMA,EAAO7D,QAEhBF,KAAM+D,IACJ,IAAMA,EAAO5D,QAET,YADA2D,EAAOC,EAAO7E,MAId,MAAM8E,EAAWN,EAAUK,EAAO7E,MAClC2E,EAAQG,SCHbC,MA9Bf,MACIzG,YAAY0G,EAASC,EAAcC,GAE/B1G,KAAKwG,QAAUA,EACfxG,KAAKyG,aAAeA,EACpBzG,KAAK0G,aAAeA,EACpB1G,KAAK2G,SAAW,KAGpBzB,OAEI,MACM0B,EAAW,KACT5G,KAAKwG,QAAQnG,UAAUC,SAAS,YAChCN,KAAK0G,eAGT1G,KAAKyG,gBAETzG,KAAK2G,SAAW,IAAIE,iBAAiBD,GACrC5G,KAAK2G,SAASG,QAAQ9G,KAAKwG,QATZ,CAAEO,YAAa,IAU9BH,IAGJI,aAEIhH,KAAK2G,SAASK,eCqGPC,MA/Hf,MAEInH,YACI6B,EACAuF,EACAC,EACAC,EACAC,EACA9F,GAEAvB,KAAK2B,OAASA,EACd3B,KAAKkH,WAAaA,EAClBlH,KAAKmH,mBAAqBA,EAC1BnH,KAAKoH,mBAAqBA,EAC1BpH,KAAKqH,YAAcA,EACnBrH,KAAKuB,aAAeA,EAGxB2C,gBAGI,GAAKlE,KAAKsH,gBAAkB,CACP,IAAIf,EACjBvG,KAAKqH,YAAYlH,cAAc,8BAC/BH,KAAKmH,mBACLnH,KAAKoH,oBAEAlC,OAGb,MAAO,CACHf,YAAanE,KAAKmE,cAClB9C,UAAWA,EAAUrB,KAAMA,KAAKuB,cAChCsD,QAAUH,IACN1E,KAAKuB,aAAanB,iBAK9B+D,cAEI,IAAIoD,EAAc,KASdA,EAREvH,KAAKwH,mBAQO,KACV,MAAMvB,EAAW,GAajB,OAZAjG,KAAKqH,YAAYI,iBAAiB,wBAAwBC,QAASlB,IAC/D,IAAMA,EAAQ1H,MACV,OAEJ,MAAM6I,EAAcnB,EAAQoB,aAAa,QAAQC,MAAM,uBACvD,GAA2B,IAAvBF,EAAYG,OACZ,OAEJ,MAAMlD,EAAKmD,SAASJ,EAAY,IAC1B/B,EAAWmC,SAASvB,EAAQ1H,OAClCmH,EAAS+B,KAAK,IAAIrC,EAAQf,EAAIgB,EAAU,SAErCK,GArBG,KACV,MAAMrB,EAAK1E,SAASC,cAAc,wBAAwBrB,MACpDmJ,EAAM/H,SAASC,cAAc,qBAAqBrB,MAClD+G,EAAa7F,KAAK6F,aACxB,MAAO,CAAC,IAAIF,EAAQf,EAAIqD,EAAKpC,KAkDrC,MA9BoB,CAACrE,EAAMC,KACvBzB,KAAKuB,aAAahB,QA2BlB,OADgBP,KAAKkH,WAAWnB,OAxBbxB,IACf,MAAMtB,EAAQD,IACRoB,OAA8D,IAA9CpE,KAAK2B,OAAO0C,SAASrE,KAAK2B,OAAOL,SACnDtB,KAAK2B,OAAO0C,SAASrE,KAAK2B,OAAOL,SAAW,GAChD,OAAOI,MAAM1B,KAAK2B,OAAOC,KAAK0C,aAAaxC,SAAU,CACjDC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACjBC,MAAOnC,KAAK2B,OAAOC,KAAK0C,aAAanC,MACrCoC,iBACAtB,QACAuB,QAAQJ,EACR9C,QAAQtB,KAAK2B,OAAOL,YAEzBgB,MAAK,SAAUC,GACd,OAAOA,EAAIC,UACZF,MAAK,SAAUd,GACd,IAAKA,EAAKiB,QAEN,MADAgC,QAAQC,MAAMlD,GACRmD,MAAMnD,EAAKA,KAAKhB,SAE1B,OAAOgB,EAAKA,KAAKoD,OAIyB2C,MAM1D1B,aAGI,IAAM7F,KAAKsH,gBACP,OAAO,KAUX,MARmB,IAAItH,KAAKqH,YAAYI,iBAAiB,yBAAyBS,IAC7E1B,IACM,CACC1H,MAAM0H,EAAQ1H,MACdV,KAAKoI,EAAQpI,QAO7BkJ,gBAEI,OAAOtH,KAAKqH,YAAYhH,UAAUC,SAAS,mBAG/CkH,mBAEI,OAAOxH,KAAKqH,YAAYhH,UAAUC,SAAS,kBCjEpC6H,MA5Df,MACIrI,YAAYiF,EAASC,EAAUoD,GAC3BpI,KAAK+E,QAAUA,EACf/E,KAAKgF,SAAWA,EAChBhF,KAAKoI,SAAWA,EAGpBlD,OACSlF,KAAKuF,eAKVvF,KAAKqF,SAJFrF,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQW,cAAczF,SAO5DsF,eACI,OAA4C,OAAxCrF,SAASC,cAAc,aAO/BkF,SACI,MAAMJ,EAAgB,IAAIgC,EACtBjH,KAAK+E,QACL,IAAIe,EACA9F,KAAK+E,QAAQnD,KAAK0G,YAAYxG,SAC9B9B,KAAK+E,QAAQnD,KAAK0G,YAAYnG,OAElC,KACInC,KAAKgF,SAASuD,YAAYvI,KAAK+E,QAAQS,OAAOvF,SAC9CD,KAAKgF,SAASuD,YAAYvI,KAAK+E,QAAQW,cAAczF,SACrD,IAAIuI,EAAY,IACZtI,SAASC,cAAc,2CACvBqI,EAAYtI,SAASC,cAAc,2CAA2CU,UAEzEX,SAASC,cAAc,yCAC5BqI,EAAYtI,SAASC,cAAc,uCAAuCU,WAE9E,MAAM4H,EAASV,SAASS,EAAUpH,QAAQ,iBAAkB,KAC5DpB,KAAKoI,SAASM,iBAAiBD,IAEnC,KACIzI,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQS,OAAOvF,SAC9CD,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQW,cAAczF,UAEzDC,SAASC,cAAc,aACvB,IAAIN,EAAaG,KAAK+E,QAAQI,OAAOT,MAAMU,UAG/CpF,KAAKgF,SAASK,OACVrF,KAAK+E,QAAQS,OAAOvF,QACpBD,KAAK+E,QAAQW,cAAczF,QAC3BgF,EAAcf,mBClBXyE,MAtCf,MACI7I,YAAYiF,EAASC,GACjBhF,KAAK+E,QAAUA,EACf/E,KAAKgF,SAAWA,EAGpBE,OACSlF,KAAKuF,iBAIVvF,KAAKqF,SAELtE,OAAOb,SAAS8B,MAAMsD,GAAG,uCAAwC,KAC7DtF,KAAKqF,YAIbE,eACI,OACI,OADGrF,SAASC,cAAcH,KAAK+E,QAAQS,OAAOvF,UAE9C,OADQC,SAASC,cAAcH,KAAK+E,QAAQW,cAAczF,SAIlEoF,SACI,MAAMJ,EAAgB,IAAIhB,EACtBf,sBACA,IAAIrD,EAAaG,KAAK+E,QAAQI,OAAOT,MAAMU,UAG/CpF,KAAKgF,SAASK,OACVrF,KAAK+E,QAAQS,OAAOvF,QACpBD,KAAK+E,QAAQW,cAAczF,QAC3BgF,EAAcf,mBCNX7C,MA9BG,CAACC,EAASC,EAAcqH,IAC/B,CAACpH,EAAMC,KACVmH,EAAQC,QACDnH,MAAMJ,EAAQK,OAAOC,KAAKC,cAAcC,SAAU,CACrDC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACjBC,MAAOb,EAAQK,OAAOC,KAAKC,cAAcM,MACzCC,SAASZ,EAAKa,YAEnBC,KAAMC,GACEA,EAAIC,QACZF,KAAMd,IAEL,GADAoH,EAAQE,WACHtH,EAAKiB,QAAS,CAMf,GALuB,MAAnBjB,EAAKA,KAAKuH,KACVxH,EAAaf,QAAQgB,EAAKA,KAAKhB,SAE/Be,EAAanB,oBAEM,IAAZqB,QAAsD,IAApBA,EAAQiB,QACjD,OAAOjB,EAAQiB,UAEnB,MAAM,IAAIiC,MAAMnD,EAAKA,KAAKhB,SAE9BN,SAASC,cAAc,gBAAgB6I,WCmCpCC,MAxDf,MAEInJ,YAAY6B,EAAQJ,EAAcqH,GAC9B5I,KAAK2B,OAASA,EACd3B,KAAKuB,aAAeA,EACpBvB,KAAK4I,QAAUA,EAGnB1E,gBACI,MAAM0E,EAAU5I,KAAK4I,QAqCrB,MAAO,CACHzE,YArCgB,CAAC3C,EAAMC,KACvB,MAAMwB,EAAQD,IACRoB,OAA8D,IAA9CpE,KAAK2B,OAAO0C,SAASrE,KAAK2B,OAAOL,SACnDtB,KAAK2B,OAAO0C,SAASrE,KAAK2B,OAAOL,SAAW,GAG1CC,EAAevB,KAAKuB,aACpB2H,EAAuC,aAAxBlJ,KAAK2B,OAAOL,QAAyB,gBAAkB,oBACtE6H,EAAapI,OAAOmI,GAAcE,YAExC,OAAO1H,MAAM1B,KAAK2B,OAAOC,KAAK0C,aAAaxC,SAAU,CACjDC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACjBC,MAAOnC,KAAK2B,OAAOC,KAAK0C,aAAanC,MACrCc,QACAuB,QAAQJ,EACR9C,QAAQtB,KAAK2B,OAAOL,QACpBc,SAASpC,KAAK2B,OAAOS,SACrBiH,KAAKF,MAEV7G,MAAK,SAAUC,GACd,OAAOA,EAAIC,UACZF,MAAK,SAAUd,GACd,IAAKA,EAAKiB,QAGN,OAFAmG,EAAQE,eACRvH,EAAaf,QAAQgB,EAAKA,KAAKhB,SAAS,GAG5C,MAAM8I,EAAQpJ,SAASgB,cAAc,SAKrC,OAJAoI,EAAMC,aAAa,OAAQ,UAC3BD,EAAMC,aAAa,OAAQ,qBAC3BD,EAAMC,aAAa,QAAS/H,EAAKA,KAAK+C,eAAe,GAAGiF,WACxDtJ,SAASC,cAAc+I,GAAcO,OAAOH,GACrC9H,EAAKA,KAAKoD,OAKrBvD,UAAUA,EAAUrB,KAAMA,KAAKuB,aAAcvB,KAAK4I,SAClD/D,QAAUH,IACN1E,KAAKuB,aAAanB,mBC4BnBsJ,MA9Ef,MACI5J,YAAYiF,EAASC,EAAUoD,EAAUQ,GACrC5I,KAAK+E,QAAUA,EACf/E,KAAKgF,SAAWA,EAChBhF,KAAKoI,SAAWA,EAChBpI,KAAK4I,QAAUA,EAGnB1D,OAEIlF,KAAKqF,SAELtE,OAAOb,SAAS8B,MAAMsD,GAAG,mBAAoB,KACzCtF,KAAKqF,WAGTtE,OAAOb,SAAS8B,MACZsD,GAAG,2CAA4C,KAC3CtF,KAAK2J,sCAEb3J,KAAK2J,oCAGTpE,eACI,OAAIrF,SAASC,cAAcH,KAAK+E,QAAQS,OAAOoE,kBAIgB,OAAxD1J,SAASC,cAAcH,KAAK+E,QAAQS,OAAOvF,UAAoF,OAA/DC,SAASC,cAAcH,KAAK+E,QAAQW,cAAczF,UAG7HoF,SACI,IAAKrF,KAAKuF,eACN,OAEArF,SAASC,cAAcH,KAAK+E,QAAQW,cAAczF,QAAU,SAC5DC,SAASC,cAAcH,KAAK+E,QAAQW,cAAczF,QAAU,QAAQsJ,aAAa,QAAS,IAE9F,MAAMtE,EAAgB,IAAIgE,EACtB/F,sBACA,IAAIrD,EAAaG,KAAK+E,QAAQI,OAAOT,MAAMU,SAC3CpF,KAAK4I,SAGT5I,KAAKgF,SAASK,OACVrF,KAAK+E,QAAQS,OAAOvF,QACpBD,KAAK+E,QAAQW,cAAczF,QAC3BgF,EAAcf,iBAItByF,oCACI,MAAME,EAAuB9I,OACzB,wCAAwC+I,MAEf,iBAAzBD,GAAoE,6BAAzBA,GAC3C7J,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQS,OAAOvF,SAC9CD,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQqD,SAASnI,SAChDD,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQW,cAAczF,SACrDc,OAAO,gBAAgBgJ,SAGvBhJ,OAAO,gBAAgBiJ,OACM,iBAAzBH,IACA7J,KAAKgF,SAASuD,YAAYvI,KAAK+E,QAAQS,OAAOvF,SAC9CD,KAAKgF,SAASuD,YAAYvI,KAAK+E,QAAQqD,SAASnI,SAChDD,KAAKoI,SAAS/C,SACdrF,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQW,cAAczF,UAE5B,6BAAzB4J,IACA7J,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQS,OAAOvF,SAC9CD,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQqD,SAASnI,SAChDD,KAAKgF,SAASuD,YAAYvI,KAAK+E,QAAQW,cAAczF,aCItDgK,MA5Ef,MACInK,YAAYiF,EAASC,EAAUoD,GAC3BpI,KAAK+E,QAAUA,EACf/E,KAAKgF,SAAWA,EAChBhF,KAAKoI,SAAWA,EAGpBlD,OAEIlF,KAAKqF,SAELtE,OAAOb,SAAS8B,MAAMsD,GAAG,mBAAoB,KACzCtF,KAAKqF,WAGTtE,OAAOb,SAAS8B,MAChBsD,GAAG,2CAA4C,KAC3CtF,KAAK2J,sCAET3J,KAAK2J,oCAGTpE,eACI,OAAIrF,SAASC,cAAcH,KAAK+E,QAAQS,OAAOoE,kBAIgB,OAAxD1J,SAASC,cAAcH,KAAK+E,QAAQS,OAAOvF,UAAoF,OAA/DC,SAASC,cAAcH,KAAK+E,QAAQW,cAAczF,UAG7HoF,SACI,IAAKrF,KAAKuF,eACN,OAEArF,SAASC,cAAcH,KAAK+E,QAAQW,cAAczF,QAAU,SAC5DC,SAASC,cAAcH,KAAK+E,QAAQW,cAAczF,QAAU,QAAQsJ,aAAa,QAAS,IAE9F,MAAMtE,EAAgB,IAAIgE,EACtB/F,sBACA,IAAIrD,EAAaG,KAAK+E,QAAQI,OAAOT,MAAMU,UAG/CpF,KAAKgF,SAASK,OACVrF,KAAK+E,QAAQS,OAAOvF,QACpBD,KAAK+E,QAAQW,cAAczF,QAC3BgF,EAAcf,iBAItByF,oCACI,MAAME,EAAuB9I,OACzB,wCAAwC+I,MAEf,iBAAzBD,GAAoE,6BAAzBA,GAC3C7J,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQS,OAAOvF,SAC9CD,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQqD,SAASnI,SAChDD,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQW,cAAczF,SACrDc,OAAO,gBAAgBgJ,SAGvBhJ,OAAO,gBAAgBiJ,OACM,iBAAzBH,IACA7J,KAAKgF,SAASuD,YAAYvI,KAAK+E,QAAQS,OAAOvF,SAC9CD,KAAKgF,SAASuD,YAAYvI,KAAK+E,QAAQqD,SAASnI,SAChDD,KAAKoI,SAAS/C,SACdrF,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQW,cAAczF,UAE5B,6BAAzB4J,IACA7J,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQS,OAAOvF,SAC9CD,KAAKgF,SAASqD,YAAYrI,KAAK+E,QAAQqD,SAASnI,SAChDD,KAAKgF,SAASuD,YAAYvI,KAAK+E,QAAQW,cAAczF,aC1BtDiK,MA/Cf,MACIpK,YAAYqK,EAAoBC,GAC5BpK,KAAKoK,cAAgBA,EACrBpK,KAAKmK,mBAAqBA,EAG9B9E,OAAOpF,EAASoK,EAAqBC,GAEjCtK,KAAKuK,cAActK,EAASqK,GAC5BtK,KAAKmK,mBAAmB9E,OAAOgF,EAAqBC,GAGxDC,cAActK,EAASqK,GACnB,IAAMpK,SAASC,cAAcF,IAAYD,KAAKwK,kBAAkBvK,SAAY,IAAuBwK,OAAOC,QACtG,OAGJ,MAAMC,EAAQ1K,IAAYD,KAAKoK,cAAc5E,OAAOvF,QAAUD,KAAKoK,cAAc5E,OAAOmF,MAAQ3K,KAAKoK,cAAc5E,OAAOoF,gBAC1HH,OAAOC,QAAQ,CACXC,WACGL,IACJjF,OAAOpF,GAGduK,kBAAkBvK,GACd,OAAOC,SAASC,cAAcF,GAAS4K,gBAG3CxC,YAAY7B,GACR,MAAMsE,EAAa5K,SAASC,cAAcqG,GAC1C,QAAMsE,IAGNA,EAAWH,MAAMI,QAAU,QACpB,GAGXxC,YAAY/B,GACR,MAAMsE,EAAa5K,SAASC,cAAcqG,GAC1C,QAAMsE,IAGNA,EAAWH,MAAMI,QAAU,SACpB,KC9BAC,MAbUC,IACrB,MAAMC,EAASC,OAAOC,iBAAiBH,GACjCI,EAAanL,SAASgB,cAAc,QAQ1C,OAPAmK,EAAW9B,aAAa,KAAM0B,EAASrG,IACvCrG,OAAO+M,OAAOJ,GAAQxD,QAAU6D,IACtBL,EAAOK,IAAWC,MAAMD,IAG9BF,EAAWV,MAAMc,YAAYF,EAAK,GAAKL,EAAOK,MAE3CF,GC2IIK,MAnJf,MAEI5L,YAAYsK,EAAe7I,EAAcqH,GACrC5I,KAAKoK,cAAgBA,EACrBpK,KAAKuB,aAAeA,EACpBvB,KAAK4I,QAAUA,EACf5I,KAAK2L,WAAY,EAGrBtG,OAAOpF,EAASqK,GAEZ,GAEuC,aAA/BtK,KAAKoK,cAAc9I,SACe,YAA/BtB,KAAKoK,cAAc9I,SAEX,OAAZrB,GACoC,OAApCC,SAASC,cAAcF,GAE1B,OAEJ,QACmC,IAAxBwK,OAAOmB,eACTnB,OAAOmB,aAAaC,aAC3B,CACE,MAAMC,EAAiB5L,SAASC,cAAcF,GAE9C,YADA6L,EAAeC,WAAWC,YAAYF,GAI1C,MAAMG,EAAa/L,SAASC,cAAc,wDACpC+L,EAAkBD,EAAWtB,MAAMI,QACzCkB,EAAWtB,MAAMI,QAAU,QAE3B,MAAMoB,EAAiBjM,SAASC,cAAc,kBAC1CgM,GACAA,EAAeJ,WAAWC,YAAYG,GAG1C,MAAMC,EAAkBlM,SAASC,cAAc,yCAEzCkM,EAAYlB,OAAOC,iBAAiBgB,GAC1C,IAAIlB,EAAS,GACb3M,OAAO+M,OAAOe,GAAW3E,QAAU6D,IACzBc,EAAUd,KAGhBL,EAAOK,GAAQ,GAAKc,EAAUd,MAGlC,MAAMe,EAAatB,EAAgBoB,GACnCA,EAAgBL,WAAWQ,aAAaD,EAAYF,GAEpD,MAAMI,EAAkBtM,SAASC,cAAc,yCACzCsM,EAAazB,EAAgBwB,GACnCA,EAAgBT,WAAWQ,aAAaE,EAAYD,GAEpD,MAAME,EAAgBxM,SAASC,cAAc,sCACvCwM,EAAW3B,EAAgB0B,GACjCA,EAAcX,WAAWQ,aAAaI,EAAUD,GAEhDT,EAAWtB,MAAMI,QAAUmB,EAE3B,MAAMU,EAAc,uDAEhB5M,KAAKoK,cAAcyC,eAChB3M,SAASC,cAAcyM,EAAc,8BAExC1M,SAASC,cAAcyM,EAAc,4BAA4BE,SAAU,EAC3E5M,SAASC,cAAcyM,EAAc,4BAA4BrD,aAAa,YAAY,IAE9FkB,OAAOmB,aAAavG,OAAO,CACvBlB,YAAamG,EAAcnG,YAC3B+G,OAAQ,CACJ,MAASA,GAEb6B,OAAQ,CACJC,OAAQ,CACJC,SAAU,wCACVC,YAAalN,KAAKoK,cAAc1E,cAAcP,OAAOgI,oBAEzDC,IAAK,CACDH,SAAU,qCACVC,YAAalN,KAAKoK,cAAc1E,cAAcP,OAAOiI,KAEzDC,eAAgB,CACZJ,SAAU,wCACVC,YAAalN,KAAKoK,cAAc1E,cAAcP,OAAOmI,YAG9DhL,KAAKiL,IACJ,MAAMC,EAAeC,IACjBzN,KAAK4I,QAAQC,QACT4E,GACAA,EAAMC,iBAEV1N,KAAKuB,aAAahB,QAClB,MAAMoN,EAAQJ,EAAaK,WAK3B,GAJkBrP,OAAOsP,KAAKF,EAAMZ,QAAQe,OAAM,SAAU1O,GACxD,OAAOuO,EAAMZ,OAAO3N,GAAK2O,YAGZ/N,KAAK2L,UAAW,CAE7B,IAAIqC,IAAQ9N,SAASC,cAAcF,EAAU,6BACzCC,SAASC,cAAcF,EAAU,4BAA4B6M,QACjEkB,EAAQhO,KAAKoK,cAAcyC,eAAiBmB,EAE5CT,EAAaU,OAAO,CAChBC,cAAe,CAAC,aAChBF,UACD1L,KAAM6L,IACLA,EAAQ9L,QAAU8L,EAAQC,QAC1BpO,KAAK4I,QAAQE,UACNwB,EAAcjJ,UAAU8M,SAEhC,CACHnO,KAAK4I,QAAQE,UACb,MAAMtI,EAAYR,KAAK2L,UAAyE3L,KAAKoK,cAAc1E,cAAcP,OAAOkJ,iBAArGrO,KAAKoK,cAAc1E,cAAcP,OAAOmJ,mBAC3EtO,KAAKuB,aAAaf,QAAQA,KAGlC+M,EAAajI,GAAG,sBAAsB,WAClCkI,EAAY,SAEhBD,EAAajI,GAAG,iBAAmBmI,IAC/B,IAAOA,EAAMc,MAAMzG,OAEf,YADA9H,KAAK2L,WAAY,GAGrB,MAAM6C,EAAaxO,KAAKoK,cAAc1E,cAAc+I,YACpDzO,KAAK2L,WAAyD,IAA7C6C,EAAWE,QAAQjB,EAAMc,MAAM,GAAGI,QAEvDzO,SAASC,cAAcF,EAAU,WAAW2O,iBACxC,QACApB,KAIRtN,SAASC,cAAc,4CAA4CyO,iBAC/D,QACA,KACI1O,SAASC,cAAc,mDAAmD6I,YChJ1F,MAEM6F,EAAgB,CAACC,EAAOC,KAC1B,IAAMD,EACF,OAAO,EAEX,GAAIA,EAAMC,OAASA,EACf,OAAO,EAIX,SAFoB,IAAIC,MAAOC,WACqB,IAAnBH,EAAMI,aAyC5BC,MAzBsB,CAACC,EAAQzN,KAC1C,MAAMmN,EAbkBC,KACxB,MAAMD,EAAQ7M,KAAKoN,MAAMC,eAAeC,QAfzB,wBAgBf,OAAIV,EAAcC,EAAOC,GACdD,EAAMA,MAEV,MAQOU,CAAmB7N,EAAOoN,MACxC,GAAID,EAGA,OAFAM,EAAO7F,aAAa,oBAAqBuF,QACzC5O,SAAS8B,KAAKyH,OAAO2F,GAGzB1N,MAAMC,EAAOG,SAAU,CACnBC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACjBC,MAAOR,EAAOQ,UAEnBG,KAAMC,GACEA,EAAIC,QACZF,KAAMd,IACWqN,EAAcrN,EAAMG,EAAOoN,QAnB/BD,KAChBQ,eAAeG,QAvBA,sBAuBoBxN,KAAKC,UAAU4M,KAsB9CY,CAAWlO,GACX4N,EAAO7F,aAAa,oBAAqB/H,EAAKsN,OAC9C5O,SAAS8B,KAAKyH,OAAO2F,OCCdO,MAhDf,MAEI7P,YAAY6B,GACR3B,KAAK2B,OAASA,EAGlB0D,SACUrF,KAAKuF,gBAIXkF,OAAOmF,SAAS,CACZnH,OAAQzI,KAAK2B,OAAO8G,OACpBoH,UAAW7P,KAAK2B,OAAOkO,UACvBlF,MAAO3K,KAAK2B,OAAOgJ,QACpBtF,OAAOrF,KAAK2B,OAAO1B,SAG1ByI,iBAAiBD,GAEb,IAAMzI,KAAKuF,eACP,OAGJ,MAAMuK,EAAa5P,SAASgB,cAAc,OAC1C4O,EAAWvG,aAAa,KAAMvJ,KAAK2B,OAAO1B,QAAQmB,QAAQ,IAAK,KAE/D,MAAM2O,EAAU7P,SAASC,cAAcH,KAAK2B,OAAO1B,SAAS+P,YAC5D9P,SAASC,cAAcH,KAAK2B,OAAO1B,SAASgQ,cAAcjE,YAAY9L,SAASC,cAAcH,KAAK2B,OAAO1B,UACzG8P,EAAQE,cAAcC,aAAaJ,EAAYC,GAC/CtF,OAAOmF,SAAS,CACZnH,SACAoH,UAAW7P,KAAK2B,OAAOkO,UACvBlF,MAAO3K,KAAK2B,OAAOgJ,QACpBtF,OAAOrF,KAAK2B,OAAO1B,SAG1BsF,eAEI,YAA+B,IAApBkF,OAAOmF,eAA2D,IAAxB5P,KAAK2B,OAAO1B,WAG3DC,SAASC,cAAcH,KAAK2B,OAAO1B,WCpBlCkQ,MAtBf,MAEIrQ,cACIE,KAAKoQ,OAAS,4BAElBvH,QAEI9H,OAAQf,KAAKoQ,QAASvH,MAAM,CACxBrI,QAAS,KACT6P,WAAY,CACRC,WAAY,OACZC,QAAS,MAKrBzH,UAEI/H,OAAQf,KAAKoQ,QAAStH,YCqD9B5I,SAAS0O,iBACL,mBACA,KAKI,MAAMQ,EAASlP,SAASgB,cAAc,UAEtCkO,EAAOR,iBAAiB,OAASnB,IApEvB,MACd,MAAMlM,EAAe,IAAI1B,EAAaqD,sBAAsBiC,OAAOT,MAAMU,SACnEwD,EAAU,IAAIuH,EACdhG,EAAqB,IAAIuB,EAAmBxI,sBAAuB3B,EAAcqH,GACjF5D,EAAW,IAAIkF,EAASC,EAAoBjH,uBAC5CsN,EAAkB,IAAIb,EAAgBzM,sBAAsBkF,UAC5D9G,EAAU4B,sBAAsB5B,QACtC,GAAgB,cAAZA,GAAuC,YAAZA,EAAuB,CACxB,IAAIwD,EAC1B5B,sBACA8B,GAGcE,OAGtB,GAAgB,YAAZ5D,EAAuB,CACQ,IAAI6G,EAC/BjF,sBACA8B,EACAwL,GAGmBtL,OAG3B,GAAgB,SAAZ5D,EAAoB,CACE,IAAIqH,EACtBzF,sBACA8B,GAGUE,OAGlB,GAAgB,aAAZ5D,EAAwB,CACC,IAAIoI,EACzBxG,sBACA8B,EACAwL,EACA5H,GAGa1D,OAGrB,GAAgB,YAAZ5D,EAAwB,CACA,IAAI2I,EACxB/G,sBACA8B,EACAwL,GAEYtL,OAGJ,aAAZ5D,GACAkP,EAAgBnL,UAaZoL,KAEJrB,EAAO7F,aAAa,MAAOrG,sBAAsBsC,OAAOkL,KACxDnS,OAAOoS,QAAQzN,sBAAsB0N,mBAAmBlJ,QACnDmJ,IACGzB,EAAO7F,aAAasH,EAAS,GAAIA,EAAS,MAI9C3N,sBAAsB4N,eAAeC,cACrC5B,EAA6BC,EAAQlM,sBAAsB4N,gBAI/D5Q,SAAS8B,KAAKyH,OAAO2F","file":"js/button.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","class ErrorHandler {\n\n constructor(genericErrorText)\n {\n this.genericErrorText = genericErrorText;\n this.wrapper = document.querySelector('.woocommerce-notices-wrapper');\n }\n\n genericError() {\n if (this.wrapper.classList.contains('ppcp-persist')) {\n return;\n }\n this.clear();\n this.message(this.genericErrorText)\n }\n\n message(text, persist = false)\n {\n this.wrapper.classList.add('woocommerce-error');\n if (persist) {\n this.wrapper.classList.add('ppcp-persist');\n } else {\n this.wrapper.classList.remove('ppcp-persist');\n }\n this.wrapper.innerText = this.sanitize(text);\n jQuery.scroll_to_notices(jQuery('.woocommerce-notices-wrapper'))\n }\n\n sanitize(text)\n {\n const textarea = document.createElement('textarea');\n textarea.innerHTML = text;\n return textarea.value.replace('Error: ', '');\n }\n\n clear()\n {\n if (! this.wrapper.classList.contains('woocommerce-error')) {\n return;\n }\n this.wrapper.classList.remove('woocommerce-error');\n this.wrapper.innerText = '';\n }\n}\n\nexport default ErrorHandler;\n","const onApprove = (context, errorHandler) => {\n return (data, actions) => {\n return fetch(context.config.ajax.approve_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: context.config.ajax.approve_order.nonce,\n order_id:data.orderID\n })\n }).then((res)=>{\n return res.json();\n }).then((data)=>{\n if (!data.success) {\n errorHandler.genericError();\n return actions.restart().catch(err => {\n errorHandler.genericError();\n });;\n }\n location.href = context.config.redirect;\n });\n\n }\n}\n\nexport default onApprove;\n","export const payerData = () => {\n const payer = PayPalCommerceGateway.payer;\n if (! payer) {\n return null;\n }\n\n const phone = (document.querySelector('#billing_phone') || typeof payer.phone !== 'undefined') ?\n {\n phone_type:\"HOME\",\n phone_number:{\n national_number : (document.querySelector('#billing_phone')) ? document.querySelector('#billing_phone').value : payer.phone.phone_number.national_number\n }\n } : null;\n const payerData = {\n email_address:(document.querySelector('#billing_email')) ? document.querySelector('#billing_email').value : payer.email_address,\n name : {\n surname: (document.querySelector('#billing_last_name')) ? document.querySelector('#billing_last_name').value : payer.name.surname,\n given_name: (document.querySelector('#billing_first_name')) ? document.querySelector('#billing_first_name').value : payer.name.given_name\n },\n address : {\n country_code : (document.querySelector('#billing_country')) ? document.querySelector('#billing_country').value : payer.address.country_code,\n address_line_1 : (document.querySelector('#billing_address_1')) ? document.querySelector('#billing_address_1').value : payer.address.address_line_1,\n address_line_2 : (document.querySelector('#billing_address_2')) ? document.querySelector('#billing_address_2').value : payer.address.address_line_2,\n admin_area_1 : (document.querySelector('#billing_state')) ? document.querySelector('#billing_state').value : payer.address.admin_area_1,\n admin_area_2 : (document.querySelector('#billing_city')) ? document.querySelector('#billing_city').value : payer.address.admin_area_2,\n postal_code : (document.querySelector('#billing_postcode')) ? document.querySelector('#billing_postcode').value : payer.address.postal_code\n }\n };\n\n if (phone) {\n payerData.phone = phone;\n }\n return payerData;\n}\n","import onApprove from '../OnApproveHandler/onApproveForContinue.js';\nimport {payerData} from \"../Helper/PayerData\";\n\nclass CartActionHandler {\n\n constructor(config, errorHandler) {\n this.config = config;\n this.errorHandler = errorHandler;\n }\n\n configuration() {\n const createOrder = (data, actions) => {\n const payer = payerData();\n const bnCode = typeof this.config.bn_codes[this.config.context] !== 'undefined' ?\n this.config.bn_codes[this.config.context] : '';\n return fetch(this.config.ajax.create_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.config.ajax.create_order.nonce,\n purchase_units: [],\n bn_code:bnCode,\n payer,\n context:this.config.context\n }),\n }).then(function(res) {\n return res.json();\n }).then(function(data) {\n if (!data.success) {\n console.error(data);\n throw Error(data.data.message);\n }\n return data.data.id;\n });\n };\n\n return {\n createOrder,\n onApprove: onApprove(this, this.errorHandler),\n onError: (error) => {\n this.errorHandler.genericError();\n }\n };\n }\n}\n\nexport default CartActionHandler;\n","import ErrorHandler from '../ErrorHandler';\nimport CartActionHandler from '../ActionHandler/CartActionHandler';\n\nclass MiniCartBootstap {\n constructor(gateway, renderer) {\n this.gateway = gateway;\n this.renderer = renderer;\n this.actionHandler = null;\n }\n\n init() {\n\n this.actionHandler = new CartActionHandler(\n PayPalCommerceGateway,\n new ErrorHandler(this.gateway.labels.error.generic),\n );\n this.render();\n\n jQuery(document.body).on('wc_fragments_loaded wc_fragments_refreshed', () => {\n this.render();\n });\n }\n\n shouldRender() {\n return document.querySelector(this.gateway.button.mini_cart_wrapper) !==\n null || document.querySelector(this.gateway.hosted_fields.mini_cart_wrapper) !==\n null;\n }\n\n render() {\n if (!this.shouldRender()) {\n return;\n }\n\n this.renderer.render(\n this.gateway.button.mini_cart_wrapper,\n this.gateway.hosted_fields.mini_cart_wrapper,\n this.actionHandler.configuration()\n );\n }\n}\n\nexport default MiniCartBootstap;","class Product {\n\n constructor(id, quantity, variations) {\n this.id = id;\n this.quantity = quantity;\n this.variations = variations;\n }\n\n data() {\n return {\n id:this.id,\n quantity:this.quantity,\n variations:this.variations\n }\n }\n}\n\nexport default Product;","import Product from \"../Entity/Product\";\nclass UpdateCart {\n\n constructor(endpoint, nonce)\n {\n this.endpoint = endpoint;\n this.nonce = nonce;\n }\n\n /**\n *\n * @param onResolve\n * @param {Product[]} products\n * @returns {Promise<unknown>}\n */\n update(onResolve, products)\n {\n return new Promise((resolve, reject) => {\n fetch(\n this.endpoint,\n {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.nonce,\n products,\n })\n }\n ).then(\n (result) => {\n return result.json();\n }\n ).then((result) => {\n if (! result.success) {\n reject(result.data);\n return;\n }\n\n const resolved = onResolve(result.data);\n resolve(resolved);\n })\n });\n }\n}\n\nexport default UpdateCart;","/**\n * When you can't add something to the cart, the PayPal buttons should not show.\n * Therefore we listen for changes on the add to cart button and show/hide the buttons accordingly.\n */\n\nclass ButtonsToggleListener {\n constructor(element, showCallback, hideCallback)\n {\n this.element = element;\n this.showCallback = showCallback;\n this.hideCallback = hideCallback;\n this.observer = null;\n }\n\n init()\n {\n const config = { attributes : true };\n const callback = () => {\n if (this.element.classList.contains('disabled')) {\n this.hideCallback();\n return;\n }\n this.showCallback();\n }\n this.observer = new MutationObserver(callback);\n this.observer.observe(this.element, config);\n callback();\n }\n\n disconnect()\n {\n this.observer.disconnect();\n }\n}\n\nexport default ButtonsToggleListener;","import ButtonsToggleListener from '../Helper/ButtonsToggleListener';\nimport Product from '../Entity/Product';\nimport onApprove from '../OnApproveHandler/onApproveForContinue';\nimport {payerData} from \"../Helper/PayerData\";\n\nclass SingleProductActionHandler {\n\n constructor(\n config,\n updateCart,\n showButtonCallback,\n hideButtonCallback,\n formElement,\n errorHandler\n ) {\n this.config = config;\n this.updateCart = updateCart;\n this.showButtonCallback = showButtonCallback;\n this.hideButtonCallback = hideButtonCallback;\n this.formElement = formElement;\n this.errorHandler = errorHandler;\n }\n\n configuration()\n {\n\n if ( this.hasVariations() ) {\n const observer = new ButtonsToggleListener(\n this.formElement.querySelector('.single_add_to_cart_button'),\n this.showButtonCallback,\n this.hideButtonCallback\n );\n observer.init();\n }\n\n return {\n createOrder: this.createOrder(),\n onApprove: onApprove(this, this.errorHandler),\n onError: (error) => {\n this.errorHandler.genericError();\n }\n }\n }\n\n createOrder()\n {\n var getProducts = null;\n if (! this.isGroupedProduct() ) {\n getProducts = () => {\n const id = document.querySelector('[name=\"add-to-cart\"]').value;\n const qty = document.querySelector('[name=\"quantity\"]').value;\n const variations = this.variations();\n return [new Product(id, qty, variations)];\n }\n } else {\n getProducts = () => {\n const products = [];\n this.formElement.querySelectorAll('input[type=\"number\"]').forEach((element) => {\n if (! element.value) {\n return;\n }\n const elementName = element.getAttribute('name').match(/quantity\\[([\\d]*)\\]/);\n if (elementName.length !== 2) {\n return;\n }\n const id = parseInt(elementName[1]);\n const quantity = parseInt(element.value);\n products.push(new Product(id, quantity, null));\n })\n return products;\n }\n }\n const createOrder = (data, actions) => {\n this.errorHandler.clear();\n\n const onResolve = (purchase_units) => {\n const payer = payerData();\n const bnCode = typeof this.config.bn_codes[this.config.context] !== 'undefined' ?\n this.config.bn_codes[this.config.context] : '';\n return fetch(this.config.ajax.create_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.config.ajax.create_order.nonce,\n purchase_units,\n payer,\n bn_code:bnCode,\n context:this.config.context\n })\n }).then(function (res) {\n return res.json();\n }).then(function (data) {\n if (!data.success) {\n console.error(data);\n throw Error(data.data.message);\n }\n return data.data.id;\n });\n };\n\n const promise = this.updateCart.update(onResolve, getProducts());\n return promise;\n };\n return createOrder;\n }\n\n variations()\n {\n\n if (! this.hasVariations()) {\n return null;\n }\n const attributes = [...this.formElement.querySelectorAll(\"[name^='attribute_']\")].map(\n (element) => {\n return {\n value:element.value,\n name:element.name\n }\n }\n );\n return attributes;\n }\n\n hasVariations()\n {\n return this.formElement.classList.contains('variations_form');\n }\n\n isGroupedProduct()\n {\n return this.formElement.classList.contains('grouped_form');\n }\n}\nexport default SingleProductActionHandler;\n","import ErrorHandler from '../ErrorHandler';\nimport UpdateCart from \"../Helper/UpdateCart\";\nimport SingleProductActionHandler from \"../ActionHandler/SingleProductActionHandler\";\n\nclass SingleProductBootstap {\n constructor(gateway, renderer, messages) {\n this.gateway = gateway;\n this.renderer = renderer;\n this.messages = messages;\n }\n\n init() {\n if (!this.shouldRender()) {\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n return;\n }\n\n this.render();\n }\n\n shouldRender() {\n if (document.querySelector('form.cart') === null) {\n return false;\n }\n\n return true;\n }\n\n render() {\n const actionHandler = new SingleProductActionHandler(\n this.gateway,\n new UpdateCart(\n this.gateway.ajax.change_cart.endpoint,\n this.gateway.ajax.change_cart.nonce,\n ),\n () => {\n this.renderer.showButtons(this.gateway.button.wrapper);\n this.renderer.showButtons(this.gateway.hosted_fields.wrapper);\n let priceText = \"0\";\n if (document.querySelector('form.cart ins .woocommerce-Price-amount')) {\n priceText = document.querySelector('form.cart ins .woocommerce-Price-amount').innerText;\n }\n else if (document.querySelector('form.cart .woocommerce-Price-amount')) {\n priceText = document.querySelector('form.cart .woocommerce-Price-amount').innerText;\n }\n const amount = parseInt(priceText.replace(/([^\\d,\\.\\s]*)/g, ''));\n this.messages.renderWithAmount(amount)\n },\n () => {\n this.renderer.hideButtons(this.gateway.button.wrapper);\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n },\n document.querySelector('form.cart'),\n new ErrorHandler(this.gateway.labels.error.generic),\n );\n\n this.renderer.render(\n this.gateway.button.wrapper,\n this.gateway.hosted_fields.wrapper,\n actionHandler.configuration(),\n );\n }\n}\n\nexport default SingleProductBootstap;","import CartActionHandler from '../ActionHandler/CartActionHandler';\nimport ErrorHandler from '../ErrorHandler';\n\nclass CartBootstrap {\n constructor(gateway, renderer) {\n this.gateway = gateway;\n this.renderer = renderer;\n }\n\n init() {\n if (!this.shouldRender()) {\n return;\n }\n\n this.render();\n\n jQuery(document.body).on('updated_cart_totals updated_checkout', () => {\n this.render();\n });\n }\n\n shouldRender() {\n return document.querySelector(this.gateway.button.wrapper) !==\n null || document.querySelector(this.gateway.hosted_fields.wrapper) !==\n null;\n }\n\n render() {\n const actionHandler = new CartActionHandler(\n PayPalCommerceGateway,\n new ErrorHandler(this.gateway.labels.error.generic),\n );\n\n this.renderer.render(\n this.gateway.button.wrapper,\n this.gateway.hosted_fields.wrapper,\n actionHandler.configuration(),\n );\n }\n}\n\nexport default CartBootstrap;","const onApprove = (context, errorHandler, spinner) => {\n return (data, actions) => {\n spinner.block();\n return fetch(context.config.ajax.approve_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: context.config.ajax.approve_order.nonce,\n order_id:data.orderID\n })\n }).then((res)=>{\n return res.json();\n }).then((data)=>{\n spinner.unblock();\n if (!data.success) {\n if (data.data.code === 100) {\n errorHandler.message(data.data.message);\n } else {\n errorHandler.genericError();\n }\n if (typeof actions !== 'undefined' && typeof actions.restart !== 'undefined') {\n return actions.restart();\n }\n throw new Error(data.data.message);\n }\n document.querySelector('#place_order').click()\n });\n\n }\n}\n\nexport default onApprove;\n","import onApprove from '../OnApproveHandler/onApproveForPayNow.js';\nimport {payerData} from \"../Helper/PayerData\";\n\nclass CheckoutActionHandler {\n\n constructor(config, errorHandler, spinner) {\n this.config = config;\n this.errorHandler = errorHandler;\n this.spinner = spinner;\n }\n\n configuration() {\n const spinner = this.spinner;\n const createOrder = (data, actions) => {\n const payer = payerData();\n const bnCode = typeof this.config.bn_codes[this.config.context] !== 'undefined' ?\n this.config.bn_codes[this.config.context] : '';\n\n\n const errorHandler = this.errorHandler;\n const formSelector = this.config.context === 'checkout' ? 'form.checkout' : 'form#order_review';\n const formValues = jQuery(formSelector).serialize();\n\n return fetch(this.config.ajax.create_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.config.ajax.create_order.nonce,\n payer,\n bn_code:bnCode,\n context:this.config.context,\n order_id:this.config.order_id,\n form:formValues\n })\n }).then(function (res) {\n return res.json();\n }).then(function (data) {\n if (!data.success) {\n spinner.unblock();\n errorHandler.message(data.data.message, true);\n return;\n }\n const input = document.createElement('input');\n input.setAttribute('type', 'hidden');\n input.setAttribute('name', 'ppcp-resume-order');\n input.setAttribute('value', data.data.purchase_units[0].custom_id);\n document.querySelector(formSelector).append(input);\n return data.data.id;\n });\n }\n return {\n createOrder,\n onApprove:onApprove(this, this.errorHandler, this.spinner),\n onError: (error) => {\n this.errorHandler.genericError();\n }\n }\n }\n}\n\nexport default CheckoutActionHandler;\n","import ErrorHandler from '../ErrorHandler';\nimport CheckoutActionHandler from '../ActionHandler/CheckoutActionHandler';\n\nclass CheckoutBootstap {\n constructor(gateway, renderer, messages, spinner) {\n this.gateway = gateway;\n this.renderer = renderer;\n this.messages = messages;\n this.spinner = spinner;\n }\n\n init() {\n\n this.render();\n\n jQuery(document.body).on('updated_checkout', () => {\n this.render();\n });\n\n jQuery(document.body).\n on('updated_checkout payment_method_selected', () => {\n this.switchBetweenPayPalandOrderButton();\n });\n this.switchBetweenPayPalandOrderButton();\n }\n\n shouldRender() {\n if (document.querySelector(this.gateway.button.cancel_wrapper)) {\n return false;\n }\n\n return document.querySelector(this.gateway.button.wrapper) !== null || document.querySelector(this.gateway.hosted_fields.wrapper) !== null;\n }\n\n render() {\n if (!this.shouldRender()) {\n return;\n }\n if (document.querySelector(this.gateway.hosted_fields.wrapper + '>div')) {\n document.querySelector(this.gateway.hosted_fields.wrapper + '>div').setAttribute('style', '');\n }\n const actionHandler = new CheckoutActionHandler(\n PayPalCommerceGateway,\n new ErrorHandler(this.gateway.labels.error.generic),\n this.spinner\n );\n\n this.renderer.render(\n this.gateway.button.wrapper,\n this.gateway.hosted_fields.wrapper,\n actionHandler.configuration(),\n );\n }\n\n switchBetweenPayPalandOrderButton() {\n const currentPaymentMethod = jQuery(\n 'input[name=\"payment_method\"]:checked').val();\n\n if (currentPaymentMethod !== 'ppcp-gateway' && currentPaymentMethod !== 'ppcp-credit-card-gateway') {\n this.renderer.hideButtons(this.gateway.button.wrapper);\n this.renderer.hideButtons(this.gateway.messages.wrapper);\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n jQuery('#place_order').show();\n }\n else {\n jQuery('#place_order').hide();\n if (currentPaymentMethod === 'ppcp-gateway') {\n this.renderer.showButtons(this.gateway.button.wrapper);\n this.renderer.showButtons(this.gateway.messages.wrapper);\n this.messages.render();\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n }\n if (currentPaymentMethod === 'ppcp-credit-card-gateway') {\n this.renderer.hideButtons(this.gateway.button.wrapper);\n this.renderer.hideButtons(this.gateway.messages.wrapper);\n this.renderer.showButtons(this.gateway.hosted_fields.wrapper);\n }\n }\n }\n}\n\nexport default CheckoutBootstap;","import ErrorHandler from '../ErrorHandler';\nimport CheckoutActionHandler from '../ActionHandler/CheckoutActionHandler';\n\nclass PayNowBootstrap {\n constructor(gateway, renderer, messages) {\n this.gateway = gateway;\n this.renderer = renderer;\n this.messages = messages\n }\n\n init() {\n\n this.render();\n\n jQuery(document.body).on('updated_checkout', () => {\n this.render();\n });\n\n jQuery(document.body).\n on('updated_checkout payment_method_selected', () => {\n this.switchBetweenPayPalandOrderButton();\n });\n this.switchBetweenPayPalandOrderButton();\n }\n\n shouldRender() {\n if (document.querySelector(this.gateway.button.cancel_wrapper)) {\n return false;\n }\n\n return document.querySelector(this.gateway.button.wrapper) !== null || document.querySelector(this.gateway.hosted_fields.wrapper) !== null;\n }\n\n render() {\n if (!this.shouldRender()) {\n return;\n }\n if (document.querySelector(this.gateway.hosted_fields.wrapper + '>div')) {\n document.querySelector(this.gateway.hosted_fields.wrapper + '>div').setAttribute('style', '');\n }\n const actionHandler = new CheckoutActionHandler(\n PayPalCommerceGateway,\n new ErrorHandler(this.gateway.labels.error.generic),\n );\n\n this.renderer.render(\n this.gateway.button.wrapper,\n this.gateway.hosted_fields.wrapper,\n actionHandler.configuration(),\n );\n }\n\n switchBetweenPayPalandOrderButton() {\n const currentPaymentMethod = jQuery(\n 'input[name=\"payment_method\"]:checked').val();\n\n if (currentPaymentMethod !== 'ppcp-gateway' && currentPaymentMethod !== 'ppcp-credit-card-gateway') {\n this.renderer.hideButtons(this.gateway.button.wrapper);\n this.renderer.hideButtons(this.gateway.messages.wrapper);\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n jQuery('#place_order').show();\n }\n else {\n jQuery('#place_order').hide();\n if (currentPaymentMethod === 'ppcp-gateway') {\n this.renderer.showButtons(this.gateway.button.wrapper);\n this.renderer.showButtons(this.gateway.messages.wrapper);\n this.messages.render();\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n }\n if (currentPaymentMethod === 'ppcp-credit-card-gateway') {\n this.renderer.hideButtons(this.gateway.button.wrapper);\n this.renderer.hideButtons(this.gateway.messages.wrapper);\n this.renderer.showButtons(this.gateway.hosted_fields.wrapper);\n }\n }\n }\n}\n\nexport default PayNowBootstrap;","class Renderer {\n constructor(creditCardRenderer, defaultConfig) {\n this.defaultConfig = defaultConfig;\n this.creditCardRenderer = creditCardRenderer;\n }\n\n render(wrapper, hostedFieldsWrapper, contextConfig) {\n\n this.renderButtons(wrapper, contextConfig);\n this.creditCardRenderer.render(hostedFieldsWrapper, contextConfig);\n }\n\n renderButtons(wrapper, contextConfig) {\n if (! document.querySelector(wrapper) || this.isAlreadyRendered(wrapper) || 'undefined' === typeof paypal.Buttons ) {\n return;\n }\n\n const style = wrapper === this.defaultConfig.button.wrapper ? this.defaultConfig.button.style : this.defaultConfig.button.mini_cart_style;\n paypal.Buttons({\n style,\n ...contextConfig,\n }).render(wrapper);\n }\n\n isAlreadyRendered(wrapper) {\n return document.querySelector(wrapper).hasChildNodes();\n }\n\n hideButtons(element) {\n const domElement = document.querySelector(element);\n if (! domElement ) {\n return false;\n }\n domElement.style.display = 'none';\n return true;\n }\n\n showButtons(element) {\n const domElement = document.querySelector(element);\n if (! domElement ) {\n return false;\n }\n domElement.style.display = 'block';\n return true;\n }\n}\n\nexport default Renderer;","const dccInputFactory = (original) => {\n const styles = window.getComputedStyle(original);\n const newElement = document.createElement('span');\n newElement.setAttribute('id', original.id);\n Object.values(styles).forEach( (prop) => {\n if (! styles[prop] || ! isNaN(prop) ) {\n return;\n }\n newElement.style.setProperty(prop,'' + styles[prop]);\n });\n return newElement;\n}\n\nexport default dccInputFactory;","import dccInputFactory from \"../Helper/DccInputFactory\";\n\nclass CreditCardRenderer {\n\n constructor(defaultConfig, errorHandler, spinner) {\n this.defaultConfig = defaultConfig;\n this.errorHandler = errorHandler;\n this.spinner = spinner;\n this.cardValid = false;\n }\n\n render(wrapper, contextConfig) {\n\n if (\n (\n this.defaultConfig.context !== 'checkout'\n && this.defaultConfig.context !== 'pay-now'\n )\n || wrapper === null\n || document.querySelector(wrapper) === null\n ) {\n return;\n }\n if (\n typeof paypal.HostedFields === 'undefined'\n || ! paypal.HostedFields.isEligible()\n ) {\n const wrapperElement = document.querySelector(wrapper);\n wrapperElement.parentNode.removeChild(wrapperElement);\n return;\n }\n\n const gateWayBox = document.querySelector('.payment_box.payment_method_ppcp-credit-card-gateway');\n const oldDisplayStyle = gateWayBox.style.display;\n gateWayBox.style.display = 'block';\n\n const hideDccGateway = document.querySelector('#ppcp-hide-dcc');\n if (hideDccGateway) {\n hideDccGateway.parentNode.removeChild(hideDccGateway);\n }\n\n const cardNumberField = document.querySelector('#ppcp-credit-card-gateway-card-number');\n\n const stylesRaw = window.getComputedStyle(cardNumberField);\n let styles = {};\n Object.values(stylesRaw).forEach( (prop) => {\n if (! stylesRaw[prop]) {\n return;\n }\n styles[prop] = '' + stylesRaw[prop];\n });\n\n const cardNumber = dccInputFactory(cardNumberField);\n cardNumberField.parentNode.replaceChild(cardNumber, cardNumberField);\n\n const cardExpiryField = document.querySelector('#ppcp-credit-card-gateway-card-expiry');\n const cardExpiry = dccInputFactory(cardExpiryField);\n cardExpiryField.parentNode.replaceChild(cardExpiry, cardExpiryField);\n\n const cardCodeField = document.querySelector('#ppcp-credit-card-gateway-card-cvc');\n const cardCode = dccInputFactory(cardCodeField);\n cardCodeField.parentNode.replaceChild(cardCode, cardCodeField);\n\n gateWayBox.style.display = oldDisplayStyle;\n\n const formWrapper = '.payment_box payment_method_ppcp-credit-card-gateway';\n if (\n this.defaultConfig.enforce_vault\n && document.querySelector(formWrapper + ' .ppcp-credit-card-vault')\n ) {\n document.querySelector(formWrapper + ' .ppcp-credit-card-vault').checked = true;\n document.querySelector(formWrapper + ' .ppcp-credit-card-vault').setAttribute('disabled', true);\n }\n paypal.HostedFields.render({\n createOrder: contextConfig.createOrder,\n styles: {\n 'input': styles\n },\n fields: {\n number: {\n selector: '#ppcp-credit-card-gateway-card-number',\n placeholder: this.defaultConfig.hosted_fields.labels.credit_card_number,\n },\n cvv: {\n selector: '#ppcp-credit-card-gateway-card-cvc',\n placeholder: this.defaultConfig.hosted_fields.labels.cvv,\n },\n expirationDate: {\n selector: '#ppcp-credit-card-gateway-card-expiry',\n placeholder: this.defaultConfig.hosted_fields.labels.mm_yyyy,\n }\n }\n }).then(hostedFields => {\n const submitEvent = (event) => {\n this.spinner.block();\n if (event) {\n event.preventDefault();\n }\n this.errorHandler.clear();\n const state = hostedFields.getState();\n const formValid = Object.keys(state.fields).every(function (key) {\n return state.fields[key].isValid;\n });\n\n if (formValid && this.cardValid) {\n\n let vault = document.querySelector(wrapper + ' .ppcp-credit-card-vault') ?\n document.querySelector(wrapper + ' .ppcp-credit-card-vault').checked : false;\n vault = this.defaultConfig.enforce_vault || vault;\n\n hostedFields.submit({\n contingencies: ['3D_SECURE'],\n vault\n }).then((payload) => {\n payload.orderID = payload.orderId;\n this.spinner.unblock();\n return contextConfig.onApprove(payload);\n });\n } else {\n this.spinner.unblock();\n const message = ! this.cardValid ? this.defaultConfig.hosted_fields.labels.card_not_supported : this.defaultConfig.hosted_fields.labels.fields_not_valid;\n this.errorHandler.message(message);\n }\n }\n hostedFields.on('inputSubmitRequest', function () {\n submitEvent(null);\n });\n hostedFields.on('cardTypeChange', (event) => {\n if ( ! event.cards.length ) {\n this.cardValid = false;\n return;\n }\n const validCards = this.defaultConfig.hosted_fields.valid_cards;\n this.cardValid = validCards.indexOf(event.cards[0].type) !== -1;\n })\n document.querySelector(wrapper + ' button').addEventListener(\n 'click',\n submitEvent\n );\n });\n\n document.querySelector('#payment_method_ppcp-credit-card-gateway').addEventListener(\n 'click',\n () => {\n document.querySelector('label[for=ppcp-credit-card-gateway-card-number]').click();\n }\n )\n }\n}\nexport default CreditCardRenderer;","const storageKey = 'ppcp-data-client-id';\n\nconst validateToken = (token, user) => {\n if (! token) {\n return false;\n }\n if (token.user !== user) {\n return false;\n }\n const currentTime = new Date().getTime();\n const isExpired = currentTime >= token.expiration * 1000;\n return ! isExpired;\n}\n\nconst storedTokenForUser = (user) => {\n const token = JSON.parse(sessionStorage.getItem(storageKey));\n if (validateToken(token, user)) {\n return token.token;\n }\n return null;\n}\n\nconst storeToken = (token) => {\n sessionStorage.setItem(storageKey, JSON.stringify(token));\n}\n\nconst dataClientIdAttributeHandler = (script, config) => {\n const token = storedTokenForUser(config.user);\n if (token) {\n script.setAttribute('data-client-token', token);\n document.body.append(script);\n return;\n }\n fetch(config.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: config.nonce\n })\n }).then((res)=>{\n return res.json();\n }).then((data)=>{\n const isValid = validateToken(data, config.user);\n if (!isValid) {\n return;\n }\n storeToken(data);\n script.setAttribute('data-client-token', data.token);\n document.body.append(script);\n });\n}\n\nexport default dataClientIdAttributeHandler;","class MessageRenderer {\n\n constructor(config) {\n this.config = config;\n }\n\n render() {\n if (! this.shouldRender()) {\n return;\n }\n\n paypal.Messages({\n amount: this.config.amount,\n placement: this.config.placement,\n style: this.config.style\n }).render(this.config.wrapper);\n }\n\n renderWithAmount(amount) {\n\n if (! this.shouldRender()) {\n return;\n }\n\n const newWrapper = document.createElement('div');\n newWrapper.setAttribute('id', this.config.wrapper.replace('#', ''));\n\n const sibling = document.querySelector(this.config.wrapper).nextSibling;\n document.querySelector(this.config.wrapper).parentElement.removeChild(document.querySelector(this.config.wrapper));\n sibling.parentElement.insertBefore(newWrapper, sibling);\n paypal.Messages({\n amount,\n placement: this.config.placement,\n style: this.config.style\n }).render(this.config.wrapper);\n }\n\n shouldRender() {\n\n if (typeof paypal.Messages === 'undefined' || typeof this.config.wrapper === 'undefined' ) {\n return false;\n }\n if (! document.querySelector(this.config.wrapper)) {\n return false;\n }\n return true;\n }\n}\nexport default MessageRenderer;","class Spinner {\n\n constructor() {\n this.target = 'form.woocommerce-checkout';\n }\n block() {\n\n jQuery( this.target ).block({\n message: null,\n overlayCSS: {\n background: '#fff',\n opacity: 0.6\n }\n });\n }\n\n unblock() {\n\n jQuery( this.target ).unblock();\n }\n}\n\nexport default Spinner;","import MiniCartBootstap from './modules/ContextBootstrap/MiniCartBootstap';\nimport SingleProductBootstap from './modules/ContextBootstrap/SingleProductBootstap';\nimport CartBootstrap from './modules/ContextBootstrap/CartBootstap';\nimport CheckoutBootstap from './modules/ContextBootstrap/CheckoutBootstap';\nimport PayNowBootstrap from \"./modules/ContextBootstrap/PayNowBootstrap\";\nimport Renderer from './modules/Renderer/Renderer';\nimport ErrorHandler from './modules/ErrorHandler';\nimport CreditCardRenderer from \"./modules/Renderer/CreditCardRenderer\";\nimport dataClientIdAttributeHandler from \"./modules/DataClientIdAttributeHandler\";\nimport MessageRenderer from \"./modules/Renderer/MessageRenderer\";\nimport Spinner from \"./modules/Helper/Spinner\";\n\nconst bootstrap = () => {\n const errorHandler = new ErrorHandler(PayPalCommerceGateway.labels.error.generic);\n const spinner = new Spinner();\n const creditCardRenderer = new CreditCardRenderer(PayPalCommerceGateway, errorHandler, spinner);\n const renderer = new Renderer(creditCardRenderer, PayPalCommerceGateway);\n const messageRenderer = new MessageRenderer(PayPalCommerceGateway.messages);\n const context = PayPalCommerceGateway.context;\n if (context === 'mini-cart' || context === 'product') {\n const miniCartBootstrap = new MiniCartBootstap(\n PayPalCommerceGateway,\n renderer\n );\n\n miniCartBootstrap.init();\n }\n\n if (context === 'product') {\n const singleProductBootstrap = new SingleProductBootstap(\n PayPalCommerceGateway,\n renderer,\n messageRenderer,\n );\n\n singleProductBootstrap.init();\n }\n\n if (context === 'cart') {\n const cartBootstrap = new CartBootstrap(\n PayPalCommerceGateway,\n renderer,\n );\n\n cartBootstrap.init();\n }\n\n if (context === 'checkout') {\n const checkoutBootstap = new CheckoutBootstap(\n PayPalCommerceGateway,\n renderer,\n messageRenderer,\n spinner\n );\n\n checkoutBootstap.init();\n }\n\n if (context === 'pay-now' ) {\n const payNowBootstrap = new PayNowBootstrap(\n PayPalCommerceGateway,\n renderer,\n messageRenderer\n );\n payNowBootstrap.init();\n }\n\n if (context !== 'checkout') {\n messageRenderer.render();\n }\n};\ndocument.addEventListener(\n 'DOMContentLoaded',\n () => {\n if (!typeof (PayPalCommerceGateway)) {\n console.error('PayPal button could not be configured.');\n return;\n }\n const script = document.createElement('script');\n\n script.addEventListener('load', (event) => {\n bootstrap();\n });\n script.setAttribute('src', PayPalCommerceGateway.button.url);\n Object.entries(PayPalCommerceGateway.script_attributes).forEach(\n (keyValue) => {\n script.setAttribute(keyValue[0], keyValue[1]);\n }\n );\n\n if (PayPalCommerceGateway.data_client_id.set_attribute) {\n dataClientIdAttributeHandler(script, PayPalCommerceGateway.data_client_id);\n return;\n }\n\n document.body.append(script);\n },\n);"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./resources/js/modules/ErrorHandler.js","webpack:///./resources/js/modules/OnApproveHandler/onApproveForContinue.js","webpack:///./resources/js/modules/Helper/PayerData.js","webpack:///./resources/js/modules/ActionHandler/CartActionHandler.js","webpack:///./resources/js/modules/ContextBootstrap/MiniCartBootstap.js","webpack:///./resources/js/modules/Entity/Product.js","webpack:///./resources/js/modules/Helper/UpdateCart.js","webpack:///./resources/js/modules/Helper/ButtonsToggleListener.js","webpack:///./resources/js/modules/ActionHandler/SingleProductActionHandler.js","webpack:///./resources/js/modules/ContextBootstrap/SingleProductBootstap.js","webpack:///./resources/js/modules/ContextBootstrap/CartBootstap.js","webpack:///./resources/js/modules/OnApproveHandler/onApproveForPayNow.js","webpack:///./resources/js/modules/ActionHandler/CheckoutActionHandler.js","webpack:///./resources/js/modules/ContextBootstrap/CheckoutBootstap.js","webpack:///./resources/js/modules/ContextBootstrap/PayNowBootstrap.js","webpack:///./resources/js/modules/Renderer/Renderer.js","webpack:///./resources/js/modules/Helper/DccInputFactory.js","webpack:///./resources/js/modules/Renderer/CreditCardRenderer.js","webpack:///./resources/js/modules/DataClientIdAttributeHandler.js","webpack:///./resources/js/modules/Renderer/MessageRenderer.js","webpack:///./resources/js/modules/Helper/Spinner.js","webpack:///./resources/js/button.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","ErrorHandler","constructor","genericErrorText","this","wrapper","document","querySelector","genericError","classList","contains","clear","message","text","persist","add","remove","innerHTML","sanitize","jQuery","scroll_to_notices","textarea","createElement","replace","innerText","onApprove","context","errorHandler","data","actions","fetch","config","ajax","approve_order","endpoint","method","body","JSON","stringify","nonce","order_id","orderID","then","res","json","success","restart","catch","err","location","href","redirect","payerData","payer","PayPalCommerceGateway","phone","phone_type","phone_number","national_number","email_address","surname","given_name","address","country_code","address_line_1","address_line_2","admin_area_1","admin_area_2","postal_code","CartActionHandler","configuration","createOrder","bnCode","bn_codes","create_order","purchase_units","bn_code","console","error","Error","id","onError","MiniCartBootstap","gateway","renderer","actionHandler","init","labels","generic","render","on","shouldRender","button","mini_cart_wrapper","hosted_fields","Product","quantity","variations","UpdateCart","update","onResolve","products","Promise","resolve","reject","result","resolved","ButtonsToggleListener","element","showCallback","hideCallback","observer","callback","MutationObserver","observe","attributes","disconnect","SingleProductActionHandler","updateCart","showButtonCallback","hideButtonCallback","formElement","hasVariations","getProducts","isGroupedProduct","querySelectorAll","forEach","elementName","getAttribute","match","length","parseInt","push","qty","map","SingleProductBootstap","messages","hideButtons","change_cart","showButtons","priceText","amount","renderWithAmount","CartBootstrap","spinner","block","unblock","code","click","CheckoutActionHandler","formSelector","formValues","serialize","form","input","setAttribute","custom_id","append","CheckoutBootstap","switchBetweenPayPalandOrderButton","cancel_wrapper","currentPaymentMethod","val","show","hide","PayNowBootstrap","Renderer","creditCardRenderer","defaultConfig","hostedFieldsWrapper","contextConfig","renderButtons","isAlreadyRendered","paypal","Buttons","style","mini_cart_style","hasChildNodes","domElement","display","dccInputFactory","original","styles","window","getComputedStyle","newElement","values","prop","isNaN","setProperty","CreditCardRenderer","cardValid","HostedFields","isEligible","wrapperElement","parentNode","removeChild","gateWayBox","oldDisplayStyle","hideDccGateway","cardNumberField","stylesRaw","cardNumber","replaceChild","cardExpiryField","cardExpiry","cardCodeField","cardCode","formWrapper","enforce_vault","checked","fields","number","selector","placeholder","credit_card_number","cvv","expirationDate","mm_yyyy","hostedFields","submitEvent","event","preventDefault","state","getState","keys","every","isValid","vault","submit","contingencies","payload","orderId","fields_not_valid","card_not_supported","cards","validCards","valid_cards","indexOf","type","addEventListener","validateToken","token","user","Date","getTime","expiration","dataClientIdAttributeHandler","script","parse","sessionStorage","getItem","storedTokenForUser","setItem","storeToken","MessageRenderer","Messages","placement","newWrapper","sibling","nextSibling","parentElement","insertBefore","Spinner","target","overlayCSS","background","opacity","messageRenderer","bootstrap","url","entries","script_attributes","keyValue","data_client_id","set_attribute"],"mappings":"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","file":"js/button.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","class ErrorHandler {\n\n constructor(genericErrorText)\n {\n this.genericErrorText = genericErrorText;\n this.wrapper = document.querySelector('.woocommerce-notices-wrapper');\n }\n\n genericError() {\n if (this.wrapper.classList.contains('ppcp-persist')) {\n return;\n }\n this.clear();\n this.message(this.genericErrorText)\n }\n\n message(text, persist = false)\n {\n this.wrapper.classList.add('woocommerce-error');\n if (persist) {\n this.wrapper.classList.add('ppcp-persist');\n } else {\n this.wrapper.classList.remove('ppcp-persist');\n }\n this.wrapper.innerHTML = this.sanitize(text);\n jQuery.scroll_to_notices(jQuery('.woocommerce-notices-wrapper'))\n }\n\n sanitize(text)\n {\n const textarea = document.createElement('textarea');\n textarea.innerHTML = text;\n return textarea.value.replace('Error: ', '');\n }\n\n clear()\n {\n if (! this.wrapper.classList.contains('woocommerce-error')) {\n return;\n }\n this.wrapper.classList.remove('woocommerce-error');\n this.wrapper.innerText = '';\n }\n}\n\nexport default ErrorHandler;\n","const onApprove = (context, errorHandler) => {\n return (data, actions) => {\n return fetch(context.config.ajax.approve_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: context.config.ajax.approve_order.nonce,\n order_id:data.orderID\n })\n }).then((res)=>{\n return res.json();\n }).then((data)=>{\n if (!data.success) {\n errorHandler.genericError();\n return actions.restart().catch(err => {\n errorHandler.genericError();\n });;\n }\n location.href = context.config.redirect;\n });\n\n }\n}\n\nexport default onApprove;\n","export const payerData = () => {\n const payer = PayPalCommerceGateway.payer;\n if (! payer) {\n return null;\n }\n\n const phone = (document.querySelector('#billing_phone') || typeof payer.phone !== 'undefined') ?\n {\n phone_type:\"HOME\",\n phone_number:{\n national_number : (document.querySelector('#billing_phone')) ? document.querySelector('#billing_phone').value : payer.phone.phone_number.national_number\n }\n } : null;\n const payerData = {\n email_address:(document.querySelector('#billing_email')) ? document.querySelector('#billing_email').value : payer.email_address,\n name : {\n surname: (document.querySelector('#billing_last_name')) ? document.querySelector('#billing_last_name').value : payer.name.surname,\n given_name: (document.querySelector('#billing_first_name')) ? document.querySelector('#billing_first_name').value : payer.name.given_name\n },\n address : {\n country_code : (document.querySelector('#billing_country')) ? document.querySelector('#billing_country').value : payer.address.country_code,\n address_line_1 : (document.querySelector('#billing_address_1')) ? document.querySelector('#billing_address_1').value : payer.address.address_line_1,\n address_line_2 : (document.querySelector('#billing_address_2')) ? document.querySelector('#billing_address_2').value : payer.address.address_line_2,\n admin_area_1 : (document.querySelector('#billing_state')) ? document.querySelector('#billing_state').value : payer.address.admin_area_1,\n admin_area_2 : (document.querySelector('#billing_city')) ? document.querySelector('#billing_city').value : payer.address.admin_area_2,\n postal_code : (document.querySelector('#billing_postcode')) ? document.querySelector('#billing_postcode').value : payer.address.postal_code\n }\n };\n\n if (phone) {\n payerData.phone = phone;\n }\n return payerData;\n}\n","import onApprove from '../OnApproveHandler/onApproveForContinue.js';\nimport {payerData} from \"../Helper/PayerData\";\n\nclass CartActionHandler {\n\n constructor(config, errorHandler) {\n this.config = config;\n this.errorHandler = errorHandler;\n }\n\n configuration() {\n const createOrder = (data, actions) => {\n const payer = payerData();\n const bnCode = typeof this.config.bn_codes[this.config.context] !== 'undefined' ?\n this.config.bn_codes[this.config.context] : '';\n return fetch(this.config.ajax.create_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.config.ajax.create_order.nonce,\n purchase_units: [],\n bn_code:bnCode,\n payer,\n context:this.config.context\n }),\n }).then(function(res) {\n return res.json();\n }).then(function(data) {\n if (!data.success) {\n console.error(data);\n throw Error(data.data.message);\n }\n return data.data.id;\n });\n };\n\n return {\n createOrder,\n onApprove: onApprove(this, this.errorHandler),\n onError: (error) => {\n this.errorHandler.genericError();\n }\n };\n }\n}\n\nexport default CartActionHandler;\n","import ErrorHandler from '../ErrorHandler';\nimport CartActionHandler from '../ActionHandler/CartActionHandler';\n\nclass MiniCartBootstap {\n constructor(gateway, renderer) {\n this.gateway = gateway;\n this.renderer = renderer;\n this.actionHandler = null;\n }\n\n init() {\n\n this.actionHandler = new CartActionHandler(\n PayPalCommerceGateway,\n new ErrorHandler(this.gateway.labels.error.generic),\n );\n this.render();\n\n jQuery(document.body).on('wc_fragments_loaded wc_fragments_refreshed', () => {\n this.render();\n });\n }\n\n shouldRender() {\n return document.querySelector(this.gateway.button.mini_cart_wrapper) !==\n null || document.querySelector(this.gateway.hosted_fields.mini_cart_wrapper) !==\n null;\n }\n\n render() {\n if (!this.shouldRender()) {\n return;\n }\n\n this.renderer.render(\n this.gateway.button.mini_cart_wrapper,\n this.gateway.hosted_fields.mini_cart_wrapper,\n this.actionHandler.configuration()\n );\n }\n}\n\nexport default MiniCartBootstap;","class Product {\n\n constructor(id, quantity, variations) {\n this.id = id;\n this.quantity = quantity;\n this.variations = variations;\n }\n\n data() {\n return {\n id:this.id,\n quantity:this.quantity,\n variations:this.variations\n }\n }\n}\n\nexport default Product;","import Product from \"../Entity/Product\";\nclass UpdateCart {\n\n constructor(endpoint, nonce)\n {\n this.endpoint = endpoint;\n this.nonce = nonce;\n }\n\n /**\n *\n * @param onResolve\n * @param {Product[]} products\n * @returns {Promise<unknown>}\n */\n update(onResolve, products)\n {\n return new Promise((resolve, reject) => {\n fetch(\n this.endpoint,\n {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.nonce,\n products,\n })\n }\n ).then(\n (result) => {\n return result.json();\n }\n ).then((result) => {\n if (! result.success) {\n reject(result.data);\n return;\n }\n\n const resolved = onResolve(result.data);\n resolve(resolved);\n })\n });\n }\n}\n\nexport default UpdateCart;","/**\n * When you can't add something to the cart, the PayPal buttons should not show.\n * Therefore we listen for changes on the add to cart button and show/hide the buttons accordingly.\n */\n\nclass ButtonsToggleListener {\n constructor(element, showCallback, hideCallback)\n {\n this.element = element;\n this.showCallback = showCallback;\n this.hideCallback = hideCallback;\n this.observer = null;\n }\n\n init()\n {\n const config = { attributes : true };\n const callback = () => {\n if (this.element.classList.contains('disabled')) {\n this.hideCallback();\n return;\n }\n this.showCallback();\n }\n this.observer = new MutationObserver(callback);\n this.observer.observe(this.element, config);\n callback();\n }\n\n disconnect()\n {\n this.observer.disconnect();\n }\n}\n\nexport default ButtonsToggleListener;","import ButtonsToggleListener from '../Helper/ButtonsToggleListener';\nimport Product from '../Entity/Product';\nimport onApprove from '../OnApproveHandler/onApproveForContinue';\nimport {payerData} from \"../Helper/PayerData\";\n\nclass SingleProductActionHandler {\n\n constructor(\n config,\n updateCart,\n showButtonCallback,\n hideButtonCallback,\n formElement,\n errorHandler\n ) {\n this.config = config;\n this.updateCart = updateCart;\n this.showButtonCallback = showButtonCallback;\n this.hideButtonCallback = hideButtonCallback;\n this.formElement = formElement;\n this.errorHandler = errorHandler;\n }\n\n configuration()\n {\n\n if ( this.hasVariations() ) {\n const observer = new ButtonsToggleListener(\n this.formElement.querySelector('.single_add_to_cart_button'),\n this.showButtonCallback,\n this.hideButtonCallback\n );\n observer.init();\n }\n\n return {\n createOrder: this.createOrder(),\n onApprove: onApprove(this, this.errorHandler),\n onError: (error) => {\n this.errorHandler.genericError();\n }\n }\n }\n\n createOrder()\n {\n var getProducts = null;\n if (! this.isGroupedProduct() ) {\n getProducts = () => {\n const id = document.querySelector('[name=\"add-to-cart\"]').value;\n const qty = document.querySelector('[name=\"quantity\"]').value;\n const variations = this.variations();\n return [new Product(id, qty, variations)];\n }\n } else {\n getProducts = () => {\n const products = [];\n this.formElement.querySelectorAll('input[type=\"number\"]').forEach((element) => {\n if (! element.value) {\n return;\n }\n const elementName = element.getAttribute('name').match(/quantity\\[([\\d]*)\\]/);\n if (elementName.length !== 2) {\n return;\n }\n const id = parseInt(elementName[1]);\n const quantity = parseInt(element.value);\n products.push(new Product(id, quantity, null));\n })\n return products;\n }\n }\n const createOrder = (data, actions) => {\n this.errorHandler.clear();\n\n const onResolve = (purchase_units) => {\n const payer = payerData();\n const bnCode = typeof this.config.bn_codes[this.config.context] !== 'undefined' ?\n this.config.bn_codes[this.config.context] : '';\n return fetch(this.config.ajax.create_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.config.ajax.create_order.nonce,\n purchase_units,\n payer,\n bn_code:bnCode,\n context:this.config.context\n })\n }).then(function (res) {\n return res.json();\n }).then(function (data) {\n if (!data.success) {\n console.error(data);\n throw Error(data.data.message);\n }\n return data.data.id;\n });\n };\n\n const promise = this.updateCart.update(onResolve, getProducts());\n return promise;\n };\n return createOrder;\n }\n\n variations()\n {\n\n if (! this.hasVariations()) {\n return null;\n }\n const attributes = [...this.formElement.querySelectorAll(\"[name^='attribute_']\")].map(\n (element) => {\n return {\n value:element.value,\n name:element.name\n }\n }\n );\n return attributes;\n }\n\n hasVariations()\n {\n return this.formElement.classList.contains('variations_form');\n }\n\n isGroupedProduct()\n {\n return this.formElement.classList.contains('grouped_form');\n }\n}\nexport default SingleProductActionHandler;\n","import ErrorHandler from '../ErrorHandler';\nimport UpdateCart from \"../Helper/UpdateCart\";\nimport SingleProductActionHandler from \"../ActionHandler/SingleProductActionHandler\";\n\nclass SingleProductBootstap {\n constructor(gateway, renderer, messages) {\n this.gateway = gateway;\n this.renderer = renderer;\n this.messages = messages;\n }\n\n init() {\n if (!this.shouldRender()) {\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n return;\n }\n\n this.render();\n }\n\n shouldRender() {\n if (document.querySelector('form.cart') === null) {\n return false;\n }\n\n return true;\n }\n\n render() {\n const actionHandler = new SingleProductActionHandler(\n this.gateway,\n new UpdateCart(\n this.gateway.ajax.change_cart.endpoint,\n this.gateway.ajax.change_cart.nonce,\n ),\n () => {\n this.renderer.showButtons(this.gateway.button.wrapper);\n this.renderer.showButtons(this.gateway.hosted_fields.wrapper);\n let priceText = \"0\";\n if (document.querySelector('form.cart ins .woocommerce-Price-amount')) {\n priceText = document.querySelector('form.cart ins .woocommerce-Price-amount').innerText;\n }\n else if (document.querySelector('form.cart .woocommerce-Price-amount')) {\n priceText = document.querySelector('form.cart .woocommerce-Price-amount').innerText;\n }\n const amount = parseInt(priceText.replace(/([^\\d,\\.\\s]*)/g, ''));\n this.messages.renderWithAmount(amount)\n },\n () => {\n this.renderer.hideButtons(this.gateway.button.wrapper);\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n },\n document.querySelector('form.cart'),\n new ErrorHandler(this.gateway.labels.error.generic),\n );\n\n this.renderer.render(\n this.gateway.button.wrapper,\n this.gateway.hosted_fields.wrapper,\n actionHandler.configuration(),\n );\n }\n}\n\nexport default SingleProductBootstap;","import CartActionHandler from '../ActionHandler/CartActionHandler';\nimport ErrorHandler from '../ErrorHandler';\n\nclass CartBootstrap {\n constructor(gateway, renderer) {\n this.gateway = gateway;\n this.renderer = renderer;\n }\n\n init() {\n if (!this.shouldRender()) {\n return;\n }\n\n this.render();\n\n jQuery(document.body).on('updated_cart_totals updated_checkout', () => {\n this.render();\n });\n }\n\n shouldRender() {\n return document.querySelector(this.gateway.button.wrapper) !==\n null || document.querySelector(this.gateway.hosted_fields.wrapper) !==\n null;\n }\n\n render() {\n const actionHandler = new CartActionHandler(\n PayPalCommerceGateway,\n new ErrorHandler(this.gateway.labels.error.generic),\n );\n\n this.renderer.render(\n this.gateway.button.wrapper,\n this.gateway.hosted_fields.wrapper,\n actionHandler.configuration(),\n );\n }\n}\n\nexport default CartBootstrap;","const onApprove = (context, errorHandler, spinner) => {\n return (data, actions) => {\n spinner.block();\n return fetch(context.config.ajax.approve_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: context.config.ajax.approve_order.nonce,\n order_id:data.orderID\n })\n }).then((res)=>{\n return res.json();\n }).then((data)=>{\n spinner.unblock();\n if (!data.success) {\n if (data.data.code === 100) {\n errorHandler.message(data.data.message);\n } else {\n errorHandler.genericError();\n }\n if (typeof actions !== 'undefined' && typeof actions.restart !== 'undefined') {\n return actions.restart();\n }\n throw new Error(data.data.message);\n }\n document.querySelector('#place_order').click()\n });\n\n }\n}\n\nexport default onApprove;\n","import onApprove from '../OnApproveHandler/onApproveForPayNow.js';\nimport {payerData} from \"../Helper/PayerData\";\n\nclass CheckoutActionHandler {\n\n constructor(config, errorHandler, spinner) {\n this.config = config;\n this.errorHandler = errorHandler;\n this.spinner = spinner;\n }\n\n configuration() {\n const spinner = this.spinner;\n const createOrder = (data, actions) => {\n const payer = payerData();\n const bnCode = typeof this.config.bn_codes[this.config.context] !== 'undefined' ?\n this.config.bn_codes[this.config.context] : '';\n\n\n const errorHandler = this.errorHandler;\n const formSelector = this.config.context === 'checkout' ? 'form.checkout' : 'form#order_review';\n const formValues = jQuery(formSelector).serialize();\n\n return fetch(this.config.ajax.create_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.config.ajax.create_order.nonce,\n payer,\n bn_code:bnCode,\n context:this.config.context,\n order_id:this.config.order_id,\n form:formValues\n })\n }).then(function (res) {\n return res.json();\n }).then(function (data) {\n if (!data.success) {\n spinner.unblock();\n errorHandler.message(data.data.message, true);\n return;\n }\n const input = document.createElement('input');\n input.setAttribute('type', 'hidden');\n input.setAttribute('name', 'ppcp-resume-order');\n input.setAttribute('value', data.data.purchase_units[0].custom_id);\n document.querySelector(formSelector).append(input);\n return data.data.id;\n });\n }\n return {\n createOrder,\n onApprove:onApprove(this, this.errorHandler, this.spinner),\n onError: (error) => {\n this.errorHandler.genericError();\n }\n }\n }\n}\n\nexport default CheckoutActionHandler;\n","import ErrorHandler from '../ErrorHandler';\nimport CheckoutActionHandler from '../ActionHandler/CheckoutActionHandler';\n\nclass CheckoutBootstap {\n constructor(gateway, renderer, messages, spinner) {\n this.gateway = gateway;\n this.renderer = renderer;\n this.messages = messages;\n this.spinner = spinner;\n }\n\n init() {\n\n this.render();\n\n jQuery(document.body).on('updated_checkout', () => {\n this.render();\n });\n\n jQuery(document.body).\n on('updated_checkout payment_method_selected', () => {\n this.switchBetweenPayPalandOrderButton();\n });\n this.switchBetweenPayPalandOrderButton();\n }\n\n shouldRender() {\n if (document.querySelector(this.gateway.button.cancel_wrapper)) {\n return false;\n }\n\n return document.querySelector(this.gateway.button.wrapper) !== null || document.querySelector(this.gateway.hosted_fields.wrapper) !== null;\n }\n\n render() {\n if (!this.shouldRender()) {\n return;\n }\n if (document.querySelector(this.gateway.hosted_fields.wrapper + '>div')) {\n document.querySelector(this.gateway.hosted_fields.wrapper + '>div').setAttribute('style', '');\n }\n const actionHandler = new CheckoutActionHandler(\n PayPalCommerceGateway,\n new ErrorHandler(this.gateway.labels.error.generic),\n this.spinner\n );\n\n this.renderer.render(\n this.gateway.button.wrapper,\n this.gateway.hosted_fields.wrapper,\n actionHandler.configuration(),\n );\n }\n\n switchBetweenPayPalandOrderButton() {\n const currentPaymentMethod = jQuery(\n 'input[name=\"payment_method\"]:checked').val();\n\n if (currentPaymentMethod !== 'ppcp-gateway' && currentPaymentMethod !== 'ppcp-credit-card-gateway') {\n this.renderer.hideButtons(this.gateway.button.wrapper);\n this.renderer.hideButtons(this.gateway.messages.wrapper);\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n jQuery('#place_order').show();\n }\n else {\n jQuery('#place_order').hide();\n if (currentPaymentMethod === 'ppcp-gateway') {\n this.renderer.showButtons(this.gateway.button.wrapper);\n this.renderer.showButtons(this.gateway.messages.wrapper);\n this.messages.render();\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n }\n if (currentPaymentMethod === 'ppcp-credit-card-gateway') {\n this.renderer.hideButtons(this.gateway.button.wrapper);\n this.renderer.hideButtons(this.gateway.messages.wrapper);\n this.renderer.showButtons(this.gateway.hosted_fields.wrapper);\n }\n }\n }\n}\n\nexport default CheckoutBootstap;","import ErrorHandler from '../ErrorHandler';\nimport CheckoutActionHandler from '../ActionHandler/CheckoutActionHandler';\n\nclass PayNowBootstrap {\n constructor(gateway, renderer, messages) {\n this.gateway = gateway;\n this.renderer = renderer;\n this.messages = messages\n }\n\n init() {\n\n this.render();\n\n jQuery(document.body).on('updated_checkout', () => {\n this.render();\n });\n\n jQuery(document.body).\n on('updated_checkout payment_method_selected', () => {\n this.switchBetweenPayPalandOrderButton();\n });\n this.switchBetweenPayPalandOrderButton();\n }\n\n shouldRender() {\n if (document.querySelector(this.gateway.button.cancel_wrapper)) {\n return false;\n }\n\n return document.querySelector(this.gateway.button.wrapper) !== null || document.querySelector(this.gateway.hosted_fields.wrapper) !== null;\n }\n\n render() {\n if (!this.shouldRender()) {\n return;\n }\n if (document.querySelector(this.gateway.hosted_fields.wrapper + '>div')) {\n document.querySelector(this.gateway.hosted_fields.wrapper + '>div').setAttribute('style', '');\n }\n const actionHandler = new CheckoutActionHandler(\n PayPalCommerceGateway,\n new ErrorHandler(this.gateway.labels.error.generic),\n );\n\n this.renderer.render(\n this.gateway.button.wrapper,\n this.gateway.hosted_fields.wrapper,\n actionHandler.configuration(),\n );\n }\n\n switchBetweenPayPalandOrderButton() {\n const currentPaymentMethod = jQuery(\n 'input[name=\"payment_method\"]:checked').val();\n\n if (currentPaymentMethod !== 'ppcp-gateway' && currentPaymentMethod !== 'ppcp-credit-card-gateway') {\n this.renderer.hideButtons(this.gateway.button.wrapper);\n this.renderer.hideButtons(this.gateway.messages.wrapper);\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n jQuery('#place_order').show();\n }\n else {\n jQuery('#place_order').hide();\n if (currentPaymentMethod === 'ppcp-gateway') {\n this.renderer.showButtons(this.gateway.button.wrapper);\n this.renderer.showButtons(this.gateway.messages.wrapper);\n this.messages.render();\n this.renderer.hideButtons(this.gateway.hosted_fields.wrapper);\n }\n if (currentPaymentMethod === 'ppcp-credit-card-gateway') {\n this.renderer.hideButtons(this.gateway.button.wrapper);\n this.renderer.hideButtons(this.gateway.messages.wrapper);\n this.renderer.showButtons(this.gateway.hosted_fields.wrapper);\n }\n }\n }\n}\n\nexport default PayNowBootstrap;","class Renderer {\n constructor(creditCardRenderer, defaultConfig) {\n this.defaultConfig = defaultConfig;\n this.creditCardRenderer = creditCardRenderer;\n }\n\n render(wrapper, hostedFieldsWrapper, contextConfig) {\n\n this.renderButtons(wrapper, contextConfig);\n this.creditCardRenderer.render(hostedFieldsWrapper, contextConfig);\n }\n\n renderButtons(wrapper, contextConfig) {\n if (! document.querySelector(wrapper) || this.isAlreadyRendered(wrapper) || 'undefined' === typeof paypal.Buttons ) {\n return;\n }\n\n const style = wrapper === this.defaultConfig.button.wrapper ? this.defaultConfig.button.style : this.defaultConfig.button.mini_cart_style;\n paypal.Buttons({\n style,\n ...contextConfig,\n }).render(wrapper);\n }\n\n isAlreadyRendered(wrapper) {\n return document.querySelector(wrapper).hasChildNodes();\n }\n\n hideButtons(element) {\n const domElement = document.querySelector(element);\n if (! domElement ) {\n return false;\n }\n domElement.style.display = 'none';\n return true;\n }\n\n showButtons(element) {\n const domElement = document.querySelector(element);\n if (! domElement ) {\n return false;\n }\n domElement.style.display = 'block';\n return true;\n }\n}\n\nexport default Renderer;","const dccInputFactory = (original) => {\n const styles = window.getComputedStyle(original);\n const newElement = document.createElement('span');\n newElement.setAttribute('id', original.id);\n Object.values(styles).forEach( (prop) => {\n if (! styles[prop] || ! isNaN(prop) ) {\n return;\n }\n newElement.style.setProperty(prop,'' + styles[prop]);\n });\n return newElement;\n}\n\nexport default dccInputFactory;","import dccInputFactory from \"../Helper/DccInputFactory\";\n\nclass CreditCardRenderer {\n\n constructor(defaultConfig, errorHandler, spinner) {\n this.defaultConfig = defaultConfig;\n this.errorHandler = errorHandler;\n this.spinner = spinner;\n this.cardValid = false;\n }\n\n render(wrapper, contextConfig) {\n\n if (\n (\n this.defaultConfig.context !== 'checkout'\n && this.defaultConfig.context !== 'pay-now'\n )\n || wrapper === null\n || document.querySelector(wrapper) === null\n ) {\n return;\n }\n if (\n typeof paypal.HostedFields === 'undefined'\n || ! paypal.HostedFields.isEligible()\n ) {\n const wrapperElement = document.querySelector(wrapper);\n wrapperElement.parentNode.removeChild(wrapperElement);\n return;\n }\n\n const gateWayBox = document.querySelector('.payment_box.payment_method_ppcp-credit-card-gateway');\n const oldDisplayStyle = gateWayBox.style.display;\n gateWayBox.style.display = 'block';\n\n const hideDccGateway = document.querySelector('#ppcp-hide-dcc');\n if (hideDccGateway) {\n hideDccGateway.parentNode.removeChild(hideDccGateway);\n }\n\n const cardNumberField = document.querySelector('#ppcp-credit-card-gateway-card-number');\n\n const stylesRaw = window.getComputedStyle(cardNumberField);\n let styles = {};\n Object.values(stylesRaw).forEach( (prop) => {\n if (! stylesRaw[prop]) {\n return;\n }\n styles[prop] = '' + stylesRaw[prop];\n });\n\n const cardNumber = dccInputFactory(cardNumberField);\n cardNumberField.parentNode.replaceChild(cardNumber, cardNumberField);\n\n const cardExpiryField = document.querySelector('#ppcp-credit-card-gateway-card-expiry');\n const cardExpiry = dccInputFactory(cardExpiryField);\n cardExpiryField.parentNode.replaceChild(cardExpiry, cardExpiryField);\n\n const cardCodeField = document.querySelector('#ppcp-credit-card-gateway-card-cvc');\n const cardCode = dccInputFactory(cardCodeField);\n cardCodeField.parentNode.replaceChild(cardCode, cardCodeField);\n\n gateWayBox.style.display = oldDisplayStyle;\n\n const formWrapper = '.payment_box payment_method_ppcp-credit-card-gateway';\n if (\n this.defaultConfig.enforce_vault\n && document.querySelector(formWrapper + ' .ppcp-credit-card-vault')\n ) {\n document.querySelector(formWrapper + ' .ppcp-credit-card-vault').checked = true;\n document.querySelector(formWrapper + ' .ppcp-credit-card-vault').setAttribute('disabled', true);\n }\n paypal.HostedFields.render({\n createOrder: contextConfig.createOrder,\n styles: {\n 'input': styles\n },\n fields: {\n number: {\n selector: '#ppcp-credit-card-gateway-card-number',\n placeholder: this.defaultConfig.hosted_fields.labels.credit_card_number,\n },\n cvv: {\n selector: '#ppcp-credit-card-gateway-card-cvc',\n placeholder: this.defaultConfig.hosted_fields.labels.cvv,\n },\n expirationDate: {\n selector: '#ppcp-credit-card-gateway-card-expiry',\n placeholder: this.defaultConfig.hosted_fields.labels.mm_yyyy,\n }\n }\n }).then(hostedFields => {\n const submitEvent = (event) => {\n this.spinner.block();\n if (event) {\n event.preventDefault();\n }\n this.errorHandler.clear();\n const state = hostedFields.getState();\n const formValid = Object.keys(state.fields).every(function (key) {\n return state.fields[key].isValid;\n });\n\n if (formValid && this.cardValid) {\n\n let vault = document.querySelector(wrapper + ' .ppcp-credit-card-vault') ?\n document.querySelector(wrapper + ' .ppcp-credit-card-vault').checked : false;\n vault = this.defaultConfig.enforce_vault || vault;\n\n hostedFields.submit({\n contingencies: ['3D_SECURE'],\n vault\n }).then((payload) => {\n payload.orderID = payload.orderId;\n this.spinner.unblock();\n return contextConfig.onApprove(payload);\n });\n } else {\n this.spinner.unblock();\n const message = ! this.cardValid ? this.defaultConfig.hosted_fields.labels.card_not_supported : this.defaultConfig.hosted_fields.labels.fields_not_valid;\n this.errorHandler.message(message);\n }\n }\n hostedFields.on('inputSubmitRequest', function () {\n submitEvent(null);\n });\n hostedFields.on('cardTypeChange', (event) => {\n if ( ! event.cards.length ) {\n this.cardValid = false;\n return;\n }\n const validCards = this.defaultConfig.hosted_fields.valid_cards;\n this.cardValid = validCards.indexOf(event.cards[0].type) !== -1;\n })\n document.querySelector(wrapper + ' button').addEventListener(\n 'click',\n submitEvent\n );\n });\n\n document.querySelector('#payment_method_ppcp-credit-card-gateway').addEventListener(\n 'click',\n () => {\n document.querySelector('label[for=ppcp-credit-card-gateway-card-number]').click();\n }\n )\n }\n}\nexport default CreditCardRenderer;","const storageKey = 'ppcp-data-client-id';\n\nconst validateToken = (token, user) => {\n if (! token) {\n return false;\n }\n if (token.user !== user) {\n return false;\n }\n const currentTime = new Date().getTime();\n const isExpired = currentTime >= token.expiration * 1000;\n return ! isExpired;\n}\n\nconst storedTokenForUser = (user) => {\n const token = JSON.parse(sessionStorage.getItem(storageKey));\n if (validateToken(token, user)) {\n return token.token;\n }\n return null;\n}\n\nconst storeToken = (token) => {\n sessionStorage.setItem(storageKey, JSON.stringify(token));\n}\n\nconst dataClientIdAttributeHandler = (script, config) => {\n const token = storedTokenForUser(config.user);\n if (token) {\n script.setAttribute('data-client-token', token);\n document.body.append(script);\n return;\n }\n fetch(config.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: config.nonce\n })\n }).then((res)=>{\n return res.json();\n }).then((data)=>{\n const isValid = validateToken(data, config.user);\n if (!isValid) {\n return;\n }\n storeToken(data);\n script.setAttribute('data-client-token', data.token);\n document.body.append(script);\n });\n}\n\nexport default dataClientIdAttributeHandler;","class MessageRenderer {\n\n constructor(config) {\n this.config = config;\n }\n\n render() {\n if (! this.shouldRender()) {\n return;\n }\n\n paypal.Messages({\n amount: this.config.amount,\n placement: this.config.placement,\n style: this.config.style\n }).render(this.config.wrapper);\n }\n\n renderWithAmount(amount) {\n\n if (! this.shouldRender()) {\n return;\n }\n\n const newWrapper = document.createElement('div');\n newWrapper.setAttribute('id', this.config.wrapper.replace('#', ''));\n\n const sibling = document.querySelector(this.config.wrapper).nextSibling;\n document.querySelector(this.config.wrapper).parentElement.removeChild(document.querySelector(this.config.wrapper));\n sibling.parentElement.insertBefore(newWrapper, sibling);\n paypal.Messages({\n amount,\n placement: this.config.placement,\n style: this.config.style\n }).render(this.config.wrapper);\n }\n\n shouldRender() {\n\n if (typeof paypal.Messages === 'undefined' || typeof this.config.wrapper === 'undefined' ) {\n return false;\n }\n if (! document.querySelector(this.config.wrapper)) {\n return false;\n }\n return true;\n }\n}\nexport default MessageRenderer;","class Spinner {\n\n constructor() {\n this.target = 'form.woocommerce-checkout';\n }\n block() {\n\n jQuery( this.target ).block({\n message: null,\n overlayCSS: {\n background: '#fff',\n opacity: 0.6\n }\n });\n }\n\n unblock() {\n\n jQuery( this.target ).unblock();\n }\n}\n\nexport default Spinner;","import MiniCartBootstap from './modules/ContextBootstrap/MiniCartBootstap';\nimport SingleProductBootstap from './modules/ContextBootstrap/SingleProductBootstap';\nimport CartBootstrap from './modules/ContextBootstrap/CartBootstap';\nimport CheckoutBootstap from './modules/ContextBootstrap/CheckoutBootstap';\nimport PayNowBootstrap from \"./modules/ContextBootstrap/PayNowBootstrap\";\nimport Renderer from './modules/Renderer/Renderer';\nimport ErrorHandler from './modules/ErrorHandler';\nimport CreditCardRenderer from \"./modules/Renderer/CreditCardRenderer\";\nimport dataClientIdAttributeHandler from \"./modules/DataClientIdAttributeHandler\";\nimport MessageRenderer from \"./modules/Renderer/MessageRenderer\";\nimport Spinner from \"./modules/Helper/Spinner\";\n\nconst bootstrap = () => {\n const errorHandler = new ErrorHandler(PayPalCommerceGateway.labels.error.generic);\n const spinner = new Spinner();\n const creditCardRenderer = new CreditCardRenderer(PayPalCommerceGateway, errorHandler, spinner);\n const renderer = new Renderer(creditCardRenderer, PayPalCommerceGateway);\n const messageRenderer = new MessageRenderer(PayPalCommerceGateway.messages);\n const context = PayPalCommerceGateway.context;\n if (context === 'mini-cart' || context === 'product') {\n const miniCartBootstrap = new MiniCartBootstap(\n PayPalCommerceGateway,\n renderer\n );\n\n miniCartBootstrap.init();\n }\n\n if (context === 'product') {\n const singleProductBootstrap = new SingleProductBootstap(\n PayPalCommerceGateway,\n renderer,\n messageRenderer,\n );\n\n singleProductBootstrap.init();\n }\n\n if (context === 'cart') {\n const cartBootstrap = new CartBootstrap(\n PayPalCommerceGateway,\n renderer,\n );\n\n cartBootstrap.init();\n }\n\n if (context === 'checkout') {\n const checkoutBootstap = new CheckoutBootstap(\n PayPalCommerceGateway,\n renderer,\n messageRenderer,\n spinner\n );\n\n checkoutBootstap.init();\n }\n\n if (context === 'pay-now' ) {\n const payNowBootstrap = new PayNowBootstrap(\n PayPalCommerceGateway,\n renderer,\n messageRenderer\n );\n payNowBootstrap.init();\n }\n\n if (context !== 'checkout') {\n messageRenderer.render();\n }\n};\ndocument.addEventListener(\n 'DOMContentLoaded',\n () => {\n if (!typeof (PayPalCommerceGateway)) {\n console.error('PayPal button could not be configured.');\n return;\n }\n const script = document.createElement('script');\n\n script.addEventListener('load', (event) => {\n bootstrap();\n });\n script.setAttribute('src', PayPalCommerceGateway.button.url);\n Object.entries(PayPalCommerceGateway.script_attributes).forEach(\n (keyValue) => {\n script.setAttribute(keyValue[0], keyValue[1]);\n }\n );\n\n if (PayPalCommerceGateway.data_client_id.set_attribute) {\n dataClientIdAttributeHandler(script, PayPalCommerceGateway.data_client_id);\n return;\n }\n\n document.body.append(script);\n },\n);"],"sourceRoot":""}
modules/ppcp-button/resources/css/hosted-fields.scss CHANGED
@@ -3,3 +3,7 @@
3
  max-height: 25px;
4
  display: inline-block;
5
  }
 
 
 
 
3
  max-height: 25px;
4
  display: inline-block;
5
  }
6
+
7
+ .payments-sdk-contingency-handler {
8
+ z-index: 1000 !important;
9
+ }
modules/ppcp-button/resources/js/modules/ErrorHandler.js CHANGED
@@ -22,7 +22,7 @@ class ErrorHandler {
22
  } else {
23
  this.wrapper.classList.remove('ppcp-persist');
24
  }
25
- this.wrapper.innerText = this.sanitize(text);
26
  jQuery.scroll_to_notices(jQuery('.woocommerce-notices-wrapper'))
27
  }
28
 
22
  } else {
23
  this.wrapper.classList.remove('ppcp-persist');
24
  }
25
+ this.wrapper.innerHTML = this.sanitize(text);
26
  jQuery.scroll_to_notices(jQuery('.woocommerce-notices-wrapper'))
27
  }
28
 
modules/ppcp-button/services.php CHANGED
@@ -68,6 +68,7 @@ return array(
68
  $dcc_applies = $container->get( 'api.helpers.dccapplies' );
69
  $subscription_helper = $container->get( 'subscription.helper' );
70
  $messages_apply = $container->get( 'button.helper.messages-apply' );
 
71
  return new SmartButton(
72
  $container->get( 'button.url' ),
73
  $container->get( 'session.handler' ),
@@ -79,7 +80,8 @@ return array(
79
  $request_data,
80
  $dcc_applies,
81
  $subscription_helper,
82
- $messages_apply
 
83
  );
84
  },
85
  'button.url' => static function ( $container ): string {
68
  $dcc_applies = $container->get( 'api.helpers.dccapplies' );
69
  $subscription_helper = $container->get( 'subscription.helper' );
70
  $messages_apply = $container->get( 'button.helper.messages-apply' );
71
+ $environment = $container->get( 'onboarding.environment' );
72
  return new SmartButton(
73
  $container->get( 'button.url' ),
74
  $container->get( 'session.handler' ),
80
  $request_data,
81
  $dcc_applies,
82
  $subscription_helper,
83
+ $messages_apply,
84
+ $environment
85
  );
86
  },
87
  'button.url' => static function ( $container ): string {
modules/ppcp-button/src/Assets/class-smartbutton.php CHANGED
@@ -19,6 +19,7 @@ use WooCommerce\PayPalCommerce\Button\Endpoint\CreateOrderEndpoint;
19
  use WooCommerce\PayPalCommerce\Button\Endpoint\DataClientIdEndpoint;
20
  use WooCommerce\PayPalCommerce\Button\Endpoint\RequestData;
21
  use WooCommerce\PayPalCommerce\Button\Helper\MessagesApply;
 
22
  use WooCommerce\PayPalCommerce\Session\SessionHandler;
23
  use WooCommerce\PayPalCommerce\Subscription\Helper\SubscriptionHelper;
24
  use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
@@ -105,6 +106,13 @@ class SmartButton implements SmartButtonInterface {
105
  */
106
  private $messages_apply;
107
 
 
 
 
 
 
 
 
108
  /**
109
  * SmartButton constructor.
110
  *
@@ -119,6 +127,7 @@ class SmartButton implements SmartButtonInterface {
119
  * @param DccApplies $dcc_applies The DCC applies helper.
120
  * @param SubscriptionHelper $subscription_helper The subscription helper.
121
  * @param MessagesApply $messages_apply The Messages apply helper.
 
122
  */
123
  public function __construct(
124
  string $module_url,
@@ -131,7 +140,8 @@ class SmartButton implements SmartButtonInterface {
131
  RequestData $request_data,
132
  DccApplies $dcc_applies,
133
  SubscriptionHelper $subscription_helper,
134
- MessagesApply $messages_apply
 
135
  ) {
136
 
137
  $this->module_url = $module_url;
@@ -145,6 +155,7 @@ class SmartButton implements SmartButtonInterface {
145
  $this->dcc_applies = $dcc_applies;
146
  $this->subscription_helper = $subscription_helper;
147
  $this->messages_apply = $messages_apply;
 
148
  }
149
 
150
  /**
@@ -702,8 +713,10 @@ class SmartButton implements SmartButtonInterface {
702
  $this->settings->get( 'intent' ) : 'capture',
703
  );
704
  if (
705
- defined( 'WP_DEBUG' ) && \WP_DEBUG && is_user_logged_in()
 
706
  && WC()->customer && WC()->customer->get_billing_country()
 
707
  ) {
708
  $params['buyer-country'] = WC()->customer->get_billing_country();
709
  }
19
  use WooCommerce\PayPalCommerce\Button\Endpoint\DataClientIdEndpoint;
20
  use WooCommerce\PayPalCommerce\Button\Endpoint\RequestData;
21
  use WooCommerce\PayPalCommerce\Button\Helper\MessagesApply;
22
+ use WooCommerce\PayPalCommerce\Onboarding\Environment;
23
  use WooCommerce\PayPalCommerce\Session\SessionHandler;
24
  use WooCommerce\PayPalCommerce\Subscription\Helper\SubscriptionHelper;
25
  use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
106
  */
107
  private $messages_apply;
108
 
109
+ /**
110
+ * The environment object.
111
+ *
112
+ * @var Environment
113
+ */
114
+ private $environment;
115
+
116
  /**
117
  * SmartButton constructor.
118
  *
127
  * @param DccApplies $dcc_applies The DCC applies helper.
128
  * @param SubscriptionHelper $subscription_helper The subscription helper.
129
  * @param MessagesApply $messages_apply The Messages apply helper.
130
+ * @param Environment $environment The environment object.
131
  */
132
  public function __construct(
133
  string $module_url,
140
  RequestData $request_data,
141
  DccApplies $dcc_applies,
142
  SubscriptionHelper $subscription_helper,
143
+ MessagesApply $messages_apply,
144
+ Environment $environment
145
  ) {
146
 
147
  $this->module_url = $module_url;
155
  $this->dcc_applies = $dcc_applies;
156
  $this->subscription_helper = $subscription_helper;
157
  $this->messages_apply = $messages_apply;
158
+ $this->environment = $environment;
159
  }
160
 
161
  /**
713
  $this->settings->get( 'intent' ) : 'capture',
714
  );
715
  if (
716
+ $this->environment->current_environment_is( Environment::SANDBOX )
717
+ && defined( 'WP_DEBUG' ) && \WP_DEBUG && is_user_logged_in()
718
  && WC()->customer && WC()->customer->get_billing_country()
719
+ && 2 === strlen( WC()->customer->get_billing_country() )
720
  ) {
721
  $params['buyer-country'] = WC()->customer->get_billing_country();
722
  }
modules/ppcp-button/src/Endpoint/class-createorderendpoint.php CHANGED
@@ -162,11 +162,15 @@ class CreateOrderEndpoint implements EndpointInterface {
162
  }
163
 
164
  $this->set_bn_code( $data );
165
- $order = $this->api_endpoint->create(
 
 
166
  $purchase_units,
167
  $this->payer( $data, $wc_order ),
168
  null,
169
- $this->payment_method()
 
 
170
  );
171
  if ( 'checkout' === $data['context'] ) {
172
  $this->validate_checkout_form( $data['form'], $order );
@@ -256,10 +260,20 @@ class CreateOrderEndpoint implements EndpointInterface {
256
  * @throws \Exception On Error.
257
  */
258
  private function validate_checkout_form( string $form_values, Order $order ) {
259
- $this->order = $order;
260
- $parsed_values = wp_parse_args( $form_values );
261
- $_POST = $parsed_values;
262
- $_REQUEST = $parsed_values;
 
 
 
 
 
 
 
 
 
 
263
 
264
  add_filter(
265
  'woocommerce_after_checkout_validation',
162
  }
163
 
164
  $this->set_bn_code( $data );
165
+ $needs_shipping = WC()->cart && WC()->cart->needs_shipping();
166
+ $shipping_address_is_fix = $needs_shipping && 'checkout' === $data['context'] ? true : false;
167
+ $order = $this->api_endpoint->create(
168
  $purchase_units,
169
  $this->payer( $data, $wc_order ),
170
  null,
171
+ $this->payment_method(),
172
+ '',
173
+ $shipping_address_is_fix
174
  );
175
  if ( 'checkout' === $data['context'] ) {
176
  $this->validate_checkout_form( $data['form'], $order );
260
  * @throws \Exception On Error.
261
  */
262
  private function validate_checkout_form( string $form_values, Order $order ) {
263
+ $this->order = $order;
264
+ $form_values = explode( '&', $form_values );
265
+
266
+ $parsed_values = array();
267
+ foreach ( $form_values as $field ) {
268
+ $field = explode( '=', $field );
269
+
270
+ if ( count( $field ) !== 2 ) {
271
+ continue;
272
+ }
273
+ $parsed_values[ $field[0] ] = $field[1];
274
+ }
275
+ $_POST = $parsed_values;
276
+ $_REQUEST = $parsed_values;
277
 
278
  add_filter(
279
  'woocommerce_after_checkout_validation',
modules/ppcp-button/src/Endpoint/class-requestdata.php CHANGED
@@ -81,10 +81,18 @@ class RequestData {
81
  $data = array();
82
  foreach ( (array) $assoc_array as $raw_key => $raw_value ) {
83
  if ( ! is_array( $raw_value ) ) {
84
- $data[ sanitize_text_field( urldecode( (string) $raw_key ) ) ] = sanitize_text_field( urldecode( (string) $raw_value ) );
 
 
 
 
 
 
 
 
85
  continue;
86
  }
87
- $data[ sanitize_text_field( urldecode( (string) $raw_key ) ) ] = $this->sanitize( $raw_value );
88
  }
89
  return $data;
90
  }
81
  $data = array();
82
  foreach ( (array) $assoc_array as $raw_key => $raw_value ) {
83
  if ( ! is_array( $raw_value ) ) {
84
+ /**
85
+ * The 'form' key is preserved for url encoded data and needs different
86
+ * sanitization.
87
+ */
88
+ if ( 'form' !== $raw_key ) {
89
+ $data[ sanitize_text_field( (string) $raw_key ) ] = sanitize_text_field( (string) $raw_value );
90
+ } else {
91
+ $data[ sanitize_text_field( (string) $raw_key ) ] = sanitize_text_field( urldecode( (string) $raw_value ) );
92
+ }
93
  continue;
94
  }
95
+ $data[ sanitize_text_field( (string) $raw_key ) ] = $this->sanitize( $raw_value );
96
  }
97
  return $data;
98
  }
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: woocommerce, paypal, payments, ecommerce, e-commerce, store, sales, sell,
4
  Requires at least: 5.3
5
  Tested up to: 5.5
6
  Requires PHP: 7.0
7
- Stable tag: 1.0.0
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -58,5 +58,14 @@ Follow the steps below to connect the plugin to your PayPal account:
58
 
59
  == Changelog ==
60
 
61
- = 1.0 =
 
 
 
 
 
 
 
 
 
62
  * Initial release.
4
  Requires at least: 5.3
5
  Tested up to: 5.5
6
  Requires PHP: 7.0
7
+ Stable tag: 1.0.1
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
58
 
59
  == Changelog ==
60
 
61
+ = 1.0.1 =
62
+ * Fix - PayPal Smart buttons don't load when using a production/live account and `WP_Debug` is turned on/true. #66
63
+ * Fix - [Card Processing] SCA/Visa Verification form loads underneath the Checkout blockUI element. #63
64
+ * Fix - Attempting to checkout without country selected results in unexpected error message. #67
65
+ * Fix - Remove ability to change shipping address on PayPal from checkout page. #72
66
+ * Fix - Amount value should be a string when send to the api. #76
67
+ * Fix - "The value of a field does not conform to the expected format" error when using certain e-mail addresses. #56
68
+ * Fix - HTML tags in Product description. #79
69
+
70
+ = 1.0.0 =
71
  * Initial release.
src/README.md DELETED
@@ -1,3 +0,0 @@
1
- # PHP Sources for WooCommerce PayPal Commerce Gateway
2
-
3
- This directory is the PSR-4 root for `Inpsyde\PayPalCommerce\`
 
 
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit121f0b0fd6fcff38fa2020e581a9a4ea::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit21689d596dda2cee10278dd72c8d9cfa::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit121f0b0fd6fcff38fa2020e581a9a4ea
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit121f0b0fd6fcff38fa2020e581a9a4ea
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit121f0b0fd6fcff38fa2020e581a9a4ea', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit121f0b0fd6fcff38fa2020e581a9a4ea', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
- call_user_func(\Composer\Autoload\ComposerStaticInit121f0b0fd6fcff38fa2020e581a9a4ea::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit21689d596dda2cee10278dd72c8d9cfa
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInit21689d596dda2cee10278dd72c8d9cfa', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInit21689d596dda2cee10278dd72c8d9cfa', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
+ call_user_func(\Composer\Autoload\ComposerStaticInit21689d596dda2cee10278dd72c8d9cfa::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit121f0b0fd6fcff38fa2020e581a9a4ea
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'P' =>
@@ -238,9 +238,9 @@ class ComposerStaticInit121f0b0fd6fcff38fa2020e581a9a4ea
238
  public static function getInitializer(ClassLoader $loader)
239
  {
240
  return \Closure::bind(function () use ($loader) {
241
- $loader->prefixLengthsPsr4 = ComposerStaticInit121f0b0fd6fcff38fa2020e581a9a4ea::$prefixLengthsPsr4;
242
- $loader->prefixDirsPsr4 = ComposerStaticInit121f0b0fd6fcff38fa2020e581a9a4ea::$prefixDirsPsr4;
243
- $loader->classMap = ComposerStaticInit121f0b0fd6fcff38fa2020e581a9a4ea::$classMap;
244
 
245
  }, null, ClassLoader::class);
246
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit21689d596dda2cee10278dd72c8d9cfa
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'P' =>
238
  public static function getInitializer(ClassLoader $loader)
239
  {
240
  return \Closure::bind(function () use ($loader) {
241
+ $loader->prefixLengthsPsr4 = ComposerStaticInit21689d596dda2cee10278dd72c8d9cfa::$prefixLengthsPsr4;
242
+ $loader->prefixDirsPsr4 = ComposerStaticInit21689d596dda2cee10278dd72c8d9cfa::$prefixDirsPsr4;
243
+ $loader->classMap = ComposerStaticInit21689d596dda2cee10278dd72c8d9cfa::$classMap;
244
 
245
  }, null, ClassLoader::class);
246
  }
vendor/dhii/containers/.idea/containers.iml DELETED
@@ -1,52 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <sourceFolder url="file://$MODULE_DIR$/test/unit" isTestSource="true" packagePrefix="Dhii\Container\UnitTest\" />
6
- <sourceFolder url="file://$MODULE_DIR$/test/helpers" isTestSource="true" packagePrefix="Dhii\Container\TestHelpers\" />
7
- <sourceFolder url="file://$MODULE_DIR$/test/functional" isTestSource="true" packagePrefix="Dhii\Container\FuncTest\" />
8
- <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="Dhii\Container\" />
9
- <excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
10
- <excludeFolder url="file://$MODULE_DIR$/vendor/container-interop/service-provider" />
11
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/data-container-interface" />
12
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/exception-interface" />
13
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/factory-interface" />
14
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/stringable-interface" />
15
- <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
16
- <excludeFolder url="file://$MODULE_DIR$/vendor/gmazzap/andrew" />
17
- <excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/deep-copy" />
18
- <excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/manifest" />
19
- <excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/version" />
20
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
21
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
22
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
23
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/prophecy" />
24
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
25
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
26
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
27
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
28
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-token-stream" />
29
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
30
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit-mock-objects" />
31
- <excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" />
32
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
33
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
34
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
35
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
36
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
37
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
38
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-enumerator" />
39
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-reflector" />
40
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
41
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/resource-operations" />
42
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
43
- <excludeFolder url="file://$MODULE_DIR$/vendor/slevomat/coding-standard" />
44
- <excludeFolder url="file://$MODULE_DIR$/vendor/squizlabs/php_codesniffer" />
45
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-ctype" />
46
- <excludeFolder url="file://$MODULE_DIR$/vendor/theseer/tokenizer" />
47
- <excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" />
48
- </content>
49
- <orderEntry type="inheritedJdk" />
50
- <orderEntry type="sourceFolder" forTests="false" />
51
- </component>
52
- </module>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/containers/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/containers.iml" filepath="$PROJECT_DIR$/.idea/containers.iml" />
6
- </modules>
7
- </component>
8
- </project>
 
 
 
 
 
 
 
 
vendor/dhii/containers/.idea/php-test-framework.xml DELETED
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpTestFrameworkVersionCache">
4
- <tools_cache>
5
- <tool tool_name="PHPUnit">
6
- <cache>
7
- <versions>
8
- <info id="interpreter-f318a6fc-b155-49e8-b4bf-7120b3d2ffe8" version="6.5.14" />
9
- </versions>
10
- </cache>
11
- </tool>
12
- </tools_cache>
13
- </component>
14
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/containers/.idea/php.xml DELETED
@@ -1,160 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpCodeSniffer">
4
- <phpcs_settings>
5
- <PhpCSConfiguration tool_path="D:/sites/sb35-wp-multisite/public/wp-content/plugins/multilingualpress-2-to-3-migration/vendor/bin/phpcs" />
6
- </phpcs_settings>
7
- </component>
8
- <component name="PhpIncludePathManager">
9
- <include_path>
10
- <path value="$PROJECT_DIR$/vendor/theseer/tokenizer" />
11
- <path value="$PROJECT_DIR$/vendor/squizlabs/php_codesniffer" />
12
- <path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" />
13
- <path value="$PROJECT_DIR$/vendor/phar-io/manifest" />
14
- <path value="$PROJECT_DIR$/vendor/phar-io/version" />
15
- <path value="$PROJECT_DIR$/vendor/slevomat/coding-standard" />
16
- <path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
17
- <path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
18
- <path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
19
- <path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
20
- <path value="$PROJECT_DIR$/vendor/psr/container" />
21
- <path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
22
- <path value="$PROJECT_DIR$/vendor/sebastian/environment" />
23
- <path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" />
24
- <path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
25
- <path value="$PROJECT_DIR$/vendor/phpunit/phpunit-mock-objects" />
26
- <path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
27
- <path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
28
- <path value="$PROJECT_DIR$/vendor/sebastian/object-enumerator" />
29
- <path value="$PROJECT_DIR$/vendor/webmozart/assert" />
30
- <path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
31
- <path value="$PROJECT_DIR$/vendor/sebastian/object-reflector" />
32
- <path value="$PROJECT_DIR$/vendor/sebastian/resource-operations" />
33
- <path value="$PROJECT_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
34
- <path value="$PROJECT_DIR$/vendor/sebastian/diff" />
35
- <path value="$PROJECT_DIR$/vendor/composer" />
36
- <path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
37
- <path value="$PROJECT_DIR$/vendor/sebastian/version" />
38
- <path value="$PROJECT_DIR$/vendor/dhii/exception-interface" />
39
- <path value="$PROJECT_DIR$/vendor/dhii/factory-interface" />
40
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
41
- <path value="$PROJECT_DIR$/vendor/dhii/stringable-interface" />
42
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
43
- <path value="$PROJECT_DIR$/vendor/container-interop/service-provider" />
44
- <path value="$PROJECT_DIR$/vendor/dhii/data-container-interface" />
45
- <path value="$PROJECT_DIR$/vendor/phpspec/prophecy" />
46
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
47
- <path value="$PROJECT_DIR$/vendor/gmazzap/andrew" />
48
- <path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
49
- <path value="$PROJECT_DIR$/vendor/dhii/collections-interface" />
50
- </include_path>
51
- </component>
52
- <component name="PhpInterpreters">
53
- <interpreters>
54
- <interpreter id="f318a6fc-b155-49e8-b4bf-7120b3d2ffe8" name="Docker: PHP 7.0" home="docker-compose://DATA" debugger_id="php.debugger.XDebug">
55
- <remote_data DOCKER_ACCOUNT_NAME="Docker" DOCKER_COMPOSE_SERVICE_NAME="php" DOCKER_REMOTE_PROJECT_PATH="/opt/project" INTERPRETER_PATH="php" HELPERS_PATH="/opt/.phpstorm_helpers" INITIALIZED="false" VALID="true" RUN_AS_ROOT_VIA_SUDO="false">
56
- <dockerComposeConfigurationPaths>
57
- <item value="$PROJECT_DIR$/docker-compose.yml" />
58
- </dockerComposeConfigurationPaths>
59
- <envs />
60
- <type_data command="RUN" />
61
- </remote_data>
62
- </interpreter>
63
- </interpreters>
64
- </component>
65
- <component name="PhpInterpretersPhpInfoCache">
66
- <phpInfoCache>
67
- <interpreter name="Docker: PHP 7.0">
68
- <phpinfo binary_type="PHP" php_cgi="/usr/bin/php-cgi" php_cli="/usr/bin/php7.0" path_separator=":" version="7.0.33-21+0~20200220.28+debian9~1.gbp0a9d2d">
69
- <additional_php_ini>/etc/php/7.0/cli/conf.d/10-mysqlnd.ini, /etc/php/7.0/cli/conf.d/10-opcache.ini, /etc/php/7.0/cli/conf.d/10-pdo.ini, /etc/php/7.0/cli/conf.d/15-xml.ini, /etc/php/7.0/cli/conf.d/20-apcu.ini, /etc/php/7.0/cli/conf.d/20-bcmath.ini, /etc/php/7.0/cli/conf.d/20-bz2.ini, /etc/php/7.0/cli/conf.d/20-calendar.ini, /etc/php/7.0/cli/conf.d/20-ctype.ini, /etc/php/7.0/cli/conf.d/20-curl.ini, /etc/php/7.0/cli/conf.d/20-dom.ini, /etc/php/7.0/cli/conf.d/20-exif.ini, /etc/php/7.0/cli/conf.d/20-fileinfo.ini, /etc/php/7.0/cli/conf.d/20-ftp.ini, /etc/php/7.0/cli/conf.d/20-gd.ini, /etc/php/7.0/cli/conf.d/20-geoip.ini, /etc/php/7.0/cli/conf.d/20-gettext.ini, /etc/php/7.0/cli/conf.d/20-iconv.ini, /etc/php/7.0/cli/conf.d/20-igbinary.ini, /etc/php/7.0/cli/conf.d/20-imagick.ini, /etc/php/7.0/cli/conf.d/20-imap.ini, /etc/php/7.0/cli/conf.d/20-intl.ini, /etc/php/7.0/cli/conf.d/20-json.ini, /etc/php/7.0/cli/conf.d/20-ldap.ini, /etc/php/7.0/cli/conf.d/20-mbstring.ini, /etc/php/7.0/cli/conf.d/20-mcrypt.ini, /etc/php/7.0/cli/conf.d/20-mongodb.ini, /etc/php/7.0/cli/conf.d/20-msgpack.ini, /etc/php/7.0/cli/conf.d/20-mysqli.ini, /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.0/cli/conf.d/20-pdo_pgsql.ini, /etc/php/7.0/cli/conf.d/20-pdo_sqlite.ini, /etc/php/7.0/cli/conf.d/20-pgsql.ini, /etc/php/7.0/cli/conf.d/20-phar.ini, /etc/php/7.0/cli/conf.d/20-posix.ini, /etc/php/7.0/cli/conf.d/20-readline.ini, /etc/php/7.0/cli/conf.d/20-redis.ini, /etc/php/7.0/cli/conf.d/20-shmop.ini, /etc/php/7.0/cli/conf.d/20-simplexml.ini, /etc/php/7.0/cli/conf.d/20-soap.ini, /etc/php/7.0/cli/conf.d/20-sockets.ini, /etc/php/7.0/cli/conf.d/20-sqlite3.ini, /etc/php/7.0/cli/conf.d/20-ssh2.ini, /etc/php/7.0/cli/conf.d/20-sysvmsg.ini, /etc/php/7.0/cli/conf.d/20-sysvsem.ini, /etc/php/7.0/cli/conf.d/20-sysvshm.ini, /etc/php/7.0/cli/conf.d/20-tokenizer.ini, /etc/php/7.0/cli/conf.d/20-wddx.ini, /etc/php/7.0/cli/conf.d/20-xdebug.ini, /etc/php/7.0/cli/conf.d/20-xmlreader.ini, /etc/php/7.0/cli/conf.d/20-xmlrpc.ini, /etc/php/7.0/cli/conf.d/20-xmlwriter.ini, /etc/php/7.0/cli/conf.d/20-xsl.ini, /etc/php/7.0/cli/conf.d/20-zip.ini, /etc/php/7.0/cli/conf.d/25-apcu_bc.ini, /etc/php/7.0/cli/conf.d/25-memcached.ini, /etc/php/7.0/cli/conf.d/999-custom.ini</additional_php_ini>
70
- <configuration_file>/etc/php/7.0/cli/php.ini</configuration_file>
71
- <configuration_options>
72
- <configuration_option name="include_path" value=".:/usr/share/php" />
73
- </configuration_options>
74
- <debuggers>
75
- <debugger_info debugger="xdebug" debugger_version="2.8.1">
76
- <debug_extensions />
77
- </debugger_info>
78
- </debuggers>
79
- <loaded_extensions>
80
- <extension name="Core" />
81
- <extension name="PDO" />
82
- <extension name="Phar" />
83
- <extension name="Reflection" />
84
- <extension name="SPL" />
85
- <extension name="SimpleXML" />
86
- <extension name="Zend OPcache" />
87
- <extension name="apc" />
88
- <extension name="apcu" />
89
- <extension name="bcmath" />
90
- <extension name="bz2" />
91
- <extension name="calendar" />
92
- <extension name="ctype" />
93
- <extension name="curl" />
94
- <extension name="date" />
95
- <extension name="dom" />
96
- <extension name="exif" />
97
- <extension name="fileinfo" />
98
- <extension name="filter" />
99
- <extension name="ftp" />
100
- <extension name="gd" />
101
- <extension name="geoip" />
102
- <extension name="gettext" />
103
- <extension name="hash" />
104
- <extension name="iconv" />
105
- <extension name="igbinary" />
106
- <extension name="imagick" />
107
- <extension name="imap" />
108
- <extension name="intl" />
109
- <extension name="json" />
110
- <extension name="ldap" />
111
- <extension name="libxml" />
112
- <extension name="mbstring" />
113
- <extension name="mcrypt" />
114
- <extension name="memcached" />
115
- <extension name="mongodb" />
116
- <extension name="msgpack" />
117
- <extension name="mysqli" />
118
- <extension name="mysqlnd" />
119
- <extension name="openssl" />
120
- <extension name="pcntl" />
121
- <extension name="pcre" />
122
- <extension name="pdo_mysql" />
123
- <extension name="pdo_pgsql" />
124
- <extension name="pdo_sqlite" />
125
- <extension name="pgsql" />
126
- <extension name="posix" />
127
- <extension name="readline" />
128
- <extension name="redis" />
129
- <extension name="session" />
130
- <extension name="shmop" />
131
- <extension name="soap" />
132
- <extension name="sockets" />
133
- <extension name="sqlite3" />
134
- <extension name="ssh2" />
135
- <extension name="standard" />
136
- <extension name="sysvmsg" />
137
- <extension name="sysvsem" />
138
- <extension name="sysvshm" />
139
- <extension name="tokenizer" />
140
- <extension name="wddx" />
141
- <extension name="xdebug" />
142
- <extension name="xml" />
143
- <extension name="xmlreader" />
144
- <extension name="xmlrpc" />
145
- <extension name="xmlwriter" />
146
- <extension name="xsl" />
147
- <extension name="zip" />
148
- <extension name="zlib" />
149
- </loaded_extensions>
150
- </phpinfo>
151
- </interpreter>
152
- </phpInfoCache>
153
- </component>
154
- <component name="PhpProjectSharedConfiguration" php_language_level="7" />
155
- <component name="PhpUnit">
156
- <phpunit_settings>
157
- <phpunit_by_interpreter interpreter_id="f318a6fc-b155-49e8-b4bf-7120b3d2ffe8" load_method="CUSTOM_LOADER" bootstrap_file_path="/srv/test/bootstrap.php" configuration_file_path="/srv/phpunit.xml" custom_loader_path="/srv/vendor/autoload.php" phpunit_phar_path="" use_configuration_file="true" />
158
- </phpunit_settings>
159
- </component>
160
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/containers/.idea/remote-mappings.xml DELETED
@@ -1,16 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="RemoteMappingsManager">
4
- <list>
5
- <list>
6
- <remote-mappings server-id="php@f318a6fc-b155-49e8-b4bf-7120b3d2ffe8">
7
- <settings>
8
- <list>
9
- <mapping local-root="$PROJECT_DIR$" remote-root="/srv" />
10
- </list>
11
- </settings>
12
- </remote-mappings>
13
- </list>
14
- </list>
15
- </component>
16
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/containers/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>
 
 
 
 
 
 
vendor/dhii/data-container-interface/.idea/codeStyles/codeStyleConfig.xml DELETED
@@ -1,5 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <state>
3
- <option name="PREFERRED_PROJECT_CODE_STYLE" value="PSR2" />
4
- </state>
5
- </component>
 
 
 
 
 
vendor/dhii/data-container-interface/.idea/data-container-interface.iml DELETED
@@ -1,51 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <sourceFolder url="file://$MODULE_DIR$/test/unit" isTestSource="true" packagePrefix="Dhii\Data\Container\UnitTest\" />
6
- <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="Dhii\Data\Container\" />
7
- <sourceFolder url="file://$MODULE_DIR$/test/functional" isTestSource="true" packagePrefix="Dhii\Data\Container\FuncTest\" />
8
- <excludeFolder url="file://$MODULE_DIR$/vendor/codeclimate/php-test-reporter" />
9
- <excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
10
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/exception-interface" />
11
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/factory-interface" />
12
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/php-cs-fixer-config" />
13
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/stringable-interface" />
14
- <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
15
- <excludeFolder url="file://$MODULE_DIR$/vendor/friendsofphp/php-cs-fixer" />
16
- <excludeFolder url="file://$MODULE_DIR$/vendor/guzzle/guzzle" />
17
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
18
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/prophecy" />
19
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
20
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
21
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
22
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
23
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-token-stream" />
24
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
25
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit-mock-objects" />
26
- <excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" />
27
- <excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" />
28
- <excludeFolder url="file://$MODULE_DIR$/vendor/ptrofimov/xpmock" />
29
- <excludeFolder url="file://$MODULE_DIR$/vendor/satooshi/php-coveralls" />
30
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
31
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
32
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
33
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
34
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
35
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
36
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
37
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/config" />
38
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" />
39
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/debug" />
40
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
41
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/filesystem" />
42
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" />
43
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
44
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
45
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/stopwatch" />
46
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/yaml" />
47
- </content>
48
- <orderEntry type="inheritedJdk" />
49
- <orderEntry type="sourceFolder" forTests="false" />
50
- </component>
51
- </module>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/data-container-interface/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/data-container-interface.iml" filepath="$PROJECT_DIR$/.idea/data-container-interface.iml" />
6
- </modules>
7
- </component>
8
- </project>
 
 
 
 
 
 
 
 
vendor/dhii/data-container-interface/.idea/php-test-framework.xml DELETED
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpTestFrameworkVersionCache">
4
- <tools_cache>
5
- <tool tool_name="PHPUnit">
6
- <cache>
7
- <versions>
8
- <info id="Local" version="4.8.36" />
9
- </versions>
10
- </cache>
11
- </tool>
12
- </tools_cache>
13
- </component>
14
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/data-container-interface/.idea/php.xml DELETED
@@ -1,60 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpCodeSniffer">
4
- <phpcs_settings>
5
- <PhpCSConfiguration tool_path="D:/sites/sb35-wp-multisite/public/wp-content/plugins/multilingualpress-2-to-3-migration/vendor/bin/phpcs" />
6
- </phpcs_settings>
7
- </component>
8
- <component name="PhpIncludePathManager">
9
- <include_path>
10
- <path value="$PROJECT_DIR$/vendor/codeclimate/php-test-reporter" />
11
- <path value="$PROJECT_DIR$/vendor/dhii/php-cs-fixer-config" />
12
- <path value="$PROJECT_DIR$/vendor/dhii/exception-interface" />
13
- <path value="$PROJECT_DIR$/vendor/guzzle/guzzle" />
14
- <path value="$PROJECT_DIR$/vendor/dhii/stringable-interface" />
15
- <path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
16
- <path value="$PROJECT_DIR$/vendor/symfony/console" />
17
- <path value="$PROJECT_DIR$/vendor/symfony/process" />
18
- <path value="$PROJECT_DIR$/vendor/symfony/debug" />
19
- <path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
20
- <path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
21
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
22
- <path value="$PROJECT_DIR$/vendor/symfony/config" />
23
- <path value="$PROJECT_DIR$/vendor/symfony/filesystem" />
24
- <path value="$PROJECT_DIR$/vendor/symfony/stopwatch" />
25
- <path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
26
- <path value="$PROJECT_DIR$/vendor/symfony/finder" />
27
- <path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
28
- <path value="$PROJECT_DIR$/vendor/symfony/yaml" />
29
- <path value="$PROJECT_DIR$/vendor/sebastian/environment" />
30
- <path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
31
- <path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
32
- <path value="$PROJECT_DIR$/vendor/composer" />
33
- <path value="$PROJECT_DIR$/vendor/sebastian/diff" />
34
- <path value="$PROJECT_DIR$/vendor/sebastian/version" />
35
- <path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
36
- <path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
37
- <path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
38
- <path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" />
39
- <path value="$PROJECT_DIR$/vendor/phpunit/phpunit-mock-objects" />
40
- <path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
41
- <path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
42
- <path value="$PROJECT_DIR$/vendor/friendsofphp/php-cs-fixer" />
43
- <path value="$PROJECT_DIR$/vendor/psr/container" />
44
- <path value="$PROJECT_DIR$/vendor/psr/log" />
45
- <path value="$PROJECT_DIR$/vendor/phpspec/prophecy" />
46
- <path value="$PROJECT_DIR$/vendor/satooshi/php-coveralls" />
47
- <path value="$PROJECT_DIR$/vendor/ptrofimov/xpmock" />
48
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
49
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
50
- <path value="$PROJECT_DIR$/vendor/webmozart/assert" />
51
- <path value="$PROJECT_DIR$/vendor/dhii/factory-interface" />
52
- </include_path>
53
- </component>
54
- <component name="PhpProjectSharedConfiguration" php_language_level="5.3.0" />
55
- <component name="PhpUnit">
56
- <phpunit_settings>
57
- <PhpUnitSettings load_method="CUSTOM_LOADER" custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" phpunit_phar_path="" />
58
- </phpunit_settings>
59
- </component>
60
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/data-container-interface/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>
 
 
 
 
 
 
vendor/dhii/exception-interface/.idea/exception-interface.iml DELETED
@@ -1,49 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="Dhii\Exception\" />
6
- <sourceFolder url="file://$MODULE_DIR$/test/functional" isTestSource="true" packagePrefix="Dhii\Exception\FuncTest\" />
7
- <sourceFolder url="file://$MODULE_DIR$/test/unit" isTestSource="true" packagePrefix="Dhii\Exception\UnitTest\" />
8
- <excludeFolder url="file://$MODULE_DIR$/vendor/codeclimate/php-test-reporter" />
9
- <excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
10
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/php-cs-fixer-config" />
11
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/stringable-interface" />
12
- <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
13
- <excludeFolder url="file://$MODULE_DIR$/vendor/friendsofphp/php-cs-fixer" />
14
- <excludeFolder url="file://$MODULE_DIR$/vendor/guzzle/guzzle" />
15
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
16
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/prophecy" />
17
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
18
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
19
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
20
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
21
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-token-stream" />
22
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
23
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit-mock-objects" />
24
- <excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" />
25
- <excludeFolder url="file://$MODULE_DIR$/vendor/ptrofimov/xpmock" />
26
- <excludeFolder url="file://$MODULE_DIR$/vendor/satooshi/php-coveralls" />
27
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
28
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
29
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
30
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
31
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
32
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
33
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
34
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/config" />
35
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" />
36
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/debug" />
37
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
38
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/filesystem" />
39
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" />
40
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-ctype" />
41
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
42
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
43
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/stopwatch" />
44
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/yaml" />
45
- </content>
46
- <orderEntry type="inheritedJdk" />
47
- <orderEntry type="sourceFolder" forTests="false" />
48
- </component>
49
- </module>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/exception-interface/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/exception-interface.iml" filepath="$PROJECT_DIR$/.idea/exception-interface.iml" />
6
- </modules>
7
- </component>
8
- </project>
 
 
 
 
 
 
 
 
vendor/dhii/exception-interface/.idea/php-test-framework.xml DELETED
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpTestFrameworkVersionCache">
4
- <tools_cache>
5
- <tool tool_name="PHPUnit">
6
- <cache>
7
- <versions>
8
- <info id="Local" version="4.8.36" />
9
- </versions>
10
- </cache>
11
- </tool>
12
- </tools_cache>
13
- </component>
14
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/exception-interface/.idea/php.xml DELETED
@@ -1,50 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpIncludePathManager">
4
- <include_path>
5
- <path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
6
- <path value="$PROJECT_DIR$/vendor/psr/log" />
7
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
8
- <path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
9
- <path value="$PROJECT_DIR$/vendor/codeclimate/php-test-reporter" />
10
- <path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
11
- <path value="$PROJECT_DIR$/vendor/phpunit/phpunit-mock-objects" />
12
- <path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" />
13
- <path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
14
- <path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
15
- <path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
16
- <path value="$PROJECT_DIR$/vendor/guzzle/guzzle" />
17
- <path value="$PROJECT_DIR$/vendor/friendsofphp/php-cs-fixer" />
18
- <path value="$PROJECT_DIR$/vendor/satooshi/php-coveralls" />
19
- <path value="$PROJECT_DIR$/vendor/symfony/yaml" />
20
- <path value="$PROJECT_DIR$/vendor/symfony/finder" />
21
- <path value="$PROJECT_DIR$/vendor/symfony/stopwatch" />
22
- <path value="$PROJECT_DIR$/vendor/composer" />
23
- <path value="$PROJECT_DIR$/vendor/symfony/filesystem" />
24
- <path value="$PROJECT_DIR$/vendor/symfony/config" />
25
- <path value="$PROJECT_DIR$/vendor/sebastian/version" />
26
- <path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
27
- <path value="$PROJECT_DIR$/vendor/sebastian/diff" />
28
- <path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
29
- <path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
30
- <path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
31
- <path value="$PROJECT_DIR$/vendor/symfony/process" />
32
- <path value="$PROJECT_DIR$/vendor/sebastian/environment" />
33
- <path value="$PROJECT_DIR$/vendor/symfony/console" />
34
- <path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
35
- <path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
36
- <path value="$PROJECT_DIR$/vendor/phpspec/prophecy" />
37
- <path value="$PROJECT_DIR$/vendor/dhii/stringable-interface" />
38
- <path value="$PROJECT_DIR$/vendor/dhii/php-cs-fixer-config" />
39
- <path value="$PROJECT_DIR$/vendor/ptrofimov/xpmock" />
40
- <path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
41
- <path value="$PROJECT_DIR$/vendor/symfony/debug" />
42
- </include_path>
43
- </component>
44
- <component name="PhpProjectSharedConfiguration" php_language_level="5.3.0" />
45
- <component name="PhpUnit">
46
- <phpunit_settings>
47
- <PhpUnitSettings load_method="CUSTOM_LOADER" custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" />
48
- </phpunit_settings>
49
- </component>
50
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/exception-interface/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>
 
 
 
 
 
 
vendor/dhii/factory-interface/.idea/factory-interface.iml DELETED
@@ -1,51 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <sourceFolder url="file://$MODULE_DIR$/test/functional" isTestSource="true" packagePrefix="Dhii\Factory\FuncTest\" />
6
- <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="Dhii\Factory\" />
7
- <sourceFolder url="file://$MODULE_DIR$/test/unit" isTestSource="true" packagePrefix="Dhii\Factory\UnitTest\" />
8
- <excludeFolder url="file://$MODULE_DIR$/vendor/codeclimate/php-test-reporter" />
9
- <excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
10
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/exception-interface" />
11
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/php-cs-fixer-config" />
12
- <excludeFolder url="file://$MODULE_DIR$/vendor/dhii/stringable-interface" />
13
- <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
14
- <excludeFolder url="file://$MODULE_DIR$/vendor/friendsofphp/php-cs-fixer" />
15
- <excludeFolder url="file://$MODULE_DIR$/vendor/guzzle/guzzle" />
16
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
17
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/prophecy" />
18
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
19
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
20
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
21
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
22
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-token-stream" />
23
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
24
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit-mock-objects" />
25
- <excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" />
26
- <excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" />
27
- <excludeFolder url="file://$MODULE_DIR$/vendor/ptrofimov/xpmock" />
28
- <excludeFolder url="file://$MODULE_DIR$/vendor/satooshi/php-coveralls" />
29
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
30
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
31
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
32
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
33
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
34
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
35
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
36
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/config" />
37
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" />
38
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/debug" />
39
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
40
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/filesystem" />
41
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" />
42
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-ctype" />
43
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
44
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
45
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/stopwatch" />
46
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/yaml" />
47
- </content>
48
- <orderEntry type="inheritedJdk" />
49
- <orderEntry type="sourceFolder" forTests="false" />
50
- </component>
51
- </module>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/factory-interface/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/factory-interface.iml" filepath="$PROJECT_DIR$/.idea/factory-interface.iml" />
6
- </modules>
7
- </component>
8
- </project>
 
 
 
 
 
 
 
 
vendor/dhii/factory-interface/.idea/php-test-framework.xml DELETED
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpTestFrameworkVersionCache">
4
- <tools_cache>
5
- <tool tool_name="PHPUnit">
6
- <cache>
7
- <versions>
8
- <info id="Local" version="4.8.36" />
9
- </versions>
10
- </cache>
11
- </tool>
12
- </tools_cache>
13
- </component>
14
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/factory-interface/.idea/php.xml DELETED
@@ -1,52 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpIncludePathManager">
4
- <include_path>
5
- <path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
6
- <path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
7
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
8
- <path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
9
- <path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" />
10
- <path value="$PROJECT_DIR$/vendor/phpunit/phpunit-mock-objects" />
11
- <path value="$PROJECT_DIR$/vendor/dhii/stringable-interface" />
12
- <path value="$PROJECT_DIR$/vendor/phpspec/prophecy" />
13
- <path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
14
- <path value="$PROJECT_DIR$/vendor/dhii/exception-interface" />
15
- <path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
16
- <path value="$PROJECT_DIR$/vendor/dhii/php-cs-fixer-config" />
17
- <path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
18
- <path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
19
- <path value="$PROJECT_DIR$/vendor/sebastian/environment" />
20
- <path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
21
- <path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
22
- <path value="$PROJECT_DIR$/vendor/sebastian/diff" />
23
- <path value="$PROJECT_DIR$/vendor/sebastian/version" />
24
- <path value="$PROJECT_DIR$/vendor/codeclimate/php-test-reporter" />
25
- <path value="$PROJECT_DIR$/vendor/ptrofimov/xpmock" />
26
- <path value="$PROJECT_DIR$/vendor/satooshi/php-coveralls" />
27
- <path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
28
- <path value="$PROJECT_DIR$/vendor/psr/container" />
29
- <path value="$PROJECT_DIR$/vendor/symfony/finder" />
30
- <path value="$PROJECT_DIR$/vendor/psr/log" />
31
- <path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
32
- <path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
33
- <path value="$PROJECT_DIR$/vendor/symfony/console" />
34
- <path value="$PROJECT_DIR$/vendor/symfony/filesystem" />
35
- <path value="$PROJECT_DIR$/vendor/symfony/debug" />
36
- <path value="$PROJECT_DIR$/vendor/symfony/yaml" />
37
- <path value="$PROJECT_DIR$/vendor/symfony/config" />
38
- <path value="$PROJECT_DIR$/vendor/composer" />
39
- <path value="$PROJECT_DIR$/vendor/friendsofphp/php-cs-fixer" />
40
- <path value="$PROJECT_DIR$/vendor/guzzle/guzzle" />
41
- <path value="$PROJECT_DIR$/vendor/symfony/process" />
42
- <path value="$PROJECT_DIR$/vendor/symfony/stopwatch" />
43
- <path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
44
- </include_path>
45
- </component>
46
- <component name="PhpProjectSharedConfiguration" php_language_level="5.3.0" />
47
- <component name="PhpUnit">
48
- <phpunit_settings>
49
- <PhpUnitSettings load_method="CUSTOM_LOADER" configuration_file_path="$PROJECT_DIR$/phpunit.xml" custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" phpunit_phar_path="" use_configuration_file="true" />
50
- </phpunit_settings>
51
- </component>
52
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/factory-interface/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>
 
 
 
 
 
 
vendor/dhii/module-interface/.idea/codeStyles/codeStyleConfig.xml DELETED
@@ -1,5 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <state>
3
- <option name="PREFERRED_PROJECT_CODE_STYLE" value="PSR2" />
4
- </state>
5
- </component>
 
 
 
 
 
vendor/dhii/module-interface/.idea/module-interface.iml DELETED
@@ -1,48 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
6
- <sourceFolder url="file://$MODULE_DIR$/test/functional" isTestSource="true" packagePrefix="Dhii\Modular\Module\FuncTest\" />
7
- <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
8
- <sourceFolder url="file://$MODULE_DIR$/test/unit" isTestSource="true" packagePrefix="Dhii\Modular\Module\UnitTest\" />
9
- <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="Dhii\Modular\Module\" />
10
- <sourceFolder url="file://$MODULE_DIR$/test/stubs" isTestSource="true" packagePrefix="Dhii\Modular\Module\Test\" />
11
- <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
12
- <excludeFolder url="file://$MODULE_DIR$/test/coverage" />
13
- <excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
14
- <excludeFolder url="file://$MODULE_DIR$/vendor/container-interop/service-provider" />
15
- <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
16
- <excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/deep-copy" />
17
- <excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/manifest" />
18
- <excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/version" />
19
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
20
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
21
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
22
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/prophecy" />
23
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
24
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
25
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
26
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
27
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-token-stream" />
28
- <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
29
- <excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" />
30
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
31
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
32
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
33
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
34
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
35
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
36
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-enumerator" />
37
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-reflector" />
38
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
39
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/resource-operations" />
40
- <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
41
- <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-ctype" />
42
- <excludeFolder url="file://$MODULE_DIR$/vendor/theseer/tokenizer" />
43
- <excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" />
44
- </content>
45
- <orderEntry type="inheritedJdk" />
46
- <orderEntry type="sourceFolder" forTests="false" />
47
- </component>
48
- </module>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/module-interface/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/module-interface.iml" filepath="$PROJECT_DIR$/.idea/module-interface.iml" />
6
- </modules>
7
- </component>
8
- </project>
 
 
 
 
 
 
 
 
vendor/dhii/module-interface/.idea/php-test-framework.xml DELETED
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpTestFrameworkVersionCache">
4
- <tools_cache>
5
- <tool tool_name="PHPUnit">
6
- <cache>
7
- <versions>
8
- <info id="interpreter-726c0b49-bb36-4617-9a1e-1532455149e3" version="7.5.20" />
9
- </versions>
10
- </cache>
11
- </tool>
12
- </tools_cache>
13
- </component>
14
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/module-interface/.idea/php.xml DELETED
@@ -1,157 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpCSFixer">
4
- <phpcsfixer_settings>
5
- <PhpCSFixerConfiguration tool_path="$PROJECT_DIR$/vendor/bin/php-cs-fixer" />
6
- </phpcsfixer_settings>
7
- </component>
8
- <component name="PhpIncludePathManager">
9
- <include_path>
10
- <path value="$PROJECT_DIR$/vendor/psr/container" />
11
- <path value="$PROJECT_DIR$/vendor/composer" />
12
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
13
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
14
- <path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
15
- <path value="$PROJECT_DIR$/vendor/webmozart/assert" />
16
- <path value="$PROJECT_DIR$/vendor/sebastian/diff" />
17
- <path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
18
- <path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
19
- <path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
20
- <path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
21
- <path value="$PROJECT_DIR$/vendor/sebastian/version" />
22
- <path value="$PROJECT_DIR$/vendor/sebastian/environment" />
23
- <path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
24
- <path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
25
- <path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
26
- <path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
27
- <path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
28
- <path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
29
- <path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" />
30
- <path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
31
- <path value="$PROJECT_DIR$/vendor/phpspec/prophecy" />
32
- <path value="$PROJECT_DIR$/vendor/container-interop/service-provider" />
33
- <path value="$PROJECT_DIR$/vendor/phar-io/version" />
34
- <path value="$PROJECT_DIR$/vendor/phar-io/manifest" />
35
- <path value="$PROJECT_DIR$/vendor/theseer/tokenizer" />
36
- <path value="$PROJECT_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
37
- <path value="$PROJECT_DIR$/vendor/sebastian/object-reflector" />
38
- <path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" />
39
- <path value="$PROJECT_DIR$/vendor/sebastian/object-enumerator" />
40
- <path value="$PROJECT_DIR$/vendor/sebastian/resource-operations" />
41
- <path value="$PROJECT_DIR$/vendor/ptrofimov/xpmock" />
42
- <path value="$PROJECT_DIR$/vendor/dhii/data-key-value-aware-interface" />
43
- <path value="$PROJECT_DIR$/vendor/dhii/stringable-interface" />
44
- <path value="$PROJECT_DIR$/vendor/dhii/factory-interface" />
45
- <path value="$PROJECT_DIR$/vendor/dhii/exception-interface" />
46
- </include_path>
47
- </component>
48
- <component name="PhpInterpreters">
49
- <interpreters>
50
- <interpreter id="726c0b49-bb36-4617-9a1e-1532455149e3" name="PHP 7.1 (Docker)" home="docker-compose://DATA" debugger_id="php.debugger.XDebug">
51
- <remote_data DOCKER_ACCOUNT_NAME="Docker Machine" DOCKER_COMPOSE_SERVICE_NAME="php" DOCKER_REMOTE_PROJECT_PATH="/opt/project" INTERPRETER_PATH="php" HELPERS_PATH="/opt/.phpstorm_helpers" INITIALIZED="false" VALID="true" RUN_AS_ROOT_VIA_SUDO="false">
52
- <dockerComposeConfigurationPaths>
53
- <item value="$PROJECT_DIR$/docker-compose.yml" />
54
- </dockerComposeConfigurationPaths>
55
- <envs />
56
- <type_data command="RUN" />
57
- </remote_data>
58
- </interpreter>
59
- </interpreters>
60
- </component>
61
- <component name="PhpInterpretersPhpInfoCache">
62
- <phpInfoCache>
63
- <interpreter name="PHP 7.1 (Docker)">
64
- <phpinfo binary_type="PHP" php_cgi="/usr/bin/php-cgi" php_cli="/usr/bin/php7.1" path_separator=":" version="7.1.33-8+0~20200202.31+debian9~1.gbp266c28">
65
- <additional_php_ini>/etc/php/7.1/cli/conf.d/10-mysqlnd.ini, /etc/php/7.1/cli/conf.d/10-opcache.ini, /etc/php/7.1/cli/conf.d/10-pdo.ini, /etc/php/7.1/cli/conf.d/15-xml.ini, /etc/php/7.1/cli/conf.d/20-apcu.ini, /etc/php/7.1/cli/conf.d/20-bcmath.ini, /etc/php/7.1/cli/conf.d/20-bz2.ini, /etc/php/7.1/cli/conf.d/20-calendar.ini, /etc/php/7.1/cli/conf.d/20-ctype.ini, /etc/php/7.1/cli/conf.d/20-curl.ini, /etc/php/7.1/cli/conf.d/20-dom.ini, /etc/php/7.1/cli/conf.d/20-exif.ini, /etc/php/7.1/cli/conf.d/20-fileinfo.ini, /etc/php/7.1/cli/conf.d/20-ftp.ini, /etc/php/7.1/cli/conf.d/20-gd.ini, /etc/php/7.1/cli/conf.d/20-geoip.ini, /etc/php/7.1/cli/conf.d/20-gettext.ini, /etc/php/7.1/cli/conf.d/20-iconv.ini, /etc/php/7.1/cli/conf.d/20-igbinary.ini, /etc/php/7.1/cli/conf.d/20-imagick.ini, /etc/php/7.1/cli/conf.d/20-imap.ini, /etc/php/7.1/cli/conf.d/20-intl.ini, /etc/php/7.1/cli/conf.d/20-json.ini, /etc/php/7.1/cli/conf.d/20-ldap.ini, /etc/php/7.1/cli/conf.d/20-mbstring.ini, /etc/php/7.1/cli/conf.d/20-mcrypt.ini, /etc/php/7.1/cli/conf.d/20-mongodb.ini, /etc/php/7.1/cli/conf.d/20-msgpack.ini, /etc/php/7.1/cli/conf.d/20-mysqli.ini, /etc/php/7.1/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.1/cli/conf.d/20-pdo_pgsql.ini, /etc/php/7.1/cli/conf.d/20-pdo_sqlite.ini, /etc/php/7.1/cli/conf.d/20-pgsql.ini, /etc/php/7.1/cli/conf.d/20-phar.ini, /etc/php/7.1/cli/conf.d/20-posix.ini, /etc/php/7.1/cli/conf.d/20-readline.ini, /etc/php/7.1/cli/conf.d/20-redis.ini, /etc/php/7.1/cli/conf.d/20-shmop.ini, /etc/php/7.1/cli/conf.d/20-simplexml.ini, /etc/php/7.1/cli/conf.d/20-soap.ini, /etc/php/7.1/cli/conf.d/20-sockets.ini, /etc/php/7.1/cli/conf.d/20-sqlite3.ini, /etc/php/7.1/cli/conf.d/20-ssh2.ini, /etc/php/7.1/cli/conf.d/20-sysvmsg.ini, /etc/php/7.1/cli/conf.d/20-sysvsem.ini, /etc/php/7.1/cli/conf.d/20-sysvshm.ini, /etc/php/7.1/cli/conf.d/20-tokenizer.ini, /etc/php/7.1/cli/conf.d/20-wddx.ini, /etc/php/7.1/cli/conf.d/20-xdebug.ini, /etc/php/7.1/cli/conf.d/20-xmlreader.ini, /etc/php/7.1/cli/conf.d/20-xmlrpc.ini, /etc/php/7.1/cli/conf.d/20-xmlwriter.ini, /etc/php/7.1/cli/conf.d/20-xsl.ini, /etc/php/7.1/cli/conf.d/20-zip.ini, /etc/php/7.1/cli/conf.d/25-apcu_bc.ini, /etc/php/7.1/cli/conf.d/25-memcached.ini, /etc/php/7.1/cli/conf.d/999-custom.ini</additional_php_ini>
66
- <configuration_file>/etc/php/7.1/cli/php.ini</configuration_file>
67
- <configuration_options>
68
- <configuration_option name="include_path" value=".:/usr/share/php" />
69
- </configuration_options>
70
- <debuggers>
71
- <debugger_info debugger="xdebug" debugger_version="2.9.1">
72
- <debug_extensions />
73
- </debugger_info>
74
- </debuggers>
75
- <loaded_extensions>
76
- <extension name="Core" />
77
- <extension name="PDO" />
78
- <extension name="Phar" />
79
- <extension name="Reflection" />
80
- <extension name="SPL" />
81
- <extension name="SimpleXML" />
82
- <extension name="Zend OPcache" />
83
- <extension name="apc" />
84
- <extension name="apcu" />
85
- <extension name="bcmath" />
86
- <extension name="bz2" />
87
- <extension name="calendar" />
88
- <extension name="ctype" />
89
- <extension name="curl" />
90
- <extension name="date" />
91
- <extension name="dom" />
92
- <extension name="exif" />
93
- <extension name="fileinfo" />
94
- <extension name="filter" />
95
- <extension name="ftp" />
96
- <extension name="gd" />
97
- <extension name="geoip" />
98
- <extension name="gettext" />
99
- <extension name="hash" />
100
- <extension name="iconv" />
101
- <extension name="igbinary" />
102
- <extension name="imagick" />
103
- <extension name="imap" />
104
- <extension name="intl" />
105
- <extension name="json" />
106
- <extension name="ldap" />
107
- <extension name="libxml" />
108
- <extension name="mbstring" />
109
- <extension name="mcrypt" />
110
- <extension name="memcached" />
111
- <extension name="mongodb" />
112
- <extension name="msgpack" />
113
- <extension name="mysqli" />
114
- <extension name="mysqlnd" />
115
- <extension name="openssl" />
116
- <extension name="pcntl" />
117
- <extension name="pcre" />
118
- <extension name="pdo_mysql" />
119
- <extension name="pdo_pgsql" />
120
- <extension name="pdo_sqlite" />
121
- <extension name="pgsql" />
122
- <extension name="posix" />
123
- <extension name="readline" />
124
- <extension name="redis" />
125
- <extension name="session" />
126
- <extension name="shmop" />
127
- <extension name="soap" />
128
- <extension name="sockets" />
129
- <extension name="sqlite3" />
130
- <extension name="ssh2" />
131
- <extension name="standard" />
132
- <extension name="sysvmsg" />
133
- <extension name="sysvsem" />
134
- <extension name="sysvshm" />
135
- <extension name="tokenizer" />
136
- <extension name="wddx" />
137
- <extension name="xdebug" />
138
- <extension name="xml" />
139
- <extension name="xmlreader" />
140
- <extension name="xmlrpc" />
141
- <extension name="xmlwriter" />
142
- <extension name="xsl" />
143
- <extension name="zip" />
144
- <extension name="zlib" />
145
- </loaded_extensions>
146
- </phpinfo>
147
- </interpreter>
148
- </phpInfoCache>
149
- </component>
150
- <component name="PhpProjectSharedConfiguration" php_language_level="7.1" />
151
- <component name="PhpUnit">
152
- <phpunit_settings>
153
- <phpunit_by_interpreter interpreter_id="726c0b49-bb36-4617-9a1e-1532455149e3" configuration_file_path="/srv/phpunit.xml" custom_loader_path="/srv/vendor/autoload.php" phpunit_phar_path="" use_configuration_file="true" />
154
- <PhpUnitSettings configuration_file_path="$PROJECT_DIR$/phpunit.xml" custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" use_configuration_file="true" />
155
- </phpunit_settings>
156
- </component>
157
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/module-interface/.idea/remote-mappings.xml DELETED
@@ -1,16 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="RemoteMappingsManager">
4
- <list>
5
- <list>
6
- <remote-mappings server-id="php@726c0b49-bb36-4617-9a1e-1532455149e3">
7
- <settings>
8
- <list>
9
- <mapping local-root="$PROJECT_DIR$" remote-root="/srv" />
10
- </list>
11
- </settings>
12
- </remote-mappings>
13
- </list>
14
- </list>
15
- </component>
16
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/dhii/module-interface/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>
 
 
 
 
 
 
vendor/dhii/module-interface/.idea/workspace.xml DELETED
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ChangeListManager">
4
- <list id="d96ce4fc-2190-48b2-94bc-ff30335fd7d5" name="Ignore" comment="Ignore">
5
- <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6
- </list>
7
- </component>
8
- <component name="ComposerSettings" doNotAsk="true" synchronizationState="SYNCHRONIZE">
9
- <pharConfigPath>$PROJECT_DIR$/composer.json</pharConfigPath>
10
- <execution>
11
- <interpreter name="PHP 7.1 (Docker)" composer="composer" />
12
- </execution>
13
- </component>
14
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
woocommerce-paypal-payments.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: WooCommerce PayPal Payments
4
  * Plugin URI: https://woocommerce.com/products/woocommerce-paypal-payments/
5
  * Description: PayPal's latest complete payments processing solution. Accept PayPal, PayPal Credit, credit/debit cards, alternative digital wallets local payment types and bank accounts. Turn on only PayPal options or process a full suite of payment methods. Enable global transaction with extensive currency and country coverage.
6
- * Version: 1.0.0
7
  * Author: WooCommerce
8
  * Author URI: https://woocommerce.com/
9
  * License: GPL-2.0
3
  * Plugin Name: WooCommerce PayPal Payments
4
  * Plugin URI: https://woocommerce.com/products/woocommerce-paypal-payments/
5
  * Description: PayPal's latest complete payments processing solution. Accept PayPal, PayPal Credit, credit/debit cards, alternative digital wallets local payment types and bank accounts. Turn on only PayPal options or process a full suite of payment methods. Enable global transaction with extensive currency and country coverage.
6
+ * Version: 1.0.1
7
  * Author: WooCommerce
8
  * Author URI: https://woocommerce.com/
9
  * License: GPL-2.0