vendor: 678 bytes, lines 1-13
1/* 2 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). 3 * This devtool is neither made for production nor for readable output files. 4 * It uses "eval()" calls to create a separate source file in the browser devtools. 5 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) 6 * or disable the default devtool with "devtool: false". 7 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). 8 */ 9/******/ (() => { // webpackBootstrap 10/******/ "use strict"; 11/******/ var __webpack_modules__ = ({ 12 13/***/ "./src/
13wallet/frontend.js": 14/*!********************************************!*\ 15 !*** ./src/wallet/frontend.js + 8 modules ***! 16 \********************************************/ 17/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 18 19eval("// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n;// CONCATENATED MODULE: external \"React\"\nconst external_React_namespaceObject = window[\"React\"];\n;// CONCATENATED MODULE: ./src/wallet/block.json\nconst block_namespaceObject = JSON.parse('{\"$schema\":\"https://schemas.wp.org/trunk/block.json\",\"apiVersion\":3,\"name\":\"wt-gc-blocks/wallet\",\"version\":\"1.0.0\",\"title\":\"Wallet\",\"category\":\"woocommerce\",\"parent\":[\"woocommerce/checkout-order-summary-block\"],\"attributes\":{\"lock\":{\"type\":\"object\",\"default\":{\"remove\":true,\"move\":true}}},\"textdomain\":\"wt-woocommerce-gift-cards\",\"editorScript\":\"file:./index.js\",\"editorStyle\":\"file:./index.css\"}');\n;// CONCATENATED MODULE: external [\"wp\",\"i18n\"]\nconst external_wp_i18n_namespaceObject = window[\"wp\"][\"i18n\"];\n;// CONCATENATED MODULE: external [\"wp\",\"element\"]\nconst external_wp_element_namespaceObject = window[\"wp\"][\"element\"];\n;// CONCATENATED MODULE: ./src/wallet/walletblock.tsx\n\n\n\nconst WtGcBlocksCheckoutWallet = ({\n checkoutWalletData,\n setCheckoutWalletData\n}) => {\n /* Declare values */\n const {\n wallet_amount,\n wallet_amount_html,\n wallet_coupon_code,\n wallet_applied\n } = checkoutWalletData;\n const [checked, setChecked] = (0,external_wp_element_namespaceObject.useState)(wallet_applied);\n (0,external_wp_element_namespaceObject.useEffect)(() => {\n setChecked(wallet_applied);\n }, [wallet_applied]);\n\n /* Handle checkbox click events */\n const onUseWalletChange = (0,external_wp_element_namespaceObject.useCallback)(event => {\n setChecked(event.target.checked);\n setCheckoutWalletData({\n ...checkoutWalletData,\n wallet_applied: event.target.checked,\n on_page_load: false\n });\n }, [setChecked, checkoutWalletData, setCheckoutWalletData]);\n return wallet_amount > 0 ? (0,external_React_namespaceObject.createElement)(\"div\", {\n className: \"wp-block-woocommerce-checkout-order-summary-wt-gc-wallet-block wc-block-components-totals-wrapper\",\n id: \"wt_gc_checkout_store_credit_balance\"\n }, (0,external_React_namespaceObject.createElement)(\"div\", {\n className: 'wc-block-components-totals-item wt_gc_checkout_store_credit_balance'\n }, (0,external_React_namespaceObject.createElement)(\"div\", {\n className: \"wc-block-components-totals-item__description\"\n }, (0,external_React_namespaceObject.createElement)(\"input\", {\n className: \"wc-block-components-checkbox__input\",\n type: \"checkbox\",\n id: \"wt_gc_block_use_store_credit_balance\",\n name: \"wt_gc_use_store_credit_balance\",\n checked: checked,\n onChange: onUseWalletChange\n }), (0,external_React_namespaceObject.createElement)(\"label\", {\n htmlFor: 'wt_gc_block_use_store_credit_balance',\n dangerouslySetInnerHTML: {\n __html: (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('Use %s store credit balance', 'wt-woocommerce-gift-cards'), '<b>' + wallet_amount_html + '</b>')\n }\n })))) : '';\n};\n;// CONCATENATED MODULE: external [\"wc\",\"wcBlocksData\"]\nconst external_wc_wcBlocksData_namespaceObject = window[\"wc\"][\"wcBlocksData\"];\n;// CONCATENATED MODULE: external [\"wp\",\"data\"]\nconst external_wp_data_namespaceObject = window[\"wp\"][\"data\"];\n;// CONCATENATED MODULE: external [\"wc\",\"blocksCheckout\"]\nconst external_wc_blocksCheckout_namespaceObject = window[\"wc\"][\"blocksCheckout\"];\n;// CONCATENATED MODULE: ./src/wallet/frontend.js\n\n/**\n * Wallet block frontend.\n * \n * @package Wt_Woocommerce_Gift_Cards\n */\n\n\n\n\n\n\n\n\n\n// Global import.\nconst {\n registerCheckoutBlock\n} = wc.blocksCheckout;\n\n// Arrange the item.\nsetTimeout(function () {\n let targetElm = document.getElementsByClassName('wp-block-woocommerce-checkout-order-summary-subtotal-block').length ? document.getElementsByClassName('wp-block-woocommerce-checkout-order-summary-subtotal-block') : false;\n if (targetElm && document.getElementById('wt_gc_checkout_store_credit_balance')) {\n targetElm[0].before(document.getElementById('wt_gc_checkout_store_credit_balance'));\n }\n}, 200);\n\n/**\n * Get wallet params from cart extension data or legacy wc_checkout_params.\n *\n * @param {Object} extensionData - Optional wt_gc_blocks extension data (e.g. wbte_gc_wallet_params).\n * @return {Object} Params with wallet_amount, wallet_amount_html, wallet_coupon_code, wallet_applied.\n */\nconst getWalletParamsFromSource = extensionData => {\n var _source$wt_gc_wallet_, _source$wt_gc_wallet_2, _source$wt_gc_wallet_3, _source$wt_gc_wallet_4, _source$wt_gc_wallet_5;\n const fromExtension = extensionData?.wbte_gc_wallet_params || extensionData;\n const fromCheckout = typeof wc_checkout_params !== 'undefined' ? wc_checkout_params : null;\n const fromCart = typeof wc_cart_params !== 'undefined' ? wc_cart_params : null;\n const source = fromExtension || fromCheckout || fromCart;\n if (!source) {\n return {\n wt_gc_wallet_amount: 0,\n wt_gc_wallet_amount_html: '',\n wt_gc_wallet_coupon_code: '',\n wt_gc_wallet_applied: false,\n wt_gc_wallet_apply_before_tax: false\n };\n }\n return {\n wt_gc_wallet_amount: (_source$wt_gc_wallet_ = source.wt_gc_wallet_amount) !== null && _source$wt_gc_wallet_ !== void 0 ? _source$wt_gc_wallet_ : 0,\n wt_gc_wallet_amount_html: (_source$wt_gc_wallet_2 = source.wt_gc_wallet_amount_html) !== null && _source$wt_gc_wallet_2 !== void 0 ? _source$wt_gc_wallet_2 : '',\n wt_gc_wallet_coupon_code: (_source$wt_gc_wallet_3 = source.wt_gc_wallet_coupon_code) !== null && _source$wt_gc_wallet_3 !== void 0 ? _source$wt_gc_wallet_3 : '',\n wt_gc_wallet_applied: (_source$wt_gc_wallet_4 = source.wt_gc_wallet_applied) !== null && _source$wt_gc_wallet_4 !== void 0 ? _source$wt_gc_wallet_4 : false,\n wt_gc_wallet_apply_before_tax: (_s
19ource$wt_gc_wallet_5 = source.wt_gc_wallet_apply_before_tax) !== null && _source$wt_gc_wallet_5 !== void 0 ? _source$wt_gc_wallet_5 : false\n };\n};\nconst wbte_gc_hide_wallet_coupon_code = (coupons, params) => {\n var couponsNew = [];\n for (var k in coupons) {\n var coupon = coupons[k];\n if (coupon.code !== params.wt_gc_wallet_coupon_code) {\n couponsNew.push(coupon);\n }\n }\n if (!params.wt_gc_wallet_apply_before_tax && !couponsNew.length) {\n setTimeout(function () {\n if (document.getElementsByClassName('wc-block-components-totals-discount').length) {\n document.getElementsByClassName('wc-block-components-totals-discount')[0].style.display = 'none';\n }\n }, 200);\n }\n return couponsNew;\n};\n\n// Get wallet extension data from cart store (latest Woo no longer passes args.cart to coupons filter).\nconst getWalletExtensionFromCartStore = () => {\n try {\n if (typeof wp === 'undefined' || !wp.data || !wp.data.select) {\n return null;\n }\n const store = wp.data.select(external_wc_wcBlocksData_namespaceObject.CART_STORE_KEY);\n if (!store || typeof store.getCartData !== 'function') {\n return null;\n }\n const cartData = store.getCartData();\n return cartData && cartData.extensions && cartData.extensions.wt_gc_blocks ? cartData.extensions.wt_gc_blocks : null;\n } catch (e) {\n return null;\n }\n};\n\n// Hide wallet coupon from display (checkout and cart).\n(0,external_wc_blocksCheckout_namespaceObject.registerCheckoutFilters)('wt-gc-blocks', {\n coupons: (coupons, extensions, args) => {\n let extensionData = getWalletExtensionFromCartStore();\n if (!extensionData) {\n extensionData = args?.cart?.extensions?.wt_gc_blocks || extensions?.wt_gc_blocks || null;\n }\n const params = getWalletParamsFromSource(extensionData);\n if (params.wt_gc_wallet_coupon_code) {\n return wbte_gc_hide_wallet_coupon_code(coupons, params);\n }\n return coupons;\n }\n});\nconst DEFAULT_WALLET_DATA = {\n wallet_amount: 0,\n wallet_amount_html: '',\n wallet_coupon_code: '',\n wallet_applied: false,\n on_page_load: true\n};\nconst Block = () => {\n const {\n applyCoupon,\n removeCoupon\n } = (0,external_wp_data_namespaceObject.useDispatch)(external_wc_wcBlocksData_namespaceObject.CART_STORE_KEY);\n const cartData = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wc_wcBlocksData_namespaceObject.CART_STORE_KEY).getCartData(), []);\n const wtGcBlocksExtension = cartData?.extensions?.wt_gc_blocks;\n const initialSyncDone = (0,external_wp_element_namespaceObject.useRef)(false);\n const [checkoutWalletData, setCheckoutWalletData] = (0,external_wp_element_namespaceObject.useState)(DEFAULT_WALLET_DATA);\n\n // Sync wallet data once from cart extension or legacy wc_checkout_params when available.\n (0,external_wp_element_namespaceObject.useEffect)(() => {\n if (initialSyncDone.current) {\n return;\n }\n const params = getWalletParamsFromSource(wtGcBlocksExtension);\n const hasData = wtGcBlocksExtension || typeof wc_checkout_params !== 'undefined';\n if (cartData && hasData) {\n initialSyncDone.current = true;\n setCheckoutWalletData(prev => ({\n ...prev,\n wallet_amount: params.wt_gc_wallet_amount,\n wallet_amount_html: params.wt_gc_wallet_amount_html,\n wallet_coupon_code: params.wt_gc_wallet_coupon_code,\n wallet_applied: params.wt_gc_wallet_applied,\n on_page_load: true\n }));\n }\n }, [cartData, wtGcBlocksExtension]);\n (0,external_wp_element_namespaceObject.useEffect)(() => {\n if (!checkoutWalletData.on_page_load) {\n /* Create custom event */\n const wallet_action_event = new CustomEvent(\"wt_gc_api_wallet_action\", {\n detail: {\n 'coupon_code': checkoutWalletData.wallet_coupon_code,\n 'status': 'start'\n }\n });\n\n /* Trigger a custom event */\n setTimeout(function () {\n document.dispatchEvent(wallet_action_event);\n }, 20);\n const context = 'wc/cart'; /* message context */\n\n if (checkoutWalletData.wallet_applied) {\n applyCoupon(checkoutWalletData.wallet_coupon_code).then(response => {\n wallet_action_event.detail.status = 'success';\n document.dispatchEvent(wallet_action_event);\n }).catch(error => {\n wallet_action_event.detail.status = 'error';\n document.dispatchEvent(wallet_action_event);\n\n /* Show error message */\n createErrorNotice(error.message, {\n id: 'coupon-form',\n type: 'snackbar',\n context\n });\n });\n } else {\n removeCoupon(checkoutWalletData.wallet_coupon_code).then(response => {\n wallet_action_event.detail.status = 'success';\n document.dispatchEvent(wallet_action_event);\n }).catch(error => {\n wallet_action_event.detail.status = 'error';\n document.dispatchEvent(wallet_action_event);\n\n /* Show error message */\n createErrorNotice(error.message, {\n id: 'coupon-form',\n type: 'snackbar',\n context\n });\n });\n }\n }\n }, [checkoutWalletData]);\n return (0,external_React_namespaceObject.createElement)(WtGcBlocksCheckoutWallet, {\n checkoutWalletData: checkoutWalletData,\n setCheckoutWalletData: setCheckoutWalletData\n });\n};\nconst options = {\n metadata: block_namespaceObject,\n component: Block\n};\nregisterCheckoutBlock(options);
19\n\n//# sourceURL=webpack://wt-gc-blocks/./src/wallet/frontend.js_+_8_modules?"); 20 21/***/ })
21 22 23/******/ }); 24/************************************************************************/ 25/******/ // The require scope 26/******/ var __webpack_require__ = {}; 27/******/ 28/************************************************************************/ 29/******/ /* webpack/runtime/make namespace object */ 30/******/ (() => { 31/******/ // define __esModule on exports 32/******/ __webpack_require__.r = (exports) => { 33/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 34/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 35/******/ } 36/******/ Object.defineProperty(exports, '__esModule', { value: true }); 37/******/ }; 38/******/ })(); 39/******/ 40/************************************************************************/ 41/******/ 42/******/ // startup 43/******/ // Load entry module and return exports 44/******/ // This entry module can't be inlined because the eval devtool is used. 45/******/ var __webpack_exports__ = {}; 46/******/ __webpack_modules__["./src/wallet/frontend.js"](0, __webpack_exports__, __webpack_require__); 47/******/ 48/******/ })() 49;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.