Done !
| Server IP : 46.105.57.169 / Your IP : 216.73.216.67 Web Server : Apache System : Linux webm002.cluster120.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : verseaumee ( 152031) PHP Version : 8.5.7 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/verseaumee/blueversion/wp-content/plugins/before-after-image-compare/dist/ |
Upload File : |
{"version":3,"file":"editor.js","mappings":"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","sources":["webpack://image-compare/../Components/node_modules/invariant/browser.js","webpack://image-compare/../Components/node_modules/prop-types/factoryWithThrowingShims.js","webpack://image-compare/../Components/node_modules/prop-types/index.js","webpack://image-compare/../Components/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://image-compare/../Components/node_modules/select-pure/lib/components/Element.js","webpack://image-compare/../Components/node_modules/select-pure/lib/index.js","webpack://image-compare/webpack/bootstrap","webpack://image-compare/webpack/runtime/compat get default export","webpack://image-compare/webpack/runtime/define property getters","webpack://image-compare/webpack/runtime/hasOwnProperty shorthand","webpack://image-compare/external var [\"wp\",\"blocks\"]","webpack://image-compare/external var \"React\"","webpack://image-compare/external var [\"wp\",\"i18n\"]","webpack://image-compare/external var [\"wp\",\"blockEditor\"]","webpack://image-compare/external var [\"wp\",\"components\"]","webpack://image-compare/external var [\"wp\",\"blob\"]","webpack://image-compare/../Components/Label/Label.js","webpack://image-compare/../Components/utils/options.js","webpack://image-compare/../Components/BColor/BColor.js","webpack://image-compare/../Components/utils/icons.js","webpack://image-compare/../Components/BDevice/BDevice.js","webpack://image-compare/../Components/BorderControl/BorderControl.js","webpack://image-compare/../Components/BtnGroup/BtnGroup.js","webpack://image-compare/../Components/ColorsControl/ColorsControl.js","webpack://image-compare/../Components/HelpPanel/HelpPanel.js","webpack://image-compare/../Components/IconControl/IconControl.js","webpack://image-compare/external var [\"wp\",\"data\"]","webpack://image-compare/../Components/utils/functions.js","webpack://image-compare/../Components/ImageControl/ImageControl.js","webpack://image-compare/../Components/MediaControl/MediaControl.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://image-compare/external var \"ReactDOM\"","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://image-compare/../Components/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://image-compare/../Components/node_modules/react-sortable-hoc/dist/react-sortable-hoc.esm.js","webpack://image-compare/../Components/SortableControl/SortableControl.js","webpack://image-compare/../Components/SpaceControl/SpaceControl.js","webpack://image-compare/../Components/node_modules/immer/dist/immer.mjs","webpack://image-compare/../Components/Typography/fontLists.js","webpack://image-compare/../Components/Typography/options.js","webpack://image-compare/../Components/Typography/Typography.js","webpack://image-compare/./src/utils/options.js","webpack://image-compare/./src/Settings.js","webpack://image-compare/../Components/utils/getCSS.js","webpack://image-compare/./src/Style.js","webpack://image-compare/./src/utils/functions.js","webpack://image-compare/./src/Edit.js","webpack://image-compare/./src/utils/icons.js","webpack://image-compare/./src/editor.js"],"sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar allowedAttributes = {\n value: \"data-value\",\n disabled: \"data-disabled\",\n \"class\": \"class\",\n type: \"type\"\n};\n\nvar Element = /*#__PURE__*/function () {\n function Element(element) {\n var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, Element);\n\n this._node = element instanceof HTMLElement ? element : document.createElement(element);\n this._config = {\n i18n: i18n\n };\n\n this._setAttributes(attributes);\n\n if (attributes.textContent) {\n this._setTextContent(attributes.textContent);\n }\n\n return this;\n }\n\n _createClass(Element, [{\n key: \"get\",\n value: function get() {\n return this._node;\n }\n }, {\n key: \"append\",\n value: function append(element) {\n this._node.appendChild(element);\n\n return this;\n }\n }, {\n key: \"addClass\",\n value: function addClass(className) {\n this._node.classList.add(className);\n\n return this;\n }\n }, {\n key: \"removeClass\",\n value: function removeClass(className) {\n this._node.classList.remove(className);\n\n return this;\n }\n }, {\n key: \"toggleClass\",\n value: function toggleClass(className) {\n this._node.classList.toggle(className);\n\n return this;\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(type, callback) {\n this._node.addEventListener(type, callback);\n\n return this;\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n this._node.removeEventListener(type, callback);\n\n return this;\n }\n }, {\n key: \"setText\",\n value: function setText(text) {\n this._setTextContent(text);\n\n return this;\n }\n }, {\n key: \"getHeight\",\n value: function getHeight() {\n return window.getComputedStyle(this._node).height;\n }\n }, {\n key: \"setTop\",\n value: function setTop(top) {\n this._node.style.top = \"\".concat(top, \"px\");\n return this;\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this._node.focus();\n\n return this;\n }\n }, {\n key: \"_setTextContent\",\n value: function _setTextContent(textContent) {\n this._node.textContent = textContent;\n }\n }, {\n key: \"_setAttributes\",\n value: function _setAttributes(attributes) {\n for (var key in attributes) {\n if (allowedAttributes[key] && attributes[key]) {\n this._setAttribute(allowedAttributes[key], attributes[key]);\n }\n }\n }\n }, {\n key: \"_setAttribute\",\n value: function _setAttribute(key, value) {\n this._node.setAttribute(key, value);\n }\n }]);\n\n return Element;\n}();\n\nexports[\"default\"] = Element;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Element = require(\"./components/Element\");\n\nvar _Element2 = _interopRequireDefault(_Element);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _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; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _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; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar CLASSES = {\n select: \"select-pure__select\",\n dropdownShown: \"select-pure__select--opened\",\n multiselect: \"select-pure__select--multiple\",\n label: \"select-pure__label\",\n placeholder: \"select-pure__placeholder\",\n dropdown: \"select-pure__options\",\n option: \"select-pure__option\",\n optionDisabled: \"select-pure__option--disabled\",\n autocompleteInput: \"select-pure__autocomplete\",\n selectedLabel: \"select-pure__selected-label\",\n selectedOption: \"select-pure__option--selected\",\n placeholderHidden: \"select-pure__placeholder--hidden\",\n optionHidden: \"select-pure__option--hidden\"\n};\n\nvar SelectPure = /*#__PURE__*/function () {\n function SelectPure(element, config) {\n _classCallCheck(this, SelectPure);\n\n this._config = _objectSpread(_objectSpread({}, config), {}, {\n classNames: _objectSpread(_objectSpread({}, CLASSES), config.classNames),\n disabledOptions: []\n });\n this._state = {\n opened: false\n };\n this._icons = [];\n this._boundHandleClick = this._handleClick.bind(this);\n this._boundUnselectOption = this._unselectOption.bind(this);\n this._boundSortOptions = this._sortOptions.bind(this);\n this._body = new _Element2[\"default\"](document.body);\n\n this._create(element);\n\n if (!this._config.value) {\n return;\n }\n\n this._setValue();\n } // Public API\n\n\n _createClass(SelectPure, [{\n key: \"value\",\n value: function value() {\n return this._config.value;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this._config.value = this._config.multiple ? [] : null;\n\n this._setValue();\n } // Private methods\n\n }, {\n key: \"_create\",\n value: function _create(_element) {\n var element = typeof _element === \"string\" ? document.querySelector(_element) : _element;\n this._parent = new _Element2[\"default\"](element);\n this._select = new _Element2[\"default\"](\"div\", {\n \"class\": this._config.classNames.select\n });\n this._label = new _Element2[\"default\"](\"span\", {\n \"class\": this._config.classNames.label\n });\n this._optionsWrapper = new _Element2[\"default\"](\"div\", {\n \"class\": this._config.classNames.dropdown\n });\n\n if (this._config.multiple) {\n this._select.addClass(this._config.classNames.multiselect);\n }\n\n this._options = this._generateOptions();\n\n this._select.addEventListener(\"click\", this._boundHandleClick);\n\n this._select.append(this._label.get());\n\n this._select.append(this._optionsWrapper.get());\n\n this._parent.append(this._select.get());\n\n this._placeholder = new _Element2[\"default\"](\"span\", {\n \"class\": this._config.classNames.placeholder,\n textContent: this._config.placeholder\n });\n\n this._select.append(this._placeholder.get());\n }\n }, {\n key: \"_generateOptions\",\n value: function _generateOptions() {\n var _this = this;\n\n if (this._config.autocomplete) {\n this._autocomplete = new _Element2[\"default\"](\"input\", {\n \"class\": this._config.classNames.autocompleteInput,\n type: \"text\"\n });\n\n this._autocomplete.addEventListener(\"input\", this._boundSortOptions);\n\n this._optionsWrapper.append(this._autocomplete.get());\n }\n\n return this._config.options.map(function (_option) {\n var option = new _Element2[\"default\"](\"div\", {\n \"class\": \"\".concat(_this._config.classNames.option).concat(_option.disabled ? \" \" + _this._config.classNames.optionDisabled : \"\"),\n value: _option.value,\n textContent: _option.label,\n disabled: _option.disabled\n });\n\n if (_option.disabled) {\n _this._config.disabledOptions.push(String(_option.value));\n }\n\n _this._optionsWrapper.append(option.get());\n\n return option;\n });\n }\n }, {\n key: \"_handleClick\",\n value: function _handleClick(event) {\n event.stopPropagation();\n\n if (event.target.className === this._config.classNames.autocompleteInput) {\n return;\n }\n\n if (this._state.opened) {\n var option = this._options.find(function (_option) {\n return _option.get() === event.target;\n });\n\n if (option) {\n this._setValue(option.get().getAttribute(\"data-value\"), true);\n }\n\n this._select.removeClass(this._config.classNames.dropdownShown);\n\n this._body.removeEventListener(\"click\", this._boundHandleClick);\n\n this._select.addEventListener(\"click\", this._boundHandleClick);\n\n this._state.opened = false;\n return;\n }\n\n if (event.target.className === this._config.icon) {\n return;\n }\n\n this._select.addClass(this._config.classNames.dropdownShown);\n\n this._body.addEventListener(\"click\", this._boundHandleClick);\n\n this._select.removeEventListener(\"click\", this._boundHandleClick);\n\n this._state.opened = true;\n\n if (this._autocomplete) {\n this._autocomplete.focus();\n }\n }\n }, {\n key: \"_setValue\",\n value: function _setValue(value, manual, unselected) {\n var _this2 = this;\n\n if (this._config.disabledOptions.indexOf(value) > -1) {\n return;\n }\n\n if (value && !unselected) {\n this._config.value = this._config.multiple ? [].concat(_toConsumableArray(this._config.value || []), [value]) : value;\n }\n\n if (value && unselected) {\n this._config.value = value;\n }\n\n this._options.forEach(function (_option) {\n _option.removeClass(_this2._config.classNames.selectedOption);\n });\n\n this._placeholder.removeClass(this._config.classNames.placeholderHidden);\n\n if (this._config.multiple) {\n var options = this._config.value.map(function (_value) {\n var option = _this2._config.options.find(function (_option) {\n return _option.value === _value;\n });\n\n var optionNode = _this2._options.find(function (_option) {\n return _option.get().getAttribute(\"data-value\") === option.value.toString();\n });\n\n optionNode.addClass(_this2._config.classNames.selectedOption);\n return option;\n });\n\n if (options.length) {\n this._placeholder.addClass(this._config.classNames.placeholderHidden);\n }\n\n this._selectOptions(options, manual);\n\n return;\n }\n\n var option = this._config.value ? this._config.options.find(function (_option) {\n return _option.value.toString() === _this2._config.value;\n }) : this._config.options[0];\n\n var optionNode = this._options.find(function (_option) {\n return _option.get().getAttribute(\"data-value\") === option.value.toString();\n });\n\n if (!this._config.value) {\n this._label.setText(\"\");\n\n return;\n }\n\n optionNode.addClass(this._config.classNames.selectedOption);\n\n this._placeholder.addClass(this._config.classNames.placeholderHidden);\n\n this._selectOption(option, manual);\n }\n }, {\n key: \"_selectOption\",\n value: function _selectOption(option, manual) {\n this._selectedOption = option;\n\n this._label.setText(option.label);\n\n if (this._config.onChange && manual) {\n this._config.onChange(option.value);\n }\n }\n }, {\n key: \"_selectOptions\",\n value: function _selectOptions(options, manual) {\n var _this3 = this;\n\n this._label.setText(\"\");\n\n this._icons = options.map(function (_option) {\n var selectedLabel = new _Element2[\"default\"](\"span\", {\n \"class\": _this3._config.classNames.selectedLabel,\n textContent: _option.label\n });\n var icon = new _Element2[\"default\"](_this3._config.inlineIcon ? _this3._config.inlineIcon.cloneNode(true) : \"i\", {\n \"class\": _this3._config.icon,\n value: _option.value\n });\n icon.addEventListener(\"click\", _this3._boundUnselectOption);\n selectedLabel.append(icon.get());\n\n _this3._label.append(selectedLabel.get());\n\n return icon.get();\n });\n\n if (manual) {\n // eslint-disable-next-line no-magic-numbers\n this._optionsWrapper.setTop(Number(this._select.getHeight().split(\"px\")[0]) + 5);\n }\n\n if (this._config.onChange && manual) {\n this._config.onChange(this._config.value);\n }\n }\n }, {\n key: \"_unselectOption\",\n value: function _unselectOption(event) {\n var newValue = _toConsumableArray(this._config.value);\n\n var index = newValue.indexOf(event.target.getAttribute(\"data-value\")); // eslint-disable-next-line no-magic-numbers\n\n if (index !== -1) {\n newValue.splice(index, 1);\n }\n\n this._setValue(newValue, true, true);\n }\n }, {\n key: \"_sortOptions\",\n value: function _sortOptions(event) {\n var _this4 = this;\n\n this._options.forEach(function (_option) {\n if (!_option.get().textContent.toLowerCase().normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").startsWith(event.target.value.toLowerCase().normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\"))) {\n _option.addClass(_this4._config.classNames.optionHidden);\n\n return;\n }\n\n _option.removeClass(_this4._config.classNames.optionHidden);\n });\n }\n }]);\n\n return SelectPure;\n}();\n\nexports[\"default\"] = SelectPure;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var __WEBPACK_NAMESPACE_OBJECT__ = wp.blocks;","var __WEBPACK_NAMESPACE_OBJECT__ = React;","var __WEBPACK_NAMESPACE_OBJECT__ = wp.i18n;","var __WEBPACK_NAMESPACE_OBJECT__ = wp.blockEditor;","var __WEBPACK_NAMESPACE_OBJECT__ = wp.components;","var __WEBPACK_NAMESPACE_OBJECT__ = wp.blob;","const Label = props => {\r\n\tconst { className = 'mt20 mb5', htmlFor, children } = props;\r\n\r\n\treturn <label className={`bPlLabel ${className}`} htmlFor={htmlFor}>{children}</label>\r\n};\r\nexport default Label;","export const borderStyles = [\r\n\t{ label: 'Solid', value: 'solid' },\r\n\t{ label: 'Dashed', value: 'dashed' },\r\n\t{ label: 'Dotted', value: 'dotted' },\r\n\t{ label: 'Double', value: 'double' },\r\n\t{ label: 'Groove', value: 'groove' },\r\n\t{ label: 'Inset', value: 'inset' },\r\n\t{ label: 'Outset', value: 'outset' },\r\n\t{ label: 'Ridge', value: 'ridge' }\r\n];\r\n\r\nexport const pxUnit = (def = 0) => ({ value: 'px', label: 'px', default: def });\r\nexport const perUnit = (def = 0) => ({ value: '%', label: '%', default: def });\r\nexport const emUnit = (def = 0) => ({ value: 'em', label: 'em', default: def });\r\nexport const remUnit = (def = 0) => ({ value: 'rem', label: 'rem', default: def });\r\nexport const vwUnit = (def = 0) => ({ value: 'vw', label: 'vw', default: def });\r\nexport const vhUnit = (def = 0) => ({ value: 'vh', label: 'vh', default: def });\r\n\r\nexport const sides = [\r\n\t{ value: 'all', label: 'All Sides' },\r\n\t{ value: 'top', label: 'Top' },\r\n\t{ value: 'right', label: 'Right' },\r\n\t{ value: 'bottom', label: 'Bottom' },\r\n\t{ value: 'left', label: 'Left' },\r\n\t{ value: 'topRight', label: 'Top Right' },\r\n\t{ value: 'topBottom', label: 'Top Bottom' },\r\n\t{ value: 'topLeft', label: 'Top Left' },\r\n\t{ value: 'topRightBottom', label: 'Top Right Bottom' },\r\n\t{ value: 'topRightLeft', label: 'Top Right Left' },\r\n\t{ value: 'topBottomLeft', label: 'Top Bottom Left' },\r\n\t{ value: 'rightBottom', label: 'Right Bottom' },\r\n\t{ value: 'rightLeft', label: 'Right Left' },\r\n\t{ value: 'rightBottomLeft', label: 'Right Bottom Left' },\r\n\t{ value: 'bottomLeft', label: 'Bottom Left' }\r\n];\r\n\r\nexport const gradients = [\r\n\t{ name: 'Daisy Bush to Fuchsia Blue', gradient: 'linear-gradient(135deg, #4527a4, #8344c5)', slug: 'daisy-bush-to-fuchsia-blue' },\r\n\t{ name: 'Reddish Orange to Yellowish Orange', gradient: 'linear-gradient(135deg, #fe6601, #fbb040)', slug: 'reddish-orange-to-yellowish-orange' },\r\n\t{ name: 'Tuft Bush to Carnation Pink', gradient: 'linear-gradient(135deg, #fed1c7, #fe8dc6)', slug: 'tuft-bush-to-carnation-pink' },\r\n\t{ name: 'Golden Fizz to Yellow Orange', gradient: 'linear-gradient(135deg, #f9ed32, #fbb040)', slug: 'golden-fizz-to-yellow-orange' },\r\n\t{ name: 'Light Electric Violet to Electric Violet', gradient: 'linear-gradient(135deg, #e100ff, #7f00ff)', slug: 'light-electric-violet-to-electric-violet' },\r\n\t{ name: 'Hot Pink to Violet Red', gradient: 'linear-gradient(135deg, #ff7db8, #ee2a7b)', slug: 'hot-pink-to-violet-red' },\r\n\t{ name: 'Spring Green to Azure Radiance', gradient: 'linear-gradient(135deg, #00ff8f, #00a1ff)', slug: 'spring-green-to-azure-radiance' }\r\n];\r\nexport const bgTypes = [\r\n\t{ label: 'Solid', value: 'solid' },\r\n\t{ label: 'Gradient', value: 'gradient' }\r\n];","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props label: 'Color' (String)\r\n * @props value: value of color (String)\r\n * @props defaultColor: default color for reset color\r\n * @props onChange: (Function)\r\n * @props disableAlpha: Disable alpha of color (Boolean)\r\n * @return color (String)\r\n */\r\n\r\nimport { useState } from 'react';\r\nimport { __ } from '@wordpress/i18n';\r\nimport { Dropdown, ColorPicker, Button, PanelRow } from '@wordpress/components';\r\n\r\nimport './BColor.scss';\r\nimport { Label } from '../index';\r\n\r\nconst BColor = props => {\r\n\tconst { className = '', label = __('Color:', 'bplugins'), value, onChange, defaultColor, disableAlpha = false } = props;\r\n\tconst [state, setState] = useState(value);\r\n\r\n\tconst themeColors = wp.data.select('core/block-editor').getSettings().colors;\r\n\r\n\treturn <PanelRow className={className}>\r\n\t\t<Label className=''>{label}</Label>\r\n\r\n\t\t<Dropdown className='bPlDropdownContainer bColor' contentClassName='bPlDropdownPopover bColorDropdownPopover' popoverProps={{ placement: 'top-end' }}\r\n\t\t\trenderToggle={({ isOpen, onToggle }) => {\r\n\t\t\t\treturn <>\r\n\t\t\t\t\t<div className='bColorButtonContainer'>\r\n\t\t\t\t\t\t<button className='bColorButton' isPrimary onClick={onToggle} aria-expanded={isOpen} style={{ backgroundColor: value || 'transparent' }} />\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t{defaultColor && defaultColor != state && <Button className='bPlResetVal' icon='image-rotate' label={__('Reset', 'bplugins')} onClick={() => {\r\n\t\t\t\t\t\tonChange(defaultColor);\r\n\t\t\t\t\t\tsetState(defaultColor);\r\n\t\t\t\t\t}} />}\r\n\t\t\t\t</>;\r\n\t\t\t}}\r\n\r\n\t\t\trenderContent={({ isOpen, onClose }) => <>\r\n\t\t\t\t<ColorPicker color={value || ''} disableAlpha={disableAlpha} onChangeComplete={(c) => {\r\n\t\t\t\t\tonChange(`rgba(${c.rgb.r}, ${c.rgb.g}, ${c.rgb.b}, ${c.rgb.a})`);\r\n\t\t\t\t\tsetState(c.hex);\r\n\t\t\t\t}} />\r\n\r\n\t\t\t\t{themeColors.length && <div className='themeColors'>\r\n\t\t\t\t\t{themeColors.map(({ color }) => <div className='bColorButtonContainer'>\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tclassName='bColorButton'\r\n\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\tonChange(color);\r\n\t\t\t\t\t\t\t\tsetState(color);\r\n\t\t\t\t\t\t\t\tonClose;\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\taria-expanded={isOpen}\r\n\t\t\t\t\t\t\tstyle={{ backgroundColor: value ? color : 'transparent' }}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>)}\r\n\t\t\t\t</div>}\r\n\t\t\t</>}\r\n\t\t/>\r\n\t</PanelRow>\r\n};\r\nexport default BColor;","const color = '#4527a4';\r\n\r\nexport const desktopIcon = <svg xmlns='https://www.w3.org/2000/svg' width={15} height={15} viewBox='0 0 548.172 548.172'>\r\n\t<path fill={color} d='M534.75 49.965c-8.945-8.945-19.694-13.422-32.261-13.422H45.681c-12.562 0-23.313 4.477-32.264 13.422C4.471 58.913 0 69.663 0 82.226v310.633c0 12.566 4.471 23.315 13.417 32.265 8.951 8.945 19.702 13.414 32.264 13.414h155.318c0 7.231-1.524 14.661-4.57 22.269-3.044 7.614-6.09 14.273-9.136 19.981-3.042 5.715-4.565 9.897-4.565 12.56 0 4.948 1.807 9.24 5.424 12.847 3.615 3.621 7.898 5.435 12.847 5.435h146.179c4.949 0 9.233-1.813 12.848-5.435 3.62-3.606 5.427-7.898 5.427-12.847 0-2.468-1.526-6.611-4.571-12.415-3.046-5.801-6.092-12.566-9.134-20.267-3.046-7.71-4.569-15.085-4.569-22.128h155.318c12.56 0 23.309-4.469 32.254-13.414 8.949-8.949 13.422-19.698 13.422-32.265V82.226c.003-12.563-4.474-23.313-13.423-32.261zm-23.123 269.803c0 2.475-.903 4.613-2.711 6.424-1.81 1.804-3.952 2.707-6.427 2.707H45.681c-2.473 0-4.615-.903-6.423-2.707-1.807-1.817-2.712-3.949-2.712-6.424V82.226c0-2.475.902-4.615 2.712-6.423 1.809-1.805 3.951-2.712 6.423-2.712h456.815c2.471 0 4.617.904 6.42 2.712 1.808 1.809 2.711 3.949 2.711 6.423v237.542z' />\r\n</svg>;\r\n\r\nexport const tabletIcon = <svg xmlns='https://www.w3.org/2000/svg' width={15} height={15} viewBox='0 0 512 512'>\r\n\t<path fill={color} d='M394.667 0H117.333C87.936 0 64 23.936 64 53.333v405.333C64 488.064 87.936 512 117.333 512h277.333C424.064 512 448 488.064 448 458.667V53.333C448 23.936 424.064 0 394.667 0zM256 480c-11.755 0-21.333-9.579-21.333-21.333s9.579-21.333 21.333-21.333 21.333 9.579 21.333 21.333S267.755 480 256 480zm149.333-64c0 5.888-4.779 10.667-10.667 10.667H117.333c-5.888 0-10.667-4.779-10.667-10.667V53.333c0-5.888 4.779-10.667 10.667-10.667h277.333c5.888 0 10.667 4.779 10.667 10.667V416z' />\r\n</svg>;\r\n\r\nexport const mobileIcon = <svg xmlns='https://www.w3.org/2000/svg' width={15} height={15} viewBox='0 0 503.604 503.604'>\r\n\t<path fill={color} d='M337.324 0H167.192c-28.924 0-53.5 23.584-53.5 52.5v398.664c0 28.916 24.056 52.44 52.98 52.44l170.412-.184c28.92 0 52.58-23.528 52.58-52.448l.248-398.5C389.908 23.452 366.364 0 337.324 0zM227.68 31.476h49.36c4.336 0 7.868 3.52 7.868 7.868 0 4.348-3.532 7.868-7.868 7.868h-49.36a7.865 7.865 0 01-7.868-7.868 7.865 7.865 0 017.868-7.868zm-29.66 2.504c2.916-2.912 8.224-2.952 11.136 0a7.973 7.973 0 012.324 5.588c0 2.048-.864 4.088-2.324 5.548-1.452 1.46-3.504 2.32-5.548 2.32-2.084 0-4.088-.86-5.588-2.32-1.452-1.456-2.28-3.5-2.28-5.548-.004-2.088.828-4.132 2.28-5.588zm52.752 454.028c-12.984 0-23.544-10.568-23.544-23.548 0-12.984 10.56-23.548 23.544-23.548s23.544 10.564 23.544 23.548c0 12.98-10.564 23.548-23.544 23.548zm114.716-63.1H141.232V74.756h224.256v350.152z'></path>\r\n</svg>;\r\n\r\nexport const scrollIcon = <svg xmlns='https://www.w3.org/2000/svg' width={14} height={14} viewBox='0 0 330 330' >\r\n\t<path d='M100.606 229.393c-5.857-5.857-15.355-5.857-21.213 0-5.858 5.857-5.858 15.355 0 21.213l75 75A14.954 14.954 0 00165 330a14.95 14.95 0 0010.606-4.394l75-75c5.858-5.857 5.858-15.355 0-21.213-5.857-5.857-15.355-5.857-21.213 0L180 278.787V51.212l49.394 49.394A14.95 14.95 0 00240 105a14.95 14.95 0 0010.606-4.394c5.858-5.857 5.858-15.355 0-21.213l-75-75c-5.857-5.858-15.355-5.858-21.213 0l-75 75c-5.858 5.857-5.858 15.355 0 21.213 5.857 5.857 15.355 5.857 21.213 0L150 51.212v227.574l-49.394-49.393z' />\r\n</svg>;\r\n\r\nexport const gearIcon = <svg xmlns='http://www.w3.org/2000/svg' width={16} height={16} viewBox='0 0 430.848 430.848'>\r\n\t<path d='M286.244,249.537l10.992-45.639c0.035-0.143,0.071-0.285,0.109-0.428c2.909-10.867,11.469-19.426,22.339-22.338 l33.347-8.936c-5.472-6.525-13.678-10.682-22.839-10.682h-9.837c-2.511-7.895-5.7-15.59-9.515-22.957l6.96-6.959 c11.622-11.623,11.622-30.535,0-42.156L296.76,68.4c-5.631-5.629-13.117-8.73-21.079-8.73c-7.961,0-15.447,3.102-21.078,8.732 l-6.96,6.959c-7.369-3.814-15.064-7.004-22.956-9.516V56.01c0-16.436-13.372-29.807-29.808-29.807h-29.758 c-16.436,0-29.808,13.371-29.808,29.807v9.836c-7.893,2.512-15.588,5.701-22.957,9.516l-6.96-6.961 c-5.631-5.629-13.117-8.73-21.078-8.73c-7.961,0-15.447,3.102-21.079,8.732L42.2,89.443c-11.622,11.621-11.622,30.533,0,42.156 l6.959,6.959c-3.815,7.367-7.004,15.063-9.515,22.957h-9.837C13.372,161.516,0,174.887,0,191.324v29.758 c0,16.436,13.372,29.807,29.808,29.807h9.837c2.511,7.895,5.7,15.588,9.515,22.957l-6.96,6.959 c-11.623,11.623-11.623,30.533,0,42.158l21.041,21.039c5.632,5.631,13.118,8.732,21.079,8.732s15.447-3.102,21.077-8.732 l6.96-6.959c7.366,3.815,15.061,7.002,22.957,9.514v9.838c0,16.436,13.372,29.809,29.808,29.809h25.809 c-2.388-5.691-3.644-11.852-3.645-18.209c-0.002-12.572,4.892-24.391,13.781-33.279L286.244,249.537z M180,286.201 c-44.112,0-80-35.887-80-79.998c0-44.113,35.888-80.002,80-80.002s80,35.889,80,80.002C260,250.314,224.112,286.201,180,286.201z' />\r\n\t<path d='M425.267,218.734l-0.319-0.32c-0.939-0.941-2.189-1.428-3.541-1.469c-1.326,0-2.598,0.525-3.536,1.465l-21.596,21.596 c-3.304,3.305-7.699,5.125-12.375,5.125c-4.676,0-9.072-1.82-12.379-5.129c-3.307-3.305-5.128-7.701-5.128-12.377 c0.001-4.676,1.821-9.072,5.126-12.377l21.596-21.596c0.939-0.939,1.465-2.213,1.464-3.539c-0.001-1.328-0.53-2.6-1.47-3.537 l-0.314-0.313c-3.605-3.605-8.399-5.592-13.499-5.592c-1.665,0-3.325,0.219-4.936,0.65l-44.348,11.885 c-6.568,1.76-11.741,6.932-13.498,13.496c-0.011,0.041-0.021,0.08-0.031,0.121l-11.817,49.063l-87.667,87.666 c-6.528,6.527-10.122,15.207-10.121,24.44c0.002,9.232,3.598,17.91,10.126,24.439l2.088,2.088 c6.528,6.529,15.209,10.125,24.443,10.125h0c9.231,0,17.909-3.594,24.437-10.121l87.667-87.666l49.061-11.816 c0.041-0.01,0.082-0.022,0.122-0.031c6.563-1.758,11.735-6.928,13.497-13.496l11.883-44.352 C431.959,230.598,430.066,223.535,425.267,218.734z M257.26,368.406c-1.888,1.889-4.399,2.93-7.071,2.93 c-2.671,0-5.183-1.041-7.072-2.932c-1.887-1.885-2.928-4.397-2.928-7.068c-0.001-2.672,1.041-5.185,2.931-7.072 c1.886-1.887,4.398-2.928,7.069-2.928c2.672,0,5.184,1.041,7.072,2.93c1.887,1.885,2.928,4.396,2.928,7.068 C260.189,364.006,259.148,366.518,257.26,368.406z M316.194,305.935L274.82,347.31c-1.416,1.416-3.3,2.197-5.303,2.197 c-2.003,0-3.887-0.781-5.303-2.197c-1.417-1.416-2.197-3.299-2.197-5.303s0.78-3.887,2.197-5.303l41.374-41.375 c1.417-1.418,3.3-2.197,5.303-2.197s3.887,0.779,5.303,2.197c1.417,1.416,2.197,3.299,2.197,5.303S317.611,304.519,316.194,305.935 z' />\r\n</svg>\r\n\r\nexport const bookIcon = <svg xmlns='http://www.w3.org/2000/svg' width={30} height={30} viewBox='0 0 448 512'>\r\n\t<path d='M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z' />\r\n</svg>\r\n\r\nexport const headsetIcon = <svg xmlns='http://www.w3.org/2000/svg' width={30} height={30} viewBox='0 0 512 512'>\r\n\t<path d='M256 48C141.1 48 48 141.1 48 256v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V400.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24H240c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40V256c0-114.9-93.1-208-208-208zM144 208h16c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V272c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64v48c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32h16z' />\r\n</svg>\r\n\r\nexport const starIcon = <svg xmlns='http://www.w3.org/2000/svg' width={30} height={30} viewBox='0 0 576 512'>\r\n\t<path d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z' />\r\n</svg>\r\n\r\nexport const rightArrowIcon = <svg xmlns='http://www.w3.org/2000/svg' width={30} height={30} viewBox='0 0 448 512'>\r\n\t<path d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z' />\r\n</svg>","/**\r\n * @props device: 'desktop' (String)\r\n * @props onChange: (Function)\r\n * @props style: {} (Object)\r\n * @return Selected device\r\n */\r\n\r\nimport { useState } from 'react';\r\n\r\nimport './BDevice.scss';\r\nimport { desktopIcon, tabletIcon, mobileIcon } from '../utils/icons';\r\n\r\nconst BDevice = ({ device = 'desktop', onChange, className = 'iconButton', style }) => {\r\n\tconst [show, setShow] = useState(false);\r\n\r\n\twindow.addEventListener('click', () => setShow(false));\r\n\r\n\treturn <div className={'bDevice'} style={style}>\r\n\t\t{!show && <button className={className} title={device[0].toUpperCase() + device.slice(1)} onClick={(event) => {\r\n\t\t\tsetShow(true);\r\n\t\t\tevent.stopPropagation();\r\n\t\t}}>\r\n\t\t\t{device == 'desktop' ? desktopIcon : device == 'tablet' ? tabletIcon : mobileIcon}\r\n\t\t</button>}\r\n\r\n\t\t{show && <div className={'bDevicePopup'}>\r\n\t\t\t{[\r\n\t\t\t\t{ value: 'desktop', icon: desktopIcon },\r\n\t\t\t\t{ value: 'tablet', icon: tabletIcon },\r\n\t\t\t\t{ value: 'mobile', icon: mobileIcon }\r\n\t\t\t].map(({ icon, value }) => <button key={value} className={className} title={value[0].toUpperCase() + value.slice(1)} onClick={() => {\r\n\t\t\t\tonChange(value);\r\n\t\t\t\tsetShow(false);\r\n\t\t\t}}>{icon}</button>)}\r\n\t\t</div>}\r\n\t</div>\r\n};\r\nexport default BDevice;","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props label: 'Border Settings' (String)\r\n * @props border: { width, style, color, side, radius } (Object)\r\n * @props onChange: (Function)\r\n * @props defaults (optional): { width, style, color, side, radius } (Object)\r\n * @return Border Properties (Object)\r\n */\r\n\r\nimport { __ } from '@wordpress/i18n';\r\nimport { Dropdown, PanelRow, SelectControl, __experimentalUnitControl as UnitControl, Button } from '@wordpress/components';\r\n\r\nimport { Label, BColor } from '../index';\r\nimport { borderStyles, pxUnit, perUnit, emUnit, remUnit, sides } from '../utils/options';\r\n\r\nconst BorderControl = props => {\r\n\tconst { className = '', label = __('Border:', 'bplugins'), value, onChange, defaults = {} } = props;\r\n\r\n\tconst defaultVal = { width: '0px', style: 'solid', color: '#0000', side: 'all', radius: '0px' }\r\n\r\n\tconst getDefault = property => defaults?.[property] || defaultVal[property];\r\n\tconst setDefault = property => onChange({ ...value, [property]: getDefault(property) });\r\n\r\n\tconst getValue = property => value?.[property] || getDefault(property);\r\n\tconst setValue = (property, val) => onChange({ ...value, [property]: val });\r\n\tconst resetValue = property => <Button icon='image-rotate' className='bPlResetVal' onClick={() => setDefault(property)} />\r\n\r\n\treturn <PanelRow className={`bPlDropdown ${className}`}>\r\n\t\t<Label className='mt5'>{label}</Label>\r\n\r\n\t\t<Dropdown className='bPlDropdownContainer' contentClassName='bPlDropdownPopover' popoverProps={{ placement: 'bottom-end' }}\r\n\t\t\trenderToggle={({ isOpen, onToggle }) => <Button icon='edit' onClick={onToggle} aria-expanded={isOpen} />}\r\n\t\t\trenderContent={() => <>\r\n\t\t\t\t<PanelRow>\r\n\t\t\t\t\t<UnitControl label={__('Width:', 'bplugins')} labelPosition='left' value={getValue('width')} onChange={val => setValue('width', val)} units={[pxUnit(), emUnit()]} />\r\n\t\t\t\t\t{value?.width && value?.width !== getDefault('width') && resetValue('width')}\r\n\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t<PanelRow>\r\n\t\t\t\t\t<Label className=''>{__('Style:', 'bplugins')}</Label>\r\n\t\t\t\t\t<SelectControl value={getValue('style')} onChange={val => setValue('style', val)} options={borderStyles} />\r\n\t\t\t\t\t{value?.style && value?.style !== getDefault('style') && resetValue('style')}\r\n\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t<BColor label={__('Color:', 'bplugins')} value={getValue('color')} onChange={val => setValue('color', val)} defaultColor={getDefault('color')} />\r\n\r\n\t\t\t\t<PanelRow>\r\n\t\t\t\t\t<Label className=''>{__('Sides:', 'bplugins')}</Label>\r\n\t\t\t\t\t<SelectControl value={getValue('side')} onChange={val => setValue('side', val)} options={sides} />\r\n\t\t\t\t\t{value?.side && value?.side !== getDefault('side') && resetValue('side')}\r\n\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t<PanelRow>\r\n\t\t\t\t\t<UnitControl label={__('Radius:', 'bplugins')} labelPosition='left' value={getValue('radius')} onChange={val => setValue('radius', val)} units={[pxUnit(50), perUnit(50), emUnit(3), remUnit(3)]} isResetValueOnUnitChange={true} />\r\n\t\t\t\t\t{value?.radius && value?.radius !== getDefault('radius') && resetValue('radius')}\r\n\t\t\t\t</PanelRow>\r\n\t\t\t</>}\r\n\t\t/>\r\n\t</PanelRow>\r\n};\r\nexport default BorderControl;","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props value (String)\r\n * @props onChange: (Function)\r\n * @return Value (String)\r\n */\r\n\r\nimport { PanelRow, Button, ButtonGroup } from '@wordpress/components';\r\n\r\nimport { Label } from '../index';\r\n\r\nconst BtnGroup = props => {\r\n\tconst { className, label = '', value, onChange, options, isIcon = false, isTextIcon = false, size } = props;\r\n\r\n\tconst Buttons = ({ className = '' }) => <ButtonGroup className={`bPlBtnGroup ${className || null}`}>\r\n\t\t{Object.values(options).map(obj => {\r\n\t\t\tconst { value: val, icon = '', label = '', def = '' } = obj;\r\n\t\t\tconst isActive = value === val;\r\n\t\t\tconst isSm = size === 'small';\r\n\r\n\t\t\treturn <Button key={val} label={label} showTooltip={true} tooltipPosition='top'\r\n\t\t\t\ticon={isIcon ? icon : null}\r\n\t\t\t\tvariant={isActive ? 'primary' : ''}\r\n\t\t\t\taria-pressed={isActive}\r\n\t\t\t\tisSmall={isSm}\r\n\t\t\t\tisMedium={!isSm}\r\n\t\t\t\tonClick={() => onChange(val, def && def)}\r\n\t\t\t>{isTextIcon ? icon : isIcon ? '' : label}</Button>\r\n\t\t})}\r\n\t</ButtonGroup>\r\n\r\n\treturn label ? <PanelRow className={className}>\r\n\t\t<Label className=''>{label}</Label>\r\n\r\n\t\t<Buttons />\r\n\t</PanelRow> : <Buttons className={className} />\r\n};\r\nexport default BtnGroup;","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props label (optional): 'Typography' (String)\r\n * @props colors (required): { color, bgType, bg, gradient } (Object)\r\n * @props onChange (required): (Function)\r\n * @props defaults (optional): { color, bgType, bg, gradient } (Object)\r\n */\r\n\r\nimport { __ } from '@wordpress/i18n';\r\nimport { Button, PanelRow, Dropdown, __experimentalGradientPicker, GradientPicker, ColorIndicator } from '@wordpress/components';\r\nconst Gradient = __experimentalGradientPicker || GradientPicker;\r\n\r\n// Variables\r\nimport { Label, BtnGroup, BColor } from '../index';\r\nimport { gradients, bgTypes } from '../utils/options';\r\n\r\nconst ColorsControl = props => {\r\n\tconst { className = '', label = __('Colors:', 'bplugins'), value, onChange, defaults = {} } = props;\r\n\r\n\tconst defaultVal = { color: '#333', bgType: 'solid', bg: '#0000', gradient: 'linear-gradient(135deg, #4527a4, #8344c5)' }\r\n\r\n\tconst getDefault = property => defaults?.[property] || defaultVal[property];\r\n\r\n\tconst getValue = property => value?.[property] || getDefault(property);\r\n\tconst setValue = (property, val) => onChange({ ...value, [property]: val });\r\n\r\n\treturn <PanelRow className={`bPlDropdown ${className}`}>\r\n\t\t<Label className=''>{label} <ColorIndicator colorValue={getValue('color')} /> <ColorIndicator colorValue={getValue('gradient' === getValue('bgType') ? 'gradient' : 'bg')} /></Label>\r\n\r\n\t\t<Dropdown className='bPlDropdownContainer' contentClassName='bPlDropdownPopover' popoverProps={{ placement: 'bottom-end' }}\r\n\t\t\trenderToggle={({ isOpen, onToggle }) => <Button icon='edit' onClick={onToggle} aria-expanded={isOpen} />}\r\n\t\t\trenderContent={() => <>\r\n\t\t\t\t<BColor label={__('Color:', 'bplugins')} value={getValue('color')} onChange={val => setValue('color', val)} defaultColor={getDefault('color')} />\r\n\r\n\t\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t\t<Label className=''>{__('Background:', 'bplugins')}</Label>\r\n\t\t\t\t\t<BtnGroup value={getValue('bgType')} onChange={val => setValue('bgType', val)} options={bgTypes} size='small' />\r\n\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t{'gradient' === getValue('bgType') ? <Gradient value={getValue('gradient')} onChange={val => setValue('gradient', val)} gradients={gradients} /> : <BColor label={__('Background Color:', 'bplugins')} value={getValue('bg')} onChange={val => setValue('bg', val)} defaultColor={getDefault('bg')} />}\r\n\t\t\t</>}\r\n\t\t/>\r\n\t</PanelRow>\r\n};\r\nexport default ColorsControl;","import { __ } from '@wordpress/i18n';\r\nimport { PanelBody } from '@wordpress/components';\r\n\r\nimport { bookIcon, headsetIcon, starIcon, rightArrowIcon } from '../utils/icons';\r\nimport './HelpPanel.scss';\r\n\r\nconst HelpPanel = ({ slug, docsLink }) => {\r\n\treturn <PanelBody className='bPlPanelBody bPlHelpPanel' title={__('Help', 'bplugins')} initialOpen={false}>\r\n\r\n\t\t<div className='helpItems'>\r\n\t\t\t{docsLink && <a href={docsLink} target='_blank' rel='noreferrer'>\r\n\t\t\t\t{bookIcon}\r\n\t\t\t\t<p>{__('Read Documentation', 'bplugins')}</p>\r\n\t\t\t</a>}\r\n\r\n\t\t\t<a href='https://bplugins.com/support' target='_blank' rel='noreferrer'>\r\n\t\t\t\t{headsetIcon}\r\n\t\t\t\t<p>{__('Contact Support', 'bplugins')}</p>\r\n\t\t\t</a>\r\n\r\n\t\t\t{slug && <a href={`https://wordpress.org/support/plugin/${slug}/reviews/#new-post`} target='_blank' rel='noreferrer'>\r\n\t\t\t\t{starIcon}\r\n\t\t\t\t<p>{__('Rate Plugin', 'bplugins')}</p>\r\n\t\t\t</a>}\r\n\r\n\t\t\t<a href='https://bplugins.com/products' target='_blank' rel='noreferrer'>\r\n\t\t\t\t{rightArrowIcon}\r\n\t\t\t\t<p>{__('Other Plugins', 'bplugins')}</p>\r\n\t\t\t</a>\r\n\t\t</div>\r\n\t</PanelBody>\r\n}\r\nexport default HelpPanel;","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props label (optional): 'Select Icon' (String)\r\n * @props value (required): { class, fontSize, color } (Object)\r\n * @props onChange (required): (Function)\r\n * @props defaults (optional): { class, fontSize, color } (Object)\r\n * @props isSize (optional): true (Boolean)\r\n * @props isColor (optional): true (Boolean)\r\n */\r\n\r\nimport { useState } from 'react';\r\nimport { __ } from '@wordpress/i18n';\r\nimport { PanelRow, RangeControl, Tooltip, __experimentalGradientPicker, GradientPicker } from '@wordpress/components';\r\nconst Gradient = __experimentalGradientPicker || GradientPicker;\r\n\r\nimport './IconControl.scss';\r\n\r\nimport { Label, BtnGroup, BColor } from '../index';\r\nimport { gradients, bgTypes } from '../utils/options';\r\nimport icons from './icons';\r\n\r\nconst generateName = cl => cl.slice(cl.indexOf(' fa-') + 4);\r\nconst generateTitle = cl => generateName(cl)?.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');\r\n\r\nconst IconControl = props => {\r\n\tconst { className = '', label = __('Select Icon:', 'bplugins'), value = {}, onChange, defaults = {}, isSize = true, isColor = true } = props;\r\n\r\n\tconst defaultVal = { class: '', fontSize: 16, colorType: 'solid', color: 'inherit', gradient: 'linear-gradient(135deg, #4527a4, #8344c5)' }\r\n\r\n\tconst getDefault = property => defaults[property] || defaultVal[property];\r\n\r\n\tconst getValue = property => value[property] || getDefault(property);\r\n\tconst setValue = (property, val) => onChange({ ...value, [property]: val });\r\n\r\n\t// Font family searching\r\n\tconst [query, setQuery] = useState('');\r\n\tconst [isSearching, setIsSearching] = useState(false);\r\n\tconst searchIcons = icons.filter(icon => generateTitle(icon).toLowerCase().includes(query.toLowerCase()));\r\n\r\n\treturn <>\r\n\t\t<PanelRow className={`bPlIconTitle ${className}`}>\r\n\t\t\t<Label className='mt0 mb0'>{label}</Label>\r\n\r\n\t\t\t<Tooltip text={generateTitle(value.class)} placement='top' position='top'>\r\n\t\t\t\t<i className={value.class} />\r\n\t\t\t</Tooltip>\r\n\t\t</PanelRow>\r\n\r\n\t\t<div className='bPlIconSelect'>\r\n\t\t\t<input type='search' value={query} onClick={() => setIsSearching(!isSearching)} placeholder={generateTitle(getValue('class')) || 'Search & Select Icon'} onChange={e => setQuery(e.target.value)} />\r\n\r\n\t\t\t<span className={`dashicon dashicons dashicons-${isSearching ? 'arrow-up' : 'arrow-down'}`} onClick={() => setIsSearching(!isSearching)}></span>\r\n\r\n\t\t\t{isSearching && <div className='bPlIconLists'>\r\n\t\t\t\t{searchIcons?.map(icon => <Tooltip key={icon} text={generateTitle(icon)} placement='top' position='top'>\r\n\t\t\t\t\t<i onClick={() => {\r\n\t\t\t\t\t\tonChange({ ...value, class: icon });\r\n\t\t\t\t\t\tsetQuery('');\r\n\t\t\t\t\t\tsetIsSearching(false);\r\n\t\t\t\t\t}} className={icon} />\r\n\t\t\t\t</Tooltip>)}\r\n\t\t\t</div>}\r\n\t\t</div>\r\n\r\n\t\t{isSize && <>\r\n\t\t\t<Label>{__('Icon Size:', 'bplugins')}</Label>\r\n\t\t\t<RangeControl value={getValue('fontSize')} onChange={val => setValue('fontSize', val)} min={0} max={400} step={1} allowReset={true} resetFallbackValue={getDefault('fontSize')} initialPosition={getDefault('fontSize')} />\r\n\t\t</>}\r\n\r\n\t\t{isColor && <>\r\n\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t<Label className=''>{__('Icon Color Type:', 'bplugins')}</Label>\r\n\t\t\t\t<BtnGroup value={getValue('colorType')} onChange={val => setValue('colorType', val)} options={bgTypes} size='small' />\r\n\t\t\t</PanelRow>\r\n\r\n\t\t\t{'gradient' === getValue('colorType') ? <Gradient value={getValue('gradient')} onChange={val => setValue('gradient', val)} gradients={gradients} /> : <BColor label={__('Icon Color:', 'bplugins')} value={getValue('color')} onChange={val => setValue('color', val)} defaultColor={getDefault('color')} />}\r\n\t\t</>}\r\n\t</>\r\n};\r\nexport default IconControl;","var __WEBPACK_NAMESPACE_OBJECT__ = wp.data;","export const getBoxValue = object => Object.values(object).join(' ');\r\n\r\nexport const getImageSizes = (image, imageSizes) => {\r\n\tif (!image) return [];\r\n\tlet options = [];\r\n\tconst sizes = image.media_details.sizes;\r\n\r\n\tfor (const key in sizes) {\r\n\t\tconst imageSize = imageSizes.find(s => s.slug === key);\r\n\t\tif (imageSize) {\r\n\t\t\toptions.push({ label: imageSize.name, value: sizes[key].source_url });\r\n\t\t}\r\n\t}\r\n\treturn options;\r\n}\r\n\r\nexport const tabController = () => {\r\n\tsetTimeout(() => {\r\n\t\tconst panelBodies = document.querySelectorAll('.components-panel__body-title button');\r\n\t\tpanelBodies.forEach(item => {\r\n\t\t\titem.addEventListener('click', clickEveryItem);\r\n\t\t});\r\n\r\n\t\tfunction clickEveryItem() {\r\n\t\t\tthis.removeEventListener('click', clickEveryItem);\r\n\t\t\tpanelBodies.forEach(item => {\r\n\t\t\t\tif (item.getAttribute('aria-expanded') === 'true' && !item.isEqualNode(this)) {\r\n\t\t\t\t\titem.click();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.addEventListener('click', clickEveryItem);\r\n\t\t\t}, 500);\r\n\t\t}\r\n\t}, 500);\r\n};","import { __ } from '@wordpress/i18n';\r\nimport { withSelect } from '@wordpress/data';\r\nimport { MediaUpload, MediaUploadCheck, MediaPlaceholder } from '@wordpress/block-editor';\r\nimport { Button, withNotices, TextControl, SelectControl, PanelRow, ToolbarGroup, ToolbarButton } from '@wordpress/components';\r\nimport { isBlobURL } from '@wordpress/blob';\r\n\r\nimport './ImageControl.scss';\r\nimport { Label } from '../index';\r\nimport { getImageSizes } from '../utils/functions';\r\n\r\n\r\nexport const ImageHolderControl = props => {\r\n\tconst { className, label = __('Image:', 'bplugins'), value = {}, onChange } = props;\r\n\r\n\tconst onImageSelect = ({ id, url, alt, title }) => onChange({ ...value, id, url, alt, title });\r\n\r\n\treturn <div className={className}>\r\n\t\t<Label className='mb5'>{label}</Label>\r\n\r\n\t\t<div className='editImageHolder'>\r\n\t\t\t<div className='mediaControl'>\r\n\t\t\t\t<MediaUpload allowedTypes={['image']} value={value?.id} onSelect={onImageSelect} render={({ open }) =>\r\n\t\t\t\t\t!value.url ? <div className='btnControl'>\r\n\t\t\t\t\t\t<Button icon='upload' onClick={open}>{__('Upload', 'bplugins')}</Button>\r\n\t\t\t\t\t</div> : <div className='btnControl'>\r\n\t\t\t\t\t\t<Button icon='controls-repeat' onClick={open}>{__('Replace', 'bplugins')}</Button>\r\n\t\t\t\t\t\t<Button icon='exit' onClick={() => onChange({})} className='btnRed'>{__('Remove', 'bplugins')}</Button>\r\n\t\t\t\t\t</div>} />\r\n\t\t\t</div>\r\n\r\n\t\t\t<img src={value?.url} alt={value?.alt || value?.title} />\r\n\t\t</div>\r\n\t</div>\r\n};\r\n\r\n\r\nexport const ChangeImageData = withSelect((select, props) => {\r\n\tconst { value } = props;\r\n\r\n\treturn {\r\n\t\timage: value?.id ? select('core').getMedia(value?.id) : null,\r\n\t\timageSizes: select('core/block-editor').getSettings().imageSizes\r\n\t}\r\n})(props => {\r\n\tconst { className, value = {}, onChange, image, imageSizes } = props;\r\n\r\n\tconst setValue = (property, val) => onChange({ ...value, [property]: val });\r\n\r\n\treturn <div className={className}>\r\n\t\t{value?.url && !isBlobURL(value?.url) && <>\r\n\t\t\t<Label className='mb5'>{__('Alt Text (Alternative Text):', 'bplugins')}</Label>\r\n\t\t\t<TextControl value={value?.alt} onChange={val => setValue('alt', val)} />\r\n\t\t</>}\r\n\r\n\t\t{value?.id && 0 !== getImageSizes(image, imageSizes)?.length && <PanelRow>\r\n\t\t\t<Label className=''>{__('Select Size:', 'bplugins')}</Label>\r\n\t\t\t<SelectControl value={value?.url} onChange={val => setValue('url', val)} options={getImageSizes(image, imageSizes)} />\r\n\t\t</PanelRow>}\r\n\t</div>\r\n});\r\n\r\n\r\nexport const ImageEditControl = props => {\r\n\tconst { label = __('Edit Image:', 'bplugins'), value = {}, onChange } = props;\r\n\r\n\tconst onImageSelect = ({ id, url, alt, title }) => onChange({ ...value, id, url, alt, title });\r\n\r\n\treturn value?.url && <ToolbarGroup className='bPlToolbar'>\r\n\t\t<MediaUploadCheck>\r\n\t\t\t<MediaUpload allowedTypes={['image']} value={value?.id} onSelect={onImageSelect} render={({ open }) => <ToolbarButton label={label} icon='format-image' onClick={open} />} />\r\n\t\t</MediaUploadCheck>\r\n\t</ToolbarGroup>\r\n};\r\n\r\n\r\nexport const ImagePlaceholder = withNotices(props => {\r\n\tconst { label = __(' Image:', 'bplugins'), icon = 'format-image', value = {}, onChange, noticeOperations, noticeUI } = props;\r\n\r\n\tconst onImageSelect = ({ id, url, alt, title }) => onChange({ ...value, id, url, alt, title });\r\n\r\n\treturn <MediaPlaceholder labels={{ title: label }} icon={icon} allowedTypes={['image']} accept='image/*' onSelect={onImageSelect} onSelectURL={val => onChange({ ...value, id: null, url: val, alt: '', title: '' })} onError={val => noticeOperations.createErrorNotice(val)} notices={noticeUI} />\r\n});","import { useState } from 'react';\r\nimport { __ } from '@wordpress/i18n';\r\nimport { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';\r\nimport { PanelRow, TextControl, Button, Placeholder, ToolbarGroup, ToolbarButton } from '@wordpress/components';\r\n\r\nimport { Label } from '../index';\r\nimport './MediaControl.scss';\r\n\r\n\r\nexport const InlineMediaUpload = props => {\r\n\tconst { className, label = '', value, types = ['image'], onChange, placeholder = __('Enter URL', 'bplugins') } = props;\r\n\r\n\treturn <div className={className}>\r\n\t\t{label && <Label className='mb5'>{label}</Label>}\r\n\r\n\t\t<PanelRow className={`bplInlineMediaUpload`}>\r\n\t\t\t<TextControl value={value} onChange={val => onChange(val)} placeholder={placeholder} />\r\n\r\n\t\t\t<MediaUploadCheck>\r\n\t\t\t\t<MediaUpload\r\n\t\t\t\t\tallowedTypes={types}\r\n\t\t\t\t\tonSelect={val => onChange(val.url)}\r\n\t\t\t\t\trender={({ open }) => <Button className='button button-primary' onClick={open} icon={'upload'}></Button>}\r\n\t\t\t\t/>\r\n\t\t\t</MediaUploadCheck>\r\n\t\t</PanelRow>\r\n\t</div>\r\n}\r\n\r\n\r\nexport const InlineDetailMediaUpload = props => {\r\n\tconst { className, label = '', value = {}, types = ['image'], onChange, placeholder = __('Enter URL', 'bplugins') } = props;\r\n\r\n\treturn <div className={className}>\r\n\t\t{label && <Label className='mb5'>{label}</Label>}\r\n\r\n\t\t<PanelRow className={`bplInlineMediaUpload`}>\r\n\t\t\t<TextControl value={value?.url} onChange={url => onChange({ id: null, url, alt: '', title: '' })} placeholder={placeholder} />\r\n\r\n\t\t\t<MediaUploadCheck>\r\n\t\t\t\t<MediaUpload\r\n\t\t\t\t\tallowedTypes={types}\r\n\t\t\t\t\tonSelect={({ id, url, alt, title }) => onChange({ id, url, alt, title })}\r\n\t\t\t\t\trender={({ open }) => <Button className='button button-primary' onClick={open} icon={'upload'}></Button>}\r\n\t\t\t\t/>\r\n\t\t\t</MediaUploadCheck>\r\n\t\t</PanelRow>\r\n\t</div>\r\n}\r\n\r\n\r\nexport const BplMediaPlaceholder = props => {\r\n\tconst { onChange, icon = 'format-image', type = 'image', typeName = '', placeholder = __('Paste or type a video URL', 'bplugins') } = props;\r\n\r\n\tconst [mediaSource, setMediaSource] = useState();\r\n\r\n\treturn <Placeholder className='bplMediaPlaceholder' label={__(`Upload ${typeName || type}`, 'bplugins')}\r\n\t\tinstructions={__(`Upload a ${typeName || type} or paste/write ${typeName || type} url to get started.`, 'bplugins')}\r\n\t\ticon={icon}>\r\n\t\t<MediaUploadCheck>\r\n\t\t\t<MediaUpload\r\n\t\t\t\tallowedTypes={[type]}\r\n\t\t\t\tonSelect={val => onChange(val)}\r\n\t\t\t\trender={({ open }) => <Button isPrimary onClick={open}> {__('Upload', 'bplugins')} </Button>}\r\n\t\t\t/>\r\n\t\t</MediaUploadCheck>\r\n\r\n\t\t<PanelRow className='bplUrlInput'>\r\n\t\t\t<h3> {__('Or', 'bplugins')} </h3>\r\n\t\t\t<input\r\n\t\t\t\ttype='url'\r\n\t\t\t\taria-label={__('URL', 'bplugins')}\r\n\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\tonChange={src => setMediaSource(src.target.value)}\r\n\t\t\t\tvalue={mediaSource}\r\n\t\t\t/>\r\n\t\t\t<Button label={__('Apply', 'bplugins')} type='submit' onClick={e => {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tonChange({ id: null, url: mediaSource, alt: '', title: '' });\r\n\t\t\t\tsetMediaSource('');\r\n\t\t\t}} isPrimary>{__('Apply', 'bplugins')}</Button>\r\n\t\t</PanelRow>\r\n\t</Placeholder>\r\n}\r\n\r\n\r\nexport const MediaEditControl = props => {\r\n\tconst { label = __('Edit Image:', 'bplugins'), icon = 'format-image', types = ['image'], value = {}, onChange } = props;\r\n\r\n\tconst onFileSelect = ({ id, url, alt, title }) => onChange({ id, url, alt, title });\r\n\r\n\treturn value?.url && <ToolbarGroup className='bPlToolbar'>\r\n\t\t<MediaUploadCheck>\r\n\t\t\t<MediaUpload allowedTypes={types} value={value?.id} onSelect={onFileSelect} render={({ open }) => <ToolbarButton label={label} icon={icon} onClick={open} />} />\r\n\t\t</MediaUploadCheck>\r\n\t</ToolbarGroup>\r\n};","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","var __WEBPACK_NAMESPACE_OBJECT__ = ReactDOM;","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { createRef, createElement, Component, createContext } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport invariant from 'invariant';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport PropTypes from 'prop-types';\n\nvar Manager = function () {\n function Manager() {\n _classCallCheck(this, Manager);\n\n _defineProperty(this, \"refs\", {});\n }\n\n _createClass(Manager, [{\n key: \"add\",\n value: function add(collection, ref) {\n if (!this.refs[collection]) {\n this.refs[collection] = [];\n }\n\n this.refs[collection].push(ref);\n }\n }, {\n key: \"remove\",\n value: function remove(collection, ref) {\n var index = this.getIndex(collection, ref);\n\n if (index !== -1) {\n this.refs[collection].splice(index, 1);\n }\n }\n }, {\n key: \"isActive\",\n value: function isActive() {\n return this.active;\n }\n }, {\n key: \"getActive\",\n value: function getActive() {\n var _this = this;\n\n return this.refs[this.active.collection].find(function (_ref) {\n var node = _ref.node;\n return node.sortableInfo.index == _this.active.index;\n });\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(collection, ref) {\n return this.refs[collection].indexOf(ref);\n }\n }, {\n key: \"getOrderedRefs\",\n value: function getOrderedRefs() {\n var collection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.active.collection;\n return this.refs[collection].sort(sortByIndex);\n }\n }]);\n\n return Manager;\n}();\n\nfunction sortByIndex(_ref2, _ref3) {\n var index1 = _ref2.node.sortableInfo.index;\n var index2 = _ref3.node.sortableInfo.index;\n return index1 - index2;\n}\n\nfunction arrayMove(array, from, to) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof console !== 'undefined') {\n console.warn(\"Deprecation warning: arrayMove will no longer be exported by 'react-sortable-hoc' in the next major release. Please install the `array-move` package locally instead. https://www.npmjs.com/package/array-move\");\n }\n }\n\n array = array.slice();\n array.splice(to < 0 ? array.length + to : to, 0, array.splice(from, 1)[0]);\n return array;\n}\nfunction omit(obj, keysToOmit) {\n return Object.keys(obj).reduce(function (acc, key) {\n if (keysToOmit.indexOf(key) === -1) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\nvar events = {\n end: ['touchend', 'touchcancel', 'mouseup'],\n move: ['touchmove', 'mousemove'],\n start: ['touchstart', 'mousedown']\n};\nvar vendorPrefix = function () {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return '';\n }\n\n var styles = window.getComputedStyle(document.documentElement, '') || ['-moz-hidden-iframe'];\n var pre = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/) || styles.OLink === '' && ['', 'o'])[1];\n\n switch (pre) {\n case 'ms':\n return 'ms';\n\n default:\n return pre && pre.length ? pre[0].toUpperCase() + pre.substr(1) : '';\n }\n}();\nfunction setInlineStyles(node, styles) {\n Object.keys(styles).forEach(function (key) {\n node.style[key] = styles[key];\n });\n}\nfunction setTranslate3d(node, translate) {\n node.style[\"\".concat(vendorPrefix, \"Transform\")] = translate == null ? '' : \"translate3d(\".concat(translate.x, \"px,\").concat(translate.y, \"px,0)\");\n}\nfunction setTransitionDuration(node, duration) {\n node.style[\"\".concat(vendorPrefix, \"TransitionDuration\")] = duration == null ? '' : \"\".concat(duration, \"ms\");\n}\nfunction closest(el, fn) {\n while (el) {\n if (fn(el)) {\n return el;\n }\n\n el = el.parentNode;\n }\n\n return null;\n}\nfunction limit(min, max, value) {\n return Math.max(min, Math.min(value, max));\n}\n\nfunction getPixelValue(stringValue) {\n if (stringValue.substr(-2) === 'px') {\n return parseFloat(stringValue);\n }\n\n return 0;\n}\n\nfunction getElementMargin(element) {\n var style = window.getComputedStyle(element);\n return {\n bottom: getPixelValue(style.marginBottom),\n left: getPixelValue(style.marginLeft),\n right: getPixelValue(style.marginRight),\n top: getPixelValue(style.marginTop)\n };\n}\nfunction provideDisplayName(prefix, Component$$1) {\n var componentName = Component$$1.displayName || Component$$1.name;\n return componentName ? \"\".concat(prefix, \"(\").concat(componentName, \")\") : prefix;\n}\nfunction getScrollAdjustedBoundingClientRect(node, scrollDelta) {\n var boundingClientRect = node.getBoundingClientRect();\n return {\n top: boundingClientRect.top + scrollDelta.top,\n left: boundingClientRect.left + scrollDelta.left\n };\n}\nfunction getPosition(event) {\n if (event.touches && event.touches.length) {\n return {\n x: event.touches[0].pageX,\n y: event.touches[0].pageY\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n return {\n x: event.changedTouches[0].pageX,\n y: event.changedTouches[0].pageY\n };\n } else {\n return {\n x: event.pageX,\n y: event.pageY\n };\n }\n}\nfunction isTouchEvent(event) {\n return event.touches && event.touches.length || event.changedTouches && event.changedTouches.length;\n}\nfunction getEdgeOffset(node, parent) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n left: 0,\n top: 0\n };\n\n if (!node) {\n return undefined;\n }\n\n var nodeOffset = {\n left: offset.left + node.offsetLeft,\n top: offset.top + node.offsetTop\n };\n\n if (node.parentNode === parent) {\n return nodeOffset;\n }\n\n return getEdgeOffset(node.parentNode, parent, nodeOffset);\n}\nfunction getTargetIndex(newIndex, prevIndex, oldIndex) {\n if (newIndex < oldIndex && newIndex > prevIndex) {\n return newIndex - 1;\n } else if (newIndex > oldIndex && newIndex < prevIndex) {\n return newIndex + 1;\n } else {\n return newIndex;\n }\n}\nfunction getLockPixelOffset(_ref) {\n var lockOffset = _ref.lockOffset,\n width = _ref.width,\n height = _ref.height;\n var offsetX = lockOffset;\n var offsetY = lockOffset;\n var unit = 'px';\n\n if (typeof lockOffset === 'string') {\n var match = /^[+-]?\\d*(?:\\.\\d*)?(px|%)$/.exec(lockOffset);\n invariant(match !== null, 'lockOffset value should be a number or a string of a ' + 'number followed by \"px\" or \"%\". Given %s', lockOffset);\n offsetX = parseFloat(lockOffset);\n offsetY = parseFloat(lockOffset);\n unit = match[1];\n }\n\n invariant(isFinite(offsetX) && isFinite(offsetY), 'lockOffset value should be a finite. Given %s', lockOffset);\n\n if (unit === '%') {\n offsetX = offsetX * width / 100;\n offsetY = offsetY * height / 100;\n }\n\n return {\n x: offsetX,\n y: offsetY\n };\n}\nfunction getLockPixelOffsets(_ref2) {\n var height = _ref2.height,\n width = _ref2.width,\n lockOffset = _ref2.lockOffset;\n var offsets = Array.isArray(lockOffset) ? lockOffset : [lockOffset, lockOffset];\n invariant(offsets.length === 2, 'lockOffset prop of SortableContainer should be a single ' + 'value or an array of exactly two values. Given %s', lockOffset);\n\n var _offsets = _slicedToArray(offsets, 2),\n minLockOffset = _offsets[0],\n maxLockOffset = _offsets[1];\n\n return [getLockPixelOffset({\n height: height,\n lockOffset: minLockOffset,\n width: width\n }), getLockPixelOffset({\n height: height,\n lockOffset: maxLockOffset,\n width: width\n })];\n}\n\nfunction isScrollable(el) {\n var computedStyle = window.getComputedStyle(el);\n var overflowRegex = /(auto|scroll)/;\n var properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.find(function (property) {\n return overflowRegex.test(computedStyle[property]);\n });\n}\n\nfunction getScrollingParent(el) {\n if (!(el instanceof HTMLElement)) {\n return null;\n } else if (isScrollable(el)) {\n return el;\n } else {\n return getScrollingParent(el.parentNode);\n }\n}\nfunction getContainerGridGap(element) {\n var style = window.getComputedStyle(element);\n\n if (style.display === 'grid') {\n return {\n x: getPixelValue(style.gridColumnGap),\n y: getPixelValue(style.gridRowGap)\n };\n }\n\n return {\n x: 0,\n y: 0\n };\n}\nvar KEYCODE = {\n TAB: 9,\n ESC: 27,\n SPACE: 32,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40\n};\nvar NodeType = {\n Anchor: 'A',\n Button: 'BUTTON',\n Canvas: 'CANVAS',\n Input: 'INPUT',\n Option: 'OPTION',\n Textarea: 'TEXTAREA',\n Select: 'SELECT'\n};\nfunction cloneNode(node) {\n var selector = 'input, textarea, select, canvas, [contenteditable]';\n var fields = node.querySelectorAll(selector);\n var clonedNode = node.cloneNode(true);\n\n var clonedFields = _toConsumableArray(clonedNode.querySelectorAll(selector));\n\n clonedFields.forEach(function (field, i) {\n if (field.type !== 'file') {\n field.value = fields[i].value;\n }\n\n if (field.type === 'radio' && field.name) {\n field.name = \"__sortableClone__\".concat(field.name);\n }\n\n if (field.tagName === NodeType.Canvas && fields[i].width > 0 && fields[i].height > 0) {\n var destCtx = field.getContext('2d');\n destCtx.drawImage(fields[i], 0, 0);\n }\n });\n return clonedNode;\n}\n\nfunction sortableHandle(WrappedComponent) {\n var _class, _temp;\n\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n withRef: false\n };\n return _temp = _class = function (_React$Component) {\n _inherits(WithSortableHandle, _React$Component);\n\n function WithSortableHandle() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, WithSortableHandle);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithSortableHandle)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"wrappedInstance\", createRef());\n\n return _this;\n }\n\n _createClass(WithSortableHandle, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var node = findDOMNode(this);\n node.sortableHandle = true;\n }\n }, {\n key: \"getWrappedInstance\",\n value: function getWrappedInstance() {\n invariant(config.withRef, 'To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableHandle() call');\n return this.wrappedInstance.current;\n }\n }, {\n key: \"render\",\n value: function render() {\n var ref = config.withRef ? this.wrappedInstance : null;\n return createElement(WrappedComponent, _extends({\n ref: ref\n }, this.props));\n }\n }]);\n\n return WithSortableHandle;\n }(Component), _defineProperty(_class, \"displayName\", provideDisplayName('sortableHandle', WrappedComponent)), _temp;\n}\nfunction isSortableHandle(node) {\n return node.sortableHandle != null;\n}\n\nvar AutoScroller = function () {\n function AutoScroller(container, onScrollCallback) {\n _classCallCheck(this, AutoScroller);\n\n this.container = container;\n this.onScrollCallback = onScrollCallback;\n }\n\n _createClass(AutoScroller, [{\n key: \"clear\",\n value: function clear() {\n if (this.interval == null) {\n return;\n }\n\n clearInterval(this.interval);\n this.interval = null;\n }\n }, {\n key: \"update\",\n value: function update(_ref) {\n var _this = this;\n\n var translate = _ref.translate,\n minTranslate = _ref.minTranslate,\n maxTranslate = _ref.maxTranslate,\n width = _ref.width,\n height = _ref.height;\n var direction = {\n x: 0,\n y: 0\n };\n var speed = {\n x: 1,\n y: 1\n };\n var acceleration = {\n x: 10,\n y: 10\n };\n var _this$container = this.container,\n scrollTop = _this$container.scrollTop,\n scrollLeft = _this$container.scrollLeft,\n scrollHeight = _this$container.scrollHeight,\n scrollWidth = _this$container.scrollWidth,\n clientHeight = _this$container.clientHeight,\n clientWidth = _this$container.clientWidth;\n var isTop = scrollTop === 0;\n var isBottom = scrollHeight - scrollTop - clientHeight === 0;\n var isLeft = scrollLeft === 0;\n var isRight = scrollWidth - scrollLeft - clientWidth === 0;\n\n if (translate.y >= maxTranslate.y - height / 2 && !isBottom) {\n direction.y = 1;\n speed.y = acceleration.y * Math.abs((maxTranslate.y - height / 2 - translate.y) / height);\n } else if (translate.x >= maxTranslate.x - width / 2 && !isRight) {\n direction.x = 1;\n speed.x = acceleration.x * Math.abs((maxTranslate.x - width / 2 - translate.x) / width);\n } else if (translate.y <= minTranslate.y + height / 2 && !isTop) {\n direction.y = -1;\n speed.y = acceleration.y * Math.abs((translate.y - height / 2 - minTranslate.y) / height);\n } else if (translate.x <= minTranslate.x + width / 2 && !isLeft) {\n direction.x = -1;\n speed.x = acceleration.x * Math.abs((translate.x - width / 2 - minTranslate.x) / width);\n }\n\n if (this.interval) {\n this.clear();\n this.isAutoScrolling = false;\n }\n\n if (direction.x !== 0 || direction.y !== 0) {\n this.interval = setInterval(function () {\n _this.isAutoScrolling = true;\n var offset = {\n left: speed.x * direction.x,\n top: speed.y * direction.y\n };\n _this.container.scrollTop += offset.top;\n _this.container.scrollLeft += offset.left;\n\n _this.onScrollCallback(offset);\n }, 5);\n }\n }\n }]);\n\n return AutoScroller;\n}();\n\nfunction defaultGetHelperDimensions(_ref) {\n var node = _ref.node;\n return {\n height: node.offsetHeight,\n width: node.offsetWidth\n };\n}\n\nfunction defaultShouldCancelStart(event) {\n var interactiveElements = [NodeType.Input, NodeType.Textarea, NodeType.Select, NodeType.Option, NodeType.Button];\n\n if (interactiveElements.indexOf(event.target.tagName) !== -1) {\n return true;\n }\n\n if (closest(event.target, function (el) {\n return el.contentEditable === 'true';\n })) {\n return true;\n }\n\n return false;\n}\n\nvar propTypes = {\n axis: PropTypes.oneOf(['x', 'y', 'xy']),\n contentWindow: PropTypes.any,\n disableAutoscroll: PropTypes.bool,\n distance: PropTypes.number,\n getContainer: PropTypes.func,\n getHelperDimensions: PropTypes.func,\n helperClass: PropTypes.string,\n helperContainer: PropTypes.oneOfType([PropTypes.func, typeof HTMLElement === 'undefined' ? PropTypes.any : PropTypes.instanceOf(HTMLElement)]),\n hideSortableGhost: PropTypes.bool,\n keyboardSortingTransitionDuration: PropTypes.number,\n lockAxis: PropTypes.string,\n lockOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]))]),\n lockToContainerEdges: PropTypes.bool,\n onSortEnd: PropTypes.func,\n onSortMove: PropTypes.func,\n onSortOver: PropTypes.func,\n onSortStart: PropTypes.func,\n pressDelay: PropTypes.number,\n pressThreshold: PropTypes.number,\n keyCodes: PropTypes.shape({\n lift: PropTypes.arrayOf(PropTypes.number),\n drop: PropTypes.arrayOf(PropTypes.number),\n cancel: PropTypes.arrayOf(PropTypes.number),\n up: PropTypes.arrayOf(PropTypes.number),\n down: PropTypes.arrayOf(PropTypes.number)\n }),\n shouldCancelStart: PropTypes.func,\n transitionDuration: PropTypes.number,\n updateBeforeSortStart: PropTypes.func,\n useDragHandle: PropTypes.bool,\n useWindowAsScrollContainer: PropTypes.bool\n};\nvar defaultKeyCodes = {\n lift: [KEYCODE.SPACE],\n drop: [KEYCODE.SPACE],\n cancel: [KEYCODE.ESC],\n up: [KEYCODE.UP, KEYCODE.LEFT],\n down: [KEYCODE.DOWN, KEYCODE.RIGHT]\n};\nvar defaultProps = {\n axis: 'y',\n disableAutoscroll: false,\n distance: 0,\n getHelperDimensions: defaultGetHelperDimensions,\n hideSortableGhost: true,\n lockOffset: '50%',\n lockToContainerEdges: false,\n pressDelay: 0,\n pressThreshold: 5,\n keyCodes: defaultKeyCodes,\n shouldCancelStart: defaultShouldCancelStart,\n transitionDuration: 300,\n useWindowAsScrollContainer: false\n};\nvar omittedProps = Object.keys(propTypes);\nfunction validateProps(props) {\n invariant(!(props.distance && props.pressDelay), 'Attempted to set both `pressDelay` and `distance` on SortableContainer, you may only use one or the other, not both at the same time.');\n}\n\nfunction _finallyRethrows(body, finalizer) {\n try {\n var result = body();\n } catch (e) {\n return finalizer(true, e);\n }\n\n if (result && result.then) {\n return result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n }\n\n return finalizer(false, value);\n}\nvar SortableContext = createContext({\n manager: {}\n});\nfunction sortableContainer(WrappedComponent) {\n var _class, _temp;\n\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n withRef: false\n };\n return _temp = _class = function (_React$Component) {\n _inherits(WithSortableContainer, _React$Component);\n\n function WithSortableContainer(props) {\n var _this;\n\n _classCallCheck(this, WithSortableContainer);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(WithSortableContainer).call(this, props));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {});\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleStart\", function (event) {\n var _this$props = _this.props,\n distance = _this$props.distance,\n shouldCancelStart = _this$props.shouldCancelStart;\n\n if (event.button === 2 || shouldCancelStart(event)) {\n return;\n }\n\n _this.touched = true;\n _this.position = getPosition(event);\n var node = closest(event.target, function (el) {\n return el.sortableInfo != null;\n });\n\n if (node && node.sortableInfo && _this.nodeIsChild(node) && !_this.state.sorting) {\n var useDragHandle = _this.props.useDragHandle;\n var _node$sortableInfo = node.sortableInfo,\n index = _node$sortableInfo.index,\n collection = _node$sortableInfo.collection,\n disabled = _node$sortableInfo.disabled;\n\n if (disabled) {\n return;\n }\n\n if (useDragHandle && !closest(event.target, isSortableHandle)) {\n return;\n }\n\n _this.manager.active = {\n collection: collection,\n index: index\n };\n\n if (!isTouchEvent(event) && event.target.tagName === NodeType.Anchor) {\n event.preventDefault();\n }\n\n if (!distance) {\n if (_this.props.pressDelay === 0) {\n _this.handlePress(event);\n } else {\n _this.pressTimer = setTimeout(function () {\n return _this.handlePress(event);\n }, _this.props.pressDelay);\n }\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"nodeIsChild\", function (node) {\n return node.sortableInfo.manager === _this.manager;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleMove\", function (event) {\n var _this$props2 = _this.props,\n distance = _this$props2.distance,\n pressThreshold = _this$props2.pressThreshold;\n\n if (!_this.state.sorting && _this.touched && !_this._awaitingUpdateBeforeSortStart) {\n var position = getPosition(event);\n var delta = {\n x: _this.position.x - position.x,\n y: _this.position.y - position.y\n };\n var combinedDelta = Math.abs(delta.x) + Math.abs(delta.y);\n _this.delta = delta;\n\n if (!distance && (!pressThreshold || combinedDelta >= pressThreshold)) {\n clearTimeout(_this.cancelTimer);\n _this.cancelTimer = setTimeout(_this.cancel, 0);\n } else if (distance && combinedDelta >= distance && _this.manager.isActive()) {\n _this.handlePress(event);\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleEnd\", function () {\n _this.touched = false;\n\n _this.cancel();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"cancel\", function () {\n var distance = _this.props.distance;\n var sorting = _this.state.sorting;\n\n if (!sorting) {\n if (!distance) {\n clearTimeout(_this.pressTimer);\n }\n\n _this.manager.active = null;\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handlePress\", function (event) {\n try {\n var active = _this.manager.getActive();\n\n var _temp6 = function () {\n if (active) {\n var _temp7 = function _temp7() {\n var index = _node.sortableInfo.index;\n var margin = getElementMargin(_node);\n var gridGap = getContainerGridGap(_this.container);\n\n var containerBoundingRect = _this.scrollContainer.getBoundingClientRect();\n\n var dimensions = _getHelperDimensions({\n index: index,\n node: _node,\n collection: _collection\n });\n\n _this.node = _node;\n _this.margin = margin;\n _this.gridGap = gridGap;\n _this.width = dimensions.width;\n _this.height = dimensions.height;\n _this.marginOffset = {\n x: _this.margin.left + _this.margin.right + _this.gridGap.x,\n y: Math.max(_this.margin.top, _this.margin.bottom, _this.gridGap.y)\n };\n _this.boundingClientRect = _node.getBoundingClientRect();\n _this.containerBoundingRect = containerBoundingRect;\n _this.index = index;\n _this.newIndex = index;\n _this.axis = {\n x: _axis.indexOf('x') >= 0,\n y: _axis.indexOf('y') >= 0\n };\n _this.offsetEdge = getEdgeOffset(_node, _this.container);\n\n if (_isKeySorting) {\n _this.initialOffset = getPosition(_objectSpread({}, event, {\n pageX: _this.boundingClientRect.left,\n pageY: _this.boundingClientRect.top\n }));\n } else {\n _this.initialOffset = getPosition(event);\n }\n\n _this.initialScroll = {\n left: _this.scrollContainer.scrollLeft,\n top: _this.scrollContainer.scrollTop\n };\n _this.initialWindowScroll = {\n left: window.pageXOffset,\n top: window.pageYOffset\n };\n _this.helper = _this.helperContainer.appendChild(cloneNode(_node));\n setInlineStyles(_this.helper, {\n boxSizing: 'border-box',\n height: \"\".concat(_this.height, \"px\"),\n left: \"\".concat(_this.boundingClientRect.left - margin.left, \"px\"),\n pointerEvents: 'none',\n position: 'fixed',\n top: \"\".concat(_this.boundingClientRect.top - margin.top, \"px\"),\n width: \"\".concat(_this.width, \"px\")\n });\n\n if (_isKeySorting) {\n _this.helper.focus();\n }\n\n if (_hideSortableGhost) {\n _this.sortableGhost = _node;\n setInlineStyles(_node, {\n opacity: 0,\n visibility: 'hidden'\n });\n }\n\n _this.minTranslate = {};\n _this.maxTranslate = {};\n\n if (_isKeySorting) {\n var _ref = _useWindowAsScrollContainer ? {\n top: 0,\n left: 0,\n width: _this.contentWindow.innerWidth,\n height: _this.contentWindow.innerHeight\n } : _this.containerBoundingRect,\n containerTop = _ref.top,\n containerLeft = _ref.left,\n containerWidth = _ref.width,\n containerHeight = _ref.height;\n\n var containerBottom = containerTop + containerHeight;\n var containerRight = containerLeft + containerWidth;\n\n if (_this.axis.x) {\n _this.minTranslate.x = containerLeft - _this.boundingClientRect.left;\n _this.maxTranslate.x = containerRight - (_this.boundingClientRect.left + _this.width);\n }\n\n if (_this.axis.y) {\n _this.minTranslate.y = containerTop - _this.boundingClientRect.top;\n _this.maxTranslate.y = containerBottom - (_this.boundingClientRect.top + _this.height);\n }\n } else {\n if (_this.axis.x) {\n _this.minTranslate.x = (_useWindowAsScrollContainer ? 0 : containerBoundingRect.left) - _this.boundingClientRect.left - _this.width / 2;\n _this.maxTranslate.x = (_useWindowAsScrollContainer ? _this.contentWindow.innerWidth : containerBoundingRect.left + containerBoundingRect.width) - _this.boundingClientRect.left - _this.width / 2;\n }\n\n if (_this.axis.y) {\n _this.minTranslate.y = (_useWindowAsScrollContainer ? 0 : containerBoundingRect.top) - _this.boundingClientRect.top - _this.height / 2;\n _this.maxTranslate.y = (_useWindowAsScrollContainer ? _this.contentWindow.innerHeight : containerBoundingRect.top + containerBoundingRect.height) - _this.boundingClientRect.top - _this.height / 2;\n }\n }\n\n if (_helperClass) {\n _helperClass.split(' ').forEach(function (className) {\n return _this.helper.classList.add(className);\n });\n }\n\n _this.listenerNode = event.touches ? event.target : _this.contentWindow;\n\n if (_isKeySorting) {\n _this.listenerNode.addEventListener('wheel', _this.handleKeyEnd, true);\n\n _this.listenerNode.addEventListener('mousedown', _this.handleKeyEnd, true);\n\n _this.listenerNode.addEventListener('keydown', _this.handleKeyDown);\n } else {\n events.move.forEach(function (eventName) {\n return _this.listenerNode.addEventListener(eventName, _this.handleSortMove, false);\n });\n events.end.forEach(function (eventName) {\n return _this.listenerNode.addEventListener(eventName, _this.handleSortEnd, false);\n });\n }\n\n _this.setState({\n sorting: true,\n sortingIndex: index\n });\n\n if (_onSortStart) {\n _onSortStart({\n node: _node,\n index: index,\n collection: _collection,\n isKeySorting: _isKeySorting,\n nodes: _this.manager.getOrderedRefs(),\n helper: _this.helper\n }, event);\n }\n\n if (_isKeySorting) {\n _this.keyMove(0);\n }\n };\n\n var _this$props3 = _this.props,\n _axis = _this$props3.axis,\n _getHelperDimensions = _this$props3.getHelperDimensions,\n _helperClass = _this$props3.helperClass,\n _hideSortableGhost = _this$props3.hideSortableGhost,\n updateBeforeSortStart = _this$props3.updateBeforeSortStart,\n _onSortStart = _this$props3.onSortStart,\n _useWindowAsScrollContainer = _this$props3.useWindowAsScrollContainer;\n var _node = active.node,\n _collection = active.collection;\n var _isKeySorting = _this.manager.isKeySorting;\n\n var _temp8 = function () {\n if (typeof updateBeforeSortStart === 'function') {\n _this._awaitingUpdateBeforeSortStart = true;\n\n var _temp9 = _finallyRethrows(function () {\n var index = _node.sortableInfo.index;\n return Promise.resolve(updateBeforeSortStart({\n collection: _collection,\n index: index,\n node: _node,\n isKeySorting: _isKeySorting\n }, event)).then(function () {});\n }, function (_wasThrown, _result) {\n _this._awaitingUpdateBeforeSortStart = false;\n if (_wasThrown) throw _result;\n return _result;\n });\n\n if (_temp9 && _temp9.then) return _temp9.then(function () {});\n }\n }();\n\n return _temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8);\n }\n }();\n\n return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);\n } catch (e) {\n return Promise.reject(e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleSortMove\", function (event) {\n var onSortMove = _this.props.onSortMove;\n\n if (typeof event.preventDefault === 'function' && event.cancelable) {\n event.preventDefault();\n }\n\n _this.updateHelperPosition(event);\n\n _this.animateNodes();\n\n _this.autoscroll();\n\n if (onSortMove) {\n onSortMove(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleSortEnd\", function (event) {\n var _this$props4 = _this.props,\n hideSortableGhost = _this$props4.hideSortableGhost,\n onSortEnd = _this$props4.onSortEnd;\n var _this$manager = _this.manager,\n collection = _this$manager.active.collection,\n isKeySorting = _this$manager.isKeySorting;\n\n var nodes = _this.manager.getOrderedRefs();\n\n if (_this.listenerNode) {\n if (isKeySorting) {\n _this.listenerNode.removeEventListener('wheel', _this.handleKeyEnd, true);\n\n _this.listenerNode.removeEventListener('mousedown', _this.handleKeyEnd, true);\n\n _this.listenerNode.removeEventListener('keydown', _this.handleKeyDown);\n } else {\n events.move.forEach(function (eventName) {\n return _this.listenerNode.removeEventListener(eventName, _this.handleSortMove);\n });\n events.end.forEach(function (eventName) {\n return _this.listenerNode.removeEventListener(eventName, _this.handleSortEnd);\n });\n }\n }\n\n _this.helper.parentNode.removeChild(_this.helper);\n\n if (hideSortableGhost && _this.sortableGhost) {\n setInlineStyles(_this.sortableGhost, {\n opacity: '',\n visibility: ''\n });\n }\n\n for (var i = 0, len = nodes.length; i < len; i++) {\n var _node2 = nodes[i];\n var el = _node2.node;\n _node2.edgeOffset = null;\n _node2.boundingClientRect = null;\n setTranslate3d(el, null);\n setTransitionDuration(el, null);\n _node2.translate = null;\n }\n\n _this.autoScroller.clear();\n\n _this.manager.active = null;\n _this.manager.isKeySorting = false;\n\n _this.setState({\n sorting: false,\n sortingIndex: null\n });\n\n if (typeof onSortEnd === 'function') {\n onSortEnd({\n collection: collection,\n newIndex: _this.newIndex,\n oldIndex: _this.index,\n isKeySorting: isKeySorting,\n nodes: nodes\n }, event);\n }\n\n _this.touched = false;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"autoscroll\", function () {\n var disableAutoscroll = _this.props.disableAutoscroll;\n var isKeySorting = _this.manager.isKeySorting;\n\n if (disableAutoscroll) {\n _this.autoScroller.clear();\n\n return;\n }\n\n if (isKeySorting) {\n var translate = _objectSpread({}, _this.translate);\n\n var scrollX = 0;\n var scrollY = 0;\n\n if (_this.axis.x) {\n translate.x = Math.min(_this.maxTranslate.x, Math.max(_this.minTranslate.x, _this.translate.x));\n scrollX = _this.translate.x - translate.x;\n }\n\n if (_this.axis.y) {\n translate.y = Math.min(_this.maxTranslate.y, Math.max(_this.minTranslate.y, _this.translate.y));\n scrollY = _this.translate.y - translate.y;\n }\n\n _this.translate = translate;\n setTranslate3d(_this.helper, _this.translate);\n _this.scrollContainer.scrollLeft += scrollX;\n _this.scrollContainer.scrollTop += scrollY;\n return;\n }\n\n _this.autoScroller.update({\n height: _this.height,\n maxTranslate: _this.maxTranslate,\n minTranslate: _this.minTranslate,\n translate: _this.translate,\n width: _this.width\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onAutoScroll\", function (offset) {\n _this.translate.x += offset.left;\n _this.translate.y += offset.top;\n\n _this.animateNodes();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleKeyDown\", function (event) {\n var keyCode = event.keyCode;\n var _this$props5 = _this.props,\n shouldCancelStart = _this$props5.shouldCancelStart,\n _this$props5$keyCodes = _this$props5.keyCodes,\n customKeyCodes = _this$props5$keyCodes === void 0 ? {} : _this$props5$keyCodes;\n\n var keyCodes = _objectSpread({}, defaultKeyCodes, customKeyCodes);\n\n if (_this.manager.active && !_this.manager.isKeySorting || !_this.manager.active && (!keyCodes.lift.includes(keyCode) || shouldCancelStart(event) || !_this.isValidSortingTarget(event))) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n if (keyCodes.lift.includes(keyCode) && !_this.manager.active) {\n _this.keyLift(event);\n } else if (keyCodes.drop.includes(keyCode) && _this.manager.active) {\n _this.keyDrop(event);\n } else if (keyCodes.cancel.includes(keyCode)) {\n _this.newIndex = _this.manager.active.index;\n\n _this.keyDrop(event);\n } else if (keyCodes.up.includes(keyCode)) {\n _this.keyMove(-1);\n } else if (keyCodes.down.includes(keyCode)) {\n _this.keyMove(1);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"keyLift\", function (event) {\n var target = event.target;\n var node = closest(target, function (el) {\n return el.sortableInfo != null;\n });\n var _node$sortableInfo2 = node.sortableInfo,\n index = _node$sortableInfo2.index,\n collection = _node$sortableInfo2.collection;\n _this.initialFocusedNode = target;\n _this.manager.isKeySorting = true;\n _this.manager.active = {\n index: index,\n collection: collection\n };\n\n _this.handlePress(event);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"keyMove\", function (shift) {\n var nodes = _this.manager.getOrderedRefs();\n\n var lastIndex = nodes[nodes.length - 1].node.sortableInfo.index;\n var newIndex = _this.newIndex + shift;\n var prevIndex = _this.newIndex;\n\n if (newIndex < 0 || newIndex > lastIndex) {\n return;\n }\n\n _this.prevIndex = prevIndex;\n _this.newIndex = newIndex;\n var targetIndex = getTargetIndex(_this.newIndex, _this.prevIndex, _this.index);\n var target = nodes.find(function (_ref2) {\n var node = _ref2.node;\n return node.sortableInfo.index === targetIndex;\n });\n var targetNode = target.node;\n var scrollDelta = _this.containerScrollDelta;\n var targetBoundingClientRect = target.boundingClientRect || getScrollAdjustedBoundingClientRect(targetNode, scrollDelta);\n var targetTranslate = target.translate || {\n x: 0,\n y: 0\n };\n var targetPosition = {\n top: targetBoundingClientRect.top + targetTranslate.y - scrollDelta.top,\n left: targetBoundingClientRect.left + targetTranslate.x - scrollDelta.left\n };\n var shouldAdjustForSize = prevIndex < newIndex;\n var sizeAdjustment = {\n x: shouldAdjustForSize && _this.axis.x ? targetNode.offsetWidth - _this.width : 0,\n y: shouldAdjustForSize && _this.axis.y ? targetNode.offsetHeight - _this.height : 0\n };\n\n _this.handleSortMove({\n pageX: targetPosition.left + sizeAdjustment.x,\n pageY: targetPosition.top + sizeAdjustment.y,\n ignoreTransition: shift === 0\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"keyDrop\", function (event) {\n _this.handleSortEnd(event);\n\n if (_this.initialFocusedNode) {\n _this.initialFocusedNode.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleKeyEnd\", function (event) {\n if (_this.manager.active) {\n _this.keyDrop(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"isValidSortingTarget\", function (event) {\n var useDragHandle = _this.props.useDragHandle;\n var target = event.target;\n var node = closest(target, function (el) {\n return el.sortableInfo != null;\n });\n return node && node.sortableInfo && !node.sortableInfo.disabled && (useDragHandle ? isSortableHandle(target) : target.sortableInfo);\n });\n\n var manager = new Manager();\n validateProps(props);\n _this.manager = manager;\n _this.wrappedInstance = createRef();\n _this.sortableContextValue = {\n manager: manager\n };\n _this.events = {\n end: _this.handleEnd,\n move: _this.handleMove,\n start: _this.handleStart\n };\n return _this;\n }\n\n _createClass(WithSortableContainer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n var useWindowAsScrollContainer = this.props.useWindowAsScrollContainer;\n var container = this.getContainer();\n Promise.resolve(container).then(function (containerNode) {\n _this2.container = containerNode;\n _this2.document = _this2.container.ownerDocument || document;\n var contentWindow = _this2.props.contentWindow || _this2.document.defaultView || window;\n _this2.contentWindow = typeof contentWindow === 'function' ? contentWindow() : contentWindow;\n _this2.scrollContainer = useWindowAsScrollContainer ? _this2.document.scrollingElement || _this2.document.documentElement : getScrollingParent(_this2.container) || _this2.container;\n _this2.autoScroller = new AutoScroller(_this2.scrollContainer, _this2.onAutoScroll);\n Object.keys(_this2.events).forEach(function (key) {\n return events[key].forEach(function (eventName) {\n return _this2.container.addEventListener(eventName, _this2.events[key], false);\n });\n });\n\n _this2.container.addEventListener('keydown', _this2.handleKeyDown);\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this3 = this;\n\n if (this.helper && this.helper.parentNode) {\n this.helper.parentNode.removeChild(this.helper);\n }\n\n if (!this.container) {\n return;\n }\n\n Object.keys(this.events).forEach(function (key) {\n return events[key].forEach(function (eventName) {\n return _this3.container.removeEventListener(eventName, _this3.events[key]);\n });\n });\n this.container.removeEventListener('keydown', this.handleKeyDown);\n }\n }, {\n key: \"updateHelperPosition\",\n value: function updateHelperPosition(event) {\n var _this$props6 = this.props,\n lockAxis = _this$props6.lockAxis,\n lockOffset = _this$props6.lockOffset,\n lockToContainerEdges = _this$props6.lockToContainerEdges,\n transitionDuration = _this$props6.transitionDuration,\n _this$props6$keyboard = _this$props6.keyboardSortingTransitionDuration,\n keyboardSortingTransitionDuration = _this$props6$keyboard === void 0 ? transitionDuration : _this$props6$keyboard;\n var isKeySorting = this.manager.isKeySorting;\n var ignoreTransition = event.ignoreTransition;\n var offset = getPosition(event);\n var translate = {\n x: offset.x - this.initialOffset.x,\n y: offset.y - this.initialOffset.y\n };\n translate.y -= window.pageYOffset - this.initialWindowScroll.top;\n translate.x -= window.pageXOffset - this.initialWindowScroll.left;\n this.translate = translate;\n\n if (lockToContainerEdges) {\n var _getLockPixelOffsets = getLockPixelOffsets({\n height: this.height,\n lockOffset: lockOffset,\n width: this.width\n }),\n _getLockPixelOffsets2 = _slicedToArray(_getLockPixelOffsets, 2),\n minLockOffset = _getLockPixelOffsets2[0],\n maxLockOffset = _getLockPixelOffsets2[1];\n\n var minOffset = {\n x: this.width / 2 - minLockOffset.x,\n y: this.height / 2 - minLockOffset.y\n };\n var maxOffset = {\n x: this.width / 2 - maxLockOffset.x,\n y: this.height / 2 - maxLockOffset.y\n };\n translate.x = limit(this.minTranslate.x + minOffset.x, this.maxTranslate.x - maxOffset.x, translate.x);\n translate.y = limit(this.minTranslate.y + minOffset.y, this.maxTranslate.y - maxOffset.y, translate.y);\n }\n\n if (lockAxis === 'x') {\n translate.y = 0;\n } else if (lockAxis === 'y') {\n translate.x = 0;\n }\n\n if (isKeySorting && keyboardSortingTransitionDuration && !ignoreTransition) {\n setTransitionDuration(this.helper, keyboardSortingTransitionDuration);\n }\n\n setTranslate3d(this.helper, translate);\n }\n }, {\n key: \"animateNodes\",\n value: function animateNodes() {\n var _this$props7 = this.props,\n transitionDuration = _this$props7.transitionDuration,\n hideSortableGhost = _this$props7.hideSortableGhost,\n onSortOver = _this$props7.onSortOver;\n var containerScrollDelta = this.containerScrollDelta,\n windowScrollDelta = this.windowScrollDelta;\n var nodes = this.manager.getOrderedRefs();\n var sortingOffset = {\n left: this.offsetEdge.left + this.translate.x + containerScrollDelta.left,\n top: this.offsetEdge.top + this.translate.y + containerScrollDelta.top\n };\n var isKeySorting = this.manager.isKeySorting;\n var prevIndex = this.newIndex;\n this.newIndex = null;\n\n for (var i = 0, len = nodes.length; i < len; i++) {\n var _node3 = nodes[i].node;\n var index = _node3.sortableInfo.index;\n var width = _node3.offsetWidth;\n var height = _node3.offsetHeight;\n var offset = {\n height: this.height > height ? height / 2 : this.height / 2,\n width: this.width > width ? width / 2 : this.width / 2\n };\n var mustShiftBackward = isKeySorting && index > this.index && index <= prevIndex;\n var mustShiftForward = isKeySorting && index < this.index && index >= prevIndex;\n var translate = {\n x: 0,\n y: 0\n };\n var edgeOffset = nodes[i].edgeOffset;\n\n if (!edgeOffset) {\n edgeOffset = getEdgeOffset(_node3, this.container);\n nodes[i].edgeOffset = edgeOffset;\n\n if (isKeySorting) {\n nodes[i].boundingClientRect = getScrollAdjustedBoundingClientRect(_node3, containerScrollDelta);\n }\n }\n\n var nextNode = i < nodes.length - 1 && nodes[i + 1];\n var prevNode = i > 0 && nodes[i - 1];\n\n if (nextNode && !nextNode.edgeOffset) {\n nextNode.edgeOffset = getEdgeOffset(nextNode.node, this.container);\n\n if (isKeySorting) {\n nextNode.boundingClientRect = getScrollAdjustedBoundingClientRect(nextNode.node, containerScrollDelta);\n }\n }\n\n if (index === this.index) {\n if (hideSortableGhost) {\n this.sortableGhost = _node3;\n setInlineStyles(_node3, {\n opacity: 0,\n visibility: 'hidden'\n });\n }\n\n continue;\n }\n\n if (transitionDuration) {\n setTransitionDuration(_node3, transitionDuration);\n }\n\n if (this.axis.x) {\n if (this.axis.y) {\n if (mustShiftForward || index < this.index && (sortingOffset.left + windowScrollDelta.left - offset.width <= edgeOffset.left && sortingOffset.top + windowScrollDelta.top <= edgeOffset.top + offset.height || sortingOffset.top + windowScrollDelta.top + offset.height <= edgeOffset.top)) {\n translate.x = this.width + this.marginOffset.x;\n\n if (edgeOffset.left + translate.x > this.containerBoundingRect.width - offset.width) {\n if (nextNode) {\n translate.x = nextNode.edgeOffset.left - edgeOffset.left;\n translate.y = nextNode.edgeOffset.top - edgeOffset.top;\n }\n }\n\n if (this.newIndex === null) {\n this.newIndex = index;\n }\n } else if (mustShiftBackward || index > this.index && (sortingOffset.left + windowScrollDelta.left + offset.width >= edgeOffset.left && sortingOffset.top + windowScrollDelta.top + offset.height >= edgeOffset.top || sortingOffset.top + windowScrollDelta.top + offset.height >= edgeOffset.top + height)) {\n translate.x = -(this.width + this.marginOffset.x);\n\n if (edgeOffset.left + translate.x < this.containerBoundingRect.left + offset.width) {\n if (prevNode) {\n translate.x = prevNode.edgeOffset.left - edgeOffset.left;\n translate.y = prevNode.edgeOffset.top - edgeOffset.top;\n }\n }\n\n this.newIndex = index;\n }\n } else {\n if (mustShiftBackward || index > this.index && sortingOffset.left + windowScrollDelta.left + offset.width >= edgeOffset.left) {\n translate.x = -(this.width + this.marginOffset.x);\n this.newIndex = index;\n } else if (mustShiftForward || index < this.index && sortingOffset.left + windowScrollDelta.left <= edgeOffset.left + offset.width) {\n translate.x = this.width + this.marginOffset.x;\n\n if (this.newIndex == null) {\n this.newIndex = index;\n }\n }\n }\n } else if (this.axis.y) {\n if (mustShiftBackward || index > this.index && sortingOffset.top + windowScrollDelta.top + offset.height >= edgeOffset.top) {\n translate.y = -(this.height + this.marginOffset.y);\n this.newIndex = index;\n } else if (mustShiftForward || index < this.index && sortingOffset.top + windowScrollDelta.top <= edgeOffset.top + offset.height) {\n translate.y = this.height + this.marginOffset.y;\n\n if (this.newIndex == null) {\n this.newIndex = index;\n }\n }\n }\n\n setTranslate3d(_node3, translate);\n nodes[i].translate = translate;\n }\n\n if (this.newIndex == null) {\n this.newIndex = this.index;\n }\n\n if (isKeySorting) {\n this.newIndex = prevIndex;\n }\n\n var oldIndex = isKeySorting ? this.prevIndex : prevIndex;\n\n if (onSortOver && this.newIndex !== oldIndex) {\n onSortOver({\n collection: this.manager.active.collection,\n index: this.index,\n newIndex: this.newIndex,\n oldIndex: oldIndex,\n isKeySorting: isKeySorting,\n nodes: nodes,\n helper: this.helper\n });\n }\n }\n }, {\n key: \"getWrappedInstance\",\n value: function getWrappedInstance() {\n invariant(config.withRef, 'To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableContainer() call');\n return this.wrappedInstance.current;\n }\n }, {\n key: \"getContainer\",\n value: function getContainer() {\n var getContainer = this.props.getContainer;\n\n if (typeof getContainer !== 'function') {\n return findDOMNode(this);\n }\n\n return getContainer(config.withRef ? this.getWrappedInstance() : undefined);\n }\n }, {\n key: \"render\",\n value: function render() {\n var ref = config.withRef ? this.wrappedInstance : null;\n return createElement(SortableContext.Provider, {\n value: this.sortableContextValue\n }, createElement(WrappedComponent, _extends({\n ref: ref\n }, omit(this.props, omittedProps))));\n }\n }, {\n key: \"helperContainer\",\n get: function get() {\n var helperContainer = this.props.helperContainer;\n\n if (typeof helperContainer === 'function') {\n return helperContainer();\n }\n\n return this.props.helperContainer || this.document.body;\n }\n }, {\n key: \"containerScrollDelta\",\n get: function get() {\n var useWindowAsScrollContainer = this.props.useWindowAsScrollContainer;\n\n if (useWindowAsScrollContainer) {\n return {\n left: 0,\n top: 0\n };\n }\n\n return {\n left: this.scrollContainer.scrollLeft - this.initialScroll.left,\n top: this.scrollContainer.scrollTop - this.initialScroll.top\n };\n }\n }, {\n key: \"windowScrollDelta\",\n get: function get() {\n return {\n left: this.contentWindow.pageXOffset - this.initialWindowScroll.left,\n top: this.contentWindow.pageYOffset - this.initialWindowScroll.top\n };\n }\n }]);\n\n return WithSortableContainer;\n }(Component), _defineProperty(_class, \"displayName\", provideDisplayName('sortableList', WrappedComponent)), _defineProperty(_class, \"defaultProps\", defaultProps), _defineProperty(_class, \"propTypes\", propTypes), _temp;\n}\n\nvar propTypes$1 = {\n index: PropTypes.number.isRequired,\n collection: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n disabled: PropTypes.bool\n};\nvar omittedProps$1 = Object.keys(propTypes$1);\nfunction sortableElement(WrappedComponent) {\n var _class, _temp;\n\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n withRef: false\n };\n return _temp = _class = function (_React$Component) {\n _inherits(WithSortableElement, _React$Component);\n\n function WithSortableElement() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, WithSortableElement);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithSortableElement)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"wrappedInstance\", createRef());\n\n return _this;\n }\n\n _createClass(WithSortableElement, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.register();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.node) {\n if (prevProps.index !== this.props.index) {\n this.node.sortableInfo.index = this.props.index;\n }\n\n if (prevProps.disabled !== this.props.disabled) {\n this.node.sortableInfo.disabled = this.props.disabled;\n }\n }\n\n if (prevProps.collection !== this.props.collection) {\n this.unregister(prevProps.collection);\n this.register();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unregister();\n }\n }, {\n key: \"register\",\n value: function register() {\n var _this$props = this.props,\n collection = _this$props.collection,\n disabled = _this$props.disabled,\n index = _this$props.index;\n var node = findDOMNode(this);\n node.sortableInfo = {\n collection: collection,\n disabled: disabled,\n index: index,\n manager: this.context.manager\n };\n this.node = node;\n this.ref = {\n node: node\n };\n this.context.manager.add(collection, this.ref);\n }\n }, {\n key: \"unregister\",\n value: function unregister() {\n var collection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props.collection;\n this.context.manager.remove(collection, this.ref);\n }\n }, {\n key: \"getWrappedInstance\",\n value: function getWrappedInstance() {\n invariant(config.withRef, 'To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableElement() call');\n return this.wrappedInstance.current;\n }\n }, {\n key: \"render\",\n value: function render() {\n var ref = config.withRef ? this.wrappedInstance : null;\n return createElement(WrappedComponent, _extends({\n ref: ref\n }, omit(this.props, omittedProps$1)));\n }\n }]);\n\n return WithSortableElement;\n }(Component), _defineProperty(_class, \"displayName\", provideDisplayName('sortableElement', WrappedComponent)), _defineProperty(_class, \"contextType\", SortableContext), _defineProperty(_class, \"propTypes\", propTypes$1), _defineProperty(_class, \"defaultProps\", {\n collection: 0\n }), _temp;\n}\n\nexport { sortableContainer as SortableContainer, sortableContainer, sortableElement as SortableElement, sortableElement, sortableHandle as SortableHandle, sortableHandle, arrayMove };\n","import { __ } from '@wordpress/i18n';\r\nimport { SortableContainer, SortableElement, arrayMove } from 'react-sortable-hoc';\r\n\r\nimport './SortableControl.scss';\r\nimport { Label } from '../index';\r\n\r\nconst SortableItem = SortableElement(({ value }) => <li className='bplSortableListItem'>{value}</li>);\r\n\r\nconst SortableList = SortableContainer(({ items, property }) => <ul>\r\n\t{items.map((value, index) => <SortableItem key={index} index={index} sortIndex={index} value={property ? value[property] : value} />)}\r\n</ul>);\r\n\r\nconst SortableControl = ({ className = '', label = __('Sort:', 'bplugins'), value = [], property, onChange }) => {\r\n\tconst onSortEnd = ({ oldIndex, newIndex }) => {\r\n\t\tonChange(arrayMove(value, oldIndex, newIndex))\r\n\t};\r\n\treturn <div className={`bplSortableList ${className}`}>\r\n\t\t<Label className='mb5'>{label}</Label>\r\n\r\n\t\t<SortableList items={value} property={property} onSortEnd={onSortEnd} />\r\n\r\n\t\t<small>{__('Drag and drop to sort', 'bplugins')}</small>\r\n\t</div>;\r\n}\r\nexport default SortableControl;","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props label (optional): 'Space' (String)\r\n * @props space (required): {side, vertical, horizontal, top, right, bottom, left} (Object)\r\n * @props onChange (required): (Function)\r\n * @props defaults (optional): { side, vertical, horizontal, top, right, bottom, left } (Object)\r\n */\r\n\r\nimport { __ } from '@wordpress/i18n';\r\nimport { PanelRow, __experimentalUnitControl as UnitControl, ButtonGroup, Button, Tooltip, Dashicon } from '@wordpress/components';\r\n\r\nimport './SpaceControl.scss';\r\nimport { Label } from '../index';\r\nimport { pxUnit, perUnit, emUnit, remUnit } from '../utils/options';\r\nimport { scrollIcon } from '../utils/icons';\r\n\r\nconst SpaceControl = props => {\r\n\tconst { className = '', label = __('Space:', 'bplugins'), value, onChange, defaults = {} } = props;\r\n\r\n\tconst defaultVal = { side: 2, vertical: '0px', horizontal: '0px', top: '0px', right: '0px', bottom: '0px', left: '0px' }\r\n\r\n\tconst getDefault = property => defaults?.[property] || defaultVal[property];\r\n\r\n\tconst getValue = property => value?.[property] || getDefault(property);\r\n\tconst setValue = (property, val) => onChange({ ...value, [property]: val });\r\n\r\n\tconst getIntVal = property => parseInt(getValue(property)?.replace(/([a-z])+/g, ''));\r\n\r\n\t// Check if space property and value are equals to defaults or defaultVal\r\n\tconst isObject = object => object != null && typeof object === 'object';\r\n\tconst triCompare = (main, defaults, defaultVal) => {\r\n\t\tconst mainAllKeys = Object.keys(main || {});\r\n\t\tconst mainKeys = mainAllKeys.filter(arr => arr !== 'styles');\r\n\r\n\t\tconst equalSpecific = (main, defaults) => {\r\n\t\t\tconst mainKeys = Object.keys(main);\r\n\r\n\t\t\tfor (const key of mainKeys) {\r\n\t\t\t\tconst mainVal = main[key];\r\n\t\t\t\tconst defaultVal = defaults[key];\r\n\t\t\t\tconst areObjects = isObject(mainVal) && isObject(defaultVal);\r\n\r\n\t\t\t\tif (areObjects && !equalSpecific(mainVal, defaultVal) || !areObjects && mainVal !== defaultVal) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tfor (const key of mainKeys) {\r\n\t\t\tconst mainSingle = main[key];\r\n\t\t\tconst defaultsSingle = defaults[key];\r\n\t\t\tconst defaultValSingle = defaultVal[key];\r\n\r\n\t\t\tconst areObjects1 = isObject(mainSingle) && isObject(defaultsSingle);\r\n\t\t\tconst areObjects2 = isObject(mainSingle) && isObject(defaultValSingle);\r\n\r\n\t\t\tif (!defaultsSingle) {\r\n\t\t\t\tif (areObjects2 && !equalSpecific(mainSingle, defaultValSingle) || !areObjects2 && mainSingle !== defaultValSingle) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (areObjects1 && !equalSpecific(mainSingle, defaultsSingle) || !areObjects1 && mainSingle !== defaultsSingle) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\treturn <div className={`bPlSpaceControl ${className}`}>\r\n\t\t<PanelRow>\r\n\t\t\t<Label className=''>{label}</Label>\r\n\r\n\t\t\t<ButtonGroup className={`bPlBtnGroup`}>\r\n\t\t\t\t<Tooltip text={__('Vertical, Horizontal', 'bplugins')} placement='top' position='top'>\r\n\t\t\t\t\t<Button className='side2' isSmall={true} isMedium={false} isPrimary={2 === getValue('side')} aria-pressed={2 === getValue('side')} onClick={() => onChange({ ...value, ['side']: 2, ['vertical']: `${(getIntVal('top') + getIntVal('bottom')) / 2}px`, ['horizontal']: `${(getIntVal('left') + getIntVal('right')) / 2}px` })}>\r\n\t\t\t\t\t\t<span className='scrollIcon'>{scrollIcon}</span>\r\n\t\t\t\t\t\t<span className='sideScrollIcon'>{scrollIcon}</span>\r\n\t\t\t\t\t</Button>\r\n\t\t\t\t</Tooltip>\r\n\t\t\t\t<Tooltip text={__('Top, Right, Bottom, Left', 'bplugins')} placement='top' position='top'>\r\n\t\t\t\t\t<Button isSmall={true} isMedium={false} isPrimary={4 === getValue('side')} aria-pressed={4 === getValue('side')} onClick={() => onChange({ ...value, ['side']: 4, ['top']: getValue('vertical'), ['right']: getValue('horizontal'), ['bottom']: getValue('vertical'), ['left']: getValue('horizontal') })}>\r\n\t\t\t\t\t\t<Dashicon icon='arrow-up-alt' />\r\n\t\t\t\t\t\t<Dashicon icon='arrow-right-alt' />\r\n\t\t\t\t\t\t<Dashicon icon='arrow-down-alt' />\r\n\t\t\t\t\t\t<Dashicon icon='arrow-left-alt' />\r\n\t\t\t\t\t</Button>\r\n\t\t\t\t</Tooltip>\r\n\t\t\t</ButtonGroup>\r\n\r\n\t\t\t{!triCompare(value, defaults, defaultVal) && <Button icon='image-rotate' className='bPlResetVal' onClick={() => {\r\n\t\t\t\tconst obj = { side: getDefault('side'), vertical: getDefault('vertical'), horizontal: getDefault('horizontal'), top: getDefault('top'), right: getDefault('right'), bottom: getDefault('bottom'), left: getDefault('left') }\r\n\t\t\t\tonChange({ ...value, ...obj });\r\n\t\t\t}} />}\r\n\t\t</PanelRow>\r\n\r\n\t\t{2 === getValue('side') && <PanelRow className='twoColumn'>\r\n\t\t\t<UnitControl label={__('Top Bottom:', 'bplugins')} labelPosition='top' value={getValue('vertical')} onChange={val => setValue('vertical', val)} units={[pxUnit(), perUnit(), emUnit(), remUnit()]} />\r\n\r\n\t\t\t<UnitControl label={__('Left Right:', 'bplugins')} labelPosition='top' value={getValue('horizontal')} onChange={val => setValue('horizontal', val)} units={[pxUnit(), perUnit(), emUnit(), remUnit()]} />\r\n\t\t</PanelRow>}\r\n\r\n\t\t{4 === getValue('side') && <PanelRow className='fourColumn'>\r\n\t\t\t<UnitControl label={__('Top:', 'bplugins')} labelPosition='top' value={getValue('top')} onChange={val => setValue('top', val)} units={[pxUnit(), perUnit(), emUnit(), remUnit()]} />\r\n\r\n\t\t\t<UnitControl label={__('Right:', 'bplugins')} labelPosition='top' value={getValue('right')} onChange={val => setValue('right', val)} units={[pxUnit(), perUnit(), emUnit(), remUnit()]} />\r\n\r\n\t\t\t<UnitControl label={__('Bottom:', 'bplugins')} labelPosition='top' value={getValue('bottom')} onChange={val => setValue('bottom', val)} units={[pxUnit(), perUnit(), emUnit(), remUnit()]} />\r\n\r\n\t\t\t<UnitControl label={__('Left:', 'bplugins')} labelPosition='top' value={getValue('left')} onChange={val => setValue('left', val)} units={[pxUnit(), perUnit(), emUnit(), remUnit()]} />\r\n\t\t</PanelRow>}\r\n\t</div>\r\n};\r\nexport default SpaceControl;","// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n // All error codes, starting by 0:\n function(plugin) {\n return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n },\n function(thing) {\n return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n },\n \"This object has been frozen and should not be mutated\",\n function(data) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n },\n \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n \"Immer forbids circular references\",\n \"The first or second argument to `produce` must be a function\",\n \"The third argument to `produce` must be a function or undefined\",\n \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n function(thing) {\n return `'current' expects a draft, got: ${thing}`;\n },\n \"Object.defineProperty() cannot be used on an Immer draft\",\n \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n \"Immer only supports deleting array indices\",\n \"Immer only supports setting array indices and the 'length' property\",\n function(thing) {\n return `'original' expects a draft, got: ${thing}`;\n }\n // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!value.constructor?.[DRAFTABLE] || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto = getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object)\n return true;\n return typeof Ctor == \"function\" && Function.toString.call(Ctor) === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value))\n die(15, value);\n return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter) {\n if (getArchtype(obj) === 0 /* Object */) {\n Object.entries(obj).forEach(([key, value]) => {\n iter(key, value, obj);\n });\n } else {\n obj.forEach((entry, index) => iter(index, entry, obj));\n }\n}\nfunction getArchtype(thing) {\n const state = thing[DRAFT_STATE];\n return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n const t = getArchtype(thing);\n if (t === 2 /* Map */)\n thing.set(propOrOldValue, value);\n else if (t === 3 /* Set */) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction isMap(target) {\n return target instanceof Map;\n}\nfunction isSet(target) {\n return target instanceof Set;\n}\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n if (!strict && isPlainObject(base)) {\n if (!getPrototypeOf(base)) {\n const obj = /* @__PURE__ */ Object.create(null);\n return Object.assign(obj, base);\n }\n return { ...base };\n }\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf(base), descriptors);\n}\nfunction freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;\n }\n Object.freeze(obj);\n if (deep)\n each(obj, (_key, value) => freeze(value, true), true);\n return obj;\n}\nfunction dontMutateFrozenCollections() {\n die(2);\n}\nfunction isFrozen(obj) {\n return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey])\n plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n return currentScope;\n}\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer2) {\n return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n const state = draft[DRAFT_STATE];\n if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n state.revoke_();\n else\n state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n if (!scope.parent_)\n maybeFreeze(scope, result);\n }\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize(scope, baseDraft, []);\n }\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n if (isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n if (!state) {\n each(\n value,\n (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path),\n true\n // See #590, don't recurse into non-enumerable of non drafted objects\n );\n return value;\n }\n if (state.scope_ !== rootScope)\n return value;\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n }\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n const result = state.copy_;\n let resultEach = result;\n let isSet2 = false;\n if (state.type_ === 3 /* Set */) {\n resultEach = new Set(result);\n result.clear();\n isSet2 = true;\n }\n each(\n resultEach,\n (key, childValue) => finalizeProperty(rootScope, state, result, key, childValue, path, isSet2)\n );\n maybeFreeze(rootScope, result, false);\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(\n state,\n path,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n die(5);\n if (isDraft(childValue)) {\n const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res);\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable(childValue) && !isFrozen(childValue)) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n finalize(rootScope, childValue);\n if (!parentState || !parentState.scope_.parent_)\n maybeFreeze(rootScope, childValue);\n }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n const isArray = Array.isArray(base);\n const state = {\n type_: isArray ? 1 /* Array */ : 0 /* Object */,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state;\n let traps = objectTraps;\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\nvar objectTraps = {\n get(state, prop) {\n if (prop === DRAFT_STATE)\n return state;\n const source = latest(state);\n if (!has(source, prop)) {\n return readPropFromProto(state, source, prop);\n }\n const value = source[prop];\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(value, state);\n }\n return value;\n },\n has(state, prop) {\n return prop in latest(state);\n },\n ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set(state, prop, value) {\n const desc = getDescriptorFromProto(latest(state), prop);\n if (desc?.set) {\n desc.set.call(state.draft_, value);\n return true;\n }\n if (!state.modified_) {\n const current2 = peek(latest(state), prop);\n const currentState = current2?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n return true;\n prepareCopy(state);\n markChanged(state);\n }\n if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n return true;\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state, prop) {\n if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n delete state.assigned_[prop];\n }\n if (state.copy_) {\n delete state.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state, prop) {\n const owner = latest(state);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state) {\n return getPrototypeOf(state.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\narrayTraps.deleteProperty = function(state, prop) {\n if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n die(13);\n return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE];\n const source = state ? latest(state) : draft;\n return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state.draft_)\n ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto = getPrototypeOf(source);\n while (proto) {\n const desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc)\n return desc;\n proto = getPrototypeOf(proto);\n }\n return void 0;\n}\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(\n state.base_,\n state.scope_.immer_.useStrictShallowCopy_\n );\n }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n /**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state = draft && draft[DRAFT_STATE];\n if (!state || !state.isManual_)\n die(9);\n const { scope_: scope } = state;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n};\nfunction createProxy(value, parent) {\n const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n}\nfunction currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n let copy;\n if (state) {\n if (!state.modified_)\n return state.base_;\n state.finalized_ = true;\n copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n } else {\n copy = shallowCopy(value, true);\n }\n each(copy, (key, childValue) => {\n set(copy, key, currentImpl(childValue));\n });\n if (state) {\n state.finalized_ = false;\n }\n return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n const errorOffset = 16;\n if (process.env.NODE_ENV !== \"production\") {\n errors.push(\n 'Sets cannot have \"replace\" patches.',\n function(op) {\n return \"Unsupported patch operation: \" + op;\n },\n function(path) {\n return \"Cannot apply patch, path doesn't resolve: \" + path;\n },\n \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n );\n }\n const REPLACE = \"replace\";\n const ADD = \"add\";\n const REMOVE = \"remove\";\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0 /* Object */:\n case 2 /* Map */:\n return generatePatchesFromAssigned(\n state,\n basePath,\n patches,\n inversePatches\n );\n case 1 /* Array */:\n return generateArrayPatches(state, basePath, patches, inversePatches);\n case 3 /* Set */:\n return generateSetPatches(\n state,\n basePath,\n patches,\n inversePatches\n );\n }\n }\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n let { base_, assigned_ } = state;\n let copy_ = state.copy_;\n if (copy_.length < base_.length) {\n ;\n [base_, copy_] = [copy_, base_];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n const path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n }\n for (let i = base_.length; i < copy_.length; i++) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n }\n for (let i = copy_.length - 1; base_.length <= i; --i) {\n const path = basePath.concat([i]);\n inversePatches.push({\n op: REMOVE,\n path\n });\n }\n }\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n const { base_, copy_ } = state;\n each(state.assigned_, (key, assignedValue) => {\n const origValue = get(base_, key);\n const value = get(copy_, key);\n const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE)\n return;\n const path = basePath.concat(key);\n patches.push(op === REMOVE ? { op, path } : { op, path, value });\n inversePatches.push(\n op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n );\n });\n }\n function generateSetPatches(state, basePath, patches, inversePatches) {\n let { base_, copy_ } = state;\n let i = 0;\n base_.forEach((value) => {\n if (!copy_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path,\n value\n });\n inversePatches.unshift({\n op: ADD,\n path,\n value\n });\n }\n i++;\n });\n i = 0;\n copy_.forEach((value) => {\n if (!base_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n value\n });\n inversePatches.unshift({\n op: REMOVE,\n path,\n value\n });\n }\n i++;\n });\n }\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? void 0 : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n function applyPatches_(draft, patches) {\n patches.forEach((patch) => {\n const { path, op } = patch;\n let base = draft;\n for (let i = 0; i < path.length - 1; i++) {\n const parentType = getArchtype(base);\n let p = path[i];\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n }\n if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n die(errorOffset + 3);\n if (typeof base === \"function\" && p === \"prototype\")\n die(errorOffset + 3);\n base = get(base, p);\n if (typeof base !== \"object\")\n die(errorOffset + 2, path.join(\"/\"));\n }\n const type = getArchtype(base);\n const value = deepClonePatchValue(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n die(errorOffset);\n default:\n return base[key] = value;\n }\n case ADD:\n switch (type) {\n case 1 /* Array */:\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n return base.add(value);\n default:\n return base[key] = value;\n }\n case REMOVE:\n switch (type) {\n case 1 /* Array */:\n return base.splice(key, 1);\n case 2 /* Map */:\n return base.delete(key);\n case 3 /* Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n die(errorOffset + 1, op);\n }\n });\n return draft;\n }\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj))\n return obj;\n if (Array.isArray(obj))\n return obj.map(deepClonePatchValue);\n if (isMap(obj))\n return new Map(\n Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n );\n if (isSet(obj))\n return new Set(Array.from(obj).map(deepClonePatchValue));\n const cloned = Object.create(getPrototypeOf(obj));\n for (const key in obj)\n cloned[key] = deepClonePatchValue(obj[key]);\n if (has(obj, DRAFTABLE))\n cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else\n return obj;\n }\n loadPlugin(\"Patches\", {\n applyPatches_,\n generatePatches_,\n generateReplacementPatches_\n });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n class DraftMap extends Map {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 2 /* Map */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n assigned_: void 0,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(key) {\n return latest(this[DRAFT_STATE]).has(key);\n }\n set(key, value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n return this;\n }\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n state.copy_.delete(key);\n return true;\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = /* @__PURE__ */ new Map();\n each(state.base_, (key) => {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n }\n forEach(cb, thisArg) {\n const state = this[DRAFT_STATE];\n latest(state).forEach((_value, key, _map) => {\n cb.call(thisArg, this.get(key), key, this);\n });\n }\n get(key) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n const value = latest(state).get(key);\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value !== state.base_.get(key)) {\n return value;\n }\n const draft = createProxy(value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n }\n keys() {\n return latest(this[DRAFT_STATE]).keys();\n }\n values() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value\n };\n }\n };\n }\n entries() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value: [r.value, value]\n };\n }\n };\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.entries();\n }\n }\n function proxyMap_(target, parent) {\n return new DraftMap(target, parent);\n }\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = /* @__PURE__ */ new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n class DraftSet extends Set {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 3 /* Set */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n base_: target,\n draft_: this,\n drafts_: /* @__PURE__ */ new Map(),\n revoked_: false,\n isManual_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!state.copy_) {\n return state.base_.has(value);\n }\n if (state.copy_.has(value))\n return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n return true;\n return false;\n }\n add(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n return this;\n }\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n /* istanbul ignore next */\n false\n ));\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n }\n values() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n }\n entries() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n }\n keys() {\n return this.values();\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.values();\n }\n forEach(cb, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n }\n }\n function proxySet_(target, parent) {\n return new DraftSet(target, parent);\n }\n function prepareSetCopy(state) {\n if (!state.copy_) {\n state.copy_ = /* @__PURE__ */ new Set();\n state.base_.forEach((value) => {\n if (isDraftable(value)) {\n const draft = createProxy(value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n function assertUnrevoked(state) {\n if (state.revoked_)\n die(3, JSON.stringify(latest(state)));\n }\n loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = immer.produceWithPatches.bind(\n immer\n);\nvar setAutoFreeze = immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer);\nvar applyPatches = immer.applyPatches.bind(immer);\nvar createDraft = immer.createDraft.bind(immer);\nvar finishDraft = immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n return value;\n}\nfunction castImmutable(value) {\n return value;\n}\nexport {\n Immer2 as Immer,\n applyPatches,\n castDraft,\n castImmutable,\n createDraft,\n current,\n enableMapSet,\n enablePatches,\n finishDraft,\n freeze,\n DRAFTABLE as immerable,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n original,\n produce,\n produceWithPatches,\n setAutoFreeze,\n setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.mjs.map","export default [\r\n\t{\r\n\t\tfamily: 'Default',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'ABeeZee',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Abel',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Abhaya Libre',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Abril Fatface',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Aclonica',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Acme',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Actor',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Adamina',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Advent Pro',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Aguafina Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Akaya Kanadaka',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Akaya Telivigala',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Akronim',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Aladin',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alata',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alatsi',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Aldrich',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alef',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alegreya',\r\n\t\tvariants: [400, 500, 600, 700, 800, 900, '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alegreya SC',\r\n\t\tvariants: [400, '400i', 500, '500i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alegreya Sans',\r\n\t\tvariants: [100, '100i', 300, '300i', 400, '400i', 500, '500i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alegreya Sans SC',\r\n\t\tvariants: [100, '100i', 300, '300i', 400, '400i', 500, '500i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Aleo',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alex Brush',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alfa Slab One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alice',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alike',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Alike Angular',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Allan',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Allerta',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Allerta Stencil',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Allura',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Almarai',\r\n\t\tvariants: [300, 400, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Almendra',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Almendra Display',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Almendra SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Amarante',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Amaranth',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Amatic SC',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Amethysta',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Amiko',\r\n\t\tvariants: [400, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Amiri',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Amita',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Anaheim',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Andada',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Andika',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Andika New Basic',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Angkor',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Annie Use Your Telescope',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Anonymous Pro',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Antic',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Antic Didone',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Antic Slab',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Anton',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Antonio',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Arapey',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Arbutus',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Arbutus Slab',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Architects Daughter',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Archivo',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Archivo Black',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Archivo Narrow',\r\n\t\tvariants: [400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Aref Ruqaa',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Arima Madurai',\r\n\t\tvariants: [100, 200, 300, 400, 500, 700, 800, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Arimo',\r\n\t\tvariants: [400, 500, 600, 700, '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Arizonia',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Armata',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Arsenal',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Artifika',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Arvo',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Arya',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Asap',\r\n\t\tvariants: [400, 500, 600, 700, '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Asap Condensed',\r\n\t\tvariants: [400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Asar',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Asset',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Assistant',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Astloch',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Asul',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Athiti',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Atma',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Atomic Age',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Aubrey',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Audiowide',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Autour One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Average',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Average Sans',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Averia Gruesa Libre',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Averia Libre',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Averia Sans Libre',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Averia Serif Libre',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'B612',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'B612 Mono',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bad Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bahiana',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bahianita',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bai Jamjuree',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ballet',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baloo 2',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baloo Bhai 2',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baloo Bhaina 2',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baloo Chettan 2',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baloo Da 2',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baloo Paaji 2',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baloo Tamma 2',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baloo Tammudu 2',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baloo Thambi 2',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Balsamiq Sans',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Balthazar',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bangers',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Barlow',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Barlow Condensed',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Barlow Semi Condensed',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Barriecito',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Barrio',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Basic',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baskervville',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Battambang',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Baumans',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bayon',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Be Vietnam',\r\n\t\tvariants: [100, '100i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bebas Neue',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Belgrano',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bellefair',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Belleza',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bellota',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bellota Text',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'BenchNine',\r\n\t\tvariants: [300, 400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Benne',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bentham',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Berkshire Swash',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Beth Ellen',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bevan',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Big Shoulders Display',\r\n\t\tvariants: [100, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Big Shoulders Inline Display',\r\n\t\tvariants: [100, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Big Shoulders Inline Text',\r\n\t\tvariants: [100, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Big Shoulders Stencil Display',\r\n\t\tvariants: [100, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Big Shoulders Stencil Text',\r\n\t\tvariants: [100, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Big Shoulders Text',\r\n\t\tvariants: [100, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bigelow Rules',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bigshot One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bilbo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bilbo Swash Caps',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'BioRhyme',\r\n\t\tvariants: [200, 300, 400, 700, 800],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'BioRhyme Expanded',\r\n\t\tvariants: [200, 300, 400, 700, 800],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Biryani',\r\n\t\tvariants: [200, 300, 400, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bitter',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Black And White Picture',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Black Han Sans',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Black Ops One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Blinker',\r\n\t\tvariants: [100, 200, 300, 400, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bodoni Moda',\r\n\t\tvariants: [400, 500, 600, 700, 800, 900, '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bokor',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bonbon',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Boogaloo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bowlby One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bowlby One SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Brawler',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bree Serif',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Brygada 1918',\r\n\t\tvariants: [400, 500, 600, 700, '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bubblegum Sans',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bubbler One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Buda',\r\n\t\tvariants: [300, 400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Buenard',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bungee',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bungee Hairline',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bungee Inline',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bungee Outline',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Bungee Shade',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Butcherman',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Butterfly Kids',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cabin',\r\n\t\tvariants: [400, 500, 600, 700, '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cabin Condensed',\r\n\t\tvariants: [400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cabin Sketch',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Caesar Dressing',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cagliostro',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cairo',\r\n\t\tvariants: [200, 300, 400, 600, 700, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Caladea',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Calistoga',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Calligraffitti',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cambay',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cambo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Candal',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cantarell',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cantata One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cantora One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Capriola',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cardo',\r\n\t\tvariants: [400, '400i', 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Carme',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Carrois Gothic',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Carrois Gothic SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Carter One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Castoro',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Catamaran',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Caudex',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Caveat',\r\n\t\tvariants: [400, 500, 600, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Caveat Brush',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cedarville Cursive',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ceviche One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chakra Petch',\r\n\t\tvariants: [300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Changa',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Changa One',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chango',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Charm',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Charmonman',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chathura',\r\n\t\tvariants: [100, 300, 400, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chau Philomene One',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chela One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chelsea Market',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chenla',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cherry Cream Soda',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cherry Swash',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chewy',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chicle',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chilanka',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chivo',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Chonburi',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cinzel',\r\n\t\tvariants: [400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cinzel Decorative',\r\n\t\tvariants: [400, 700, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Clicker Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Coda',\r\n\t\tvariants: [400, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Coda Caption',\r\n\t\tvariants: [400, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Codystar',\r\n\t\tvariants: [300, 400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Coiny',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Combo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Comfortaa',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Comic Neue',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i'],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Coming Soon',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Commissioner',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Concert One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Condiment',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Content',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Contrail One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Convergence',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cookie',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Copse',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Corben',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cormorant',\r\n\t\tvariants: [300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cormorant Garamond',\r\n\t\tvariants: [300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cormorant Infant',\r\n\t\tvariants: [300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cormorant SC',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cormorant Unicase',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cormorant Upright',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Courgette',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Courier Prime',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cousine',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Coustard',\r\n\t\tvariants: [400, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Covered By Your Grace',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Crafty Girls',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Creepster',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Crete Round',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Crimson Pro',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800, 900, '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Crimson Text',\r\n\t\tvariants: [400, '400i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Croissant One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Crushed',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cuprum',\r\n\t\tvariants: [400, 500, 600, 700, '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cute Font',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cutive',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Cutive Mono',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'DM Mono',\r\n\t\tvariants: [300, '300i', 400, '400i', 500, '500i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'DM Sans',\r\n\t\tvariants: [400, '400i', 500, '500i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'DM Serif Display',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'DM Serif Text',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Damion',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dancing Script',\r\n\t\tvariants: [400, 500, 600, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dangrek',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Darker Grotesque',\r\n\t\tvariants: [300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'David Libre',\r\n\t\tvariants: [400, 500, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dawning of a New Day',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Days One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dekko',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dela Gothic One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Delius',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Delius Swash Caps',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Delius Unicase',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Della Respira',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Denk One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Devonshire',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dhurjati',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Didact Gothic',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Diplomata',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Diplomata SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Do Hyeon',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dokdo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Domine',\r\n\t\tvariants: [400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Donegal One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Doppio One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dorsa',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dosis',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'DotGothic16',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dr Sugiyama',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Duru Sans',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Dynalight',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'EB Garamond',\r\n\t\tvariants: [400, 500, 600, 700, 800, '400i', '500i', '600i', '700i', '800i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Eagle Lake',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'East Sea Dokdo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Eater',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Economica',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Eczar',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'El Messiri',\r\n\t\tvariants: [400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Electrolize',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Elsie',\r\n\t\tvariants: [400, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Elsie Swash Caps',\r\n\t\tvariants: [400, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Emblema One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Emilys Candy',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Encode Sans',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Encode Sans Condensed',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Encode Sans Expanded',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Encode Sans Semi Condensed',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Encode Sans Semi Expanded',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Engagement',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Englebert',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Enriqueta',\r\n\t\tvariants: [400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Epilogue',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Erica One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Esteban',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Euphoria Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ewert',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Exo',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Exo 2',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'], category: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Expletus Sans',\r\n\t\tvariants: [400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fahkwang',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fanwood Text',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Farro',\r\n\t\tvariants: [300, 400, 500, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Farsan',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fascinate',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fascinate Inline',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Faster One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fasthand',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fauna One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Faustina',\r\n\t\tvariants: [400, 500, 600, 700, '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Federant',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Federo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Felipa',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fenix',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Finger Paint',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fira Code',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fira Mono',\r\n\t\tvariants: [400, 500, 700],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fira Sans',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fira Sans Condensed',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fira Sans Extra Condensed',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fjalla One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fjord One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Flamenco',\r\n\t\tvariants: [300, 400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Flavors',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fondamento',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fontdiner Swanky',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Forum',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Francois One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Frank Ruhl Libre',\r\n\t\tvariants: [300, 400, 500, 700, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fraunces',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Freckle Face',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fredericka the Great',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fredoka One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Freehand',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fresca',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Frijole',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fruktur',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Fugaz One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'GFS Didot',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'GFS Neohellenic',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gabriela',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gaegu',\r\n\t\tvariants: [300, 400, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gafata',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Galada',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Galdeano',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Galindo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gamja Flower',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gayathri',\r\n\t\tvariants: [100, 400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gelasio',\r\n\t\tvariants: [400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gentium Basic',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gentium Book Basic',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Geo',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Geostar',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Geostar Fill',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Germania One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gidugu',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gilda Display',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Girassol',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Give You Glory',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Glass Antiqua',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Glegoo',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gloria Hallelujah',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Goblin One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gochi Hand',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Goldman',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gorditas',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gothic A1',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gotu',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Goudy Bookletter 1911',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Graduate',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Grand Hotel',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Grandstander',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gravitas One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Great Vibes',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Grenze',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Grenze Gotisch',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Griffy',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gruppo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gudea',\r\n\t\tvariants: [400, '400i', 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gugi',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gupter',\r\n\t\tvariants: [400, 500, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Gurajada',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Habibi',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hachi Maru Pop',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Halant',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hammersmith One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hanalei',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hanalei Fill',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Handlee',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hanuman',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Happy Monkey',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Harmattan',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Headland One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Heebo',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Henny Penny',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hepta Slab',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Herr Von Muellerhoff',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hi Melody',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hind',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hind Guntur',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hind Madurai',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hind Siliguri',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Hind Vadodara',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Holtwood One SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Homemade Apple',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Homenaje',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IBM Plex Mono',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IBM Plex Sans',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IBM Plex Sans Condensed',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IBM Plex Serif',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IM Fell DW Pica',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IM Fell DW Pica SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IM Fell Double Pica',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IM Fell Double Pica SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IM Fell English',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IM Fell English SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IM Fell French Canon',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IM Fell French Canon SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IM Fell Great Primer',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'IM Fell Great Primer SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ibarra Real Nova',\r\n\t\tvariants: [400, 500, 600, 700, '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Iceberg',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Iceland',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Imbue',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Imprima',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Inconsolata',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Inder',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Indie Flower',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Inika',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Inknut Antiqua',\r\n\t\tvariants: [300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Inria Sans',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Inria Serif',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Inter',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Irish Grover',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Istok Web',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Italiana',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Italianno',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Itim',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jacques Francois',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jacques Francois Shadow',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jaldi',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'JetBrains Mono',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jim Nightshade',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jockey One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jolly Lodger',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jomhuria',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jomolhari',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Josefin Sans',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, '100i', '200i', '300i', '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Josefin Slab',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, '100i', '200i', '300i', '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jost',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Joti One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jua',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Judson',\r\n\t\tvariants: [400, '400i', 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Julee',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Julius Sans One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Junge',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Jura',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Just Another Hand',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Just Me Again Down Here',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'K2D',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kadwa',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kalam',\r\n\t\tvariants: [300, 400, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kameron',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kanit',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kantumruy',\r\n\t\tvariants: [300, 400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Karantina',\r\n\t\tvariants: [300, 400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Karla',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800, '200i', '300i', '400i', '500i', '600i', '700i', '800i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Karma',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Katibeh',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kaushan Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kavivanar',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kavoon',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kdam Thmor',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Keania One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kelly Slab',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kenia',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Khand',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Khmer',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Khula',\r\n\t\tvariants: [300, 400, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kirang Haerang',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kite One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kiwi Maru',\r\n\t\tvariants: [300, 400, 500],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Knewave',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'KoHo',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kodchasan',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kosugi',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kosugi Maru',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kotta One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Koulen',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kranky',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kreon',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kristi',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Krona One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Krub',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kufam',\r\n\t\tvariants: [400, 500, 600, 700, 800, 900, '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kulim Park',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kumar One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kumar One Outline',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kumbh Sans',\r\n\t\tvariants: [300, 400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Kurale',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'La Belle Aurore',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lacquer',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Laila',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lakki Reddy',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lalezar',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lancelot',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Langar',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lateef',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lato',\r\n\t\tvariants: [100, '100i', 300, '300i', 400, '400i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'League Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Leckerli One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ledger',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lekton',\r\n\t\tvariants: [400, '400i', 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lemon',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lemonada',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lexend',\r\n\t\tvariants: [100, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lexend Deca',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lexend Exa',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lexend Giga',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lexend Mega',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lexend Peta',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lexend Tera',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lexend Zetta',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Barcode 128',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Barcode 128 Text',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Barcode 39',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Barcode 39 Extended',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Barcode 39 Extended Text',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Barcode 39 Text',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Barcode EAN13 Text',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Baskerville',\r\n\t\tvariants: [400, '400i', 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Caslon Display',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Caslon Text',\r\n\t\tvariants: [400, '400i', 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Libre Franklin',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Life Savers',\r\n\t\tvariants: [400, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lilita One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lily Script One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Limelight',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Linden Hill',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Literata',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800, 900, '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Liu Jian Mao Cao',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Livvic',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lobster',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lobster Two',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Londrina Outline',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Londrina Shadow',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Londrina Sketch',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Londrina Solid',\r\n\t\tvariants: [100, 300, 400, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Long Cang',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lora',\r\n\t\tvariants: [400, 500, 600, 700, '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Love Ya Like A Sister',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Loved by the King',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lovers Quarrel',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Luckiest Guy',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lusitana',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Lustria',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'M PLUS 1p',\r\n\t\tvariants: [100, 300, 400, 500, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'M PLUS Rounded 1c',\r\n\t\tvariants: [100, 300, 400, 500, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ma Shan Zheng',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Macondo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Macondo Swash Caps',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mada',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Magra',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Maiden Orange',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Maitree',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Major Mono Display',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mako',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mali',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mallanna',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mandali',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Manjari',\r\n\t\tvariants: [100, 400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Manrope',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mansalva',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Manuale',\r\n\t\tvariants: [400, 500, 600, 700, '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Marcellus',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Marcellus SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Marck Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Margarine',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Markazi Text',\r\n\t\tvariants: [400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Marko One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Marmelad',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Martel',\r\n\t\tvariants: [200, 300, 400, 600, 700, 800, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Martel Sans',\r\n\t\tvariants: [200, 300, 400, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Marvel',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mate',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mate SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Maven Pro',\r\n\t\tvariants: [400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'McLaren',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Meddon',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'MedievalSharp',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Medula One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Meera Inimai',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Megrim',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Meie Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Merienda',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Merienda One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Merriweather',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Merriweather Sans',\r\n\t\tvariants: [300, 400, 500, 600, 700, 800, '300i', '400i', '500i', '600i', '700i', '800i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Metal',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Metal Mania',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Metamorphous',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Metrophobic',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Michroma',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Milonga',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Miltonian',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Miltonian Tattoo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mina',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Miniver',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Miriam Libre',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mirza',\r\n\t\tvariants: [400, 500, 600, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Miss Fajardose',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mitr',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Modak',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Modern Antiqua',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mogra',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Molengo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Molle',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Monda',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Monofett',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Monoton',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Monsieur La Doulaise',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Montaga',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Montez',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Montserrat',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Montserrat Alternates',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Montserrat Subrayada',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Moul',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Moulpali',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mountains of Christmas',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mouse Memoirs',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mr Bedfort',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mr Dafoe',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mr De Haviland',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mrs Saint Delafield',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mrs Sheppards',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mukta',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mukta Mahee',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mukta Malar',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mukta Vaani',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mulish',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800, 900, '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'MuseoModerno',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Mystery Quest',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'NTR',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nanum Brush Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nanum Gothic',\r\n\t\tvariants: [400, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nanum Gothic Coding',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nanum Myeongjo',\r\n\t\tvariants: [400, 700, 800],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nanum Pen Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nerko One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Neucha',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Neuton',\r\n\t\tvariants: [200, 300, 400, '400i', 700, 800],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'New Rocker',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'New Tegomin',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'News Cycle',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Newsreader',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800, '200i', '300i', '400i', '500i', '600i', '700i', '800i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Niconne',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Niramit',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nixie One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nobile',\r\n\t\tvariants: [400, '400i', 500, '500i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nokora',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Norican',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nosifer',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Notable',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nothing You Could Do',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noticia Text',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Sans',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Sans HK',\r\n\t\tvariants: [100, 300, 400, 500, 700, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Sans JP',\r\n\t\tvariants: [100, 300, 400, 500, 700, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Sans KR',\r\n\t\tvariants: [100, 300, 400, 500, 700, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Sans SC',\r\n\t\tvariants: [100, 300, 400, 500, 700, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Sans TC',\r\n\t\tvariants: [100, 300, 400, 500, 700, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Serif',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Serif JP',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Serif KR',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Serif SC',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Noto Serif TC',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nova Cut',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nova Flat',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nova Mono',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nova Oval',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nova Round',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nova Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nova Slim',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nova Square',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Numans',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nunito',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Nunito Sans',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Odibee Sans',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Odor Mean Chey',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Offside',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Oi',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Old Standard TT',\r\n\t\tvariants: [400, '400i', 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Oldenburg',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Oleo Script',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Oleo Script Swash Caps',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Open Sans',\r\n\t\tvariants: [300, '300i', 400, '400i', 600, '600i', 700, '700i', 800, '800i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Open Sans Condensed',\r\n\t\tvariants: [300, '300i', 400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Oranienbaum',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Orbitron',\r\n\t\tvariants: [400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Oregano',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Orelega One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Orienta',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Original Surfer',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Oswald',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Over the Rainbow',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Overlock',\r\n\t\tvariants: [400, '400i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Overlock SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Overpass',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Overpass Mono',\r\n\t\tvariants: [300, 400, 600, 700],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ovo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Oxanium',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Oxygen',\r\n\t\tvariants: [300, 400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Oxygen Mono',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'PT Mono',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'PT Sans',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'PT Sans Caption',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'PT Sans Narrow',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'PT Serif',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'PT Serif Caption',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pacifico',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Padauk',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Palanquin',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Palanquin Dark',\r\n\t\tvariants: [400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pangolin',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Paprika',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Parisienne',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Passero One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Passion One',\r\n\t\tvariants: [400, 700, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pathway Gothic One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Patrick Hand',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Patrick Hand SC',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pattaya',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Patua One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pavanam',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Paytone One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Peddana',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Peralta',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Permanent Marker',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Petit Formal Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Petrona',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Philosopher',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Piazzolla',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Piedra',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pinyon Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pirata One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Plaster',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Play',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Playball',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Playfair Display',\r\n\t\tvariants: [400, 500, 600, 700, 800, 900, '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Playfair Display SC',\r\n\t\tvariants: [400, '400i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Podkova',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Poiret One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Poller One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Poly',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pompiere',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pontano Sans',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Poor Story',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Poppins',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Port Lligat Sans',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Port Lligat Slab',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Potta One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pragati Narrow',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Prata',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Preahvihear',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Press Start 2P',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Pridi',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Princess Sofia',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Prociono',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Prompt',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Prosto One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Proza Libre',\r\n\t\tvariants: [400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Public Sans',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Puritan',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Purple Purse',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Quando',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Quantico',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Quattrocento',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Quattrocento Sans',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Questrial',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Quicksand',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Quintessential',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Qwigley',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Racing Sans One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Radley',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rajdhani',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rakkas',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Raleway',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Raleway Dots',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ramabhadra',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ramaraja',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rambla',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rammetto One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ranchers',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rancho',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ranga',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rasa',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rationale',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ravi Prakash',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Recursive',\r\n\t\tvariants: [300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Red Hat Display',\r\n\t\tvariants: [400, '400i', 500, '500i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Red Hat Text',\r\n\t\tvariants: [400, '400i', 500, '500i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Red Rose',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Redressed',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Reem Kufi',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Reenie Beanie',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Reggae One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Revalia',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rhodium Libre',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ribeye',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ribeye Marrow',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Righteous',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Risque',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Roboto',\r\n\t\tvariants: [100, '100i', 300, '300i', 400, '400i', 500, '500i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Roboto Condensed',\r\n\t\tvariants: [300, '300i', 400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Roboto Mono',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, '100i', '200i', '300i', '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Roboto Slab',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rochester',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rock Salt',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'RocknRoll One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rokkitt',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Romanesco',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ropa Sans',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rosario',\r\n\t\tvariants: [300, 400, 500, 600, 700, '300i', '400i', '500i', '600i', '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rosarivo',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rouge Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rowdies',\r\n\t\tvariants: [300, 400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rozha One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rubik',\r\n\t\tvariants: [300, 400, 500, 600, 700, 800, 900, '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rubik Mono One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ruda',\r\n\t\tvariants: [400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rufina',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ruge Boogie',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ruluko',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rum Raisin',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ruslan Display',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Russo One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ruthie',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Rye',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sacramento',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sahitya',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sail',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Saira',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Saira Condensed',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Saira Extra Condensed',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Saira Semi Condensed',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Saira Stencil One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Salsa',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sanchez',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sancreek',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sansita',\r\n\t\tvariants: [400, '400i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sansita Swashed',\r\n\t\tvariants: [300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sarabun',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sarala',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sarina',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sarpanch',\r\n\t\tvariants: [400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Satisfy',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sawarabi Gothic',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sawarabi Mincho',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Scada',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Scheherazade',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Schoolbell',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Scope One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Seaweed Script',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Secular One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sedgwick Ave',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sedgwick Ave Display',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sen',\r\n\t\tvariants: [400, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sevillana',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Seymour One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Shadows Into Light',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Shadows Into Light Two',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Shanti',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Share',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Share Tech',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Share Tech Mono',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Shippori Mincho',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Shippori Mincho B1',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Shojumaru',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Short Stack',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Shrikhand',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Siemreap',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sigmar One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Signika',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Signika Negative',\r\n\t\tvariants: [300, 400, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Simonetta',\r\n\t\tvariants: [400, '400i', 900, '900i'],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Single Day',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sintony',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sirin Stencil',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Six Caps',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Skranji',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Slabo 13px',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Slabo 27px',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Slackey',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Smokum',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Smythe',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sniglet',\r\n\t\tvariants: [400, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Snippet',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Snowburst One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sofadi One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sofia',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Solway',\r\n\t\tvariants: [300, 400, 500, 700, 800],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Song Myung',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sonsie One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sora',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sorts Mill Goudy',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Source Code Pro',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Source Sans Pro',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 600, '600i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Source Serif Pro',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 600, '600i', 700, '700i', 900, '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Space Grotesk',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Space Mono',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Spartan',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Special Elite',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Spectral',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Spectral SC',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Spicy Rice',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Spinnaker',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Spirax',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Squada One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sree Krushnadevaraya',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sriracha',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Srisakdi',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Staatliches',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Stalemate',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Stalinist One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Stardos Stencil',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Stick',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Stint Ultra Condensed',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Stint Ultra Expanded',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Stoke',\r\n\t\tvariants: [300, 400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Strait',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Stylish',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sue Ellen Francisco',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Suez One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sulphur Point',\r\n\t\tvariants: [300, 400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sumana',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sunflower',\r\n\t\tvariants: [300, 400, 500, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sunshiney',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Supermercado One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Sura',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Suranna',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Suravaram',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Suwannaphum',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Swanky and Moo Moo',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Syncopate',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Syne',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Syne Mono',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Syne Tactile',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Tajawal',\r\n\t\tvariants: [200, 300, 400, 500, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Tangerine',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Taprom',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Tauri',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Taviraj',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Teko',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Telex',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Tenali Ramakrishna',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Tenor Sans',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Text Me One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Texturina',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Thasadith',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'The Girl Next Door',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Tienne',\r\n\t\tvariants: [400, 700, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Tillana',\r\n\t\tvariants: [400, 500, 600, 700, 800],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Timmana',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Tinos',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Titan One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Titillium Web',\r\n\t\tvariants: [200, '200i', 300, '300i', 400, '400i', 600, '600i', 700, '700i', 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Tomorrow',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Trade Winds',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Train One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Trirong',\r\n\t\tvariants: [100, '100i', 200, '200i', 300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i', 800, '800i', 900, '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Trispace',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Trocchi',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Trochut',\r\n\t\tvariants: [400, '400i', 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Truculenta',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Trykker',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Tulpen One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Turret Road',\r\n\t\tvariants: [200, 300, 400, 500, 700, 800],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ubuntu',\r\n\t\tvariants: [300, '300i', 400, '400i', 500, '500i', 700, '700i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ubuntu Condensed',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ubuntu Mono',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Ultra',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Uncial Antiqua',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Underdog',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Unica One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'UnifrakturCook',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'UnifrakturMaguntia',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Unkempt',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Unlock',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Unna',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'VT323',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Vampiro One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Varela',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Varela Round',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Varta',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Vast Shadow',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Vesper Libre',\r\n\t\tvariants: [400, 500, 700, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Viaoda Libre',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Vibes',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Vibur',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Vidaloka',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Viga',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Voces',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Volkhov',\r\n\t\tvariants: [400, '400i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Vollkorn',\r\n\t\tvariants: [400, 500, 600, 700, 800, 900, '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Vollkorn SC',\r\n\t\tvariants: [400, 600, 700, 900],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Voltaire',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Waiting for the Sunrise',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Wallpoet',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Walter Turncoat',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Warnes',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Wellfleet',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Wendy One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Wire One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Work Sans',\r\n\t\tvariants: [100, 200, 300, 400, 500, 600, 700, 800, 900, '100i', '200i', '300i', '400i', '500i', '600i', '700i', '800i', '900i'],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Xanh Mono',\r\n\t\tvariants: [400, '400i'],\r\n\t\tcategory: 'monospace'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Yanone Kaffeesatz',\r\n\t\tvariants: [200, 300, 400, 500, 600, 700],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Yantramanav',\r\n\t\tvariants: [100, 300, 400, 500, 700, 900],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Yatra One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Yellowtail',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Yeon Sung',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Yeseva One',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Yesteryear',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Yrsa',\r\n\t\tvariants: [300, 400, 500, 600, 700],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Yusei Magic',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'sans-serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'ZCOOL KuaiLe',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'ZCOOL QingKe HuangYou',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'ZCOOL XiaoWei',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Zen Dots',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'display'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Zeyada',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Zhi Mang Xing',\r\n\t\tvariants: [400],\r\n\t\tcategory: 'handwriting'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Zilla Slab',\r\n\t\tvariants: [300, '300i', 400, '400i', 500, '500i', 600, '600i', 700, '700i'],\r\n\t\tcategory: 'serif'\r\n\t},\r\n\t{\r\n\t\tfamily: 'Zilla Slab Highlight',\r\n\t\tvariants: [400, 700],\r\n\t\tcategory: 'display'\r\n\t}\r\n];","export const fontStyles = [\r\n\t{ label: 'Normal', value: 'normal' },\r\n\t{ label: 'Italic', value: 'italic' },\r\n\t{ label: 'Oblique', value: 'oblique' }\r\n];\r\n\r\nexport const textTransforms = [\r\n\t{ label: 'None', value: 'none', icon: 'NO' },\r\n\t{ label: 'Capitalize', value: 'capitalize', icon: 'Aa' },\r\n\t{ label: 'Uppercase', value: 'uppercase', icon: 'AA' },\r\n\t{ label: 'Lowercase', value: 'lowercase', icon: 'aa' }\r\n];\r\n\r\nexport const textDecorations = [\r\n\t{ label: 'Default', value: 'auto' },\r\n\t{ label: 'Underline', value: 'underline' },\r\n\t{ label: 'Overline', value: 'overline' },\r\n\t{ label: 'Line Through', value: 'line-through' },\r\n\t{ label: 'None', value: 'none' }\r\n];","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props label (optional): 'Typography' (String)\r\n * @props typography (required): {fontFamily, fontWeight, fontSize, fontStyle, textTransform, textDecoration, lineHeight, letterSpace} (Object)\r\n * @props onChange (required): (Function)\r\n * @props defaults (optional): { fontFamily, fontWeight, fontSize, fontStyle, textTransform, textDecoration, lineHeight, letterSpace } (Object)\r\n */\r\n\r\nimport { useState } from 'react';\r\nimport { __ } from '@wordpress/i18n';\r\nimport { Button, Dropdown, PanelRow, SelectControl, __experimentalUnitControl as UnitControl, RangeControl, ToggleControl } from '@wordpress/components';\r\nimport { produce } from 'immer';\r\n\r\nimport './Typography.scss';\r\nimport { Label, BDevice, BtnGroup } from '../index';\r\nimport { pxUnit, perUnit, emUnit, remUnit } from '../utils/options';\r\nimport fontLists from './fontLists';\r\nimport { fontStyles, textTransforms, textDecorations } from './options';\r\n\r\nconst Typography = props => {\r\n\tconst { className = '', label = __('Typography:', 'bplugins'), value, onChange, defaults = {}, isFamily = true } = props;\r\n\r\n\tconst defaultVal = { fontFamily: 'Default', fontCategory: 'sans-serif', fontWeight: 400, isUploadFont: true, fontSize: { desktop: 15, tablet: 15, mobile: 15 }, fontStyle: 'normal', textTransform: 'none', textDecoration: 'auto', lineHeight: '135%', letterSpace: '0px' }\r\n\r\n\tconst getDefault = property => defaults?.[property] || defaultVal[property];\r\n\tconst setDefault = property => onChange({ ...value, [property]: getDefault(property) });\r\n\r\n\tconst getValue = property => undefined === value?.[property] ? getDefault(property) : value?.[property];\r\n\t// const setValue = (property, val) => onChange({ ...value, [property]: val });\r\n\tconst resetValue = property => value?.[property] && value?.[property] !== getDefault(property) && <Button icon='image-rotate' className='bPlResetVal' onClick={() => setDefault(property)} />\r\n\r\n\t// Font family searching\r\n\tconst [device, setDevice] = useState('desktop');\r\n\tconst [query, setQuery] = useState('');\r\n\tconst [isSearching, setIsSearching] = useState(false);\r\n\tconst searchFonts = fontLists.filter(({ family }) => family.toLowerCase().includes(query.toLowerCase()));\r\n\r\n\t// Get Font weights\r\n\tconst fontWeights = () => {\r\n\t\tconst currentFontWeights = fontLists.find(font => font.family === getValue('fontFamily'))?.variants;\r\n\t\tlet weights = []\r\n\t\tcurrentFontWeights?.map(weight => weights?.push({ label: weight, value: weight }));\r\n\t\treturn 0 === weights.length ? [400] : weights;\r\n\t}\r\n\r\n\tconst setValue = (property, val, otherProperty) => {\r\n\t\tconst newTypo = produce(value, draft => {\r\n\t\t\tif (otherProperty) {\r\n\t\t\t\tdraft[property] = { ...draft[property], [otherProperty]: val };\r\n\t\t\t} else {\r\n\t\t\t\tdraft[property] = val;\r\n\t\t\t}\r\n\t\t});\r\n\t\tonChange(newTypo);\r\n\t}\r\n\r\n\treturn <PanelRow className={`bPlDropdown ${className}`}>\r\n\t\t<Label className=''>{label}</Label>\r\n\r\n\t\t<Dropdown className='bPlDropdownContainer' contentClassName='bPlDropdownPopover' popoverProps={{ placement: 'bottom-end' }}\r\n\t\t\trenderToggle={({ isOpen, onToggle }) => <Button icon='admin-customizer' onClick={onToggle} aria-expanded={isOpen} />}\r\n\t\t\trenderContent={() => <>\r\n\t\t\t\t{/* Font Family & Weight */}\r\n\t\t\t\t{isFamily ? <>\r\n\t\t\t\t\t<PanelRow className='bPlTypoFontTitle'>\r\n\t\t\t\t\t\t<Label className=''>{__('Font Family:', 'bplugins')}</Label>\r\n\t\t\t\t\t\t<Label className=''>{__('Weight:', 'bplugins')}</Label>\r\n\t\t\t\t\t</PanelRow>\r\n\t\t\t\t\t<PanelRow className='bPlTypoFont'>\r\n\t\t\t\t\t\t<div className='bPlTypoFontSelect'>\r\n\t\t\t\t\t\t\t<input type='search' value={query} onClick={() => setIsSearching(!isSearching)} placeholder={getValue('fontFamily') || 'Search Font'} onChange={e => setQuery(e.target.value)} />\r\n\r\n\t\t\t\t\t\t\t<span className={`dashicon dashicons dashicons-${isSearching ? 'arrow-up' : 'arrow-down'} `} onClick={() => setIsSearching(!isSearching)}></span>\r\n\r\n\t\t\t\t\t\t\t{isSearching && <ul className='bPlTypoFontLists'>\r\n\t\t\t\t\t\t\t\t{searchFonts?.map(font => <li key={font?.family} onClick={() => {\r\n\t\t\t\t\t\t\t\t\tonChange({ ...value, ['fontFamily']: font?.family, ['fontCategory']: font?.category || 'sans-serif', ['fontWeight']: 400, ['fontVariant']: 400 });\r\n\t\t\t\t\t\t\t\t\tsetQuery('');\r\n\t\t\t\t\t\t\t\t\tsetIsSearching(false);\r\n\t\t\t\t\t\t\t\t}}>{font?.family}</li>)}\r\n\t\t\t\t\t\t\t</ul>}\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<SelectControl value={getValue('fontVariant')} onChange={val => { onChange({ ...value, ['fontWeight']: parseInt(val?.replace('00i', '00')), ['fontVariant']: val }) }} options={fontWeights()} />\r\n\t\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t\t<ToggleControl className='mt10' label={__('Upload Google Font', 'bplugins')} checked={getValue('isUploadFont')} onChange={val => setValue('isUploadFont', val)} />\r\n\t\t\t\t</> : <PanelRow>\r\n\t\t\t\t\t<Label className=''>{__('Weight:', 'bplugins')}</Label>\r\n\t\t\t\t\t<SelectControl value={getValue('fontWeight')} onChange={val => setValue('fontWeight', val)} options={fontWeights()} />\r\n\t\t\t\t</PanelRow>}\r\n\r\n\r\n\t\t\t\t{/* Font Size */}\r\n\t\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t\t<Label className=''>{__('Font Size:', 'bplugins')}</Label>\r\n\t\t\t\t\t<BDevice device={device} onChange={val => setDevice(val)} />\r\n\t\t\t\t</PanelRow>\r\n\t\t\t\t<RangeControl value={getValue('fontSize')?.[device] || getValue('fontSize')} onChange={val => setValue('fontSize', val, device)} min={0} max={120} step={1} allowReset={true} resetFallbackValue={getDefault('fontSize')?.[device] || getDefault('fontSize')} initialPosition={getDefault('fontSize')?.[device] || getDefault('fontSize')} />\r\n\r\n\t\t\t\t{/* Font Style */}\r\n\t\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t\t<Label className=''>{__('Font Style:', 'bplugins')}</Label>\r\n\t\t\t\t\t<SelectControl value={getValue('fontStyle')} onChange={val => setValue('fontStyle', val)} options={fontStyles} />\r\n\t\t\t\t\t{resetValue('fontStyle')}\r\n\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t{/* Text Transform */}\r\n\t\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t\t<Label className='mt5'>{__('Text Transform:', 'bplugins')}</Label>\r\n\t\t\t\t\t<BtnGroup value={getValue('textTransform')} onChange={val => setValue('textTransform', val)} options={textTransforms} isTextIcon={true} />\r\n\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t{/* Text Decoration */}\r\n\t\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t\t<Label className=''>{__('Text Decoration:', 'bplugins')}</Label>\r\n\t\t\t\t\t<SelectControl value={getValue('textDecoration')} onChange={val => setValue('textDecoration', val)} options={textDecorations} />\r\n\t\t\t\t\t{resetValue('textDecoration')}\r\n\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t{/* Line Height */}\r\n\t\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t\t<UnitControl label={__('Line Height:', 'bplugins')} labelPosition='left' value={getValue('lineHeight')} onChange={val => setValue('lineHeight', val)} units={[pxUnit(24), perUnit(135), emUnit(2), remUnit(2)]} isResetValueOnUnitChange={true} />\r\n\t\t\t\t\t{resetValue('lineHeight')}\r\n\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t{/* Letter Spacing */}\r\n\t\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t\t<UnitControl label={__('Letter Spacing:', 'bplugins')} labelPosition='left' value={getValue('letterSpace')} onChange={val => setValue('letterSpace', val)} units={[pxUnit(), emUnit(), remUnit()]} />\r\n\t\t\t\t\t{resetValue('letterSpace')}\r\n\t\t\t\t</PanelRow>\r\n\t\t\t</>}\r\n\t\t/>\r\n\t</PanelRow>\r\n};\r\nexport default Typography;","import { __ } from '@wordpress/i18n';\r\n\r\nexport const beforeAfterImgTab = [\r\n\t{ name: 'before-img', title: __('Before Img', 'image-compare') },\r\n\t{ name: 'after-img', title: __('After Img', 'image-compare') }\r\n];","import { __ } from '@wordpress/i18n';\r\nimport { AlignmentToolbar, BlockControls, InspectorControls } from '@wordpress/block-editor';\r\nimport { PanelBody, ToggleControl, __experimentalUnitControl as UnitControl, TabPanel } from '@wordpress/components';\r\n\r\n// Settings Components\r\nimport { BorderControl, ColorsControl, HelpPanel, InlineDetailMediaUpload, ImageEditControl, ChangeImageData, SpaceControl, Typography } from '../../Components';\r\nimport { pxUnit, perUnit, emUnit, vwUnit } from '../../Components/utils/options';\r\n\r\nimport { beforeAfterImgTab } from './utils/options';\r\n\r\nconst Settings = ({ attributes, setAttributes }) => {\r\n\tconst { alignment, width, border, beforeImg, afterImg, isSwap, isLabel, labelTypo, labelColors, labelPadding, isCap, capTypo, capColors, capPadding } = attributes;\r\n\r\n\treturn <>\r\n\t\t<InspectorControls>\r\n\t\t\t<div className='icbInspectorInfo'>\r\n\t\t\t\tNeed more block like this? Checkout the bundle ➡ <a href='https://wordpress.org/plugins/b-blocks' target='_blank' rel='noopener noreferrer'>B Blocks</a>\r\n\t\t\t</div>\r\n\r\n\t\t\t<HelpPanel slug='before-after-image-compare' docsLink='https://bblockswp.com/docs/image-comparison-block' />\r\n\r\n\r\n\t\t\t<PanelBody className='bPlPanelBody' title={__('Comparison Settings', 'image-compare')}>\r\n\t\t\t\t<UnitControl label={__('Width:', 'image-compare')} labelPosition='left' value={width} onChange={val => setAttributes({ width: val })} units={[pxUnit(), perUnit(), emUnit(), vwUnit()]} />\r\n\r\n\t\t\t\t<BorderControl label={__('Border:', 'image-compare')} value={border} onChange={val => setAttributes({ border: val })} />\r\n\r\n\t\t\t\t<TabPanel className='bPlTabPanel mt20' activeClass='activeTab' tabs={beforeAfterImgTab}>{tab => <>\r\n\t\t\t\t\t{'before-img' == tab.name && <>\r\n\t\t\t\t\t\t<InlineDetailMediaUpload className='mt10' value={beforeImg} onChange={val => setAttributes({ beforeImg: val })} placeholder={__('Enter Image URL', 'image-compare')} />\r\n\r\n\t\t\t\t\t\t<ChangeImageData className='mt20' value={afterImg} onChange={val => setAttributes({ afterImg: val })} />\r\n\t\t\t\t\t</>}\r\n\r\n\t\t\t\t\t{'after-img' == tab.name && <>\r\n\t\t\t\t\t\t<InlineDetailMediaUpload className='mt10' value={afterImg} onChange={val => setAttributes({ afterImg: val })} placeholder={__('Enter Image URL', 'image-compare')} />\r\n\r\n\t\t\t\t\t\t<ChangeImageData className='mt20' value={afterImg} onChange={val => setAttributes({ afterImg: val })} />\r\n\t\t\t\t\t</>}\r\n\t\t\t\t</>}</TabPanel>\r\n\r\n\t\t\t\t<ToggleControl className='mt20' label={__('Swap Images', 'image-compare')} checked={isSwap} onChange={val => setAttributes({ isSwap: val, beforeImg: { ...afterImg }, afterImg: { ...beforeImg } })} />\r\n\t\t\t</PanelBody>\r\n\r\n\r\n\t\t\t<PanelBody className='bPlPanelBody' title={__('Labels Settings', 'image-compare')} initialOpen={false}>\r\n\t\t\t\t<ToggleControl label={__('Show Labels', 'image-compare')} checked={isLabel} onChange={val => setAttributes({ isLabel: val })} />\r\n\r\n\t\t\t\t{isLabel && <>\r\n\t\t\t\t\t<Typography value={labelTypo} onChange={val => setAttributes({ labelTypo: val })} defaults={{ fontSize: { desktop: 15, tablet: 15, mobile: 15 } }} />\r\n\r\n\t\t\t\t\t<ColorsControl value={labelColors} onChange={val => setAttributes({ labelColors: val })} defaults={{ color: '#fff', bg: '#00000080' }} />\r\n\r\n\t\t\t\t\t<SpaceControl className='mt20' label={__('Padding:', 'image-compare')} value={labelPadding} onChange={val => setAttributes({ labelPadding: val })} defaults={{ vertical: '10px', horizontal: '15px' }} />\r\n\t\t\t\t</>}\r\n\t\t\t</PanelBody>\r\n\r\n\r\n\t\t\t<PanelBody className='bPlPanelBody' title={__('Caption Settings', 'image-compare')} initialOpen={false}>\r\n\t\t\t\t<ToggleControl label={__('Show Caption', 'image-compare')} checked={isCap} onChange={val => setAttributes({ isCap: val })} />\r\n\r\n\t\t\t\t{isCap && <>\r\n\t\t\t\t\t<Typography value={capTypo} onChange={val => setAttributes({ capTypo: val })} defaults={{ fontSize: { desktop: 14, tablet: 14, mobile: 14 } }} />\r\n\r\n\t\t\t\t\t<ColorsControl value={capColors} onChange={val => setAttributes({ capColors: val })} defaults={{ color: '#333', bg: '#f4f4f4' }} />\r\n\r\n\t\t\t\t\t<SpaceControl className='mt20' label={__('Padding:', 'image-compare')} value={capPadding} onChange={val => setAttributes({ capPadding: val })} defaults={{ vertical: '10px', horizontal: '15px' }} />\r\n\t\t\t\t</>}\r\n\t\t\t</PanelBody>\r\n\t\t</InspectorControls>\r\n\r\n\r\n\t\t<BlockControls>\r\n\t\t\t<ImageEditControl label={__('Edit Before Image:', 'image-compare')} value={beforeImg} onChange={val => setAttributes({ beforeImg: val })} />\r\n\t\t\t<ImageEditControl label={__('Edit After Image:', 'image-compare')} value={afterImg} onChange={val => setAttributes({ afterImg: val })} />\r\n\r\n\t\t\t<AlignmentToolbar value={alignment} onChange={val => setAttributes({ alignment: val })} describedBy={__('Image Comparison Alignment')} alignmentControls={[\r\n\t\t\t\t{ title: __('Image Comparison in left', 'image-compare'), align: 'left', icon: 'align-left' },\r\n\t\t\t\t{ title: __('Image Comparison in center', 'image-compare'), align: 'center', icon: 'align-center' },\r\n\t\t\t\t{ title: __('Image Comparison in right', 'image-compare'), align: 'right', icon: 'align-right' }\r\n\t\t\t]} />\r\n\t\t</BlockControls>\r\n\t</>;\r\n};\r\nexport default Settings;","export const getBackgroundCSS = (bg, isSolid = true, isGradient = true, isImage = true) => {\r\n\tconst { type = 'solid', color = '#000000b3', gradient = 'linear-gradient(135deg, #4527a4, #8344c5)', image = {}, position = 'center center', attachment = 'initial', repeat = 'no-repeat', size = 'cover', overlayColor = '#000000b3' } = bg || {};\r\n\r\n\tconst styles = ('gradient' === type && isGradient) ? `background: ${gradient};` :\r\n\t\t('image' === type && isImage) ?\r\n\t\t\t`background: url(${image?.url});\r\n\t\t\t\tbackground-color: ${overlayColor};\r\n\t\t\t\tbackground-position: ${position};\r\n\t\t\t\tbackground-size: ${size};\r\n\t\t\t\tbackground-repeat: ${repeat};\r\n\t\t\t\tbackground-attachment: ${attachment};\r\n\t\t\t\tbackground-blend-mode: overlay;` :\r\n\t\t\tisSolid && `background: ${color};`;\r\n\r\n\treturn styles;\r\n} // PHP version in Stepped Content\r\n\r\nexport const getBorderCSS = (border) => {\r\n\tconst { width = '0px', style = 'solid', color = '#0000', side = 'all', radius = '0px' } = border || {};\r\n\r\n\tconst borderSideCheck = s => {\r\n\t\tconst bSide = side?.toLowerCase();\r\n\t\treturn bSide?.includes('all') || bSide?.includes(s);\r\n\t}\r\n\r\n\tconst noWidth = width === '0px' || !width;\r\n\tconst borderCSS = `${width} ${style} ${color}`;\r\n\r\n\tconst styles = `\r\n\t\t${noWidth ? '' : ['top', 'right', 'bottom', 'left'].map(side => borderSideCheck(side) ? `border-${side}: ${borderCSS};` : '').join('')}\r\n\t\t${!radius ? '' : `border-radius: ${radius};`}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getColorsCSS = (colors) => {\r\n\tconst { color = '#333', bgType = 'solid', bg = '#0000', gradient = 'linear-gradient(135deg, #4527a4, #8344c5)' } = colors || {};\r\n\r\n\tconst styles = `\r\n\t\t${color ? `color: ${color};` : ''}\r\n\t\t${gradient || bg ? `background: ${'gradient' === bgType ? gradient : bg};` : ''}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getIconCSS = (icon, isSize = true, isColor = true) => {\r\n\tconst { fontSize = 16, colorType = 'solid', color = 'inherit', gradient = 'linear-gradient(135deg, #4527a4, #8344c5)' } = icon || {};\r\n\r\n\tconst colorCSS = 'gradient' === colorType ?\r\n\t\t`color: transparent; background-image: ${gradient}; -webkit-background-clip: text; background-clip: text;` :\r\n\t\t`color: ${color};`;\r\n\r\n\tconst styles = `\r\n\t\t${!fontSize || !isSize ? '' : `font-size: ${fontSize}px;`}\r\n\t\t${isColor ? colorCSS : ''}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getMultiShadowCSS = (value, type = 'box') => {\r\n\tlet styles = '';\r\n\r\n\tvalue?.map((item, index) => {\r\n\t\tconst { hOffset = '0px', vOffset = '0px', blur = '0px', spreed = '0px', color = '#7090b0', isInset = false } = item || {};\r\n\r\n\t\tconst inset = isInset ? 'inset' : '';\r\n\t\tconst offsetBlur = `${hOffset} ${vOffset} ${blur}`;\r\n\t\tconst isComa = index + 1 >= value.length ? '' : ', ';\r\n\r\n\t\tstyles += 'text' === type ? `${offsetBlur} ${color}${isComa}` : `${offsetBlur} ${spreed} ${color} ${inset}${isComa}`;\r\n\t});\r\n\r\n\treturn styles || 'none';\r\n}\r\n\r\nexport const getSeparatorCSS = (separator) => {\r\n\tconst { width = '50%', height = '2px', style = 'solid', color = '#bbb' } = separator || {};\r\n\r\n\tconst styles = `\r\n\t\twidth: ${width};\r\n\t\t${'0px' === height && '0em' === height && '0rem' === height ? '' : `border-top: ${height} ${style} ${color};`}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getShadowCSS = (shadow) => {\r\n\tconst { type = 'box', hOffset = '0px', vOffset = '0px', blur = '0px', spreed = '0px', color = '#7090b0', isInset = false } = shadow || {};\r\n\r\n\tconst inset = isInset ? 'inset' : '';\r\n\tconst offsetBlur = `${hOffset} ${vOffset} ${blur}`;\r\n\r\n\tconst styles = 'text' === type ? `${offsetBlur} ${color}` : `${offsetBlur} ${spreed} ${color} ${inset}`;\r\n\r\n\treturn styles || 'none';\r\n}\r\n\r\nexport const getSpaceCSS = (space) => {\r\n\tconst { side = 2, vertical = '0px', horizontal = '0px', top = '0px', right = '0px', bottom = '0px', left = '0px' } = space || {};\r\n\r\n\tconst styles = 2 === side ? `${vertical} ${horizontal}` : `${top} ${right} ${bottom} ${left}`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getTypoCSS = (selector, typo, isFamily = true) => {\r\n\tconst { fontFamily = 'Default', fontCategory = 'sans-serif', fontVariant = 400, fontWeight = 400, isUploadFont = true, fontSize = { desktop: 15, tablet: 15, mobile: 15 }, fontStyle = 'normal', textTransform = 'none', textDecoration = 'auto', lineHeight = '135%', letterSpace = '0px' } = typo || {};\r\n\r\n\tconst generateCss = (value, cssProperty) => !value ? '' : `${cssProperty}: ${value};`;\r\n\r\n\tconst isEmptyFamily = !isFamily || !fontFamily || 'Default' === fontFamily;\r\n\tconst desktopFontSize = fontSize?.desktop || fontSize;\r\n\tconst tabletFontSize = fontSize?.tablet || desktopFontSize;\r\n\tconst mobileFontSize = fontSize?.mobile || tabletFontSize;\r\n\r\n\tconst styles = `\r\n\t\t${isEmptyFamily ? '' : `font-family: '${fontFamily}', ${fontCategory};`}\r\n\t\t${generateCss(fontWeight, 'font-weight')}\r\n\t\t${`font-size: ${desktopFontSize}px;`}\r\n\t\t${generateCss(fontStyle, 'font-style')}\r\n\t\t${generateCss(textTransform, 'text-transform')}\r\n\t\t${generateCss(textDecoration, 'text-decoration')}\r\n\t\t${generateCss(lineHeight, 'line-height')}\r\n\t\t${generateCss(letterSpace, 'letter-spacing')}\r\n\t`;\r\n\r\n\t// Google font link\r\n\tconst linkQuery = !fontVariant || 400 === fontVariant ? '' : '400i' === fontVariant ? ':ital@1' : fontVariant?.includes('00i') ? `: ital, wght@1, ${fontVariant?.replace('00i', '00')} ` : `: wght@${fontVariant} `;\r\n\r\n\tconst link = isEmptyFamily ? '' : `https://fonts.googleapis.com/css2?family=${fontFamily?.split(' ').join('+')}${linkQuery.replace(/ /g, '')}&display=swap`;\r\n\r\n\treturn {\r\n\t\tgoogleFontLink: !isUploadFont || isEmptyFamily ? '' : `@import url(${link});`,\r\n\t\tstyles: `${selector}{\r\n\t\t\t${styles}\r\n\t\t}\r\n\t\t@media (max-width: 768px) {\r\n\t\t\t${selector}{\r\n\t\t\t\t${`font-size: ${tabletFontSize}px;`}\r\n\t\t\t}\r\n\t\t}\r\n\t\t@media (max-width: 576px) {\r\n\t\t\t${selector}{\r\n\t\t\t\t${`font-size: ${mobileFontSize}px;`}\r\n\t\t\t}\r\n\t\t}`.replace(/\\s+/g, ' ').trim()\r\n\t}\r\n}\r\n\r\nexport const getBoxCSS = (val = {}) => Object.values(val).join(' ');","import { getBorderCSS, getColorsCSS, getSpaceCSS, getTypoCSS } from '../../Components/utils/getCSS';\r\n\r\nconst Style = ({ attributes, clientId }) => {\r\n\tconst { alignment, width, border, labelTypo, labelColors, labelPadding, capTypo, capColors, capPadding } = attributes;\r\n\r\n\tconst mainSl = `#icbImageCompare-${clientId}`;\r\n\tconst imgCompareSl = `${mainSl} .icbImageCompare`;\r\n\r\n\treturn <style dangerouslySetInnerHTML={{\r\n\t\t__html: `\r\n\t\t${getTypoCSS('', labelTypo)?.googleFontLink}\r\n\t\t${getTypoCSS('', capTypo)?.googleFontLink}\r\n\t\t${getTypoCSS(`${imgCompareSl} .overlay`, labelTypo)?.styles}\r\n\t\t${getTypoCSS(`${imgCompareSl} .caption`, capTypo)?.styles}\r\n\r\n\t\t#icbImageCompare-${clientId}{\r\n\t\t\ttext-align: ${alignment};\r\n\t\t}\r\n\t\t${imgCompareSl}{\r\n\t\t\twidth: ${width};\r\n\t\t\t${getBorderCSS(border)};\r\n\t\t}\r\n\t\t${imgCompareSl} .overlay{\r\n\t\t\t${getColorsCSS(labelColors)}\r\n\t\t\tpadding: ${getSpaceCSS(labelPadding)};\r\n\t\t}\r\n\t\t${imgCompareSl} .caption{\r\n\t\t\t${getColorsCSS(capColors)}\r\n\t\t\tpadding: ${getSpaceCSS(capPadding)};\r\n\t\t}\r\n\t\t`.replace(/\\s+/g, ' ')\r\n\t}} />\r\n}\r\nexport default Style;","const $ = jQuery;\r\n\r\nexport const drags = (dragElement, resizeElement, container) => {\r\n\t// This creates a variable that detects if the user is using touch input instead of the mouse.\r\n\tlet touched = false;\r\n\twindow.addEventListener('touchstart', function () {\r\n\t\ttouched = true;\r\n\t});\r\n\twindow.addEventListener('touchend', function () {\r\n\t\ttouched = false;\r\n\t});\r\n\r\n\t// click the image and move the slider on interaction with the mouse or the touch input\r\n\tdragElement.on('mousedown touchstart', function (e) {\r\n\t\t//add classes to the elements - good for css animations if you need it to\r\n\t\tdragElement.addClass('icDraggable');\r\n\t\tresizeElement.addClass('icResizable');\r\n\t\t//create vars\r\n\t\tlet startX = e.pageX ? e.pageX : e.originalEvent.touches[0].pageX;\r\n\t\tlet dragWidth = dragElement.outerWidth();\r\n\t\tlet posX = dragElement.offset().left + dragWidth - startX;\r\n\t\tlet containerOffset = container.offset().left;\r\n\t\tlet containerWidth = container.outerWidth();\r\n\t\tlet minLeft = containerOffset + 10;\r\n\t\tlet maxLeft = containerOffset + containerWidth - dragWidth - 10;\r\n\r\n\t\t//add event listener on the divider element\r\n\t\tdragElement.parents().on('mousemove touchmove', function (e) {\r\n\t\t\t// if the user is not using touch input let do preventDefault to prevent the user from selecting the images as he moves the slider around.\r\n\t\t\tif (touched === false) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t}\r\n\r\n\t\t\tlet moveX = e.pageX ? e.pageX : e.originalEvent?.touches?.[0].pageX;\r\n\t\t\tlet leftValue = moveX + posX - dragWidth;\r\n\r\n\t\t\t// stop the divider from going over the limits of the container\r\n\t\t\tif (leftValue < minLeft) {\r\n\t\t\t\tleftValue = minLeft;\r\n\t\t\t} else if (leftValue > maxLeft) {\r\n\t\t\t\tleftValue = maxLeft;\r\n\t\t\t}\r\n\r\n\t\t\tlet widthValue = (leftValue + dragWidth / 2 - containerOffset) * 100 / containerWidth + '%';\r\n\r\n\t\t\t$('.icDraggable').css('left', widthValue).on('mouseup touchend touchcancel', function () {\r\n\t\t\t\t$(this).removeClass('icDraggable');\r\n\t\t\t\tresizeElement.removeClass('icResizable');\r\n\t\t\t});\r\n\r\n\t\t\t$('.icResizable').css('width', widthValue);\r\n\r\n\t\t}).on('mouseup touchend touchcancel', function () {\r\n\t\t\tdragElement.removeClass('icDraggable');\r\n\t\t\tresizeElement.removeClass('icResizable');\r\n\t\t});\r\n\t}).on('mouseup touchend touchcancel', function () {\r\n\t\t// stop clicking the image and move the slider\r\n\t\tdragElement.removeClass('icDraggable');\r\n\t\tresizeElement.removeClass('icResizable');\r\n\t});\r\n}","import { useEffect } from 'react';\r\nimport { __ } from '@wordpress/i18n';\r\nimport { RichText } from '@wordpress/block-editor';\r\nimport { Spinner } from '@wordpress/components';\r\nimport { isBlobURL } from '@wordpress/blob';\r\nconst $ = jQuery;\r\n\r\n// Settings Components\r\nimport { ImagePlaceholder } from '../../Components';\r\nimport { tabController } from '../../Components/utils/functions';\r\n\r\nimport Settings from './Settings';\r\nimport Style from './Style';\r\nimport { drags } from './utils/functions';\r\n\r\nconst Edit = props => {\r\n\tconst { className, attributes, setAttributes, clientId, isSelected } = props;\r\n\tconst { width, beforeImg, afterImg, isLabel, beforeLabel, afterLabel, isCap, cap } = attributes;\r\n\r\n\tuseEffect(() => { clientId && setAttributes({ cId: clientId.substring(0, 10) }); }, [clientId]); // Set & Update clientId to cId\r\n\r\n\tuseEffect(() => tabController(), [isSelected]);\r\n\r\n\t// Image Slider Scripts\r\n\tuseEffect(() => {\r\n\t\tif ($('.comparison-slider')[0]) {\r\n\t\t\tlet compSlider = $('.comparison-slider');\r\n\r\n\t\t\t//let's loop through the sliders and initialize each of them\r\n\t\t\tcompSlider.each(function () {\r\n\t\t\t\tlet compSliderWidth = $(this).width() + 'px';\r\n\t\t\t\t$(this).find('.resize img').css({ width: compSliderWidth, minWidth: compSliderWidth });\r\n\t\t\t\tdrags($(this).find('.divider'), $(this).find('.resize'), $(this));\r\n\t\t\t});\r\n\r\n\t\t\t//if the user resizes the windows lets update our variables and resize our images\r\n\t\t\t$(window).on('resize', function () {\r\n\t\t\t\tlet compSliderWidth = compSlider.width() + 'px';\r\n\t\t\t\tcompSlider.find('.resize img').css({ width: compSliderWidth, minWidth: compSliderWidth });\r\n\t\t\t});\r\n\t\t}\r\n\t}, [$, width, beforeImg, afterImg]);\r\n\r\n\treturn <>\r\n\t\t<Settings attributes={attributes} setAttributes={setAttributes} />\r\n\r\n\t\t<div className={className} id={`icbImageCompare-${clientId}`}>\r\n\t\t\t<Style attributes={attributes} clientId={clientId} />\r\n\r\n\t\t\t<div className='icbImageCompare'>\r\n\t\t\t\t{beforeImg?.url && afterImg?.url ? <div className='comparison-slider'>\r\n\t\t\t\t\t{isLabel && <RichText className='overlay afterLabel' tagName='div' value={afterLabel} onChange={val => setAttributes({ afterLabel: val })} placeholder={__('After image label', 'image-compare')} inlineToolbar />}\r\n\r\n\t\t\t\t\t<img className='afterImg' src={afterImg?.url} alt={afterImg?.alt} />\r\n\r\n\t\t\t\t\t<div className='resize'>\r\n\t\t\t\t\t\t{isLabel && <RichText className='overlay beforeLabel' tagName='div' value={beforeLabel} onChange={val => setAttributes({ beforeLabel: val })} placeholder={__('Before image label', 'image-compare')} inlineToolbar />}\r\n\r\n\t\t\t\t\t\t<img className='beforeImg' src={beforeImg?.url} alt={beforeImg?.alt} />\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div className='divider'></div>\r\n\t\t\t\t</div> :\r\n\r\n\t\t\t\t\t<div className='imgPlaceholder'>\r\n\t\t\t\t\t\t<div className='beforeImg'>\r\n\t\t\t\t\t\t\t{beforeImg?.url ? <>\r\n\t\t\t\t\t\t\t\t<img src={beforeImg?.url} alt={beforeImg?.alt} />\r\n\t\t\t\t\t\t\t\t{isBlobURL(beforeImg?.url) && <Spinner />}\r\n\t\t\t\t\t\t\t</> :\r\n\t\t\t\t\t\t\t\t<ImagePlaceholder label={__(' Before Image:', 'image-compare')} value={beforeImg} onChange={val => setAttributes({ beforeImg: val })} />\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div className='afterImg'>\r\n\t\t\t\t\t\t\t{afterImg?.url ? <>\r\n\t\t\t\t\t\t\t\t<img src={afterImg?.url} alt={afterImg?.alt} />\r\n\t\t\t\t\t\t\t\t{isBlobURL(afterImg?.url) && <Spinner />}\r\n\t\t\t\t\t\t\t</> :\r\n\t\t\t\t\t\t\t\t<ImagePlaceholder label={__(' After Image:', 'image-compare')} value={afterImg} onChange={val => setAttributes({ afterImg: val })} />\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>}\r\n\r\n\t\t\t\t{isCap && <RichText className='caption' tagName='div' value={cap} onChange={val => setAttributes({ cap: val })} placeholder={__('Caption of the image compare', 'image-compare')} inlineToolbar />}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</>;\r\n};\r\nexport default Edit;","const iconColor = '#4527a4';\r\n\r\nexport const imageCompareIcon = <svg width={24} height={24} viewBox='0 0 469.333 469.333'>\r\n\t<path fill={iconColor} d='M192 42.667H85.333c-23.573 0-42.667 19.093-42.667 42.667V384c0 23.573 19.093 42.667 42.667 42.667H192v42.667h42.667V0H192v42.667zm0 320H85.333l106.667-128v128zM384 42.667H277.333v42.667H384v277.333l-106.667-128v192H384c23.573 0 42.667-19.093 42.667-42.667V85.333c0-23.573-19.094-42.666-42.667-42.666z'\r\n\t/>\r\n</svg>;","import { registerBlockType } from '@wordpress/blocks';\r\n\r\nimport metadata from '../block.json';\r\nimport Edit from './Edit';\r\nimport './editor.scss';\r\nimport { imageCompareIcon } from './utils/icons';\r\n\r\nregisterBlockType(metadata, {\r\n\ticon: imageCompareIcon,\r\n\r\n\t// Build in Functions\r\n\tedit: Edit,\r\n\r\n\tsave: () => null\r\n});"],"names":["module","exports","condition","format","a","b","c","d","e","f","error","undefined","Error","args","argIndex","replace","name","framesToPop","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","_defineProperties","target","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","value","allowedAttributes","disabled","type","Element","attributes","arguments","i18n","instance","Constructor","TypeError","_classCallCheck","this","_node","HTMLElement","document","createElement","_config","_setAttributes","textContent","_setTextContent","protoProps","staticProps","appendChild","className","classList","add","remove","toggle","callback","addEventListener","removeEventListener","text","window","getComputedStyle","height","top","style","concat","focus","_setAttribute","setAttribute","prototype","obj","_Element","_Element2","__esModule","_toConsumableArray","arr","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","Symbol","iterator","from","_iterableToArray","o","minLen","n","toString","call","slice","constructor","test","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","ownKeys","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","CLASSES","select","dropdownShown","multiselect","label","placeholder","dropdown","option","optionDisabled","autocompleteInput","selectedLabel","selectedOption","placeholderHidden","optionHidden","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","get","prop","hasOwnProperty","wp","blocks","React","blockEditor","components","blob","_props$className","htmlFor","children","borderStyles","pxUnit","default","perUnit","emUnit","remUnit","vwUnit","sides","gradients","gradient","slug","bgTypes","_props$label","__","onChange","defaultColor","_props$disableAlpha","disableAlpha","_useState2","_slicedToArray","useState","state","setState","themeColors","data","getSettings","colors","PanelRow","Label","Dropdown","contentClassName","popoverProps","placement","renderToggle","_ref","isOpen","onToggle","Fragment","isPrimary","onClick","backgroundColor","Button","icon","renderContent","_ref2","onClose","ColorPicker","color","onChangeComplete","rgb","r","g","hex","map","_ref3","desktopIcon","xmlns","width","viewBox","fill","tabletIcon","mobileIcon","scrollIcon","bookIcon","headsetIcon","starIcon","rightArrowIcon","_ref$device","device","_ref$className","show","setShow","title","toUpperCase","event","stopPropagation","_props$defaults","defaults","defaultVal","side","radius","getDefault","property","getValue","setValue","val","resetValue","setDefault","UnitControl","labelPosition","units","SelectControl","options","BColor","isResetValueOnUnitChange","_props$isIcon","isIcon","_props$isTextIcon","isTextIcon","size","Buttons","ButtonGroup","values","_obj$icon","_obj$label","_obj$def","def","isActive","isSm","showTooltip","tooltipPosition","variant","isSmall","isMedium","Gradient","__experimentalGradientPicker","GradientPicker","bgType","bg","ColorIndicator","colorValue","BtnGroup","docsLink","PanelBody","initialOpen","href","rel","getImageSizes","image","imageSizes","sizes","media_details","_loop","imageSize","find","s","source_url","ChangeImageData","withSelect","id","getMedia","_getImageSizes","_props$value2","url","isBlobURL","TextControl","alt","ImageEditControl","_props$label2","_props$value3","ToolbarGroup","MediaUploadCheck","MediaUpload","allowedTypes","onSelect","render","_ref4","open","ToolbarButton","ImagePlaceholder","withNotices","_props$label3","_props$icon","_props$value4","noticeOperations","noticeUI","MediaPlaceholder","labels","accept","_ref5","onSelectURL","onError","createErrorNotice","notices","InlineDetailMediaUpload","_props$value","_props$types2","types","_props$placeholder2","assign","bind","l","t","u","next","done","arg","input","hint","prim","toPrimitive","res","String","Number","self","ReferenceError","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","subClass","superClass","create","ReactDOM","Manager","collection","ref","refs","index","getIndex","splice","active","_this","sortableInfo","indexOf","sort","sortByIndex","omit","keysToOmit","reduce","acc","events","end","move","start","vendorPrefix","styles","documentElement","pre","join","match","OLink","substr","setInlineStyles","setTranslate3d","translate","x","y","setTransitionDuration","duration","closest","el","fn","parentNode","limit","min","max","Math","getPixelValue","stringValue","parseFloat","provideDisplayName","prefix","Component$$1","displayName","getScrollAdjustedBoundingClientRect","scrollDelta","boundingClientRect","getBoundingClientRect","left","getPosition","touches","pageX","pageY","changedTouches","getEdgeOffset","parent","offset","nodeOffset","offsetLeft","offsetTop","getLockPixelOffset","lockOffset","offsetX","offsetY","unit","exec","isFinite","getScrollingParent","computedStyle","overflowRegex","isScrollable","KEYCODE","NodeType","Anchor","Canvas","Input","Option","Textarea","Select","isSortableHandle","sortableHandle","AutoScroller","container","onScrollCallback","interval","clearInterval","minTranslate","maxTranslate","direction","speed","acceleration","_this$container","scrollTop","scrollLeft","scrollHeight","scrollWidth","isTop","isBottom","clientHeight","isLeft","isRight","clientWidth","abs","clear","isAutoScrolling","setInterval","propTypes","axis","contentWindow","disableAutoscroll","distance","getContainer","getHelperDimensions","helperClass","helperContainer","hideSortableGhost","keyboardSortingTransitionDuration","lockAxis","lockToContainerEdges","onSortEnd","onSortMove","onSortOver","onSortStart","pressDelay","pressThreshold","keyCodes","lift","drop","cancel","up","down","shouldCancelStart","transitionDuration","updateBeforeSortStart","useDragHandle","useWindowAsScrollContainer","defaultKeyCodes","defaultProps","offsetHeight","offsetWidth","tagName","contentEditable","omittedProps","SortableContext","createContext","manager","propTypes$1","omittedProps$1","SortableItem","WrappedComponent","_class","_temp","config","withRef","_React$Component","WithSortableElement","_getPrototypeOf2","_len","_key","createRef","register","prevProps","unregister","_this$props","findDOMNode","context","wrappedInstance","current","Component","SortableElement","WithSortableContainer","button","touched","position","nodeIsChild","sorting","_node$sortableInfo","isTouchEvent","preventDefault","handlePress","pressTimer","setTimeout","_this$props2","_awaitingUpdateBeforeSortStart","delta","combinedDelta","clearTimeout","cancelTimer","getActive","_temp6","_temp7","selector","fields","clonedNode","margin","bottom","marginBottom","marginLeft","right","marginRight","marginTop","gridGap","display","gridColumnGap","gridRowGap","getContainerGridGap","containerBoundingRect","scrollContainer","dimensions","_getHelperDimensions","_collection","marginOffset","newIndex","_axis","offsetEdge","initialOffset","_isKeySorting","initialScroll","initialWindowScroll","pageXOffset","pageYOffset","helper","querySelectorAll","cloneNode","field","getContext","drawImage","boxSizing","pointerEvents","_hideSortableGhost","sortableGhost","opacity","visibility","_useWindowAsScrollContainer","innerWidth","innerHeight","containerTop","containerLeft","containerWidth","containerBottom","containerRight","_helperClass","split","listenerNode","handleKeyEnd","handleKeyDown","eventName","handleSortMove","handleSortEnd","sortingIndex","_onSortStart","isKeySorting","nodes","getOrderedRefs","keyMove","_this$props3","_temp8","_temp9","body","finalizer","result","then","_finallyRethrows","Promise","resolve","_wasThrown","_result","reject","cancelable","updateHelperPosition","animateNodes","autoscroll","_this$props4","_this$manager","removeChild","_node2","edgeOffset","autoScroller","oldIndex","scrollX","scrollY","update","keyCode","_this$props5","_this$props5$keyCodes","includes","isValidSortingTarget","keyLift","keyDrop","_node$sortableInfo2","initialFocusedNode","shift","lastIndex","prevIndex","targetIndex","getTargetIndex","targetNode","containerScrollDelta","targetBoundingClientRect","targetTranslate","targetPosition","shouldAdjustForSize","sizeAdjustment","ignoreTransition","validateProps","sortableContextValue","handleEnd","handleMove","handleStart","_this2","containerNode","ownerDocument","defaultView","scrollingElement","onAutoScroll","_this3","_this$props6","_this$props6$keyboard","_getLockPixelOffsets","offsets","_offsets","minLockOffset","maxLockOffset","getLockPixelOffsets","_getLockPixelOffsets2","minOffset","maxOffset","_this$props7","windowScrollDelta","sortingOffset","_node3","mustShiftBackward","mustShiftForward","nextNode","prevNode","getWrappedInstance","Provider","SortableContainer","items","sortIndex","vertical","horizontal","getIntVal","_getValue","parseInt","isObject","_typeof","Tooltip","_objectSpread3","_objectSpread4","Dashicon","main","_step","equalSpecific","_i","_mainKeys","mainVal","areObjects","_iterator","_createForOfIteratorHelper","mainSingle","defaultsSingle","defaultValSingle","areObjects1","areObjects2","triCompare","NOTHING","for","DRAFTABLE","DRAFT_STATE","die","isDraft","isDraftable","isPlainObject","isMap","isSet","objectCtorString","proto","Ctor","Function","each","getArchtype","entries","entry","thing","type_","has","set","propOrOldValue","Map","Set","latest","copy_","base_","shallowCopy","base","strict","descriptors","Reflect","desc","freeze","deep","isFrozen","delete","dontMutateFrozenCollections","currentScope","plugins","getPlugin","pluginKey","plugin","getCurrentScope","usePatchesInScope","scope","patchListener","patches_","inversePatches_","patchListener_","revokeScope","leaveScope","drafts_","revokeDraft","parent_","enterScope","immer2","immer_","canAutoFreeze_","unfinalizedDrafts_","draft","revoke_","revoked_","processResult","baseDraft","modified_","finalize","maybeFreeze","generateReplacementPatches_","rootScope","path","childValue","finalizeProperty","scope_","finalized_","resultEach","isSet2","generatePatches_","parentState","targetObject","rootPath","targetIsSet","assigned_","autoFreeze_","objectTraps","getDescriptorFromProto","draft_","readPropFromProto","peek","prepareCopy","createProxy","current2","currentState","markChanged","isNaN","deleteProperty","owner","arrayTraps","useStrictShallowCopy_","proxyMap_","proxySet_","isManual_","traps","revoke","proxy","Proxy","revocable","createProxyProxy","currentImpl","copy","immer","produce","recipe","defaultBase","base2","hasError","ip","produceWithPatches","patches","inversePatches","autoFreeze","setAutoFreeze","useStrictShallowCopy","setUseStrictShallowCopy","createDraft","finishDraft","applyPatches","patch","op","applyPatchesImpl","applyPatches_","family","variants","category","fontStyles","textTransforms","textDecorations","_props$isFamily","isFamily","fontFamily","fontCategory","fontWeight","isUploadFont","fontSize","desktop","tablet","mobile","fontStyle","textTransform","textDecoration","lineHeight","letterSpace","setDevice","_useState4","query","setQuery","_useState6","isSearching","setIsSearching","searchFonts","fontLists","toLowerCase","fontWeights","_fontLists$find","currentFontWeights","font","weights","weight","otherProperty","newTypo","_getDefault","_getDefault2","_objectSpread5","ToggleControl","checked","BDevice","RangeControl","step","allowReset","resetFallbackValue","initialPosition","beforeAfterImgTab","setAttributes","alignment","border","beforeImg","afterImg","isSwap","isLabel","labelTypo","labelColors","labelPadding","isCap","capTypo","capColors","capPadding","InspectorControls","HelpPanel","BorderControl","TabPanel","activeClass","tabs","tab","Typography","ColorsControl","SpaceControl","BlockControls","AlignmentToolbar","describedBy","alignmentControls","align","getBorderCSS","_ref2$width","_ref2$style","_ref2$color","_ref2$side","_ref2$radius","borderSideCheck","bSide","noWidth","borderCSS","getColorsCSS","_ref3$color","_ref3$bgType","_ref3$bg","_ref3$gradient","getSpaceCSS","space","_ref8","_ref8$side","_ref8$vertical","_ref8$horizontal","_ref8$top","_ref8$right","_ref8$bottom","_ref8$left","getTypoCSS","typo","_ref9","_ref9$fontFamily","_ref9$fontCategory","_ref9$fontVariant","fontVariant","_ref9$fontWeight","_ref9$isUploadFont","_ref9$fontSize","_ref9$fontStyle","_ref9$textTransform","_ref9$textDecoration","_ref9$lineHeight","_ref9$letterSpace","generateCss","cssProperty","isEmptyFamily","desktopFontSize","tabletFontSize","mobileFontSize","linkQuery","link","googleFontLink","trim","_getTypoCSS","_getTypoCSS2","_getTypoCSS3","_getTypoCSS4","clientId","mainSl","imgCompareSl","dangerouslySetInnerHTML","__html","$","jQuery","isSelected","beforeLabel","afterLabel","cap","useEffect","cId","substring","panelBodies","clickEveryItem","item","getAttribute","isEqualNode","click","compSlider","dragElement","resizeElement","compSliderWidth","css","minWidth","on","addClass","startX","originalEvent","dragWidth","outerWidth","posX","containerOffset","minLeft","maxLeft","parents","_e$originalEvent","leftValue","widthValue","removeClass","Settings","Style","RichText","inlineToolbar","src","Spinner","imageCompareIcon","registerBlockType","metadata","edit","Edit","save"],"sourceRoot":""}