generated from DNDs/dnd-template
4507 lines
782 KiB
JavaScript
4507 lines
782 KiB
JavaScript
|
/*
|
||
|
THIS IS A GENERATED/BUNDLED FILE BY ROLLUP
|
||
|
if you want to view the source visit the plugins github repository
|
||
|
*/
|
||
|
|
||
|
'use strict';
|
||
|
|
||
|
var obsidian_1 = require('obsidian');
|
||
|
|
||
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
||
|
|
||
|
var obsidian_1__default = /*#__PURE__*/_interopDefaultLegacy(obsidian_1);
|
||
|
|
||
|
/*! *****************************************************************************
|
||
|
Copyright (c) Microsoft Corporation.
|
||
|
|
||
|
Permission to use, copy, modify, and/or distribute this software for any
|
||
|
purpose with or without fee is hereby granted.
|
||
|
|
||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||
|
PERFORMANCE OF THIS SOFTWARE.
|
||
|
***************************************************************************** */
|
||
|
|
||
|
function __awaiter(thisArg, _arguments, P, generator) {
|
||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||
|
});
|
||
|
}
|
||
|
|
||
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
||
|
|
||
|
function createCommonjsModule(fn) {
|
||
|
var module = { exports: {} };
|
||
|
return fn(module, module.exports), module.exports;
|
||
|
}
|
||
|
|
||
|
var feather = createCommonjsModule(function (module, exports) {
|
||
|
(function webpackUniversalModuleDefinition(root, factory) {
|
||
|
module.exports = factory();
|
||
|
})(typeof self !== 'undefined' ? self : commonjsGlobal, function() {
|
||
|
return /******/ (function(modules) { // webpackBootstrap
|
||
|
/******/ // The module cache
|
||
|
/******/ var installedModules = {};
|
||
|
/******/
|
||
|
/******/ // The require function
|
||
|
/******/ function __webpack_require__(moduleId) {
|
||
|
/******/
|
||
|
/******/ // Check if module is in cache
|
||
|
/******/ if(installedModules[moduleId]) {
|
||
|
/******/ return installedModules[moduleId].exports;
|
||
|
/******/ }
|
||
|
/******/ // Create a new module (and put it into the cache)
|
||
|
/******/ var module = installedModules[moduleId] = {
|
||
|
/******/ i: moduleId,
|
||
|
/******/ l: false,
|
||
|
/******/ exports: {}
|
||
|
/******/ };
|
||
|
/******/
|
||
|
/******/ // Execute the module function
|
||
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||
|
/******/
|
||
|
/******/ // Flag the module as loaded
|
||
|
/******/ module.l = true;
|
||
|
/******/
|
||
|
/******/ // Return the exports of the module
|
||
|
/******/ return module.exports;
|
||
|
/******/ }
|
||
|
/******/
|
||
|
/******/
|
||
|
/******/ // expose the modules object (__webpack_modules__)
|
||
|
/******/ __webpack_require__.m = modules;
|
||
|
/******/
|
||
|
/******/ // expose the module cache
|
||
|
/******/ __webpack_require__.c = installedModules;
|
||
|
/******/
|
||
|
/******/ // define getter function for harmony exports
|
||
|
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||
|
/******/ if(!__webpack_require__.o(exports, name)) {
|
||
|
/******/ Object.defineProperty(exports, name, {
|
||
|
/******/ configurable: false,
|
||
|
/******/ enumerable: true,
|
||
|
/******/ get: getter
|
||
|
/******/ });
|
||
|
/******/ }
|
||
|
/******/ };
|
||
|
/******/
|
||
|
/******/ // define __esModule on exports
|
||
|
/******/ __webpack_require__.r = function(exports) {
|
||
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||
|
/******/ };
|
||
|
/******/
|
||
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||
|
/******/ __webpack_require__.n = function(module) {
|
||
|
/******/ var getter = module && module.__esModule ?
|
||
|
/******/ function getDefault() { return module['default']; } :
|
||
|
/******/ function getModuleExports() { return module; };
|
||
|
/******/ __webpack_require__.d(getter, 'a', getter);
|
||
|
/******/ return getter;
|
||
|
/******/ };
|
||
|
/******/
|
||
|
/******/ // Object.prototype.hasOwnProperty.call
|
||
|
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||
|
/******/
|
||
|
/******/ // __webpack_public_path__
|
||
|
/******/ __webpack_require__.p = "";
|
||
|
/******/
|
||
|
/******/
|
||
|
/******/ // Load entry module and return exports
|
||
|
/******/ return __webpack_require__(__webpack_require__.s = 0);
|
||
|
/******/ })
|
||
|
/************************************************************************/
|
||
|
/******/ ({
|
||
|
|
||
|
/***/ "./dist/icons.json":
|
||
|
/*!*************************!*\
|
||
|
!*** ./dist/icons.json ***!
|
||
|
\*************************/
|
||
|
/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, aperture, archive, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, award, bar-chart-2, bar-chart, battery-charging, battery, bell-off, bell, bluetooth, bold, book-open, book, bookmark, box, briefcase, calendar, camera-off, camera, cast, check-circle, check-square, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, chrome, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-off, cloud-rain, cloud-snow, cloud, code, codepen, codesandbox, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, divide-circle, divide-square, divide, dollar-sign, download-cloud, download, dribbble, droplet, edit-2, edit-3, edit, external-link, eye-off, eye, facebook, fast-forward, feather, figma, file-minus, file-plus, file-text, file, film, filter, flag, folder-minus, folder-plus, folder, framer, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, grid, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, info, instagram, italic, key, layers, layout, life-buoy, link-2, link, linkedin, list, loader, lock, log-in, log-out, mail, map-pin, map, maximize-2, maximize, meh, menu, message-circle, message-square, mic-off, mic, minimize-2, minimize, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation-2, navigation, octagon, package, paperclip, pause-circle, pause, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, pie-chart, play-circle, play, plus-circle, plus-square, plus, pocket, power, printer, radio, refresh-ccw, refresh-cw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, server, settings, share-2, share, shield-off, shield, shopping-bag, shopping-cart, shuffle, sidebar, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, square, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, tool, trash-2, trash, trello, trending-down, trending-up, triangle, truck, tv, twitch, twitter, type, umbrella, underline, unlock, upload-cloud, upload, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume-1, volume-2, volume-x, volume, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */
|
||
|
/***/ (function(module) {
|
||
|
|
||
|
module.exports = {"activity":"<polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"></polyline>","airplay":"<path d=\"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1\"></path><polygon points=\"12 15 17 21 7 21 12 15\"></polygon>","alert-circle":"<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"></line>","alert-octagon":"<polygon points=\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"></polygon><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"></line>","alert-triangle":"<path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"></path><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"></line><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"></line>","align-center":"<line x1=\"18\" y1=\"10\" x2=\"6\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"18\" y1=\"18\" x2=\"6\" y2=\"18\"></line>","align-justify":"<line x1=\"21\" y1=\"10\" x2=\"3\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"21\" y1=\"18\" x2=\"3\" y2=\"18\"></line>","align-left":"<line x1=\"17\" y1=\"10\" x2=\"3\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"17\" y1=\"18\" x2=\"3\" y2=\"18\"></line>","align-right":"<line x1=\"21\" y1=\"10\" x2=\"7\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"21\" y1=\"18\" x2=\"7\" y2=\"18\"></line>","anchor":"<circle cx=\"12\" cy=\"5\" r=\"3\"></circle><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"8\"></line><path d=\"M5 12H2a10 10 0 0 0 20 0h-3\"></path>","aperture":"<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"14.31\" y1=\"8\" x2=\"20.05\" y2=\"17.94\"></line><line x1=\"9.69\" y1=\"8\" x2=\"21.17\" y2=\"8\"></line><line x1=\"7.38\" y1=\"12\" x2=\"13.12\" y2=\"2.06\"></line><line x1=\"9.69\" y1=\"16\" x2=\"3.95\" y2=\"6.06\"></line><line x1=\"14.31\" y1=\"16\" x2=\"2.83\" y2=\"16\"></line><line x1=\"16.62\" y1=\"12\" x2=\"10.88\" y2=\"21.94\"></line>","archive":"<polyline points=\"21 8 21 21 3 21 3 8\"></polyline><rect x=\"1\" y=\"3\" width=\"22\" height=\"5\"></rect><line x1=\"10\" y1=\"12\" x2=\"14\" y2=\"12\"></line>","arrow-down-circle":"<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"8 12 12 16 16 12\"></polyline><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"></line>","arrow-down-left":"<line x1=\"17\" y1=\"7\" x2=\"7\" y2=\"17\"></line><polyline points=\"17 17 7 17 7 7\"></polyline>","arrow-down-right":"<line x1=\"7\" y1=\"7\" x2=\"17\" y2=\"17\"></line><polyline points=\"17 7 17 17 7 17\"></polyline>","arrow-down":"<line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"></line><polyline points=\"19 12 12 19 5 12\"></polyline>","arrow-left-circle":"<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 8 8 12 12 16\"></polyline><line x1=\"16\" y1=\"12\" x2=\"8\" y2=\"12\"></line>","arrow-left":"<line x1=\"19\" y1=\"12\" x2=\"5\" y2=\"12\"></line><polyline points=\"12 19 5 12 12 5\"></polyline>","arrow-right-circle":"<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 16 16 12 12 8\"></polyline><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>","arrow-right":"<line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line><polyline points=\"12 5 19 12 12 19\"></polyline>","arrow-up-circle":"<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"16 12 12 8 8 12\"></polyline><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"8\"></line>","arrow-up-left":"<line x1=\"17\" y1=\"17\" x2=\"7\" y2=\"7\"></line><polyline points=\"7 17 7 7 17 7\"></polyline>","arrow-up-right":"<line x1=\"7\" y1=\"17\" x2=\"17\" y2=\"7\"></line><polyline points=\"7 7 17 7 17 17\"></polyline>","arrow-up":"<line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"5\"></line
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/classnames/dedupe.js":
|
||
|
/*!*******************************************!*\
|
||
|
!*** ./node_modules/classnames/dedupe.js ***!
|
||
|
\*******************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
||
|
Copyright (c) 2016 Jed Watson.
|
||
|
Licensed under the MIT License (MIT), see
|
||
|
http://jedwatson.github.io/classnames
|
||
|
*/
|
||
|
/* global define */
|
||
|
|
||
|
(function () {
|
||
|
|
||
|
var classNames = (function () {
|
||
|
// don't inherit from Object so we can skip hasOwnProperty check later
|
||
|
// http://stackoverflow.com/questions/15518328/creating-js-object-with-object-createnull#answer-21079232
|
||
|
function StorageObject() {}
|
||
|
StorageObject.prototype = Object.create(null);
|
||
|
|
||
|
function _parseArray (resultSet, array) {
|
||
|
var length = array.length;
|
||
|
|
||
|
for (var i = 0; i < length; ++i) {
|
||
|
_parse(resultSet, array[i]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var hasOwn = {}.hasOwnProperty;
|
||
|
|
||
|
function _parseNumber (resultSet, num) {
|
||
|
resultSet[num] = true;
|
||
|
}
|
||
|
|
||
|
function _parseObject (resultSet, object) {
|
||
|
for (var k in object) {
|
||
|
if (hasOwn.call(object, k)) {
|
||
|
// set value to false instead of deleting it to avoid changing object structure
|
||
|
// https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/#de-referencing-misconceptions
|
||
|
resultSet[k] = !!object[k];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var SPACE = /\s+/;
|
||
|
function _parseString (resultSet, str) {
|
||
|
var array = str.split(SPACE);
|
||
|
var length = array.length;
|
||
|
|
||
|
for (var i = 0; i < length; ++i) {
|
||
|
resultSet[array[i]] = true;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function _parse (resultSet, arg) {
|
||
|
if (!arg) return;
|
||
|
var argType = typeof arg;
|
||
|
|
||
|
// 'foo bar'
|
||
|
if (argType === 'string') {
|
||
|
_parseString(resultSet, arg);
|
||
|
|
||
|
// ['foo', 'bar', ...]
|
||
|
} else if (Array.isArray(arg)) {
|
||
|
_parseArray(resultSet, arg);
|
||
|
|
||
|
// { 'foo': true, ... }
|
||
|
} else if (argType === 'object') {
|
||
|
_parseObject(resultSet, arg);
|
||
|
|
||
|
// '130'
|
||
|
} else if (argType === 'number') {
|
||
|
_parseNumber(resultSet, arg);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function _classNames () {
|
||
|
// don't leak arguments
|
||
|
// https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
|
||
|
var len = arguments.length;
|
||
|
var args = Array(len);
|
||
|
for (var i = 0; i < len; i++) {
|
||
|
args[i] = arguments[i];
|
||
|
}
|
||
|
|
||
|
var classSet = new StorageObject();
|
||
|
_parseArray(classSet, args);
|
||
|
|
||
|
var list = [];
|
||
|
|
||
|
for (var k in classSet) {
|
||
|
if (classSet[k]) {
|
||
|
list.push(k);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return list.join(' ');
|
||
|
}
|
||
|
|
||
|
return _classNames;
|
||
|
})();
|
||
|
|
||
|
if (typeof module !== 'undefined' && module.exports) {
|
||
|
module.exports = classNames;
|
||
|
} else {
|
||
|
// register as 'classnames', consistent with npm package name
|
||
|
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
|
||
|
return classNames;
|
||
|
}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
|
||
|
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
||
|
}
|
||
|
}());
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/es/array/from.js":
|
||
|
/*!***********************************************!*\
|
||
|
!*** ./node_modules/core-js/es/array/from.js ***!
|
||
|
\***********************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
__webpack_require__(/*! ../../modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js");
|
||
|
__webpack_require__(/*! ../../modules/es.array.from */ "./node_modules/core-js/modules/es.array.from.js");
|
||
|
var path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js/internals/path.js");
|
||
|
|
||
|
module.exports = path.Array.from;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/a-function.js":
|
||
|
/*!******************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/a-function.js ***!
|
||
|
\******************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
module.exports = function (it) {
|
||
|
if (typeof it != 'function') {
|
||
|
throw TypeError(String(it) + ' is not a function');
|
||
|
} return it;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/an-object.js":
|
||
|
/*!*****************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/an-object.js ***!
|
||
|
\*****************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
|
|
||
|
module.exports = function (it) {
|
||
|
if (!isObject(it)) {
|
||
|
throw TypeError(String(it) + ' is not an object');
|
||
|
} return it;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/array-from.js":
|
||
|
/*!******************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/array-from.js ***!
|
||
|
\******************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var bind = __webpack_require__(/*! ../internals/bind-context */ "./node_modules/core-js/internals/bind-context.js");
|
||
|
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
|
var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js");
|
||
|
var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js");
|
||
|
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
|
var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
|
||
|
var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");
|
||
|
|
||
|
// `Array.from` method
|
||
|
// https://tc39.github.io/ecma262/#sec-array.from
|
||
|
module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
|
||
|
var O = toObject(arrayLike);
|
||
|
var C = typeof this == 'function' ? this : Array;
|
||
|
var argumentsLength = arguments.length;
|
||
|
var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
|
||
|
var mapping = mapfn !== undefined;
|
||
|
var index = 0;
|
||
|
var iteratorMethod = getIteratorMethod(O);
|
||
|
var length, result, step, iterator;
|
||
|
if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
|
||
|
// if the target is not iterable or it's an array with the default iterator - use a simple case
|
||
|
if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
|
||
|
iterator = iteratorMethod.call(O);
|
||
|
result = new C();
|
||
|
for (;!(step = iterator.next()).done; index++) {
|
||
|
createProperty(result, index, mapping
|
||
|
? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true)
|
||
|
: step.value
|
||
|
);
|
||
|
}
|
||
|
} else {
|
||
|
length = toLength(O.length);
|
||
|
result = new C(length);
|
||
|
for (;length > index; index++) {
|
||
|
createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
|
||
|
}
|
||
|
}
|
||
|
result.length = index;
|
||
|
return result;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/array-includes.js":
|
||
|
/*!**********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/array-includes.js ***!
|
||
|
\**********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
|
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||
|
var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
|
||
|
|
||
|
// `Array.prototype.{ indexOf, includes }` methods implementation
|
||
|
// false -> Array#indexOf
|
||
|
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
|
||
|
// true -> Array#includes
|
||
|
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
|
||
|
module.exports = function (IS_INCLUDES) {
|
||
|
return function ($this, el, fromIndex) {
|
||
|
var O = toIndexedObject($this);
|
||
|
var length = toLength(O.length);
|
||
|
var index = toAbsoluteIndex(fromIndex, length);
|
||
|
var value;
|
||
|
// Array#includes uses SameValueZero equality algorithm
|
||
|
// eslint-disable-next-line no-self-compare
|
||
|
if (IS_INCLUDES && el != el) while (length > index) {
|
||
|
value = O[index++];
|
||
|
// eslint-disable-next-line no-self-compare
|
||
|
if (value != value) return true;
|
||
|
// Array#indexOf ignores holes, Array#includes - not
|
||
|
} else for (;length > index; index++) if (IS_INCLUDES || index in O) {
|
||
|
if (O[index] === el) return IS_INCLUDES || index || 0;
|
||
|
} return !IS_INCLUDES && -1;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/bind-context.js":
|
||
|
/*!********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/bind-context.js ***!
|
||
|
\********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
|
||
|
|
||
|
// optional / simple context binding
|
||
|
module.exports = function (fn, that, length) {
|
||
|
aFunction(fn);
|
||
|
if (that === undefined) return fn;
|
||
|
switch (length) {
|
||
|
case 0: return function () {
|
||
|
return fn.call(that);
|
||
|
};
|
||
|
case 1: return function (a) {
|
||
|
return fn.call(that, a);
|
||
|
};
|
||
|
case 2: return function (a, b) {
|
||
|
return fn.call(that, a, b);
|
||
|
};
|
||
|
case 3: return function (a, b, c) {
|
||
|
return fn.call(that, a, b, c);
|
||
|
};
|
||
|
}
|
||
|
return function (/* ...args */) {
|
||
|
return fn.apply(that, arguments);
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js":
|
||
|
/*!****************************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***!
|
||
|
\****************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
|
|
||
|
// call something on iterator step with safe closing on error
|
||
|
module.exports = function (iterator, fn, value, ENTRIES) {
|
||
|
try {
|
||
|
return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
|
||
|
// 7.4.6 IteratorClose(iterator, completion)
|
||
|
} catch (error) {
|
||
|
var returnMethod = iterator['return'];
|
||
|
if (returnMethod !== undefined) anObject(returnMethod.call(iterator));
|
||
|
throw error;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/check-correctness-of-iteration.js":
|
||
|
/*!**************************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***!
|
||
|
\**************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
|
||
|
var ITERATOR = wellKnownSymbol('iterator');
|
||
|
var SAFE_CLOSING = false;
|
||
|
|
||
|
try {
|
||
|
var called = 0;
|
||
|
var iteratorWithReturn = {
|
||
|
next: function () {
|
||
|
return { done: !!called++ };
|
||
|
},
|
||
|
'return': function () {
|
||
|
SAFE_CLOSING = true;
|
||
|
}
|
||
|
};
|
||
|
iteratorWithReturn[ITERATOR] = function () {
|
||
|
return this;
|
||
|
};
|
||
|
// eslint-disable-next-line no-throw-literal
|
||
|
Array.from(iteratorWithReturn, function () { throw 2; });
|
||
|
} catch (error) { /* empty */ }
|
||
|
|
||
|
module.exports = function (exec, SKIP_CLOSING) {
|
||
|
if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
|
||
|
var ITERATION_SUPPORT = false;
|
||
|
try {
|
||
|
var object = {};
|
||
|
object[ITERATOR] = function () {
|
||
|
return {
|
||
|
next: function () {
|
||
|
return { done: ITERATION_SUPPORT = true };
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
exec(object);
|
||
|
} catch (error) { /* empty */ }
|
||
|
return ITERATION_SUPPORT;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/classof-raw.js":
|
||
|
/*!*******************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/classof-raw.js ***!
|
||
|
\*******************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
var toString = {}.toString;
|
||
|
|
||
|
module.exports = function (it) {
|
||
|
return toString.call(it).slice(8, -1);
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/classof.js":
|
||
|
/*!***************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/classof.js ***!
|
||
|
\***************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
|
||
|
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
|
||
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
||
|
// ES3 wrong here
|
||
|
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
|
||
|
|
||
|
// fallback for IE11 Script Access Denied error
|
||
|
var tryGet = function (it, key) {
|
||
|
try {
|
||
|
return it[key];
|
||
|
} catch (error) { /* empty */ }
|
||
|
};
|
||
|
|
||
|
// getting tag from ES6+ `Object.prototype.toString`
|
||
|
module.exports = function (it) {
|
||
|
var O, tag, result;
|
||
|
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
||
|
// @@toStringTag case
|
||
|
: typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
|
||
|
// builtinTag case
|
||
|
: CORRECT_ARGUMENTS ? classofRaw(O)
|
||
|
// ES3 arguments fallback
|
||
|
: (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/copy-constructor-properties.js":
|
||
|
/*!***********************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/copy-constructor-properties.js ***!
|
||
|
\***********************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
|
var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js");
|
||
|
var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
|
||
|
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
|
|
||
|
module.exports = function (target, source) {
|
||
|
var keys = ownKeys(source);
|
||
|
var defineProperty = definePropertyModule.f;
|
||
|
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
||
|
for (var i = 0; i < keys.length; i++) {
|
||
|
var key = keys[i];
|
||
|
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/correct-prototype-getter.js":
|
||
|
/*!********************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/correct-prototype-getter.js ***!
|
||
|
\********************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
|
||
|
module.exports = !fails(function () {
|
||
|
function F() { /* empty */ }
|
||
|
F.prototype.constructor = null;
|
||
|
return Object.getPrototypeOf(new F()) !== F.prototype;
|
||
|
});
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/create-iterator-constructor.js":
|
||
|
/*!***********************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/create-iterator-constructor.js ***!
|
||
|
\***********************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js").IteratorPrototype;
|
||
|
var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
|
||
|
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
|
||
|
var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
|
||
|
var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
|
||
|
|
||
|
var returnThis = function () { return this; };
|
||
|
|
||
|
module.exports = function (IteratorConstructor, NAME, next) {
|
||
|
var TO_STRING_TAG = NAME + ' Iterator';
|
||
|
IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
|
||
|
setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
|
||
|
Iterators[TO_STRING_TAG] = returnThis;
|
||
|
return IteratorConstructor;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/create-property-descriptor.js":
|
||
|
/*!**********************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/create-property-descriptor.js ***!
|
||
|
\**********************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
module.exports = function (bitmap, value) {
|
||
|
return {
|
||
|
enumerable: !(bitmap & 1),
|
||
|
configurable: !(bitmap & 2),
|
||
|
writable: !(bitmap & 4),
|
||
|
value: value
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/create-property.js":
|
||
|
/*!***********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/create-property.js ***!
|
||
|
\***********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
|
||
|
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
|
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
|
||
|
|
||
|
module.exports = function (object, key, value) {
|
||
|
var propertyKey = toPrimitive(key);
|
||
|
if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
|
||
|
else object[propertyKey] = value;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/define-iterator.js":
|
||
|
/*!***********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/define-iterator.js ***!
|
||
|
\***********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
|
var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js");
|
||
|
var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
|
||
|
var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
|
||
|
var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
|
||
|
var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");
|
||
|
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
|
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||
|
var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
|
||
|
var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js");
|
||
|
|
||
|
var IteratorPrototype = IteratorsCore.IteratorPrototype;
|
||
|
var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
|
||
|
var ITERATOR = wellKnownSymbol('iterator');
|
||
|
var KEYS = 'keys';
|
||
|
var VALUES = 'values';
|
||
|
var ENTRIES = 'entries';
|
||
|
|
||
|
var returnThis = function () { return this; };
|
||
|
|
||
|
module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
|
||
|
createIteratorConstructor(IteratorConstructor, NAME, next);
|
||
|
|
||
|
var getIterationMethod = function (KIND) {
|
||
|
if (KIND === DEFAULT && defaultIterator) return defaultIterator;
|
||
|
if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
|
||
|
switch (KIND) {
|
||
|
case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
|
||
|
case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
|
||
|
case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
|
||
|
} return function () { return new IteratorConstructor(this); };
|
||
|
};
|
||
|
|
||
|
var TO_STRING_TAG = NAME + ' Iterator';
|
||
|
var INCORRECT_VALUES_NAME = false;
|
||
|
var IterablePrototype = Iterable.prototype;
|
||
|
var nativeIterator = IterablePrototype[ITERATOR]
|
||
|
|| IterablePrototype['@@iterator']
|
||
|
|| DEFAULT && IterablePrototype[DEFAULT];
|
||
|
var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
|
||
|
var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
|
||
|
var CurrentIteratorPrototype, methods, KEY;
|
||
|
|
||
|
// fix native
|
||
|
if (anyNativeIterator) {
|
||
|
CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
|
||
|
if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
|
||
|
if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
|
||
|
if (setPrototypeOf) {
|
||
|
setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
|
||
|
} else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
|
||
|
hide(CurrentIteratorPrototype, ITERATOR, returnThis);
|
||
|
}
|
||
|
}
|
||
|
// Set @@toStringTag to native iterators
|
||
|
setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
|
||
|
if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// fix Array#{values, @@iterator}.name in V8 / FF
|
||
|
if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
|
||
|
INCORRECT_VALUES_NAME = true;
|
||
|
defaultIterator = function values() { return nativeIterator.call(this); };
|
||
|
}
|
||
|
|
||
|
// define iterator
|
||
|
if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
|
||
|
hide(IterablePrototype, ITERATOR, defaultIterator);
|
||
|
}
|
||
|
Iterators[NAME] = defaultIterator;
|
||
|
|
||
|
// export additional methods
|
||
|
if (DEFAULT) {
|
||
|
methods = {
|
||
|
values: getIterationMethod(VALUES),
|
||
|
keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
|
||
|
entries: getIterationMethod(ENTRIES)
|
||
|
};
|
||
|
if (FORCED) for (KEY in methods) {
|
||
|
if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
|
||
|
redefine(IterablePrototype, KEY, methods[KEY]);
|
||
|
}
|
||
|
} else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
|
||
|
}
|
||
|
|
||
|
return methods;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/descriptors.js":
|
||
|
/*!*******************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/descriptors.js ***!
|
||
|
\*******************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
|
||
|
// Thank's IE8 for his funny defineProperty
|
||
|
module.exports = !fails(function () {
|
||
|
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
||
|
});
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/document-create-element.js":
|
||
|
/*!*******************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/document-create-element.js ***!
|
||
|
\*******************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
|
|
||
|
var document = global.document;
|
||
|
// typeof document.createElement is 'object' in old IE
|
||
|
var exist = isObject(document) && isObject(document.createElement);
|
||
|
|
||
|
module.exports = function (it) {
|
||
|
return exist ? document.createElement(it) : {};
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/enum-bug-keys.js":
|
||
|
/*!*********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/enum-bug-keys.js ***!
|
||
|
\*********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
// IE8- don't enum bug keys
|
||
|
module.exports = [
|
||
|
'constructor',
|
||
|
'hasOwnProperty',
|
||
|
'isPrototypeOf',
|
||
|
'propertyIsEnumerable',
|
||
|
'toLocaleString',
|
||
|
'toString',
|
||
|
'valueOf'
|
||
|
];
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/export.js":
|
||
|
/*!**************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/export.js ***!
|
||
|
\**************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
|
||
|
var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");
|
||
|
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||
|
var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js");
|
||
|
var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js");
|
||
|
var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
|
||
|
|
||
|
/*
|
||
|
options.target - name of the target object
|
||
|
options.global - target is the global object
|
||
|
options.stat - export as static methods of target
|
||
|
options.proto - export as prototype methods of target
|
||
|
options.real - real prototype method for the `pure` version
|
||
|
options.forced - export even if the native feature is available
|
||
|
options.bind - bind methods to the target, required for the `pure` version
|
||
|
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
|
||
|
options.unsafe - use the simple assignment of property instead of delete + defineProperty
|
||
|
options.sham - add a flag to not completely full polyfills
|
||
|
options.enumerable - export as enumerable property
|
||
|
options.noTargetGet - prevent calling a getter on target
|
||
|
*/
|
||
|
module.exports = function (options, source) {
|
||
|
var TARGET = options.target;
|
||
|
var GLOBAL = options.global;
|
||
|
var STATIC = options.stat;
|
||
|
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
||
|
if (GLOBAL) {
|
||
|
target = global;
|
||
|
} else if (STATIC) {
|
||
|
target = global[TARGET] || setGlobal(TARGET, {});
|
||
|
} else {
|
||
|
target = (global[TARGET] || {}).prototype;
|
||
|
}
|
||
|
if (target) for (key in source) {
|
||
|
sourceProperty = source[key];
|
||
|
if (options.noTargetGet) {
|
||
|
descriptor = getOwnPropertyDescriptor(target, key);
|
||
|
targetProperty = descriptor && descriptor.value;
|
||
|
} else targetProperty = target[key];
|
||
|
FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
|
||
|
// contained in target
|
||
|
if (!FORCED && targetProperty !== undefined) {
|
||
|
if (typeof sourceProperty === typeof targetProperty) continue;
|
||
|
copyConstructorProperties(sourceProperty, targetProperty);
|
||
|
}
|
||
|
// add a flag to not completely full polyfills
|
||
|
if (options.sham || (targetProperty && targetProperty.sham)) {
|
||
|
hide(sourceProperty, 'sham', true);
|
||
|
}
|
||
|
// extend global
|
||
|
redefine(target, key, sourceProperty, options);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/fails.js":
|
||
|
/*!*************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/fails.js ***!
|
||
|
\*************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
module.exports = function (exec) {
|
||
|
try {
|
||
|
return !!exec();
|
||
|
} catch (error) {
|
||
|
return true;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/function-to-string.js":
|
||
|
/*!**************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/function-to-string.js ***!
|
||
|
\**************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");
|
||
|
|
||
|
module.exports = shared('native-function-to-string', Function.toString);
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/get-iterator-method.js":
|
||
|
/*!***************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/get-iterator-method.js ***!
|
||
|
\***************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");
|
||
|
var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
|
||
|
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
|
||
|
var ITERATOR = wellKnownSymbol('iterator');
|
||
|
|
||
|
module.exports = function (it) {
|
||
|
if (it != undefined) return it[ITERATOR]
|
||
|
|| it['@@iterator']
|
||
|
|| Iterators[classof(it)];
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/global.js":
|
||
|
/*!**************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/global.js ***!
|
||
|
\**************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
/* WEBPACK VAR INJECTION */(function(global) {var O = 'object';
|
||
|
var check = function (it) {
|
||
|
return it && it.Math == Math && it;
|
||
|
};
|
||
|
|
||
|
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||
|
module.exports =
|
||
|
// eslint-disable-next-line no-undef
|
||
|
check(typeof globalThis == O && globalThis) ||
|
||
|
check(typeof window == O && window) ||
|
||
|
check(typeof self == O && self) ||
|
||
|
check(typeof global == O && global) ||
|
||
|
// eslint-disable-next-line no-new-func
|
||
|
Function('return this')();
|
||
|
|
||
|
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")));
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/has.js":
|
||
|
/*!***********************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/has.js ***!
|
||
|
\***********************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
var hasOwnProperty = {}.hasOwnProperty;
|
||
|
|
||
|
module.exports = function (it, key) {
|
||
|
return hasOwnProperty.call(it, key);
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/hidden-keys.js":
|
||
|
/*!*******************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/hidden-keys.js ***!
|
||
|
\*******************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
module.exports = {};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/hide.js":
|
||
|
/*!************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/hide.js ***!
|
||
|
\************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
|
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
|
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
|
||
|
|
||
|
module.exports = DESCRIPTORS ? function (object, key, value) {
|
||
|
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
|
||
|
} : function (object, key, value) {
|
||
|
object[key] = value;
|
||
|
return object;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/html.js":
|
||
|
/*!************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/html.js ***!
|
||
|
\************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
|
||
|
var document = global.document;
|
||
|
|
||
|
module.exports = document && document.documentElement;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/ie8-dom-define.js":
|
||
|
/*!**********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/ie8-dom-define.js ***!
|
||
|
\**********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
|
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");
|
||
|
|
||
|
// Thank's IE8 for his funny defineProperty
|
||
|
module.exports = !DESCRIPTORS && !fails(function () {
|
||
|
return Object.defineProperty(createElement('div'), 'a', {
|
||
|
get: function () { return 7; }
|
||
|
}).a != 7;
|
||
|
});
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/indexed-object.js":
|
||
|
/*!**********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/indexed-object.js ***!
|
||
|
\**********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||
|
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
|
||
|
|
||
|
var split = ''.split;
|
||
|
|
||
|
module.exports = fails(function () {
|
||
|
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
||
|
// eslint-disable-next-line no-prototype-builtins
|
||
|
return !Object('z').propertyIsEnumerable(0);
|
||
|
}) ? function (it) {
|
||
|
return classof(it) == 'String' ? split.call(it, '') : Object(it);
|
||
|
} : Object;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/internal-state.js":
|
||
|
/*!**********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/internal-state.js ***!
|
||
|
\**********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js");
|
||
|
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
|
var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");
|
||
|
var objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
|
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
|
||
|
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
|
||
|
|
||
|
var WeakMap = global.WeakMap;
|
||
|
var set, get, has;
|
||
|
|
||
|
var enforce = function (it) {
|
||
|
return has(it) ? get(it) : set(it, {});
|
||
|
};
|
||
|
|
||
|
var getterFor = function (TYPE) {
|
||
|
return function (it) {
|
||
|
var state;
|
||
|
if (!isObject(it) || (state = get(it)).type !== TYPE) {
|
||
|
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
|
||
|
} return state;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
if (NATIVE_WEAK_MAP) {
|
||
|
var store = new WeakMap();
|
||
|
var wmget = store.get;
|
||
|
var wmhas = store.has;
|
||
|
var wmset = store.set;
|
||
|
set = function (it, metadata) {
|
||
|
wmset.call(store, it, metadata);
|
||
|
return metadata;
|
||
|
};
|
||
|
get = function (it) {
|
||
|
return wmget.call(store, it) || {};
|
||
|
};
|
||
|
has = function (it) {
|
||
|
return wmhas.call(store, it);
|
||
|
};
|
||
|
} else {
|
||
|
var STATE = sharedKey('state');
|
||
|
hiddenKeys[STATE] = true;
|
||
|
set = function (it, metadata) {
|
||
|
hide(it, STATE, metadata);
|
||
|
return metadata;
|
||
|
};
|
||
|
get = function (it) {
|
||
|
return objectHas(it, STATE) ? it[STATE] : {};
|
||
|
};
|
||
|
has = function (it) {
|
||
|
return objectHas(it, STATE);
|
||
|
};
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
set: set,
|
||
|
get: get,
|
||
|
has: has,
|
||
|
enforce: enforce,
|
||
|
getterFor: getterFor
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/is-array-iterator-method.js":
|
||
|
/*!********************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/is-array-iterator-method.js ***!
|
||
|
\********************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
|
||
|
|
||
|
var ITERATOR = wellKnownSymbol('iterator');
|
||
|
var ArrayPrototype = Array.prototype;
|
||
|
|
||
|
// check on default Array iterator
|
||
|
module.exports = function (it) {
|
||
|
return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/is-forced.js":
|
||
|
/*!*****************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/is-forced.js ***!
|
||
|
\*****************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
|
||
|
var replacement = /#|\.prototype\./;
|
||
|
|
||
|
var isForced = function (feature, detection) {
|
||
|
var value = data[normalize(feature)];
|
||
|
return value == POLYFILL ? true
|
||
|
: value == NATIVE ? false
|
||
|
: typeof detection == 'function' ? fails(detection)
|
||
|
: !!detection;
|
||
|
};
|
||
|
|
||
|
var normalize = isForced.normalize = function (string) {
|
||
|
return String(string).replace(replacement, '.').toLowerCase();
|
||
|
};
|
||
|
|
||
|
var data = isForced.data = {};
|
||
|
var NATIVE = isForced.NATIVE = 'N';
|
||
|
var POLYFILL = isForced.POLYFILL = 'P';
|
||
|
|
||
|
module.exports = isForced;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/is-object.js":
|
||
|
/*!*****************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/is-object.js ***!
|
||
|
\*****************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
module.exports = function (it) {
|
||
|
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/is-pure.js":
|
||
|
/*!***************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/is-pure.js ***!
|
||
|
\***************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
module.exports = false;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/iterators-core.js":
|
||
|
/*!**********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/iterators-core.js ***!
|
||
|
\**********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
|
||
|
var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");
|
||
|
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
|
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||
|
|
||
|
var ITERATOR = wellKnownSymbol('iterator');
|
||
|
var BUGGY_SAFARI_ITERATORS = false;
|
||
|
|
||
|
var returnThis = function () { return this; };
|
||
|
|
||
|
// `%IteratorPrototype%` object
|
||
|
// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
|
||
|
var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
|
||
|
|
||
|
if ([].keys) {
|
||
|
arrayIterator = [].keys();
|
||
|
// Safari 8 has buggy iterators w/o `next`
|
||
|
if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
|
||
|
else {
|
||
|
PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
|
||
|
if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (IteratorPrototype == undefined) IteratorPrototype = {};
|
||
|
|
||
|
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
|
||
|
if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);
|
||
|
|
||
|
module.exports = {
|
||
|
IteratorPrototype: IteratorPrototype,
|
||
|
BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/iterators.js":
|
||
|
/*!*****************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/iterators.js ***!
|
||
|
\*****************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
module.exports = {};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/native-symbol.js":
|
||
|
/*!*********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/native-symbol.js ***!
|
||
|
\*********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||
|
|
||
|
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
|
||
|
// Chrome 38 Symbol has incorrect toString conversion
|
||
|
// eslint-disable-next-line no-undef
|
||
|
return !String(Symbol());
|
||
|
});
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/native-weak-map.js":
|
||
|
/*!***********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/native-weak-map.js ***!
|
||
|
\***********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
var nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ "./node_modules/core-js/internals/function-to-string.js");
|
||
|
|
||
|
var WeakMap = global.WeakMap;
|
||
|
|
||
|
module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-create.js":
|
||
|
/*!*********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-create.js ***!
|
||
|
\*********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
|
var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js");
|
||
|
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");
|
||
|
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
|
||
|
var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js");
|
||
|
var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");
|
||
|
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
|
||
|
var IE_PROTO = sharedKey('IE_PROTO');
|
||
|
|
||
|
var PROTOTYPE = 'prototype';
|
||
|
var Empty = function () { /* empty */ };
|
||
|
|
||
|
// Create object with fake `null` prototype: use iframe Object with cleared prototype
|
||
|
var createDict = function () {
|
||
|
// Thrash, waste and sodomy: IE GC bug
|
||
|
var iframe = documentCreateElement('iframe');
|
||
|
var length = enumBugKeys.length;
|
||
|
var lt = '<';
|
||
|
var script = 'script';
|
||
|
var gt = '>';
|
||
|
var js = 'java' + script + ':';
|
||
|
var iframeDocument;
|
||
|
iframe.style.display = 'none';
|
||
|
html.appendChild(iframe);
|
||
|
iframe.src = String(js);
|
||
|
iframeDocument = iframe.contentWindow.document;
|
||
|
iframeDocument.open();
|
||
|
iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);
|
||
|
iframeDocument.close();
|
||
|
createDict = iframeDocument.F;
|
||
|
while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]];
|
||
|
return createDict();
|
||
|
};
|
||
|
|
||
|
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
||
|
module.exports = Object.create || function create(O, Properties) {
|
||
|
var result;
|
||
|
if (O !== null) {
|
||
|
Empty[PROTOTYPE] = anObject(O);
|
||
|
result = new Empty();
|
||
|
Empty[PROTOTYPE] = null;
|
||
|
// add "__proto__" for Object.getPrototypeOf polyfill
|
||
|
result[IE_PROTO] = O;
|
||
|
} else result = createDict();
|
||
|
return Properties === undefined ? result : defineProperties(result, Properties);
|
||
|
};
|
||
|
|
||
|
hiddenKeys[IE_PROTO] = true;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-define-properties.js":
|
||
|
/*!********************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-define-properties.js ***!
|
||
|
\********************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
|
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||
|
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
|
var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");
|
||
|
|
||
|
module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
|
||
|
anObject(O);
|
||
|
var keys = objectKeys(Properties);
|
||
|
var length = keys.length;
|
||
|
var i = 0;
|
||
|
var key;
|
||
|
while (length > i) definePropertyModule.f(O, key = keys[i++], Properties[key]);
|
||
|
return O;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-define-property.js":
|
||
|
/*!******************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-define-property.js ***!
|
||
|
\******************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
|
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js");
|
||
|
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
|
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
|
||
|
|
||
|
var nativeDefineProperty = Object.defineProperty;
|
||
|
|
||
|
exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
|
||
|
anObject(O);
|
||
|
P = toPrimitive(P, true);
|
||
|
anObject(Attributes);
|
||
|
if (IE8_DOM_DEFINE) try {
|
||
|
return nativeDefineProperty(O, P, Attributes);
|
||
|
} catch (error) { /* empty */ }
|
||
|
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
|
||
|
if ('value' in Attributes) O[P] = Attributes.value;
|
||
|
return O;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-get-own-property-descriptor.js":
|
||
|
/*!******************************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
|
||
|
\******************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||
|
var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js");
|
||
|
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
|
||
|
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
|
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
|
||
|
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
|
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js");
|
||
|
|
||
|
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||
|
|
||
|
exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
||
|
O = toIndexedObject(O);
|
||
|
P = toPrimitive(P, true);
|
||
|
if (IE8_DOM_DEFINE) try {
|
||
|
return nativeGetOwnPropertyDescriptor(O, P);
|
||
|
} catch (error) { /* empty */ }
|
||
|
if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-get-own-property-names.js":
|
||
|
/*!*************************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-get-own-property-names.js ***!
|
||
|
\*************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
|
||
|
var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js");
|
||
|
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");
|
||
|
|
||
|
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
|
||
|
|
||
|
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||
|
return internalObjectKeys(O, hiddenKeys);
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-get-own-property-symbols.js":
|
||
|
/*!***************************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***!
|
||
|
\***************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
exports.f = Object.getOwnPropertySymbols;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-get-prototype-of.js":
|
||
|
/*!*******************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-get-prototype-of.js ***!
|
||
|
\*******************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
|
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
||
|
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
|
||
|
var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js");
|
||
|
|
||
|
var IE_PROTO = sharedKey('IE_PROTO');
|
||
|
var ObjectPrototype = Object.prototype;
|
||
|
|
||
|
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
|
||
|
module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
|
||
|
O = toObject(O);
|
||
|
if (has(O, IE_PROTO)) return O[IE_PROTO];
|
||
|
if (typeof O.constructor == 'function' && O instanceof O.constructor) {
|
||
|
return O.constructor.prototype;
|
||
|
} return O instanceof Object ? ObjectPrototype : null;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-keys-internal.js":
|
||
|
/*!****************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-keys-internal.js ***!
|
||
|
\****************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
|
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||
|
var arrayIncludes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js");
|
||
|
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
|
||
|
|
||
|
var arrayIndexOf = arrayIncludes(false);
|
||
|
|
||
|
module.exports = function (object, names) {
|
||
|
var O = toIndexedObject(object);
|
||
|
var i = 0;
|
||
|
var result = [];
|
||
|
var key;
|
||
|
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
|
||
|
// Don't enum bug & hidden keys
|
||
|
while (names.length > i) if (has(O, key = names[i++])) {
|
||
|
~arrayIndexOf(result, key) || result.push(key);
|
||
|
}
|
||
|
return result;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-keys.js":
|
||
|
/*!*******************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-keys.js ***!
|
||
|
\*******************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js");
|
||
|
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");
|
||
|
|
||
|
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
|
||
|
module.exports = Object.keys || function keys(O) {
|
||
|
return internalObjectKeys(O, enumBugKeys);
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-property-is-enumerable.js":
|
||
|
/*!*************************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***!
|
||
|
\*************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
|
||
|
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||
|
|
||
|
// Nashorn ~ JDK8 bug
|
||
|
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
|
||
|
|
||
|
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
||
|
var descriptor = getOwnPropertyDescriptor(this, V);
|
||
|
return !!descriptor && descriptor.enumerable;
|
||
|
} : nativePropertyIsEnumerable;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/object-set-prototype-of.js":
|
||
|
/*!*******************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/object-set-prototype-of.js ***!
|
||
|
\*******************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var validateSetPrototypeOfArguments = __webpack_require__(/*! ../internals/validate-set-prototype-of-arguments */ "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js");
|
||
|
|
||
|
// Works with __proto__ only. Old v8 can't work with null proto objects.
|
||
|
/* eslint-disable no-proto */
|
||
|
module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
|
||
|
var correctSetter = false;
|
||
|
var test = {};
|
||
|
var setter;
|
||
|
try {
|
||
|
setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
|
||
|
setter.call(test, []);
|
||
|
correctSetter = test instanceof Array;
|
||
|
} catch (error) { /* empty */ }
|
||
|
return function setPrototypeOf(O, proto) {
|
||
|
validateSetPrototypeOfArguments(O, proto);
|
||
|
if (correctSetter) setter.call(O, proto);
|
||
|
else O.__proto__ = proto;
|
||
|
return O;
|
||
|
};
|
||
|
}() : undefined);
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/own-keys.js":
|
||
|
/*!****************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/own-keys.js ***!
|
||
|
\****************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js");
|
||
|
var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js");
|
||
|
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
|
|
||
|
var Reflect = global.Reflect;
|
||
|
|
||
|
// all object keys, includes non-enumerable and symbols
|
||
|
module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
|
||
|
var keys = getOwnPropertyNamesModule.f(anObject(it));
|
||
|
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
|
||
|
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/path.js":
|
||
|
/*!************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/path.js ***!
|
||
|
\************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
module.exports = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/redefine.js":
|
||
|
/*!****************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/redefine.js ***!
|
||
|
\****************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");
|
||
|
var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");
|
||
|
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
|
var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js");
|
||
|
var nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ "./node_modules/core-js/internals/function-to-string.js");
|
||
|
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||
|
|
||
|
var getInternalState = InternalStateModule.get;
|
||
|
var enforceInternalState = InternalStateModule.enforce;
|
||
|
var TEMPLATE = String(nativeFunctionToString).split('toString');
|
||
|
|
||
|
shared('inspectSource', function (it) {
|
||
|
return nativeFunctionToString.call(it);
|
||
|
});
|
||
|
|
||
|
(module.exports = function (O, key, value, options) {
|
||
|
var unsafe = options ? !!options.unsafe : false;
|
||
|
var simple = options ? !!options.enumerable : false;
|
||
|
var noTargetGet = options ? !!options.noTargetGet : false;
|
||
|
if (typeof value == 'function') {
|
||
|
if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);
|
||
|
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
|
||
|
}
|
||
|
if (O === global) {
|
||
|
if (simple) O[key] = value;
|
||
|
else setGlobal(key, value);
|
||
|
return;
|
||
|
} else if (!unsafe) {
|
||
|
delete O[key];
|
||
|
} else if (!noTargetGet && O[key]) {
|
||
|
simple = true;
|
||
|
}
|
||
|
if (simple) O[key] = value;
|
||
|
else hide(O, key, value);
|
||
|
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
||
|
})(Function.prototype, 'toString', function toString() {
|
||
|
return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);
|
||
|
});
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/require-object-coercible.js":
|
||
|
/*!********************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/require-object-coercible.js ***!
|
||
|
\********************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
// `RequireObjectCoercible` abstract operation
|
||
|
// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
|
||
|
module.exports = function (it) {
|
||
|
if (it == undefined) throw TypeError("Can't call method on " + it);
|
||
|
return it;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/set-global.js":
|
||
|
/*!******************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/set-global.js ***!
|
||
|
\******************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
var hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");
|
||
|
|
||
|
module.exports = function (key, value) {
|
||
|
try {
|
||
|
hide(global, key, value);
|
||
|
} catch (error) {
|
||
|
global[key] = value;
|
||
|
} return value;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/set-to-string-tag.js":
|
||
|
/*!*************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/set-to-string-tag.js ***!
|
||
|
\*************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
|
||
|
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
||
|
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
|
||
|
|
||
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
||
|
|
||
|
module.exports = function (it, TAG, STATIC) {
|
||
|
if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
|
||
|
defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/shared-key.js":
|
||
|
/*!******************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/shared-key.js ***!
|
||
|
\******************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");
|
||
|
var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
|
||
|
|
||
|
var keys = shared('keys');
|
||
|
|
||
|
module.exports = function (key) {
|
||
|
return keys[key] || (keys[key] = uid(key));
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/shared.js":
|
||
|
/*!**************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/shared.js ***!
|
||
|
\**************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js");
|
||
|
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||
|
|
||
|
var SHARED = '__core-js_shared__';
|
||
|
var store = global[SHARED] || setGlobal(SHARED, {});
|
||
|
|
||
|
(module.exports = function (key, value) {
|
||
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
||
|
})('versions', []).push({
|
||
|
version: '3.1.3',
|
||
|
mode: IS_PURE ? 'pure' : 'global',
|
||
|
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
||
|
});
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/string-at.js":
|
||
|
/*!*****************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/string-at.js ***!
|
||
|
\*****************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
|
||
|
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
|
|
||
|
// CONVERT_TO_STRING: true -> String#at
|
||
|
// CONVERT_TO_STRING: false -> String#codePointAt
|
||
|
module.exports = function (that, pos, CONVERT_TO_STRING) {
|
||
|
var S = String(requireObjectCoercible(that));
|
||
|
var position = toInteger(pos);
|
||
|
var size = S.length;
|
||
|
var first, second;
|
||
|
if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
|
||
|
first = S.charCodeAt(position);
|
||
|
return first < 0xD800 || first > 0xDBFF || position + 1 === size
|
||
|
|| (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
|
||
|
? CONVERT_TO_STRING ? S.charAt(position) : first
|
||
|
: CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/to-absolute-index.js":
|
||
|
/*!*************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/to-absolute-index.js ***!
|
||
|
\*************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
|
||
|
|
||
|
var max = Math.max;
|
||
|
var min = Math.min;
|
||
|
|
||
|
// Helper for a popular repeating case of the spec:
|
||
|
// Let integer be ? ToInteger(index).
|
||
|
// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).
|
||
|
module.exports = function (index, length) {
|
||
|
var integer = toInteger(index);
|
||
|
return integer < 0 ? max(integer + length, 0) : min(integer, length);
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/to-indexed-object.js":
|
||
|
/*!*************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/to-indexed-object.js ***!
|
||
|
\*************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// toObject with fallback for non-array-like ES3 strings
|
||
|
var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
|
||
|
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
|
|
||
|
module.exports = function (it) {
|
||
|
return IndexedObject(requireObjectCoercible(it));
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/to-integer.js":
|
||
|
/*!******************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/to-integer.js ***!
|
||
|
\******************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
var ceil = Math.ceil;
|
||
|
var floor = Math.floor;
|
||
|
|
||
|
// `ToInteger` abstract operation
|
||
|
// https://tc39.github.io/ecma262/#sec-tointeger
|
||
|
module.exports = function (argument) {
|
||
|
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/to-length.js":
|
||
|
/*!*****************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/to-length.js ***!
|
||
|
\*****************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
|
||
|
|
||
|
var min = Math.min;
|
||
|
|
||
|
// `ToLength` abstract operation
|
||
|
// https://tc39.github.io/ecma262/#sec-tolength
|
||
|
module.exports = function (argument) {
|
||
|
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/to-object.js":
|
||
|
/*!*****************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/to-object.js ***!
|
||
|
\*****************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
||
|
|
||
|
// `ToObject` abstract operation
|
||
|
// https://tc39.github.io/ecma262/#sec-toobject
|
||
|
module.exports = function (argument) {
|
||
|
return Object(requireObjectCoercible(argument));
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/to-primitive.js":
|
||
|
/*!********************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/to-primitive.js ***!
|
||
|
\********************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
|
|
||
|
// 7.1.1 ToPrimitive(input [, PreferredType])
|
||
|
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||
|
// and the second argument - flag - preferred type is a string
|
||
|
module.exports = function (it, S) {
|
||
|
if (!isObject(it)) return it;
|
||
|
var fn, val;
|
||
|
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
||
|
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
|
||
|
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
||
|
throw TypeError("Can't convert object to primitive value");
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/uid.js":
|
||
|
/*!***********************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/uid.js ***!
|
||
|
\***********************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
var id = 0;
|
||
|
var postfix = Math.random();
|
||
|
|
||
|
module.exports = function (key) {
|
||
|
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + postfix).toString(36));
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js":
|
||
|
/*!*******************************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/validate-set-prototype-of-arguments.js ***!
|
||
|
\*******************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
||
|
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||
|
|
||
|
module.exports = function (O, proto) {
|
||
|
anObject(O);
|
||
|
if (!isObject(proto) && proto !== null) {
|
||
|
throw TypeError("Can't set " + String(proto) + ' as a prototype');
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/internals/well-known-symbol.js":
|
||
|
/*!*************************************************************!*\
|
||
|
!*** ./node_modules/core-js/internals/well-known-symbol.js ***!
|
||
|
\*************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||
|
var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");
|
||
|
var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
|
||
|
var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js");
|
||
|
|
||
|
var Symbol = global.Symbol;
|
||
|
var store = shared('wks');
|
||
|
|
||
|
module.exports = function (name) {
|
||
|
return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name]
|
||
|
|| (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));
|
||
|
};
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/modules/es.array.from.js":
|
||
|
/*!*******************************************************!*\
|
||
|
!*** ./node_modules/core-js/modules/es.array.from.js ***!
|
||
|
\*******************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
||
|
var from = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js/internals/array-from.js");
|
||
|
var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js");
|
||
|
|
||
|
var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
|
||
|
Array.from(iterable);
|
||
|
});
|
||
|
|
||
|
// `Array.from` method
|
||
|
// https://tc39.github.io/ecma262/#sec-array.from
|
||
|
$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
|
||
|
from: from
|
||
|
});
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/core-js/modules/es.string.iterator.js":
|
||
|
/*!************************************************************!*\
|
||
|
!*** ./node_modules/core-js/modules/es.string.iterator.js ***!
|
||
|
\************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
var codePointAt = __webpack_require__(/*! ../internals/string-at */ "./node_modules/core-js/internals/string-at.js");
|
||
|
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||
|
var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js");
|
||
|
|
||
|
var STRING_ITERATOR = 'String Iterator';
|
||
|
var setInternalState = InternalStateModule.set;
|
||
|
var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
|
||
|
|
||
|
// `String.prototype[@@iterator]` method
|
||
|
// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
|
||
|
defineIterator(String, 'String', function (iterated) {
|
||
|
setInternalState(this, {
|
||
|
type: STRING_ITERATOR,
|
||
|
string: String(iterated),
|
||
|
index: 0
|
||
|
});
|
||
|
// `%StringIteratorPrototype%.next` method
|
||
|
// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
|
||
|
}, function next() {
|
||
|
var state = getInternalState(this);
|
||
|
var string = state.string;
|
||
|
var index = state.index;
|
||
|
var point;
|
||
|
if (index >= string.length) return { value: undefined, done: true };
|
||
|
point = codePointAt(string, index, true);
|
||
|
state.index += point.length;
|
||
|
return { value: point, done: false };
|
||
|
});
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/webpack/buildin/global.js":
|
||
|
/*!***********************************!*\
|
||
|
!*** (webpack)/buildin/global.js ***!
|
||
|
\***********************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports) {
|
||
|
|
||
|
var g;
|
||
|
|
||
|
// This works in non-strict mode
|
||
|
g = (function() {
|
||
|
return this;
|
||
|
})();
|
||
|
|
||
|
try {
|
||
|
// This works if eval is allowed (see CSP)
|
||
|
g = g || Function("return this")() || (1, eval)("this");
|
||
|
} catch (e) {
|
||
|
// This works if the window reference is available
|
||
|
if (typeof window === "object") g = window;
|
||
|
}
|
||
|
|
||
|
// g can still be undefined, but nothing to do about it...
|
||
|
// We return undefined, instead of nothing here, so it's
|
||
|
// easier to handle this case. if(!global) { ...}
|
||
|
|
||
|
module.exports = g;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./src/default-attrs.json":
|
||
|
/*!********************************!*\
|
||
|
!*** ./src/default-attrs.json ***!
|
||
|
\********************************/
|
||
|
/*! exports provided: xmlns, width, height, viewBox, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, default */
|
||
|
/***/ (function(module) {
|
||
|
|
||
|
module.exports = {"xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./src/icon.js":
|
||
|
/*!*********************!*\
|
||
|
!*** ./src/icon.js ***!
|
||
|
\*********************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
|
||
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
||
|
|
||
|
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
||
|
|
||
|
var _dedupe = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js");
|
||
|
|
||
|
var _dedupe2 = _interopRequireDefault(_dedupe);
|
||
|
|
||
|
var _defaultAttrs = __webpack_require__(/*! ./default-attrs.json */ "./src/default-attrs.json");
|
||
|
|
||
|
var _defaultAttrs2 = _interopRequireDefault(_defaultAttrs);
|
||
|
|
||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
|
||
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||
|
|
||
|
var Icon = function () {
|
||
|
function Icon(name, contents) {
|
||
|
var tags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
||
|
|
||
|
_classCallCheck(this, Icon);
|
||
|
|
||
|
this.name = name;
|
||
|
this.contents = contents;
|
||
|
this.tags = tags;
|
||
|
this.attrs = _extends({}, _defaultAttrs2.default, { class: 'feather feather-' + name });
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Create an SVG string.
|
||
|
* @param {Object} attrs
|
||
|
* @returns {string}
|
||
|
*/
|
||
|
|
||
|
|
||
|
_createClass(Icon, [{
|
||
|
key: 'toSvg',
|
||
|
value: function toSvg() {
|
||
|
var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
||
|
|
||
|
var combinedAttrs = _extends({}, this.attrs, attrs, { class: (0, _dedupe2.default)(this.attrs.class, attrs.class) });
|
||
|
|
||
|
return '<svg ' + attrsToString(combinedAttrs) + '>' + this.contents + '</svg>';
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Return string representation of an `Icon`.
|
||
|
*
|
||
|
* Added for backward compatibility. If old code expects `feather.icons.<name>`
|
||
|
* to be a string, `toString()` will get implicitly called.
|
||
|
*
|
||
|
* @returns {string}
|
||
|
*/
|
||
|
|
||
|
}, {
|
||
|
key: 'toString',
|
||
|
value: function toString() {
|
||
|
return this.contents;
|
||
|
}
|
||
|
}]);
|
||
|
|
||
|
return Icon;
|
||
|
}();
|
||
|
|
||
|
/**
|
||
|
* Convert attributes object to string of HTML attributes.
|
||
|
* @param {Object} attrs
|
||
|
* @returns {string}
|
||
|
*/
|
||
|
|
||
|
|
||
|
function attrsToString(attrs) {
|
||
|
return Object.keys(attrs).map(function (key) {
|
||
|
return key + '="' + attrs[key] + '"';
|
||
|
}).join(' ');
|
||
|
}
|
||
|
|
||
|
exports.default = Icon;
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./src/icons.js":
|
||
|
/*!**********************!*\
|
||
|
!*** ./src/icons.js ***!
|
||
|
\**********************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
|
||
|
var _icon = __webpack_require__(/*! ./icon */ "./src/icon.js");
|
||
|
|
||
|
var _icon2 = _interopRequireDefault(_icon);
|
||
|
|
||
|
var _icons = __webpack_require__(/*! ../dist/icons.json */ "./dist/icons.json");
|
||
|
|
||
|
var _icons2 = _interopRequireDefault(_icons);
|
||
|
|
||
|
var _tags = __webpack_require__(/*! ./tags.json */ "./src/tags.json");
|
||
|
|
||
|
var _tags2 = _interopRequireDefault(_tags);
|
||
|
|
||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
|
||
|
exports.default = Object.keys(_icons2.default).map(function (key) {
|
||
|
return new _icon2.default(key, _icons2.default[key], _tags2.default[key]);
|
||
|
}).reduce(function (object, icon) {
|
||
|
object[icon.name] = icon;
|
||
|
return object;
|
||
|
}, {});
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./src/index.js":
|
||
|
/*!**********************!*\
|
||
|
!*** ./src/index.js ***!
|
||
|
\**********************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
|
||
|
var _icons = __webpack_require__(/*! ./icons */ "./src/icons.js");
|
||
|
|
||
|
var _icons2 = _interopRequireDefault(_icons);
|
||
|
|
||
|
var _toSvg = __webpack_require__(/*! ./to-svg */ "./src/to-svg.js");
|
||
|
|
||
|
var _toSvg2 = _interopRequireDefault(_toSvg);
|
||
|
|
||
|
var _replace = __webpack_require__(/*! ./replace */ "./src/replace.js");
|
||
|
|
||
|
var _replace2 = _interopRequireDefault(_replace);
|
||
|
|
||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
|
||
|
module.exports = { icons: _icons2.default, toSvg: _toSvg2.default, replace: _replace2.default };
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./src/replace.js":
|
||
|
/*!************************!*\
|
||
|
!*** ./src/replace.js ***!
|
||
|
\************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
|
||
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* eslint-env browser */
|
||
|
|
||
|
|
||
|
var _dedupe = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js");
|
||
|
|
||
|
var _dedupe2 = _interopRequireDefault(_dedupe);
|
||
|
|
||
|
var _icons = __webpack_require__(/*! ./icons */ "./src/icons.js");
|
||
|
|
||
|
var _icons2 = _interopRequireDefault(_icons);
|
||
|
|
||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
|
||
|
/**
|
||
|
* Replace all HTML elements that have a `data-feather` attribute with SVG markup
|
||
|
* corresponding to the element's `data-feather` attribute value.
|
||
|
* @param {Object} attrs
|
||
|
*/
|
||
|
function replace() {
|
||
|
var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
||
|
|
||
|
if (typeof document === 'undefined') {
|
||
|
throw new Error('`feather.replace()` only works in a browser environment.');
|
||
|
}
|
||
|
|
||
|
var elementsToReplace = document.querySelectorAll('[data-feather]');
|
||
|
|
||
|
Array.from(elementsToReplace).forEach(function (element) {
|
||
|
return replaceElement(element, attrs);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Replace a single HTML element with SVG markup
|
||
|
* corresponding to the element's `data-feather` attribute value.
|
||
|
* @param {HTMLElement} element
|
||
|
* @param {Object} attrs
|
||
|
*/
|
||
|
function replaceElement(element) {
|
||
|
var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||
|
|
||
|
var elementAttrs = getAttrs(element);
|
||
|
var name = elementAttrs['data-feather'];
|
||
|
delete elementAttrs['data-feather'];
|
||
|
|
||
|
var svgString = _icons2.default[name].toSvg(_extends({}, attrs, elementAttrs, { class: (0, _dedupe2.default)(attrs.class, elementAttrs.class) }));
|
||
|
var svgDocument = new DOMParser().parseFromString(svgString, 'image/svg+xml');
|
||
|
var svgElement = svgDocument.querySelector('svg');
|
||
|
|
||
|
element.parentNode.replaceChild(svgElement, element);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get the attributes of an HTML element.
|
||
|
* @param {HTMLElement} element
|
||
|
* @returns {Object}
|
||
|
*/
|
||
|
function getAttrs(element) {
|
||
|
return Array.from(element.attributes).reduce(function (attrs, attr) {
|
||
|
attrs[attr.name] = attr.value;
|
||
|
return attrs;
|
||
|
}, {});
|
||
|
}
|
||
|
|
||
|
exports.default = replace;
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./src/tags.json":
|
||
|
/*!***********************!*\
|
||
|
!*** ./src/tags.json ***!
|
||
|
\***********************/
|
||
|
/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, archive, at-sign, award, aperture, bar-chart, bar-chart-2, battery, battery-charging, bell, bell-off, bluetooth, book-open, book, bookmark, box, briefcase, calendar, camera, cast, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-rain, cloud-snow, cloud, codepen, codesandbox, code, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, dollar-sign, droplet, edit, edit-2, edit-3, eye, eye-off, external-link, facebook, fast-forward, figma, file-minus, file-plus, file-text, film, filter, flag, folder-minus, folder-plus, folder, framer, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, instagram, key, layers, layout, life-bouy, link, link-2, linkedin, list, lock, log-in, log-out, mail, map-pin, map, maximize, maximize-2, meh, menu, message-circle, message-square, mic-off, mic, minimize, minimize-2, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation, navigation-2, octagon, package, paperclip, pause, pause-circle, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, play, pie-chart, play-circle, plus, plus-circle, plus-square, pocket, power, printer, radio, refresh-cw, refresh-ccw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, settings, share-2, shield, shield-off, shopping-bag, shopping-cart, shuffle, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, tool, trash, trash-2, triangle, truck, tv, twitch, twitter, type, umbrella, unlock, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume, volume-1, volume-2, volume-x, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */
|
||
|
/***/ (function(module) {
|
||
|
|
||
|
module.exports = {"activity":["pulse","health","action","motion"],"airplay":["stream","cast","mirroring"],"alert-circle":["warning","alert","danger"],"alert-octagon":["warning","alert","danger"],"alert-triangle":["warning","alert","danger"],"align-center":["text alignment","center"],"align-justify":["text alignment","justified"],"align-left":["text alignment","left"],"align-right":["text alignment","right"],"anchor":[],"archive":["index","box"],"at-sign":["mention","at","email","message"],"award":["achievement","badge"],"aperture":["camera","photo"],"bar-chart":["statistics","diagram","graph"],"bar-chart-2":["statistics","diagram","graph"],"battery":["power","electricity"],"battery-charging":["power","electricity"],"bell":["alarm","notification","sound"],"bell-off":["alarm","notification","silent"],"bluetooth":["wireless"],"book-open":["read","library"],"book":["read","dictionary","booklet","magazine","library"],"bookmark":["read","clip","marker","tag"],"box":["cube"],"briefcase":["work","bag","baggage","folder"],"calendar":["date"],"camera":["photo"],"cast":["chromecast","airplay"],"circle":["off","zero","record"],"clipboard":["copy"],"clock":["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],"cloud":["weather"],"codepen":["logo"],"codesandbox":["logo"],"code":["source","programming"],"coffee":["drink","cup","mug","tea","cafe","hot","beverage"],"columns":["layout"],"command":["keyboard","cmd","terminal","prompt"],"compass":["navigation","safari","travel","direction"],"copy":["clone","duplicate"],"corner-down-left":["arrow","return"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],"cpu":["processor","technology"],"credit-card":["purchase","payment","cc"],"crop":["photo","image"],"crosshair":["aim","target"],"database":["storage","memory"],"delete":["remove"],"disc":["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],"droplet":["water"],"edit":["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],"eye":["view","watch"],"eye-off":["view","watch","hide","hidden"],"external-link":["outbound"],"facebook":["logo","social"],"fast-forward":["music"],"figma":["logo","design","tool"],"file-minus":["delete","remove","erase"],"file-plus":["add","create","new"],"file-text":["data","txt","pdf"],"film":["movie","video"],"filter":["funnel","hopper"],"flag":["report"],"folder-minus":["directory"],"folder-plus":["directory"],"folder":["directory"],"framer":["logo","design","tool"],"frown":["emoji","face","bad","sad","emotion"],"gift":["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],"github":["logo","version control"],"gitlab":["logo","version control"],"globe":["world","browser","language","translate"],"hard-drive":["computer","server","memory","data"],"hash":["hashtag","number","pound"],"headphones":["music","audio","sound"],"heart":["like","love","emotion"],"help-circle":["question mark"],"hexagon":["shape","node.js","logo"],"home":["house","living"],"image":["picture"],"inbox":["email"],"instagram":["logo","camera"],"key":["password","login","authentication","secure"],"layers":["stack"],"layout":["window","webpage"],"life-bouy":["help","life ring","support"],"link":["chain","url"],"link-2":["chain","url"],"linkedin":["logo","social media"],"list":["options"],"lock":["security","password","secure"],"log-in":["sign in","arrow","enter"],"log-out":["sign out","arrow","exit"],"mail":["email","message"],"map-pin":["location","navigation","travel","marker"],"map":["location","navigation","travel"],"maximize":["fullscreen"],"maximize-2":["fullscreen","arrows","expand"],"meh":["emoji","face","neutral","emotion"],"menu":["bars","navigation","hamburger"],"message-circle":["comment","chat"],"mess
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./src/to-svg.js":
|
||
|
/*!***********************!*\
|
||
|
!*** ./src/to-svg.js ***!
|
||
|
\***********************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
|
||
|
var _icons = __webpack_require__(/*! ./icons */ "./src/icons.js");
|
||
|
|
||
|
var _icons2 = _interopRequireDefault(_icons);
|
||
|
|
||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
|
||
|
/**
|
||
|
* Create an SVG string.
|
||
|
* @deprecated
|
||
|
* @param {string} name
|
||
|
* @param {Object} attrs
|
||
|
* @returns {string}
|
||
|
*/
|
||
|
function toSvg(name) {
|
||
|
var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||
|
|
||
|
console.warn('feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead.');
|
||
|
|
||
|
if (!name) {
|
||
|
throw new Error('The required `key` (icon name) parameter is missing.');
|
||
|
}
|
||
|
|
||
|
if (!_icons2.default[name]) {
|
||
|
throw new Error('No icon matching \'' + name + '\'. See the complete list of icons at https://feathericons.com');
|
||
|
}
|
||
|
|
||
|
return _icons2.default[name].toSvg(attrs);
|
||
|
}
|
||
|
|
||
|
exports.default = toSvg;
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ 0:
|
||
|
/*!**************************************************!*\
|
||
|
!*** multi core-js/es/array/from ./src/index.js ***!
|
||
|
\**************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
__webpack_require__(/*! core-js/es/array/from */"./node_modules/core-js/es/array/from.js");
|
||
|
module.exports = __webpack_require__(/*! /home/travis/build/feathericons/feather/src/index.js */"./src/index.js");
|
||
|
|
||
|
|
||
|
/***/ })
|
||
|
|
||
|
/******/ });
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
var utils = createCommonjsModule(function (module, exports) {
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.waitForResolvedLinks = exports.resolvedLinksComplete = exports.addRenderedMarkdownButton = exports.RenderedMarkdownModal = exports.saveViewSide = exports.openView = exports.linkedQ = exports.openOrSwitch = exports.stripMD = exports.addMD = exports.createNewMDNote = exports.hoverPreview = exports.isInVault = exports.getSelectionFromCurrFile = exports.getSelectionFromEditor = exports.copy = exports.getAvailablePathForAttachments = exports.base64ToArrayBuffer = exports.addFeatherIcon = exports.addAllFeatherIcons = exports.wait = void 0;
|
||
|
/**
|
||
|
* This module contains various utility functions commonly used in Obsidian plugins.
|
||
|
* @module obsidian-community-lib
|
||
|
*/
|
||
|
|
||
|
|
||
|
/**
|
||
|
* You can await this Function to delay execution
|
||
|
*
|
||
|
* @param delay The delay in ms
|
||
|
*/
|
||
|
async function wait(delay) {
|
||
|
return new Promise((resolve) => setTimeout(resolve, delay));
|
||
|
}
|
||
|
exports.wait = wait;
|
||
|
/**
|
||
|
* Adds all official Feather Icons to Obsidian.
|
||
|
* https://feathericons.com/
|
||
|
*
|
||
|
* @param attr SVG Attributes for the Icon. The default should work for most usecases.
|
||
|
*/
|
||
|
function addAllFeatherIcons(attr = { viewBox: "0 0 24 24", width: "100", height: "100" }) {
|
||
|
Object.values(feather.icons).forEach((i) => {
|
||
|
const svg = i.toSvg(attr);
|
||
|
(0, obsidian_1__default["default"].addIcon)(`feather-${i.name}`, svg);
|
||
|
});
|
||
|
}
|
||
|
exports.addAllFeatherIcons = addAllFeatherIcons;
|
||
|
/**
|
||
|
* Adds a specific Feather Icon to Obsidian.
|
||
|
*
|
||
|
* @param name official Name of the Icon (https://feathericons.com/)
|
||
|
* @param attr SVG Attributes for the Icon. The default should work for most usecases.
|
||
|
* @returns {string} Icon name
|
||
|
*/
|
||
|
function addFeatherIcon(name, attr = { viewBox: "0 0 24 24", width: "100", height: "100" }) {
|
||
|
if (feather.icons[name]) {
|
||
|
const iconName = `feather-${name}`;
|
||
|
(0, obsidian_1__default["default"].addIcon)(iconName, feather.icons[name].toSvg(attr));
|
||
|
return iconName;
|
||
|
}
|
||
|
else {
|
||
|
throw Error(`This Icon (${name}) doesn't exist in the Feather Library.`);
|
||
|
}
|
||
|
}
|
||
|
exports.addFeatherIcon = addFeatherIcon;
|
||
|
/**
|
||
|
* Convert a base64 String to an ArrayBuffer.
|
||
|
* You can then use the ArrayBuffer to save the asset to disk.
|
||
|
*
|
||
|
* @param base64 base64 string to be converted.
|
||
|
* @returns ArrayBuffer
|
||
|
*/
|
||
|
function base64ToArrayBuffer(base64) {
|
||
|
const binary_string = window.atob(base64);
|
||
|
const len = binary_string.length;
|
||
|
let bytes = new Uint8Array(len);
|
||
|
for (let i = 0; i < len; i++) {
|
||
|
bytes[i] = binary_string.charCodeAt(i);
|
||
|
}
|
||
|
return bytes.buffer;
|
||
|
}
|
||
|
exports.base64ToArrayBuffer = base64ToArrayBuffer;
|
||
|
/**
|
||
|
* This is a helper method for an undocumented API of Obsidian.
|
||
|
*
|
||
|
* @param vault You can get this via `this.app.vault`
|
||
|
* @param fileName The Filename for your Attachment
|
||
|
* @param format The Fileformat of your Attachment
|
||
|
* @param sourceFile The Sourcefile from where the Attachment gets added, this is needed because the Attachment Folder might be different based on where it gets inserted.
|
||
|
* @returns The Attachment Path
|
||
|
*/
|
||
|
function getAvailablePathForAttachments(vault, fileName, format, sourceFile) {
|
||
|
//@ts-expect-error
|
||
|
return vault.getAvailablePathForAttachments(fileName, format, sourceFile);
|
||
|
}
|
||
|
exports.getAvailablePathForAttachments = getAvailablePathForAttachments;
|
||
|
/**
|
||
|
* Copy `content` to the users clipboard.
|
||
|
*
|
||
|
* @param {string} content The content to be copied to clipboard.
|
||
|
* @param {() => any} success The callback to run when text is successfully copied. Default throws a new `Notice`
|
||
|
* @param {(reason?) => any} failure The callback to run when text was not able to be copied. Default throws a new `Notice`, and console logs the error.`
|
||
|
*/
|
||
|
async function copy(content, success = () => new obsidian_1__default["default"].Notice("Copied to clipboard"), failure = (reason) => {
|
||
|
new obsidian_1__default["default"].Notice("Could not copy to clipboard");
|
||
|
console.log({ reason });
|
||
|
}) {
|
||
|
await navigator.clipboard.writeText(content).then(success, failure);
|
||
|
}
|
||
|
exports.copy = copy;
|
||
|
/**
|
||
|
* Given an editor, check if something is selected and return that selection, otherwise return the entire content of the editor
|
||
|
* @param {Editor} editor
|
||
|
*/
|
||
|
function getSelectionFromEditor(editor) {
|
||
|
if (editor.somethingSelected()) {
|
||
|
return editor.getSelection();
|
||
|
}
|
||
|
else {
|
||
|
return editor.getValue();
|
||
|
}
|
||
|
}
|
||
|
exports.getSelectionFromEditor = getSelectionFromEditor;
|
||
|
/**
|
||
|
* Check if something is selected in the current file and return that selection, otherwise return the entire content of the current file.
|
||
|
* @param {App} app
|
||
|
* @param {boolean} [cached=true] Use `cachedRead` or `read`. `cachedRead` by default.
|
||
|
*/
|
||
|
async function getSelectionFromCurrFile(app, cached = true) {
|
||
|
const text = window?.getSelection()?.toString();
|
||
|
if (text) {
|
||
|
return text;
|
||
|
}
|
||
|
else {
|
||
|
const currFile = app.workspace.getActiveFile();
|
||
|
if (currFile instanceof obsidian_1__default["default"].TFile) {
|
||
|
if (cached) {
|
||
|
return await app.vault.cachedRead(currFile);
|
||
|
}
|
||
|
else {
|
||
|
return await app.vault.read(currFile);
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
new obsidian_1__default["default"].Notice("You must be focused on a markdown file.");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
exports.getSelectionFromCurrFile = getSelectionFromCurrFile;
|
||
|
/**
|
||
|
* Check if `noteName` is the name of a note that exists in the vault.
|
||
|
* @param {App} app
|
||
|
* @param {string} noteName Basename of the note to search for.
|
||
|
* @param {string} [sourcePath=""] Optional file path to start searching from. Default is the current file.
|
||
|
* @returns boolean
|
||
|
*/
|
||
|
const isInVault = (app, noteName, sourcePath = "") => !!app.metadataCache.getFirstLinkpathDest(noteName, sourcePath);
|
||
|
exports.isInVault = isInVault;
|
||
|
/**
|
||
|
* When hovering a link going to `to`, show the Obsidian hover-preview of that note.
|
||
|
*
|
||
|
* You probably have to hold down `Ctrl` when hovering the link for the preview to appear!
|
||
|
* @param {MouseEvent} event
|
||
|
* @param {YourView} view The view with the link being hovered
|
||
|
* @param {string} to The basename of the note to preview. Not necessary if the element being hovered has `to` as its `innerText`
|
||
|
* @template YourView The ViewType of your view
|
||
|
* @returns void
|
||
|
*/
|
||
|
function hoverPreview(event, view, to) {
|
||
|
const targetEl = event.target;
|
||
|
const linkText = to ?? targetEl.innerText;
|
||
|
view.app.workspace.trigger("hover-link", {
|
||
|
event,
|
||
|
source: view.getViewType(),
|
||
|
hoverParent: view,
|
||
|
targetEl,
|
||
|
linkText,
|
||
|
});
|
||
|
}
|
||
|
exports.hoverPreview = hoverPreview;
|
||
|
/**
|
||
|
* Create a new markdown note named `newName` in the user's preffered new-note-folder.
|
||
|
* @param {App} app
|
||
|
* @param {string} newName Name of new note (with or without '.md')
|
||
|
* @param {string} [currFilePath=""] File path of the current note. Use an empty string if there is no active file.
|
||
|
* @returns {Promise<TFile>} new TFile
|
||
|
*/
|
||
|
async function createNewMDNote(app, newName, currFilePath = "") {
|
||
|
const newFileFolder = app.fileManager.getNewFileParent(currFilePath).path;
|
||
|
if (!newName.endsWith(".md")) {
|
||
|
newName += ".md";
|
||
|
}
|
||
|
const newFilePath = (0, obsidian_1__default["default"].normalizePath)(`${newFileFolder}${newFileFolder === "/" ? "" : "/"}${newName}.md`);
|
||
|
return await app.vault.create(newFilePath, "");
|
||
|
}
|
||
|
exports.createNewMDNote = createNewMDNote;
|
||
|
/**
|
||
|
* Add '.md' to a `noteName` if it isn't already there.
|
||
|
* @param {string} noteName with or without '.md' on the end.
|
||
|
* @returns {string} noteName with '.md' on the end.
|
||
|
*/
|
||
|
const addMD = (noteName) => {
|
||
|
let withMD = noteName.slice();
|
||
|
if (!withMD.endsWith(".md")) {
|
||
|
withMD += ".md";
|
||
|
}
|
||
|
return withMD;
|
||
|
};
|
||
|
exports.addMD = addMD;
|
||
|
/**
|
||
|
* Strip '.md' off the end of a note name to get its basename.
|
||
|
*
|
||
|
* Works with the edgecase where a note has '.md' in its basename: `Obsidian.md.md`, for example.
|
||
|
* @param {string} noteName with or without '.md' on the end.
|
||
|
* @returns {string} noteName without '.md'
|
||
|
*/
|
||
|
const stripMD = (noteName) => noteName.split(".md").slice(0, -1).join(".md");
|
||
|
exports.stripMD = stripMD;
|
||
|
/**
|
||
|
* When clicking a link, check if that note is already open in another leaf, and switch to that leaf, if so. Otherwise, open the note in a new pane.
|
||
|
* @param {App} app
|
||
|
* @param {string} dest Basename of note to open to open
|
||
|
* @param {MouseEvent} event
|
||
|
* @param {{createNewFile:boolean}} [options={createNewFile:true}] Whether or not to create `dest` file if it doesn't exist. If `false`, simply return from the function.
|
||
|
* @returns Promise
|
||
|
*/
|
||
|
async function openOrSwitch(app, dest, event, options = { createNewFile: true }) {
|
||
|
const { workspace } = app;
|
||
|
const destStripped = (0, exports.stripMD)(dest);
|
||
|
let destFile = app.metadataCache.getFirstLinkpathDest(destStripped, "");
|
||
|
// If dest doesn't exist, make it
|
||
|
if (!destFile) {
|
||
|
if (options.createNewFile) {
|
||
|
destFile = await createNewMDNote(app, destStripped);
|
||
|
}
|
||
|
else
|
||
|
return;
|
||
|
}
|
||
|
// Check if it's already open
|
||
|
const leavesWithDestAlreadyOpen = [];
|
||
|
// For all open leaves, if the leave's basename is equal to the link destination, rather activate that leaf instead of opening it in two panes
|
||
|
workspace.iterateAllLeaves((leaf) => {
|
||
|
if (leaf.view instanceof obsidian_1__default["default"].MarkdownView) {
|
||
|
if (leaf.view?.file?.basename === destStripped) {
|
||
|
leavesWithDestAlreadyOpen.push(leaf);
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
// Rather switch to it if it is open
|
||
|
if (leavesWithDestAlreadyOpen.length > 0) {
|
||
|
workspace.setActiveLeaf(leavesWithDestAlreadyOpen[0]);
|
||
|
}
|
||
|
else {
|
||
|
// @ts-ignore
|
||
|
const mode = app.vault.getConfig("defaultViewMode");
|
||
|
const leaf = event.ctrlKey || event.getModifierState("Meta")
|
||
|
? workspace.splitActiveLeaf()
|
||
|
: workspace.getUnpinnedLeaf();
|
||
|
await leaf.openFile(destFile, { active: true, mode });
|
||
|
}
|
||
|
}
|
||
|
exports.openOrSwitch = openOrSwitch;
|
||
|
/**
|
||
|
* Given a list of resolved links from app.metadataCache, check if `from` has a link to `to`
|
||
|
* @param {ResolvedLinks} resolvedLinks
|
||
|
* @param {string} from Note name with link leaving (With or without '.md')
|
||
|
* @param {string} to Note name with link arriving (With or without '.md')
|
||
|
* @param {boolean} [directed=true] Only check if `from` has a link to `to`. If not directed, check in both directions
|
||
|
*/
|
||
|
function linkedQ(resolvedLinks, from, to, directed = true) {
|
||
|
if (!from.endsWith(".md")) {
|
||
|
from += ".md";
|
||
|
}
|
||
|
if (!to.endsWith(".md")) {
|
||
|
to += ".md";
|
||
|
}
|
||
|
const fromTo = resolvedLinks[from]?.hasOwnProperty(to);
|
||
|
if (!fromTo && !directed) {
|
||
|
const toFrom = resolvedLinks[to]?.hasOwnProperty(from);
|
||
|
return toFrom;
|
||
|
}
|
||
|
else
|
||
|
return fromTo;
|
||
|
}
|
||
|
exports.linkedQ = linkedQ;
|
||
|
/**
|
||
|
* Open your view on the chosen `side` if it isn't already open
|
||
|
* @param {App} app
|
||
|
* @param {string} viewType
|
||
|
* @param {Constructor<YourView>} viewClass The class constructor of your view
|
||
|
* @param {"left"|"right"} [side="right"]
|
||
|
* @returns {Promise<void>}
|
||
|
*/
|
||
|
async function openView(app, viewType, viewClass, side = "right") {
|
||
|
let leaf = null;
|
||
|
for (leaf of app.workspace.getLeavesOfType(viewType)) {
|
||
|
if (leaf.view instanceof viewClass) {
|
||
|
return;
|
||
|
}
|
||
|
await leaf.setViewState({ type: "empty" });
|
||
|
break;
|
||
|
}
|
||
|
leaf =
|
||
|
leaf ?? side === "right"
|
||
|
? app.workspace.getRightLeaf(false)
|
||
|
: app.workspace.getLeftLeaf(false);
|
||
|
leaf.setViewState({
|
||
|
type: viewType,
|
||
|
active: true,
|
||
|
});
|
||
|
}
|
||
|
exports.openView = openView;
|
||
|
/**
|
||
|
* Check which side of the workspace your `viewType` is on, and save it into `plugin.settings[settingName]`.
|
||
|
*
|
||
|
* **Tip**: Run this function on `plugin.unload` to save the last side your view was on when closing, then {@link openView} on the same side it was last.
|
||
|
* @param {App} app
|
||
|
* @param {YourPlugin} plugin
|
||
|
* @param {string} viewType
|
||
|
* @param {string} settingName
|
||
|
* @returns {"left" | "right"} `side`
|
||
|
*/
|
||
|
async function saveViewSide(app, plugin, viewType, settingName) {
|
||
|
const leaf = app.workspace.getLeavesOfType(viewType)[0];
|
||
|
if (!leaf) {
|
||
|
console.info(`Obsidian-Community-Lib: No instance of '${viewType}' open, cannot save side`);
|
||
|
return;
|
||
|
}
|
||
|
//@ts-ignore
|
||
|
const side = leaf.getRoot().side;
|
||
|
//@ts-ignore
|
||
|
plugin.settings[settingName] = side;
|
||
|
//@ts-ignore
|
||
|
await plugin.saveSettings();
|
||
|
return side;
|
||
|
}
|
||
|
exports.saveViewSide = saveViewSide;
|
||
|
/**
|
||
|
* A Modal used in {@link addRenderedMarkdownButton} to display rendered markdown from a raw string, or fetched from a provided url.
|
||
|
*
|
||
|
* ![](https://i.imgur.com/NMwM50E.png)
|
||
|
* @param {App} app
|
||
|
* @param {YourPlugin} plugin
|
||
|
* @param {string} source Raw markdown content or url to find raw markdown.
|
||
|
* @param {boolean} fetch True → fetch markdown from `source` as url. False → `source` is already a markdown string.
|
||
|
*/
|
||
|
class RenderedMarkdownModal extends obsidian_1__default["default"].Modal {
|
||
|
constructor(app, plugin, source, fetch) {
|
||
|
super(app);
|
||
|
this.plugin = plugin;
|
||
|
this.source = source;
|
||
|
this.fetch = fetch;
|
||
|
}
|
||
|
async onOpen() {
|
||
|
let { contentEl, source, plugin, fetch } = this;
|
||
|
let content = source;
|
||
|
if (fetch) {
|
||
|
contentEl.createDiv({ text: `Waiting for content from: '${source}'` });
|
||
|
content = await (0, obsidian_1__default["default"].request)({ url: source });
|
||
|
contentEl.empty();
|
||
|
}
|
||
|
const logDiv = contentEl.createDiv({ cls: "OCL-RenderedMarkdownModal" });
|
||
|
obsidian_1__default["default"].MarkdownRenderer.renderMarkdown(content, logDiv, "", plugin);
|
||
|
}
|
||
|
onClose() {
|
||
|
this.contentEl.empty();
|
||
|
}
|
||
|
}
|
||
|
exports.RenderedMarkdownModal = RenderedMarkdownModal;
|
||
|
/**
|
||
|
* Add a button to an HTMLELement, which, when clicked, pops up a {@link RenderedMarkdownModal} showing rendered markdown.
|
||
|
*
|
||
|
* Use `fetch` to indicate whether the markdown string needs to be fetched, or if it has been provided as a string already.
|
||
|
*
|
||
|
* ![](https://i.imgur.com/Hi4gyyv.png)
|
||
|
* @param {App} app
|
||
|
* @param {YourPlugin} plugin
|
||
|
* @param {HTMLElement} containerEl HTMLElement to add the button to
|
||
|
* @param {string} source Raw markdown content or url to find raw markdown.
|
||
|
* @param {boolean} fetch True → fetch markdown from `source` as url. False → `source` is already a markdown string.
|
||
|
* @param {string} displayText Text to display in the button.
|
||
|
*/
|
||
|
function addRenderedMarkdownButton(app, plugin, containerEl, source, fetch, displayText) {
|
||
|
containerEl.createEl("button", { text: displayText }, (but) => but.onClickEvent(() => {
|
||
|
new RenderedMarkdownModal(app, plugin, source, fetch).open();
|
||
|
}));
|
||
|
}
|
||
|
exports.addRenderedMarkdownButton = addRenderedMarkdownButton;
|
||
|
/**
|
||
|
* Check if `app.metadataCache.ResolvedLinks` have fully initalised.
|
||
|
*
|
||
|
* Used with {@link waitForResolvedLinks}.
|
||
|
* @param {App} app
|
||
|
* @param {number} noFiles Number of files in your vault.
|
||
|
* @returns {boolean}
|
||
|
*/
|
||
|
function resolvedLinksComplete(app, noFiles) {
|
||
|
const { resolvedLinks } = app.metadataCache;
|
||
|
return Object.keys(resolvedLinks).length === noFiles;
|
||
|
}
|
||
|
exports.resolvedLinksComplete = resolvedLinksComplete;
|
||
|
/**
|
||
|
* Wait for `app.metadataCache.ResolvedLinks` to have fully initialised.
|
||
|
* @param {App} app
|
||
|
* @param {number} [delay=1000] Number of milliseconds to wait between each check.
|
||
|
* @param {number} [max=50] Maximum number of iterations to check before throwing an error and breaking out of the loop.
|
||
|
*/
|
||
|
async function waitForResolvedLinks(app, delay = 1000, max = 50) {
|
||
|
const noFiles = app.vault.getMarkdownFiles().length;
|
||
|
let i = 0;
|
||
|
while (!resolvedLinksComplete(app, noFiles) && i < max) {
|
||
|
await wait(delay);
|
||
|
i++;
|
||
|
}
|
||
|
if (i === max) {
|
||
|
throw Error("Obsidian-Community-Lib: ResolvedLinks did not finish initialising. `max` iterations was reached first.");
|
||
|
}
|
||
|
}
|
||
|
exports.waitForResolvedLinks = waitForResolvedLinks;
|
||
|
});
|
||
|
|
||
|
var dist = createCommonjsModule(function (module, exports) {
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.waitForResolvedLinks = exports.resolvedLinksComplete = exports.stripMD = exports.addMD = exports.saveViewSide = exports.openView = exports.RenderedMarkdownModal = exports.addRenderedMarkdownButton = exports.linkedQ = exports.openOrSwitch = exports.createNewMDNote = exports.isInVault = exports.hoverPreview = exports.getSelectionFromEditor = exports.getSelectionFromCurrFile = exports.copy = exports.wait = exports.getAvailablePathForAttachments = exports.base64ToArrayBuffer = exports.addFeatherIcon = exports.addAllFeatherIcons = void 0;
|
||
|
|
||
|
Object.defineProperty(exports, "addAllFeatherIcons", { enumerable: true, get: function () { return utils.addAllFeatherIcons; } });
|
||
|
Object.defineProperty(exports, "addFeatherIcon", { enumerable: true, get: function () { return utils.addFeatherIcon; } });
|
||
|
Object.defineProperty(exports, "base64ToArrayBuffer", { enumerable: true, get: function () { return utils.base64ToArrayBuffer; } });
|
||
|
Object.defineProperty(exports, "getAvailablePathForAttachments", { enumerable: true, get: function () { return utils.getAvailablePathForAttachments; } });
|
||
|
Object.defineProperty(exports, "wait", { enumerable: true, get: function () { return utils.wait; } });
|
||
|
Object.defineProperty(exports, "copy", { enumerable: true, get: function () { return utils.copy; } });
|
||
|
Object.defineProperty(exports, "getSelectionFromCurrFile", { enumerable: true, get: function () { return utils.getSelectionFromCurrFile; } });
|
||
|
Object.defineProperty(exports, "getSelectionFromEditor", { enumerable: true, get: function () { return utils.getSelectionFromEditor; } });
|
||
|
Object.defineProperty(exports, "hoverPreview", { enumerable: true, get: function () { return utils.hoverPreview; } });
|
||
|
Object.defineProperty(exports, "isInVault", { enumerable: true, get: function () { return utils.isInVault; } });
|
||
|
Object.defineProperty(exports, "createNewMDNote", { enumerable: true, get: function () { return utils.createNewMDNote; } });
|
||
|
Object.defineProperty(exports, "openOrSwitch", { enumerable: true, get: function () { return utils.openOrSwitch; } });
|
||
|
Object.defineProperty(exports, "linkedQ", { enumerable: true, get: function () { return utils.linkedQ; } });
|
||
|
Object.defineProperty(exports, "addRenderedMarkdownButton", { enumerable: true, get: function () { return utils.addRenderedMarkdownButton; } });
|
||
|
Object.defineProperty(exports, "RenderedMarkdownModal", { enumerable: true, get: function () { return utils.RenderedMarkdownModal; } });
|
||
|
Object.defineProperty(exports, "openView", { enumerable: true, get: function () { return utils.openView; } });
|
||
|
Object.defineProperty(exports, "saveViewSide", { enumerable: true, get: function () { return utils.saveViewSide; } });
|
||
|
Object.defineProperty(exports, "addMD", { enumerable: true, get: function () { return utils.addMD; } });
|
||
|
Object.defineProperty(exports, "stripMD", { enumerable: true, get: function () { return utils.stripMD; } });
|
||
|
Object.defineProperty(exports, "resolvedLinksComplete", { enumerable: true, get: function () { return utils.resolvedLinksComplete; } });
|
||
|
Object.defineProperty(exports, "waitForResolvedLinks", { enumerable: true, get: function () { return utils.waitForResolvedLinks; } });
|
||
|
});
|
||
|
|
||
|
function noop() { }
|
||
|
function run(fn) {
|
||
|
return fn();
|
||
|
}
|
||
|
function blank_object() {
|
||
|
return Object.create(null);
|
||
|
}
|
||
|
function run_all(fns) {
|
||
|
fns.forEach(run);
|
||
|
}
|
||
|
function is_function(thing) {
|
||
|
return typeof thing === 'function';
|
||
|
}
|
||
|
function safe_not_equal(a, b) {
|
||
|
return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');
|
||
|
}
|
||
|
function is_empty(obj) {
|
||
|
return Object.keys(obj).length === 0;
|
||
|
}
|
||
|
|
||
|
function append(target, node) {
|
||
|
target.appendChild(node);
|
||
|
}
|
||
|
function insert(target, node, anchor) {
|
||
|
target.insertBefore(node, anchor || null);
|
||
|
}
|
||
|
function detach(node) {
|
||
|
node.parentNode.removeChild(node);
|
||
|
}
|
||
|
function destroy_each(iterations, detaching) {
|
||
|
for (let i = 0; i < iterations.length; i += 1) {
|
||
|
if (iterations[i])
|
||
|
iterations[i].d(detaching);
|
||
|
}
|
||
|
}
|
||
|
function element(name) {
|
||
|
return document.createElement(name);
|
||
|
}
|
||
|
function text(data) {
|
||
|
return document.createTextNode(data);
|
||
|
}
|
||
|
function space() {
|
||
|
return text(' ');
|
||
|
}
|
||
|
function listen(node, event, handler, options) {
|
||
|
node.addEventListener(event, handler, options);
|
||
|
return () => node.removeEventListener(event, handler, options);
|
||
|
}
|
||
|
function attr(node, attribute, value) {
|
||
|
if (value == null)
|
||
|
node.removeAttribute(attribute);
|
||
|
else if (node.getAttribute(attribute) !== value)
|
||
|
node.setAttribute(attribute, value);
|
||
|
}
|
||
|
function children(element) {
|
||
|
return Array.from(element.childNodes);
|
||
|
}
|
||
|
function set_data(text, data) {
|
||
|
data = '' + data;
|
||
|
if (text.wholeText !== data)
|
||
|
text.data = data;
|
||
|
}
|
||
|
|
||
|
let current_component;
|
||
|
function set_current_component(component) {
|
||
|
current_component = component;
|
||
|
}
|
||
|
function get_current_component() {
|
||
|
if (!current_component)
|
||
|
throw new Error('Function called outside component initialization');
|
||
|
return current_component;
|
||
|
}
|
||
|
function onMount(fn) {
|
||
|
get_current_component().$$.on_mount.push(fn);
|
||
|
}
|
||
|
|
||
|
const dirty_components = [];
|
||
|
const binding_callbacks = [];
|
||
|
const render_callbacks = [];
|
||
|
const flush_callbacks = [];
|
||
|
const resolved_promise = Promise.resolve();
|
||
|
let update_scheduled = false;
|
||
|
function schedule_update() {
|
||
|
if (!update_scheduled) {
|
||
|
update_scheduled = true;
|
||
|
resolved_promise.then(flush);
|
||
|
}
|
||
|
}
|
||
|
function add_render_callback(fn) {
|
||
|
render_callbacks.push(fn);
|
||
|
}
|
||
|
let flushing = false;
|
||
|
const seen_callbacks = new Set();
|
||
|
function flush() {
|
||
|
if (flushing)
|
||
|
return;
|
||
|
flushing = true;
|
||
|
do {
|
||
|
// first, call beforeUpdate functions
|
||
|
// and update components
|
||
|
for (let i = 0; i < dirty_components.length; i += 1) {
|
||
|
const component = dirty_components[i];
|
||
|
set_current_component(component);
|
||
|
update(component.$$);
|
||
|
}
|
||
|
set_current_component(null);
|
||
|
dirty_components.length = 0;
|
||
|
while (binding_callbacks.length)
|
||
|
binding_callbacks.pop()();
|
||
|
// then, once components are updated, call
|
||
|
// afterUpdate functions. This may cause
|
||
|
// subsequent updates...
|
||
|
for (let i = 0; i < render_callbacks.length; i += 1) {
|
||
|
const callback = render_callbacks[i];
|
||
|
if (!seen_callbacks.has(callback)) {
|
||
|
// ...so guard against infinite loops
|
||
|
seen_callbacks.add(callback);
|
||
|
callback();
|
||
|
}
|
||
|
}
|
||
|
render_callbacks.length = 0;
|
||
|
} while (dirty_components.length);
|
||
|
while (flush_callbacks.length) {
|
||
|
flush_callbacks.pop()();
|
||
|
}
|
||
|
update_scheduled = false;
|
||
|
flushing = false;
|
||
|
seen_callbacks.clear();
|
||
|
}
|
||
|
function update($$) {
|
||
|
if ($$.fragment !== null) {
|
||
|
$$.update();
|
||
|
run_all($$.before_update);
|
||
|
const dirty = $$.dirty;
|
||
|
$$.dirty = [-1];
|
||
|
$$.fragment && $$.fragment.p($$.ctx, dirty);
|
||
|
$$.after_update.forEach(add_render_callback);
|
||
|
}
|
||
|
}
|
||
|
const outroing = new Set();
|
||
|
function transition_in(block, local) {
|
||
|
if (block && block.i) {
|
||
|
outroing.delete(block);
|
||
|
block.i(local);
|
||
|
}
|
||
|
}
|
||
|
function mount_component(component, target, anchor, customElement) {
|
||
|
const { fragment, on_mount, on_destroy, after_update } = component.$$;
|
||
|
fragment && fragment.m(target, anchor);
|
||
|
if (!customElement) {
|
||
|
// onMount happens before the initial afterUpdate
|
||
|
add_render_callback(() => {
|
||
|
const new_on_destroy = on_mount.map(run).filter(is_function);
|
||
|
if (on_destroy) {
|
||
|
on_destroy.push(...new_on_destroy);
|
||
|
}
|
||
|
else {
|
||
|
// Edge case - component was destroyed immediately,
|
||
|
// most likely as a result of a binding initialising
|
||
|
run_all(new_on_destroy);
|
||
|
}
|
||
|
component.$$.on_mount = [];
|
||
|
});
|
||
|
}
|
||
|
after_update.forEach(add_render_callback);
|
||
|
}
|
||
|
function destroy_component(component, detaching) {
|
||
|
const $$ = component.$$;
|
||
|
if ($$.fragment !== null) {
|
||
|
run_all($$.on_destroy);
|
||
|
$$.fragment && $$.fragment.d(detaching);
|
||
|
// TODO null out other refs, including component.$$ (but need to
|
||
|
// preserve final state?)
|
||
|
$$.on_destroy = $$.fragment = null;
|
||
|
$$.ctx = [];
|
||
|
}
|
||
|
}
|
||
|
function make_dirty(component, i) {
|
||
|
if (component.$$.dirty[0] === -1) {
|
||
|
dirty_components.push(component);
|
||
|
schedule_update();
|
||
|
component.$$.dirty.fill(0);
|
||
|
}
|
||
|
component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));
|
||
|
}
|
||
|
function init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {
|
||
|
const parent_component = current_component;
|
||
|
set_current_component(component);
|
||
|
const $$ = component.$$ = {
|
||
|
fragment: null,
|
||
|
ctx: null,
|
||
|
// state
|
||
|
props,
|
||
|
update: noop,
|
||
|
not_equal,
|
||
|
bound: blank_object(),
|
||
|
// lifecycle
|
||
|
on_mount: [],
|
||
|
on_destroy: [],
|
||
|
on_disconnect: [],
|
||
|
before_update: [],
|
||
|
after_update: [],
|
||
|
context: new Map(parent_component ? parent_component.$$.context : []),
|
||
|
// everything else
|
||
|
callbacks: blank_object(),
|
||
|
dirty,
|
||
|
skip_bound: false
|
||
|
};
|
||
|
let ready = false;
|
||
|
$$.ctx = instance
|
||
|
? instance(component, options.props || {}, (i, ret, ...rest) => {
|
||
|
const value = rest.length ? rest[0] : ret;
|
||
|
if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {
|
||
|
if (!$$.skip_bound && $$.bound[i])
|
||
|
$$.bound[i](value);
|
||
|
if (ready)
|
||
|
make_dirty(component, i);
|
||
|
}
|
||
|
return ret;
|
||
|
})
|
||
|
: [];
|
||
|
$$.update();
|
||
|
ready = true;
|
||
|
run_all($$.before_update);
|
||
|
// `false` as a special case of no DOM component
|
||
|
$$.fragment = create_fragment ? create_fragment($$.ctx) : false;
|
||
|
if (options.target) {
|
||
|
if (options.hydrate) {
|
||
|
const nodes = children(options.target);
|
||
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||
|
$$.fragment && $$.fragment.l(nodes);
|
||
|
nodes.forEach(detach);
|
||
|
}
|
||
|
else {
|
||
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||
|
$$.fragment && $$.fragment.c();
|
||
|
}
|
||
|
if (options.intro)
|
||
|
transition_in(component.$$.fragment);
|
||
|
mount_component(component, options.target, options.anchor, options.customElement);
|
||
|
flush();
|
||
|
}
|
||
|
set_current_component(parent_component);
|
||
|
}
|
||
|
/**
|
||
|
* Base class for Svelte components. Used when dev=false.
|
||
|
*/
|
||
|
class SvelteComponent {
|
||
|
$destroy() {
|
||
|
destroy_component(this, 1);
|
||
|
this.$destroy = noop;
|
||
|
}
|
||
|
$on(type, callback) {
|
||
|
const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));
|
||
|
callbacks.push(callback);
|
||
|
return () => {
|
||
|
const index = callbacks.indexOf(callback);
|
||
|
if (index !== -1)
|
||
|
callbacks.splice(index, 1);
|
||
|
};
|
||
|
}
|
||
|
$set($$props) {
|
||
|
if (this.$$set && !is_empty($$props)) {
|
||
|
this.$$.skip_bound = true;
|
||
|
this.$$set($$props);
|
||
|
this.$$.skip_bound = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* src\Components\IncrementingIComponent.svelte generated by Svelte v3.35.0 */
|
||
|
|
||
|
function create_fragment$2(ctx) {
|
||
|
let div3;
|
||
|
let div0;
|
||
|
let label0;
|
||
|
let t1;
|
||
|
let input0;
|
||
|
let t2;
|
||
|
let div1;
|
||
|
let label1;
|
||
|
let t4;
|
||
|
let input1;
|
||
|
let t5;
|
||
|
let div2;
|
||
|
let button;
|
||
|
let mounted;
|
||
|
let dispose;
|
||
|
|
||
|
return {
|
||
|
c() {
|
||
|
div3 = element("div");
|
||
|
div0 = element("div");
|
||
|
label0 = element("label");
|
||
|
label0.textContent = "Start:";
|
||
|
t1 = space();
|
||
|
input0 = element("input");
|
||
|
t2 = space();
|
||
|
div1 = element("div");
|
||
|
label1 = element("label");
|
||
|
label1.textContent = "Increment:";
|
||
|
t4 = space();
|
||
|
input1 = element("input");
|
||
|
t5 = space();
|
||
|
div2 = element("div");
|
||
|
button = element("button");
|
||
|
button.textContent = "Submit";
|
||
|
attr(label0, "for", "start");
|
||
|
input0.value = 1;
|
||
|
attr(input0, "name", "start");
|
||
|
attr(input0, "type", "number");
|
||
|
attr(input0, "placeholder", "Search Query");
|
||
|
attr(label1, "for", "inc");
|
||
|
input1.value = 1;
|
||
|
attr(input1, "name", "inc");
|
||
|
attr(input1, "type", "number");
|
||
|
attr(input1, "placeholder", "Increment");
|
||
|
attr(button, "class", "AC-submit-button");
|
||
|
attr(div3, "class", "inputEls");
|
||
|
},
|
||
|
m(target, anchor) {
|
||
|
insert(target, div3, anchor);
|
||
|
append(div3, div0);
|
||
|
append(div0, label0);
|
||
|
append(div0, t1);
|
||
|
append(div0, input0);
|
||
|
/*input0_binding*/ ctx[7](input0);
|
||
|
append(div3, t2);
|
||
|
append(div3, div1);
|
||
|
append(div1, label1);
|
||
|
append(div1, t4);
|
||
|
append(div1, input1);
|
||
|
/*input1_binding*/ ctx[8](input1);
|
||
|
append(div3, t5);
|
||
|
append(div3, div2);
|
||
|
append(div2, button);
|
||
|
/*button_binding*/ ctx[9](button);
|
||
|
|
||
|
if (!mounted) {
|
||
|
dispose = listen(button, "click", /*onSubmit*/ ctx[3]);
|
||
|
mounted = true;
|
||
|
}
|
||
|
},
|
||
|
p: noop,
|
||
|
i: noop,
|
||
|
o: noop,
|
||
|
d(detaching) {
|
||
|
if (detaching) detach(div3);
|
||
|
/*input0_binding*/ ctx[7](null);
|
||
|
/*input1_binding*/ ctx[8](null);
|
||
|
/*button_binding*/ ctx[9](null);
|
||
|
mounted = false;
|
||
|
dispose();
|
||
|
}
|
||
|
};
|
||
|
}
|
||
|
|
||
|
function instance$2($$self, $$props, $$invalidate) {
|
||
|
|
||
|
|
||
|
|
||
|
let { plugin } = $$props;
|
||
|
let { ed } = $$props;
|
||
|
let { modal } = $$props;
|
||
|
let startInput;
|
||
|
let incInput;
|
||
|
let submitButton;
|
||
|
|
||
|
function onSubmit() {
|
||
|
const start = Number.parseFloat(startInput.value);
|
||
|
const inc = Number.parseFloat(incInput.value);
|
||
|
plugin.writeIncrementingI(ed, start, inc);
|
||
|
modal.close();
|
||
|
}
|
||
|
|
||
|
onMount(() => {
|
||
|
submitButton.focus();
|
||
|
});
|
||
|
|
||
|
function input0_binding($$value) {
|
||
|
binding_callbacks[$$value ? "unshift" : "push"](() => {
|
||
|
startInput = $$value;
|
||
|
$$invalidate(0, startInput);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function input1_binding($$value) {
|
||
|
binding_callbacks[$$value ? "unshift" : "push"](() => {
|
||
|
incInput = $$value;
|
||
|
$$invalidate(1, incInput);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function button_binding($$value) {
|
||
|
binding_callbacks[$$value ? "unshift" : "push"](() => {
|
||
|
submitButton = $$value;
|
||
|
$$invalidate(2, submitButton);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
$$self.$$set = $$props => {
|
||
|
if ("plugin" in $$props) $$invalidate(4, plugin = $$props.plugin);
|
||
|
if ("ed" in $$props) $$invalidate(5, ed = $$props.ed);
|
||
|
if ("modal" in $$props) $$invalidate(6, modal = $$props.modal);
|
||
|
};
|
||
|
|
||
|
return [
|
||
|
startInput,
|
||
|
incInput,
|
||
|
submitButton,
|
||
|
onSubmit,
|
||
|
plugin,
|
||
|
ed,
|
||
|
modal,
|
||
|
input0_binding,
|
||
|
input1_binding,
|
||
|
button_binding
|
||
|
];
|
||
|
}
|
||
|
|
||
|
class IncrementingIComponent extends SvelteComponent {
|
||
|
constructor(options) {
|
||
|
super();
|
||
|
init(this, options, instance$2, create_fragment$2, safe_not_equal, { plugin: 4, ed: 5, modal: 6 });
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class IncrementingIModal extends obsidian_1.Modal {
|
||
|
constructor(app, plugin, ed) {
|
||
|
super(app);
|
||
|
this.ed = ed;
|
||
|
this.plugin = plugin;
|
||
|
}
|
||
|
onOpen() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
let { contentEl, plugin, ed } = this;
|
||
|
new IncrementingIComponent({
|
||
|
target: contentEl,
|
||
|
props: { plugin, ed, modal: this },
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
onClose() {
|
||
|
let { contentEl } = this;
|
||
|
contentEl.empty();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const DEFAULT_SETTINGS = {
|
||
|
savedQueries: [],
|
||
|
savedQViewSide: "right",
|
||
|
lastQ: { name: "", query: "", flags: "", regexQ: true },
|
||
|
openViewOnload: true,
|
||
|
showFunctionNotifications: true,
|
||
|
};
|
||
|
const VIEW_TYPE_AC = "Saved Queries View";
|
||
|
const MODES = ["All", "Next", "Prev"];
|
||
|
const DECIMALS = 4;
|
||
|
|
||
|
const cmdId = (q, mode) => `AC-${mode}: ${q.name} -> ${q.query}`;
|
||
|
const cmdName = (q, mode) => `${mode}: ${displayQ(q)}`;
|
||
|
const removeQCmds = (app, q) => {
|
||
|
MODES.forEach((mode) => {
|
||
|
app.commands.removeCommand("advanced-cursors:" + cmdId(q, mode));
|
||
|
});
|
||
|
};
|
||
|
const createRegex = (q) => {
|
||
|
if (q.regexQ) {
|
||
|
let useFlags = q.flags.slice();
|
||
|
if (!useFlags.includes("g")) {
|
||
|
useFlags += "g";
|
||
|
}
|
||
|
return new RegExp(q.query, useFlags);
|
||
|
}
|
||
|
else {
|
||
|
return new RegExp(q.query.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"), "g");
|
||
|
}
|
||
|
};
|
||
|
const displayRegex = (q) => {
|
||
|
let { source, flags } = createRegex(q);
|
||
|
flags = flags.replace("g", "");
|
||
|
return `/${source}/${flags}`;
|
||
|
};
|
||
|
const displayQ = (q) => {
|
||
|
return `${q.name} → ${displayRegex(q)}`;
|
||
|
};
|
||
|
function roundNumber(num, dec = DECIMALS) {
|
||
|
return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
|
||
|
}
|
||
|
const blankQ = (query = "", regexQ = true) => {
|
||
|
return { name: "", query, flags: "", regexQ };
|
||
|
};
|
||
|
|
||
|
class SavedQView extends obsidian_1.ItemView {
|
||
|
constructor(leaf, plugin) {
|
||
|
super(leaf);
|
||
|
this.icon = dist.addFeatherIcon("mouse-pointer");
|
||
|
this.plugin = plugin;
|
||
|
}
|
||
|
onload() {
|
||
|
const _super = Object.create(null, {
|
||
|
onload: { get: () => super.onload }
|
||
|
});
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
_super.onload.call(this);
|
||
|
});
|
||
|
}
|
||
|
getViewType() {
|
||
|
return VIEW_TYPE_AC;
|
||
|
}
|
||
|
getDisplayText() {
|
||
|
return "Saved Queries";
|
||
|
}
|
||
|
onOpen() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
yield this.draw();
|
||
|
});
|
||
|
}
|
||
|
onClose() {
|
||
|
return Promise.resolve();
|
||
|
}
|
||
|
draw() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
const { settings: { savedQueries }, } = this.plugin;
|
||
|
const { contentEl, app: { workspace }, plugin, } = this;
|
||
|
contentEl.empty();
|
||
|
contentEl.style.padding = "5px 5px 0px 5px";
|
||
|
const qsDiv = contentEl.createDiv();
|
||
|
savedQueries.forEach((q) => {
|
||
|
const qDiv = qsDiv.createDiv({ text: q.name, cls: "savedQ-view-q" });
|
||
|
qDiv.ariaLabel = displayRegex(q);
|
||
|
qDiv.addEventListener("contextmenu", () => {
|
||
|
const view = workspace.getActiveViewOfType(obsidian_1.MarkdownView);
|
||
|
if (view) {
|
||
|
const { editor: ed } = view;
|
||
|
plugin.selectInstance(ed, false, "All", q);
|
||
|
ed.focus();
|
||
|
}
|
||
|
});
|
||
|
qDiv.addEventListener("click", () => {
|
||
|
const view = workspace.getActiveViewOfType(obsidian_1.MarkdownView);
|
||
|
if (view) {
|
||
|
const { editor: ed } = view;
|
||
|
plugin.selectInstance(ed, false, "Next", q);
|
||
|
ed.focus();
|
||
|
}
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* src\Components\QueryModal.svelte generated by Svelte v3.35.0 */
|
||
|
|
||
|
function add_css() {
|
||
|
var style = element("style");
|
||
|
style.id = "svelte-1ow3q36-style";
|
||
|
style.textContent = "button.savedQ-nextOrPrev.svelte-1ow3q36{float:right;width:fit-content;padding:6px}";
|
||
|
append(document.head, style);
|
||
|
}
|
||
|
|
||
|
function get_each_context(ctx, list, i) {
|
||
|
const child_ctx = ctx.slice();
|
||
|
child_ctx[15] = list[i];
|
||
|
return child_ctx;
|
||
|
}
|
||
|
|
||
|
// (66:4) {#each plugin.settings.savedQueries as q}
|
||
|
function create_each_block(ctx) {
|
||
|
let li;
|
||
|
let span3;
|
||
|
let span0;
|
||
|
let t0_value = /*q*/ ctx[15].name + "";
|
||
|
let t0;
|
||
|
let t1;
|
||
|
let span1;
|
||
|
let t3;
|
||
|
let span2;
|
||
|
let t4_value = displayRegex(/*q*/ ctx[15]) + "";
|
||
|
let t4;
|
||
|
let t5;
|
||
|
let button0;
|
||
|
let t7;
|
||
|
let button1;
|
||
|
let t9;
|
||
|
let mounted;
|
||
|
let dispose;
|
||
|
|
||
|
function click_handler() {
|
||
|
return /*click_handler*/ ctx[12](/*q*/ ctx[15]);
|
||
|
}
|
||
|
|
||
|
function click_handler_1() {
|
||
|
return /*click_handler_1*/ ctx[13](/*q*/ ctx[15]);
|
||
|
}
|
||
|
|
||
|
function click_handler_2() {
|
||
|
return /*click_handler_2*/ ctx[14](/*q*/ ctx[15]);
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
c() {
|
||
|
li = element("li");
|
||
|
span3 = element("span");
|
||
|
span0 = element("span");
|
||
|
t0 = text(t0_value);
|
||
|
t1 = space();
|
||
|
span1 = element("span");
|
||
|
span1.textContent = "→";
|
||
|
t3 = space();
|
||
|
span2 = element("span");
|
||
|
t4 = text(t4_value);
|
||
|
t5 = space();
|
||
|
button0 = element("button");
|
||
|
button0.textContent = "→";
|
||
|
t7 = space();
|
||
|
button1 = element("button");
|
||
|
button1.textContent = "←";
|
||
|
t9 = space();
|
||
|
attr(span0, "class", "savedQ-name");
|
||
|
attr(span2, "class", "savedQ-query");
|
||
|
attr(button0, "aria-label", "Next");
|
||
|
attr(button0, "class", "savedQ-nextOrPrev svelte-1ow3q36");
|
||
|
attr(button1, "aria-label", "Previous");
|
||
|
attr(button1, "class", "savedQ-nextOrPrev svelte-1ow3q36");
|
||
|
attr(li, "class", "savedQ");
|
||
|
},
|
||
|
m(target, anchor) {
|
||
|
insert(target, li, anchor);
|
||
|
append(li, span3);
|
||
|
append(span3, span0);
|
||
|
append(span0, t0);
|
||
|
append(span3, t1);
|
||
|
append(span3, span1);
|
||
|
append(span3, t3);
|
||
|
append(span3, span2);
|
||
|
append(span2, t4);
|
||
|
append(li, t5);
|
||
|
append(li, button0);
|
||
|
append(li, t7);
|
||
|
append(li, button1);
|
||
|
append(li, t9);
|
||
|
|
||
|
if (!mounted) {
|
||
|
dispose = [
|
||
|
listen(span3, "click", click_handler),
|
||
|
listen(button0, "click", click_handler_1),
|
||
|
listen(button1, "click", click_handler_2)
|
||
|
];
|
||
|
|
||
|
mounted = true;
|
||
|
}
|
||
|
},
|
||
|
p(new_ctx, dirty) {
|
||
|
ctx = new_ctx;
|
||
|
if (dirty & /*plugin*/ 1 && t0_value !== (t0_value = /*q*/ ctx[15].name + "")) set_data(t0, t0_value);
|
||
|
if (dirty & /*plugin*/ 1 && t4_value !== (t4_value = displayRegex(/*q*/ ctx[15]) + "")) set_data(t4, t4_value);
|
||
|
},
|
||
|
d(detaching) {
|
||
|
if (detaching) detach(li);
|
||
|
mounted = false;
|
||
|
run_all(dispose);
|
||
|
}
|
||
|
};
|
||
|
}
|
||
|
|
||
|
function create_fragment$1(ctx) {
|
||
|
let div0;
|
||
|
let input0;
|
||
|
let t0;
|
||
|
let button;
|
||
|
let t2;
|
||
|
let input1;
|
||
|
let t3;
|
||
|
let input2;
|
||
|
let t4;
|
||
|
let label;
|
||
|
let t6;
|
||
|
let div1;
|
||
|
let ol;
|
||
|
let mounted;
|
||
|
let dispose;
|
||
|
let each_value = /*plugin*/ ctx[0].settings.savedQueries;
|
||
|
let each_blocks = [];
|
||
|
|
||
|
for (let i = 0; i < each_value.length; i += 1) {
|
||
|
each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
c() {
|
||
|
div0 = element("div");
|
||
|
input0 = element("input");
|
||
|
t0 = space();
|
||
|
button = element("button");
|
||
|
button.textContent = "Submit";
|
||
|
t2 = space();
|
||
|
input1 = element("input");
|
||
|
t3 = space();
|
||
|
input2 = element("input");
|
||
|
t4 = space();
|
||
|
label = element("label");
|
||
|
label.textContent = "Regex";
|
||
|
t6 = space();
|
||
|
div1 = element("div");
|
||
|
ol = element("ol");
|
||
|
|
||
|
for (let i = 0; i < each_blocks.length; i += 1) {
|
||
|
each_blocks[i].c();
|
||
|
}
|
||
|
|
||
|
input0.value = /*lastQ*/ ctx[4].query;
|
||
|
attr(input0, "type", "text");
|
||
|
attr(input0, "placeholder", "Search Query");
|
||
|
attr(button, "class", "AC-submit-button");
|
||
|
input1.value = /*lastQ*/ ctx[4].flags;
|
||
|
attr(input1, "type", "text");
|
||
|
attr(input1, "placeholder", "Regex flags");
|
||
|
attr(input1, "width", "10");
|
||
|
attr(input2, "type", "checkbox");
|
||
|
attr(input2, "name", "regexQ");
|
||
|
input2.checked = /*lastQ*/ ctx[4].regexQ;
|
||
|
attr(label, "for", "regexQ");
|
||
|
attr(div0, "class", "inputEls");
|
||
|
attr(div1, "class", "savedQs");
|
||
|
},
|
||
|
m(target, anchor) {
|
||
|
insert(target, div0, anchor);
|
||
|
append(div0, input0);
|
||
|
/*input0_binding*/ ctx[9](input0);
|
||
|
append(div0, t0);
|
||
|
append(div0, button);
|
||
|
append(div0, t2);
|
||
|
append(div0, input1);
|
||
|
/*input1_binding*/ ctx[10](input1);
|
||
|
append(div0, t3);
|
||
|
append(div0, input2);
|
||
|
/*input2_binding*/ ctx[11](input2);
|
||
|
append(div0, t4);
|
||
|
append(div0, label);
|
||
|
insert(target, t6, anchor);
|
||
|
insert(target, div1, anchor);
|
||
|
append(div1, ol);
|
||
|
|
||
|
for (let i = 0; i < each_blocks.length; i += 1) {
|
||
|
each_blocks[i].m(ol, null);
|
||
|
}
|
||
|
|
||
|
if (!mounted) {
|
||
|
dispose = listen(button, "click", /*clickSearch*/ ctx[5]);
|
||
|
mounted = true;
|
||
|
}
|
||
|
},
|
||
|
p(ctx, [dirty]) {
|
||
|
if (dirty & /*runSavedQ, plugin, displayRegex*/ 65) {
|
||
|
each_value = /*plugin*/ ctx[0].settings.savedQueries;
|
||
|
let i;
|
||
|
|
||
|
for (i = 0; i < each_value.length; i += 1) {
|
||
|
const child_ctx = get_each_context(ctx, each_value, i);
|
||
|
|
||
|
if (each_blocks[i]) {
|
||
|
each_blocks[i].p(child_ctx, dirty);
|
||
|
} else {
|
||
|
each_blocks[i] = create_each_block(child_ctx);
|
||
|
each_blocks[i].c();
|
||
|
each_blocks[i].m(ol, null);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
for (; i < each_blocks.length; i += 1) {
|
||
|
each_blocks[i].d(1);
|
||
|
}
|
||
|
|
||
|
each_blocks.length = each_value.length;
|
||
|
}
|
||
|
},
|
||
|
i: noop,
|
||
|
o: noop,
|
||
|
d(detaching) {
|
||
|
if (detaching) detach(div0);
|
||
|
/*input0_binding*/ ctx[9](null);
|
||
|
/*input1_binding*/ ctx[10](null);
|
||
|
/*input2_binding*/ ctx[11](null);
|
||
|
if (detaching) detach(t6);
|
||
|
if (detaching) detach(div1);
|
||
|
destroy_each(each_blocks, detaching);
|
||
|
mounted = false;
|
||
|
dispose();
|
||
|
}
|
||
|
};
|
||
|
}
|
||
|
|
||
|
function instance$1($$self, $$props, $$invalidate) {
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
let { modal } = $$props;
|
||
|
let { plugin } = $$props;
|
||
|
let { ed } = $$props;
|
||
|
const { lastQ } = plugin.settings;
|
||
|
let queryEl;
|
||
|
let flagsEl;
|
||
|
let regexQEl;
|
||
|
|
||
|
function clickSearch() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
const q = {
|
||
|
name: "",
|
||
|
query: queryEl.value,
|
||
|
flags: flagsEl.value,
|
||
|
regexQ: regexQEl.checked
|
||
|
};
|
||
|
|
||
|
modal.close();
|
||
|
plugin.selectInstance(ed, false, "All", q);
|
||
|
$$invalidate(0, plugin.settings.lastQ = q, plugin);
|
||
|
yield plugin.saveSettings();
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function runSavedQ(q, mode) {
|
||
|
plugin.selectInstance(ed, false, mode, q);
|
||
|
modal.close();
|
||
|
}
|
||
|
|
||
|
onMount(() => {
|
||
|
queryEl.focus();
|
||
|
queryEl.select();
|
||
|
});
|
||
|
|
||
|
function input0_binding($$value) {
|
||
|
binding_callbacks[$$value ? "unshift" : "push"](() => {
|
||
|
queryEl = $$value;
|
||
|
$$invalidate(1, queryEl);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function input1_binding($$value) {
|
||
|
binding_callbacks[$$value ? "unshift" : "push"](() => {
|
||
|
flagsEl = $$value;
|
||
|
$$invalidate(2, flagsEl);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function input2_binding($$value) {
|
||
|
binding_callbacks[$$value ? "unshift" : "push"](() => {
|
||
|
regexQEl = $$value;
|
||
|
$$invalidate(3, regexQEl);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
const click_handler = q => runSavedQ(q, "All");
|
||
|
const click_handler_1 = q => runSavedQ(q, "Next");
|
||
|
const click_handler_2 = q => runSavedQ(q, "Prev");
|
||
|
|
||
|
$$self.$$set = $$props => {
|
||
|
if ("modal" in $$props) $$invalidate(7, modal = $$props.modal);
|
||
|
if ("plugin" in $$props) $$invalidate(0, plugin = $$props.plugin);
|
||
|
if ("ed" in $$props) $$invalidate(8, ed = $$props.ed);
|
||
|
};
|
||
|
|
||
|
return [
|
||
|
plugin,
|
||
|
queryEl,
|
||
|
flagsEl,
|
||
|
regexQEl,
|
||
|
lastQ,
|
||
|
clickSearch,
|
||
|
runSavedQ,
|
||
|
modal,
|
||
|
ed,
|
||
|
input0_binding,
|
||
|
input1_binding,
|
||
|
input2_binding,
|
||
|
click_handler,
|
||
|
click_handler_1,
|
||
|
click_handler_2
|
||
|
];
|
||
|
}
|
||
|
|
||
|
class QueryModal extends SvelteComponent {
|
||
|
constructor(options) {
|
||
|
super();
|
||
|
if (!document.getElementById("svelte-1ow3q36-style")) add_css();
|
||
|
init(this, options, instance$1, create_fragment$1, safe_not_equal, { modal: 7, plugin: 0, ed: 8 });
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class CursorsModal extends obsidian_1.Modal {
|
||
|
constructor(app, ed, plugin) {
|
||
|
super(app);
|
||
|
this.ed = ed;
|
||
|
this.plugin = plugin;
|
||
|
}
|
||
|
onOpen() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
let { contentEl, plugin, ed } = this;
|
||
|
new QueryModal({
|
||
|
target: contentEl,
|
||
|
props: { modal: this, plugin, ed },
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
onClose() {
|
||
|
let { contentEl } = this;
|
||
|
contentEl.empty();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* src\Components\AddQComponent.svelte generated by Svelte v3.35.0 */
|
||
|
|
||
|
function create_fragment(ctx) {
|
||
|
let div0;
|
||
|
let input0;
|
||
|
let input0_value_value;
|
||
|
let t0;
|
||
|
let input1;
|
||
|
let input1_value_value;
|
||
|
let t1;
|
||
|
let input2;
|
||
|
let input2_value_value;
|
||
|
let t2;
|
||
|
let input3;
|
||
|
let input3_checked_value;
|
||
|
let t3;
|
||
|
let label;
|
||
|
let t5;
|
||
|
let div1;
|
||
|
let button;
|
||
|
let t6_value = (/*i*/ ctx[0] === -1 ? "Submit" : "Edit") + "";
|
||
|
let t6;
|
||
|
let mounted;
|
||
|
let dispose;
|
||
|
|
||
|
return {
|
||
|
c() {
|
||
|
div0 = element("div");
|
||
|
input0 = element("input");
|
||
|
t0 = space();
|
||
|
input1 = element("input");
|
||
|
t1 = space();
|
||
|
input2 = element("input");
|
||
|
t2 = space();
|
||
|
input3 = element("input");
|
||
|
t3 = space();
|
||
|
label = element("label");
|
||
|
label.textContent = "Regex";
|
||
|
t5 = space();
|
||
|
div1 = element("div");
|
||
|
button = element("button");
|
||
|
t6 = text(t6_value);
|
||
|
input0.value = input0_value_value = /*existingQ*/ ctx[1].name;
|
||
|
attr(input0, "type", "text");
|
||
|
attr(input0, "placeholder", "Name");
|
||
|
input1.value = input1_value_value = /*existingQ*/ ctx[1].query;
|
||
|
attr(input1, "type", "text");
|
||
|
attr(input1, "placeholder", "Query");
|
||
|
input2.value = input2_value_value = /*existingQ*/ ctx[1].flags;
|
||
|
attr(input2, "type", "text");
|
||
|
attr(input2, "placeholder", "Regex Flags");
|
||
|
input3.checked = input3_checked_value = /*existingQ*/ ctx[1].regexQ;
|
||
|
attr(input3, "type", "checkbox");
|
||
|
attr(input3, "name", "regexQ");
|
||
|
attr(label, "for", "regexQ");
|
||
|
attr(button, "class", "AC-submit-button");
|
||
|
},
|
||
|
m(target, anchor) {
|
||
|
insert(target, div0, anchor);
|
||
|
append(div0, input0);
|
||
|
/*input0_binding*/ ctx[11](input0);
|
||
|
append(div0, t0);
|
||
|
append(div0, input1);
|
||
|
/*input1_binding*/ ctx[12](input1);
|
||
|
append(div0, t1);
|
||
|
append(div0, input2);
|
||
|
/*input2_binding*/ ctx[13](input2);
|
||
|
append(div0, t2);
|
||
|
append(div0, input3);
|
||
|
/*input3_binding*/ ctx[14](input3);
|
||
|
append(div0, t3);
|
||
|
append(div0, label);
|
||
|
insert(target, t5, anchor);
|
||
|
insert(target, div1, anchor);
|
||
|
append(div1, button);
|
||
|
append(button, t6);
|
||
|
|
||
|
if (!mounted) {
|
||
|
dispose = listen(button, "click", /*click_handler*/ ctx[15]);
|
||
|
mounted = true;
|
||
|
}
|
||
|
},
|
||
|
p(ctx, [dirty]) {
|
||
|
if (dirty & /*existingQ*/ 2 && input0_value_value !== (input0_value_value = /*existingQ*/ ctx[1].name) && input0.value !== input0_value_value) {
|
||
|
input0.value = input0_value_value;
|
||
|
}
|
||
|
|
||
|
if (dirty & /*existingQ*/ 2 && input1_value_value !== (input1_value_value = /*existingQ*/ ctx[1].query) && input1.value !== input1_value_value) {
|
||
|
input1.value = input1_value_value;
|
||
|
}
|
||
|
|
||
|
if (dirty & /*existingQ*/ 2 && input2_value_value !== (input2_value_value = /*existingQ*/ ctx[1].flags) && input2.value !== input2_value_value) {
|
||
|
input2.value = input2_value_value;
|
||
|
}
|
||
|
|
||
|
if (dirty & /*existingQ*/ 2 && input3_checked_value !== (input3_checked_value = /*existingQ*/ ctx[1].regexQ)) {
|
||
|
input3.checked = input3_checked_value;
|
||
|
}
|
||
|
|
||
|
if (dirty & /*i*/ 1 && t6_value !== (t6_value = (/*i*/ ctx[0] === -1 ? "Submit" : "Edit") + "")) set_data(t6, t6_value);
|
||
|
},
|
||
|
i: noop,
|
||
|
o: noop,
|
||
|
d(detaching) {
|
||
|
if (detaching) detach(div0);
|
||
|
/*input0_binding*/ ctx[11](null);
|
||
|
/*input1_binding*/ ctx[12](null);
|
||
|
/*input2_binding*/ ctx[13](null);
|
||
|
/*input3_binding*/ ctx[14](null);
|
||
|
if (detaching) detach(t5);
|
||
|
if (detaching) detach(div1);
|
||
|
mounted = false;
|
||
|
dispose();
|
||
|
}
|
||
|
};
|
||
|
}
|
||
|
|
||
|
function instance($$self, $$props, $$invalidate) {
|
||
|
|
||
|
|
||
|
let { app } = $$props;
|
||
|
let { plugin } = $$props;
|
||
|
let { modal } = $$props;
|
||
|
let { settingsTab } = $$props;
|
||
|
let { i } = $$props;
|
||
|
let existingQ = blankQ();
|
||
|
|
||
|
if (i > -1) {
|
||
|
existingQ = plugin.settings.savedQueries[i];
|
||
|
}
|
||
|
|
||
|
let nameEl;
|
||
|
let queryEl;
|
||
|
let regexEl;
|
||
|
let flagsEl;
|
||
|
onMount(() => nameEl.focus());
|
||
|
|
||
|
function submitOrEdit(i) {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
const name = nameEl.value;
|
||
|
const query = queryEl.value;
|
||
|
const { savedQueries } = plugin.settings;
|
||
|
|
||
|
if (name === "" || query === "") {
|
||
|
new obsidian_1.Notice("Both 'name' and 'query' must have a value.");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (i === -1 && savedQueries.findIndex(q => q.name === name) > -1) {
|
||
|
new obsidian_1.Notice(`A query with named "${name}" already exists`);
|
||
|
return;
|
||
|
} else {
|
||
|
const oldQ = savedQueries[i];
|
||
|
|
||
|
// Add new query to settings
|
||
|
const regexQ = regexEl.checked;
|
||
|
|
||
|
const flags = flagsEl.value;
|
||
|
const newQ = { name, query, regexQ, flags };
|
||
|
|
||
|
if (i > -1) {
|
||
|
removeQCmds(app, oldQ);
|
||
|
$$invalidate(7, plugin.settings.savedQueries[i] = newQ, plugin);
|
||
|
new obsidian_1.Notice(`${name} → ${query} updated.`);
|
||
|
} else {
|
||
|
plugin.settings.savedQueries.push(newQ);
|
||
|
new obsidian_1.Notice(`${name} → ${query} added.`);
|
||
|
}
|
||
|
|
||
|
yield plugin.saveSettings();
|
||
|
settingsTab.initExistingSavedQs(modal.savedQsDiv);
|
||
|
MODES.forEach(mode => plugin.addCmd(newQ, mode));
|
||
|
plugin.view.draw();
|
||
|
modal.close();
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function input0_binding($$value) {
|
||
|
binding_callbacks[$$value ? "unshift" : "push"](() => {
|
||
|
nameEl = $$value;
|
||
|
$$invalidate(2, nameEl);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function input1_binding($$value) {
|
||
|
binding_callbacks[$$value ? "unshift" : "push"](() => {
|
||
|
queryEl = $$value;
|
||
|
$$invalidate(3, queryEl);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function input2_binding($$value) {
|
||
|
binding_callbacks[$$value ? "unshift" : "push"](() => {
|
||
|
flagsEl = $$value;
|
||
|
$$invalidate(5, flagsEl);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function input3_binding($$value) {
|
||
|
binding_callbacks[$$value ? "unshift" : "push"](() => {
|
||
|
regexEl = $$value;
|
||
|
$$invalidate(4, regexEl);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
const click_handler = () => submitOrEdit(i);
|
||
|
|
||
|
$$self.$$set = $$props => {
|
||
|
if ("app" in $$props) $$invalidate(8, app = $$props.app);
|
||
|
if ("plugin" in $$props) $$invalidate(7, plugin = $$props.plugin);
|
||
|
if ("modal" in $$props) $$invalidate(9, modal = $$props.modal);
|
||
|
if ("settingsTab" in $$props) $$invalidate(10, settingsTab = $$props.settingsTab);
|
||
|
if ("i" in $$props) $$invalidate(0, i = $$props.i);
|
||
|
};
|
||
|
|
||
|
return [
|
||
|
i,
|
||
|
existingQ,
|
||
|
nameEl,
|
||
|
queryEl,
|
||
|
regexEl,
|
||
|
flagsEl,
|
||
|
submitOrEdit,
|
||
|
plugin,
|
||
|
app,
|
||
|
modal,
|
||
|
settingsTab,
|
||
|
input0_binding,
|
||
|
input1_binding,
|
||
|
input2_binding,
|
||
|
input3_binding,
|
||
|
click_handler
|
||
|
];
|
||
|
}
|
||
|
|
||
|
class AddQComponent extends SvelteComponent {
|
||
|
constructor(options) {
|
||
|
super();
|
||
|
|
||
|
init(this, options, instance, create_fragment, safe_not_equal, {
|
||
|
app: 8,
|
||
|
plugin: 7,
|
||
|
modal: 9,
|
||
|
settingsTab: 10,
|
||
|
i: 0
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class ACSettingTab extends obsidian_1.PluginSettingTab {
|
||
|
constructor(app, plugin) {
|
||
|
super(app, plugin);
|
||
|
this.initExistingSavedQs = (savedQsDiv) => {
|
||
|
savedQsDiv.empty();
|
||
|
const listEl = savedQsDiv.createEl("ol");
|
||
|
this.plugin.settings.savedQueries.forEach((savedQ, i) => {
|
||
|
const savedQLi = listEl.createEl("li", { cls: "savedQ" });
|
||
|
savedQLi.createSpan({ text: savedQ.name, cls: "savedQ-name" });
|
||
|
savedQLi.createSpan({ text: " → " });
|
||
|
savedQLi.createSpan({ text: savedQ.query });
|
||
|
savedQLi.createEl("button", {
|
||
|
text: "❌",
|
||
|
cls: "deleteQButton",
|
||
|
}, (but) => {
|
||
|
but.addEventListener("click", () => __awaiter(this, void 0, void 0, function* () {
|
||
|
savedQLi.remove();
|
||
|
yield this.removeSavedQ(i);
|
||
|
}));
|
||
|
});
|
||
|
savedQLi.createEl("button", {
|
||
|
text: "✏️",
|
||
|
cls: "editQButton",
|
||
|
}, (but) => {
|
||
|
but.addEventListener("click", () => {
|
||
|
this.editSavedQ(i);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
};
|
||
|
this.removeSavedQ = (i) => __awaiter(this, void 0, void 0, function* () {
|
||
|
try {
|
||
|
const { settings } = this.plugin;
|
||
|
const copy = [...settings.savedQueries];
|
||
|
const removedQ = copy.splice(i, 1)[0];
|
||
|
settings.savedQueries = copy;
|
||
|
yield this.plugin.saveSettings();
|
||
|
console.log({ savedQs: settings.savedQueries, removedQ });
|
||
|
this.initExistingSavedQs(this.savedQsDiv);
|
||
|
removeQCmds(this.app, removedQ);
|
||
|
this.plugin.view.draw();
|
||
|
new obsidian_1.Notice(`${displayQ(removedQ)} removed`);
|
||
|
}
|
||
|
catch (error) {
|
||
|
console.log(error);
|
||
|
new obsidian_1.Notice(`Something went wrong when deleting that query. Check the console for errors.`);
|
||
|
}
|
||
|
});
|
||
|
this.plugin = plugin;
|
||
|
}
|
||
|
editSavedQ(i) {
|
||
|
new AddQModal(this.app, this.plugin, this, this.savedQsDiv, i).open();
|
||
|
}
|
||
|
display() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
let { containerEl, plugin } = this;
|
||
|
containerEl.empty();
|
||
|
containerEl.createEl("h2", { text: "Advanced Cursors Settings" });
|
||
|
// SECTION SavedQs
|
||
|
containerEl.createEl("h3", { text: "Saved Queries" });
|
||
|
containerEl.createEl("button", { text: "Add Query" }, (but) => {
|
||
|
but.addEventListener("click", () => {
|
||
|
new AddQModal(this.app, plugin, this, this.savedQsDiv, -1).open();
|
||
|
});
|
||
|
});
|
||
|
this.savedQsDiv = containerEl.createDiv({ cls: "savedQs" });
|
||
|
this.initExistingSavedQs(this.savedQsDiv);
|
||
|
containerEl.createEl("hr");
|
||
|
new obsidian_1.Setting(containerEl)
|
||
|
.setName("Open Saved Query View on Load")
|
||
|
.addToggle((toggle) => {
|
||
|
toggle
|
||
|
.setValue(plugin.settings.openViewOnload)
|
||
|
.onChange((value) => __awaiter(this, void 0, void 0, function* () {
|
||
|
plugin.settings.openViewOnload = value;
|
||
|
yield plugin.saveSettings();
|
||
|
}));
|
||
|
});
|
||
|
new obsidian_1.Setting(containerEl)
|
||
|
.setName("Show Command Notifications")
|
||
|
.setDesc("If off, disables all notifications that are not caused by errors or changing settings.")
|
||
|
.addToggle((toggle) => {
|
||
|
toggle
|
||
|
.setValue(plugin.settings.showFunctionNotifications)
|
||
|
.onChange((value) => __awaiter(this, void 0, void 0, function* () {
|
||
|
plugin.settings.showFunctionNotifications = value;
|
||
|
yield plugin.saveSettings();
|
||
|
}));
|
||
|
});
|
||
|
// SECTION Changelog
|
||
|
dist.addRenderedMarkdownButton(this.app, plugin, containerEl, "https://raw.githubusercontent.com/SkepticMystic/advanced-cursors/master/CHANGELOG.md", true, "Changelog");
|
||
|
dist.addRenderedMarkdownButton(this.app, plugin, containerEl, "https://raw.githubusercontent.com/SkepticMystic/advanced-cursors/master/README.md", true, "Readme");
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
class AddQModal extends obsidian_1.Modal {
|
||
|
constructor(app, plugin, settingsTab, savedQsDiv, i) {
|
||
|
super(app);
|
||
|
this.plugin = plugin;
|
||
|
this.settingsTab = settingsTab;
|
||
|
this.savedQsDiv = savedQsDiv;
|
||
|
this.i = i;
|
||
|
}
|
||
|
onOpen() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
let { contentEl } = this;
|
||
|
new AddQComponent({
|
||
|
target: contentEl,
|
||
|
props: {
|
||
|
app: this.app,
|
||
|
plugin: this.plugin,
|
||
|
modal: this,
|
||
|
settingsTab: this.settingsTab,
|
||
|
i: this.i,
|
||
|
},
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
onClose() {
|
||
|
let { contentEl } = this;
|
||
|
contentEl.empty();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class ACPlugin extends obsidian_1.Plugin {
|
||
|
onload() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
console.log("Loading advanced cursors");
|
||
|
yield this.loadSettings();
|
||
|
// SECTION Commands
|
||
|
this.addCommand({
|
||
|
id: "open-regex-match-modal",
|
||
|
name: "Open Regex Match Modal",
|
||
|
editorCallback: (ed) => new CursorsModal(this.app, ed, this).open(),
|
||
|
});
|
||
|
this.settings.savedQueries.forEach((q) => {
|
||
|
MODES.forEach((mode) => this.addCmd(q, mode));
|
||
|
});
|
||
|
// SECTION Move to MODE match
|
||
|
this.addCommand({
|
||
|
id: "move-to-next-match",
|
||
|
name: "Move to next instance of current selection",
|
||
|
editorCallback: (ed) => this.selectInstance(ed, false, "Next"),
|
||
|
});
|
||
|
this.addCommand({
|
||
|
id: "move-to-previous-match",
|
||
|
name: "Move to previous instance of current selection",
|
||
|
editorCallback: (ed) => this.selectInstance(ed, false, "Prev"),
|
||
|
});
|
||
|
// !SECTION Move to MODE match
|
||
|
// SECTION Add MODE match to selections
|
||
|
this.addCommand({
|
||
|
id: "add-next-match-to-selections",
|
||
|
name: "Add next instance of current selection to selections",
|
||
|
editorCallback: (ed) => this.selectInstance(ed, true, "Next"),
|
||
|
});
|
||
|
this.addCommand({
|
||
|
id: "add-prev-match-to-selections",
|
||
|
name: "Add previous instance of current selection to selections",
|
||
|
editorCallback: (ed) => this.selectInstance(ed, true, "Prev"),
|
||
|
});
|
||
|
// !SECTION Add MODE match to selections
|
||
|
// SECTION Copy Lines
|
||
|
this.addCommand({
|
||
|
id: "copy-line-up",
|
||
|
name: "Copy Current Line Upwards",
|
||
|
editorCallback: (ed) => this.copyLineUorD(ed, "up"),
|
||
|
});
|
||
|
this.addCommand({
|
||
|
id: "copy-line-down",
|
||
|
name: "Copy Current Line Downwards",
|
||
|
editorCallback: (ed) => this.copyLineUorD(ed, "down"),
|
||
|
});
|
||
|
// !SECTION Copy Lines
|
||
|
this.addCommand({
|
||
|
id: "add-cursor-above",
|
||
|
name: "Add a cursor on the line above",
|
||
|
editorCallback: (ed) => this.addCursorUpOrDown(ed, "up"),
|
||
|
});
|
||
|
this.addCommand({
|
||
|
id: "add-cursor-below",
|
||
|
name: "Add a cursor on the line below",
|
||
|
editorCallback: (ed) => this.addCursorUpOrDown(ed, "down"),
|
||
|
});
|
||
|
this.addCommand({
|
||
|
id: "write-incrementing-i",
|
||
|
name: "Insert an incrementing value at each cursor",
|
||
|
editorCallback: (ed) => {
|
||
|
new IncrementingIModal(this.app, this, ed).open();
|
||
|
},
|
||
|
});
|
||
|
this.addCommand({
|
||
|
id: "open-savedQ-view",
|
||
|
name: "Open Saved Query View",
|
||
|
callback: () => __awaiter(this, void 0, void 0, function* () {
|
||
|
yield dist.openView(this.app, VIEW_TYPE_AC, SavedQView, this.settings.savedQViewSide);
|
||
|
}),
|
||
|
});
|
||
|
// !SECTION Commands
|
||
|
this.registerView(VIEW_TYPE_AC, (leaf) => (this.view = new SavedQView(leaf, this)));
|
||
|
this.app.workspace.onLayoutReady(() => __awaiter(this, void 0, void 0, function* () {
|
||
|
if (this.settings.openViewOnload) {
|
||
|
yield dist.openView(this.app, VIEW_TYPE_AC, SavedQView, this.settings.savedQViewSide);
|
||
|
}
|
||
|
}));
|
||
|
this.addSettingTab(new ACSettingTab(this.app, this));
|
||
|
});
|
||
|
}
|
||
|
addCmd(q, mode) {
|
||
|
this.addCommand({
|
||
|
id: cmdId(q, mode),
|
||
|
name: cmdName(q, mode),
|
||
|
editorCallback: (ed) => {
|
||
|
this.selectInstance(ed, false, mode, q);
|
||
|
},
|
||
|
});
|
||
|
}
|
||
|
linesOfSel(ed) {
|
||
|
const [from, to] = [ed.getCursor("from"), ed.getCursor("to")];
|
||
|
const [fromLine, toLine] = [from.line, to.line];
|
||
|
const lines = [];
|
||
|
for (let i = fromLine; i <= toLine; i++) {
|
||
|
lines.push(ed.getLine(i));
|
||
|
}
|
||
|
return lines;
|
||
|
}
|
||
|
scrollNicely(ed, sel) {
|
||
|
const [A, H] = [sel.anchor, sel.head];
|
||
|
const lastLine = ed.lastLine();
|
||
|
const aLine = A.line >= 1 ? A.line - 1 : A.line;
|
||
|
const hLine = H.line <= lastLine - 1 ? H.line + 1 : H.line;
|
||
|
ed.scrollIntoView({
|
||
|
from: { line: aLine, ch: A.ch },
|
||
|
to: { line: hLine, ch: H.ch },
|
||
|
});
|
||
|
}
|
||
|
copyLineUorD(ed, mode) {
|
||
|
let [cursorFrom, cursorTo] = [ed.getCursor("from"), ed.getCursor("to")];
|
||
|
const { line } = cursorTo;
|
||
|
const copyLines = this.linesOfSel(ed);
|
||
|
const lines = ed.getValue().split("\n");
|
||
|
lines.splice(line + (mode === "up" ? 0 : 1), 0, ...copyLines);
|
||
|
ed.setValue(lines.join("\n"));
|
||
|
if (mode === "down") {
|
||
|
cursorFrom.line += copyLines.length;
|
||
|
cursorTo.line += copyLines.length;
|
||
|
}
|
||
|
ed.setSelection(cursorFrom, cursorTo);
|
||
|
this.scrollNicely(ed, { anchor: cursorFrom, head: cursorTo });
|
||
|
}
|
||
|
addCursorUpOrDown(ed, mode) {
|
||
|
const sels = ed.listSelections();
|
||
|
const { ch, line } = sels[mode === "up" ? "first" : "last"]().anchor;
|
||
|
const lineTo = line + (mode === "up" ? -1 : 1);
|
||
|
const chTo = Math.min(ch, ed.getLine(lineTo).length);
|
||
|
const anchor = {
|
||
|
line: lineTo,
|
||
|
ch: chTo,
|
||
|
};
|
||
|
sels.push({ anchor, head: anchor });
|
||
|
ed.setSelections(this.reconstructSels(sels));
|
||
|
}
|
||
|
matchToSel(ed, match, offset = 0) {
|
||
|
const fromOff = match.index + offset;
|
||
|
const toOff = fromOff + match[0].length;
|
||
|
const { line: lineA, ch: chA } = ed.offsetToPos(fromOff);
|
||
|
const { line: lineH, ch: chH } = ed.offsetToPos(toOff);
|
||
|
const anchor = { ch: chA, line: lineA };
|
||
|
const head = { ch: chH, line: lineH };
|
||
|
return { anchor, head };
|
||
|
}
|
||
|
reconstructSels(sels) {
|
||
|
return sels.map((sel) => {
|
||
|
const { anchor, head } = sel;
|
||
|
return { anchor, head };
|
||
|
});
|
||
|
}
|
||
|
setSels(appendQ, ed, ...newSels) {
|
||
|
if (appendQ) {
|
||
|
const currSelections = ed.listSelections();
|
||
|
const reconSelections = this.reconstructSels([
|
||
|
...currSelections,
|
||
|
...newSels,
|
||
|
]);
|
||
|
ed.setSelections(reconSelections);
|
||
|
}
|
||
|
else {
|
||
|
const reconSelections = this.reconstructSels([...newSels]);
|
||
|
ed.setSelections(reconSelections);
|
||
|
}
|
||
|
// FIX doesn't work with CM6, I have to create a mark decorator
|
||
|
// this.clearOldSetNewMSpan(ed, ...newSels);
|
||
|
}
|
||
|
clearOldSetNewMSpan(ed, ...newSels) {
|
||
|
const doc = ed.cm.getDoc();
|
||
|
// Clear old
|
||
|
const { lines } = doc.children[0];
|
||
|
lines.forEach((l) => {
|
||
|
var _a;
|
||
|
(_a = l === null || l === void 0 ? void 0 : l.markedSpans) === null || _a === void 0 ? void 0 : _a.forEach((mSpan) => mSpan.marker.clear());
|
||
|
});
|
||
|
// Set new
|
||
|
newSels.forEach((newSel) => {
|
||
|
let marker;
|
||
|
if (this.anchorAheadOfHead(ed, newSel)) {
|
||
|
marker = doc.markText(newSel.head, newSel.anchor, {
|
||
|
className: "AC-flashNewSel",
|
||
|
});
|
||
|
}
|
||
|
else {
|
||
|
marker = doc.markText(newSel.anchor, newSel.head, {
|
||
|
className: "AC-flashNewSel",
|
||
|
});
|
||
|
}
|
||
|
setTimeout(() => {
|
||
|
marker.clear();
|
||
|
}, 1000);
|
||
|
});
|
||
|
}
|
||
|
anchorAheadOfHead(ed, sel) {
|
||
|
return ed.posToOffset(sel.anchor) > ed.posToOffset(sel.head);
|
||
|
}
|
||
|
getToSelect(ed) {
|
||
|
var _a, _b, _c;
|
||
|
let toSelect, wordH, wordA;
|
||
|
const { anchor, head } = ed.listSelections().last();
|
||
|
// If last selection has something selected
|
||
|
if (!(anchor.line === head.line && anchor.ch === head.ch)) {
|
||
|
toSelect =
|
||
|
ed.posToOffset(anchor) < ed.posToOffset(head)
|
||
|
? ed.getRange(anchor, head)
|
||
|
: ed.getRange(head, anchor);
|
||
|
return { toSelect, wordA, wordH };
|
||
|
}
|
||
|
try {
|
||
|
const cursor = ed.getCursor();
|
||
|
if ((_a = ed.cm) === null || _a === void 0 ? void 0 : _a.findWordAt) {
|
||
|
// CM5
|
||
|
const wordRange = ed.cm.findWordAt(cursor);
|
||
|
[wordA, wordH] = [wordRange.anchor, wordRange.head];
|
||
|
toSelect = ed.getRange(wordA, wordH);
|
||
|
}
|
||
|
else if ((_b = ed.cm) === null || _b === void 0 ? void 0 : _b.viewState.state.wordAt) {
|
||
|
// CM6
|
||
|
const cursorOff = ed.posToOffset(cursor);
|
||
|
const word = ed.cm.viewState.state.wordAt(cursorOff);
|
||
|
if (word !== null) {
|
||
|
const { from, to } = (_c = ed.cm) === null || _c === void 0 ? void 0 : _c.viewState.state.wordAt(ed.posToOffset(cursor));
|
||
|
[wordA, wordH] = [ed.offsetToPos(from), ed.offsetToPos(to)];
|
||
|
toSelect = ed.getRange(wordA, wordH);
|
||
|
}
|
||
|
else {
|
||
|
const { length } = ed.getValue();
|
||
|
if (length === 0) {
|
||
|
// Empty doc
|
||
|
const start = { line: 0, ch: 0 };
|
||
|
return { toSelect: "", wordA: start, wordH: start };
|
||
|
}
|
||
|
else if (cursorOff < length) {
|
||
|
[wordA, wordH] = [cursor, ed.offsetToPos(cursorOff + 1)];
|
||
|
toSelect = ed.getRange(wordA, wordH);
|
||
|
}
|
||
|
else {
|
||
|
// cursor at end of document
|
||
|
[wordA, wordH] = [ed.offsetToPos(cursorOff - 1), cursor];
|
||
|
toSelect = ed.getRange(wordA, wordH);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
throw new Error("Cannot determine if cm5 or cm6");
|
||
|
}
|
||
|
if (this.anchorAheadOfHead(ed, { anchor: wordA, head: wordH })) {
|
||
|
return { toSelect, wordA: wordH, wordH: wordA };
|
||
|
}
|
||
|
return { toSelect, wordA, wordH };
|
||
|
}
|
||
|
catch (error) {
|
||
|
console.log(error);
|
||
|
}
|
||
|
}
|
||
|
isSelected(ed, selection) {
|
||
|
const [offA, offH] = [
|
||
|
ed.posToOffset(selection.anchor),
|
||
|
ed.posToOffset(selection.head),
|
||
|
];
|
||
|
const matchingSels = ed
|
||
|
.listSelections()
|
||
|
.filter((sel) => ed.posToOffset(sel.anchor) === offA &&
|
||
|
ed.posToOffset(sel.head) === offH);
|
||
|
return !!matchingSels.length;
|
||
|
}
|
||
|
nextNotSelected(ed, matches, fromOffset, mode) {
|
||
|
var _a, _b;
|
||
|
if (mode === "Next") {
|
||
|
return ((_a = matches.find((m) => m.index > fromOffset)) !== null && _a !== void 0 ? _a : matches.find((m) => {
|
||
|
const sel = this.matchToSel(ed, m);
|
||
|
return m.index < fromOffset && !this.isSelected(ed, sel);
|
||
|
}));
|
||
|
}
|
||
|
else if (mode === "Prev") {
|
||
|
return ((_b = matches.filter((m) => m.index < fromOffset).last()) !== null && _b !== void 0 ? _b : matches
|
||
|
.filter((m) => {
|
||
|
const sel = this.matchToSel(ed, m);
|
||
|
return m.index > fromOffset && !this.isSelected(ed, sel);
|
||
|
})
|
||
|
.last());
|
||
|
}
|
||
|
}
|
||
|
selectInstance(ed, appendQ = false, mode, existingQ) {
|
||
|
var _a;
|
||
|
let { toSelect, wordA, wordH } = this.getToSelect(ed);
|
||
|
// Set words under cursor
|
||
|
if (!ed.somethingSelected() && !existingQ) {
|
||
|
ed.setSelection(wordA, wordH);
|
||
|
return;
|
||
|
}
|
||
|
let q = existingQ !== null && existingQ !== void 0 ? existingQ : blankQ(toSelect, false);
|
||
|
let content = ed.getValue();
|
||
|
const regex = createRegex(q);
|
||
|
let matches = [...content.matchAll(regex)];
|
||
|
if (mode === "All") {
|
||
|
let offset = 0;
|
||
|
if (ed.somethingSelected()) {
|
||
|
offset = ed.posToOffset(ed.getCursor("from"));
|
||
|
const currSel = ed.getSelection();
|
||
|
matches = [...currSel.matchAll(regex)];
|
||
|
}
|
||
|
const nextSels = matches.map((m) => this.matchToSel(ed, m, offset));
|
||
|
this.setSels(appendQ, ed, ...nextSels);
|
||
|
this.settings.showFunctionNotifications &&
|
||
|
new obsidian_1.Notice(`${matches.length} matches found.`);
|
||
|
return;
|
||
|
}
|
||
|
let latestSel = mode === "Next"
|
||
|
? ed.listSelections().last()
|
||
|
: ed.listSelections().first();
|
||
|
const lastPos = latestSel[mode === "Next" ? "head" : "anchor"];
|
||
|
const fromOffset = ed.posToOffset(lastPos);
|
||
|
const match = this.nextNotSelected(ed, matches, fromOffset, mode);
|
||
|
const nextFromOffset = match === null || match === void 0 ? void 0 : match.index;
|
||
|
toSelect = (_a = match === null || match === void 0 ? void 0 : match[0]) !== null && _a !== void 0 ? _a : toSelect;
|
||
|
if (nextFromOffset !== undefined) {
|
||
|
const nextSel = this.matchToSel(ed, match);
|
||
|
this.setSels(appendQ, ed, nextSel);
|
||
|
this.scrollNicely(ed, nextSel);
|
||
|
}
|
||
|
else {
|
||
|
this.settings.showFunctionNotifications &&
|
||
|
new obsidian_1.Notice(`No instance of '${toSelect}' found anywhere in note (that isn't already selected).`);
|
||
|
}
|
||
|
}
|
||
|
writeIncrementingI(ed, start, inc) {
|
||
|
const sels = ed.listSelections();
|
||
|
sels.forEach((sel, n) => {
|
||
|
const i = roundNumber(start + n * inc).toString();
|
||
|
if (!this.anchorAheadOfHead(ed, sel)) {
|
||
|
ed.replaceRange(i, sel.anchor, sel.head);
|
||
|
}
|
||
|
else {
|
||
|
ed.replaceRange(i, sel.head, sel.anchor);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
onunload() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
yield dist.saveViewSide(this.app, this, VIEW_TYPE_AC, "savedQViewSide");
|
||
|
this.app.workspace.detachLeavesOfType(VIEW_TYPE_AC);
|
||
|
});
|
||
|
}
|
||
|
loadSettings() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData());
|
||
|
});
|
||
|
}
|
||
|
saveSettings() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
yield this.saveData(this.settings);
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = ACPlugin;
|
||
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsIm5vZGVfbW9kdWxlcy9mZWF0aGVyLWljb25zL2Rpc3QvZmVhdGhlci5qcyIsIm5vZGVfbW9kdWxlcy9vYnNpZGlhbi1jb21tdW5pdHktbGliL2Rpc3QvdXRpbHMuanMiLCJub2RlX21vZHVsZXMvb2JzaWRpYW4tY29tbXVuaXR5LWxpYi9kaXN0L2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3N2ZWx0ZS9pbnRlcm5hbC9pbmRleC5tanMiLCJzcmMvQ29tcG9uZW50cy9JbmNyZW1lbnRpbmdJQ29tcG9uZW50LnN2ZWx0ZSIsInNyYy9JbmNyZW1lbnRpbmdJTW9kYWwudHMiLCJzcmMvY29uc3QudHMiLCJzcmMvdXRpbHMudHMiLCJzcmMvU2F2ZWRRVmlldy50cyIsInNyYy9Db21wb25lbnRzL1F1ZXJ5TW9kYWwuc3ZlbHRlIiwic3JjL0N1cnNvcnNNb2RhbC50cyIsInNyYy9Db21wb25lbnRzL0FkZFFDb21wb25lbnQuc3ZlbHRlIiwic3JjL1NldHRpbmdUYWIudHMiLCJzcmMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xyXG5cclxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxyXG4gICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgaWYgKHR5cGVvZiBiICE9PSBcImZ1bmN0aW9uXCIgJiYgYiAhPT0gbnVsbClcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJ
|