UNPKG

@uiw/react-md-editor

Version:

A markdown editor with preview, implemented with React.js and TypeScript.

1,746 lines (1,346 loc) 2.45 MB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react")); else if(typeof define === 'function' && define.amd) define(["react"], factory); else if(typeof exports === 'object') exports["mdeditor"] = factory(require("react")); else root["mdeditor"] = factory(root["React"]); })(self, function(__WEBPACK_EXTERNAL_MODULE__9787__) { return /******/ (function() { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 7228: /***/ (function(module) { function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 1506: /***/ (function(module) { function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 4575: /***/ (function(module) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 3913: /***/ (function(module) { function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 3269: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var unsupportedIterableToArray = __webpack_require__(379); function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } module.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 9842: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var getPrototypeOf = __webpack_require__(9754); var isNativeReflectConstruct = __webpack_require__(7067); var possibleConstructorReturn = __webpack_require__(8585); function _createSuper(Derived) { var hasNativeReflectConstruct = isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; } module.exports = _createSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 9713: /***/ (function(module) { function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 6525: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var superPropBase = __webpack_require__(8331); function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { module.exports = _get = Reflect.get, module.exports.__esModule = true, module.exports["default"] = module.exports; } else { module.exports = _get = function _get(target, property, receiver) { var base = superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }, module.exports.__esModule = true, module.exports["default"] = module.exports; } return _get.apply(this, arguments); } module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 9754: /***/ (function(module) { function _getPrototypeOf(o) { module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _getPrototypeOf(o); } module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 2205: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var setPrototypeOf = __webpack_require__(9489); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) setPrototypeOf(subClass, superClass); } module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 7067: /***/ (function(module) { function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 8585: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var _typeof = (__webpack_require__(8)["default"]); var assertThisInitialized = __webpack_require__(1506); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return assertThisInitialized(self); } module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 9489: /***/ (function(module) { function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _setPrototypeOf(o, p); } module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 8331: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var getPrototypeOf = __webpack_require__(9754); function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = getPrototypeOf(object); if (object === null) break; } return object; } module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 8: /***/ (function(module) { function _typeof(obj) { "@babel/helpers - typeof"; return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 379: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var arrayLikeToArray = __webpack_require__(7228); function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 7958: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var _createForOfIteratorHelper = (__webpack_require__(3269)["default"]); var visit = __webpack_require__(9494); var nodeToString = __webpack_require__(3215); var refractor = __webpack_require__(4338); module.exports = function (options) { options = options || {}; if (options.alias) { refractor.alias(options.alias); } return function (tree) { visit(tree, 'element', visitor); }; function visitor(node, index, parent) { if (!parent || parent.tagName !== 'pre' || node.tagName !== 'code') { return; } var lang = getLanguage(node); if (lang === null) { return; } var result; try { parent.properties.className = (parent.properties.className || []).concat('language-' + lang); result = refractor.highlight(nodeToString(node), lang); } catch (err) { if (options.ignoreMissing && /Unknown language/.test(err.message)) { return; } throw err; } node.children = result; } }; function getLanguage(node) { var className = node.properties.className || []; var _iterator = _createForOfIteratorHelper(className), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var classListItem = _step.value; if (classListItem.slice(0, 9) === 'language-') { return classListItem.slice(9).toLowerCase(); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return null; } /***/ }), /***/ 462: /***/ (function(module) { /*! * @uiw/copy-to-clipboard v1.0.12 * Copy to clipboard. * * Copyright (c) 2021 Kenny Wang * https://github.com/uiwjs/copy-to-clipboard.git * * Licensed under the MIT license. */ (function (global, factory) { true ? module.exports = factory() : 0; })(this, function () { 'use strict'; /** * *** This styling is an extra step which is likely not required. *** * https://github.com/w3c/clipboard-apis/blob/master/explainer.adoc#writing-to-the-clipboard * * Why is it here? To ensure: * * 1. the element is able to have focus and selection. * 2. if element was to flash render it has minimal visual impact. * 3. less flakyness with selection and copying which **might** occur if * the textarea element is not visible. * * The likelihood is the element won't even render, not even a flash, * so some of these are just precautions. However in IE the element * is visible whilst the popup box asking the user for permission for * the web page to copy to the clipboard. * * Place in top-left corner of screen regardless of scroll position. * * @typedef CopyTextToClipboard * @property {(text: string, method?: (isCopy: boolean) => void) => void} void * @returns {void} * * @param {string} text * @param {CopyTextToClipboard} cb */ function copyTextToClipboard(text, cb) { var el = document.createElement('textarea'); el.value = text; el.setAttribute('readonly', ''); el.style = { position: 'absolute', left: '-9999px' }; document.body.appendChild(el); var selected = document.getSelection().rangeCount > 0 ? document.getSelection().getRangeAt(0) : false; el.select(); var isCopy = false; try { var successful = document.execCommand('copy'); isCopy = !!successful; } catch (err) { isCopy = false; } document.body.removeChild(el); if (selected && document.getSelection) { document.getSelection().removeAllRanges(); document.getSelection().addRange(selected); } cb && cb(isCopy); } return copyTextToClipboard; }); /***/ }), /***/ 1855: /***/ (function(module) { module.exports = { trueFunc: function trueFunc() { return true; }, falseFunc: function falseFunc() { return false; } }; /***/ }), /***/ 1297: /***/ (function(__unused_webpack_module, exports) { "use strict"; var __webpack_unused_export__; exports.Q = parse; __webpack_unused_export__ = stringify; var comma = ','; var space = ' '; var empty = ''; // Parse comma-separated tokens to an array. function parse(value) { var values = []; var input = String(value || empty); var index = input.indexOf(comma); var lastIndex = 0; var end = false; var val; while (!end) { if (index === -1) { index = input.length; end = true; } val = input.slice(lastIndex, index).trim(); if (val || !end) { values.push(val); } lastIndex = index + 1; index = input.indexOf(comma, lastIndex); } return values; } // Compile an array to comma-separated tokens. // `options.padLeft` (default: `true`) pads a space left of each token, and // `options.padRight` (default: `false`) pads a space to the right of each token. function stringify(values, options) { var settings = options || {}; var left = settings.padLeft === false ? empty : space; var right = settings.padRight ? space : empty; // Ensure the last empty entry is seen. if (values[values.length - 1] === empty) { values = values.concat(empty); } return values.join(right + comma + left).trim(); } /***/ }), /***/ 8743: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __webpack_unused_export__; __webpack_unused_export__ = ({ value: true }); var parser_context_1 = __webpack_require__(5589); var render_1 = __webpack_require__(5373); var CssSelectorParser = /** @class */ function () { function CssSelectorParser() { this.pseudos = {}; this.attrEqualityMods = {}; this.ruleNestingOperators = {}; this.substitutesEnabled = false; } CssSelectorParser.prototype.registerSelectorPseudos = function () { var pseudos = []; for (var _i = 0; _i < arguments.length; _i++) { pseudos[_i] = arguments[_i]; } for (var _a = 0, pseudos_1 = pseudos; _a < pseudos_1.length; _a++) { var pseudo = pseudos_1[_a]; this.pseudos[pseudo] = 'selector'; } return this; }; CssSelectorParser.prototype.unregisterSelectorPseudos = function () { var pseudos = []; for (var _i = 0; _i < arguments.length; _i++) { pseudos[_i] = arguments[_i]; } for (var _a = 0, pseudos_2 = pseudos; _a < pseudos_2.length; _a++) { var pseudo = pseudos_2[_a]; delete this.pseudos[pseudo]; } return this; }; CssSelectorParser.prototype.registerNumericPseudos = function () { var pseudos = []; for (var _i = 0; _i < arguments.length; _i++) { pseudos[_i] = arguments[_i]; } for (var _a = 0, pseudos_3 = pseudos; _a < pseudos_3.length; _a++) { var pseudo = pseudos_3[_a]; this.pseudos[pseudo] = 'numeric'; } return this; }; CssSelectorParser.prototype.unregisterNumericPseudos = function () { var pseudos = []; for (var _i = 0; _i < arguments.length; _i++) { pseudos[_i] = arguments[_i]; } for (var _a = 0, pseudos_4 = pseudos; _a < pseudos_4.length; _a++) { var pseudo = pseudos_4[_a]; delete this.pseudos[pseudo]; } return this; }; CssSelectorParser.prototype.registerNestingOperators = function () { var operators = []; for (var _i = 0; _i < arguments.length; _i++) { operators[_i] = arguments[_i]; } for (var _a = 0, operators_1 = operators; _a < operators_1.length; _a++) { var operator = operators_1[_a]; this.ruleNestingOperators[operator] = true; } return this; }; CssSelectorParser.prototype.unregisterNestingOperators = function () { var operators = []; for (var _i = 0; _i < arguments.length; _i++) { operators[_i] = arguments[_i]; } for (var _a = 0, operators_2 = operators; _a < operators_2.length; _a++) { var operator = operators_2[_a]; delete this.ruleNestingOperators[operator]; } return this; }; CssSelectorParser.prototype.registerAttrEqualityMods = function () { var mods = []; for (var _i = 0; _i < arguments.length; _i++) { mods[_i] = arguments[_i]; } for (var _a = 0, mods_1 = mods; _a < mods_1.length; _a++) { var mod = mods_1[_a]; this.attrEqualityMods[mod] = true; } return this; }; CssSelectorParser.prototype.unregisterAttrEqualityMods = function () { var mods = []; for (var _i = 0; _i < arguments.length; _i++) { mods[_i] = arguments[_i]; } for (var _a = 0, mods_2 = mods; _a < mods_2.length; _a++) { var mod = mods_2[_a]; delete this.attrEqualityMods[mod]; } return this; }; CssSelectorParser.prototype.enableSubstitutes = function () { this.substitutesEnabled = true; return this; }; CssSelectorParser.prototype.disableSubstitutes = function () { this.substitutesEnabled = false; return this; }; CssSelectorParser.prototype.parse = function (str) { return parser_context_1.parseCssSelector(str, 0, this.pseudos, this.attrEqualityMods, this.ruleNestingOperators, this.substitutesEnabled); }; CssSelectorParser.prototype.render = function (path) { return render_1.renderEntity(path).trim(); }; return CssSelectorParser; }(); exports.N = CssSelectorParser; /***/ }), /***/ 5589: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); var utils_1 = __webpack_require__(7565); function parseCssSelector(str, pos, pseudos, attrEqualityMods, ruleNestingOperators, substitutesEnabled) { var l = str.length; var chr = ''; function getStr(quote, escapeTable) { var result = ''; pos++; chr = str.charAt(pos); while (pos < l) { if (chr === quote) { pos++; return result; } else if (chr === '\\') { pos++; chr = str.charAt(pos); var esc = void 0; if (chr === quote) { result += quote; } else if ((esc = escapeTable[chr]) !== undefined) { result += esc; } else if (utils_1.isHex(chr)) { var hex = chr; pos++; chr = str.charAt(pos); while (utils_1.isHex(chr)) { hex += chr; pos++; chr = str.charAt(pos); } if (chr === ' ') { pos++; chr = str.charAt(pos); } result += String.fromCharCode(parseInt(hex, 16)); continue; } else { result += chr; } } else { result += chr; } pos++; chr = str.charAt(pos); } return result; } function getIdent() { var result = ''; chr = str.charAt(pos); while (pos < l) { if (utils_1.isIdent(chr)) { result += chr; } else if (chr === '\\') { pos++; if (pos >= l) { throw Error('Expected symbol but end of file reached.'); } chr = str.charAt(pos); if (utils_1.identSpecialChars[chr]) { result += chr; } else if (utils_1.isHex(chr)) { var hex = chr; pos++; chr = str.charAt(pos); while (utils_1.isHex(chr)) { hex += chr; pos++; chr = str.charAt(pos); } if (chr === ' ') { pos++; chr = str.charAt(pos); } result += String.fromCharCode(parseInt(hex, 16)); continue; } else { result += chr; } } else { return result; } pos++; chr = str.charAt(pos); } return result; } function skipWhitespace() { chr = str.charAt(pos); var result = false; while (chr === ' ' || chr === "\t" || chr === "\n" || chr === "\r" || chr === "\f") { result = true; pos++; chr = str.charAt(pos); } return result; } function parse() { var res = parseSelector(); if (pos < l) { throw Error('Rule expected but "' + str.charAt(pos) + '" found.'); } return res; } function parseSelector() { var selector = parseSingleSelector(); if (!selector) { return null; } var res = selector; chr = str.charAt(pos); while (chr === ',') { pos++; skipWhitespace(); if (res.type !== 'selectors') { res = { type: 'selectors', selectors: [selector] }; } selector = parseSingleSelector(); if (!selector) { throw Error('Rule expected after ",".'); } res.selectors.push(selector); } return res; } function parseSingleSelector() { skipWhitespace(); var selector = { type: 'ruleSet' }; var rule = parseRule(); if (!rule) { return null; } var currentRule = selector; while (rule) { rule.type = 'rule'; currentRule.rule = rule; currentRule = rule; skipWhitespace(); chr = str.charAt(pos); if (pos >= l || chr === ',' || chr === ')') { break; } if (ruleNestingOperators[chr]) { var op = chr; pos++; skipWhitespace(); rule = parseRule(); if (!rule) { throw Error('Rule expected after "' + op + '".'); } rule.nestingOperator = op; } else { rule = parseRule(); if (rule) { rule.nestingOperator = null; } } } return selector; } // @ts-ignore no-overlap function parseRule() { var rule = null; while (pos < l) { chr = str.charAt(pos); if (chr === '*') { pos++; (rule = rule || {}).tagName = '*'; } else if (utils_1.isIdentStart(chr) || chr === '\\') { (rule = rule || {}).tagName = getIdent(); } else if (chr === '.') { pos++; rule = rule || {}; (rule.classNames = rule.classNames || []).push(getIdent()); } else if (chr === '#') { pos++; (rule = rule || {}).id = getIdent(); } else if (chr === '[') { pos++; skipWhitespace(); var attr = { name: getIdent() }; skipWhitespace(); // @ts-ignore if (chr === ']') { pos++; } else { var operator = ''; if (attrEqualityMods[chr]) { operator = chr; pos++; chr = str.charAt(pos); } if (pos >= l) { throw Error('Expected "=" but end of file reached.'); } if (chr !== '=') { throw Error('Expected "=" but "' + chr + '" found.'); } attr.operator = operator + '='; pos++; skipWhitespace(); var attrValue = ''; attr.valueType = 'string'; // @ts-ignore if (chr === '"') { attrValue = getStr('"', utils_1.doubleQuotesEscapeChars); // @ts-ignore } else if (chr === '\'') { attrValue = getStr('\'', utils_1.singleQuoteEscapeChars); // @ts-ignore } else if (substitutesEnabled && chr === '$') { pos++; attrValue = getIdent(); attr.valueType = 'substitute'; } else { while (pos < l) { if (chr === ']') { break; } attrValue += chr; pos++; chr = str.charAt(pos); } attrValue = attrValue.trim(); } skipWhitespace(); if (pos >= l) { throw Error('Expected "]" but end of file reached.'); } if (chr !== ']') { throw Error('Expected "]" but "' + chr + '" found.'); } pos++; attr.value = attrValue; } rule = rule || {}; (rule.attrs = rule.attrs || []).push(attr); } else if (chr === ':') { pos++; var pseudoName = getIdent(); var pseudo = { name: pseudoName }; // @ts-ignore if (chr === '(') { pos++; var value = ''; skipWhitespace(); if (pseudos[pseudoName] === 'selector') { pseudo.valueType = 'selector'; value = parseSelector(); } else { pseudo.valueType = pseudos[pseudoName] || 'string'; // @ts-ignore if (chr === '"') { value = getStr('"', utils_1.doubleQuotesEscapeChars); // @ts-ignore } else if (chr === '\'') { value = getStr('\'', utils_1.singleQuoteEscapeChars); // @ts-ignore } else if (substitutesEnabled && chr === '$') { pos++; value = getIdent(); pseudo.valueType = 'substitute'; } else { while (pos < l) { if (chr === ')') { break; } value += chr; pos++; chr = str.charAt(pos); } value = value.trim(); } skipWhitespace(); } if (pos >= l) { throw Error('Expected ")" but end of file reached.'); } if (chr !== ')') { throw Error('Expected ")" but "' + chr + '" found.'); } pos++; pseudo.value = value; } rule = rule || {}; (rule.pseudos = rule.pseudos || []).push(pseudo); } else { break; } } return rule; } return parse(); } exports.parseCssSelector = parseCssSelector; /***/ }), /***/ 5373: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); var utils_1 = __webpack_require__(7565); function renderEntity(entity) { var res = ''; switch (entity.type) { case 'ruleSet': var currentEntity = entity.rule; var parts = []; while (currentEntity) { if (currentEntity.nestingOperator) { parts.push(currentEntity.nestingOperator); } parts.push(renderEntity(currentEntity)); currentEntity = currentEntity.rule; } res = parts.join(' '); break; case 'selectors': res = entity.selectors.map(renderEntity).join(', '); break; case 'rule': if (entity.tagName) { if (entity.tagName === '*') { res = '*'; } else { res = utils_1.escapeIdentifier(entity.tagName); } } if (entity.id) { res += "#" + utils_1.escapeIdentifier(entity.id); } if (entity.classNames) { res += entity.classNames.map(function (cn) { return "." + utils_1.escapeIdentifier(cn); }).join(''); } if (entity.attrs) { res += entity.attrs.map(function (attr) { if ('operator' in attr) { if (attr.valueType === 'substitute') { return "[" + utils_1.escapeIdentifier(attr.name) + attr.operator + "$" + attr.value + "]"; } else { return "[" + utils_1.escapeIdentifier(attr.name) + attr.operator + utils_1.escapeStr(attr.value) + "]"; } } else { return "[" + utils_1.escapeIdentifier(attr.name) + "]"; } }).join(''); } if (entity.pseudos) { res += entity.pseudos.map(function (pseudo) { if (pseudo.valueType) { if (pseudo.valueType === 'selector') { return ":" + utils_1.escapeIdentifier(pseudo.name) + "(" + renderEntity(pseudo.value) + ")"; } else if (pseudo.valueType === 'substitute') { return ":" + utils_1.escapeIdentifier(pseudo.name) + "($" + pseudo.value + ")"; } else if (pseudo.valueType === 'numeric') { return ":" + utils_1.escapeIdentifier(pseudo.name) + "(" + pseudo.value + ")"; } else { return ":" + utils_1.escapeIdentifier(pseudo.name) + "(" + utils_1.escapeIdentifier(pseudo.value) + ")"; } } else { return ":" + utils_1.escapeIdentifier(pseudo.name); } }).join(''); } break; default: throw Error('Unknown entity type: "' + entity.type + '".'); } return res; } exports.renderEntity = renderEntity; /***/ }), /***/ 7565: /***/ (function(__unused_webpack_module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); function isIdentStart(c) { return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c === '-' || c === '_'; } exports.isIdentStart = isIdentStart; function isIdent(c) { return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c === '-' || c === '_'; } exports.isIdent = isIdent; function isHex(c) { return c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F' || c >= '0' && c <= '9'; } exports.isHex = isHex; function escapeIdentifier(s) { var len = s.length; var result = ''; var i = 0; while (i < len) { var chr = s.charAt(i); if (exports.identSpecialChars[chr]) { result += '\\' + chr; } else { if (!(chr === '_' || chr === '-' || chr >= 'A' && chr <= 'Z' || chr >= 'a' && chr <= 'z' || i !== 0 && chr >= '0' && chr <= '9')) { var charCode = chr.charCodeAt(0); if ((charCode & 0xF800) === 0xD800) { var extraCharCode = s.charCodeAt(i++); if ((charCode & 0xFC00) !== 0xD800 || (extraCharCode & 0xFC00) !== 0xDC00) { throw Error('UCS-2(decode): illegal sequence'); } charCode = ((charCode & 0x3FF) << 10) + (extraCharCode & 0x3FF) + 0x10000; } result += '\\' + charCode.toString(16) + ' '; } else { result += chr; } } i++; } return result; } exports.escapeIdentifier = escapeIdentifier; function escapeStr(s) { var len = s.length; var result = ''; var i = 0; var replacement; while (i < len) { var chr = s.charAt(i); if (chr === '"') { chr = '\\"'; } else if (chr === '\\') { chr = '\\\\'; } else if ((replacement = exports.strReplacementsRev[chr]) !== undefined) { chr = replacement; } result += chr; i++; } return "\"" + result + "\""; } exports.escapeStr = escapeStr; exports.identSpecialChars = { '!': true, '"': true, '#': true, '$': true, '%': true, '&': true, '\'': true, '(': true, ')': true, '*': true, '+': true, ',': true, '.': true, '/': true, ';': true, '<': true, '=': true, '>': true, '?': true, '@': true, '[': true, '\\': true, ']': true, '^': true, '`': true, '{': true, '|': true, '}': true, '~': true }; exports.strReplacementsRev = { '\n': '\\n', '\r': '\\r', '\t': '\\t', '\f': '\\f', '\v': '\\v' }; exports.singleQuoteEscapeChars = { n: '\n', r: '\r', t: '\t', f: '\f', '\\': '\\', '\'': '\'' }; exports.doubleQuotesEscapeChars = { n: '\n', r: '\r', t: '\t', f: '\f', '\\': '\\', '"': '"' }; /***/ }), /***/ 3445: /***/ (function(module) { "use strict"; var hasOwn = Object.prototype.hasOwnProperty; var toStr = Object.prototype.toString; var defineProperty = Object.defineProperty; var gOPD = Object.getOwnPropertyDescriptor; var isArray = function isArray(arr) { if (typeof Array.isArray === 'function') { return Array.isArray(arr); } return toStr.call(arr) === '[object Array]'; }; var isPlainObject = function isPlainObject(obj) { if (!obj || toStr.call(obj) !== '[object Object]') { return false; } var hasOwnConstructor = hasOwn.call(obj, 'constructor'); var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); // Not own constructor property must be Object if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { return false; } // Own properties are enumerated firstly, so to speed up, // if last one is own, then all properties are own. var key; for (key in obj) { /**/ } return typeof key === 'undefined' || hasOwn.call(obj, key); }; // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target var setProperty = function setProperty(target, options) { if (defineProperty && options.name === '__proto__') { defineProperty(target, options.name, { enumerable: true, configurable: true, value: options.newValue, writable: true }); } else { target[options.name] = options.newValue; } }; // Return undefined instead of __proto__ if '__proto__' is not an own property var getProperty = function getProperty(obj, name) { if (name === '__proto__') { if (!hasOwn.call(obj, name)) { return void 0; } else if (gOPD) { // In early versions of node, obj['__proto__'] is buggy when obj has // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. return gOPD(obj, name).value; } } return obj[name]; }; module.exports = function extend() { var options, name, src, copy, copyIsArray, clone; var target = arguments[0]; var i = 1; var length = arguments.length; var deep = false; // Handle a deep copy situation if (typeof target === 'boolean') { deep = target; target = arguments[1] || {}; // skip the boolean and the target i = 2; } if (target == null || typeof target !== 'object' && typeof target !== 'function') { target = {}; } for (; i < length; ++i) { options = arguments[i]; // Only deal with non-null/undefined values if (options != null) { // Extend the base object for (name in options) { src = getProperty(target, name); copy = getProperty(options, name); // Prevent never-ending loop if (target !== copy) { // Recurse if we're merging plain objects or arrays if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { if (copyIsArray) { copyIsArray = false; clone = src && isArray(src) ? src : []; } else { clone = src && isPlainObject(src) ? src : {}; } // Never move original objects, clone them setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); // Don't bring in undefined values } else if (typeof copy !== 'undefined') { setProperty(target, { name: name, newValue: copy }); } } } } } // Return the modified object return target; }; /***/ }), /***/ 4144: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var regex = __webpack_require__(6941); module.exports = BananaSlug; var own = Object.hasOwnProperty; function BananaSlug() { var self = this; if (!(self instanceof BananaSlug)) return new BananaSlug(); self.reset(); } /** * Generate a unique slug. * @param {string} value String of text to slugify * @param {boolean} [false] Keep the current case, otherwise make all lowercase * @return {string} A unique slug string */ BananaSlug.prototype.slug = function (value, maintainCase) { var self = this; var slug = slugger(value, maintainCase === true); var originalSlug = slug; while (own.call(self.occurrences, slug)) { self.occurrences[originalSlug]++; slug = originalSlug + '-' + self.occurrences[originalSlug]; } self.occurrences[slug] = 0; return slug; }; /** * Reset - Forget all previous slugs * @return void */ BananaSlug.prototype.reset = function () { this.occurrences = Object.create(null); }; function slugger(string, maintainCase) { if (typeof string !== 'string') return ''; if (!maintainCase) string = string.toLowerCase(); return string.replace(regex, '').replace(/ /g, '-'); } BananaSlug.slug = slugger; /***/ }), /***/ 6941: /***/ (function(module) { // This module is generated by `script/`. /* eslint-disable no-control-regex, no-misleading-character-class, no-useless-escape */ module.exports = /[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08BE-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D04\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1ABF-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31BB-\u31EF\u3200-\u33FF\u4DB6-\u4DFF\u9FF0-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7C7-\uA7F6\uA828-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB68-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD47-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD-\uDDCF\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC60-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD00-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD823-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D-\uD83F\uD87B-\uD87D\uD87F-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE4-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD822[\uDEF3-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD869[\uDED7-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g; /***/ }), /***/ 1677: /***/ (function(module) { "use strict"; module.exports = parse; var search = /[#.]/g; // Create a hast element from a simple CSS selector. function parse(selector, defaultTagName) { var value = selector || ''; var name = defaultTagName || 'div'; var props = {}; var start = 0; var subvalue; var previous; var match; while (start < value.length) { search.lastIndex = start; match = search.exec(value); subvalue = value.slice(start, match ? match.index : value.length); if (subvalue) { if (!previous) { name = subvalue; } else if (previous === '#') { props.id = subvalue; } else if (props.className) { props.className.push(subvalue); } else { props.className = [subvalue]; } start += subvalue.length; } if (match) { previous = match[0]; start++; } } return { type: 'element', tagName: name, properties: props, children: [] }; } /***/ }), /***/ 3215: /***/ (function(module) { "use strict"; /** * @fileoverview * Get the plain-text value of a hast node. * @longdescription * ## Use * * ```js * var h = require('hastscript') * var toString = require('hast-util-to-string') * * toString(h('p', 'Alpha')) * //=> 'Alpha' * toString(h('div', [h('b', 'Bold'), ' and ', h('i', 'italic'), '.'])) * //=> 'Bold and italic.' * ``` * * ## API * * ### `toString(node)` * * Transform a node to a string. */ module.exports = toString; function toString(node) { // “The concatenation of data of all the Text node descendants of the context // object, in tree order.” if ('children' in node) { return all(node); } // “Context object’s data.” return 'value' in node ? node.value : ''; } function one(node) { if (node.type === 'text') { return node.value; } return node.children ? all(node) : ''; } function all(node) { var children = node.children; var length = children.length; var index = -1; var result = []; while (++index < length) { result[index] = one(children[index]); } return result.join(''); } /***/ }), /***/ 1370: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var find = __webpack_require__(2334); var normalize = __webpack_require__(1273); var parseSelector = __webpack_require__(1677); var spaces = (__webpack_require__(6473)/* .parse */ .Q); var commas = (__webpack_require__(1297)/* .parse */ .Q); module.exports = factory; var own = {}.hasOwnProperty; function factory(schema, defaultTagName, caseSensitive) { var adjust = caseSensitive ? createAdjustMap(caseSensitive) : null; return h; // Hyperscript compatible DSL for creating virtual hast trees. function h(selector, properties) { var node = parseSelector(selector, defaultTagName); var children = Array.prototype.slice.call(arguments, 2); var name = node.tagName.toLowerCase(); var property; node.tagName = adjus