File Manager

Current Directory: /home/astoriaah/www/templates/yootheme/vendor/yootheme/theme/platforms/joomla/app
Viewing File: /home/astoriaah/www/templates/yootheme/vendor/yootheme/theme/platforms/joomla/app/customizer.min.js
webpackJsonp([1],{ /***/ 151: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var key = '__test__'; var storage = void 0; // workaround for Safari's private browsing mode and accessing sessionStorage in Blink try { storage = window.sessionStorage || {}; storage[key] = 1; delete storage[key]; } catch (e) { storage = {}; } exports.default = storage; /***/ }), /***/ 517: /***/ (function(module, exports, __webpack_require__) { var __vue_script__, __vue_template__ var __vue_styles__ = {} __vue_script__ = __webpack_require__(518) if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) { console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/customizer.vue: named exports in *.vue files are ignored.")} __vue_template__ = __webpack_require__(565) module.exports = __vue_script__ || {} if (module.exports.__esModule) module.exports = module.exports.default var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports if (__vue_template__) { __vue_options__.template = __vue_template__ } if (!__vue_options__.computed) __vue_options__.computed = {} Object.keys(__vue_styles__).forEach(function (key) { var module = __vue_styles__[key] __vue_options__.computed[key] = function () { return module } }) if (false) {(function () { module.hot.accept() var hotAPI = require("vue-hot-reload-api") hotAPI.install(require("vue"), false) if (!hotAPI.compatible) return var id = "_v-7cc8e3d9/customizer.vue" if (!module.hot.data) { hotAPI.createRecord(id, module.exports) } else { hotAPI.update(id, module.exports, __vue_template__) } })()} /***/ }), /***/ 518: /***/ (function(module, exports, __webpack_require__) { "use strict"; var _pick3 = __webpack_require__(143); var _pick4 = _interopRequireDefault(_pick3); var _merge3 = __webpack_require__(6); var _merge4 = _interopRequireDefault(_merge3); var _assign3 = __webpack_require__(5); var _assign4 = _interopRequireDefault(_assign3); var _jquery = __webpack_require__(2); var _jquery2 = _interopRequireDefault(_jquery); var _vue = __webpack_require__(3); var _vue2 = _interopRequireDefault(_vue); var _uikit = __webpack_require__(16); var _uikit2 = _interopRequireDefault(_uikit); var _cookiesJs = __webpack_require__(519); var _cookiesJs2 = _interopRequireDefault(_cookiesJs); var _queryString = __webpack_require__(520); var _queryString2 = _interopRequireDefault(_queryString); var _customizer = __webpack_require__(148); var _customizer2 = _interopRequireDefault(_customizer); var _preview = __webpack_require__(532); var _preview2 = _interopRequireDefault(_preview); var _sidebar = __webpack_require__(538); var _sidebar2 = _interopRequireDefault(_sidebar); var _linkPicker = __webpack_require__(547); var _linkPicker2 = _interopRequireDefault(_linkPicker); var _mediaPicker = __webpack_require__(550); var _mediaPicker2 = _interopRequireDefault(_mediaPicker); var _editorVisual = __webpack_require__(562); var _editorVisual2 = _interopRequireDefault(_editorVisual); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (0, _jquery2.default)(function () { var _QueryString$parse = _queryString2.default.parse(window.location.href), site = _QueryString$parse.site, section = _QueryString$parse.section; var config = (0, _assign4.default)({}, window.$config, window.$customizer); (0, _assign4.default)(exports, { data: function data() { return { admin: config.admin, user_id: config.user_id, section: section, prev: {}, dirty: false, active: true, config: (0, _merge4.default)({}, config.config) }; }, computed: { filteredSections: function filteredSections() { return this.section ? (0, _pick4.default)(this.sections, this.section) : this.sections; } }, created: function created() { if (site) this.site = site; }, ready: function ready() { var _this = this; this.prev = (0, _merge4.default)({}, this.config); this.$trigger('loadPreview', { admin: this.admin, config: this.config, user_id: this.user_id }); (0, _jquery2.default)(window).on('beforeunload', function () { return _this.dirty || undefined; }); }, methods: { close: function close() { var event = { close: true }; this.$trigger('close', event); if (!event.close) { return; } _cookiesJs2.default.expire(config.cookie); window.location.href = config.return; }, cancel: function cancel() { this.config = (0, _merge4.default)({}, this.prev); this.dirty = false; this.$trigger('loadPreview'); } }, events: { setField: function setField(name, value, values) { if (values === this.config) { this.dirty = true; } }, saveConfig: { handler: function handler(config) { var _this2 = this; return this.$http.post('customizer', { config: config }).then(function () { _this2.dirty = false; _this2.prev = (0, _merge4.default)({}, config); }); }, priority: -10 }, readyPreview: function readyPreview(e, preview, config) { this.active = this.id === config.id; }, loadPreview: function loadPreview(data) { return [data || { config: this.config }]; } }, components: { sidebar: _sidebar2.default, preview: _preview2.default } }); _vue2.default.http.interceptors.unshift(function (req, next) { if (!req.crossOrigin) { req.headers.set('X-XSRF-Token', config.csrf); } if (req.getUrl().startsWith(config.api)) { req.params.key = config.apikey; } if (typeof req.url === 'string' && !req.url.match(/^((https?:)?\/|{)/)) { req.params.option = 'com_ajax'; req.params.style = config.id; req.params.p = req.url; req.url = config.route; } next(); }); _vue2.default.component('link-picker', _linkPicker2.default); _vue2.default.component('media-picker', _mediaPicker2.default); _vue2.default.component('editor-visual', _editorVisual2.default); (0, _jquery2.default)('html').addClass('yo-open'); _cookiesJs2.default.set(config.cookie, config.id, { expires: 86400 }); (0, _jquery2.default)(window).on('unload', function () { return _cookiesJs2.default.expire(config.cookie); }); _customizer2.default.create(exports).$mount().$appendTo(_uikit2.default.container = (0, _jquery2.default)('<div class="uk-noconflict"></div>').appendTo('body')[0]); if (window.tinyMCE) { // triggered on Joomla modal close. dummy call in case no editor is active tinyMCE.activeEditor = tinyMCE.activeEditor || { windowManager: { close: function close() {} } }; } }); // </script> // <template> // // <div class="yo-customizer"> // <sidebar :config="config" :panels="panels" :sections="filteredSections"></sidebar> // <preview :src="site"></preview> // </div> // // </template> // // <script> /***/ }), /***/ 519: /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/* * Cookies.js - 1.2.3 * https://github.com/ScottHamper/Cookies * * This is free and unencumbered software released into the public domain. */ (function (global, undefined) { 'use strict'; var factory = function (window) { if (typeof window.document !== 'object') { throw new Error('Cookies.js requires a `window` with a `document` object'); } var Cookies = function (key, value, options) { return arguments.length === 1 ? Cookies.get(key) : Cookies.set(key, value, options); }; // Allows for setter injection in unit tests Cookies._document = window.document; // Used to ensure cookie keys do not collide with // built-in `Object` properties Cookies._cacheKeyPrefix = 'cookey.'; // Hurr hurr, :) Cookies._maxExpireDate = new Date('Fri, 31 Dec 9999 23:59:59 UTC'); Cookies.defaults = { path: '/', secure: false }; Cookies.get = function (key) { if (Cookies._cachedDocumentCookie !== Cookies._document.cookie) { Cookies._renewCache(); } var value = Cookies._cache[Cookies._cacheKeyPrefix + key]; return value === undefined ? undefined : decodeURIComponent(value); }; Cookies.set = function (key, value, options) { options = Cookies._getExtendedOptions(options); options.expires = Cookies._getExpiresDate(value === undefined ? -1 : options.expires); Cookies._document.cookie = Cookies._generateCookieString(key, value, options); return Cookies; }; Cookies.expire = function (key, options) { return Cookies.set(key, undefined, options); }; Cookies._getExtendedOptions = function (options) { return { path: options && options.path || Cookies.defaults.path, domain: options && options.domain || Cookies.defaults.domain, expires: options && options.expires || Cookies.defaults.expires, secure: options && options.secure !== undefined ? options.secure : Cookies.defaults.secure }; }; Cookies._isValidDate = function (date) { return Object.prototype.toString.call(date) === '[object Date]' && !isNaN(date.getTime()); }; Cookies._getExpiresDate = function (expires, now) { now = now || new Date(); if (typeof expires === 'number') { expires = expires === Infinity ? Cookies._maxExpireDate : new Date(now.getTime() + expires * 1000); } else if (typeof expires === 'string') { expires = new Date(expires); } if (expires && !Cookies._isValidDate(expires)) { throw new Error('`expires` parameter cannot be converted to a valid Date instance'); } return expires; }; Cookies._generateCookieString = function (key, value, options) { key = key.replace(/[^#$&+\^`|]/g, encodeURIComponent); key = key.replace(/\(/g, '%28').replace(/\)/g, '%29'); value = (value + '').replace(/[^!#$&-+\--:<-\[\]-~]/g, encodeURIComponent); options = options || {}; var cookieString = key + '=' + value; cookieString += options.path ? ';path=' + options.path : ''; cookieString += options.domain ? ';domain=' + options.domain : ''; cookieString += options.expires ? ';expires=' + options.expires.toUTCString() : ''; cookieString += options.secure ? ';secure' : ''; return cookieString; }; Cookies._getCacheFromString = function (documentCookie) { var cookieCache = {}; var cookiesArray = documentCookie ? documentCookie.split('; ') : []; for (var i = 0; i < cookiesArray.length; i++) { var cookieKvp = Cookies._getKeyValuePairFromCookieString(cookiesArray[i]); if (cookieCache[Cookies._cacheKeyPrefix + cookieKvp.key] === undefined) { cookieCache[Cookies._cacheKeyPrefix + cookieKvp.key] = cookieKvp.value; } } return cookieCache; }; Cookies._getKeyValuePairFromCookieString = function (cookieString) { // "=" is a valid character in a cookie value according to RFC6265, so cannot `split('=')` var separatorIndex = cookieString.indexOf('='); // IE omits the "=" when the cookie value is an empty string separatorIndex = separatorIndex < 0 ? cookieString.length : separatorIndex; var key = cookieString.substr(0, separatorIndex); var decodedKey; try { decodedKey = decodeURIComponent(key); } catch (e) { if (console && typeof console.error === 'function') { console.error('Could not decode cookie with key "' + key + '"', e); } } return { key: decodedKey, value: cookieString.substr(separatorIndex + 1) // Defer decoding value until accessed }; }; Cookies._renewCache = function () { Cookies._cache = Cookies._getCacheFromString(Cookies._document.cookie); Cookies._cachedDocumentCookie = Cookies._document.cookie; }; Cookies._areEnabled = function () { var testKey = 'cookies.js'; var areEnabled = Cookies.set(testKey, 1).get(testKey) === '1'; Cookies.expire(testKey); return areEnabled; }; Cookies.enabled = Cookies._areEnabled(); return Cookies; }; var cookiesExport = (global && typeof global.document === 'object') ? factory(global) : factory; // AMD support if (true) { !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () { return cookiesExport; }).call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // CommonJS/Node.js support } else if (typeof exports === 'object') { // Support Node.js specific `module.exports` (which can be a function) if (typeof module === 'object' && typeof module.exports === 'object') { exports = module.exports = cookiesExport; } // But always support CommonJS module 1.1.1 spec (`exports` cannot be a function) exports.Cookies = cookiesExport; } else { global.Cookies = cookiesExport; } })(typeof window === 'undefined' ? this : window); /***/ }), /***/ 520: /***/ (function(module, exports, __webpack_require__) { "use strict"; const strictUriEncode = __webpack_require__(521); const decodeComponent = __webpack_require__(522); function encoderForArrayFormat(options) { switch (options.arrayFormat) { case 'index': return (key, value, index) => { return value === null ? [ encode(key, options), '[', index, ']' ].join('') : [ encode(key, options), '[', encode(index, options), ']=', encode(value, options) ].join(''); }; case 'bracket': return (key, value) => { return value === null ? [encode(key, options), '[]'].join('') : [ encode(key, options), '[]=', encode(value, options) ].join(''); }; default: return (key, value) => { return value === null ? encode(key, options) : [ encode(key, options), '=', encode(value, options) ].join(''); }; } } function parserForArrayFormat(options) { let result; switch (options.arrayFormat) { case 'index': return (key, value, accumulator) => { result = /\[(\d*)\]$/.exec(key); key = key.replace(/\[\d*\]$/, ''); if (!result) { accumulator[key] = value; return; } if (accumulator[key] === undefined) { accumulator[key] = {}; } accumulator[key][result[1]] = value; }; case 'bracket': return (key, value, accumulator) => { result = /(\[\])$/.exec(key); key = key.replace(/\[\]$/, ''); if (!result) { accumulator[key] = value; return; } if (accumulator[key] === undefined) { accumulator[key] = [value]; return; } accumulator[key] = [].concat(accumulator[key], value); }; default: return (key, value, accumulator) => { if (accumulator[key] === undefined) { accumulator[key] = value; return; } accumulator[key] = [].concat(accumulator[key], value); }; } } function encode(value, options) { if (options.encode) { return options.strict ? strictUriEncode(value) : encodeURIComponent(value); } return value; } function decode(value, options) { if (options.decode) { return decodeComponent(value); } return value; } function keysSorter(input) { if (Array.isArray(input)) { return input.sort(); } if (typeof input === 'object') { return keysSorter(Object.keys(input)) .sort((a, b) => Number(a) - Number(b)) .map(key => input[key]); } return input; } function extract(input) { const queryStart = input.indexOf('?'); if (queryStart === -1) { return ''; } return input.slice(queryStart + 1); } function parse(input, options) { options = Object.assign({decode: true, arrayFormat: 'none'}, options); const formatter = parserForArrayFormat(options); // Create an object with no prototype const ret = Object.create(null); if (typeof input !== 'string') { return ret; } input = input.trim().replace(/^[?#&]/, ''); if (!input) { return ret; } for (const param of input.split('&')) { let [key, value] = param.replace(/\+/g, ' ').split('='); // Missing `=` should be `null`: // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters value = value === undefined ? null : decode(value, options); formatter(decode(key, options), value, ret); } return Object.keys(ret).sort().reduce((result, key) => { const value = ret[key]; if (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) { // Sort object keys, not values result[key] = keysSorter(value); } else { result[key] = value; } return result; }, Object.create(null)); } exports.extract = extract; exports.parse = parse; exports.stringify = (obj, options) => { const defaults = { encode: true, strict: true, arrayFormat: 'none' }; options = Object.assign(defaults, options); if (options.sort === false) { options.sort = () => {}; } const formatter = encoderForArrayFormat(options); return obj ? Object.keys(obj).sort(options.sort).map(key => { const value = obj[key]; if (value === undefined) { return ''; } if (value === null) { return encode(key, options); } if (Array.isArray(value)) { const result = []; for (const value2 of value.slice()) { if (value2 === undefined) { continue; } result.push(formatter(key, value2, result.length)); } return result.join('&'); } return encode(key, options) + '=' + encode(value, options); }).filter(x => x.length > 0).join('&') : ''; }; exports.parseUrl = (input, options) => { return { url: input.split('?')[0] || '', query: parse(extract(input), options) }; }; /***/ }), /***/ 521: /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`); /***/ }), /***/ 522: /***/ (function(module, exports, __webpack_require__) { "use strict"; var token = '%[a-f0-9]{2}'; var singleMatcher = new RegExp(token, 'gi'); var multiMatcher = new RegExp('(' + token + ')+', 'gi'); function decodeComponents(components, split) { try { // Try to decode the entire string first return decodeURIComponent(components.join('')); } catch (err) { // Do nothing } if (components.length === 1) { return components; } split = split || 1; // Split the array in 2 parts var left = components.slice(0, split); var right = components.slice(split); return Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right)); } function decode(input) { try { return decodeURIComponent(input); } catch (err) { var tokens = input.match(singleMatcher); for (var i = 1; i < tokens.length; i++) { input = decodeComponents(tokens, i).join(''); tokens = input.match(singleMatcher); } return input; } } function customDecodeURIComponent(input) { // Keep track of all the replacements and prefill the map with the `BOM` var replaceMap = { '%FE%FF': '\uFFFD\uFFFD', '%FF%FE': '\uFFFD\uFFFD' }; var match = multiMatcher.exec(input); while (match) { try { // Decode as big chunks as possible replaceMap[match[0]] = decodeURIComponent(match[0]); } catch (err) { var result = decode(match[0]); if (result !== match[0]) { replaceMap[match[0]] = result; } } match = multiMatcher.exec(input); } // Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else replaceMap['%C2'] = '\uFFFD'; var entries = Object.keys(replaceMap); for (var i = 0; i < entries.length; i++) { // Replace all decoded components var key = entries[i]; input = input.replace(new RegExp(key, 'g'), replaceMap[key]); } return input; } module.exports = function (encodedURI) { if (typeof encodedURI !== 'string') { throw new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`'); } try { encodedURI = encodedURI.replace(/\+/g, ' '); // Try the built in decoder first return decodeURIComponent(encodedURI); } catch (err) { // Fallback to a more advanced decoder return customDecodeURIComponent(encodedURI); } }; /***/ }), /***/ 532: /***/ (function(module, exports, __webpack_require__) { var __vue_script__, __vue_template__ var __vue_styles__ = {} __vue_script__ = __webpack_require__(533) if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) { console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/preview.vue: named exports in *.vue files are ignored.")} __vue_template__ = __webpack_require__(537) module.exports = __vue_script__ || {} if (module.exports.__esModule) module.exports = module.exports.default var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports if (__vue_template__) { __vue_options__.template = __vue_template__ } if (!__vue_options__.computed) __vue_options__.computed = {} Object.keys(__vue_styles__).forEach(function (key) { var module = __vue_styles__[key] __vue_options__.computed[key] = function () { return module } }) if (false) {(function () { module.hot.accept() var hotAPI = require("vue-hot-reload-api") hotAPI.install(require("vue"), false) if (!hotAPI.compatible) return var id = "_v-54782319/preview.vue" if (!module.hot.data) { hotAPI.createRecord(id, module.exports) } else { hotAPI.update(id, module.exports, __vue_template__) } })()} /***/ }), /***/ 533: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _debounce3 = __webpack_require__(32); var _debounce4 = _interopRequireDefault(_debounce3); var _jquery = __webpack_require__(2); var _jquery2 = _interopRequireDefault(_jquery); var _vue = __webpack_require__(3); var _vue2 = _interopRequireDefault(_vue); var _previewIframe = __webpack_require__(534); var _previewIframe2 = _interopRequireDefault(_previewIframe); var _util = __webpack_require__(10); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // <template> // // <div class="yo-preview uk-flex-auto uk-flex uk-position-relative"> // <div class="yo-preview-iframe uk-margin-auto uk-margin-auto-vertical" :class="{[`yo-preview-size-${this.width}`]: this.width}" v-el:preview> // // <div class="uk-position-center" uk-spinner v-show="!iframe"></div> // // <div class="uk-position-cover uk-position-z-index uk-overlay uk-overlay-default" v-show="overlay"></div> // // </div> // </div> // // </template> // // <script> exports.default = { ref: '$preview', name: 'preview', props: ['src'], data: function data() { return { width: '', iframe: null, overlay: false }; }, ready: function ready() { this.debouncedPost = (0, _debounce4.default)(this.post, 500); }, methods: { load: function load(data) { if (this.staging) { this.staging.destroy(); this.staging = null; } if (this.request) { this.request.abort(); } if (this.iframe) { this.debouncedPost(data); } else { this.post(data); } }, post: function post(data) { var _this = this; var create = function create(response) { _this.staging = new _vue2.default({ extends: _previewIframe2.default, parent: _this }).$mount().$appendTo(_this.$els.preview); _this.staging.write(response); }; this.request = _jquery2.default.post(this.src, { customizer: (0, _util.b64Encode)(JSON.stringify(data)) }); this.request.then(create, function (response) { if (response.readyState === 4) { create(response.responseText); } }); }, update: function update(e, iframe) { var _this2 = this; if (e.type !== 'load') { this.$trigger(e.type + 'Preview', [e, this, iframe]); return; } if (e.first) { if (this.staging !== iframe) { iframe.destroy(); return; } if (this.iframe) { this.iframe.destroy(); } this.staging = null; this.iframe = iframe; try { // IE 11 throws SecurityError iframe.window.history.replaceState(null, '', this.src); } catch (e) {} (0, _jquery2.default)(iframe.document).scrollTop(this.scroll); } else { this.src = iframe.window.location.href; } window.history.replaceState(null, '', setParam(window.location.href.toString(), 'site', this.src)); (0, _util.on)(iframe.window, 'mousedown', function (e) { return requestAnimationFrame(function () { return iframe.$el && iframe.$el.dispatchEvent(e); }); }); (0, _util.on)(iframe.window, 'mouseup', function (e) { return requestAnimationFrame(function () { return iframe.$el && iframe.$el.dispatchEvent(e); }); }); (0, _util.on)(iframe.window, 'click', function (e) { return requestAnimationFrame(function () { return iframe.$el && iframe.$el.dispatchEvent(e); }); }); (0, _util.on)(iframe.window, 'scroll', function (_ref) { var currentTarget = _ref.currentTarget; return _this2.scroll = currentTarget.scrollY; }); this.window = iframe.window; this.document = iframe.document; this.$trigger('readyPreview', [e, this, iframe.window.$customizer || {}]); } }, events: { loadPreview: { handler: function handler(data) { this.load(data); }, priority: -10 }, reloadPreview: function reloadPreview() { this.load(); } } }; function setParam(uri, key, value) { return uri.replace(new RegExp('([?&]' + key + '(?=[=&#]|$)[^#&]*|(?=#|$))', 'i'), '&' + key + '=' + encodeURIComponent(value)).replace(/^([^?&]+)&/, '$1?'); } // </script> /***/ }), /***/ 534: /***/ (function(module, exports, __webpack_require__) { var __vue_script__, __vue_template__ var __vue_styles__ = {} __vue_script__ = __webpack_require__(535) if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) { console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/preview-iframe.vue: named exports in *.vue files are ignored.")} __vue_template__ = __webpack_require__(536) module.exports = __vue_script__ || {} if (module.exports.__esModule) module.exports = module.exports.default var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports if (__vue_template__) { __vue_options__.template = __vue_template__ } if (!__vue_options__.computed) __vue_options__.computed = {} Object.keys(__vue_styles__).forEach(function (key) { var module = __vue_styles__[key] __vue_options__.computed[key] = function () { return module } }) if (false) {(function () { module.hot.accept() var hotAPI = require("vue-hot-reload-api") hotAPI.install(require("vue"), false) if (!hotAPI.compatible) return var id = "_v-f15048f0/preview-iframe.vue" if (!module.hot.data) { hotAPI.createRecord(id, module.exports) } else { hotAPI.update(id, module.exports, __vue_template__) } })()} /***/ }), /***/ 535: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _util = __webpack_require__(10); exports.default = { name: 'preview-iframe', data: function data() { return { loaded: false }; }, ready: function ready() { (0, _util.on)(this.$el, 'load', this.load); }, computed: { window: { get: function get() { return this.$el.contentWindow; }, cache: false }, document: { get: function get() { return this.$el.contentDocument; }, cache: false } }, methods: { load: function load(e) { e.first = !this.loaded; this.loaded = true; (0, _util.on)(this.window, 'unload', this.unload); (0, _util.on)(this.window, 'beforeunload', this.beforeUnload); this.$parent.update(e, this); }, unload: function unload(e) { this.$parent && this.$parent.update(e, this); }, beforeUnload: function beforeUnload(e) { this.$parent && this.$parent.update(e, this); return e.returnValue; }, write: function write(data) { this.document.open(); this.document.write(data); this.document.close(); return this; }, destroy: function destroy() { if (this.$el) { (0, _util.off)(this.$el, 'load', this.load); (0, _util.off)(this.window, 'unload', this.unload); (0, _util.off)(this.window, 'beforeunload', this.beforeUnload); } this.$destroy(true); } } }; // </script> // <template> // // <iframe :style="!loaded ? {zIndex: -1} : false"></iframe> // // </template> // // <script> /***/ }), /***/ 536: /***/ (function(module, exports) { module.exports = "\n\n<iframe :style=\"!loaded ? {zIndex: -1} : false\"></iframe>\n\n"; /***/ }), /***/ 537: /***/ (function(module, exports) { module.exports = "\n\n<div class=\"yo-preview uk-flex-auto uk-flex uk-position-relative\">\n <div class=\"yo-preview-iframe uk-margin-auto uk-margin-auto-vertical\" :class=\"{[`yo-preview-size-${this.width}`]: this.width}\" v-el:preview>\n\n <div class=\"uk-position-center\" uk-spinner v-show=\"!iframe\"></div>\n\n <div class=\"uk-position-cover uk-position-z-index uk-overlay uk-overlay-default\" v-show=\"overlay\"></div>\n\n </div>\n</div>\n\n"; /***/ }), /***/ 538: /***/ (function(module, exports, __webpack_require__) { var __vue_script__, __vue_template__ var __vue_styles__ = {} __vue_script__ = __webpack_require__(539) if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) { console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/sidebar.vue: named exports in *.vue files are ignored.")} __vue_template__ = __webpack_require__(546) module.exports = __vue_script__ || {} if (module.exports.__esModule) module.exports = module.exports.default var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports if (__vue_template__) { __vue_options__.template = __vue_template__ } if (!__vue_options__.computed) __vue_options__.computed = {} Object.keys(__vue_styles__).forEach(function (key) { var module = __vue_styles__[key] __vue_options__.computed[key] = function () { return module } }) if (false) {(function () { module.hot.accept() var hotAPI = require("vue-hot-reload-api") hotAPI.install(require("vue"), false) if (!hotAPI.compatible) return var id = "_v-ee193ea6/sidebar.vue" if (!module.hot.data) { hotAPI.createRecord(id, module.exports) } else { hotAPI.update(id, module.exports, __vue_template__) } })()} /***/ }), /***/ 539: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _panel = __webpack_require__(540); var _panel2 = _interopRequireDefault(_panel); var _previewResize = __webpack_require__(543); var _previewResize2 = _interopRequireDefault(_previewResize); var _sidebar = __webpack_require__(150); var _sidebar2 = _interopRequireDefault(_sidebar); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { extends: _sidebar2.default, props: ['config', 'panels', 'sections'], data: function data() { return { width: 0, inTransition: false, spinnerVisible: false, showSave: true }; }, computed: { showSaveButton: function showSaveButton() { return this.$styler.errors.length === 0 && this.showSave; }, single: function single() { return Object.keys(this.sections).length === 1; }, buttonsDisabled: function buttonsDisabled() { return this.$styler && this.$styler.updatePending || this.spinnerVisible; } }, ready: function ready() { this.width = this.$els.sidebar.offsetWidth; if (this.single) { this.openPanel(Object.keys(this.sections)[0]); } }, methods: { saveConfig: function saveConfig(config) { var _this = this; this.spinnerVisible = true; this.$trigger('saveConfig', config, true).then(function () { _this.spinnerVisible = false; }); } }, transitions: { close: { type: 'animation', enterClass: 'uk-animation-fade', leaveClass: 'uk-animation-fade', leave: function leave(el) { el.classList.add('uk-animation-reverse'); }, afterLeave: function afterLeave(el) { this.inTransition = this.$app.dirty; el.classList.remove('uk-animation-reverse'); } }, fade: { type: 'animation', enterClass: 'uk-animation-fade', leaveClass: 'uk-animation-fade', leave: function leave(el) { el.classList.add('uk-animation-reverse'); }, afterLeave: function afterLeave(el) { el.classList.remove('uk-animation-reverse'); } } }, components: { panel: _panel2.default, resize: _previewResize2.default } }; // </script> // <template> // // <div class="yo-sidebar uk-flex-none" :style="{width: panel && panel.width || ''}"> // // <div class="yo-sidebar-header"> // // <div class="yo-sidebar-close uk-flex uk-flex-middle" uk-scrollspy="uk-animation-fade"> // <button class="uk-button uk-button-text uk-button-small uk-animation-fast" type="button" :disabled="!!buttonsDisabled" @click.prevent="$app.close" v-if="!$app.dirty && inTransition === false" transition="close">{{ $trans('Close') }}</button> // <span class="uk-flex-1 uk-flex uk-flex-middle uk-animation-fast" v-if="$app.dirty && inTransition === true" transition="close"> // // <button class="uk-button uk-button-text uk-button-small uk-margin-auto-right" type="button" :disabled="!!buttonsDisabled" @click.prevent="$app.cancel" v-confirm="'Are you sure?'" v-if="$app.dirty">{{ $trans('Cancel') }}</button> // <button class="uk-button uk-button-text uk-button-small uk-margin-auto-right" type="button" :disabled="!!buttonsDisabled" @click.prevent="$app.cancel" v-else>{{ $trans('Cancel') }}</button> // // <span class="uk-margin-small-right" uk-spinner="ratio:0.5;" v-if="spinnerVisible"></span> // <button class="uk-button uk-button-primary uk-button-small" :disabled="!!buttonsDisabled" @click.prevent="saveConfig(config)" v-if="showSaveButton">{{ $trans('Save') }}</button> // // </span> // </div> // // <a class="yo-sidebar-breadcrumb uk-h4 uk-flex-inline uk-flex-middle uk-animation-fast" v-if="panel && (!single || stack.length > 1)" transition="fade" @click="closePanel"> // <span class="uk-margin-small-right" uk-icon="breadcrumb"></span> // <span v-if="panel && panel.parent">{{ panel.parent.title }}</span> // <span v-else>{{ $trans('Home') }}</span> // </a> // // </div> // // <div class="yo-sidebar-content" v-el:sidebar> // // <div class="yo-sidebar-section" :style="{width: width + 'px', left: stack.length ? '-100%': '0', visibility: 'visible'}" v-if="!single" v-el:rootsection> // // <h1 class="uk-logo yo-sidebar-logo uk-text-center" uk-scrollspy="uk-animation-fade">YOOtheme</h1> // // <ul class="uk-nav uk-nav-primary uk-nav-center yo-sidebar-marginless" uk-scrollspy="cls: uk-animation-slide-left-medium; target: > li > a; delay: 100"> // <li v-for="(name, sec) in sections | orderBy ('priority')"> // <a tabindex="0" @click.prevent="openPanel(name)">{{ $trans(sec.title) }}</a> // </li> // </ul> // // <p class="uk-text-center" v-show="!$app.active">{{ $trans('Theme is not assigned to this page.') }}</p> // // </div> // // <panel :name="name" :config="sec" :prop-values="config" v-for="(name, sec) in sections" v-ref:sections></panel> // // </div> // // <div class="yo-sidebar-footer uk-flex uk-flex-center uk-flex-middle"> // <resize></resize> // </div> // // </div> // // </template> // // <script> /***/ }), /***/ 540: /***/ (function(module, exports, __webpack_require__) { var __vue_script__, __vue_template__ var __vue_styles__ = {} __vue_script__ = __webpack_require__(541) if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) { console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/panel.vue: named exports in *.vue files are ignored.")} __vue_template__ = __webpack_require__(542) module.exports = __vue_script__ || {} if (module.exports.__esModule) module.exports = module.exports.default var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports if (__vue_template__) { __vue_options__.template = __vue_template__ } if (!__vue_options__.computed) __vue_options__.computed = {} Object.keys(__vue_styles__).forEach(function (key) { var module = __vue_styles__[key] __vue_options__.computed[key] = function () { return module } }) if (false) {(function () { module.hot.accept() var hotAPI = require("vue-hot-reload-api") hotAPI.install(require("vue"), false) if (!hotAPI.compatible) return var id = "_v-a6eeb4d6/panel.vue" if (!module.hot.data) { hotAPI.createRecord(id, module.exports) } else { hotAPI.update(id, module.exports, __vue_template__) } })()} /***/ }), /***/ 541: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _panel = __webpack_require__(149); var _panel2 = _interopRequireDefault(_panel); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { extends: _panel2.default }; // </script> // <template> // // <div class="yo-sidebar-section" :class="config.cls" :style="{width: width}"> // // <template v-if="config.tabs"> // // <div class="uk-grid uk-grid-small uk-flex-middle"> // <div class="uk-width-expand"> // <h2 class="yo-sidebar-heading">{{ $trans(title) }}</h2> // </div> // <div class="uk-width-auto"> // <ul class="uk-subnav" v-if="config.tabs"> // <li v-for="tab in config.tabs" :class="{'uk-active': $index == index}"><a href="" @click.prevent="index = $index">{{ $trans(tab.title) }}</a></li> // </ul> // </div> // </div> // // <div class="yo-sidebar-tabs-content"> // <fields class="yo-sidebar-tabs-section" :style="{width: config.width + 'px', left: $index < index ? '-100%' : ($index === index ? '0' : '100%'), visibility: isVisible($index) ? 'visible' : 'hidden'}" :config="tab.fields" :values="values" v-for="tab in config.tabs"></fields> // </div> // // </template> // // <template v-else> // <h2 class="yo-sidebar-heading" v-if="config.heading !== false">{{ $trans(title) }}</h2> // <component v-if="$options.components[name]" :is="name" :config="config" :values="values"></component> // <fields v-else :config="config.fields" :values="values"></fields> // </template> // // </div> // // </template> // // <script> /***/ }), /***/ 542: /***/ (function(module, exports) { module.exports = "\n\n<div class=\"yo-sidebar-section\" :class=\"config.cls\" :style=\"{width: width}\">\n\n <template v-if=\"config.tabs\">\n\n <div class=\"uk-grid uk-grid-small uk-flex-middle\">\n <div class=\"uk-width-expand\">\n <h2 class=\"yo-sidebar-heading\">{{ $trans(title) }}</h2>\n </div>\n <div class=\"uk-width-auto\">\n <ul class=\"uk-subnav\" v-if=\"config.tabs\">\n <li v-for=\"tab in config.tabs\" :class=\"{'uk-active': $index == index}\"><a href=\"\" @click.prevent=\"index = $index\">{{ $trans(tab.title) }}</a></li>\n </ul>\n </div>\n </div>\n\n <div class=\"yo-sidebar-tabs-content\">\n <fields class=\"yo-sidebar-tabs-section\" :style=\"{width: config.width + 'px', left: $index < index ? '-100%' : ($index === index ? '0' : '100%'), visibility: isVisible($index) ? 'visible' : 'hidden'}\" :config=\"tab.fields\" :values=\"values\" v-for=\"tab in config.tabs\"></fields>\n </div>\n\n </template>\n\n <template v-else>\n <h2 class=\"yo-sidebar-heading\" v-if=\"config.heading !== false\">{{ $trans(title) }}</h2>\n <component v-if=\"$options.components[name]\" :is=\"name\" :config=\"config\" :values=\"values\"></component>\n <fields v-else :config=\"config.fields\" :values=\"values\"></fields>\n </template>\n\n</div>\n\n"; /***/ }), /***/ 543: /***/ (function(module, exports, __webpack_require__) { var __vue_script__, __vue_template__ var __vue_styles__ = {} __vue_script__ = __webpack_require__(544) if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) { console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/preview-resize.vue: named exports in *.vue files are ignored.")} __vue_template__ = __webpack_require__(545) module.exports = __vue_script__ || {} if (module.exports.__esModule) module.exports = module.exports.default var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports if (__vue_template__) { __vue_options__.template = __vue_template__ } if (!__vue_options__.computed) __vue_options__.computed = {} Object.keys(__vue_styles__).forEach(function (key) { var module = __vue_styles__[key] __vue_options__.computed[key] = function () { return module } }) if (false) {(function () { module.hot.accept() var hotAPI = require("vue-hot-reload-api") hotAPI.install(require("vue"), false) if (!hotAPI.compatible) return var id = "_v-a22b24d0/preview-resize.vue" if (!module.hot.data) { hotAPI.createRecord(id, module.exports) } else { hotAPI.update(id, module.exports, __vue_template__) } })()} /***/ }), /***/ 544: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _jquery = __webpack_require__(2); var _jquery2 = _interopRequireDefault(_jquery); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { data: function data() { return { size: 'desktop', sizes: [{ name: 'desktop', width: '' }, { name: 'laptop', width: 'desktop' }, { name: 'tablet', width: 'tablet-portrait' }, { name: 'phone', width: 'phone-portrait' }] }; }, methods: { resize: function resize(_ref, _ref2) { var target = _ref.target; var name = _ref2.name, width = _ref2.width; var link = (0, _jquery2.default)(target).closest('a'), landscape = link.hasClass('yo-landscape'); if (landscape) { width = width.replace(/portrait$/, 'landscape'); } if (width == this.$preview.width) { width = landscape ? width.replace(/landscape$/, 'portrait') : width.replace(/portrait$/, 'landscape'); } this.size = name; this.$preview.width = width; link.toggleClass('yo-landscape', /landscape$/.test(width)); } } }; // </script> // <template> // // <ul class="uk-grid uk-grid-small" uk-scrollspy="cls: uk-animation-slide-bottom-small; target: > li; delay: 100"> // <li :class="{'uk-active': size == s.name}" v-for="s in sizes"> // <a href="" class="uk-icon-link" :icon="s.name" uk-icon @click.prevent="resize($event, s)"></a> // </li> // </ul> // // </template> // // <script> /***/ }), /***/ 545: /***/ (function(module, exports) { module.exports = "\n\n<ul class=\"uk-grid uk-grid-small\" uk-scrollspy=\"cls: uk-animation-slide-bottom-small; target: > li; delay: 100\">\n <li :class=\"{'uk-active': size == s.name}\" v-for=\"s in sizes\">\n <a href=\"\" class=\"uk-icon-link\" :icon=\"s.name\" uk-icon @click.prevent=\"resize($event, s)\"></a>\n </li>\n</ul>\n\n"; /***/ }), /***/ 546: /***/ (function(module, exports) { module.exports = "\n\n<div class=\"yo-sidebar uk-flex-none\" :style=\"{width: panel && panel.width || ''}\">\n\n <div class=\"yo-sidebar-header\">\n\n <div class=\"yo-sidebar-close uk-flex uk-flex-middle\" uk-scrollspy=\"uk-animation-fade\">\n <button class=\"uk-button uk-button-text uk-button-small uk-animation-fast\" type=\"button\" :disabled=\"!!buttonsDisabled\" @click.prevent=\"$app.close\" v-if=\"!$app.dirty && inTransition === false\" transition=\"close\">{{ $trans('Close') }}</button>\n <span class=\"uk-flex-1 uk-flex uk-flex-middle uk-animation-fast\" v-if=\"$app.dirty && inTransition === true\" transition=\"close\">\n\n <button class=\"uk-button uk-button-text uk-button-small uk-margin-auto-right\" type=\"button\" :disabled=\"!!buttonsDisabled\" @click.prevent=\"$app.cancel\" v-confirm=\"'Are you sure?'\" v-if=\"$app.dirty\">{{ $trans('Cancel') }}</button>\n <button class=\"uk-button uk-button-text uk-button-small uk-margin-auto-right\" type=\"button\" :disabled=\"!!buttonsDisabled\" @click.prevent=\"$app.cancel\" v-else>{{ $trans('Cancel') }}</button>\n\n <span class=\"uk-margin-small-right\" uk-spinner=\"ratio:0.5;\" v-if=\"spinnerVisible\"></span>\n <button class=\"uk-button uk-button-primary uk-button-small\" :disabled=\"!!buttonsDisabled\" @click.prevent=\"saveConfig(config)\" v-if=\"showSaveButton\">{{ $trans('Save') }}</button>\n\n </span>\n </div>\n\n <a class=\"yo-sidebar-breadcrumb uk-h4 uk-flex-inline uk-flex-middle uk-animation-fast\" v-if=\"panel && (!single || stack.length > 1)\" transition=\"fade\" @click=\"closePanel\">\n <span class=\"uk-margin-small-right\" uk-icon=\"breadcrumb\"></span>\n <span v-if=\"panel && panel.parent\">{{ panel.parent.title }}</span>\n <span v-else>{{ $trans('Home') }}</span>\n </a>\n\n </div>\n\n <div class=\"yo-sidebar-content\" v-el:sidebar>\n\n <div class=\"yo-sidebar-section\" :style=\"{width: width + 'px', left: stack.length ? '-100%': '0', visibility: 'visible'}\" v-if=\"!single\" v-el:rootsection>\n\n <h1 class=\"uk-logo yo-sidebar-logo uk-text-center\" uk-scrollspy=\"uk-animation-fade\">YOOtheme</h1>\n\n <ul class=\"uk-nav uk-nav-primary uk-nav-center yo-sidebar-marginless\" uk-scrollspy=\"cls: uk-animation-slide-left-medium; target: > li > a; delay: 100\">\n <li v-for=\"(name, sec) in sections | orderBy ('priority')\">\n <a tabindex=\"0\" @click.prevent=\"openPanel(name)\">{{ $trans(sec.title) }}</a>\n </li>\n </ul>\n\n <p class=\"uk-text-center\" v-show=\"!$app.active\">{{ $trans('Theme is not assigned to this page.') }}</p>\n\n </div>\n\n <panel :name=\"name\" :config=\"sec\" :prop-values=\"config\" v-for=\"(name, sec) in sections\" v-ref:sections></panel>\n\n </div>\n\n <div class=\"yo-sidebar-footer uk-flex uk-flex-center uk-flex-middle\">\n <resize></resize>\n </div>\n\n</div>\n\n"; /***/ }), /***/ 547: /***/ (function(module, exports, __webpack_require__) { var __vue_script__, __vue_template__ var __vue_styles__ = {} __vue_script__ = __webpack_require__(548) if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) { console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/link-picker.vue: named exports in *.vue files are ignored.")} __vue_template__ = __webpack_require__(549) module.exports = __vue_script__ || {} if (module.exports.__esModule) module.exports = module.exports.default var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports if (__vue_template__) { __vue_options__.template = __vue_template__ } if (!__vue_options__.computed) __vue_options__.computed = {} Object.keys(__vue_styles__).forEach(function (key) { var module = __vue_styles__[key] __vue_options__.computed[key] = function () { return module } }) if (false) {(function () { module.hot.accept() var hotAPI = require("vue-hot-reload-api") hotAPI.install(require("vue"), false) if (!hotAPI.compatible) return var id = "_v-c84f67dc/link-picker.vue" if (!module.hot.data) { hotAPI.createRecord(id, module.exports) } else { hotAPI.update(id, module.exports, __vue_template__) } })()} /***/ }), /***/ 548: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _jquery = __webpack_require__(2); var _jquery2 = _interopRequireDefault(_jquery); var _util = __webpack_require__(10); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // <template> // // <div> // // <modal container v-ref:modal> // // <div class="uk-modal-header"> // <ul class="uk-tab" uk-switcher="connect: !div +.uk-switcher"> // <li><a href="#">{{ $trans('Articles') }}</a></li> // <li><a href="#">{{ $trans('Menu items') }}</a></li> // </ul> // </div> // // <div uk-overflow-auto class="uk-switcher" v-el:overflow> // <iframe :style="{height: height, width: '100%'}" :src="base + '&option=com_content&view=articles'" v-el:articles></iframe> // <iframe :style="{height: height, width: '100%'}" :src="base + '&option=com_menus&view=items'" v-el:menus></iframe> // </div> // // <div class="uk-modal-footer uk-text-right"> // <button class="uk-button uk-button-text uk-modal-close uk-margin-right" type="button">{{ $trans('Cancel') }}</button> // </div> // // </modal> // // </div> // // </template> // // <script> exports.default = { data: function data() { return { height: '500px', base: 'index.php?layout=modal&tmpl=component&editor=linkpicker&' + window.$customizer.token + '=1' }; }, methods: { open: function open() { var _this = this; var fn; this.$refs.modal.open(); if (this.modal) { return; } this.modal = this.$refs.modal.modal; (0, _jquery2.default)(this.modal.$el).on({ resize: function resize() { return _this.height = _this.$els.overflow.style.maxHeight; }, show: function show() { // wrap Joomla function fn = window.jInsertEditorText; window.jModalClose = function () {}; window.jInsertEditorText = function (tag, editor) { if (editor === 'linkpicker') { _this.select((0, _jquery2.default)(tag).attr('href')); } else { fn(tag, editor); } }; }, shown: function shown() { _this.$els.menus.onload = function () { _this.$els.menus.contentWindow.Joomla.optionsStorage = { 'xtd-menus': { editor: 'linkpicker' } }; }; _this.$nextTick(function () { var set = function set(iframe) { return (0, _util.addStyleRules)(iframe.contentDocument, ['.contentpane { padding: 30px !important }', '.js-stools-container-list { display: none; }']); }; !_this.$app.admin && [_this.$els.articles, _this.$els.menus].forEach(function (iframe) { if (iframe.readyState === 'complete') { set(iframe); } (0, _util.on)(iframe, 'load', function () { return set(iframe); }); }); }); }, hide: function hide() { // unwrap Joomla function window.jInsertEditorText = fn; fn = null; } }); }, select: function select(link) { this.$emit('select', link); this.$refs.modal.close(); } } }; // </script> /***/ }), /***/ 549: /***/ (function(module, exports) { module.exports = "\n\n<div>\n\n <modal container v-ref:modal>\n\n <div class=\"uk-modal-header\">\n <ul class=\"uk-tab\" uk-switcher=\"connect: !div +.uk-switcher\">\n <li><a href=\"#\">{{ $trans('Articles') }}</a></li>\n <li><a href=\"#\">{{ $trans('Menu items') }}</a></li>\n </ul>\n </div>\n\n <div uk-overflow-auto class=\"uk-switcher\" v-el:overflow>\n <iframe :style=\"{height: height, width: '100%'}\" :src=\"base + '&option=com_content&view=articles'\" v-el:articles></iframe>\n <iframe :style=\"{height: height, width: '100%'}\" :src=\"base + '&option=com_menus&view=items'\" v-el:menus></iframe>\n </div>\n\n <div class=\"uk-modal-footer uk-text-right\">\n <button class=\"uk-button uk-button-text uk-modal-close uk-margin-right\" type=\"button\">{{ $trans('Cancel') }}</button>\n </div>\n\n </modal>\n\n</div>\n\n"; /***/ }), /***/ 550: /***/ (function(module, exports, __webpack_require__) { var __vue_script__, __vue_template__ var __vue_styles__ = {} __vue_script__ = __webpack_require__(551) if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) { console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/media-picker.vue: named exports in *.vue files are ignored.")} __vue_template__ = __webpack_require__(561) module.exports = __vue_script__ || {} if (module.exports.__esModule) module.exports = module.exports.default var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports if (__vue_template__) { __vue_options__.template = __vue_template__ } if (!__vue_options__.computed) __vue_options__.computed = {} Object.keys(__vue_styles__).forEach(function (key) { var module = __vue_styles__[key] __vue_options__.computed[key] = function () { return module } }) if (false) {(function () { module.hot.accept() var hotAPI = require("vue-hot-reload-api") hotAPI.install(require("vue"), false) if (!hotAPI.compatible) return var id = "_v-55478496/media-picker.vue" if (!module.hot.data) { hotAPI.createRecord(id, module.exports) } else { hotAPI.update(id, module.exports, __vue_template__) } })()} /***/ }), /***/ 551: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); // <template> // // <div> // // <modal container keepalive v-ref:modal> // // <div class="uk-modal-header"> // // <ul uk-tab="connect: !div +ul; animation: uk-animation-fade" :active="initial"> // <li><a href>{{ $trans('Files') }}</a></li> // <li v-if="showUnsplash"><a href>Unsplash</a></li> // </ul> // // </div> // // <ul class="uk-switcher"> // <li @show="mode('finder')"> // // <div class="uk-modal-body"> // <Finder @selected="update"></Finder> // </div> // // <div class="uk-modal-footer uk-text-right"> // <button class="uk-button uk-button-text uk-modal-close uk-margin-right" type="button">{{ $trans('Cancel') }}</button> // <button class="uk-button uk-button-primary" type="button" :disabled="!hasSelection" @click.prevent="select(files)">{{ $trans('Select') }}</button> // </div> // // </li> // <li v-if="showUnsplash" @show="mode('unsplash')"> // // <div class="uk-modal-body"> // <Unsplash @selected="select"></Unsplash> // </div> // // </li> // </ul> // // </modal> // // </div> // // </template> // // <script> var _finder = __webpack_require__(552); var _finder2 = _interopRequireDefault(_finder); var _unsplash = __webpack_require__(557); var _unsplash2 = _interopRequireDefault(_unsplash); var _storage = __webpack_require__(151); var _storage2 = _interopRequireDefault(_storage); var _uikitUtil = __webpack_require__(27); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var storageKey = 'field.media-picker.mode'; exports.default = { props: ['type', 'unsplash'], data: function data() { return { files: [], initial: 0 }; }, computed: { hasSelection: function hasSelection() { return this.files.length === 1 && (!this.type || this.type === 'image' && this.isImage(this.files[0])); }, showUnsplash: function showUnsplash() { return this.unsplash && this.type === 'image'; } }, methods: { open: function open() { this.initial = _storage2.default[storageKey] === 'unsplash' && this.showUnsplash ? 1 : 0; this.$refs.modal.open(); }, select: function select(files) { var _files = _slicedToArray(files, 1), src = _files[0]; this.$emit('select', src); if (_storage2.default[storageKey] === 'unsplash') { this.$images.add({ src: src }); } this.$refs.modal.close(); }, update: function update(files) { this.files = files; }, isImage: function isImage(url) { return url.match(/\.(?:gif|jpe?g|png|svg|ico)$/i); }, mode: function mode(_mode) { _storage2.default[storageKey] = _mode; } }, components: { Finder: _finder2.default, Unsplash: _unsplash2.default } }; // </script> /***/ }), /***/ 552: /***/ (function(module, exports, __webpack_require__) { var __vue_script__, __vue_template__ var __vue_styles__ = {} __vue_script__ = __webpack_require__(553) if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) { console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/finder.vue: named exports in *.vue files are ignored.")} __vue_template__ = __webpack_require__(556) module.exports = __vue_script__ || {} if (module.exports.__esModule) module.exports = module.exports.default var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports if (__vue_template__) { __vue_options__.template = __vue_template__ } if (!__vue_options__.computed) __vue_options__.computed = {} Object.keys(__vue_styles__).forEach(function (key) { var module = __vue_styles__[key] __vue_options__.computed[key] = function () { return module } }) if (false) {(function () { module.hot.accept() var hotAPI = require("vue-hot-reload-api") hotAPI.install(require("vue"), false) if (!hotAPI.compatible) return var id = "_v-82d30836/finder.vue" if (!module.hot.data) { hotAPI.createRecord(id, module.exports) } else { hotAPI.update(id, module.exports, __vue_template__) } })()} /***/ }), /***/ 553: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _filter3 = __webpack_require__(33); var _filter4 = _interopRequireDefault(_filter3); var _find3 = __webpack_require__(25); var _find4 = _interopRequireDefault(_find3); var _jquery = __webpack_require__(2); var _jquery2 = _interopRequireDefault(_jquery); var _table = __webpack_require__(554); var _table2 = _interopRequireDefault(_table); var _thumbnail = __webpack_require__(555); var _thumbnail2 = _interopRequireDefault(_thumbnail); var _storage = __webpack_require__(151); var _storage2 = _interopRequireDefault(_storage); var _uikit = __webpack_require__(16); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var storagePath = 'field.finder.path'; // <template> // // <div v-show="items"> // // <div class="uk-child-width-auto uk-flex-between uk-flex-middle" uk-grid> // <div> // // <div class="uk-grid-small uk-child-width-auto uk-flex-middle" uk-grid> // <div> // // <h2 class="uk-modal-title uk-margin-remove" v-show="!selected.length">{{ $transChoice('{0} %count% Files|{1} %count% File|]1,Inf[ %count% Files', count, {count: count}) }}</h2> // <h2 class="uk-modal-title uk-margin-remove" v-else>{{ $transChoice('{1} %count% File selected|]1,Inf[ %count% Files selected', selected.length, {count: selected.length}) }}</h2> // // </div> // <div v-show="selected.length && canDelete"> // // <a class="uk-icon-link" :title="$trans('Delete')" uk-icon="trash" uk-tooltip="delay: 500" @click.prevent="remove" v-confirm="$trans('Delete files?')"></a> // // </div> // <div> // // <div class="yo-finder-search"> // <form class="uk-search uk-search-navbar"> // <span uk-search-icon></span> // <input class="uk-search-input" type="search" v-model="search"> // </form> // </div> // // </div> // </div> // // </div> // <div> // // <div class="uk-grid-medium uk-child-width-auto uk-flex-middle" uk-grid> // <div> // // <ul class="uk-grid-small uk-child-width-auto" uk-grid> // <li :class="{'uk-active': view == 'table'}"> // <a class="uk-icon-link" :title="$trans('Table')" uk-icon="table" uk-tooltip="delay: 500" @click.prevent="setView('table')"></a> // </li> // <li class="{'uk-active': view == 'thumbnail'}"> // <a class="uk-icon-link" :title="$trans('Thumbnails')" uk-icon="thumbnails" uk-tooltip="delay: 500" @click.prevent="setView('thumbnail')"></a> // </li> // </ul> // // </div> // <div v-show="canCreate"> // // <button class="uk-button uk-button-default uk-margin-small-right" @click.prevent="createFolder()">{{ $trans('Add Folder') }}</button> // // <div uk-form-custom> // <input type="file" name="files[]" multiple="multiple"> // <button class="uk-button uk-button-default">{{ $trans('Upload') }}</button> // </div> // // </div> // </div> // // </div> // </div> // // <ul class="uk-breadcrumb"> // <li v-for="bc in breadcrumbs" :class="{'uk-active': bc.current}"> // <span v-show="bc.current">{{ bc.title }}</span> // <a v-else @click.prevent="setPath(bc.path)">{{ bc.title }}</a> // </li> // </ul> // // <progress class="uk-progress uk-margin-remove" hidden="hidden" v-el:bar></progress> // // <div class="yo-finder-body" uk-overflow-auto v-if="count"> // <partial :name="view"></partial> // </div> // // <h3 class="uk-h1 uk-text-muted uk-text-center" v-else>{{ $trans('No files found.') }}</h3> // // </div> // // </template> // // <script> var storageView = 'field.finder.view'; exports.default = { name: 'finder', props: { root: { type: String, default: function _default() { return '/' + window.$customizer.media.path.replace(/^\/+|\/+$/g, ''); } }, path: { type: String, default: function _default() { return _storage2.default[storagePath] || '/'; } }, view: { type: String, default: function _default() { return _storage2.default[storageView] || 'table'; } }, canCreate: { type: String, default: function _default() { return window.$customizer.media.canCreate; } }, canDelete: { type: String, default: function _default() { return window.$customizer.media.canDelete; } } }, data: function data() { return { token: window.$customizer.token, selected: [], items: false, search: '' }; }, created: function created() { this.load(); }, ready: function ready() { var _this = this; var bar = this.$els.bar; this.canCreate && (0, _uikit.upload)(this.$el, { multiple: true, name: 'Filedata[]', allow: '*.(jpeg|jpg|gif|png|svg|mp3|ogg|wav|mp4|ogv|webm|pdf)', beforeAll: function beforeAll(settings) { settings.url = _this.resource.url({ task: 'file.upload', tmpl: 'component', format: 'html', folder: _this.path }, true); }, loadStart: function loadStart(e) { bar.removeAttribute('hidden'); bar.max = e.total; bar.value = e.loaded; }, progress: function progress(e) { bar.max = e.total; bar.value = e.loaded; }, loadEnd: function loadEnd(e) { bar.max = e.total; bar.value = e.loaded; }, completeAll: function completeAll(_ref) { var responseText = _ref.responseText; _this.load().then(function () { return bar.setAttribute('hidden', 'hidden'); }); try { (0, _jquery2.default)(responseText).find('.alert-message').each(function (_, el) { return _this.$notify((0, _jquery2.default)(el).text(), (0, _jquery2.default)(el).closest('.alert-success').length ? 'success' : 'danger'); }); } catch (e) { _this.$notify(responseText, 'danger'); } } }); }, watch: { path: function path() { this.load(); this.search = ''; }, search: function search() { var _this2 = this; this.selected = (0, _filter4.default)(this.selected, function (name) { return (0, _find4.default)(_this2.searched, { name: name }); }); }, selected: function selected(_selected) { var _this3 = this; this.$emit('selected', _selected.map(function (name) { return (0, _find4.default)(_this3.items, { name: name }).url; })); } }, computed: { breadcrumbs: function breadcrumbs() { var path = '', crumbs = [{ path: '/', title: this.$trans('Home') }].concat(this.path.split('/').filter(function (str) { return str.length; }).map(function (part) { return { path: path += '/' + part, title: part }; })); crumbs[crumbs.length - 1].current = true; return crumbs; }, searched: function searched() { var _this4 = this; return (0, _filter4.default)(this.items, function (file) { return !_this4.search || ~file.name.toLowerCase().indexOf(_this4.search.toLowerCase()); }); }, count: function count() { return this.searched.length; }, resource: function resource() { var _this5 = this; var base = window.$customizer.root + '/index.php?option=com_media&asset=com_media', url = function url(data, token) { if (token) { data[_this5.token] = 1; } return base + '&' + _jquery2.default.param(data); }; return { url: url, get: function get(data, success) { return _this5.$http.get(url(data)).then(success); }, post: function post(data, success) { data[_this5.token] = 1; return _this5.$http.post(base, data, { emulateJSON: true }).then(success); } }; } }, methods: { /** * API */ setView: function setView(view) { this.view = _storage2.default[storageView] = view; }, setPath: function setPath(path) { this.path = _storage2.default[storagePath] = path; }, getPath: function getPath() { return this.path; }, getFullPath: function getFullPath() { return (this.getRoot() + this.getPath()).replace(/^\/+|\/+$/g, '') + '/'; }, getRoot: function getRoot() { return this.root.replace(/^\/+|\/+$/g, ''); }, removeSelection: function removeSelection() { this.selected = []; }, toggleSelect: function toggleSelect(name) { var index = this.selected.indexOf(name); ~index ? this.selected.splice(index, 1) : this.selected.push(name); }, isSelected: function isSelected(name) { return name && ~this.selected.indexOf(name.toString()); }, createFolder: function createFolder() { var _this6 = this; _uikit.modal.prompt(this.$trans('Folder Name'), '', { stack: true }).then(function (name) { if (name) { _this6.command('folder.create', { foldername: name, folderbase: _this6.path }); } }); }, remove: function remove(names) { if (names.target) { names = this.selected; } if (names) { this.command('folder.delete', { folder: this.path, rm: names }); } }, /** * Helper functions */ encodeURI: function (_encodeURI) { function encodeURI(_x) { return _encodeURI.apply(this, arguments); } encodeURI.toString = function () { return _encodeURI.toString(); }; return encodeURI; }(function (url) { return encodeURI(url).replace(/'/g, '%27'); }), isImage: function isImage(url) { return url.match(/\.(?:gif|jpe?g|png|svg|ico)$/i); }, isVideo: function isVideo(url) { return url.match(/\.(mpeg|ogv|mp4|webm|wmv)$/i); }, command: function command(cmd, params) { var _this7 = this; return this.resource.post(_jquery2.default.extend({ task: cmd }, params)).then(function (_ref2) { var body = _ref2.body; var msg = (0, _jquery2.default)(body).find('.alert'); msg.find('.alert-message').length && _this7.$notify(msg.find('.alert-message').text(), msg.hasClass('alert-success') ? '' : 'danger'); _this7.load(); }, function (_ref3) { var body = _ref3.body, status = _ref3.status; if (body.indexOf('<!DOCTYPE') !== 0) { _this7.$notify(status === 500 ? 'Unknown error.' : body, 'danger'); } _this7.load(); }); }, load: function load() { var _this8 = this; return this.$http.get('finder', { params: { folder: this.path } }).then(function (_ref4) { var data = _ref4.data; _this8.items = data; _this8.selected = []; }, function () { return _this8.$notify('Unable to access directory.', 'danger'); }); } }, partials: { table: _table2.default, thumbnail: _thumbnail2.default } }; // </script> /***/ }), /***/ 554: /***/ (function(module, exports) { module.exports = "<table class=\"uk-table uk-table-divider uk-table-hover uk-table-middle\">\n <thead>\n <th class=\"uk-table-shrink\"><input class=\"uk-checkbox\" type=\"checkbox\" v-check-all:selected.literal=\"input[name=name]\"></th>\n <th colspan=\"2\">{{ $trans('Name') }}</th>\n <th class=\"uk-table-shrink uk-text-center\">{{ $trans('Size') }}</th>\n </thead>\n <tbody>\n\n <tr v-for=\"folder in searched | filterBy 'folder' in 'type'\" class=\"uk-visible-hover\" :class=\"{'uk-active': isSelected(folder.name)}\" @click.prevent=\"toggleSelect(folder.name)\">\n <td><input class=\"uk-checkbox\" type=\"checkbox\" name=\"name\" :value=\"folder.name\" v-model=\"selected\" @click.stop></td>\n <td class=\"uk-table-shrink\">\n <span class=\"uk-preserve-width\" uk-icon=\"finder-folder\"></span>\n </td>\n <td class=\"uk-table-expand uk-text-break\"><a @click.stop=\"setPath(folder.path)\">{{ folder.name }}</a></td>\n <td></td>\n </tr>\n\n <tr v-for=\"file in searched | filterBy 'file' in 'type'\" class=\"uk-visible-hover\" :class=\"{'uk-active': isSelected(file.name)}\" @click.prevent=\"toggleSelect(file.name)\">\n <td><input class=\"uk-checkbox\" type=\"checkbox\" name=\"name\" :value=\"file.name\" v-model=\"selected\" @click.stop></td>\n <td class=\"uk-table-shrink\">\n <span v-if=\"isImage(file.url)\" class=\"uk-icon uk-icon-image\" v-lazy-background=\"$url(file.url)\"></span>\n <span uk-icon=\"finder-file\" v-else></span>\n </td>\n <td class=\"uk-table-expand uk-text-break\">{{ file.name }}</td>\n <td class=\"uk-text-right uk-text-nowrap\">{{ file.size }}</td>\n </tr>\n\n </tbody>\n</table>\n"; /***/ }), /***/ 555: /***/ (function(module, exports) { module.exports = "<ul v-if=\"items.length\" class=\"uk-grid-medium uk-grid-match uk-child-width-1-2@s uk-child-width-1-3@l uk-child-width-1-4@xl\" uk-grid>\n\n <li v-for=\"folder in searched | filterBy 'folder' in 'type'\">\n <div class=\"uk-card uk-card-default uk-card-small\" @click.prevent=\"toggleSelect(folder.name)\">\n <div class=\"uk-card-media-top uk-position-relative\">\n <div class=\"uk-background-cover uk-position-cover yo-finder-thumbnail-folder\"></div>\n <canvas width=\"800\" height=\"550\"></canvas>\n </div>\n <div class=\"uk-card-body uk-text-center uk-text-truncate uk-text-nowrap\">\n <input class=\"uk-checkbox\" type=\"checkbox\" :value=\"folder.name\" v-model=\"selected\" @click.stop>\n <a @click.stop=\"setPath(folder.path, $event)\">{{ folder.name }}</a>\n </div>\n </div>\n </li>\n\n <li v-for=\"file in searched | filterBy 'file' in 'type'\">\n <div class=\"uk-card uk-card-default uk-card-small\" @click.prevent=\"toggleSelect(file.name)\">\n <div class=\"uk-card-media-top uk-position-relative\">\n <div class=\"uk-background-contain uk-position-cover\" v-if=\"isImage(file.path)\" v-lazy-background=\"$url(file.url)\"></div>\n <div class=\"uk-background-cover uk-position-cover yo-finder-thumbnail-file\" v-else></div>\n <canvas width=\"800\" height=\"550\"></canvas>\n </div>\n <div class=\"uk-card-body uk-text-center uk-text-truncate uk-text-nowrap\">\n <input class=\"uk-checkbox\" type=\"checkbox\" :value=\"file.name\" v-model=\"selected\" @click.stop>\n {{ file.name }}\n </div>\n </div>\n </li>\n\n</ul>\n"; /***/ }), /***/ 556: /***/ (function(module, exports) { module.exports = "\n\n<div v-show=\"items\">\n\n <div class=\"uk-child-width-auto uk-flex-between uk-flex-middle\" uk-grid>\n <div>\n\n <div class=\"uk-grid-small uk-child-width-auto uk-flex-middle\" uk-grid>\n <div>\n\n <h2 class=\"uk-modal-title uk-margin-remove\" v-show=\"!selected.length\">{{ $transChoice('{0} %count% Files|{1} %count% File|]1,Inf[ %count% Files', count, {count: count}) }}</h2>\n <h2 class=\"uk-modal-title uk-margin-remove\" v-else>{{ $transChoice('{1} %count% File selected|]1,Inf[ %count% Files selected', selected.length, {count: selected.length}) }}</h2>\n\n </div>\n <div v-show=\"selected.length && canDelete\">\n\n <a class=\"uk-icon-link\" :title=\"$trans('Delete')\" uk-icon=\"trash\" uk-tooltip=\"delay: 500\" @click.prevent=\"remove\" v-confirm=\"$trans('Delete files?')\"></a>\n\n </div>\n <div>\n\n <div class=\"yo-finder-search\">\n <form class=\"uk-search uk-search-navbar\">\n <span uk-search-icon></span>\n <input class=\"uk-search-input\" type=\"search\" v-model=\"search\">\n </form>\n </div>\n\n </div>\n </div>\n\n </div>\n <div>\n\n <div class=\"uk-grid-medium uk-child-width-auto uk-flex-middle\" uk-grid>\n <div>\n\n <ul class=\"uk-grid-small uk-child-width-auto\" uk-grid>\n <li :class=\"{'uk-active': view == 'table'}\">\n <a class=\"uk-icon-link\" :title=\"$trans('Table')\" uk-icon=\"table\" uk-tooltip=\"delay: 500\" @click.prevent=\"setView('table')\"></a>\n </li>\n <li class=\"{'uk-active': view == 'thumbnail'}\">\n <a class=\"uk-icon-link\" :title=\"$trans('Thumbnails')\" uk-icon=\"thumbnails\" uk-tooltip=\"delay: 500\" @click.prevent=\"setView('thumbnail')\"></a>\n </li>\n </ul>\n\n </div>\n <div v-show=\"canCreate\">\n\n <button class=\"uk-button uk-button-default uk-margin-small-right\" @click.prevent=\"createFolder()\">{{ $trans('Add Folder') }}</button>\n\n <div uk-form-custom>\n <input type=\"file\" name=\"files[]\" multiple=\"multiple\">\n <button class=\"uk-button uk-button-default\">{{ $trans('Upload') }}</button>\n </div>\n\n </div>\n </div>\n\n </div>\n </div>\n\n <ul class=\"uk-breadcrumb\">\n <li v-for=\"bc in breadcrumbs\" :class=\"{'uk-active': bc.current}\">\n <span v-show=\"bc.current\">{{ bc.title }}</span>\n <a v-else @click.prevent=\"setPath(bc.path)\">{{ bc.title }}</a>\n </li>\n </ul>\n\n <progress class=\"uk-progress uk-margin-remove\" hidden=\"hidden\" v-el:bar></progress>\n\n <div class=\"yo-finder-body\" uk-overflow-auto v-if=\"count\">\n <partial :name=\"view\"></partial>\n </div>\n\n <h3 class=\"uk-h1 uk-text-muted uk-text-center\" v-else>{{ $trans('No files found.') }}</h3>\n\n</div>\n\n"; /***/ }), /***/ 557: /***/ (function(module, exports, __webpack_require__) { var __vue_script__, __vue_template__ var __vue_styles__ = {} __vue_script__ = __webpack_require__(558) if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) { console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/unsplash.vue: named exports in *.vue files are ignored.")} __vue_template__ = __webpack_require__(560) module.exports = __vue_script__ || {} if (module.exports.__esModule) module.exports = module.exports.default var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports if (__vue_template__) { __vue_options__.template = __vue_template__ } if (!__vue_options__.computed) __vue_options__.computed = {} Object.keys(__vue_styles__).forEach(function (key) { var module = __vue_styles__[key] __vue_options__.computed[key] = function () { return module } }) if (false) {(function () { module.hot.accept() var hotAPI = require("vue-hot-reload-api") hotAPI.install(require("vue"), false) if (!hotAPI.compatible) return var id = "_v-50231b3f/unsplash.vue" if (!module.hot.data) { hotAPI.createRecord(id, module.exports) } else { hotAPI.update(id, module.exports, __vue_template__) } })()} /***/ }), /***/ 558: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _unsplash = __webpack_require__(152); var _unsplash2 = _interopRequireDefault(_unsplash); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _unsplash2.default; // </script> // <template> // // <div class="yo-min-height-small uk-position-relative"> // // <div class="uk-child-width-auto uk-flex-between uk-flex-middle uk-margin" uk-grid> // <div> // // <div class="uk-grid-small uk-child-width-auto uk-flex-middle" uk-grid> // <div> // // <h2 class="uk-modal-title uk-margin-remove">{{ title }}</h2> // // </div> // <div> // // <div class="yo-finder-search"> // <div class="uk-search uk-search-navbar"> // <span uk-search-icon></span> // <input class="uk-search-input" type="search" v-model="search" @keydown.enter="reset()" debounce="500"> // </div> // </div> // // </div> // </div> // // </div> // <div> // // <ul class="uk-subnav uk-subnav-divider uk-flex-center uk-margin" uk-margin> // <li :class="{'uk-active': type === 'photos' && !user && !collection}"><a href @click.prevent="reset('photos')">{{ $trans('Photos') }}</a></li> // <li :class="{'uk-active': type === 'collections' && !user || collection}"><a href @click.prevent="reset('collections')">{{ $trans('Collections') }}</a></li> // <li :class="{'uk-active': type === 'users' && !collection || user}"><a href @click.prevent="reset('users')">{{ $trans('Users') }}</a></li> // </ul> // // </div> // </div> // // <div v-if="result.collection" class="uk-margin"> // <h3 class="uk-display-inline-block uk-margin-remove">{{ result.collection.title }}</h3> // <span class="uk-margin-left" @click.prevent="user = result.collection.user">{{{ $trans('Curated by &lt;a&gt;%user%&lt;/a&gt;', {user: result.collection.user.name}) }}}</span> // </div> // // <div v-if="result.user" class="uk-grid uk-grid-medium uk-child-width-auto uk-flex-middle uk-margin"> // <div> // // <div class="uk-flex uk-flex-middle"> // <img class="uk-border-circle" :data-src="result.user.image" width="30" height="30" alt="{{ result.user.name }}" uk-img> // <h3 class="uk-h4 uk-margin-remove-vertical uk-margin-small-left">{{ result.user.name }}</h3> // </div> // // </div> // <div> // // <ul class="uk-subnav"> // <li :class="{'uk-active': type === 'photos'}"><a href @click.prevent="type = 'photos'">{{ $trans('Photos') }}</a></li> // <li :class="{'uk-active': type === 'collections'}"><a href @click.prevent="type = 'collections'">{{ $trans('Collections') }}</a></li> // </ul> // // </div> // </div> // // <div class="yo-finder-body" uk-overflow-auto v-show="result && result.total" v-el:scroll> // // <div :style="{opacity: spinner ? .3 : 1}"> // // <ul class="uk-grid uk-grid-medium" :class="{'uk-child-width-1-2@s uk-child-width-1-3@m uk-child-width-1-4@l uk-child-width-1-5@xl': result.users, 'uk-child-width-1-2@s uk-child-width-1-3@m': !(result.users)}" :masonry="(result.type === 'photos').toString()" uk-grid> // <li v-for="photo in result.photos" track-by="id"> // // <div class="uk-inline uk-box-shadow-medium uk-box-shadow-hover-large uk-transition-toggle uk-light"> // // <img :data-src="photo.urls.regular" :data-srcset="photo.urls.raw+'&auto=format&fit=crop&w=600&q=60 600w, '+photo.urls.raw+'&auto=format&fit=crop&w=1200&q=60 1200w'" :data-width="photo.width" sizes="(min-width: 600px) 600px" :data-height="photo.height" uk-img> // // <div class="yo-overlay-image uk-position-cover uk-transition-fade"></div> // // <a class="uk-position-cover" href @click.prevent="select(photo)"></a> // // <div class="uk-position-bottom-left uk-position-small uk-transition-fade"> // <ul class="uk-subnav uk-subnav-divider yo-subnav uk-margin-remove"> // <li> // <img class="uk-border-circle" :data-src="photo.user.image" width="30" height="30" alt="{{ photo.user.name }}" uk-img> // <a class="uk-margin-small-left" :href="photo.user.link" target="_blank">{{ photo.user.name }}</a> // </li> // <li><a href @click.prevent="user = photo.user">{{ $trans('View Photos') }}</a></li> // </ul> // </div> // // </div> // // </li> // <li v-for="coll in result.collections" track-by="id"> // // <div class="uk-inline-clip uk-box-shadow-medium uk-box-shadow-hover-large uk-transition-toggle"> // // <div class="uk-grid yo-grid-xsmall uk-grid-match"> // <div class="uk-width-2-3"> // <div class="uk-panel uk-overflow-hidden"> // <img :src="coll.previewPhotos[0].regular" :srcset="coll.previewPhotos[0].raw+'&auto=format&fit=crop&w=600&q=60 600w, '+coll.previewPhotos[0].raw+'&auto=format&fit=crop&w=1200&q=60 1200w'" sizes="(min-width: 600px) 600px" uk-cover> // </div> // </div> // <div class="uk-width-1-3"> // // <div class="uk-grid yo-grid-xsmall yo-grid-xsmall-stack uk-child-width-1-1"> // <div> // <div class="uk-panel uk-overflow-hidden"> // <canvas width="500" height="600"></canvas> // <img :src="coll.previewPhotos[1].small" uk-cover v-if="coll.previewPhotos[1]"> // </div> // </div> // <div> // <div class="uk-panel uk-overflow-hidden"> // <canvas width="500" height="600"></canvas> // <img :src="coll.previewPhotos[2].small" uk-cover v-if="coll.previewPhotos[2]"> // </div> // </div> // </div> // // </div> // </div> // // <a class="uk-position-cover" href="#" @click.prevent="collection = coll"></a> // // </div> // // <h3 class="uk-h4 uk-margin-top uk-margin-remove-bottom">{{ coll.title }}</h3> // <span @click.prevent="user = coll.user">{{ $transChoice('{0} %total% Photos|{1} %total% Photo|]1, Inf[ %total% Photos', coll.totalPhotos, {total: coll.totalPhotos}) }} · {{{ $trans('Curated by &lt;a&gt;%user%&lt;/a&gt;', {user: coll.user.name}) }}}</span> // // </li> // <li v-for="u in result.users" track-by="id"> // // <a class="uk-grid uk-grid-small uk-flex-middle uk-link-text" href @click.prevent="user = u"> // <div class="uk-width-auto"> // // <img class="uk-border-circle" :data-src="u.image" width="80" height="80" alt="{{ u.name }}" uk-img> // // </div> // <div class="uk-width-expand"> // // <h3 class="uk-h4 uk-margin-remove uk-text-break">{{ u.name }}</h3> // <p class="uk-margin-remove-top uk-text-break">{{ `@${u.username}` }}</p> // </div> // </a> // // </li> // </ul> // // </div> // // </div> // // <h3 class="uk-h1 uk-text-danger uk-text-center" v-if="error">{{ $trans(error) }}</h3> // // <div class="uk-position-center" v-if="spinner" uk-spinner="ratio: 1.5"></div> // // <h3 class="uk-h1 uk-text-muted uk-text-center" v-if="!spinner && result && !result.total">{{ $trans('No results.') }}</h3> // // </div> // // </template> // // <script> /***/ }), /***/ 560: /***/ (function(module, exports) { module.exports = "\n\n<div class=\"yo-min-height-small uk-position-relative\">\n\n <div class=\"uk-child-width-auto uk-flex-between uk-flex-middle uk-margin\" uk-grid>\n <div>\n\n <div class=\"uk-grid-small uk-child-width-auto uk-flex-middle\" uk-grid>\n <div>\n\n <h2 class=\"uk-modal-title uk-margin-remove\">{{ title }}</h2>\n\n </div>\n <div>\n\n <div class=\"yo-finder-search\">\n <div class=\"uk-search uk-search-navbar\">\n <span uk-search-icon></span>\n <input class=\"uk-search-input\" type=\"search\" v-model=\"search\" @keydown.enter=\"reset()\" debounce=\"500\">\n </div>\n </div>\n\n </div>\n </div>\n\n </div>\n <div>\n\n <ul class=\"uk-subnav uk-subnav-divider uk-flex-center uk-margin\" uk-margin>\n <li :class=\"{'uk-active': type === 'photos' && !user && !collection}\"><a href @click.prevent=\"reset('photos')\">{{ $trans('Photos') }}</a></li>\n <li :class=\"{'uk-active': type === 'collections' && !user || collection}\"><a href @click.prevent=\"reset('collections')\">{{ $trans('Collections') }}</a></li>\n <li :class=\"{'uk-active': type === 'users' && !collection || user}\"><a href @click.prevent=\"reset('users')\">{{ $trans('Users') }}</a></li>\n </ul>\n\n </div>\n </div>\n\n <div v-if=\"result.collection\" class=\"uk-margin\">\n <h3 class=\"uk-display-inline-block uk-margin-remove\">{{ result.collection.title }}</h3>\n <span class=\"uk-margin-left\" @click.prevent=\"user = result.collection.user\">{{{ $trans('Curated by &lt;a&gt;%user%&lt;/a&gt;', {user: result.collection.user.name}) }}}</span>\n </div>\n\n <div v-if=\"result.user\" class=\"uk-grid uk-grid-medium uk-child-width-auto uk-flex-middle uk-margin\">\n <div>\n\n <div class=\"uk-flex uk-flex-middle\">\n <img class=\"uk-border-circle\" :data-src=\"result.user.image\" width=\"30\" height=\"30\" alt=\"{{ result.user.name }}\" uk-img>\n <h3 class=\"uk-h4 uk-margin-remove-vertical uk-margin-small-left\">{{ result.user.name }}</h3>\n </div>\n\n </div>\n <div>\n\n <ul class=\"uk-subnav\">\n <li :class=\"{'uk-active': type === 'photos'}\"><a href @click.prevent=\"type = 'photos'\">{{ $trans('Photos') }}</a></li>\n <li :class=\"{'uk-active': type === 'collections'}\"><a href @click.prevent=\"type = 'collections'\">{{ $trans('Collections') }}</a></li>\n </ul>\n\n </div>\n </div>\n\n <div class=\"yo-finder-body\" uk-overflow-auto v-show=\"result && result.total\" v-el:scroll>\n\n <div :style=\"{opacity: spinner ? .3 : 1}\">\n\n <ul class=\"uk-grid uk-grid-medium\" :class=\"{'uk-child-width-1-2@s uk-child-width-1-3@m uk-child-width-1-4@l uk-child-width-1-5@xl': result.users, 'uk-child-width-1-2@s uk-child-width-1-3@m': !(result.users)}\" :masonry=\"(result.type === 'photos').toString()\" uk-grid>\n <li v-for=\"photo in result.photos\" track-by=\"id\">\n\n <div class=\"uk-inline uk-box-shadow-medium uk-box-shadow-hover-large uk-transition-toggle uk-light\">\n\n <img :data-src=\"photo.urls.regular\" :data-srcset=\"photo.urls.raw+'&auto=format&fit=crop&w=600&q=60 600w, '+photo.urls.raw+'&auto=format&fit=crop&w=1200&q=60 1200w'\" :data-width=\"photo.width\" sizes=\"(min-width: 600px) 600px\" :data-height=\"photo.height\" uk-img>\n\n <div class=\"yo-overlay-image uk-position-cover uk-transition-fade\"></div>\n\n <a class=\"uk-position-cover\" href @click.prevent=\"select(photo)\"></a>\n\n <div class=\"uk-position-bottom-left uk-position-small uk-transition-fade\">\n <ul class=\"uk-subnav uk-subnav-divider yo-subnav uk-margin-remove\">\n <li>\n <img class=\"uk-border-circle\" :data-src=\"photo.user.image\" width=\"30\" height=\"30\" alt=\"{{ photo.user.name }}\" uk-img>\n <a class=\"uk-margin-small-left\" :href=\"photo.user.link\" target=\"_blank\">{{ photo.user.name }}</a>\n </li>\n <li><a href @click.prevent=\"user = photo.user\">{{ $trans('View Photos') }}</a></li>\n </ul>\n </div>\n\n </div>\n\n </li>\n <li v-for=\"coll in result.collections\" track-by=\"id\">\n\n <div class=\"uk-inline-clip uk-box-shadow-medium uk-box-shadow-hover-large uk-transition-toggle\">\n\n <div class=\"uk-grid yo-grid-xsmall uk-grid-match\">\n <div class=\"uk-width-2-3\">\n <div class=\"uk-panel uk-overflow-hidden\">\n <img :src=\"coll.previewPhotos[0].regular\" :srcset=\"coll.previewPhotos[0].raw+'&auto=format&fit=crop&w=600&q=60 600w, '+coll.previewPhotos[0].raw+'&auto=format&fit=crop&w=1200&q=60 1200w'\" sizes=\"(min-width: 600px) 600px\" uk-cover>\n </div>\n </div>\n <div class=\"uk-width-1-3\">\n\n <div class=\"uk-grid yo-grid-xsmall yo-grid-xsmall-stack uk-child-width-1-1\">\n <div>\n <div class=\"uk-panel uk-overflow-hidden\">\n <canvas width=\"500\" height=\"600\"></canvas>\n <img :src=\"coll.previewPhotos[1].small\" uk-cover v-if=\"coll.previewPhotos[1]\">\n </div>\n </div>\n <div>\n <div class=\"uk-panel uk-overflow-hidden\">\n <canvas width=\"500\" height=\"600\"></canvas>\n <img :src=\"coll.previewPhotos[2].small\" uk-cover v-if=\"coll.previewPhotos[2]\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <a class=\"uk-position-cover\" href=\"#\" @click.prevent=\"collection = coll\"></a>\n\n </div>\n\n <h3 class=\"uk-h4 uk-margin-top uk-margin-remove-bottom\">{{ coll.title }}</h3>\n <span @click.prevent=\"user = coll.user\">{{ $transChoice('{0} %total% Photos|{1} %total% Photo|]1, Inf[ %total% Photos', coll.totalPhotos, {total: coll.totalPhotos}) }} · {{{ $trans('Curated by &lt;a&gt;%user%&lt;/a&gt;', {user: coll.user.name}) }}}</span>\n\n </li>\n <li v-for=\"u in result.users\" track-by=\"id\">\n\n <a class=\"uk-grid uk-grid-small uk-flex-middle uk-link-text\" href @click.prevent=\"user = u\">\n <div class=\"uk-width-auto\">\n\n <img class=\"uk-border-circle\" :data-src=\"u.image\" width=\"80\" height=\"80\" alt=\"{{ u.name }}\" uk-img>\n\n </div>\n <div class=\"uk-width-expand\">\n\n <h3 class=\"uk-h4 uk-margin-remove uk-text-break\">{{ u.name }}</h3>\n <p class=\"uk-margin-remove-top uk-text-break\">{{ `@${u.username}` }}</p>\n </div>\n </a>\n\n </li>\n </ul>\n\n </div>\n\n </div>\n\n <h3 class=\"uk-h1 uk-text-danger uk-text-center\" v-if=\"error\">{{ $trans(error) }}</h3>\n\n <div class=\"uk-position-center\" v-if=\"spinner\" uk-spinner=\"ratio: 1.5\"></div>\n\n <h3 class=\"uk-h1 uk-text-muted uk-text-center\" v-if=\"!spinner && result && !result.total\">{{ $trans('No results.') }}</h3>\n\n</div>\n\n"; /***/ }), /***/ 561: /***/ (function(module, exports) { module.exports = "\n\n<div>\n\n <modal container keepalive v-ref:modal>\n\n <div class=\"uk-modal-header\">\n\n <ul uk-tab=\"connect: !div +ul; animation: uk-animation-fade\" :active=\"initial\">\n <li><a href>{{ $trans('Files') }}</a></li>\n <li v-if=\"showUnsplash\"><a href>Unsplash</a></li>\n </ul>\n\n </div>\n\n <ul class=\"uk-switcher\">\n <li @show=\"mode('finder')\">\n\n <div class=\"uk-modal-body\">\n <Finder @selected=\"update\"></Finder>\n </div>\n\n <div class=\"uk-modal-footer uk-text-right\">\n <button class=\"uk-button uk-button-text uk-modal-close uk-margin-right\" type=\"button\">{{ $trans('Cancel') }}</button>\n <button class=\"uk-button uk-button-primary\" type=\"button\" :disabled=\"!hasSelection\" @click.prevent=\"select(files)\">{{ $trans('Select') }}</button>\n </div>\n\n </li>\n <li v-if=\"showUnsplash\" @show=\"mode('unsplash')\">\n\n <div class=\"uk-modal-body\">\n <Unsplash @selected=\"select\"></Unsplash>\n </div>\n\n </li>\n </ul>\n\n </modal>\n\n</div>\n\n"; /***/ }), /***/ 562: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _merge3 = __webpack_require__(6); var _merge4 = _interopRequireDefault(_merge3); var _get3 = __webpack_require__(17); var _get4 = _interopRequireDefault(_get3); var _vue = __webpack_require__(3); var _vue2 = _interopRequireDefault(_vue); var _jquery = __webpack_require__(2); var _jquery2 = _interopRequireDefault(_jquery); var _editorVisual = __webpack_require__(153); var _editorVisual2 = _interopRequireDefault(_editorVisual); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } if (window.tinyMCE && !window.WFEditor) { var getToken = function getToken() { return $customizer.token ? $customizer.token + '=1' : ''; }; window.jSelectArticle = window.jSelectArticle || function (id, title, catid, object, link, lang) { jInsertEditorText('<a' + (lang ? ' hreflang = "' + lang + '"' : '') + ' href="' + link + '">' + title + '</a>', 'jform_articletext'); jModalClose(); }; tinyMCE.PluginManager.add('jModuleButton', function (editor) { return editor.addButton('button-0Module', { text: _vue2.default.Translator.trans('Module'), title: _vue2.default.Translator.trans('Module'), icon: 'none icon-file-add', onclick: function onclick() { return editor.windowManager.open({ title: _vue2.default.Translator.trans('Module'), url: 'index.php?option=com_modules&view=modules&layout=modal&tmpl=component&editor=dummy_editor&' + getToken(), buttons: [{ text: _vue2.default.Translator.trans('Close'), onclick: 'close' }], width: 800, height: 500 }); } }); }); tinyMCE.PluginManager.add('jArticleButton', function (editor) { return editor.addButton('button-1Article', { text: _vue2.default.Translator.trans('Article'), title: _vue2.default.Translator.trans('Article'), icon: 'none icon-file-add', onclick: function onclick() { return editor.windowManager.open({ title: _vue2.default.Translator.trans('Article'), url: 'index.php?option=com_content&view=articles&layout=modal&tmpl=component&editor=dummy_editor&' + getToken(), buttons: [{ text: _vue2.default.Translator.trans('Close'), onclick: 'close' }], width: 800, height: 500 }); } }); }); tinyMCE.PluginManager.add('jImageButton', function (editor) { return editor.addButton('button-2Image', { text: _vue2.default.Translator.trans('Image'), title: _vue2.default.Translator.trans('Image'), icon: 'none icon-pictures', onclick: function onclick() { return editor.windowManager.open({ title: _vue2.default.Translator.trans('Image'), url: 'index.php?option=com_media&view=images&tmpl=component&asset=com_content&editor=dummy_editor&' + getToken(), buttons: [{ text: _vue2.default.Translator.trans('Close'), onclick: 'close' }], width: 800, height: 500 }); } }); }); // Joomla >= 3.7 if (Joomla.getOptions) { window.jInsertEditorText = function (text, editor) { tinyMCE.activeEditor.execCommand('mceInsertContent', false, text); }; tinyMCE.PluginManager.add('jMenuButton', function (editor) { return editor.addButton('button-3Menu', { text: _vue2.default.Translator.trans('Menu'), title: _vue2.default.Translator.trans('Menu'), icon: 'none icon-share-alt', onclick: function onclick() { return editor.windowManager.open({ title: _vue2.default.Translator.trans('Menu'), url: 'index.php?option=com_menus&view=items&layout=modal&tmpl=component&editor=dummy_editor&' + getToken(), buttons: [{ text: _vue2.default.Translator.trans('Close'), onclick: 'close' }], width: 800, height: 500 }); } }); }); tinyMCE.PluginManager.add('jContactButton', function (editor) { return editor.addButton('button-4Contact', { text: _vue2.default.Translator.trans('Contact'), title: _vue2.default.Translator.trans('Contact'), icon: 'none icon-address', onclick: function onclick() { return editor.windowManager.open({ title: _vue2.default.Translator.trans('Contact'), url: 'index.php?option=com_contact&view=contacts&layout=modal&tmpl=component&editor=dummy_editor&' + getToken(), buttons: [{ text: _vue2.default.Translator.trans('Close'), onclick: 'close' }], width: 800, height: 500 }); } }); }); } } /* global jInsertEditorText, jModalClose, jSelectArticle, $customizer */ exports.default = { extends: _editorVisual2.default, attached: function attached() { this.settings = (0, _merge4.default)({}, // default settings Joomla >= 3.7 Joomla.getOptions && (0, _get4.default)(Joomla.getOptions('plg_editor_tinymce', {}), 'tinyMCE.default') // default settings Joomla < 3.7 || (window.tinyMCE || window.WFEditor).settings); if (window.WFEditor) { (0, _jquery2.default)('#' + this.id).after('<input type="hidden" id="wf_' + this.id + '_token" value="' + Math.random() + '">'); } else { if (!~this.settings.toolbar1.indexOf('button-1Article')) { this.settings.toolbar1 += ' | button-0Module% | button-1Article | button-2Image'.replace('%', Joomla.getOptions ? ' | button-3Menu | button-4Contact' : ''); } if (!~this.settings.plugins.indexOf('jArticleButton')) { this.settings.plugins += ' jModuleButton% jArticleButton jImageButton'.replace('%', Joomla.getOptions ? ' jMenuButton jContactButton' : ''); } } } }; /***/ }), /***/ 565: /***/ (function(module, exports) { module.exports = "\n\n<div class=\"yo-customizer\">\n <sidebar :config=\"config\" :panels=\"panels\" :sections=\"filteredSections\"></sidebar>\n <preview :src=\"site\"></preview>\n</div>\n\n"; /***/ }) },[517]);