1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-25 08:09:43 +02:00

WIP vendored dep upgrades

This commit is contained in:
Harvey Kandola 2018-01-19 11:36:38 +00:00
parent 5f59e95495
commit 6409ad0d63
190 changed files with 64265 additions and 109666 deletions

799
gui/public/tinymce/plugins/importcss/plugin.js Executable file → Normal file
View file

@ -1,577 +1,264 @@
(function () {
var importcss = (function () {
'use strict';
var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
var PluginManager = tinymce.util.Tools.resolve('tinymce.PluginManager');
// Used when there is no 'main' module.
// The name is probably (hopefully) unique so minification removes for releases.
var register_3795 = function (id) {
var module = dem(id);
var fragments = id.split('.');
var target = Function('return this;')();
for (var i = 0; i < fragments.length - 1; ++i) {
if (target[fragments[i]] === undefined)
target[fragments[i]] = {};
target = target[fragments[i]];
}
target[fragments[fragments.length - 1]] = module;
};
var DOMUtils = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var instantiate = function (id) {
var actual = defs[id];
var dependencies = actual.deps;
var definition = actual.defn;
var len = dependencies.length;
var instances = new Array(len);
for (var i = 0; i < len; ++i)
instances[i] = dem(dependencies[i]);
var defResult = definition.apply(null, instances);
if (defResult === undefined)
throw 'module [' + id + '] returned undefined';
actual.instance = defResult;
};
var EditorManager = tinymce.util.Tools.resolve('tinymce.EditorManager');
var def = function (id, dependencies, definition) {
if (typeof id !== 'string')
throw 'module id must be a string';
else if (dependencies === undefined)
throw 'no dependencies for ' + id;
else if (definition === undefined)
throw 'no definition function for ' + id;
defs[id] = {
deps: dependencies,
defn: definition,
instance: undefined
var Env = tinymce.util.Tools.resolve('tinymce.Env');
var Tools = tinymce.util.Tools.resolve('tinymce.util.Tools');
var shouldMergeClasses = function (editor) {
return editor.getParam('importcss_merge_classes');
};
var shouldImportExclusive = function (editor) {
return editor.getParam('importcss_exclusive');
};
var getSelectorConverter = function (editor) {
return editor.getParam('importcss_selector_converter');
};
var getSelectorFilter = function (editor) {
return editor.getParam('importcss_selector_filter');
};
var getCssGroups = function (editor) {
return editor.getParam('importcss_groups');
};
var shouldAppend = function (editor) {
return editor.getParam('importcss_append');
};
var getFileFilter = function (editor) {
return editor.getParam('importcss_file_filter');
};
var $_dcc7fvdvjcg89ctt = {
shouldMergeClasses: shouldMergeClasses,
shouldImportExclusive: shouldImportExclusive,
getSelectorConverter: getSelectorConverter,
getSelectorFilter: getSelectorFilter,
getCssGroups: getCssGroups,
shouldAppend: shouldAppend,
getFileFilter: getFileFilter
};
};
var dem = function (id) {
var actual = defs[id];
if (actual === undefined)
throw 'module [' + id + '] was undefined';
else if (actual.instance === undefined)
instantiate(id);
return actual.instance;
};
var req = function (ids, callback) {
var len = ids.length;
var instances = new Array(len);
for (var i = 0; i < len; ++i)
instances[i] = dem(ids[i]);
callback.apply(null, instances);
};
var ephox = {};
ephox.bolt = {
module: {
api: {
define: def,
require: req,
demand: dem
var removeCacheSuffix = function (url) {
var cacheSuffix = Env.cacheSuffix;
if (typeof url === 'string') {
url = url.replace('?' + cacheSuffix, '').replace('&' + cacheSuffix, '');
}
}
};
var define = def;
var require = req;
var demand = dem;
// this helps with minification when using a lot of global references
var defineGlobal = function (id, ref) {
define(id, [], function () { return ref; });
};
/*jsc
["tinymce.plugins.importcss.Plugin","tinymce.core.PluginManager","tinymce.plugins.importcss.api.Api","tinymce.plugins.importcss.core.ImportCss","global!tinymce.util.Tools.resolve","tinymce.core.dom.DOMUtils","tinymce.core.EditorManager","tinymce.core.Env","tinymce.core.util.Tools","tinymce.plugins.importcss.api.Settings"]
jsc*/
defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
/**
* ResolveGlobal.js
*
* Released under LGPL License.
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
*
* License: http://www.tinymce.com/license
* Contributing: http://www.tinymce.com/contributing
*/
define(
'tinymce.core.PluginManager',
[
'global!tinymce.util.Tools.resolve'
],
function (resolve) {
return resolve('tinymce.PluginManager');
}
);
/**
* ResolveGlobal.js
*
* Released under LGPL License.
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
*
* License: http://www.tinymce.com/license
* Contributing: http://www.tinymce.com/contributing
*/
define(
'tinymce.core.dom.DOMUtils',
[
'global!tinymce.util.Tools.resolve'
],
function (resolve) {
return resolve('tinymce.dom.DOMUtils');
}
);
/**
* ResolveGlobal.js
*
* Released under LGPL License.
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
*
* License: http://www.tinymce.com/license
* Contributing: http://www.tinymce.com/contributing
*/
define(
'tinymce.core.EditorManager',
[
'global!tinymce.util.Tools.resolve'
],
function (resolve) {
return resolve('tinymce.EditorManager');
}
);
/**
* ResolveGlobal.js
*
* Released under LGPL License.
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
*
* License: http://www.tinymce.com/license
* Contributing: http://www.tinymce.com/contributing
*/
define(
'tinymce.core.Env',
[
'global!tinymce.util.Tools.resolve'
],
function (resolve) {
return resolve('tinymce.Env');
}
);
/**
* ResolveGlobal.js
*
* Released under LGPL License.
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
*
* License: http://www.tinymce.com/license
* Contributing: http://www.tinymce.com/contributing
*/
define(
'tinymce.core.util.Tools',
[
'global!tinymce.util.Tools.resolve'
],
function (resolve) {
return resolve('tinymce.util.Tools');
}
);
/**
* Settings.js
*
* Released under LGPL License.
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
*
* License: http://www.tinymce.com/license
* Contributing: http://www.tinymce.com/contributing
*/
define(
'tinymce.plugins.importcss.api.Settings',
[
],
function () {
var shouldMergeClasses = function (editor) {
return editor.getParam('importcss_merge_classes');
};
var shouldImportExclusive = function (editor) {
return editor.getParam('importcss_exclusive');
};
var getSelectorConverter = function (editor) {
return editor.getParam('importcss_selector_converter');
};
var getSelectorFilter = function (editor) {
return editor.getParam('importcss_selector_filter');
};
var getCssGroups = function (editor) {
return editor.getParam('importcss_groups');
};
var shouldAppend = function (editor) {
return editor.getParam('importcss_append');
};
var getFileFilter = function (editor) {
return editor.getParam('importcss_file_filter');
};
return {
shouldMergeClasses: shouldMergeClasses,
shouldImportExclusive: shouldImportExclusive,
getSelectorConverter: getSelectorConverter,
getSelectorFilter: getSelectorFilter,
getCssGroups: getCssGroups,
shouldAppend: shouldAppend,
getFileFilter: getFileFilter
};
}
);
/**
* ImportCss.js
*
* Released under LGPL License.
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
*
* License: http://www.tinymce.com/license
* Contributing: http://www.tinymce.com/contributing
*/
define(
'tinymce.plugins.importcss.core.ImportCss',
[
'tinymce.core.dom.DOMUtils',
'tinymce.core.EditorManager',
'tinymce.core.Env',
'tinymce.core.util.Tools',
'tinymce.plugins.importcss.api.Settings'
],
function (DOMUtils, EditorManager, Env, Tools, Settings) {
var removeCacheSuffix = function (url) {
var cacheSuffix = Env.cacheSuffix;
if (typeof url === 'string') {
url = url.replace('?' + cacheSuffix, '').replace('&' + cacheSuffix, '');
}
return url;
};
var isSkinContentCss = function (editor, href) {
var settings = editor.settings, skin = settings.skin !== false ? settings.skin || 'lightgray' : false;
if (skin) {
var skinUrl = settings.skin_url ? editor.documentBaseURI.toAbsolute(settings.skin_url) : EditorManager.baseURL + '/skins/' + skin;
return href === skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css';
}
return false;
};
var compileFilter = function (filter) {
if (typeof filter === "string") {
return function (value) {
return value.indexOf(filter) !== -1;
};
} else if (filter instanceof RegExp) {
return function (value) {
return filter.test(value);
};
}
return filter;
};
var getSelectors = function (editor, doc, fileFilter) {
var selectors = [], contentCSSUrls = {};
function append(styleSheet, imported) {
var href = styleSheet.href, rules;
href = removeCacheSuffix(href);
if (!href || !fileFilter(href, imported) || isSkinContentCss(editor, href)) {
return;
}
Tools.each(styleSheet.imports, function (styleSheet) {
append(styleSheet, true);
});
try {
rules = styleSheet.cssRules || styleSheet.rules;
} catch (e) {
// Firefox fails on rules to remote domain for example:
// @import url(//fonts.googleapis.com/css?family=Pathway+Gothic+One);
}
Tools.each(rules, function (cssRule) {
if (cssRule.styleSheet) {
append(cssRule.styleSheet, true);
} else if (cssRule.selectorText) {
Tools.each(cssRule.selectorText.split(','), function (selector) {
selectors.push(Tools.trim(selector));
});
}
});
}
Tools.each(editor.contentCSS, function (url) {
contentCSSUrls[url] = true;
});
if (!fileFilter) {
fileFilter = function (href, imported) {
return imported || contentCSSUrls[href];
};
}
try {
Tools.each(doc.styleSheets, function (styleSheet) {
append(styleSheet);
});
} catch (e) {
// Ignore
}
return selectors;
};
var defaultConvertSelectorToFormat = function (editor, selectorText) {
var format;
// Parse simple element.class1, .class1
var selector = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText);
if (!selector) {
return url;
};
var isSkinContentCss = function (editor, href) {
var settings = editor.settings, skin = settings.skin !== false ? settings.skin || 'lightgray' : false;
if (skin) {
var skinUrl = settings.skin_url ? editor.documentBaseURI.toAbsolute(settings.skin_url) : EditorManager.baseURL + '/skins/' + skin;
return href === skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css';
}
return false;
};
var compileFilter = function (filter) {
if (typeof filter === 'string') {
return function (value) {
return value.indexOf(filter) !== -1;
};
} else if (filter instanceof RegExp) {
return function (value) {
return filter.test(value);
};
}
return filter;
};
var getSelectors = function (editor, doc, fileFilter) {
var selectors = [], contentCSSUrls = {};
function append(styleSheet, imported) {
var href = styleSheet.href, rules;
href = removeCacheSuffix(href);
if (!href || !fileFilter(href, imported) || isSkinContentCss(editor, href)) {
return;
}
var elementName = selector[1];
var classes = selector[2].substr(1).split('.').join(' ');
var inlineSelectorElements = Tools.makeMap('a,img');
// element.class - Produce block formats
if (selector[1]) {
format = {
title: selectorText
};
if (editor.schema.getTextBlockElements()[elementName]) {
// Text block format ex: h1.class1
format.block = elementName;
} else if (editor.schema.getBlockElements()[elementName] || inlineSelectorElements[elementName.toLowerCase()]) {
// Block elements such as table.class and special inline elements such as a.class or img.class
format.selector = elementName;
} else {
// Inline format strong.class1
format.inline = elementName;
}
} else if (selector[2]) {
// .class - Produce inline span with classes
format = {
inline: 'span',
title: selectorText.substr(1),
classes: classes
};
}
// Append to or override class attribute
if (Settings.shouldMergeClasses(editor) !== false) {
format.classes = classes;
} else {
format.attributes = { "class": classes };
}
return format;
};
var getGroupsBySelector = function (groups, selector) {
return Tools.grep(groups, function (group) {
return !group.filter || group.filter(selector);
Tools.each(styleSheet.imports, function (styleSheet) {
append(styleSheet, true);
});
};
var compileUserDefinedGroups = function (groups) {
return Tools.map(groups, function (group) {
return Tools.extend({}, group, {
original: group,
selectors: {},
filter: compileFilter(group.filter),
item: {
text: group.title,
menu: []
}
});
});
};
var isExclusiveMode = function (editor, group) {
// Exclusive mode can only be disabled when there are groups allowing the same style to be present in multiple groups
return group === null || Settings.shouldImportExclusive(editor) !== false;
};
var isUniqueSelector = function (editor, selector, group, globallyUniqueSelectors) {
return !(isExclusiveMode(editor, group) ? selector in globallyUniqueSelectors : selector in group.selectors);
};
var markUniqueSelector = function (editor, selector, group, globallyUniqueSelectors) {
if (isExclusiveMode(editor, group)) {
globallyUniqueSelectors[selector] = true;
} else {
group.selectors[selector] = true;
try {
rules = styleSheet.cssRules || styleSheet.rules;
} catch (e) {
}
};
var convertSelectorToFormat = function (editor, plugin, selector, group) {
var selectorConverter;
if (group && group.selector_converter) {
selectorConverter = group.selector_converter;
} else if (Settings.getSelectorConverter(editor)) {
selectorConverter = Settings.getSelectorConverter(editor);
} else {
selectorConverter = function () {
return defaultConvertSelectorToFormat(editor, selector, group);
};
}
return selectorConverter.call(plugin, selector, group);
};
var setup = function (editor) {
editor.on('renderFormatsMenu', function (e) {
var globallyUniqueSelectors = {};
var selectorFilter = compileFilter(Settings.getSelectorFilter(editor)), ctrl = e.control;
var groups = compileUserDefinedGroups(Settings.getCssGroups(editor));
var processSelector = function (selector, group) {
if (isUniqueSelector(editor, selector, group, globallyUniqueSelectors)) {
markUniqueSelector(editor, selector, group, globallyUniqueSelectors);
var format = convertSelectorToFormat(editor, editor.plugins.importcss, selector, group);
if (format) {
var formatName = format.name || DOMUtils.DOM.uniqueId();
editor.formatter.register(formatName, format);
return Tools.extend({}, ctrl.settings.itemDefaults, {
text: format.title,
format: formatName
});
}
}
return null;
};
if (!Settings.shouldAppend(editor)) {
ctrl.items().remove();
Tools.each(rules, function (cssRule) {
if (cssRule.styleSheet) {
append(cssRule.styleSheet, true);
} else if (cssRule.selectorText) {
Tools.each(cssRule.selectorText.split(','), function (selector) {
selectors.push(Tools.trim(selector));
});
}
Tools.each(getSelectors(editor, e.doc || editor.getDoc(), compileFilter(Settings.getFileFilter(editor))), function (selector) {
if (selector.indexOf('.mce-') === -1) {
if (!selectorFilter || selectorFilter(selector)) {
var selectorGroups = getGroupsBySelector(groups, selector);
if (selectorGroups.length > 0) {
Tools.each(selectorGroups, function (group) {
var menuItem = processSelector(selector, group);
if (menuItem) {
group.item.menu.push(menuItem);
}
});
} else {
var menuItem = processSelector(selector, null);
});
}
Tools.each(editor.contentCSS, function (url) {
contentCSSUrls[url] = true;
});
if (!fileFilter) {
fileFilter = function (href, imported) {
return imported || contentCSSUrls[href];
};
}
try {
Tools.each(doc.styleSheets, function (styleSheet) {
append(styleSheet);
});
} catch (e) {
}
return selectors;
};
var defaultConvertSelectorToFormat = function (editor, selectorText) {
var format;
var selector = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText);
if (!selector) {
return;
}
var elementName = selector[1];
var classes = selector[2].substr(1).split('.').join(' ');
var inlineSelectorElements = Tools.makeMap('a,img');
if (selector[1]) {
format = { title: selectorText };
if (editor.schema.getTextBlockElements()[elementName]) {
format.block = elementName;
} else if (editor.schema.getBlockElements()[elementName] || inlineSelectorElements[elementName.toLowerCase()]) {
format.selector = elementName;
} else {
format.inline = elementName;
}
} else if (selector[2]) {
format = {
inline: 'span',
title: selectorText.substr(1),
classes: classes
};
}
if ($_dcc7fvdvjcg89ctt.shouldMergeClasses(editor) !== false) {
format.classes = classes;
} else {
format.attributes = { class: classes };
}
return format;
};
var getGroupsBySelector = function (groups, selector) {
return Tools.grep(groups, function (group) {
return !group.filter || group.filter(selector);
});
};
var compileUserDefinedGroups = function (groups) {
return Tools.map(groups, function (group) {
return Tools.extend({}, group, {
original: group,
selectors: {},
filter: compileFilter(group.filter),
item: {
text: group.title,
menu: []
}
});
});
};
var isExclusiveMode = function (editor, group) {
return group === null || $_dcc7fvdvjcg89ctt.shouldImportExclusive(editor) !== false;
};
var isUniqueSelector = function (editor, selector, group, globallyUniqueSelectors) {
return !(isExclusiveMode(editor, group) ? selector in globallyUniqueSelectors : selector in group.selectors);
};
var markUniqueSelector = function (editor, selector, group, globallyUniqueSelectors) {
if (isExclusiveMode(editor, group)) {
globallyUniqueSelectors[selector] = true;
} else {
group.selectors[selector] = true;
}
};
var convertSelectorToFormat = function (editor, plugin, selector, group) {
var selectorConverter;
if (group && group.selector_converter) {
selectorConverter = group.selector_converter;
} else if ($_dcc7fvdvjcg89ctt.getSelectorConverter(editor)) {
selectorConverter = $_dcc7fvdvjcg89ctt.getSelectorConverter(editor);
} else {
selectorConverter = function () {
return defaultConvertSelectorToFormat(editor, selector);
};
}
return selectorConverter.call(plugin, selector, group);
};
var setup = function (editor) {
editor.on('renderFormatsMenu', function (e) {
var globallyUniqueSelectors = {};
var selectorFilter = compileFilter($_dcc7fvdvjcg89ctt.getSelectorFilter(editor)), ctrl = e.control;
var groups = compileUserDefinedGroups($_dcc7fvdvjcg89ctt.getCssGroups(editor));
var processSelector = function (selector, group) {
if (isUniqueSelector(editor, selector, group, globallyUniqueSelectors)) {
markUniqueSelector(editor, selector, group, globallyUniqueSelectors);
var format = convertSelectorToFormat(editor, editor.plugins.importcss, selector, group);
if (format) {
var formatName = format.name || DOMUtils.DOM.uniqueId();
editor.formatter.register(formatName, format);
return Tools.extend({}, ctrl.settings.itemDefaults, {
text: format.title,
format: formatName
});
}
}
return null;
};
if (!$_dcc7fvdvjcg89ctt.shouldAppend(editor)) {
ctrl.items().remove();
}
Tools.each(getSelectors(editor, e.doc || editor.getDoc(), compileFilter($_dcc7fvdvjcg89ctt.getFileFilter(editor))), function (selector) {
if (selector.indexOf('.mce-') === -1) {
if (!selectorFilter || selectorFilter(selector)) {
var selectorGroups = getGroupsBySelector(groups, selector);
if (selectorGroups.length > 0) {
Tools.each(selectorGroups, function (group) {
var menuItem = processSelector(selector, group);
if (menuItem) {
ctrl.add(menuItem);
group.item.menu.push(menuItem);
}
});
} else {
var menuItem = processSelector(selector, null);
if (menuItem) {
ctrl.add(menuItem);
}
}
}
});
Tools.each(groups, function (group) {
if (group.item.menu.length > 0) {
ctrl.add(group.item);
}
});
e.control.renderNew();
}
});
};
return {
defaultConvertSelectorToFormat: defaultConvertSelectorToFormat,
setup: setup
};
}
);
/**
* Api.js
*
* Released under LGPL License.
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
*
* License: http://www.tinymce.com/license
* Contributing: http://www.tinymce.com/contributing
*/
define(
'tinymce.plugins.importcss.api.Api',
[
'tinymce.plugins.importcss.core.ImportCss'
],
function (ImportCss) {
var get = function (editor) {
var convertSelectorToFormat = function (selectorText) {
return ImportCss.defaultConvertSelectorToFormat(editor, selectorText);
};
return {
convertSelectorToFormat: convertSelectorToFormat
};
};
return {
get: get
};
}
);
/**
* Plugin.js
*
* Released under LGPL License.
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
*
* License: http://www.tinymce.com/license
* Contributing: http://www.tinymce.com/contributing
*/
define(
'tinymce.plugins.importcss.Plugin',
[
'tinymce.core.PluginManager',
'tinymce.plugins.importcss.api.Api',
'tinymce.plugins.importcss.core.ImportCss'
],
function (PluginManager, Api, ImportCss) {
PluginManager.add('importcss', function (editor) {
ImportCss.setup(editor);
return Api.get(editor);
Tools.each(groups, function (group) {
if (group.item.menu.length > 0) {
ctrl.add(group.item);
}
});
e.control.renderNew();
});
};
var $_38d56ndqjcg89ctl = {
defaultConvertSelectorToFormat: defaultConvertSelectorToFormat,
setup: setup
};
return function () { };
}
);
dem('tinymce.plugins.importcss.Plugin')();
})();
var get = function (editor) {
var convertSelectorToFormat = function (selectorText) {
return $_38d56ndqjcg89ctl.defaultConvertSelectorToFormat(editor, selectorText);
};
return { convertSelectorToFormat: convertSelectorToFormat };
};
var $_fxn2f4dpjcg89cti = { get: get };
PluginManager.add('importcss', function (editor) {
$_38d56ndqjcg89ctl.setup(editor);
return $_fxn2f4dpjcg89cti.get(editor);
});
var Plugin = function () {
};
return Plugin;
}());
})()

2
gui/public/tinymce/plugins/importcss/plugin.min.js vendored Executable file → Normal file
View file

@ -1 +1 @@
!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e[f]=d(a[f]);b.apply(null,e)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("4",tinymce.util.Tools.resolve),g("1",["4"],function(a){return a("tinymce.PluginManager")}),g("5",["4"],function(a){return a("tinymce.dom.DOMUtils")}),g("6",["4"],function(a){return a("tinymce.EditorManager")}),g("7",["4"],function(a){return a("tinymce.Env")}),g("8",["4"],function(a){return a("tinymce.util.Tools")}),g("9",[],function(){var a=function(a){return a.getParam("importcss_merge_classes")},b=function(a){return a.getParam("importcss_exclusive")},c=function(a){return a.getParam("importcss_selector_converter")},d=function(a){return a.getParam("importcss_selector_filter")},e=function(a){return a.getParam("importcss_groups")},f=function(a){return a.getParam("importcss_append")},g=function(a){return a.getParam("importcss_file_filter")};return{shouldMergeClasses:a,shouldImportExclusive:b,getSelectorConverter:c,getSelectorFilter:d,getCssGroups:e,shouldAppend:f,getFileFilter:g}}),g("3",["5","6","7","8","9"],function(a,b,c,d,e){var f=function(a){var b=c.cacheSuffix;return"string"==typeof a&&(a=a.replace("?"+b,"").replace("&"+b,"")),a},g=function(a,c){var d=a.settings,e=d.skin!==!1&&(d.skin||"lightgray");if(e){var f=d.skin_url?a.documentBaseURI.toAbsolute(d.skin_url):b.baseURL+"/skins/"+e;return c===f+"/content"+(a.inline?".inline":"")+".min.css"}return!1},h=function(a){return"string"==typeof a?function(b){return b.indexOf(a)!==-1}:a instanceof RegExp?function(b){return a.test(b)}:a},i=function(a,b,c){function e(b,i){var j,k=b.href;if(k=f(k),k&&c(k,i)&&!g(a,k)){d.each(b.imports,function(a){e(a,!0)});try{j=b.cssRules||b.rules}catch(a){}d.each(j,function(a){a.styleSheet?e(a.styleSheet,!0):a.selectorText&&d.each(a.selectorText.split(","),function(a){h.push(d.trim(a))})})}}var h=[],i={};d.each(a.contentCSS,function(a){i[a]=!0}),c||(c=function(a,b){return b||i[a]});try{d.each(b.styleSheets,function(a){e(a)})}catch(a){}return h},j=function(a,b){var c,f=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(b);if(f){var g=f[1],h=f[2].substr(1).split(".").join(" "),i=d.makeMap("a,img");return f[1]?(c={title:b},a.schema.getTextBlockElements()[g]?c.block=g:a.schema.getBlockElements()[g]||i[g.toLowerCase()]?c.selector=g:c.inline=g):f[2]&&(c={inline:"span",title:b.substr(1),classes:h}),e.shouldMergeClasses(a)!==!1?c.classes=h:c.attributes={"class":h},c}},k=function(a,b){return d.grep(a,function(a){return!a.filter||a.filter(b)})},l=function(a){return d.map(a,function(a){return d.extend({},a,{original:a,selectors:{},filter:h(a.filter),item:{text:a.title,menu:[]}})})},m=function(a,b){return null===b||e.shouldImportExclusive(a)!==!1},n=function(a,b,c,d){return!(m(a,c)?b in d:b in c.selectors)},o=function(a,b,c,d){m(a,c)?d[b]=!0:c.selectors[b]=!0},p=function(a,b,c,d){var f;return f=d&&d.selector_converter?d.selector_converter:e.getSelectorConverter(a)?e.getSelectorConverter(a):function(){return j(a,c,d)},f.call(b,c,d)},q=function(b){b.on("renderFormatsMenu",function(c){var f={},g=h(e.getSelectorFilter(b)),j=c.control,m=l(e.getCssGroups(b)),q=function(c,e){if(n(b,c,e,f)){o(b,c,e,f);var g=p(b,b.plugins.importcss,c,e);if(g){var h=g.name||a.DOM.uniqueId();return b.formatter.register(h,g),d.extend({},j.settings.itemDefaults,{text:g.title,format:h})}}return null};e.shouldAppend(b)||j.items().remove(),d.each(i(b,c.doc||b.getDoc(),h(e.getFileFilter(b))),function(a){if(a.indexOf(".mce-")===-1&&(!g||g(a))){var b=k(m,a);if(b.length>0)d.each(b,function(b){var c=q(a,b);c&&b.item.menu.push(c)});else{var c=q(a,null);c&&j.add(c)}}}),d.each(m,function(a){a.item.menu.length>0&&j.add(a.item)}),c.control.renderNew()})};return{defaultConvertSelectorToFormat:j,setup:q}}),g("2",["3"],function(a){var b=function(b){var c=function(c){return a.defaultConvertSelectorToFormat(b,c)};return{convertSelectorToFormat:c}};return{get:b}}),g("0",["1","2","3"],function(a,b,c){return a.add("importcss",function(a){return c.setup(a),b.get(a)}),function(){}}),d("0")()}();
!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),n=tinymce.util.Tools.resolve("tinymce.EditorManager"),r=tinymce.util.Tools.resolve("tinymce.Env"),i=tinymce.util.Tools.resolve("tinymce.util.Tools"),c=function(e){return e.getParam("importcss_merge_classes")},o=function(e){return e.getParam("importcss_exclusive")},s=function(e){return e.getParam("importcss_selector_converter")},u=function(e){return e.getParam("importcss_selector_filter")},l=function(e){return e.getParam("importcss_groups")},a=function(e){return e.getParam("importcss_append")},f=function(e){return e.getParam("importcss_file_filter")},m=function(e){var t=r.cacheSuffix;return"string"==typeof e&&(e=e.replace("?"+t,"").replace("&"+t,"")),e},g=function(e,t){var r=e.settings,i=!1!==r.skin&&(r.skin||"lightgray");if(i){return t===(r.skin_url?e.documentBaseURI.toAbsolute(r.skin_url):n.baseURL+"/skins/"+i)+"/content"+(e.inline?".inline":"")+".min.css"}return!1},p=function(e){return"string"==typeof e?function(t){return-1!==t.indexOf(e)}:e instanceof RegExp?function(t){return e.test(t)}:e},v=function(e,t){var n,r=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(t);if(r){var o=r[1],s=r[2].substr(1).split(".").join(" "),u=i.makeMap("a,img");return r[1]?(n={title:t},e.schema.getTextBlockElements()[o]?n.block=o:e.schema.getBlockElements()[o]||u[o.toLowerCase()]?n.selector=o:n.inline=o):r[2]&&(n={inline:"span",title:t.substr(1),classes:s}),!1!==c(e)?n.classes=s:n.attributes={"class":s},n}},h=function(e,t){return null===t||!1!==o(e)},d=v,y=function(e){e.on("renderFormatsMenu",function(n){var r={},c=p(u(e)),o=n.control,d=function(e){return i.map(e,function(e){return i.extend({},e,{original:e,selectors:{},filter:p(e.filter),item:{text:e.title,menu:[]}})})}(l(e)),y=function(n,c){if(function(e,t,n,r){return!(h(e,n)?t in r:t in n.selectors)}(e,n,c,r)){!function(e,t,n,r){h(e,n)?r[t]=!0:n.selectors[t]=!0}(e,n,c,r);var u=function(e,t,n,r){return(r&&r.selector_converter?r.selector_converter:s(e)?s(e):function(){return v(e,n)}).call(t,n,r)}(e,e.plugins.importcss,n,c);if(u){var l=u.name||t.DOM.uniqueId();return e.formatter.register(l,u),i.extend({},o.settings.itemDefaults,{text:u.title,format:l})}}return null};a(e)||o.items().remove(),i.each(function(e,t,n){function r(t,o){var s,u=t.href;if((u=m(u))&&n(u,o)&&!g(e,u)){i.each(t.imports,function(e){r(e,!0)});try{s=t.cssRules||t.rules}catch(l){}i.each(s,function(e){e.styleSheet?r(e.styleSheet,!0):e.selectorText&&i.each(e.selectorText.split(","),function(e){c.push(i.trim(e))})})}}var c=[],o={};i.each(e.contentCSS,function(e){o[e]=!0}),n||(n=function(e,t){return t||o[e]});try{i.each(t.styleSheets,function(e){r(e)})}catch(s){}return c}(e,n.doc||e.getDoc(),p(f(e))),function(e){if(-1===e.indexOf(".mce-")&&(!c||c(e))){var t=function(e,t){return i.grep(e,function(e){return!e.filter||e.filter(t)})}(d,e);if(t.length>0)i.each(t,function(t){var n=y(e,t);n&&t.item.menu.push(n)});else{var n=y(e,null);n&&o.add(n)}}}),i.each(d,function(e){e.item.menu.length>0&&o.add(e.item)}),n.control.renderNew()})},_=function(e){return{convertSelectorToFormat:function(t){return d(e,t)}}};e.add("importcss",function(e){return y(e),_(e)})}();