{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/frontend.js","webpack:///./src/js/functions.js","webpack:///./src/js/inc/hooks.js","webpack:///./src/js/inc/widget.js"],"names":["window","fe_hooks","Hooks","widget","jQuery","vdrv_custom_on_load","callback","addEventListener","attachEvent","onload","actions","filters","add_action","tag","priority","push","add_filter","remove_action","forEach","filter","i","splice","remove_filter","do_action","options","length","hook","hooks","apply_filters","value","$","video_widget_init","setTimeout","settings","vdrv_settings","widget_html","document","body","append","stringToHTML","container","querySelector","close_collapse_button","video","cta_button","onclick","classList","contains","add","muted","cta_button_logic","s_video_from_start","currentTime","play","style","borderColor","on_hover_widget_border","paused","pause","default_widget_border","onmouseover","ev","onmouseout","seconds","cta_time","parseInt","cta_type","open","cta_link","url","blank","element","cta_action","selector","click","getElementById","cta_scroll","id","scrollIntoView","behavior","block","inline","str","dom","createElement","innerHTML","remove","custom_on_load"],"mappings":"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","file":"frontend.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/frontend.js\");\n","/**\n * Gutenberg Blocks\n *\n * All blocks related JavaScript files should be imported here.\n * You can create a new block folder in this dir and include code\n * for that block here as well.\n *\n * All blocks should be included here since this is the file that\n * Webpack is compiling as the input file.\n */\n\nimport Hooks from './inc/hooks'\n\nwindow.fe_hooks = Hooks;\n\nimport './functions.js';\n\n\nimport widget from './inc/widget';\n\nwidget(jQuery)\n","/**\n * On load custom function\n * @param {*} callback \n*/\nif (!window.vdrv_custom_on_load) {\n window.vdrv_custom_on_load = (callback) => {\n if (window.addEventListener)\n window.addEventListener(\"load\", callback, false);\n else if (window.attachEvent)\n window.attachEvent(\"onload\", callback);\n else window.onload = callback;\n }\n}\n","/**\n * @file A WordPress-like hook system for JavaScript.\n *\n * This file demonstrates a simple hook system for JavaScript based on the hook\n * system in WordPress. The purpose of this is to make your code extensible and\n * allowing other developers to hook into your code with their own callbacks.\n *\n * There are other ways to do this, but this will feel right at home for\n * WordPress developers.\n *\n * @author Rheinard Korf\n * @license GPL2 (https://www.gnu.org/licenses/gpl-2.0.html)\n *\n * @requires underscore.js (http://underscorejs.org/)\n */\n\n/**\n * Hooks object\n *\n * This object needs to be declared early so that it can be used in code.\n * Preferably at a global scope.\n */\n var Hooks = Hooks || {}; // Extend Hooks if exists or create new Hooks object.\n\n Hooks.actions = Hooks.actions || {}; // Registered actions\n Hooks.filters = Hooks.filters || {}; // Registered filters\n \n /**\n * Add a new Action callback to Hooks.actions\n *\n * @param tag The tag specified by do_action()\n * @param callback The callback function to call when do_action() is called\n * @param priority The order in which to call the callbacks. Default: 10 (like WordPress)\n */\n Hooks.add_action = function( tag, callback, priority ) {\n \n if( typeof priority === \"undefined\" ) {\n priority = 10;\n }\n \n // If the tag doesn't exist, create it.\n Hooks.actions[ tag ] = Hooks.actions[ tag ] || [];\n Hooks.actions[ tag ].push( { priority: priority, callback: callback } );\n \n }\n \n /**\n * Add a new Filter callback to Hooks.filters\n *\n * @param tag The tag specified by apply_filters()\n * @param callback The callback function to call when apply_filters() is called\n * @param priority Priority of filter to apply. Default: 10 (like WordPress)\n */\n Hooks.add_filter = function( tag, callback, priority ) {\n \n if( typeof priority === \"undefined\" ) {\n priority = 10;\n }\n \n // If the tag doesn't exist, create it.\n Hooks.filters[ tag ] = Hooks.filters[ tag ] || [];\n Hooks.filters[ tag ].push( { priority: priority, callback: callback } );\n \n }\n \n /**\n * Remove an Anction callback from Hooks.actions\n *\n * Must be the exact same callback signature.\n * Warning: Anonymous functions can not be removed.\n * @param tag The tag specified by do_action()\n * @param callback The callback function to remove\n */\n Hooks.remove_action = function( tag, callback ) {\n \n Hooks.actions[ tag ] = Hooks.actions[ tag ] || [];\n \n Hooks.actions[ tag ].forEach( function( filter, i ) {\n if( filter.callback === callback ) {\n Hooks.actions[ tag ].splice(i, 1);\n }\n } );\n }\n \n /**\n * Remove a Filter callback from Hooks.filters\n *\n * Must be the exact same callback signature.\n * Warning: Anonymous functions can not be removed.\n * @param tag The tag specified by apply_filters()\n * @param callback The callback function to remove\n */\n Hooks.remove_filter = function( tag, callback ) {\n \n Hooks.filters[ tag ] = Hooks.filters[ tag ] || [];\n \n Hooks.filters[ tag ].forEach( function( filter, i ) {\n if( filter.callback === callback ) {\n Hooks.filters[ tag ].splice(i, 1);\n }\n } );\n }\n \n /**\n * Calls actions that are stored in Hooks.actions for a specific tag or nothing\n * if there are no actions to call.\n *\n * @param tag A registered tag in Hook.actions\n * @options Optional JavaScript object to pass to the callbacks\n */\n Hooks.do_action = function( tag, options ) {\n \n var actions = [];\n \n if( typeof Hooks.actions[ tag ] !== \"undefined\" && Hooks.actions[ tag ].length > 0 ) {\n \n Hooks.actions[ tag ].forEach( function( hook ) {\n \n actions[ hook.priority ] = actions[ hook.priority ] || [];\n actions[ hook.priority ].push( hook.callback );\n \n } );\n \n actions.forEach( function( hooks ) {\n \n hooks.forEach( function( callback ) {\n callback( options );\n } );\n \n } );\n }\n \n }\n \n /**\n * Calls filters that are stored in Hooks.filters for a specific tag or return\n * original value if no filters exist.\n *\n * @param tag A registered tag in Hook.filters\n * @options Optional JavaScript object to pass to the callbacks\n */\n Hooks.apply_filters = function( tag, value, options ) {\n \n var filters = [];\n \n if( typeof Hooks.filters[ tag ] !== \"undefined\" && Hooks.filters[ tag ].length > 0 ) {\n \n Hooks.filters[ tag ].forEach( function( hook ) {\n \n filters[ hook.priority ] = filters[ hook.priority ] || [];\n filters[ hook.priority ].push( hook.callback );\n } );\n \n filters.forEach( function( hooks ) {\n \n hooks.forEach( function( callback ) {\n value = callback( value, options );\n } );\n \n } );\n }\n \n return value;\n }\n\n \nexport default Hooks","export default ($) => {\n\n function video_widget_init() {\n setTimeout(\n () => {\n\n const settings = window.vdrv_settings.settings;\n\n if (!settings) {\n return\n }\n\n const widget_html = window.vdrv_settings.widget_html;\n\n /**\n * Adding widget\n * \n */\n document.body.append(stringToHTML(widget_html))\n\n let container = document.querySelector('#vdrv-widget'),\n widget = document.querySelector('#vdrv-widget #vdrv-widget-video-wrapper'),\n close_collapse_button = document.querySelector('#vdrv-widget #vdrv-widget-video-wrapper .vdrv-widget-close'),\n video = document.querySelector('#vdrv-widget #vdrv-widget-video-wrapper .vdrv-video-widget'),\n cta_button = document.querySelector('#vdrv-widget #vdrv-cta-button')\n\n\n if (!widget) {\n return;\n }\n\n /**\n * Widget on click logic\n */\n widget.onclick = () => {\n /**\n * On opening/opened\n */\n if (!widget.classList.contains(\"closed\") && !widget.classList.contains(\"active\")) {\n widget.classList.add(\"active\");\n video.muted = !video.muted;\n\n if (cta_button) {\n cta_button_logic()\n }\n\n // start video from beginning if needed\n if(settings.s_video_from_start){\n video.currentTime = 0;\n video.play();\n }\n\n widget.style.borderColor = settings.on_hover_widget_border\n }\n /**\n * on collapsing\n */\n else if (widget.classList.contains(\"active\")) {\n if (video.paused == true) {\n // Play the video\n video.play();\n } else {\n // Pause the video\n video.pause();\n }\n\n widget.style.borderColor = settings.default_widget_border\n }\n\n };\n\n /**\n * On hover\n * @param {*} ev \n */\n widget.onmouseover = (ev) => {\n widget.style.borderColor = settings.on_hover_widget_border\n }\n\n /**\n * On mouse out\n * @param {*} ev \n */\n widget.onmouseout = (ev) => {\n /**\n * If widget is not active\n */\n if (!widget.classList.contains(\"active\")) {\n widget.style.borderColor = settings.default_widget_border\n }\n }\n\n /**\n * CTA Button logic\n */\n function cta_button_logic() {\n let seconds = settings.cta_time ? parseInt(settings.cta_time) * 1000 : 1000\n setTimeout(() => { cta_button.classList.add(\"active\") }, seconds)\n\n /**\n * If cta button is selected type link\n */\n if (settings.cta_type === 'link') {\n cta_button.onclick = () => {\n window.open(settings.cta_link.url, settings.cta_link.blank ? '_blank' : '_self')\n };\n } else if (settings.cta_type === 'action') {\n cta_button.onclick = () => {\n let element = document.querySelector(settings.cta_action.selector);\n if (element) {\n element.click()\n }\n };\n } else if (settings.cta_type === 'scroll') {\n cta_button.onclick = () => {\n let element = document.getElementById(settings.cta_scroll.id);\n if (element) {\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n }\n };\n }\n }\n\n /**\n * Convert a template string into HTML DOM nodes\n * @param {String} str The template string\n * @return {Node} The template HTML\n */\n function stringToHTML(str) {\n var dom = document.createElement('div');\n dom.innerHTML = str;\n return dom;\n };\n\n close_collapse_button.onclick = () => {\n if (widget.classList.contains(\"active\")) {\n widget.classList.remove(\"active\");\n widget.classList.add(\"closed\");\n if (cta_button) {\n cta_button.classList.remove(\"active\");\n }\n\n video.muted = !video.muted;\n video.play();\n setTimeout(() => {\n widget.classList.remove(\"closed\");\n }, 1000)\n } else if (!widget.classList.contains(\"active\")) {\n container.remove()\n }\n\n }\n }, 1000);\n }\n\n /**\n * Load after full page ready + some seconds \n */\n custom_on_load(video_widget_init);\n\n /**\n * On load custom function\n * @param {*} callback \n */\n function custom_on_load(callback) {\n if (window.addEventListener)\n window.addEventListener(\"load\", callback, false);\n else if (window.attachEvent)\n window.attachEvent(\"onload\", callback);\n else window.onload = callback;\n }\n}"],"sourceRoot":""}