XylotrechusZ
{"version":3,"file":"promotion-widget.js","mappings":"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","sources":["webpack://header-footer-elementor/webpack/bootstrap","webpack://header-footer-elementor/webpack/runtime/compat get default export","webpack://header-footer-elementor/webpack/runtime/define property getters","webpack://header-footer-elementor/webpack/runtime/hasOwnProperty shorthand","webpack://header-footer-elementor/external window [\"wp\",\"domReady\"]","webpack://header-footer-elementor/external window [\"wp\",\"element\"]","webpack://header-footer-elementor/./src/Components/PromotionWidget.jsx","webpack://header-footer-elementor/./src/promotion-widget.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[\"wp\"][\"domReady\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"element\"];","import { useEffect } from '@wordpress/element';\n\nconst PromotionWidget = () => {\n useEffect(() => {\n // Global variables to track state\n let lastClickedWidgetType = null;\n let continuousCheckInterval = null;\n let searchObserver = null;\n \n // Function to customize the promotion dialog\n const customizePromotionDialog = (forceUaeWidget = false) => {\n const dialog = parent.document.querySelector('#elementor-element--promotion__dialog');\n if (!dialog) return false;\n \n const defaultBtn = dialog.querySelector('.dialog-buttons-action:not(.uae-upgrade-button)');\n if (!defaultBtn) return false;\n \n // Always show our button in search results or if forced\n const shouldShowUaeButton = forceUaeWidget || lastClickedWidgetType === 'uae';\n \n // Clean up any previous custom buttons to avoid duplicates\n const existingCustomBtns = dialog.querySelectorAll('.uae-upgrade-button');\n existingCustomBtns.forEach(btn => btn.remove());\n \n if (shouldShowUaeButton) {\n // Hide the default button\n defaultBtn.style.display = 'none';\n \n // Create our custom button\n const button = document.createElement('a');\n button.textContent = 'Upgrade Now';\n \n // Get widget name from the dialog title\n const dialogTitle = dialog.querySelector('.dialog-header');\n let widgetTitle = 'widget';\n \n if (dialogTitle && dialogTitle.textContent) {\n widgetTitle = dialogTitle.textContent.trim().toLowerCase().replace(/\\s+/g, '-');\n }\n \n // Set href with dynamic widget title in utm_medium\n button.setAttribute('href', `https://ultimateelementor.com/pricing/?utm_source=plugin-editor&utm_medium=${widgetTitle}-promo&utm_campaign=uae-upgrade`);\n button.setAttribute('target', '_blank');\n button.classList.add(\n 'dialog-button', \n 'dialog-action', \n 'dialog-buttons-action', \n 'elementor-button', \n 'go-pro', \n 'elementor-button-success', \n 'uae-upgrade-button'\n );\n \n // Insert our button\n defaultBtn.insertAdjacentElement('afterend', button);\n \n // Add event listener to prevent default behavior\n button.addEventListener('click', (e) => {\n e.stopPropagation();\n });\n \n // Mark the dialog as customized\n dialog.setAttribute('data-uae-customized', 'true');\n \n return true;\n } else {\n // Not our widget, make sure default button is visible\n defaultBtn.style.display = '';\n dialog.removeAttribute('data-uae-customized');\n return true;\n }\n };\n \n // Function to check if a widget is a UAE widget\n const isUaeWidget = (widget) => {\n if (!widget) return false;\n \n // Check if it has the hfe class in the icon\n const icon = widget.querySelector('.icon > i');\n const hasHfeClass = icon && icon.className.includes('hfe');\n \n // Check if it's in our category\n const isInUaeCategory = widget.closest('#elementor-panel-category-hfe-widgets') !== null;\n \n return hasHfeClass || isInUaeCategory;\n };\n \n // Function to start continuous checking for dialog changes\n const startContinuousCheck = () => {\n // Clear any existing interval\n if (continuousCheckInterval) {\n clearInterval(continuousCheckInterval);\n }\n \n // Set up a new interval to check every 100ms\n continuousCheckInterval = setInterval(() => {\n const dialog = parent.document.querySelector('#elementor-element--promotion__dialog');\n if (!dialog) return;\n \n if (lastClickedWidgetType === 'uae') {\n const defaultBtn = dialog.querySelector('.dialog-buttons-action:not(.uae-upgrade-button)');\n const customBtn = dialog.querySelector('.uae-upgrade-button');\n \n // If default button is visible or our button is missing, fix it\n if ((defaultBtn && defaultBtn.style.display !== 'none') || !customBtn) {\n customizePromotionDialog(true);\n }\n }\n }, 100);\n \n // Safety timeout to stop checking after 10 seconds\n setTimeout(() => {\n if (continuousCheckInterval) {\n clearInterval(continuousCheckInterval);\n continuousCheckInterval = null;\n }\n }, 10000);\n };\n \n // Handle clicks on promotion widgets\n const handleProWidgetClick = (e) => {\n // Find the clicked promotion widget\n let clickedWidget = null;\n const allProWidgets = parent.document.querySelectorAll('.elementor-element--promotion');\n \n for (let i = 0; i < allProWidgets.length; i++) {\n if (allProWidgets[i].contains(e.target)) {\n clickedWidget = allProWidgets[i];\n break;\n }\n }\n \n if (!clickedWidget) return;\n \n // Check if it's our widget\n const isUae = isUaeWidget(clickedWidget);\n \n // Update the last clicked widget type\n lastClickedWidgetType = isUae ? 'uae' : 'other';\n \n // Start continuous checking for dialog changes\n startContinuousCheck();\n \n // Also set up multiple immediate checks with increasing delays\n const delays = [10, 30, 50, 100, 200, 300, 500, 1000, 1500, 2000];\n delays.forEach(delay => {\n setTimeout(() => {\n const dialog = parent.document.querySelector('#elementor-element--promotion__dialog');\n if (dialog) {\n customizePromotionDialog(isUae);\n }\n }, delay);\n });\n };\n \n // Create a mutation observer to watch for dialog changes\n const createDialogObserver = () => {\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n // Look for added nodes that might be the dialog\n if (mutation.addedNodes.length) {\n for (const node of mutation.addedNodes) {\n if (node.id === 'elementor-element--promotion__dialog') {\n // Dialog was just added, customize it\n customizePromotionDialog(lastClickedWidgetType === 'uae');\n startContinuousCheck();\n }\n }\n }\n \n // Also check for attribute changes on the dialog\n if (mutation.type === 'attributes' && \n mutation.target.id === 'elementor-element--promotion__dialog') {\n if (lastClickedWidgetType === 'uae') {\n customizePromotionDialog(true);\n }\n }\n }\n \n // Always check if dialog exists and needs customization\n const dialog = parent.document.querySelector('#elementor-element--promotion__dialog');\n if (dialog && lastClickedWidgetType === 'uae') {\n const defaultBtn = dialog.querySelector('.dialog-buttons-action:not(.uae-upgrade-button)');\n const customBtn = dialog.querySelector('.uae-upgrade-button');\n \n // If default button is visible or our button is missing, fix it\n if ((defaultBtn && defaultBtn.style.display !== 'none') || !customBtn) {\n customizePromotionDialog(true);\n }\n }\n });\n \n // Observe the body for changes\n if (parent.document.body) {\n observer.observe(parent.document.body, { \n childList: true, \n subtree: true,\n attributes: true,\n attributeFilter: ['style', 'class', 'id']\n });\n }\n \n return observer;\n };\n \n // Special function to handle search results\n const setupSearchResultsHandler = () => {\n // If we already have an observer, disconnect it\n if (searchObserver) {\n searchObserver.disconnect();\n searchObserver = null;\n }\n \n // Create a new observer specifically for search results\n searchObserver = new MutationObserver((mutations) => {\n // Check if search results are visible\n const searchWrapper = parent.document.querySelector('#elementor-panel-elements-search-wrapper');\n if (!searchWrapper) return;\n \n // Process all promotion widgets in search results\n const searchPromoWidgets = searchWrapper.querySelectorAll('.elementor-element--promotion');\n if (searchPromoWidgets.length === 0) return;\n \n // Add click handlers to all promotion widgets in search results\n searchPromoWidgets.forEach(widget => {\n // Remove any existing click handlers\n widget.removeEventListener('click', handleSearchWidgetClick);\n \n // Add our click handler\n widget.addEventListener('click', handleSearchWidgetClick);\n \n // Mark this widget as processed\n widget.setAttribute('data-uae-processed', 'true');\n });\n });\n \n // Observe the panel for changes\n const panelElements = parent.document.querySelector('#elementor-panel-elements');\n if (panelElements) {\n searchObserver.observe(panelElements, {\n childList: true,\n subtree: true,\n attributes: false\n });\n }\n \n // Also observe the search input\n const searchInput = parent.document.querySelector('#elementor-panel-elements-search-input');\n if (searchInput) {\n // Add input event listener\n searchInput.addEventListener('input', handleSearchInput);\n }\n };\n \n // Handle search input changes\n const handleSearchInput = () => {\n // Wait a bit for search results to render\n setTimeout(() => {\n const searchWrapper = parent.document.querySelector('#elementor-panel-elements-search-wrapper');\n if (!searchWrapper) return;\n \n const searchPromoWidgets = searchWrapper.querySelectorAll('.elementor-element--promotion');\n \n searchPromoWidgets.forEach(widget => {\n // Remove any existing click handlers\n widget.removeEventListener('click', handleSearchWidgetClick);\n \n // Add our click handler\n widget.addEventListener('click', handleSearchWidgetClick);\n \n // Mark this widget as processed\n widget.setAttribute('data-uae-processed', 'true');\n });\n }, 300);\n };\n \n // Handle clicks on widgets in search results\n const handleSearchWidgetClick = (e) => {\n \n // Set all widgets in search results to be treated as UAE widgets\n lastClickedWidgetType = 'uae';\n \n // Start continuous checking\n startContinuousCheck();\n \n // Set up immediate checks with increasing delays\n const delays = [10, 30, 50, 100, 200, 300, 500, 1000];\n delays.forEach(delay => {\n setTimeout(() => {\n const dialog = parent.document.querySelector('#elementor-element--promotion__dialog');\n if (dialog) {\n customizePromotionDialog(true);\n }\n }, delay);\n });\n \n // Don't stop propagation - we want the dialog to open\n };\n \n // Initialize everything\n const initProWidgets = () => {\n if (typeof parent.document === 'undefined') return;\n \n // Remove any existing event listeners to prevent duplicates\n parent.document.removeEventListener('mousedown', handleProWidgetClick, true);\n \n // Add our event listener with capture phase to ensure it runs first\n parent.document.addEventListener('mousedown', handleProWidgetClick, true);\n \n // Set up search results handler\n setupSearchResultsHandler();\n \n // Create the observer\n const observer = createDialogObserver();\n \n // Check if dialog already exists\n const existingDialog = parent.document.querySelector('#elementor-element--promotion__dialog');\n if (existingDialog) {\n customizePromotionDialog();\n }\n \n return observer;\n };\n \n // Initialize when Elementor is ready\n let observer = null;\n if (window.elementor) {\n elementor.on('preview:loaded', () => {\n observer = initProWidgets();\n });\n } else {\n window.addEventListener('elementor/frontend/init', () => {\n observer = initProWidgets();\n });\n }\n \n // Cleanup function\n return () => {\n if (continuousCheckInterval) {\n clearInterval(continuousCheckInterval);\n }\n \n if (observer) {\n observer.disconnect();\n }\n \n if (searchObserver) {\n searchObserver.disconnect();\n }\n \n if (typeof parent.document !== 'undefined') {\n parent.document.removeEventListener('mousedown', handleProWidgetClick, true);\n \n // Remove search input event listeners\n const searchInput = parent.document.querySelector('#elementor-panel-elements-search-input');\n if (searchInput) {\n searchInput.removeEventListener('input', handleSearchInput);\n }\n \n // Remove click handlers from search widgets\n const searchPromoWidgets = parent.document.querySelectorAll('#elementor-panel-elements-search-wrapper .elementor-element--promotion');\n searchPromoWidgets.forEach(widget => {\n widget.removeEventListener('click', handleSearchWidgetClick);\n });\n }\n \n if (window.elementor && elementor.off) {\n elementor.off('preview:loaded', initProWidgets);\n } else {\n window.removeEventListener('elementor/frontend/init', initProWidgets);\n }\n };\n }, []);\n\n return null;\n};\n\nexport default PromotionWidget;\n","import domReady from '@wordpress/dom-ready';\nimport { render } from '@wordpress/element';\nimport PromotionWidget from './Components/PromotionWidget';\n\ndomReady(() => {\n const container = document.createElement('div');\n document.body.appendChild(container);\n render(<PromotionWidget />, container);\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","window","useEffect","lastClickedWidgetType","continuousCheckInterval","searchObserver","customizePromotionDialog","forceUaeWidget","arguments","length","undefined","dialog","parent","document","querySelector","defaultBtn","shouldShowUaeButton","querySelectorAll","forEach","btn","remove","style","display","button","createElement","textContent","dialogTitle","widgetTitle","trim","toLowerCase","replace","setAttribute","concat","classList","add","insertAdjacentElement","addEventListener","e","stopPropagation","removeAttribute","startContinuousCheck","clearInterval","setInterval","customBtn","setTimeout","handleProWidgetClick","clickedWidget","allProWidgets","i","contains","target","isUae","widget","icon","hasHfeClass","className","includes","isInUaeCategory","closest","isUaeWidget","delay","handleSearchInput","searchWrapper","removeEventListener","handleSearchWidgetClick","initProWidgets","disconnect","MutationObserver","mutations","searchPromoWidgets","panelElements","observe","childList","subtree","attributes","searchInput","setupSearchResultsHandler","observer","_step","_iterator","_createForOfIteratorHelper","s","n","done","mutation","value","addedNodes","_step2","_iterator2","id","err","f","type","body","attributeFilter","createDialogObserver","elementor","on","off","domReady","container","appendChild","render","React","PromotionWidget"],"sourceRoot":""}