File: //proc/self/cwd/wp-content/plugins/saphali-woocommerce-lite/build/frontend/frontend.js.map
{"version":3,"file":"frontend.js","mappings":"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","sources":["webpack://saphali-billing-address-block-editor/webpack/bootstrap","webpack://saphali-billing-address-block-editor/webpack/runtime/compat get default export","webpack://saphali-billing-address-block-editor/webpack/runtime/define property getters","webpack://saphali-billing-address-block-editor/webpack/runtime/hasOwnProperty shorthand","webpack://saphali-billing-address-block-editor/external window \"ReactDOM\"","webpack://saphali-billing-address-block-editor/external window \"React\"","webpack://saphali-billing-address-block-editor/external window [\"wp\",\"data\"]","webpack://saphali-billing-address-block-editor/external window [\"wp\",\"i18n\"]","webpack://saphali-billing-address-block-editor/./src/extraFunction.js","webpack://saphali-billing-address-block-editor/./src/hide-removed-fields.js","webpack://saphali-billing-address-block-editor/./src/field-datepicker.js","webpack://saphali-billing-address-block-editor/./src/CheckoutFieldsManager.js","webpack://saphali-billing-address-block-editor/./src/frontend.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"ReactDOM\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"React\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"data\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"i18n\"];","import debug from \"./isDebug.js\";\nimport { __, sprintf } from \"@wordpress/i18n\";\n\nconst isVowel = (letter) => {\n const vowels = \"aeiou\";\n return vowels.includes(letter.toLowerCase());\n};\n\nconst getMorthyMessage = (noun) => {\n // Приводим слово к нижнему регистру для упрощения сравнения\n const lowerNoun = noun.toLowerCase();\n\n let adjective;\n // Наивное определение рода по конкретным словам\n if (lowerNoun === \"имя\") {\n // \"имя\" – средний род\n adjective = \"действительное\";\n } else if (lowerNoun === \"фамилия\") {\n // \"имя\" – средний род\n adjective = \"действительную\";\n noun = \"фамилию\";\n } else {\n // Для остальных слов можно задать значение по умолчанию\n adjective = \"действительный\";\n }\n\n return { [lowerNoun]: [adjective, noun] };\n};\n// Ждём, пока появится поле (если оно динамически рендерится) и навешиваем собитие, чтобы контролировать ошибку\n\nconst waitForField = (selector, callback) => {\n selector = selector.replaceAll(\"saphali/\", \"saphali\\\\/\");\n const observer = new MutationObserver(() => {\n const element = document.querySelector(selector);\n if (element) {\n observer.disconnect();\n // console.log(`Элемент ${selector} найден, инициализируем React...`);\n callback(element);\n }\n });\n\n observer.observe(document.body, { childList: true, subtree: true });\n};\n// Функция debounce – возвращает обёртку, которая запускает func через delay миллисекунд после последнего вызова\nfunction debounce(func, delay) {\n let timer;\n return function (...args) {\n clearTimeout(timer);\n timer = setTimeout(() => func.apply(this, args), delay);\n };\n}\n// Функция для сравнения версий\nconst isVersionLessThan = (versionA, versionB) => {\n const aParts = versionA.split('.').map(Number);\n const bParts = versionB.split('.').map(Number);\n\n for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {\n const a = aParts[i] || 0;\n const b = bParts[i] || 0;\n if (a < b) return true;\n if (a > b) return false;\n }\n return false;\n};\n// Функция для перестановки DOM-узлов по index\n// (обратите внимание: для поля страны можно добавить отдельную логику, если нужно)\nconst logDebug = (...args) => {\n if (!debug || !args.length) return;\n\n\n // Проверяем, последний аргумент - тип ('warn' или 'log')\n const lastArg = args[args.length - 1];\n const consoleMethod = [\"warn\", \"error\", \"info\"].includes(lastArg)\n ? lastArg\n : \"log\";\n\n // Если последний - тип, убираем его из массива\n const messages =\n consoleMethod === lastArg ? args.slice(0, -1) : args;\n\n /* // Получаем имя вызывающей функции (нулевой элемент стека вызовов)\n const stack = new Error().stack.split(\"\\n\");\n\n // Проверяем, что у нас есть минимум 5 строк\n if (stack.length > 4 ) {\n // Обрежем лишний префикс \" at \"\n const line3 = stack[3].trim().replace(/^at /, \"\");\n const line4 = stack[4].trim().replace(/^at /, \"\");\n\n // Пример line3: \"Array.forEach (<anonymous>)\"\n // Пример line4: \"hideSpecifiedFields (http://localhost/...:1352:13)\"\n\n // Достанем отдельно название функции и ссылку\n let funcName = line3.indexOf(\"http\") > 0 ? '' : `${line3} -> `;\n // Ищем паттерн: ^([^ ]+) \\\\(([^)]+)\\\\)$\n // 1-я группа: hideSpecifiedFields\n const match = line4.match(/^([^ ]+) \\(([^)]+)\\)$/);\n if (match) {\n funcName += `${match[1]} => `; // 'hideSpecifiedFields'\n }\n messages.unshift(funcName);\n } */\n\n // Выводим сообщение в консоль\n console[consoleMethod](...messages);\n};\n\nconst reorderFields = (area, fieldsObj, ascending = true) => {\n const areaContainer = document.querySelector(\n `#${area}.wc-block-components-address-form`\n );\n if (!areaContainer) {\n logDebug(`Container for area #${area} not found.`, 'warn');\n return;\n }\n \n const fieldsArray = Object.entries(fieldsObj).map(([key, val]) => ({\n key,\n index: val.index ?? 0,\n type: val.type ?? \"text\",\n label: val.label || key,\n }));\n\n fieldsArray.sort((a, b) =>\n ascending ? a.index - b.index : b.index - a.index\n );\n\n fieldsArray.forEach((field) => {\n field.key = field.key.replaceAll('saphali/', \"saphali\\\\/\");\n let selector = `#${area}-${field.key}`;\n \n let inputEl = document.querySelector(selector);\n if (!inputEl) {\n // Если не найден по ID, попробуем найти по классу (например, для некоторых полей)\n inputEl = document.querySelector(\n `.wc-block-components-address-form__${field.key}`\n );\n }\n if (!inputEl) return;\n\n // Обновляем label и aria-label, если элемент ещё не обновлён\n if (\n inputEl.hasAttribute(\"aria-label\") &&\n inputEl.getAttribute(\"aria-label\") !== field.label\n ) {\n const parentDiv = inputEl.closest(\"div\");\n const labelElement = parentDiv ? parentDiv.querySelector(\"label\") : null;\n if (labelElement) labelElement.innerHTML = field.label;\n inputEl.setAttribute(\"aria-label\", field.label);\n if (!inputEl.classList.contains(\"saphli-field-control\")) {\n // Выбираем существующий инпут по его ID (например, \"billing-first_name\")\n ((inputElCb) => {\n inputElCb.classList.add(\"saphli-field-control\");\n if (\n inputElCb &&\n inputElCb.hasAttribute(\"required\") &&\n [\"input\", \"select\"].includes(inputElCb.nodeName.toLowerCase())\n ) {\n // Добавляем обработчик события blur\n const _event =\n inputElCb.nodeName.toLowerCase() === \"input\" ? \"blur\" : \"change\";\n inputElCb.addEventListener(_event, (event) => {\n const value = event.target.value.trim();\n if (!value) {\n const label = inputElCb\n .closest(\"div\")\n .querySelector(\"label\").textContent;\n const an = isVowel(label[0]) ? \"an\" : \"a\";\n // Если поле пустое – устанавливаем ошибку через wc/store/validation\n if (label) {\n setTimeout(() => {\n // clearInterval(timer);\n const MorthyMessage = getMorthyMessage(label.toLowerCase());\n wp.data\n .dispatch(\"wc/store/validation\")\n .setValidationErrors({\n [inputElCb.getAttribute(\"id\").replace(\"-\", \"_\")]: {\n message: sprintf(\n __(\n \"Please enter %s %s\",\n \"saphali-woocommerce-lite\"\n ),\n an,\n label.toLowerCase()\n )\n .replace(\n \"действительный\",\n MorthyMessage[label.toLowerCase()][0]\n )\n .replace(\n label.toLowerCase(),\n MorthyMessage[label.toLowerCase()][1]\n ),\n hidden: false,\n },\n });\n }, 100);\n }\n\n logDebug(\n \"Ошибка установлена: \" +\n inputElCb.getAttribute(\"id\").replace(\"-\", \"_\") +\n \" пустое\",\n label\n );\n } else {\n // Если значение заполнено – очищаем ошибку\n wp.data\n .dispatch(\"wc/store/validation\")\n .clearValidationErrors([\n inputElCb.getAttribute(\"id\").replace(\"-\", \"_\"),\n ]);\n logDebug(\n \"Ошибка для \" +\n inputElCb.getAttribute(\"id\").replace(\"-\", \"_\") +\n \" очищена\"\n );\n }\n });\n }\n })(inputEl);\n }\n }\n\n // Определяем родительский контейнер для перестановки:\n // Для большинства полей ищем по классу, для поля страны (если type === 'country') – отдельно.\n\n // if (!inputEl) { inputEl = document.querySelector(`.wc-block-components-address-form__${field.key}`); } if (!inputEl) return;\n let parentWrap;\n if (field.type === \"country\") {\n parentWrap = inputEl.closest(\n `.wc-block-components-address-form__${field.key}`\n );\n } else {\n parentWrap = inputEl.closest(\n `.wc-block-components-address-form__${field.key}`\n );\n }\n logDebug(`Field: ${field.key}, parentWrap:`, parentWrap);\n if (parentWrap && areaContainer.contains(parentWrap)) {\n areaContainer.appendChild(parentWrap);\n logDebug(\n `Reordered field ${field.key} (type=${field.type}, index=${field.index}) in area ${area}`\n );\n }\n });\n};\nconst clearValidationErrorsInField = (selector, area, onlyRemoveRequired = false) => {\n selector = selector.replace(new RegExp(`saphali/`), \"saphali\\\\/\");\n waitForField(selector, (field) => {\n // const field = document.querySelector(selector);\n let result = '';\n // console.log('field', field);\n if (field) {\n // console.log('field.hasAttribute(\"required\")', field.hasAttribute(\"required\"));\n if (field.hasAttribute(\"required\")) {\n field.removeAttribute(\"required\");\n result = selector.replace(\"#\", \"\").replace(\"-\", \"_\");\n // console.log('result', result);\n \n }\n if (!onlyRemoveRequired) {\n // Скрываем элемент целиком\n if (field.nodeName.toLowerCase() === \"span\") {\n field.classList.add(\"hidden-field\");\n } else {\n const parentDiv = document.querySelector(`.wc-block-components-address-form__${selector.replace(\"#\" + `${area}-`, \"\")}`) ? field.closest(`.wc-block-components-address-form__${selector.replace(\"#\" + `${area}-`, \"\")}`) : field.closest('div');\n if (parentDiv && !(parentDiv.classList.contains('wc-block-components-address-form') || parentDiv.getAttribute('id') === area)) {\n parentDiv.classList.add(\"hidden-field\");\n } else {\n field.classList.add(\"hidden-field\");\n }\n if (field.nodeName.toLowerCase() === 'select' && selector.indexOf('country') > 0 ) {\n \n }\n // if (!field.classList.contains('saphli-field-control')) {\n // field.classList.add('saphli-field-control');\n // const _event = field.nodeName.toLowerCase() === 'input' ? 'blur' : field.nodeName.toLowerCase() === 'select' ? 'change' : '';\n // console.log('field.addEventListener1', _event, selector)\n // field.addEventListener(_event, (event) => {\n // const value = event.target.value.trim();\n // console.log('field.addEventListener', value, _event)\n // if (!value) {\n // setTimeout(() => {\n // wp.data.dispatch('wc/store/validation').clearValidationErrors([field.getAttribute('id').replace('-', '_') ]);\n // }, 50);\n // }\n // });\n // }\n \n }\n }\n }\n return result;\n });\n};\nconst selectedShippingMethod = (select) => {\n // Получаем данные корзины через селектор\n const cartData = select('wc/store/cart')?.getCartData() ?? {};\n\n // Если нет пакетов доставки — возвращаем пустую строку\n const shippingPackages = cartData.shippingRates;\n if (!shippingPackages?.length) {\n return '';\n }\n\n // Берем первый пакет доставки\n const { shipping_rates: shippingRates } = shippingPackages[0] || {};\n if (!shippingRates?.length) {\n return '';\n }\n\n // Ищем выбранный тариф\n const selectedRate = shippingRates.find((rate) => rate.selected);\n return selectedRate?.method_id || 'free_shipping';\n};\n\n const selectedPaymentMethod = (select) => {\n const paymentStore = select('wc/store/payment');\n return paymentStore?.getActivePaymentMethod() || 'cod';\n }\n const PaymentMethodWatcher = () => {\n const activePaymentMethod = useSelect(\n () => wp.data.select('wc/store/payment').getActivePaymentMethod(),\n []\n );\n \n useEffect(() => {\n logDebug('Активный метод оплаты:', activePaymentMethod);\n // Здесь можно выполнить логику, зависящую от выбранного метода оплаты.\n }, [ activePaymentMethod ]);\n \n return null;\n };\n \n // const selectedShippingMethod = () => {\n // const cartStore = wp.data?.select('wc/store/cart');\n // const cartData = cartStore?.getCartData() || {};\n // let selectedShippingMethod = '';\n // if (cartData?.shippingRates?.length) {\n // const shippingPackage = cartData.shippingRates[0]; \n // if (shippingPackage?.shipping_rates?.length) {\n // const selectedRateObj = shippingPackage.shipping_rates.find(rate => rate.selected);\n // if (selectedRateObj) {\n // selectedShippingMethod = selectedRateObj.method_id || 'free_shipping';\n // }\n // }\n // }\n // return selectedShippingMethod;\n // }\n // if(typeof wc === 'object') {\n // const { registerCheckoutFilters } = window.wc.blocksCheckout;\n\n // const modifyShowRemoveItemLink = ( defaultValue, extensions, args ) => {\n // console.log('modifyShowRemoveItemLink', defaultValue, extensions, args);\n // const isCartContext = args?.context === 'cart';\n \n // if ( ! isCartContext ) {\n // return defaultValue;\n // }\n \n // return false;\n // };\n \n // registerCheckoutFilters( 'saphali-extension', {\n // showRemoveItemLink: modifyShowRemoveItemLink,\n // } );\n // }\n\nexport { isVowel, getMorthyMessage, waitForField, debounce, reorderFields, clearValidationErrorsInField,\n selectedPaymentMethod, PaymentMethodWatcher, selectedShippingMethod, isVersionLessThan\n };\nexport default logDebug;","// src/hide-removed-fields.js\nimport React from \"react\";\n\nimport logDebug, {debounce, clearValidationErrorsInField} from './extraFunction.js'\n\nconst initMutationObserver = (callback) => {\n const parentElement = document.querySelector(\".wp-site-blocks\");\n if (!parentElement) {\n logDebug('.wp-site-blocks не найден в DOM');\n return null;\n }\n const observer = new MutationObserver(callback);\n observer.observe(parentElement, { childList: true, subtree: true });\n return observer;\n};\n\nconst HideBillingFields = React.memo(({\n areas = [\"billing\", \"shipping\"],\n hideFields = {},\n children,\n differentFields = {},\n}) => {\n // logDebug('HideBillingFields', areas, hideFields, differentFields);\n \n React.useEffect(() => {\n const recoveryFields = () => {\n const fields = differentFields;\n Object.keys(fields).forEach((area) => {\n fields[area].forEach((fieldKey) => {\n const selector = `#${area}-${fieldKey}`;\n const field = document.querySelector(selector);\n if (!field) return;\n if (field.nodeName.toLowerCase() === \"span\") {\n if(field.classList.contains(\"hidden-field\")) {\n field.classList.remove(\"hidden-field\");\n }\n } else {\n const parentDiv = document.querySelector(`.wc-block-components-address-form__${selector.replace(\"#\" + `${area}-`, \"\")}`) ? field.closest(`.wc-block-components-address-form__${selector.replace(\"#\" + `${area}-`, \"\")}`) : field.closest('div');\n if (parentDiv && !(parentDiv.classList.contains('wc-block-components-address-form') || parentDiv.getAttribute('id') === area)) {\n if(parentDiv.classList.contains(\"hidden-field\")) {\n parentDiv.classList.remove(\"hidden-field\");\n }\n } else {\n if(field.classList.contains(\"hidden-field\")) {\n field.classList.remove(\"hidden-field\");\n }\n }\n }\n });\n logDebug(`differentFields for ${area}:`, fields[area]);\n });\n }\n const debouncedShow = debounce(recoveryFields, 300); \n debouncedShow();\n const observer = initMutationObserver(debouncedShow);\n if (!observer) return;\n return () => {\n observer.disconnect();\n }\n }, [differentFields]);\n React.useEffect(() => {\n \n const hideSpecifiedFields = () => {\n \n areas.forEach(area => {\n // Формируем селекторы из hideFields для данной области\n let fieldsToHide = ([...(hideFields[area] || [])]).map(f => `#${area}-${f}`);\n let address_2_toggle = null;\n // Дополнительно, можно добавить стандартные селекторы, если их не переопределили\n if ( fieldsToHide.includes(`#${area}-address_1`) ) {\n const childDiv = document.querySelector(`#${area}-address_1`);\n if (childDiv) {\n address_2_toggle = childDiv.closest('div[id=\"' + area + '\"]')\n ? `div#${area} [class*=\"address_2-toggle\"]`\n : null;\n }\n\n logDebug(\"address_2_toggle\", address_2_toggle);\n if (\n fieldsToHide.includes(`#${area}-address_1`) &&\n childDiv\n ) {\n fieldsToHide = [\n ...fieldsToHide,\n address_2_toggle,\n // `#${area}-address_2`,\n ].filter(v => v !== null);\n }\n }\n logDebug(`fieldsToHide for ${area}:`, fieldsToHide);\n \n\n let removeErrorValidation = [];\n fieldsToHide.forEach((selector) => {\n let $field_remove = clearValidationErrorsInField(selector, area) || selector.replace('#', \"\").replaceAll('-', \"_\");\n const field = document.querySelector(selector.replace('saphali/', 'saphali\\\\/'));\n if($field_remove) {\n removeErrorValidation.push( $field_remove );\n }\n });\n if (Array.isArray(removeErrorValidation) && removeErrorValidation.length !== 0)\n wp.data.dispatch('wc/store/validation').clearValidationErrors(removeErrorValidation);\n logDebug('removeErrorValidation:', removeErrorValidation);\n });\n };\n\n // Дебаунс вызова hideSpecifiedFields (например, 500 мс)\n const debouncedHide = debounce(hideSpecifiedFields, 300);\n debouncedHide();\n const observer = initMutationObserver(debouncedHide);\n if (!observer) return;\n return () => {\n observer.disconnect();\n }\n }, [areas, hideFields]);\n\n // Если children не требуются, можно вернуть null или {children}\n return <>{children}</>;\n});\n\nexport default HideBillingFields;\n","// src/field-datepicker.js\nimport { __ } from '@wordpress/i18n';\n\nimport debug from './isDebug.js'\n\nconst SaphaliDateTimePicker = React.memo(({ fieldIds, onDateChange, type_field }) => {\n if (debug) console.log('fieldIds', fieldIds);\n const initializeDateTimePickerForField = (selector, type_field) => { \n const $field = jQuery(selector);\n if (!$field.length) {console.log(`Field not found: ${selector}`);\n return;}\n if (debug) console.log(\"Initializing DateTimePicker for:\", selector, type_field);\n if (type_field === 'onlydate') {\n if (!$field.hasClass(\"has-datepicker\")) {\n $field.datepicker({\n dateFormat: \"dd.mm.yy\",\n minDate: 0,\n firstDay: 1,\n onSelect: function(dateText, inst) {\n const value = jQuery(this).val();\n if (typeof onDateChange === 'function') {\n ['billing', 'shipping', 'additional-information', 'contact'].forEach(v => {\n if (selector.indexOf(`#${v}`) === 0 ) {\n const c_selector = selector.replace(`#${v}-`, '').replace('saphali-', 'saphali/');\n onDateChange(c_selector, value, v);\n } else if (selector.indexOf(`[id=\"${v}-`) > 0 ) {\n const c_selector = selector.replace(new RegExp(`.*\\\\[id=\"${v}-`), '').replace('\"]', '').replace('saphali-', 'saphali/'); \n onDateChange(c_selector, value, v);\n }\n });\n }\n },\n });\n $field.addClass(\"has-datepicker\");\n if (debug) console.log(`DatePicker initialized for ${selector}`);\n }\n } else {\n if (!$field.hasClass(\"has-datetimepicker\")) {\n $field.datetimepicker({\n dateFormat: \"dd.mm.yy\",\n timeFormat: \"HH:mm\",\n minDate: 0,\n stepMinute: 15,\n closeText: __('Done', 'saphali-woocommerce-lite'),\n currentText: __('Now', 'saphali-woocommerce-lite'),\n timeText: __('Time', 'saphali-woocommerce-lite'),\n hourText: __('Hour', 'saphali-woocommerce-lite'),\n minuteText: __('Minute', 'saphali-woocommerce-lite'),\n timeOnlyTitle: __('Choose Time', 'saphali-woocommerce-lite'),\n firstDay: 1,\n controlType: 'select',\n oneLine: true,\n onSelect: function(datetimeText, inst) {\n const value = jQuery(this).val();\n if (typeof onDateChange === 'function') {\n ['billing', 'shipping', 'additional-information', 'contact'].forEach(v => {\n if (selector.indexOf(`#${v}`) === 0) {\n const c_selector = selector.replace(`#${v}-`, '').replace('saphali-', 'saphali/');\n onDateChange(c_selector, value, v);\n } else if (selector.indexOf(`[id=\"${v}-`) > 0 ) {\n const c_selector = selector.replace(new RegExp(`.*\\\\[id=\"${v}-`), '').replace('\"]', '').replace('saphali-', 'saphali/'); \n onDateChange(c_selector, value, v);\n }\n });\n }\n },\n });\n $field.addClass(\"has-datetimepicker\");\n if (debug) console.log(`DateTimePicker initialized for ${selector}`);\n }\n }\n };\n React.useEffect(() => {\n \n if (fieldIds && Array.isArray(fieldIds)) {\n fieldIds.forEach(fieldId => {\n const selector = `${fieldId}`;\n initializeDateTimePickerForField(selector, type_field);\n });\n }\n }, [fieldIds, type_field]);\n\n return null;\n});\n\nexport default SaphaliDateTimePicker;\n","// src/CheckoutFieldsManager.js\nimport React, { useRef, useState, useEffect, useMemo } from \"react\";\nimport { useSelect } from \"@wordpress/data\";\nimport HideBillingFields from \"./hide-removed-fields\";\nimport SaphaliDateTimePicker from \"./field-datepicker\";\nimport logDebug, { waitForField, reorderFields, debounce, clearValidationErrorsInField, selectedPaymentMethod, selectedShippingMethod } from \"./extraFunction.js\";\n\n// const CheckoutFieldsManager = ({ config }) => { return null };\nconst CheckoutFieldsManager = ({ config }) => {\n if (typeof window.wc !== \"object\") {\n console.warn(\"typeof window.wc !== 'object'\");\n return null;\n }\n\n const [hideFields, setHideFields] = useState(config.hideFields || {});\n const [field_for_datetime, setField_for_datetime] = useState([]);\n const checkout_fields = config.checkout_fields || { billing: {}, shipping: {} };\n\n // Создаём списки для сравнения полей\n const hide_diff = {\n shipping: Object.keys(checkout_fields.billing || {}).filter(\n (x) => !Object.keys(checkout_fields.shipping || {}).includes(x)\n ),\n billing: Object.keys(checkout_fields.shipping || {}).filter(\n (x) => !Object.keys(checkout_fields.billing || {}).includes(x)\n ),\n };\n\n const pushfieldFordatetimecurent = useRef([]);\n const originalFieldStates = useRef({});\n\n // useMemo вычисляет и запоминает значение debounce-функции,\n // чтобы оно не пересоздавалось при каждом рендере, если зависимости не изменились.\n // В отличие от useEffect, который используется для выполнения\n // побочных эффектов после рендера компонента, useMemo возвращает вычисленное значение.\n const updateDateField = useMemo(\n () =>\n debounce(() => {\n setField_for_datetime([...new Set(pushfieldFordatetimecurent.current)]);\n }, 200),\n [useShippingAsBilling /* эта зависимость гарантирует пересоздание debounce-функции при изменении useShippingAsBilling */]\n );\n\n // Заслушка для country полей и обработчики change\n \n [\"billing\", \"shipping\"].forEach((area) => {\n waitForField(`#${area}-country`, (element) => {\n if (!element) {\n logDebug(`Поле ${area}-country не найдено.`, 'warn');\n return;\n }\n logDebug(\"saphli-field-control2\", element.classList.contains(\"saphli-field-control2\"));\n if (!element.classList.contains(\"saphli-field-control2\")) {\n element.classList.add(\"saphli-field-control2\");\n element.addEventListener(\"change\", (event) => {\n const f = () => {\n logDebug(`Обработчик для поля ${area}-country.`);\n const value = event.target.value;\n if (value && checkout_fields[area]) {\n if (checkout_fields[area][\"address_1\"]) {\n reorderFields(area, {\n ...checkout_fields[area],\n \"address_2-toggle\": { index: checkout_fields[area][\"address_1\"].index, type: \"toggle\" },\n });\n } else {\n reorderFields(area, checkout_fields[area]);\n }\n }\n };\n debounce(f, 100)();\n });\n }\n });\n });\n\n // Перестановка полей после монитора\n useEffect(() => {\n const debounceReorder = () => {\n [\"billing\", \"shipping\"].forEach((area) => {\n if (checkout_fields[area]) {\n if (checkout_fields[area][\"address_1\"]) {\n reorderFields(area, {\n ...checkout_fields[area],\n \"address_2-toggle\": { index: checkout_fields[area][\"address_1\"].index, type: \"toggle\", label: \"\" },\n });\n } else {\n reorderFields(area, checkout_fields[area]);\n }\n }\n });\n };\n const timer = setTimeout(debounceReorder, 500);\n return () => clearTimeout(timer);\n }, [checkout_fields]);\n\n // Сохранение оригинального состояния полей\n useEffect(() => {\n const newOriginalStates = {};\n const computedHideFields = {};\n [\"billing\", \"shipping\", \"additional-information\", \"contact\"].forEach((area) => {\n if (!checkout_fields[area]) {\n logDebug(`checkout_fields[${area}] is undefined`);\n return;\n }\n const current = [...(config.hideFields[area] || []), ...(hide_diff[area] || [])];\n newOriginalStates[area] = current;\n computedHideFields[area] = (hideFields[area] || []).concat(\n (hide_diff[area] || []).filter((item) => !(hideFields[area] || []).includes(item))\n );\n });\n originalFieldStates.current = newOriginalStates;\n \n // Обновляем hideFields через useEffect (не в теле рендера)\n\n \n \n if (JSON.stringify(computedHideFields) !== JSON.stringify(hideFields)) {\n setHideFields(computedHideFields);\n }\n }, [checkout_fields, config.hideFields, hide_diff]); // зависимости\n \n // Обработка waitForField для date-полей\n [\"billing\", \"shipping\", \"additional-information\", \"contact\"].forEach((area) => {\n if (!checkout_fields[area]) {\n logDebug(`checkout_fields[${area}] is undefined`);\n return;\n }\n Object.entries(checkout_fields[area]).forEach(([fieldKey, fieldObj]) => {\n if (fieldObj.type === \"date\") {\n const added = \"\";\n // Первый селектор\n waitForField(`input[id=\"${area}-${fieldKey.replace(/saphali-/, \"saphali/\")}\"]`, (element) => {\n if (element) {\n const selector = `${element.nodeName.toLowerCase()}[id=\"${element.getAttribute(\"id\")}\"]`;\n pushfieldFordatetimecurent.current.push(selector);\n updateDateField();\n }\n });\n // Второй селектор (если требуется)\n waitForField(`#${area}${added}-${fieldKey}`, (element) => {\n if (element) {\n const selector = `${element.nodeName.toLowerCase()}[id=\"${element.getAttribute(\"id\")}\"]`;\n pushfieldFordatetimecurent.current.push(selector);\n updateDateField();\n }\n });\n }\n });\n });\n\n // Используем useSelect для получения актуальных значений\n const useShippingAsBilling = useSelect(\n (select) => select(\"wc/store/checkout\").getUseShippingAsBilling(),\n []\n );\n const ShippingMethod = useSelect((select) => selectedShippingMethod(select), []);\n const PaymentMethod = useSelect((select) => selectedPaymentMethod(select), []);\n\n const [differentFields, setDifferentFields] = useState({});\n \n // Обработка \"различных\" полей при изменении методов доставки/оплаты\n useEffect(() => {\n logDebug(\"Выбранный метод доставки:\", ShippingMethod, \"\\nВыбранный метод оплаты:\", PaymentMethod);\n\n const newHideFields = JSON.parse(JSON.stringify(originalFieldStates.current));\n let differentFieldsIn = {};\n [\"shipping\", \"billing\", \"additional-information\", \"contact\"].forEach((area) => {\n if (!checkout_fields[area]) {\n logDebug(`checkout_fields[${area}] is undefined`);\n return;\n }\n newHideFields[area] = [...new Set(newHideFields[area] ? [...newHideFields[area]] : [])];\n let applyRemoveError = [];\n Object.keys(checkout_fields[area]).forEach((v) => {\n if (\n JSON.stringify(checkout_fields[area][v].sm) !== JSON.stringify([\"0\"]) &&\n !checkout_fields[area][v]?.sm?.includes(ShippingMethod)\n ) {\n if (!newHideFields[area].includes(v)) {\n newHideFields[area].push(v);\n }\n applyRemoveError.push(clearValidationErrorsInField(`#${area}-${v}`, area) || `${area}-${v}`.replaceAll('-', \"_\"));\n }\n if (\n JSON.stringify(checkout_fields[area][v]?.pm) !== JSON.stringify([\"0\"]) &&\n !checkout_fields[area][v]?.pm?.includes(PaymentMethod)\n ) {\n if (!newHideFields[area].includes(v)) {\n newHideFields[area].push(v);\n }\n applyRemoveError.push(clearValidationErrorsInField(`#${area}-${v}`, area) || `${area}-${v}`.replaceAll('-', \"_\"));\n }\n });\n if(Array.isArray(applyRemoveError) && applyRemoveError.length !== 0)\n wp.data.dispatch('wc/store/validation').clearValidationErrors(applyRemoveError);\n differentFieldsIn = {\n ...differentFieldsIn,\n [area]: [...(hideFields[area] || []), ...(differentFields[area] || [])].filter((item) => (newHideFields[area] || []).indexOf(item) < 0),\n };\n });\n if (JSON.stringify(newHideFields) !== JSON.stringify(hideFields)) {\n setHideFields(newHideFields);\n }\n if(JSON.stringify(differentFieldsIn) !== JSON.stringify(differentFields))\n setDifferentFields(differentFieldsIn);\n }, [ShippingMethod, PaymentMethod, checkout_fields]);\n \n // Callback изменения даты\n const handleDateChange = (selector, value, location) => {\n if ([\"billing\", \"shipping\"].includes(location)) {\n const cartData = wp.data.select(\"wc/store/cart\").getCartData() || {};\n const fieldKey = selector\n .replace(\"#\", \"\")\n .replace(/^billing-saphali-/, \"saphali/\")\n .replace(/^shipping-saphali-/, \"saphali/\")\n .replace(/^billing-saphali\\//, \"saphali\\\\/\")\n .replace(/^shipping-saphali\\//, \"saphali\\\\/\")\n .replace(/^billing-/, \"\")\n .replace(/^shipping-/, \"\");\n const updatedAddress = {\n ...cartData[`${location}Address`],\n [fieldKey]: value,\n };\n wp.data.dispatch(\"wc/store/cart\").setCartData({\n ...cartData,\n [`${location}Address`]: updatedAddress,\n });\n logDebug(`Updated cart field ${fieldKey} =>`, value);\n } else if ([\"additional-information\", \"contact\"].includes(location)) {\n const currentFields = wp.data.select(\"wc/store/checkout\").getAdditionalFields() || {};\n const fieldKey = selector\n .replace(\"#\", \"\")\n .replace(/^additional-information-saphali-/, \"saphali/\")\n .replace(/^contact-saphali-/, \"saphali/\")\n .replace(/^additional-information-/, \"\")\n .replace(/^contact-/, \"\");\n const updatedFields = {\n ...currentFields,\n [fieldKey]: value,\n };\n if (typeof wp.data.dispatch(\"wc/store/checkout\").setAdditionalFields === \"function\") {\n wp.data.dispatch(\"wc/store/checkout\").setAdditionalFields(updatedFields);\n logDebug(`Updated checkout field ${fieldKey} =>`, value);\n } else {\n wp.data.dispatch(\"wc/store/checkout\").__internalSetExtensionData(fieldKey, { value });\n logDebug(`Updated checkout field ${fieldKey} =>`, value);\n }\n }\n };\n\n \n useEffect(() => {\n // Запускаем проверку только при инициализации или когда меняются checkout_fields\n if (!checkout_fields) return;\n // Проверка обязательных полей\n \n const checkRequiredFields = (location, addressObj) => {\n let applyRemoveError = [];\n Object.keys(addressObj).forEach((element) => {\n if (addressObj[element]?.required) {\n if (\n typeof wp?.data?.dispatch(\"wc/store/checkout\")?.setEditingBillingAddress === \"function\" &&\n wp.data.select(\"wc/store/cart\").getCustomerData()[`${location}Address`][element] === \"\"\n ) {\n if (location === \"billing\") {\n wp.data.dispatch(\"wc/store/checkout\").setEditingBillingAddress(true);\n } else {\n wp.data.dispatch(\"wc/store/checkout\").setEditingShippingAddress(true);\n }\n logDebug(`Mandatory field ${element} is empty => open editing ${location} address`);\n }\n } else {\n applyRemoveError.push (clearValidationErrorsInField(`#${location}-${element}`, location, true) || `${location}-${element}`.replaceAll('-', \"_\"));\n }\n });\n if(Array.isArray(applyRemoveError) && applyRemoveError.length !== 0)\n wp.data.dispatch('wc/store/validation').clearValidationErrors(applyRemoveError);\n };\n Object.keys(checkout_fields).forEach((area) => {\n logDebug(\"Processing required fields for area:\", area);\n checkRequiredFields(area, checkout_fields[area]);\n });\n }, [checkout_fields]);\n\n\n logDebug(\"field_for_datetime\", field_for_datetime);\n logDebug(\"UseShippingAsBilling:\", useShippingAsBilling);\n logDebug(\"differentFields:\", differentFields);\n \n return (\n <div>\n <HideBillingFields areas={[\"billing\", \"shipping\"]} hideFields={hideFields} differentFields={differentFields} />\n <SaphaliDateTimePicker\n fieldIds={field_for_datetime}\n onDateChange={handleDateChange}\n type_field={config.onlyDate ? \"onlydate\" : \"datetime\"}\n />\n </div>\n );\n};\n\nexport default CheckoutFieldsManager;\n","// src/frontend.js\nimport ReactDOM from \"react-dom\";\nimport CheckoutFieldsManager from \"./CheckoutFieldsManager\";\n// import CheckoutStatusWatcher from \"./CheckoutStatusWatcher\";\n\nimport \"./frontend.scss\";\n\nimport logDebug from \"./extraFunction.js\";\n\n\n\nconst initializeReactComponents = () => {\n console.timeEnd('myCode');\n // debugger;\n if (document.getElementById(\"saphali-react-root\")) {\n logDebug(\"React components already initialized\");\n return;\n }\n logDebug(\"Initializing React components\");\n\n \n\n const reactRoot = document.createElement(\"div\");\n reactRoot.id = \"saphali-react-root\";\n document.body.appendChild(reactRoot);\n\n const config = window.saphaliSettingsFrontend || {\n hideFields: {},\n checkout_fields: {},\n onlyDate: \"\",\n position_in_contacts: \"1\",\n };\n\n ReactDOM.render(\n <>\n {/* <CheckoutStatusWatcher /> */}\n <CheckoutFieldsManager config={config} />\n </>,\n reactRoot\n );\n\n logDebug(\"React components initialized\");\n};\nconst waitForField = (selector, callback) => {\n const observer = new MutationObserver(() => {\n const element = document.querySelector(selector);\n if (element) {\n observer.disconnect();\n console.log(`Элемент ${selector} найден, инициализируем React...`);\n callback();\n }\n });\n\n observer.observe(document.querySelector('.wp-block-woocommerce-checkout'), { childList: true, subtree: true });\n};\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n if(typeof window.wc !== 'object') {console.warn(\"typeof window.wc !== 'object'\"); return;}\n console.time('myCode');\n waitForField(\".wc-block-checkout__shipping-fields, .wc-block-checkout__billing-fields\", () => {\n initializeReactComponents();\n });\n});\n// document.addEventListener(\"DOMContentLoaded\", () => {\n// debounce(initializeReactComponents, 1200)();\n// });\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","window","waitForField","selector","callback","replaceAll","observer","MutationObserver","element","document","querySelector","disconnect","observe","body","childList","subtree","debounce","func","delay","timer","_this","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","logDebug","_console","_len2","_key2","lastArg","consoleMethod","includes","messages","slice","console","reorderFields","area","fieldsObj","ascending","undefined","areaContainer","concat","fieldsArray","entries","map","_ref2","_val$index","_val$type","_ref3","val","index","type","label","sort","b","forEach","field","inputEl","hasAttribute","getAttribute","parentDiv","closest","labelElement","innerHTML","setAttribute","classList","contains","inputElCb","add","nodeName","toLowerCase","_event","addEventListener","event","letter","target","value","trim","wp","data","dispatch","clearValidationErrors","replace","textContent","an","noun","adjective","lowerNoun","MorthyMessage","_defineProperty","setValidationErrors","message","sprintf","__","hidden","parentWrap","appendChild","clearValidationErrorsInField","onlyRemoveRequired","RegExp","result","removeAttribute","indexOf","initMutationObserver","parentElement","React","_ref","_ref$areas","areas","_ref$hideFields","hideFields","children","_ref$differentFields","differentFields","debouncedShow","fields","keys","fieldKey","remove","debouncedHide","fieldsToHide","_toConsumableArray","f","address_2_toggle","childDiv","filter","v","removeErrorValidation","$field_remove","push","isArray","memo","fieldIds","onDateChange","type_field","log","useEffect","fieldId","$field","jQuery","hasClass","datepicker","dateFormat","minDate","firstDay","onSelect","dateText","inst","this","c_selector","addClass","datetimepicker","timeFormat","stepMinute","closeText","currentText","timeText","hourText","minuteText","timeOnlyTitle","controlType","oneLine","datetimeText","initializeDateTimePickerForField","config","_typeof","wc","warn","_useState2","_slicedToArray","useState","setHideFields","_useState4","field_for_datetime","setField_for_datetime","checkout_fields","billing","shipping","hide_diff","x","pushfieldFordatetimecurent","useRef","originalFieldStates","updateDateField","useMemo","Set","current","useShippingAsBilling","_objectSpread","newOriginalStates","computedHideFields","item","JSON","stringify","useSelect","select","getUseShippingAsBilling","ShippingMethod","_select$getCartData","_select","shippingPackages","getCartData","shippingRates","shipping_rates","selectedRate","find","rate","selected","method_id","selectedShippingMethod","PaymentMethod","paymentStore","getActivePaymentMethod","selectedPaymentMethod","_useState6","setDifferentFields","newHideFields","parse","differentFieldsIn","applyRemoveError","_checkout_fields$area","_checkout_fields$area2","_checkout_fields$area3","sm","pm","location","addressObj","_addressObj$element","_wp","required","setEditingBillingAddress","getCustomerData","setEditingShippingAddress","HideBillingFields","SaphaliDateTimePicker","cartData","updatedAddress","setCartData","currentFields","getAdditionalFields","updatedFields","setAdditionalFields","__internalSetExtensionData","onlyDate","time","timeEnd","getElementById","reactRoot","createElement","id","saphaliSettingsFrontend","position_in_contacts","ReactDOM","Fragment","CheckoutFieldsManager","initializeReactComponents"],"sourceRoot":""}