{"version":3,"file":"auto-coupon/frontend.js","mappings":"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","sources":["webpack://wt-sc-blocks/webpack/bootstrap","webpack://wt-sc-blocks/webpack/runtime/make namespace object","webpack://wt-sc-blocks/./src/auto-coupon/frontend.js"],"sourcesContent":["// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import metadata from './block.json';\nconst { registerCheckoutFilters,extensionCartUpdate } = window.wc.blocksCheckout;\nconst { jQuery } = window;\n\n\n// Declare some global variables.\nvar wbte_auto_coupon_close_remove_timeout = null;\nvar wbte_auto_coupon_quantity_click_timeout = null;\nvar wbte_auto_coupon_needs_refresh_timeout = null;\nvar wbte_auto_coupon_needs_refresh = false;\n\n\n// Set a flag to trigger an extra refresh\njQuery(document).ready(function(){\n \n // On value change.\n jQuery(document).on('input', '.wc-block-components-quantity-selector__input', function(){ \n clearTimeout(wbte_auto_coupon_quantity_click_timeout);\n wbte_auto_coupon_quantity_click_timeout = setTimeout(function(){\n wbte_auto_coupon_needs_refresh = true;\n }, 1000);\n });\n\n // On plus button click.\n jQuery(document).on('click', '.wc-block-components-quantity-selector__button--plus', function(){ \n clearTimeout(wbte_auto_coupon_quantity_click_timeout);\n wbte_auto_coupon_quantity_click_timeout = setTimeout(function(){\n wbte_auto_coupon_needs_refresh = true;\n }, 1000); \n });\n}); \n\n/**\n * Register checkout filter to remove auto coupon remove button.\n */\nconst updateDataToCart = ( defaultValue, extensions, args ) => {\n\n // Take auto coupon list from args.\n const applied_auto_coupon_list = args?.cart?.extensions?.wt_sc_blocks?.applied_auto_coupon_list;\n\n // Set a timer to avoid multiple function call.\n clearTimeout(wbte_auto_coupon_close_remove_timeout);\n wbte_auto_coupon_close_remove_timeout = setTimeout(function() {\n \n // Needs refresh, because quantity changed.\n if ( wbte_auto_coupon_needs_refresh ) { \n \n // Add a timer to avoid continuous multiple requests.\n clearTimeout( wbte_auto_coupon_needs_refresh_timeout );\n wbte_auto_coupon_needs_refresh_timeout = setTimeout(function() { \n \n if ( wbte_auto_coupon_needs_refresh ) {\n // Set a loader.\n if ( typeof window.wbte_sc_block_node === 'function' ) {\n window.wbte_sc_block_node( jQuery('.wp-block-woocommerce-cart-order-summary-block') );\n }\n\n // Refresh the cart.\n extensionCartUpdate( {\n namespace: 'wbte-sc-blocks-update-cart',\n data: {},\n } );\n\n // Remove the loader. Because sometimes below function will not work.\n setTimeout( function() { \n if ( typeof window.wbte_sc_unblock_node === 'function' ) {\n window.wbte_sc_unblock_node( jQuery('.wp-block-woocommerce-cart-order-summary-block') );\n }\n }, 1500 );\n }\n\n // Reset the refresh required flag.\n wbte_auto_coupon_needs_refresh = false;\n }, 500 ); \n }\n\n\n // Remove the close button for auto coupons\n if ( Array.isArray( applied_auto_coupon_list ) ) { \n jQuery('.wc-block-components-totals-discount__coupon-list-item').each( function() {\n var coupon_code = jQuery(this).find('.wc-block-components-chip__text').text().trim();\n \n // This is an auto coupon.\n if( -1 !== jQuery.inArray( coupon_code, applied_auto_coupon_list ) ){\n jQuery(this).find('.wc-block-components-chip__remove').remove();\n }\n\n // Remove the loader.\n if ( typeof window.wbte_sc_unblock_node === 'function' ) {\n window.wbte_sc_unblock_node( jQuery('.wp-block-woocommerce-cart-order-summary-block') );\n }\n });\n }\n\n \n }, 500);\n\n // Return the default value, because we are not altering any value here.\n return defaultValue;\n};\n\nregisterCheckoutFilters( 'wt-sc-blocks-auto-apply-update-cart-checkout', {\n itemName: updateDataToCart,\n} );"],"names":["metadata","registerCheckoutFilters","extensionCartUpdate","window","wc","blocksCheckout","jQuery","wbte_auto_coupon_close_remove_timeout","wbte_auto_coupon_quantity_click_timeout","wbte_auto_coupon_needs_refresh_timeout","wbte_auto_coupon_needs_refresh","document","ready","on","clearTimeout","setTimeout","updateDataToCart","defaultValue","extensions","args","applied_auto_coupon_list","cart","wt_sc_blocks","wbte_sc_block_node","namespace","data","wbte_sc_unblock_node","Array","isArray","each","coupon_code","find","text","trim","inArray","remove","itemName"],"sourceRoot":""}