File: /home/ezpgggd/www/wp-content/plugins/wallsio/classic/dist/tinymce.js.map
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./css/tinymce.scss?c312","webpack:///./js/tinymce.js","webpack:///../shared/util.js","webpack:///../block/src/config.js","webpack:///../shared/WallUrl.js","webpack:///./js/helpers.js","webpack:///./js/popup.tpl","webpack:///./js/EditPopup.js","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///./node_modules/style-loader/lib/addStyles.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","content","options","sourceMap","hmr","transform","insertInto","undefined","locals","_WallUrl","_EditPopup","tinymce","PluginManager","add","editor","shimClickHandler","evt","isOurShim","target","preventDefault","stopPropagation","stopImmediatePropagation","shimDblClickHandler","wpView","jQuery","closest","isOurWpView","openEditPopupForView","values","urlValue","attr","url","decodeURIComponent","toDetails","getCurrentValues","EditPopup","open","node","fromDetails","data","dom","setAttrib","encodeURIComponent","wp","mce","views","createInstance","render","selection","select","nodeChanged","focus","updateContent","addToolbar","element","toolbar","_createToolbar","matches","iframeSelector","selector","filter","length","childSelector","querySelector","hasChild","addButton","tooltip","icon","onclick","getNode","fire","on","toInt","fallback","result","parseInt","isNaN","boolToInt","isObject","obj","restrictions","minHeight","maxHeight","defaultDetails","height","showHeader","showBackground","toWallBaseUrl","wallUrl","wallIdentifier","initialWallUrl","initialWallUrlWithDetails","_config","_util","details","searchParams","push","width","detailsToSearchParams","join","host","link","document","createElement","href","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","iterator","next","done","getValueFromLink","err","return","pathname","replace","startsWith","parseUrl","urlPath","match","getWall","wallParams","search","parts","split","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","part","_part$split","_part$split2","_slicedToArray","parseSearch","embedheight","embedwidth","show_header","nobackground","randomInt","max","Math","floor","random","randomIntWithMaximum","Number","MAX_SAFE_INTEGER","pow","__t","__p","__e","_","escape","isAutoWidth","popupIntId","defaultWidth","defaultHeight","_popup","_helpers","$context","_classCallCheck","this","$overlay","$popup","onSubmit","allValues","assign","templateValues","getTemplateValues","popupHtml","_popup2","default","updateAutoWidth","insertIntoDom","addEventListeners","getOrCreateWrapper","prepend","createOverlay","body","append","class","_this","close","handleSubmitIntent","isEnterButton","isEscButton","isCurrentTarget","find","autoWidthValue","getWidth","currentTarget","remove","getFirstInput","first","getInputValue","getHeight","getCheckboxValue","strVal","intVal","val","trim","is","getAllValues","isValidWallIdentifier","alert","toString","isIntString","css","location","window","Error","baseUrl","protocol","currentDir","fullMatch","origUrl","newUrl","unquotedOrigUrl","$1","test","indexOf","JSON","stringify","fn","memo","stylesInDom","isOldIE","all","atob","apply","arguments","getElement","styleTarget","HTMLIFrameElement","contentDocument","head","e","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","item","domStyle","id","refs","j","addStyle","listToStyles","list","newStyles","base","media","insertStyleElement","style","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","appendChild","firstChild","before","removeStyleElement","parentNode","removeChild","idx","splice","createStyleElement","attrs","type","addAttrs","el","keys","forEach","setAttribute","update","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","btoa","rel","createLinkElement","autoFixUrls","convertToAbsoluteUrls","unescape","blob","oldSrc","styleSheet","cssText","createTextNode","newObj","DEBUG","newList","mayRemove","textStore","replaceText","index","replacement","Boolean","cssNode","childNodes"],"mappings":"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","file":"tinymce.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 = 136);\n","\nvar content = require(\"!!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--5-1!../node_modules/css-loader/index.js??ref--5-2!../node_modules/postcss-loader/lib/index.js??ref--5-3!../node_modules/sass-loader/lib/loader.js??ref--5-4!./tinymce.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"sourceMap\":true,\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--5-1!../node_modules/css-loader/index.js??ref--5-2!../node_modules/postcss-loader/lib/index.js??ref--5-3!../node_modules/sass-loader/lib/loader.js??ref--5-4!./tinymce.scss\", function() {\n\t\tvar newContent = require(\"!!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--5-1!../node_modules/css-loader/index.js??ref--5-2!../node_modules/postcss-loader/lib/index.js??ref--5-3!../node_modules/sass-loader/lib/loader.js??ref--5-4!./tinymce.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","/*global jQuery */\n\nimport \"../css/tinymce.scss\";\n\nimport { fromDetails as wallUrlFromDetails, toDetails as wallUrlToDetails } from '../../shared/WallUrl';\nimport EditPopup from './EditPopup';\n\n\ntinymce.PluginManager.add('wallsio', (editor) => {\n\n editor.addButton( 'wallsio_view_edit', {\n tooltip: 'Edit Wall',\n icon: 'dashicon dashicons-edit',\n onclick: onEditClick,\n });\n\n editor.addButton('wallsio_view_remove', {\n tooltip: 'Remove',\n icon: 'dashicon dashicons-no',\n onclick: () => editor.fire('cut'),\n });\n\n editor.on('init', () => {\n editor.on('Click', shimClickHandler, true);\n editor.on('DblClick', shimDblClickHandler);\n\n editor.on('wptoolbar', addToolbar, true);\n });\n\n function updateContent(node, values) {\n const url = wallUrlFromDetails(values);\n\n jQuery(node).data('rendered', false);\n\n editor.dom.setAttrib(node, 'data-wpview-text', encodeURIComponent(url));\n\n wp.mce.views.createInstance('embedURL', url, { url: true }, false).render();\n\n editor.selection.select(node);\n editor.nodeChanged();\n editor.focus();\n }\n\n function shimClickHandler(evt) {\n if (!isOurShim(evt.target)) {\n return;\n }\n\n // Prevent other code from disabling the shim\n evt.preventDefault();\n evt.stopPropagation();\n evt.stopImmediatePropagation();\n }\n\n function shimDblClickHandler(evt) {\n if (!isOurShim(evt.target)) {\n return;\n }\n\n const wpView = jQuery(evt.target).closest(wpViewSelector()).get(0);\n\n if (!isOurWpView(wpView)) {\n return;\n }\n\n evt.preventDefault();\n\n openEditPopupForView(wpView);\n }\n\n function openEditPopupForView(wpView) {\n const values = getCurrentValues(wpView);\n\n const popup = new EditPopup();\n\n popup.open(values, (values) => {\n updateContent(wpView, values);\n });\n }\n\n function addToolbar(evt) {\n const element = evt.element;\n\n if (!isOurWpView(element)) {\n return;\n }\n\n // Don't add other (native) toolbars to our element\n evt.preventDefault();\n evt.stopPropagation();\n evt.stopImmediatePropagation();\n\n evt.toolbar = editor.wp._createToolbar([\n 'wallsio_view_edit',\n 'wallsio_view_remove',\n ]);\n }\n\n function onEditClick() {\n const node = editor.selection.getNode();\n\n if (!isOurWpView(node)) {\n return;\n }\n\n openEditPopupForView(node);\n }\n\n function getCurrentValues(wpView) {\n const urlValue = jQuery(wpView).attr('data-wpview-text');\n\n if (!urlValue || typeof urlValue !== 'string') {\n return {};\n }\n\n const url = decodeURIComponent(urlValue);\n\n return wallUrlToDetails(url);\n }\n\n /**\n * Whether the element is a shim for an oembed which is handled by us\n *\n * @param {HTMLElement} element\n * @return {Boolean}\n */\n function isOurShim(element) {\n const selector = iframeSelector() + '~ .mce-shim';\n\n return matches(element, selector);\n }\n\n /**\n * Whether an element matches the given selector\n *\n * Works just like element.matches(selector)\n *\n * @param {HTMLElement} element\n * @param {string} selector\n *\n * @return {Boolean}\n */\n function matches(element, selector) {\n return jQuery(element).filter(selector).length > 0;\n }\n\n /**\n * Selector for oembed iframes which are handled by us\n *\n * @return {string}\n */\n function iframeSelector() {\n return '.wpview iframe[src^=\"https://my.walls.io/\"]';\n }\n\n function wpViewSelector() {\n return '.wpview';\n }\n\n function isOurWpView(element) {\n return matches(element, wpViewSelector()) && hasChild(element, iframeSelector());\n }\n\n function hasChild(element, childSelector) {\n return element.querySelector(childSelector) !== null;\n }\n});\n","\n/**\n * Convert to int, return the fallback if it's not convertible\n *\n * @param value\n * @param fallback\n * @return {number}\n */\nexport function toInt(value, fallback) {\n const result = parseInt(value, 10);\n return isNaN(result) ? fallback : result;\n}\n\n/**\n * Return `1` for `true`, `0` for `false`\n *\n * @param value\n * @return {number}\n */\nexport function boolToInt(value) {\n return value ? 1 : 0;\n}\n\n/**\n * Determines whether an input is a *real* object\n *\n * typeof would also return \"object\" for `null`, regexes, etc. Therefore we need this workaround.\n *\n * Taken from underscore.js\n *\n * @param {*} obj\n *\n * @return {boolean}\n */\nexport function isObject(obj) {\n return obj === Object(obj);\n}\n","\nexport const restrictions = {\n minHeight: 200,\n maxHeight: 2500,\n};\n\nexport const defaultDetails = {\n height: 600,\n showHeader: false,\n showBackground: true,\n};\n\n","\nimport { defaultDetails } from \"../block/src/config\";\nimport {\n boolToInt,\n isObject,\n} from \"./util\";\n\n/**\n * Create wall URL from the given wall details\n *\n * @param {object} details\n * @return {string|null}\n */\nexport function fromDetails(details) {\n if (!isObject(details)) {\n return null;\n }\n\n const { wallIdentifier } = details;\n\n if (!wallIdentifier) {\n return null;\n }\n\n const params = detailsToSearchParams(details);\n const searchStr = \"?\" + params.join(\"&\");\n\n return \"https://my.walls.io/\" + wallIdentifier + searchStr;\n}\n\nfunction detailsToSearchParams(details) {\n const searchParams = [];\n\n if (details.hasOwnProperty(\"showHeader\")) {\n const showHeader = \"show_header=\" + boolToInt(details.showHeader);\n searchParams.push(showHeader);\n }\n\n if (details.hasOwnProperty(\"showBackground\")) {\n const showBackground = \"nobackground=\" + boolToInt(!details.showBackground);\n searchParams.push(showBackground);\n }\n\n if (details.width) {\n // Works for both px values (e.g. `500`) and `auto`\n const width = \"embedwidth=\" + details.width;\n searchParams.push(width);\n } else {\n const width = \"embedwidth=auto\";\n searchParams.push(width);\n }\n\n if (details.hasOwnProperty(\"height\")) {\n // Works for both px values (e.g. `500`) and `auto`\n const height = \"embedheight=\" + details.height;\n searchParams.push(height);\n }\n\n return searchParams;\n}\n\n/**\n * Create wall details from the given Wall URL\n *\n * @param url\n * @return {object}\n */\nexport function toDetails(url) {\n const values = parseUrl(url);\n\n if (!isValidHost(values.host)) {\n return {};\n }\n\n const details = {};\n\n details.wallIdentifier = getWall(values.pathname);\n if (!details.wallIdentifier) {\n return {};\n }\n\n const wallParams = parseSearch(values.search);\n\n if (wallParams.hasOwnProperty(\"embedheight\")) {\n details.height = wallParams.embedheight;\n }\n\n if (wallParams.hasOwnProperty(\"embedwidth\")) {\n details.width = wallParams.embedwidth;\n }\n\n if (wallParams.hasOwnProperty(\"show_header\")) {\n details.showHeader = wallParams.show_header === \"1\";\n }\n\n if (wallParams.hasOwnProperty(\"nobackground\")) {\n details.showBackground = wallParams.nobackground !== \"1\";\n }\n\n return details;\n}\n\nfunction parseUrl(url) {\n const link = document.createElement(\"a\");\n link.href = url;\n\n const keys = [\n \"host\",\n \"hostname\",\n \"hash\",\n \"href\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"search\",\n ];\n\n const values = {};\n for (const key of keys) {\n values[key] = getValueFromLink(link, key);\n }\n\n const pathname = values.pathname.replace(/^[/]?/, \"/\");\n\n if (!pathname.startsWith(\"/\")) {\n values.pathname = \"/\" + pathname;\n }\n\n return values;\n}\n\nfunction getValueFromLink(link, key) {\n if (key === \"host\") {\n return link.host.replace(/(:443)|(:80)$/, \"\"); // remove default ports\n }\n\n if (key === \"pathname\") {\n return link.pathname.replace(/^[/]?/, \"/\"); // Always add trailing \"/\"\n }\n\n return link[key];\n}\n\nfunction parseSearch(search) {\n const searchStr = search || \"\";\n\n const match = searchStr.match(/[?](.+)/);\n\n if (!match) {\n return {};\n }\n\n const rest = match[1];\n const parts = rest.split(\"&\");\n\n const values = {};\n\n for (const part of parts) {\n const [key, value] = part.split(\"=\");\n values[key] = value === undefined ? null : value;\n }\n\n return values;\n}\n\nfunction isValidHost(host) {\n return host === \"walls.io\" || host === \"my.walls.io\";\n}\n\nfunction getWall(urlPath) {\n urlPath = urlPath.replace(/\\/$/, \"\");\n\n const match = urlPath.match(/^\\/([\\w-]{2,})$/i);\n\n if (!match) {\n return null;\n }\n\n return match[1];\n}\n\n/**\n * Create a wall URL with default search params\n *\n * All previous search params are removed and default params are added.\n *\n * @param {string} wallUrl\n * @return {string|null}\n */\nexport function toWallBaseUrl(wallUrl) {\n const { wallIdentifier } = toDetails(wallUrl);\n return fromDetails({ wallIdentifier });\n}\n\n/**\n * Create a wall URL from a wall identifier\n *\n * @param {string} wallIdentifier\n * @return {string|null}\n */\nexport function initialWallUrl(wallIdentifier) {\n return initialWallUrlWithDetails(wallIdentifier, defaultDetails);\n}\n\n/**\n * Create a wall URL from a wall identifier and some details\n *\n * @param {string} wallIdentifier\n * @param {object} details\n * @return {string}\n */\nexport function initialWallUrlWithDetails(wallIdentifier, details) {\n details.wallIdentifier = wallIdentifier;\n return fromDetails(details);\n}\n","\n\nexport function randomInt() {\n const max = Number.MAX_SAFE_INTEGER || Math.pow(2, 52);\n return randomIntWithMaximum(max);\n}\n\nfunction randomIntWithMaximum(max) {\n return Math.floor(Math.random() * max);\n}\n","\nmodule.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '', __e = _.escape;\nwith (obj) {\n__p += '<div class=\"wallsio-popup-wrapper\" data-auto-width=\"' +\n__e( isAutoWidth ) +\n'\"><div class=\"wallsio-popup\"><div class=\"wallsio-popup-content\"><div class=\"wallsio-input-section\"><label class=\"wallsio-input-label\" for=\"wallsio-wallidentifier-input-' +\n__e( popupIntId ) +\n'\">Wall URL</label><div class=\"wallsio-input-group-left\"><label for=\"wallsio-wallidentifier-input-' +\n__e( popupIntId ) +\n'\" class=\"wallsio-input-group-addon-left\">my.walls.io /</label><input type=\"text\" class=\"wallsio-input wallsio-input-right wallsio-url-input\" id=\"wallsio-wallidentifier-input-' +\n__e( popupIntId ) +\n'\" value=\"' +\n__e( wallIdentifier ) +\n'\"></div></div><div class=\"wallsio-input-section\"><label class=\"wallsio-input-label\" for=\"wallsio-width-select-' +\n__e( popupIntId ) +\n'\">Width</label><div class=\"wallsio-multiple-inputs\"><select class=\"wallsio-select wallsio-first-input wallsio-width-select\" id=\"wallsio-width-select-' +\n__e( popupIntId ) +\n'\"><option value=\"auto\" ' +\n__e( isAutoWidth ? 'selected' : '' ) +\n' >Full width (responsive)</option><option value=\"fixed\" ' +\n__e( !isAutoWidth ? 'selected' : '' ) +\n' >Fixed width</option></select><div class=\"wallsio-input-group-right wallsio-second-input wallsio-fixed-width-input-group\"><input type=\"number\" class=\"wallsio-input wallsio-input-left wallsio-fixed-width-input\" id=\"wallsio-width-input-' +\n__e( popupIntId ) +\n'\" min=\"0\" max=\"9999\" value=\"' +\n__e( width ) +\n'\" placeholder=\"' +\n__e( defaultWidth ) +\n'\"><label for=\"wallsio-width-input-' +\n__e( popupIntId ) +\n'\" class=\"wallsio-input-group-addon-right\">px</label></div></div></div><div class=\"wallsio-input-section\"><label class=\"wallsio-input-label\" for=\"wallsio-height-input-' +\n__e( popupIntId ) +\n'\">Height</label><div class=\"wallsio-input-group-right\"><input type=\"number\" class=\"wallsio-input wallsio-input-left wallsio-height-input\" id=\"wallsio-height-input-' +\n__e( popupIntId ) +\n'\" min=\"0\" max=\"9999\" value=\"' +\n__e( height ) +\n'\" placeholder=\"' +\n__e( defaultHeight ) +\n'\"><label for=\"wallsio-height-input-' +\n__e( popupIntId ) +\n'\" class=\"wallsio-input-group-addon-right\">px</label></div></div><div class=\"wallsio-input-section wallsio-checkbox-input-section\"><label class=\"wallsio-input-label wallsio-checkbox-label\" for=\"wallsio-show-header-checkbox-' +\n__e( popupIntId ) +\n'\"><input type=\"checkbox\" id=\"wallsio-show-header-checkbox-' +\n__e( popupIntId ) +\n'\" name=\"wallsio-show-header-checkbox\" class=\"wallsio-show-header-checkbox\" ' +\n__e( showHeader ? 'checked' : '' ) +\n' ><span class=\"wallsio-checkbox-caption\"><span class=\"wallsio-checkbox-caption-headline\">Show wall header</span><span class=\"wallsio-checkbox-caption-help\">Display a header bar at the top of the wall</span></span></label></div><div class=\"wallsio-input-section wallsio-checkbox-input-section\"><label class=\"wallsio-input-label wallsio-checkbox-label\" for=\"wallsio-show-background-checkbox-' +\n__e( popupIntId ) +\n'\"><input type=\"checkbox\" id=\"wallsio-show-background-checkbox-' +\n__e( popupIntId ) +\n'\" name=\"wallsio-show-background-checkbox\" class=\"wallsio-show-background-checkbox\" ' +\n__e( showBackground ? 'checked' : '' ) +\n' ><span class=\"wallsio-checkbox-caption\"><span class=\"wallsio-checkbox-caption-headline\">Show wall background</span><span class=\"wallsio-checkbox-caption-help\">Display the wall background color and image</span></span></label></div></div><div class=\"wallsio-button-bar\"><span class=\"wallsio-cancel\">Cancel</span><button type=\"button\" class=\"wallsio-insert button button-primary button-large\">Insert into post</button></div></div></div>';\n\n}\nreturn __p\n};\n\n/*\noriginal source:\n\n<div class=\"wallsio-popup-wrapper\" data-auto-width='<%- isAutoWidth %>'>\n <div class=\"wallsio-popup\">\n\n <div class=\"wallsio-popup-content\">\n\n <div class=\"wallsio-input-section\">\n <label class=\"wallsio-input-label\" for=\"wallsio-wallidentifier-input-<%- popupIntId %>\">\n Wall URL\n </label>\n <div class=\"wallsio-input-group-left\">\n <label for=\"wallsio-wallidentifier-input-<%- popupIntId %>\" class=\"wallsio-input-group-addon-left\">my.walls.io /</label>\n\n <input\n type=\"text\"\n class=\"wallsio-input wallsio-input-right wallsio-url-input\"\n id=\"wallsio-wallidentifier-input-<%- popupIntId %>\"\n value=\"<%- wallIdentifier %>\"\n >\n </div>\n </div>\n\n <div class=\"wallsio-input-section\">\n <label class=\"wallsio-input-label\" for=\"wallsio-width-select-<%- popupIntId %>\">Width</label>\n\n <div class=\"wallsio-multiple-inputs\">\n <select\n class=\"wallsio-select wallsio-first-input wallsio-width-select\"\n id=\"wallsio-width-select-<%- popupIntId %>\"\n >\n <option value=\"auto\" <%- isAutoWidth ? 'selected' : '' %> >Full width (responsive)</option>\n <option value=\"fixed\"<%- !isAutoWidth ? 'selected' : '' %> >Fixed width</option>\n </select>\n\n <div class=\"wallsio-input-group-right wallsio-second-input wallsio-fixed-width-input-group\">\n <input\n type=\"number\"\n class=\"wallsio-input wallsio-input-left wallsio-fixed-width-input\"\n id=\"wallsio-width-input-<%- popupIntId %>\"\n min=\"0\"\n max=\"9999\"\n value=\"<%- width %>\"\n placeholder=\"<%- defaultWidth %>\"\n >\n <label for=\"wallsio-width-input-<%- popupIntId %>\" class=\"wallsio-input-group-addon-right\">px</label>\n </div>\n </div>\n </div>\n\n <div class=\"wallsio-input-section\">\n <label class=\"wallsio-input-label\" for=\"wallsio-height-input-<%- popupIntId %>\">Height</label>\n\n <div class=\"wallsio-input-group-right\">\n <input\n type=\"number\"\n class=\"wallsio-input wallsio-input-left wallsio-height-input\"\n id=\"wallsio-height-input-<%- popupIntId %>\"\n min=\"0\"\n max=\"9999\"\n value=\"<%- height %>\"\n placeholder=\"<%- defaultHeight %>\"\n >\n <label for=\"wallsio-height-input-<%- popupIntId %>\" class=\"wallsio-input-group-addon-right\">px</label>\n </div>\n </div>\n\n <div class=\"wallsio-input-section wallsio-checkbox-input-section\">\n <label class=\"wallsio-input-label wallsio-checkbox-label\" for=\"wallsio-show-header-checkbox-<%- popupIntId %>\">\n <input\n type=\"checkbox\"\n id=\"wallsio-show-header-checkbox-<%- popupIntId %>\"\n name=\"wallsio-show-header-checkbox\"\n class=\"wallsio-show-header-checkbox\"\n <%- showHeader ? 'checked' : '' %>\n >\n <span class=\"wallsio-checkbox-caption\">\n <span class=\"wallsio-checkbox-caption-headline\">Show wall header</span>\n <span class=\"wallsio-checkbox-caption-help\">Display a header bar at the top of the wall</span>\n </span>\n </label>\n </div>\n\n <div class=\"wallsio-input-section wallsio-checkbox-input-section\">\n <label class=\"wallsio-input-label wallsio-checkbox-label\" for=\"wallsio-show-background-checkbox-<%- popupIntId %>\">\n <input\n type=\"checkbox\"\n id=\"wallsio-show-background-checkbox-<%- popupIntId %>\"\n name=\"wallsio-show-background-checkbox\"\n class=\"wallsio-show-background-checkbox\"\n <%- showBackground ? 'checked' : '' %>\n >\n <span class=\"wallsio-checkbox-caption\">\n <span class=\"wallsio-checkbox-caption-headline\">Show wall background</span>\n <span class=\"wallsio-checkbox-caption-help\">Display the wall background color and image</span>\n </span>\n </label>\n </div>\n\n </div>\n <div class=\"wallsio-button-bar\">\n <span class=\"wallsio-cancel\">Cancel</span>\n <button type=\"button\" class=\"wallsio-insert button button-primary button-large\">Insert into post</button>\n </div>\n </div>\n</div>\n\n*/\n","/*global jQuery */\n\nimport popupTemplate from './popup.tpl';\nimport { randomInt } from './helpers.js';\n\n\nexport default class EditPopup {\n\n constructor($context) {\n this.$context = $context;\n this.$overlay = null;\n this.$popup = null;\n }\n\n open(values, onSubmit) {\n const defaultValues = {\n wallIdentifier: '',\n width: 'auto',\n height: null,\n defaultWidth: 560, // placeholder width\n defaultHeight: 800, // placeholder height\n showBackground: false,\n showHeader: false,\n };\n\n this.allValues = Object.assign({}, defaultValues, values);\n const templateValues = this.getTemplateValues(this.allValues);\n const popupHtml = popupTemplate(templateValues);\n\n this.$popup = jQuery(popupHtml);\n\n this.updateAutoWidth();\n\n this.insertIntoDom(this.$popup);\n\n this.addEventListeners(onSubmit);\n\n this.focus();\n }\n\n insertIntoDom() {\n const wrapper = this.getOrCreateWrapper();\n wrapper.prepend(this.$popup);\n }\n\n getOrCreateWrapper() {\n if (this.$context) {\n return this.$context;\n }\n\n if (this.$overlay) {\n return this.$overlay;\n }\n\n this.$overlay = this.createOverlay();\n jQuery(document.body).append(this.$overlay);\n\n return this.$overlay;\n }\n\n createOverlay() {\n return jQuery('<div>', {\n 'class': 'wallsio-overlay media-modal-backdrop',\n });\n }\n\n getTemplateValues(values) {\n const isAutoWidth = values.width === 'auto' ? 1 : 0;\n\n // value=\"auto\" is not valid HTML for <number> inputs\n const width = values.width === 'auto' ? '' : values.width;\n\n const popupIntId = randomInt();\n\n return Object.assign({}, values, { isAutoWidth, popupIntId, width });\n }\n\n addEventListeners(onSubmit) {\n this.$popup.on('click', '.wallsio-cancel', () => {\n this.close();\n });\n\n this.$popup.on('click', '.wallsio-insert', () => {\n this.handleSubmitIntent(onSubmit);\n });\n\n this.$popup.on('keydown', (evt) => {\n if (this.isEnterButton(evt)) {\n evt.preventDefault();\n this.handleSubmitIntent(onSubmit);\n }\n });\n\n this.$popup.on('keyup', (evt) => {\n if (this.isEscButton(evt)) {\n evt.preventDefault();\n this.close();\n }\n });\n\n if (this.$overlay) {\n this.$overlay.on('click', (evt) => {\n\n // Clicks on child elements (e.g. the popup) should not be handled\n if (this.isCurrentTarget(evt)) {\n evt.preventDefault();\n this.close();\n }\n });\n\n this.$overlay.on('keyup', (evt) => {\n if (this.isEscButton(evt)) {\n evt.preventDefault();\n this.close();\n }\n });\n }\n\n this.$popup.find('.wallsio-width-select').on('change', () => {\n this.updateAutoWidth();\n });\n }\n\n updateAutoWidth() {\n const width = this.getWidth();\n const isAutoWidth = width === 'auto';\n\n const autoWidthValue = isAutoWidth ? 1 : 0;\n this.$popup.attr('data-auto-width', autoWidthValue);\n }\n\n isCurrentTarget(evt) {\n return evt.target === evt.currentTarget;\n }\n\n close() {\n if (this.$popup) {\n this.$popup.remove();\n this.$popup = null;\n }\n\n if (this.$overlay) {\n this.$overlay.remove();\n this.$overlay = null;\n }\n }\n\n get isOpen() {\n return !!this.$popup;\n }\n\n isEscButton(evt) {\n return evt.key === 'Escape';\n }\n\n isEnterButton(evt) {\n return evt.key === 'Enter';\n }\n\n focus() {\n this.getFirstInput().focus();\n }\n\n getFirstInput() {\n return this.$popup.find('input').first();\n }\n\n getAllValues() {\n return {\n wallIdentifier: this.getInputValue('.wallsio-url-input'),\n width: this.getWidth(),\n height: this.getHeight(),\n showHeader: this.getCheckboxValue('.wallsio-show-header-checkbox'),\n showBackground: this.getCheckboxValue('.wallsio-show-background-checkbox'),\n };\n }\n\n intVal(value) {\n return parseInt(value, 10) || null;\n }\n\n getWidth() {\n const widthType = this.getInputValue('.wallsio-width-select');\n\n if (widthType === 'auto') {\n return 'auto';\n }\n\n const strVal = this.getInputValue('.wallsio-fixed-width-input');\n return this.intVal(strVal) || this.allValues.defaultWidth;\n }\n\n getHeight() {\n const strVal = this.getInputValue('.wallsio-height-input');\n return this.intVal(strVal) || this.allValues.defaultHeight;\n }\n\n getInputValue(selector) {\n const value = this.$popup.find(selector).val();\n const strValue = value || '';\n return strValue.trim();\n }\n\n getCheckboxValue(selector) {\n return this.$popup.find(selector).is(':checked');\n }\n\n handleSubmitIntent(onSubmit) {\n const values = this.getAllValues();\n\n const wallIdentifier = values.wallIdentifier;\n\n if (!this.isValidWallIdentifier(wallIdentifier)) {\n alert('Please enter a valid wall URL');\n return;\n }\n\n onSubmit(values);\n\n this.close();\n }\n\n /**\n * Whether a string is actually a (BASE 10) integer value\n *\n * @param {string} value\n * @return {Boolean}\n */\n isIntString(value) {\n return parseInt(value, 10).toString() === value;\n }\n\n isValidWallIdentifier(wallIdentifier) {\n if (!wallIdentifier) {\n return false;\n }\n\n if (typeof wallIdentifier !== 'string') {\n return false;\n }\n\n if (this.isIntString(wallIdentifier)) {\n return true;\n }\n\n const minTitleUrlLength = 2;\n return wallIdentifier.length >= minTitleUrlLength;\n }\n}\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target) {\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertInto + \" \" + options.insertAt.before);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n"],"sourceRoot":""}