text: /**
   * Copyright © Magento, Inc. All rights reserved.
   * See COPYING.txt for license details.
   */
  define([
      'jquery',
      'Magento_Ui/js/modal/confirm',
      'Magento_Customer/js/customer-data'
  ], function ($, confirm, customerData) {
      'use strict';
  
      $.widget('mage.billingAgreement', {
          options: {
              invalidateOnLoad: false,
              cancelButtonSelector: '.block-billing-agreements-view button.cancel',
              cancelMessage: '',
              cancelUrl: ''
          },
  
          /**
           * Initialize billing agreements events
           * @private
           */
          _create: function () {
              var self = this;
  
              if (this.options.invalidateOnLoad) {
                  this.invalidate();
              }
              $(this.options.cancelButtonSelector).on('click', function () {
                  confirm({
                      content: self.options.cancelMessage,
                      actions: {
                          /**
                           * 'Confirm' action handler.
                           */
                          confirm: function () {
                              self.invalidate();
                              window.location.href = self.options.cancelUrl;
                          }
                      }
                  });
  
                  return false;
              });
          },
  
          /**
           * clear paypal billing agreement customer data
           * @returns void
           */
          invalidate: function () {
              customerData.invalidate(['paypal-billing-agreement']);
          }
      });
  
      return $.mage.billingAgreement;
  });
  