{"version":3,"sources":["webpack://WaveSurfer.[name]/webpack/universalModuleDefinition","webpack://WaveSurfer.[name]/webpack/bootstrap","webpack://WaveSurfer.[name]/./src/plugin/cursor.js"],"names":["CursorPlugin","params","name","deferInit","staticProps","instance","ws","defaultParams","hideOnBlur","width","color","opacity","style","zIndex","customStyle","customShowTimeStyle","showTime","followCursorY","formatTimeCallback","_onMousemove","e","bbox","wavesurfer","container","getBoundingClientRect","y","x","clientX","left","flip","right","outerWidth","displayTime","clientY","top","height","updateCursorPosition","_onMouseenter","showCursor","_onMouseleave","hideCursor","util","cursor","extend","wrapper","appendChild","document","createElement","position","bottom","display","borderRightStyle","borderRightWidth","borderRightColor","pointerEvents","margin","visibility","innerHTML","formatTime","addEventListener","parentNode","removeChild","removeEventListener","xpos","ypos","duration","getDuration","elementWidth","drawer","pixelRatio","scrollWidth","getScrollX","scrollTime","timeValue","Math","max","formatValue","textOffset","cursorTime","isNaN","map","time","floor","slice","join","element","offsetWidth","getComputedStyle","parseInt","marginLeft","marginRight"],"mappings":"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","file":"wavesurfer.cursor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"cursor\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cursor\"] = factory();\n\telse\n\t\troot[\"WaveSurfer\"] = root[\"WaveSurfer\"] || {}, root[\"WaveSurfer\"][\"cursor\"] = factory();\n})(window, function() {\nreturn "," \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 = \"localhost:8080/dist/plugin/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/plugin/cursor.js\");\n","/**\n * @typedef {Object} CursorPluginParams\n * @property {?boolean} deferInit Set to true to stop auto init in `addPlugin()`\n * @property {boolean} hideOnBlur=true Hide the cursor when the mouse leaves the\n * waveform\n * @property {string} width='1px' The width of the cursor\n * @property {string} color='black' The color of the cursor\n * @property {string} opacity='0.25' The opacity of the cursor\n * @property {string} style='solid' The border style of the cursor\n * @property {number} zIndex=3 The z-index of the cursor element\n * @property {object} customStyle An object with custom styles which are applied\n * to the cursor element\n * @property {boolean} showTime=false Show the time on the cursor.\n * @property {object} customShowTimeStyle An object with custom styles which are\n * applied to the cursor time element.\n * @property {string} followCursorY=false Use `true` to make the time on\n * the cursor follow the x and the y-position of the mouse. Use `false` to make the\n * it only follow the x-position of the mouse.\n * @property {function} formatTimeCallback Formats the timestamp on the cursor.\n */\n\n/**\n * Displays a thin line at the position of the cursor on the waveform.\n *\n * @implements {PluginClass}\n * @extends {Observer}\n * @example\n * // es6\n * import CursorPlugin from 'wavesurfer.cursor.js';\n *\n * // commonjs\n * var CursorPlugin = require('wavesurfer.cursor.js');\n *\n * // if you are using