Server IP : 192.158.238.246 / Your IP : 3.144.134.101 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/jenniferflocom/www/wp-content/plugins/hunk-companion/import/app/build/ |
Upload File : |
/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js": /*!***********************************************************************!*\ !*** ./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ createCache) /* harmony export */ }); /* harmony import */ var _emotion_sheet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/sheet */ "./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Tokenizer.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Utility.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Enum.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Serializer.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Middleware.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Parser.js"); /* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/weak-memoize */ "./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js"); /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/memoize */ "./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js"); var identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) { var previous = 0; var character = 0; while (true) { previous = character; character = (0,stylis__WEBPACK_IMPORTED_MODULE_3__.peek)(); // &\f if (previous === 38 && character === 12) { points[index] = 1; } if ((0,stylis__WEBPACK_IMPORTED_MODULE_3__.token)(character)) { break; } (0,stylis__WEBPACK_IMPORTED_MODULE_3__.next)(); } return (0,stylis__WEBPACK_IMPORTED_MODULE_3__.slice)(begin, stylis__WEBPACK_IMPORTED_MODULE_3__.position); }; var toRules = function toRules(parsed, points) { // pretend we've started with a comma var index = -1; var character = 44; do { switch ((0,stylis__WEBPACK_IMPORTED_MODULE_3__.token)(character)) { case 0: // &\f if (character === 38 && (0,stylis__WEBPACK_IMPORTED_MODULE_3__.peek)() === 12) { // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings // stylis inserts \f after & to know when & where it should replace this sequence with the context selector // and when it should just concatenate the outer and inner selectors // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here points[index] = 1; } parsed[index] += identifierWithPointTracking(stylis__WEBPACK_IMPORTED_MODULE_3__.position - 1, points, index); break; case 2: parsed[index] += (0,stylis__WEBPACK_IMPORTED_MODULE_3__.delimit)(character); break; case 4: // comma if (character === 44) { // colon parsed[++index] = (0,stylis__WEBPACK_IMPORTED_MODULE_3__.peek)() === 58 ? '&\f' : ''; points[index] = parsed[index].length; break; } // fallthrough default: parsed[index] += (0,stylis__WEBPACK_IMPORTED_MODULE_4__.from)(character); } } while (character = (0,stylis__WEBPACK_IMPORTED_MODULE_3__.next)()); return parsed; }; var getRules = function getRules(value, points) { return (0,stylis__WEBPACK_IMPORTED_MODULE_3__.dealloc)(toRules((0,stylis__WEBPACK_IMPORTED_MODULE_3__.alloc)(value), points)); }; // WeakSet would be more appropriate, but only WeakMap is supported in IE11 var fixedElements = /* #__PURE__ */new WeakMap(); var compat = function compat(element) { if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo // negative .length indicates that this rule has been already prefixed element.length < 1) { return; } var value = element.value, parent = element.parent; var isImplicitRule = element.column === parent.column && element.line === parent.line; while (parent.type !== 'rule') { parent = parent.parent; if (!parent) return; } // short-circuit for the simplest case if (element.props.length === 1 && value.charCodeAt(0) !== 58 /* colon */ && !fixedElements.get(parent)) { return; } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level) // then the props has already been manipulated beforehand as they that array is shared between it and its "rule parent" if (isImplicitRule) { return; } fixedElements.set(element, true); var points = []; var rules = getRules(value, points); var parentRules = parent.props; for (var i = 0, k = 0; i < rules.length; i++) { for (var j = 0; j < parentRules.length; j++, k++) { element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i]; } } }; var removeLabel = function removeLabel(element) { if (element.type === 'decl') { var value = element.value; if ( // charcode for l value.charCodeAt(0) === 108 && // charcode for b value.charCodeAt(2) === 98) { // this ignores label element["return"] = ''; element.value = ''; } } }; var ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason'; var isIgnoringComment = function isIgnoringComment(element) { return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1; }; var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) { return function (element, index, children) { if (element.type !== 'rule' || cache.compat) return; var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g); if (unsafePseudoClasses) { var isNested = !!element.parent; // in nested rules comments become children of the "auto-inserted" rule and that's always the `element.parent` // // considering this input: // .a { // .b /* comm */ {} // color: hotpink; // } // we get output corresponding to this: // .a { // & { // /* comm */ // color: hotpink; // } // .b {} // } var commentContainer = isNested ? element.parent.children : // global rule at the root level children; for (var i = commentContainer.length - 1; i >= 0; i--) { var node = commentContainer[i]; if (node.line < element.line) { break; } // it is quite weird but comments are *usually* put at `column: element.column - 1` // so we seek *from the end* for the node that is earlier than the rule's `element` and check that // this will also match inputs like this: // .a { // /* comm */ // .b {} // } // // but that is fine // // it would be the easiest to change the placement of the comment to be the first child of the rule: // .a { // .b { /* comm */ } // } // with such inputs we wouldn't have to search for the comment at all // TODO: consider changing this comment placement in the next major version if (node.column < element.column) { if (isIgnoringComment(node)) { return; } break; } } unsafePseudoClasses.forEach(function (unsafePseudoClass) { console.error("The pseudo class \"" + unsafePseudoClass + "\" is potentially unsafe when doing server-side rendering. Try changing it to \"" + unsafePseudoClass.split('-child')[0] + "-of-type\"."); }); } }; }; var isImportRule = function isImportRule(element) { return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64; }; var isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) { for (var i = index - 1; i >= 0; i--) { if (!isImportRule(children[i])) { return true; } } return false; }; // use this to remove incorrect elements from further processing // so they don't get handed to the `sheet` (or anything else) // as that could potentially lead to additional logs which in turn could be overhelming to the user var nullifyElement = function nullifyElement(element) { element.type = ''; element.value = ''; element["return"] = ''; element.children = ''; element.props = ''; }; var incorrectImportAlarm = function incorrectImportAlarm(element, index, children) { if (!isImportRule(element)) { return; } if (element.parent) { console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles."); nullifyElement(element); } else if (isPrependedWithRegularRules(index, children)) { console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."); nullifyElement(element); } }; /* eslint-disable no-fallthrough */ function prefix(value, length) { switch ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.hash)(value, length)) { // color-adjust case 5103: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + 'print-' + value + value; // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function) case 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break case 5572: case 6356: case 5844: case 3191: case 6645: case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite, case 6391: case 5879: case 5623: case 6135: case 4599: case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width) case 4215: case 6389: case 5109: case 5365: case 5621: case 3829: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + value; // appearance, user-select, transform, hyphens, text-size-adjust case 5349: case 4246: case 4810: case 6968: case 2756: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MOZ + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + value + value; // flex, flex-direction case 6828: case 4268: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + value + value; // order case 6165: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'flex-' + value + value; // align-items case 5187: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(\w+).+(:[^]+)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + 'box-$1$2' + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'flex-$1$2') + value; // align-self case 5443: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'flex-item-' + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /flex-|-self/, '') + value; // align-content case 4675: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'flex-line-pack' + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /align-content|flex-|-self/, '') + value; // flex-shrink case 5548: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, 'shrink', 'negative') + value; // flex-basis case 5292: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, 'basis', 'preferred-size') + value; // flex-grow case 6060: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + 'box-' + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, '-grow', '') + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, 'grow', 'positive') + value; // transition case 4554: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /([^-])(transform)/g, '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$2') + value; // cursor case 6187: return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)((0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)((0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(zoom-|grab)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$1'), /(image-set)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$1'), value, '') + value; // background, background-image case 5495: case 3959: return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(image-set\([^]*)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$1' + '$`$1'); // justify-content case 4968: return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)((0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(.+:)(flex-)?(.*)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + 'box-pack:$3' + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + value; // (margin|padding)-inline-(start|end) case 4095: case 3583: case 4068: case 2532: return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(.+)-inline(.+)/, stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$1$2') + value; // (min|max)?(width|height|inline-size|block-size) case 8116: case 7059: case 5753: case 5535: case 5445: case 5701: case 4933: case 4677: case 5533: case 5789: case 5021: case 4765: // stretch, max-content, min-content, fill-available if ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.strlen)(value) - 1 - length > 6) switch ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, length + 1)) { // (m)ax-content, (m)in-content case 109: // - if ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, length + 4) !== 45) break; // (f)ill-available, (f)it-content case 102: return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(.+:)(.+)-([^]+)/, '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$2-$3' + '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.MOZ + ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, length + 3) == 108 ? '$3' : '$2-$3')) + value; // (s)tretch case 115: return ~(0,stylis__WEBPACK_IMPORTED_MODULE_4__.indexof)(value, 'stretch') ? prefix((0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, 'stretch', 'fill-available'), length) + value : value; } break; // position: sticky case 4949: // (s)ticky? if ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, length + 1) !== 115) break; // display: (flex|inline-flex) case 6444: switch ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, (0,stylis__WEBPACK_IMPORTED_MODULE_4__.strlen)(value) - 3 - (~(0,stylis__WEBPACK_IMPORTED_MODULE_4__.indexof)(value, '!important') && 10))) { // stic(k)y case 107: return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, ':', ':' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT) + value; // (inline-)?fl(e)x case 101: return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + '$2$3' + '$1' + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + '$2box$3') + value; } break; // writing-mode case 5936: switch ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.charat)(value, length + 11)) { // vertical-l(r) case 114: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /[svh]\w+-[tblr]{2}/, 'tb') + value; // vertical-r(l) case 108: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /[svh]\w+-[tblr]{2}/, 'tb-rl') + value; // horizontal(-)tb case 45: return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /[svh]\w+-[tblr]{2}/, 'lr') + value; } return stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + value + stylis__WEBPACK_IMPORTED_MODULE_5__.MS + value + value; } return value; } var prefixer = function prefixer(element, index, children, callback) { if (element.length > -1) if (!element["return"]) switch (element.type) { case stylis__WEBPACK_IMPORTED_MODULE_5__.DECLARATION: element["return"] = prefix(element.value, element.length); break; case stylis__WEBPACK_IMPORTED_MODULE_5__.KEYFRAMES: return (0,stylis__WEBPACK_IMPORTED_MODULE_6__.serialize)([(0,stylis__WEBPACK_IMPORTED_MODULE_3__.copy)(element, { value: (0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(element.value, '@', '@' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT) })], callback); case stylis__WEBPACK_IMPORTED_MODULE_5__.RULESET: if (element.length) return (0,stylis__WEBPACK_IMPORTED_MODULE_4__.combine)(element.props, function (value) { switch ((0,stylis__WEBPACK_IMPORTED_MODULE_4__.match)(value, /(::plac\w+|:read-\w+)/)) { // :read-(only|write) case ':read-only': case ':read-write': return (0,stylis__WEBPACK_IMPORTED_MODULE_6__.serialize)([(0,stylis__WEBPACK_IMPORTED_MODULE_3__.copy)(element, { props: [(0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /:(read-\w+)/, ':' + stylis__WEBPACK_IMPORTED_MODULE_5__.MOZ + '$1')] })], callback); // :placeholder case '::placeholder': return (0,stylis__WEBPACK_IMPORTED_MODULE_6__.serialize)([(0,stylis__WEBPACK_IMPORTED_MODULE_3__.copy)(element, { props: [(0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /:(plac\w+)/, ':' + stylis__WEBPACK_IMPORTED_MODULE_5__.WEBKIT + 'input-$1')] }), (0,stylis__WEBPACK_IMPORTED_MODULE_3__.copy)(element, { props: [(0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /:(plac\w+)/, ':' + stylis__WEBPACK_IMPORTED_MODULE_5__.MOZ + '$1')] }), (0,stylis__WEBPACK_IMPORTED_MODULE_3__.copy)(element, { props: [(0,stylis__WEBPACK_IMPORTED_MODULE_4__.replace)(value, /:(plac\w+)/, stylis__WEBPACK_IMPORTED_MODULE_5__.MS + 'input-$1')] })], callback); } return ''; }); } }; var defaultStylisPlugins = [prefixer]; var createCache = function createCache(options) { var key = options.key; if ( true && !key) { throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\n" + "If multiple caches share the same key they might \"fight\" for each other's style elements."); } if (key === 'css') { var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); // get SSRed styles out of the way of React's hydration // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be) // note this very very intentionally targets all style elements regardless of the key to ensure // that creating a cache works inside of render of a React component Array.prototype.forEach.call(ssrStyles, function (node) { // we want to only move elements which have a space in the data-emotion attribute value // because that indicates that it is an Emotion 11 server-side rendered style elements // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes) // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles // will not result in the Emotion 10 styles being destroyed var dataEmotionAttribute = node.getAttribute('data-emotion'); if (dataEmotionAttribute.indexOf(' ') === -1) { return; } document.head.appendChild(node); node.setAttribute('data-s', ''); }); } var stylisPlugins = options.stylisPlugins || defaultStylisPlugins; if (true) { // $FlowFixMe if (/[^a-z-]/.test(key)) { throw new Error("Emotion key must only contain lower case alphabetical characters and - but \"" + key + "\" was passed"); } } var inserted = {}; var container; var nodesToHydrate = []; { container = options.container || document.head; Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which // means that the style elements we're looking at are only Emotion 11 server-rendered style elements document.querySelectorAll("style[data-emotion^=\"" + key + " \"]"), function (node) { var attrib = node.getAttribute("data-emotion").split(' '); // $FlowFixMe for (var i = 1; i < attrib.length; i++) { inserted[attrib[i]] = true; } nodesToHydrate.push(node); }); } var _insert; var omnipresentPlugins = [compat, removeLabel]; if (true) { omnipresentPlugins.push(createUnsafeSelectorsAlarm({ get compat() { return cache.compat; } }), incorrectImportAlarm); } { var currentSheet; var finalizingPlugins = [stylis__WEBPACK_IMPORTED_MODULE_6__.stringify, true ? function (element) { if (!element.root) { if (element["return"]) { currentSheet.insert(element["return"]); } else if (element.value && element.type !== stylis__WEBPACK_IMPORTED_MODULE_5__.COMMENT) { // insert empty rule in non-production environments // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet currentSheet.insert(element.value + "{}"); } } } : 0]; var serializer = (0,stylis__WEBPACK_IMPORTED_MODULE_7__.middleware)(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins)); var stylis = function stylis(styles) { return (0,stylis__WEBPACK_IMPORTED_MODULE_6__.serialize)((0,stylis__WEBPACK_IMPORTED_MODULE_8__.compile)(styles), serializer); }; _insert = function insert(selector, serialized, sheet, shouldCache) { currentSheet = sheet; if ( true && serialized.map !== undefined) { currentSheet = { insert: function insert(rule) { sheet.insert(rule + serialized.map); } }; } stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles); if (shouldCache) { cache.inserted[serialized.name] = true; } }; } var cache = { key: key, sheet: new _emotion_sheet__WEBPACK_IMPORTED_MODULE_0__.StyleSheet({ key: key, container: container, nonce: options.nonce, speedy: options.speedy, prepend: options.prepend, insertionPoint: options.insertionPoint }), nonce: options.nonce, inserted: inserted, registered: {}, insert: _insert }; cache.sheet.hydrate(nodesToHydrate); return cache; }; /***/ }), /***/ "./node_modules/@emotion/hash/dist/emotion-hash.esm.js": /*!*************************************************************!*\ !*** ./node_modules/@emotion/hash/dist/emotion-hash.esm.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ murmur2) /* harmony export */ }); /* eslint-disable */ // Inspired by https://github.com/garycourt/murmurhash-js // Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86 function murmur2(str) { // 'm' and 'r' are mixing constants generated offline. // They're not really 'magic', they just happen to work well. // const m = 0x5bd1e995; // const r = 24; // Initialize the hash var h = 0; // Mix 4 bytes at a time into the hash var k, i = 0, len = str.length; for (; len >= 4; ++i, len -= 4) { k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24; k = /* Math.imul(k, m): */ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16); k ^= /* k >>> r: */ k >>> 24; h = /* Math.imul(k, m): */ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ /* Math.imul(h, m): */ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); } // Handle the last few bytes of the input array switch (len) { case 3: h ^= (str.charCodeAt(i + 2) & 0xff) << 16; case 2: h ^= (str.charCodeAt(i + 1) & 0xff) << 8; case 1: h ^= str.charCodeAt(i) & 0xff; h = /* Math.imul(h, m): */ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); } // Do a few final mixes of the hash to ensure the last few // bytes are well-incorporated. h ^= h >>> 13; h = /* Math.imul(h, m): */ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); return ((h ^ h >>> 15) >>> 0).toString(36); } /***/ }), /***/ "./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js": /*!*******************************************************************************!*\ !*** ./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ isPropValid) /* harmony export */ }); /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ "./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js"); var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) { return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 /* o */ && prop.charCodeAt(1) === 110 /* n */ && prop.charCodeAt(2) < 91; } /* Z+1 */ ); /***/ }), /***/ "./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js": /*!*******************************************************************!*\ !*** ./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ memoize) /* harmony export */ }); function memoize(fn) { var cache = Object.create(null); return function (arg) { if (cache[arg] === undefined) cache[arg] = fn(arg); return cache[arg]; }; } /***/ }), /***/ "./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js ***! \*****************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ hoistNonReactStatics) /* harmony export */ }); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0__); // this file isolates this package that is not tree-shakeable // and if this module doesn't actually contain any logic of its own // then Rollup just use 'hoist-non-react-statics' directly in other chunks var hoistNonReactStatics = (function (targetComponent, sourceComponent) { return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0___default()(targetComponent, sourceComponent); }); /***/ }), /***/ "./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js": /*!**********************************************************************************!*\ !*** ./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ C: () => (/* binding */ CacheProvider), /* harmony export */ E: () => (/* binding */ Emotion$1), /* harmony export */ T: () => (/* binding */ ThemeContext), /* harmony export */ _: () => (/* binding */ __unsafe_useEmotionCache), /* harmony export */ a: () => (/* binding */ ThemeProvider), /* harmony export */ b: () => (/* binding */ withTheme), /* harmony export */ c: () => (/* binding */ createEmotionProps), /* harmony export */ h: () => (/* binding */ hasOwnProperty), /* harmony export */ i: () => (/* binding */ isBrowser), /* harmony export */ u: () => (/* binding */ useTheme), /* harmony export */ w: () => (/* binding */ withEmotionCache) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/cache */ "./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/weak-memoize */ "./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js"); /* harmony import */ var _isolated_hnrs_dist_emotion_react_isolated_hnrs_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js */ "./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js"); /* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/utils */ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"); /* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/serialize */ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js"); /* harmony import */ var _emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/use-insertion-effect-with-fallbacks */ "./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js"); var isBrowser = "object" !== 'undefined'; var hasOwnProperty = {}.hasOwnProperty; var EmotionCacheContext = /* #__PURE__ */react__WEBPACK_IMPORTED_MODULE_0__.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case // because this module is primarily intended for the browser and node // but it's also required in react native and similar environments sometimes // and we could have a special build just for that // but this is much easier and the native packages // might use a different theme context in the future anyway typeof HTMLElement !== 'undefined' ? /* #__PURE__ */(0,_emotion_cache__WEBPACK_IMPORTED_MODULE_1__["default"])({ key: 'css' }) : null); if (true) { EmotionCacheContext.displayName = 'EmotionCacheContext'; } var CacheProvider = EmotionCacheContext.Provider; var __unsafe_useEmotionCache = function useEmotionCache() { return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(EmotionCacheContext); }; var withEmotionCache = function withEmotionCache(func) { // $FlowFixMe return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function (props, ref) { // the cache will never be null in the browser var cache = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(EmotionCacheContext); return func(props, cache, ref); }); }; if (!isBrowser) { withEmotionCache = function withEmotionCache(func) { return function (props) { var cache = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(EmotionCacheContext); if (cache === null) { // yes, we're potentially creating this on every render // it doesn't actually matter though since it's only on the server // so there will only every be a single render // that could change in the future because of suspense and etc. but for now, // this works and i don't want to optimise for a future thing that we aren't sure about cache = (0,_emotion_cache__WEBPACK_IMPORTED_MODULE_1__["default"])({ key: 'css' }); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(EmotionCacheContext.Provider, { value: cache }, func(props, cache)); } else { return func(props, cache); } }; }; } var ThemeContext = /* #__PURE__ */react__WEBPACK_IMPORTED_MODULE_0__.createContext({}); if (true) { ThemeContext.displayName = 'EmotionThemeContext'; } var useTheme = function useTheme() { return react__WEBPACK_IMPORTED_MODULE_0__.useContext(ThemeContext); }; var getTheme = function getTheme(outerTheme, theme) { if (typeof theme === 'function') { var mergedTheme = theme(outerTheme); if ( true && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) { throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!'); } return mergedTheme; } if ( true && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) { throw new Error('[ThemeProvider] Please make your theme prop a plain object'); } return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__["default"])({}, outerTheme, theme); }; var createCacheWithTheme = /* #__PURE__ */(0,_emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__["default"])(function (outerTheme) { return (0,_emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__["default"])(function (theme) { return getTheme(outerTheme, theme); }); }); var ThemeProvider = function ThemeProvider(props) { var theme = react__WEBPACK_IMPORTED_MODULE_0__.useContext(ThemeContext); if (props.theme !== theme) { theme = createCacheWithTheme(theme)(props.theme); } return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ThemeContext.Provider, { value: theme }, props.children); }; function withTheme(Component) { var componentName = Component.displayName || Component.name || 'Component'; var render = function render(props, ref) { var theme = react__WEBPACK_IMPORTED_MODULE_0__.useContext(ThemeContext); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__["default"])({ theme: theme, ref: ref }, props)); }; // $FlowFixMe var WithTheme = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(render); WithTheme.displayName = "WithTheme(" + componentName + ")"; return (0,_isolated_hnrs_dist_emotion_react_isolated_hnrs_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__["default"])(WithTheme, Component); } var getLastPart = function getLastPart(functionName) { // The match may be something like 'Object.createEmotionProps' or // 'Loader.prototype.render' var parts = functionName.split('.'); return parts[parts.length - 1]; }; var getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) { // V8 var match = /^\s+at\s+([A-Za-z0-9$.]+)\s/.exec(line); if (match) return getLastPart(match[1]); // Safari / Firefox match = /^([A-Za-z0-9$.]+)@/.exec(line); if (match) return getLastPart(match[1]); return undefined; }; var internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS // identifiers, thus we only need to replace what is a valid character for JS, // but not for CSS. var sanitizeIdentifier = function sanitizeIdentifier(identifier) { return identifier.replace(/\$/g, '-'); }; var getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) { if (!stackTrace) return undefined; var lines = stackTrace.split('\n'); for (var i = 0; i < lines.length; i++) { var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just "Error" if (!functionName) continue; // If we reach one of these, we have gone too far and should quit if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an // uppercase letter if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName); } return undefined; }; var typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__'; var labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__'; var createEmotionProps = function createEmotionProps(type, props) { if ( true && typeof props.css === 'string' && // check if there is a css declaration props.css.indexOf(':') !== -1) { throw new Error("Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`" + props.css + "`"); } var newProps = {}; for (var key in props) { if (hasOwnProperty.call(props, key)) { newProps[key] = props[key]; } } newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when // the label hasn't already been computed if ( true && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) { var label = getLabelFromStackTrace(new Error().stack); if (label) newProps[labelPropName] = label; } return newProps; }; var Insertion = function Insertion(_ref) { var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag; (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_4__.registerStyles)(cache, serialized, isStringTag); (0,_emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_6__.useInsertionEffectAlwaysWithSyncFallback)(function () { return (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_4__.insertStyles)(cache, serialized, isStringTag); }); return null; }; var Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) { var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works // not passing the registered cache to serializeStyles because it would // make certain babel optimisations not possible if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) { cssProp = cache.registered[cssProp]; } var WrappedComponent = props[typePropName]; var registeredStyles = [cssProp]; var className = ''; if (typeof props.className === 'string') { className = (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_4__.getRegisteredStyles)(cache.registered, registeredStyles, props.className); } else if (props.className != null) { className = props.className + " "; } var serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_5__.serializeStyles)(registeredStyles, undefined, react__WEBPACK_IMPORTED_MODULE_0__.useContext(ThemeContext)); if ( true && serialized.name.indexOf('-') === -1) { var labelFromStack = props[labelPropName]; if (labelFromStack) { serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_5__.serializeStyles)([serialized, 'label:' + labelFromStack + ';']); } } className += cache.key + "-" + serialized.name; var newProps = {}; for (var key in props) { if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && ( false || key !== labelPropName)) { newProps[key] = props[key]; } } newProps.ref = ref; newProps.className = className; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Insertion, { cache: cache, serialized: serialized, isStringTag: typeof WrappedComponent === 'string' }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(WrappedComponent, newProps)); }); if (true) { Emotion.displayName = 'EmotionCssPropInternal'; } var Emotion$1 = Emotion; /***/ }), /***/ "./node_modules/@emotion/react/dist/emotion-react.browser.esm.js": /*!***********************************************************************!*\ !*** ./node_modules/@emotion/react/dist/emotion-react.browser.esm.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ CacheProvider: () => (/* reexport safe */ _emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.C), /* harmony export */ ClassNames: () => (/* binding */ ClassNames), /* harmony export */ Global: () => (/* binding */ Global), /* harmony export */ ThemeContext: () => (/* reexport safe */ _emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.T), /* harmony export */ ThemeProvider: () => (/* reexport safe */ _emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.a), /* harmony export */ __unsafe_useEmotionCache: () => (/* reexport safe */ _emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__._), /* harmony export */ createElement: () => (/* binding */ jsx), /* harmony export */ css: () => (/* binding */ css), /* harmony export */ jsx: () => (/* binding */ jsx), /* harmony export */ keyframes: () => (/* binding */ keyframes), /* harmony export */ useTheme: () => (/* reexport safe */ _emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.u), /* harmony export */ withEmotionCache: () => (/* reexport safe */ _emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.w), /* harmony export */ withTheme: () => (/* reexport safe */ _emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.b) /* harmony export */ }); /* harmony import */ var _emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./emotion-element-c39617d8.browser.esm.js */ "./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/utils */ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"); /* harmony import */ var _emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/use-insertion-effect-with-fallbacks */ "./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js"); /* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/serialize */ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js"); /* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/cache */ "./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js"); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/weak-memoize */ "./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js"); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8__); var pkg = { name: "@emotion/react", version: "11.11.3", main: "dist/emotion-react.cjs.js", module: "dist/emotion-react.esm.js", browser: { "./dist/emotion-react.esm.js": "./dist/emotion-react.browser.esm.js" }, exports: { ".": { module: { worker: "./dist/emotion-react.worker.esm.js", browser: "./dist/emotion-react.browser.esm.js", "default": "./dist/emotion-react.esm.js" }, "import": "./dist/emotion-react.cjs.mjs", "default": "./dist/emotion-react.cjs.js" }, "./jsx-runtime": { module: { worker: "./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js", browser: "./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js", "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js" }, "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs", "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js" }, "./_isolated-hnrs": { module: { worker: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js", browser: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js", "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js" }, "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs", "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js" }, "./jsx-dev-runtime": { module: { worker: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js", browser: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js", "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js" }, "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs", "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js" }, "./package.json": "./package.json", "./types/css-prop": "./types/css-prop.d.ts", "./macro": { types: { "import": "./macro.d.mts", "default": "./macro.d.ts" }, "default": "./macro.js" } }, types: "types/index.d.ts", files: [ "src", "dist", "jsx-runtime", "jsx-dev-runtime", "_isolated-hnrs", "types/*.d.ts", "macro.*" ], sideEffects: false, author: "Emotion Contributors", license: "MIT", scripts: { "test:typescript": "dtslint types" }, dependencies: { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.11.0", "@emotion/cache": "^11.11.0", "@emotion/serialize": "^1.1.3", "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", "@emotion/utils": "^1.2.1", "@emotion/weak-memoize": "^0.3.1", "hoist-non-react-statics": "^3.3.1" }, peerDependencies: { react: ">=16.8.0" }, peerDependenciesMeta: { "@types/react": { optional: true } }, devDependencies: { "@definitelytyped/dtslint": "0.0.112", "@emotion/css": "11.11.2", "@emotion/css-prettifier": "1.1.3", "@emotion/server": "11.11.0", "@emotion/styled": "11.11.0", "html-tag-names": "^1.1.2", react: "16.14.0", "svg-tag-names": "^1.1.1", typescript: "^4.5.5" }, repository: "https://github.com/emotion-js/emotion/tree/main/packages/react", publishConfig: { access: "public" }, "umd:main": "dist/emotion-react.umd.min.js", preconstruct: { entrypoints: [ "./index.js", "./jsx-runtime.js", "./jsx-dev-runtime.js", "./_isolated-hnrs.js" ], umdName: "emotionReact", exports: { envConditions: [ "browser", "worker" ], extra: { "./types/css-prop": "./types/css-prop.d.ts", "./macro": { types: { "import": "./macro.d.mts", "default": "./macro.d.ts" }, "default": "./macro.js" } } } } }; var jsx = function jsx(type, props) { var args = arguments; if (props == null || !_emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.h.call(props, 'css')) { // $FlowFixMe return react__WEBPACK_IMPORTED_MODULE_1__.createElement.apply(undefined, args); } var argsLength = args.length; var createElementArgArray = new Array(argsLength); createElementArgArray[0] = _emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.E; createElementArgArray[1] = (0,_emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.c)(type, props); for (var i = 2; i < argsLength; i++) { createElementArgArray[i] = args[i]; } // $FlowFixMe return react__WEBPACK_IMPORTED_MODULE_1__.createElement.apply(null, createElementArgArray); }; var warnedAboutCssPropForGlobal = false; // maintain place over rerenders. // initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild // initial client-side render from SSR, use place of hydrating tag var Global = /* #__PURE__ */(0,_emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.w)(function (props, cache) { if ( true && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is // probably using the custom createElement which // means it will be turned into a className prop // $FlowFixMe I don't really want to add it to the type since it shouldn't be used props.className || props.css)) { console.error("It looks like you're using the css prop on Global, did you mean to use the styles prop instead?"); warnedAboutCssPropForGlobal = true; } var styles = props.styles; var serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__.serializeStyles)([styles], undefined, react__WEBPACK_IMPORTED_MODULE_1__.useContext(_emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.T)); if (!_emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.i) { var _ref; var serializedNames = serialized.name; var serializedStyles = serialized.styles; var next = serialized.next; while (next !== undefined) { serializedNames += ' ' + next.name; serializedStyles += next.styles; next = next.next; } var shouldCache = cache.compat === true; var rules = cache.insert("", { name: serializedNames, styles: serializedStyles }, cache.sheet, shouldCache); if (shouldCache) { return null; } return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement("style", (_ref = {}, _ref["data-emotion"] = cache.key + "-global " + serializedNames, _ref.dangerouslySetInnerHTML = { __html: rules }, _ref.nonce = cache.sheet.nonce, _ref)); } // yes, i know these hooks are used conditionally // but it is based on a constant that will never change at runtime // it's effectively like having two implementations and switching them out // so it's not actually breaking anything var sheetRef = react__WEBPACK_IMPORTED_MODULE_1__.useRef(); (0,_emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_3__.useInsertionEffectWithLayoutFallback)(function () { var key = cache.key + "-global"; // use case of https://github.com/emotion-js/emotion/issues/2675 var sheet = new cache.sheet.constructor({ key: key, nonce: cache.sheet.nonce, container: cache.sheet.container, speedy: cache.sheet.isSpeedy }); var rehydrating = false; // $FlowFixMe var node = document.querySelector("style[data-emotion=\"" + key + " " + serialized.name + "\"]"); if (cache.sheet.tags.length) { sheet.before = cache.sheet.tags[0]; } if (node !== null) { rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s node.setAttribute('data-emotion', key); sheet.hydrate([node]); } sheetRef.current = [sheet, rehydrating]; return function () { sheet.flush(); }; }, [cache]); (0,_emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_3__.useInsertionEffectWithLayoutFallback)(function () { var sheetRefCurrent = sheetRef.current; var sheet = sheetRefCurrent[0], rehydrating = sheetRefCurrent[1]; if (rehydrating) { sheetRefCurrent[1] = false; return; } if (serialized.next !== undefined) { // insert keyframes (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_2__.insertStyles)(cache, serialized.next, true); } if (sheet.tags.length) { // if this doesn't exist then it will be null so the style element will be appended var element = sheet.tags[sheet.tags.length - 1].nextElementSibling; sheet.before = element; sheet.flush(); } cache.insert("", serialized, sheet, false); }, [cache, serialized.name]); return null; }); if (true) { Global.displayName = 'EmotionGlobal'; } function css() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__.serializeStyles)(args); } var keyframes = function keyframes() { var insertable = css.apply(void 0, arguments); var name = "animation-" + insertable.name; // $FlowFixMe return { name: name, styles: "@keyframes " + name + "{" + insertable.styles + "}", anim: 1, toString: function toString() { return "_EMO_" + this.name + "_" + this.styles + "_EMO_"; } }; }; var classnames = function classnames(args) { var len = args.length; var i = 0; var cls = ''; for (; i < len; i++) { var arg = args[i]; if (arg == null) continue; var toAdd = void 0; switch (typeof arg) { case 'boolean': break; case 'object': { if (Array.isArray(arg)) { toAdd = classnames(arg); } else { if ( true && arg.styles !== undefined && arg.name !== undefined) { console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.'); } toAdd = ''; for (var k in arg) { if (arg[k] && k) { toAdd && (toAdd += ' '); toAdd += k; } } } break; } default: { toAdd = arg; } } if (toAdd) { cls && (cls += ' '); cls += toAdd; } } return cls; }; function merge(registered, css, className) { var registeredStyles = []; var rawClassName = (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_2__.getRegisteredStyles)(registered, registeredStyles, className); if (registeredStyles.length < 2) { return className; } return rawClassName + css(registeredStyles); } var Insertion = function Insertion(_ref) { var cache = _ref.cache, serializedArr = _ref.serializedArr; (0,_emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_3__.useInsertionEffectAlwaysWithSyncFallback)(function () { for (var i = 0; i < serializedArr.length; i++) { (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_2__.insertStyles)(cache, serializedArr[i], false); } }); return null; }; var ClassNames = /* #__PURE__ */(0,_emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.w)(function (props, cache) { var hasRendered = false; var serializedArr = []; var css = function css() { if (hasRendered && "development" !== 'production') { throw new Error('css can only be used during render'); } for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__.serializeStyles)(args, cache.registered); serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx` (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_2__.registerStyles)(cache, serialized, false); return cache.key + "-" + serialized.name; }; var cx = function cx() { if (hasRendered && "development" !== 'production') { throw new Error('cx can only be used during render'); } for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } return merge(cache.registered, css, classnames(args)); }; var content = { css: css, cx: cx, theme: react__WEBPACK_IMPORTED_MODULE_1__.useContext(_emotion_element_c39617d8_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.T) }; var ele = props.children(content); hasRendered = true; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Insertion, { cache: cache, serializedArr: serializedArr }), ele); }); if (true) { ClassNames.displayName = 'EmotionClassNames'; } if (true) { var isBrowser = "object" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined'; if (isBrowser && !isTestEnv) { // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later var globalContext = // $FlowIgnore typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef : isBrowser ? window : __webpack_require__.g; var globalKey = "__EMOTION_REACT_" + pkg.version.split('.')[0] + "__"; if (globalContext[globalKey]) { console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.'); } globalContext[globalKey] = true; } } /***/ }), /***/ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js": /*!*******************************************************************************!*\ !*** ./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ serializeStyles: () => (/* binding */ serializeStyles) /* harmony export */ }); /* harmony import */ var _emotion_hash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/hash */ "./node_modules/@emotion/hash/dist/emotion-hash.esm.js"); /* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/unitless */ "./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js"); /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/memoize */ "./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js"); var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences"; var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key)."; var hyphenateRegex = /[A-Z]|^ms/g; var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g; var isCustomProperty = function isCustomProperty(property) { return property.charCodeAt(1) === 45; }; var isProcessableValue = function isProcessableValue(value) { return value != null && typeof value !== 'boolean'; }; var processStyleName = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_2__["default"])(function (styleName) { return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase(); }); var processStyleValue = function processStyleValue(key, value) { switch (key) { case 'animation': case 'animationName': { if (typeof value === 'string') { return value.replace(animationRegex, function (match, p1, p2) { cursor = { name: p1, styles: p2, next: cursor }; return p1; }); } } } if (_emotion_unitless__WEBPACK_IMPORTED_MODULE_1__["default"][key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) { return value + 'px'; } return value; }; if (true) { var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/; var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset']; var oldProcessStyleValue = processStyleValue; var msPattern = /^-ms-/; var hyphenPattern = /-(.)/g; var hyphenatedCache = {}; processStyleValue = function processStyleValue(key, value) { if (key === 'content') { if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '"' && value.charAt(0) !== "'")) { throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\"" + value + "\"'`"); } } var processed = oldProcessStyleValue(key, value); if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) { hyphenatedCache[key] = true; console.error("Using kebab-case for css properties in objects is not supported. Did you mean " + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) { return _char.toUpperCase(); }) + "?"); } return processed; }; } var noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.'; function handleInterpolation(mergedProps, registered, interpolation) { if (interpolation == null) { return ''; } if (interpolation.__emotion_styles !== undefined) { if ( true && interpolation.toString() === 'NO_COMPONENT_SELECTOR') { throw new Error(noComponentSelectorMessage); } return interpolation; } switch (typeof interpolation) { case 'boolean': { return ''; } case 'object': { if (interpolation.anim === 1) { cursor = { name: interpolation.name, styles: interpolation.styles, next: cursor }; return interpolation.name; } if (interpolation.styles !== undefined) { var next = interpolation.next; if (next !== undefined) { // not the most efficient thing ever but this is a pretty rare case // and there will be very few iterations of this generally while (next !== undefined) { cursor = { name: next.name, styles: next.styles, next: cursor }; next = next.next; } } var styles = interpolation.styles + ";"; if ( true && interpolation.map !== undefined) { styles += interpolation.map; } return styles; } return createStringFromObject(mergedProps, registered, interpolation); } case 'function': { if (mergedProps !== undefined) { var previousCursor = cursor; var result = interpolation(mergedProps); cursor = previousCursor; return handleInterpolation(mergedProps, registered, result); } else if (true) { console.error('Functions that are interpolated in css calls will be stringified.\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\n' + 'It can be called directly with props or interpolated in a styled call like this\n' + "let SomeComponent = styled('div')`${dynamicStyle}`"); } break; } case 'string': if (true) { var matched = []; var replaced = interpolation.replace(animationRegex, function (match, p1, p2) { var fakeVarName = "animation" + matched.length; matched.push("const " + fakeVarName + " = keyframes`" + p2.replace(/^@keyframes animation-\w+/, '') + "`"); return "${" + fakeVarName + "}"; }); if (matched.length) { console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\n\n' + 'Instead of doing this:\n\n' + [].concat(matched, ["`" + replaced + "`"]).join('\n') + '\n\nYou should wrap it with `css` like this:\n\n' + ("css`" + replaced + "`")); } } break; } // finalize string values (regular strings and functions interpolated into css calls) if (registered == null) { return interpolation; } var cached = registered[interpolation]; return cached !== undefined ? cached : interpolation; } function createStringFromObject(mergedProps, registered, obj) { var string = ''; if (Array.isArray(obj)) { for (var i = 0; i < obj.length; i++) { string += handleInterpolation(mergedProps, registered, obj[i]) + ";"; } } else { for (var _key in obj) { var value = obj[_key]; if (typeof value !== 'object') { if (registered != null && registered[value] !== undefined) { string += _key + "{" + registered[value] + "}"; } else if (isProcessableValue(value)) { string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";"; } } else { if (_key === 'NO_COMPONENT_SELECTOR' && "development" !== 'production') { throw new Error(noComponentSelectorMessage); } if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) { for (var _i = 0; _i < value.length; _i++) { if (isProcessableValue(value[_i])) { string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";"; } } } else { var interpolated = handleInterpolation(mergedProps, registered, value); switch (_key) { case 'animation': case 'animationName': { string += processStyleName(_key) + ":" + interpolated + ";"; break; } default: { if ( true && _key === 'undefined') { console.error(UNDEFINED_AS_OBJECT_KEY_ERROR); } string += _key + "{" + interpolated + "}"; } } } } } } return string; } var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g; var sourceMapPattern; if (true) { sourceMapPattern = /\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g; } // this is the cursor for keyframes // keyframes are stored on the SerializedStyles object as a linked list var cursor; var serializeStyles = function serializeStyles(args, registered, mergedProps) { if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) { return args[0]; } var stringMode = true; var styles = ''; cursor = undefined; var strings = args[0]; if (strings == null || strings.raw === undefined) { stringMode = false; styles += handleInterpolation(mergedProps, registered, strings); } else { if ( true && strings[0] === undefined) { console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); } styles += strings[0]; } // we start at 1 since we've already handled the first arg for (var i = 1; i < args.length; i++) { styles += handleInterpolation(mergedProps, registered, args[i]); if (stringMode) { if ( true && strings[i] === undefined) { console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); } styles += strings[i]; } } var sourceMap; if (true) { styles = styles.replace(sourceMapPattern, function (match) { sourceMap = match; return ''; }); } // using a global regex with .exec is stateful so lastIndex has to be reset each time labelPattern.lastIndex = 0; var identifierName = ''; var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5 while ((match = labelPattern.exec(styles)) !== null) { identifierName += '-' + // $FlowFixMe we know it's not null match[1]; } var name = (0,_emotion_hash__WEBPACK_IMPORTED_MODULE_0__["default"])(styles) + identifierName; if (true) { // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it) return { name: name, styles: styles, map: sourceMap, next: cursor, toString: function toString() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } }; } return { name: name, styles: styles, next: cursor }; }; /***/ }), /***/ "./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js": /*!***********************************************************************!*\ !*** ./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ StyleSheet: () => (/* binding */ StyleSheet) /* harmony export */ }); /* Based off glamor's StyleSheet, thanks Sunil ❤️ high performance StyleSheet for css-in-js systems - uses multiple style tags behind the scenes for millions of rules - uses `insertRule` for appending in production for *much* faster performance // usage import { StyleSheet } from '@emotion/sheet' let styleSheet = new StyleSheet({ key: '', container: document.head }) styleSheet.insert('#box { border: 1px solid red; }') - appends a css rule into the stylesheet styleSheet.flush() - empties the stylesheet of all its contents */ // $FlowFixMe function sheetForTag(tag) { if (tag.sheet) { // $FlowFixMe return tag.sheet; } // this weirdness brought to you by firefox /* istanbul ignore next */ for (var i = 0; i < document.styleSheets.length; i++) { if (document.styleSheets[i].ownerNode === tag) { // $FlowFixMe return document.styleSheets[i]; } } } function createStyleElement(options) { var tag = document.createElement('style'); tag.setAttribute('data-emotion', options.key); if (options.nonce !== undefined) { tag.setAttribute('nonce', options.nonce); } tag.appendChild(document.createTextNode('')); tag.setAttribute('data-s', ''); return tag; } var StyleSheet = /*#__PURE__*/function () { // Using Node instead of HTMLElement since container may be a ShadowRoot function StyleSheet(options) { var _this = this; this._insertTag = function (tag) { var before; if (_this.tags.length === 0) { if (_this.insertionPoint) { before = _this.insertionPoint.nextSibling; } else if (_this.prepend) { before = _this.container.firstChild; } else { before = _this.before; } } else { before = _this.tags[_this.tags.length - 1].nextSibling; } _this.container.insertBefore(tag, before); _this.tags.push(tag); }; this.isSpeedy = options.speedy === undefined ? "development" === 'production' : options.speedy; this.tags = []; this.ctr = 0; this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets this.key = options.key; this.container = options.container; this.prepend = options.prepend; this.insertionPoint = options.insertionPoint; this.before = null; } var _proto = StyleSheet.prototype; _proto.hydrate = function hydrate(nodes) { nodes.forEach(this._insertTag); }; _proto.insert = function insert(rule) { // the max length is how many rules we have per style tag, it's 65000 in speedy mode // it's 1 in dev because we insert source maps that map a single rule to a location // and you can only have one source map per style tag if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) { this._insertTag(createStyleElement(this)); } var tag = this.tags[this.tags.length - 1]; if (true) { var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105; if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) { // this would only cause problem in speedy mode // but we don't want enabling speedy to affect the observable behavior // so we report this error at all times console.error("You're attempting to insert the following rule:\n" + rule + '\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.'); } this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule; } if (this.isSpeedy) { var sheet = sheetForTag(tag); try { // this is the ultrafast version, works across browsers // the big drawback is that the css won't be editable in devtools sheet.insertRule(rule, sheet.cssRules.length); } catch (e) { if ( true && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) { console.error("There was a problem inserting the following rule: \"" + rule + "\"", e); } } } else { tag.appendChild(document.createTextNode(rule)); } this.ctr++; }; _proto.flush = function flush() { // $FlowFixMe this.tags.forEach(function (tag) { return tag.parentNode && tag.parentNode.removeChild(tag); }); this.tags = []; this.ctr = 0; if (true) { this._alreadyInsertedOrderInsensitiveRule = false; } }; return StyleSheet; }(); /***/ }), /***/ "./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js": /*!***********************************************************************************!*\ !*** ./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ createStyled) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/is-prop-valid */ "./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js"); /* harmony import */ var _emotion_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/react */ "./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js"); /* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/utils */ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"); /* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/serialize */ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js"); /* harmony import */ var _emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/use-insertion-effect-with-fallbacks */ "./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js"); var testOmitPropsOnStringTag = _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_2__["default"]; var testOmitPropsOnComponent = function testOmitPropsOnComponent(key) { return key !== 'theme'; }; var getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) { return typeof tag === 'string' && // 96 is one less than the char code // for "a" so this is checking that // it's a lowercase character tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent; }; var composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) { var shouldForwardProp; if (options) { var optionsShouldForwardProp = options.shouldForwardProp; shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) { return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName); } : optionsShouldForwardProp; } if (typeof shouldForwardProp !== 'function' && isReal) { shouldForwardProp = tag.__emotion_forwardProp; } return shouldForwardProp; }; var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences"; var Insertion = function Insertion(_ref) { var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag; (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_3__.registerStyles)(cache, serialized, isStringTag); (0,_emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_5__.useInsertionEffectAlwaysWithSyncFallback)(function () { return (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_3__.insertStyles)(cache, serialized, isStringTag); }); return null; }; var createStyled = function createStyled(tag, options) { if (true) { if (tag === undefined) { throw new Error('You are trying to create a styled element with an undefined component.\nYou may have forgotten to import it.'); } } var isReal = tag.__emotion_real === tag; var baseTag = isReal && tag.__emotion_base || tag; var identifierName; var targetClassName; if (options !== undefined) { identifierName = options.label; targetClassName = options.target; } var shouldForwardProp = composeShouldForwardProps(tag, options, isReal); var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag); var shouldUseAs = !defaultShouldForwardProp('as'); return function () { var args = arguments; var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : []; if (identifierName !== undefined) { styles.push("label:" + identifierName + ";"); } if (args[0] == null || args[0].raw === undefined) { styles.push.apply(styles, args); } else { if ( true && args[0][0] === undefined) { console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); } styles.push(args[0][0]); var len = args.length; var i = 1; for (; i < len; i++) { if ( true && args[0][i] === undefined) { console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); } styles.push(args[i], args[0][i]); } } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class var Styled = (0,_emotion_react__WEBPACK_IMPORTED_MODULE_6__.w)(function (props, cache, ref) { var FinalTag = shouldUseAs && props.as || baseTag; var className = ''; var classInterpolations = []; var mergedProps = props; if (props.theme == null) { mergedProps = {}; for (var key in props) { mergedProps[key] = props[key]; } mergedProps.theme = react__WEBPACK_IMPORTED_MODULE_1__.useContext(_emotion_react__WEBPACK_IMPORTED_MODULE_6__.T); } if (typeof props.className === 'string') { className = (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_3__.getRegisteredStyles)(cache.registered, classInterpolations, props.className); } else if (props.className != null) { className = props.className + " "; } var serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__.serializeStyles)(styles.concat(classInterpolations), cache.registered, mergedProps); className += cache.key + "-" + serialized.name; if (targetClassName !== undefined) { className += " " + targetClassName; } var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp; var newProps = {}; for (var _key in props) { if (shouldUseAs && _key === 'as') continue; if ( // $FlowFixMe finalShouldForwardProp(_key)) { newProps[_key] = props[_key]; } } newProps.className = className; newProps.ref = ref; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Insertion, { cache: cache, serialized: serialized, isStringTag: typeof FinalTag === 'string' }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(FinalTag, newProps)); }); Styled.displayName = identifierName !== undefined ? identifierName : "Styled(" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + ")"; Styled.defaultProps = tag.defaultProps; Styled.__emotion_real = Styled; Styled.__emotion_base = baseTag; Styled.__emotion_styles = styles; Styled.__emotion_forwardProp = shouldForwardProp; Object.defineProperty(Styled, 'toString', { value: function value() { if (targetClassName === undefined && "development" !== 'production') { return 'NO_COMPONENT_SELECTOR'; } // $FlowFixMe: coerce undefined to string return "." + targetClassName; } }); Styled.withComponent = function (nextTag, nextOptions) { return createStyled(nextTag, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, options, nextOptions, { shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true) })).apply(void 0, styles); }; return Styled; }; }; /***/ }), /***/ "./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js": /*!*************************************************************************!*\ !*** ./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ newStyled) /* harmony export */ }); /* harmony import */ var _base_dist_emotion_styled_base_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base/dist/emotion-styled-base.browser.esm.js */ "./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js"); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/is-prop-valid */ "./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js"); /* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/utils */ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"); /* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/serialize */ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js"); /* harmony import */ var _emotion_use_insertion_effect_with_fallbacks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/use-insertion-effect-with-fallbacks */ "./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js"); var tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG 'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan']; var newStyled = _base_dist_emotion_styled_base_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__["default"].bind(); tags.forEach(function (tagName) { // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type newStyled[tagName] = newStyled(tagName); }); /***/ }), /***/ "./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js": /*!*********************************************************************!*\ !*** ./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ unitlessKeys) /* harmony export */ }); var unitlessKeys = { animationIterationCount: 1, aspectRatio: 1, borderImageOutset: 1, borderImageSlice: 1, borderImageWidth: 1, boxFlex: 1, boxFlexGroup: 1, boxOrdinalGroup: 1, columnCount: 1, columns: 1, flex: 1, flexGrow: 1, flexPositive: 1, flexShrink: 1, flexNegative: 1, flexOrder: 1, gridRow: 1, gridRowEnd: 1, gridRowSpan: 1, gridRowStart: 1, gridColumn: 1, gridColumnEnd: 1, gridColumnSpan: 1, gridColumnStart: 1, msGridRow: 1, msGridRowSpan: 1, msGridColumn: 1, msGridColumnSpan: 1, fontWeight: 1, lineHeight: 1, opacity: 1, order: 1, orphans: 1, tabSize: 1, widows: 1, zIndex: 1, zoom: 1, WebkitLineClamp: 1, // SVG-related properties fillOpacity: 1, floodOpacity: 1, stopOpacity: 1, strokeDasharray: 1, strokeDashoffset: 1, strokeMiterlimit: 1, strokeOpacity: 1, strokeWidth: 1 }; /***/ }), /***/ "./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js": /*!***********************************************************************************************************************************!*\ !*** ./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js ***! \***********************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ useInsertionEffectAlwaysWithSyncFallback: () => (/* binding */ useInsertionEffectAlwaysWithSyncFallback), /* harmony export */ useInsertionEffectWithLayoutFallback: () => (/* binding */ useInsertionEffectWithLayoutFallback) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); var syncFallback = function syncFallback(create) { return create(); }; var useInsertionEffect = react__WEBPACK_IMPORTED_MODULE_0__['useInsertion' + 'Effect'] ? react__WEBPACK_IMPORTED_MODULE_0__['useInsertion' + 'Effect'] : false; var useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback; var useInsertionEffectWithLayoutFallback = useInsertionEffect || react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect; /***/ }), /***/ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js": /*!***********************************************************************!*\ !*** ./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getRegisteredStyles: () => (/* binding */ getRegisteredStyles), /* harmony export */ insertStyles: () => (/* binding */ insertStyles), /* harmony export */ registerStyles: () => (/* binding */ registerStyles) /* harmony export */ }); var isBrowser = "object" !== 'undefined'; function getRegisteredStyles(registered, registeredStyles, classNames) { var rawClassName = ''; classNames.split(' ').forEach(function (className) { if (registered[className] !== undefined) { registeredStyles.push(registered[className] + ";"); } else { rawClassName += className + " "; } }); return rawClassName; } var registerStyles = function registerStyles(cache, serialized, isStringTag) { var className = cache.key + "-" + serialized.name; if ( // we only need to add the styles to the registered cache if the // class name could be used further down // the tree but if it's a string tag, we know it won't // so we don't have to add it to registered cache. // this improves memory usage since we can avoid storing the whole style string (isStringTag === false || // we need to always store it if we're in compat mode and // in node since emotion-server relies on whether a style is in // the registered cache to know whether a style is global or not // also, note that this check will be dead code eliminated in the browser isBrowser === false ) && cache.registered[className] === undefined) { cache.registered[className] = serialized.styles; } }; var insertStyles = function insertStyles(cache, serialized, isStringTag) { registerStyles(cache, serialized, isStringTag); var className = cache.key + "-" + serialized.name; if (cache.inserted[serialized.name] === undefined) { var current = serialized; do { cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true); current = current.next; } while (current !== undefined); } }; /***/ }), /***/ "./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js": /*!*****************************************************************************!*\ !*** ./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ weakMemoize) /* harmony export */ }); var weakMemoize = function weakMemoize(func) { // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps var cache = new WeakMap(); return function (arg) { if (cache.has(arg)) { // $FlowFixMe return cache.get(arg); } var ret = func(arg); cache.set(arg, ret); return ret; }; }; /***/ }), /***/ "./node_modules/@mui/base/FocusTrap/FocusTrap.js": /*!*******************************************************!*\ !*** ./node_modules/@mui/base/FocusTrap/FocusTrap.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ FocusTrap: () => (/* binding */ FocusTrap) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useForkRef/useForkRef.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/ownerDocument/ownerDocument.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/elementAcceptingRef/elementAcceptingRef.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/exactProp/exactProp.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; /* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */ // Inspired by https://github.com/focus-trap/tabbable const candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])'].join(','); function getTabIndex(node) { const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10); if (!Number.isNaN(tabindexAttr)) { return tabindexAttr; } // Browsers do not return `tabIndex` correctly for contentEditable nodes; // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2 // so if they don't have a tabindex attribute specifically set, assume it's 0. // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM, // yet they are still part of the regular tab order; in FF, they get a default // `tabIndex` of 0; since Chrome still puts those elements in the regular tab // order, consider their tab index to be 0. if (node.contentEditable === 'true' || (node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) { return 0; } return node.tabIndex; } function isNonTabbableRadio(node) { if (node.tagName !== 'INPUT' || node.type !== 'radio') { return false; } if (!node.name) { return false; } const getRadio = selector => node.ownerDocument.querySelector(`input[type="radio"]${selector}`); let roving = getRadio(`[name="${node.name}"]:checked`); if (!roving) { roving = getRadio(`[name="${node.name}"]`); } return roving !== node; } function isNodeMatchingSelectorFocusable(node) { if (node.disabled || node.tagName === 'INPUT' && node.type === 'hidden' || isNonTabbableRadio(node)) { return false; } return true; } function defaultGetTabbable(root) { const regularTabNodes = []; const orderedTabNodes = []; Array.from(root.querySelectorAll(candidatesSelector)).forEach((node, i) => { const nodeTabIndex = getTabIndex(node); if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) { return; } if (nodeTabIndex === 0) { regularTabNodes.push(node); } else { orderedTabNodes.push({ documentOrder: i, tabIndex: nodeTabIndex, node: node }); } }); return orderedTabNodes.sort((a, b) => a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex).map(a => a.node).concat(regularTabNodes); } function defaultIsEnabled() { return true; } /** * Utility component that locks focus inside the component. * * Demos: * * - [Focus Trap](https://mui.com/base-ui/react-focus-trap/) * * API: * * - [FocusTrap API](https://mui.com/base-ui/react-focus-trap/components-api/#focus-trap) */ function FocusTrap(props) { const { children, disableAutoFocus = false, disableEnforceFocus = false, disableRestoreFocus = false, getTabbable = defaultGetTabbable, isEnabled = defaultIsEnabled, open } = props; const ignoreNextEnforceFocus = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false); const sentinelStart = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null); const sentinelEnd = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null); const nodeToRestore = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null); const reactFocusEventTarget = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null); // This variable is useful when disableAutoFocus is true. // It waits for the active element to move into the component to activate. const activated = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false); const rootRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null); // @ts-expect-error TODO upstream fix const handleRef = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_2__["default"])(children.ref, rootRef); const lastKeydown = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null); react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => { // We might render an empty child. if (!open || !rootRef.current) { return; } activated.current = !disableAutoFocus; }, [disableAutoFocus, open]); react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => { // We might render an empty child. if (!open || !rootRef.current) { return; } const doc = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_3__["default"])(rootRef.current); if (!rootRef.current.contains(doc.activeElement)) { if (!rootRef.current.hasAttribute('tabIndex')) { if (true) { console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to "-1".'].join('\n')); } rootRef.current.setAttribute('tabIndex', '-1'); } if (activated.current) { rootRef.current.focus(); } } return () => { // restoreLastFocus() if (!disableRestoreFocus) { // In IE11 it is possible for document.activeElement to be null resulting // in nodeToRestore.current being null. // Not all elements in IE11 have a focus method. // Once IE11 support is dropped the focus() call can be unconditional. if (nodeToRestore.current && nodeToRestore.current.focus) { ignoreNextEnforceFocus.current = true; nodeToRestore.current.focus(); } nodeToRestore.current = null; } }; // Missing `disableRestoreFocus` which is fine. // We don't support changing that prop on an open FocusTrap // eslint-disable-next-line react-hooks/exhaustive-deps }, [open]); react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => { // We might render an empty child. if (!open || !rootRef.current) { return; } const doc = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_3__["default"])(rootRef.current); const loopFocus = nativeEvent => { lastKeydown.current = nativeEvent; if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== 'Tab') { return; } // Make sure the next tab starts from the right place. // doc.activeElement refers to the origin. if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) { // We need to ignore the next contain as // it will try to move the focus back to the rootRef element. ignoreNextEnforceFocus.current = true; if (sentinelEnd.current) { sentinelEnd.current.focus(); } } }; const contain = () => { const rootElement = rootRef.current; // Cleanup functions are executed lazily in React 17. // Contain can be called between the component being unmounted and its cleanup function being run. if (rootElement === null) { return; } if (!doc.hasFocus() || !isEnabled() || ignoreNextEnforceFocus.current) { ignoreNextEnforceFocus.current = false; return; } // The focus is already inside if (rootElement.contains(doc.activeElement)) { return; } // The disableEnforceFocus is set and the focus is outside of the focus trap (and sentinel nodes) if (disableEnforceFocus && doc.activeElement !== sentinelStart.current && doc.activeElement !== sentinelEnd.current) { return; } // if the focus event is not coming from inside the children's react tree, reset the refs if (doc.activeElement !== reactFocusEventTarget.current) { reactFocusEventTarget.current = null; } else if (reactFocusEventTarget.current !== null) { return; } if (!activated.current) { return; } let tabbable = []; if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) { tabbable = getTabbable(rootRef.current); } // one of the sentinel nodes was focused, so move the focus // to the first/last tabbable element inside the focus trap if (tabbable.length > 0) { var _lastKeydown$current, _lastKeydown$current2; const isShiftTab = Boolean(((_lastKeydown$current = lastKeydown.current) == null ? void 0 : _lastKeydown$current.shiftKey) && ((_lastKeydown$current2 = lastKeydown.current) == null ? void 0 : _lastKeydown$current2.key) === 'Tab'); const focusNext = tabbable[0]; const focusPrevious = tabbable[tabbable.length - 1]; if (typeof focusNext !== 'string' && typeof focusPrevious !== 'string') { if (isShiftTab) { focusPrevious.focus(); } else { focusNext.focus(); } } // no tabbable elements in the trap focus or the focus was outside of the focus trap } else { rootElement.focus(); } }; doc.addEventListener('focusin', contain); doc.addEventListener('keydown', loopFocus, true); // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area. // e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=559561. // Instead, we can look if the active element was restored on the BODY element. // // The whatwg spec defines how the browser should behave but does not explicitly mention any events: // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule. const interval = setInterval(() => { if (doc.activeElement && doc.activeElement.tagName === 'BODY') { contain(); } }, 50); return () => { clearInterval(interval); doc.removeEventListener('focusin', contain); doc.removeEventListener('keydown', loopFocus, true); }; }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open, getTabbable]); const onFocus = event => { if (nodeToRestore.current === null) { nodeToRestore.current = event.relatedTarget; } activated.current = true; reactFocusEventTarget.current = event.target; const childrenPropsHandler = children.props.onFocus; if (childrenPropsHandler) { childrenPropsHandler(event); } }; const handleFocusSentinel = event => { if (nodeToRestore.current === null) { nodeToRestore.current = event.relatedTarget; } activated.current = true; }; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("div", { tabIndex: open ? 0 : -1, onFocus: handleFocusSentinel, ref: sentinelStart, "data-testid": "sentinelStart" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(children, { ref: handleRef, onFocus }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("div", { tabIndex: open ? 0 : -1, onFocus: handleFocusSentinel, ref: sentinelEnd, "data-testid": "sentinelEnd" })] }); } true ? FocusTrap.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * A single child content element. */ children: _mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"], /** * If `true`, the focus trap will not automatically shift focus to itself when it opens, and * replace it to the last focused element when it closes. * This also works correctly with any focus trap children that have the `disableAutoFocus` prop. * * Generally this should never be set to `true` as it makes the focus trap less * accessible to assistive technologies, like screen readers. * @default false */ disableAutoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool), /** * If `true`, the focus trap will not prevent focus from leaving the focus trap while open. * * Generally this should never be set to `true` as it makes the focus trap less * accessible to assistive technologies, like screen readers. * @default false */ disableEnforceFocus: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool), /** * If `true`, the focus trap will not restore focus to previously focused element once * focus trap is hidden or unmounted. * @default false */ disableRestoreFocus: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool), /** * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root. * For instance, you can provide the "tabbable" npm dependency. * @param {HTMLElement} root */ getTabbable: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func), /** * This prop extends the `open` prop. * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop. * This prop should be memoized. * It can be used to support multiple focus trap mounted at the same time. * @default function defaultIsEnabled(): boolean { * return true; * } */ isEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func), /** * If `true`, focus is locked. */ open: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool).isRequired } : 0; if (true) { // eslint-disable-next-line FocusTrap['propTypes' + ''] = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_6__["default"])(FocusTrap.propTypes); } /***/ }), /***/ "./node_modules/@mui/base/Portal/Portal.js": /*!*************************************************!*\ !*** ./node_modules/@mui/base/Portal/Portal.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Portal: () => (/* binding */ Portal) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "react-dom"); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useForkRef/useForkRef.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/setRef/setRef.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/HTMLElementType/HTMLElementType.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/exactProp/exactProp.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; function getContainer(container) { return typeof container === 'function' ? container() : container; } /** * Portals provide a first-class way to render children into a DOM node * that exists outside the DOM hierarchy of the parent component. * * Demos: * * - [Portal](https://mui.com/base-ui/react-portal/) * * API: * * - [Portal API](https://mui.com/base-ui/react-portal/components-api/#portal) */ const Portal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function Portal(props, forwardedRef) { const { children, container, disablePortal = false } = props; const [mountNode, setMountNode] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null); // @ts-expect-error TODO upstream fix const handleRef = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_3__["default"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(children) ? children.ref : null, forwardedRef); (0,_mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(() => { if (!disablePortal) { setMountNode(getContainer(container) || document.body); } }, [container, disablePortal]); (0,_mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(() => { if (mountNode && !disablePortal) { (0,_mui_utils__WEBPACK_IMPORTED_MODULE_5__["default"])(forwardedRef, mountNode); return () => { (0,_mui_utils__WEBPACK_IMPORTED_MODULE_5__["default"])(forwardedRef, null); }; } return undefined; }, [forwardedRef, mountNode, disablePortal]); if (disablePortal) { if ( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(children)) { const newProps = { ref: handleRef }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(children, newProps); } return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: children }); } return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: mountNode ? /*#__PURE__*/react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal(children, mountNode) : mountNode }); }); true ? Portal.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The children to render into the `container`. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().node), /** * An HTML element or function that returns one. * The `container` will have the portal children appended to it. * * You can also provide a callback, which is called in a React layout effect. * This lets you set the container from a ref, and also makes server-side rendering possible. * * By default, it uses the body of the top-level document object, * so it's simply `document.body` most of the time. */ container: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([_mui_utils__WEBPACK_IMPORTED_MODULE_7__["default"], (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func)]), /** * The `children` will be under the DOM hierarchy of the parent component. * @default false */ disablePortal: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool) } : 0; if (true) { // eslint-disable-next-line Portal['propTypes' + ''] = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_8__["default"])(Portal.propTypes); } /***/ }), /***/ "./node_modules/@mui/base/TextareaAutosize/TextareaAutosize.js": /*!*********************************************************************!*\ !*** ./node_modules/@mui/base/TextareaAutosize/TextareaAutosize.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ TextareaAutosize: () => (/* binding */ TextareaAutosize) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-dom */ "react-dom"); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useForkRef/useForkRef.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/ownerWindow/ownerWindow.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/debounce/debounce.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["onChange", "maxRows", "minRows", "style", "value"]; function getStyleValue(value) { return parseInt(value, 10) || 0; } const styles = { shadow: { // Visibility needed to hide the extra text area on iPads visibility: 'hidden', // Remove from the content flow position: 'absolute', // Ignore the scrollbar width overflow: 'hidden', height: 0, top: 0, left: 0, // Create a new layer, increase the isolation of the computed values transform: 'translateZ(0)' } }; function isEmpty(obj) { return obj === undefined || obj === null || Object.keys(obj).length === 0 || obj.outerHeightStyle === 0 && !obj.overflow; } /** * * Demos: * * - [Textarea Autosize](https://mui.com/base-ui/react-textarea-autosize/) * - [Textarea Autosize](https://mui.com/material-ui/react-textarea-autosize/) * * API: * * - [TextareaAutosize API](https://mui.com/base-ui/react-textarea-autosize/components-api/#textarea-autosize) */ const TextareaAutosize = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function TextareaAutosize(props, forwardedRef) { const { onChange, maxRows, minRows = 1, style, value } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); const { current: isControlled } = react__WEBPACK_IMPORTED_MODULE_2__.useRef(value != null); const inputRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const handleRef = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_5__["default"])(forwardedRef, inputRef); const shadowRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const renders = react__WEBPACK_IMPORTED_MODULE_2__.useRef(0); const [state, setState] = react__WEBPACK_IMPORTED_MODULE_2__.useState({ outerHeightStyle: 0 }); const getUpdatedState = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(() => { const input = inputRef.current; const containerWindow = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_6__["default"])(input); const computedStyle = containerWindow.getComputedStyle(input); // If input's width is shrunk and it's not visible, don't sync height. if (computedStyle.width === '0px') { return { outerHeightStyle: 0 }; } const inputShallow = shadowRef.current; inputShallow.style.width = computedStyle.width; inputShallow.value = input.value || props.placeholder || 'x'; if (inputShallow.value.slice(-1) === '\n') { // Certain fonts which overflow the line height will cause the textarea // to report a different scrollHeight depending on whether the last line // is empty. Make it non-empty to avoid this issue. inputShallow.value += ' '; } const boxSizing = computedStyle.boxSizing; const padding = getStyleValue(computedStyle.paddingBottom) + getStyleValue(computedStyle.paddingTop); const border = getStyleValue(computedStyle.borderBottomWidth) + getStyleValue(computedStyle.borderTopWidth); // The height of the inner content const innerHeight = inputShallow.scrollHeight; // Measure height of a textarea with a single row inputShallow.value = 'x'; const singleRowHeight = inputShallow.scrollHeight; // The height of the outer content let outerHeight = innerHeight; if (minRows) { outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight); } if (maxRows) { outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight); } outerHeight = Math.max(outerHeight, singleRowHeight); // Take the box sizing into account for applying this value as a style. const outerHeightStyle = outerHeight + (boxSizing === 'border-box' ? padding + border : 0); const overflow = Math.abs(outerHeight - innerHeight) <= 1; return { outerHeightStyle, overflow }; }, [maxRows, minRows, props.placeholder]); const updateState = (prevState, newState) => { const { outerHeightStyle, overflow } = newState; // Need a large enough difference to update the height. // This prevents infinite rendering loop. if (renders.current < 20 && (outerHeightStyle > 0 && Math.abs((prevState.outerHeightStyle || 0) - outerHeightStyle) > 1 || prevState.overflow !== overflow)) { renders.current += 1; return { overflow, outerHeightStyle }; } if (true) { if (renders.current === 20) { console.error(['MUI: Too many re-renders. The layout is unstable.', 'TextareaAutosize limits the number of renders to prevent an infinite loop.'].join('\n')); } } return prevState; }; const syncHeight = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(() => { const newState = getUpdatedState(); if (isEmpty(newState)) { return; } setState(prevState => updateState(prevState, newState)); }, [getUpdatedState]); (0,_mui_utils__WEBPACK_IMPORTED_MODULE_7__["default"])(() => { const syncHeightWithFlushSync = () => { const newState = getUpdatedState(); if (isEmpty(newState)) { return; } // In React 18, state updates in a ResizeObserver's callback are happening after // the paint, this leads to an infinite rendering. // // Using flushSync ensures that the states is updated before the next pain. // Related issue - https://github.com/facebook/react/issues/24331 react_dom__WEBPACK_IMPORTED_MODULE_3__.flushSync(() => { setState(prevState => updateState(prevState, newState)); }); }; const handleResize = () => { renders.current = 0; syncHeightWithFlushSync(); }; // Workaround a "ResizeObserver loop completed with undelivered notifications" error // in test. // Note that we might need to use this logic in production per https://github.com/WICG/resize-observer/issues/38 // Also see https://github.com/mui/mui-x/issues/8733 let rAF; const rAFHandleResize = () => { cancelAnimationFrame(rAF); rAF = requestAnimationFrame(() => { handleResize(); }); }; const debounceHandleResize = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_8__["default"])(handleResize); const input = inputRef.current; const containerWindow = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_6__["default"])(input); containerWindow.addEventListener('resize', debounceHandleResize); let resizeObserver; if (typeof ResizeObserver !== 'undefined') { resizeObserver = new ResizeObserver( false ? 0 : handleResize); resizeObserver.observe(input); } return () => { debounceHandleResize.clear(); cancelAnimationFrame(rAF); containerWindow.removeEventListener('resize', debounceHandleResize); if (resizeObserver) { resizeObserver.disconnect(); } }; }, [getUpdatedState]); (0,_mui_utils__WEBPACK_IMPORTED_MODULE_7__["default"])(() => { syncHeight(); }); react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { renders.current = 0; }, [value]); const handleChange = event => { renders.current = 0; if (!isControlled) { syncHeight(); } if (onChange) { onChange(event); } }; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, { children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("textarea", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ value: value, onChange: handleChange, ref: handleRef // Apply the rows prop to get a "correct" first SSR paint , rows: minRows, style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ height: state.outerHeightStyle, // Need a large enough difference to allow scrolling. // This prevents infinite rendering loop. overflow: state.overflow ? 'hidden' : undefined }, style) }, other)), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("textarea", { "aria-hidden": true, className: props.className, readOnly: true, ref: shadowRef, tabIndex: -1, style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, styles.shadow, style, { paddingTop: 0, paddingBottom: 0 }) })] }); }); true ? TextareaAutosize.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string), /** * Maximum number of rows to display. */ maxRows: prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_9___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string)]), /** * Minimum number of rows to display. * @default 1 */ minRows: prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_9___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string)]), /** * @ignore */ onChange: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func), /** * @ignore */ placeholder: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string), /** * @ignore */ style: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().object), /** * @ignore */ value: prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_9___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_9___default().string)), (prop_types__WEBPACK_IMPORTED_MODULE_9___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string)]) } : 0; /***/ }), /***/ "./node_modules/@mui/base/unstable_useModal/ModalManager.js": /*!******************************************************************!*\ !*** ./node_modules/@mui/base/unstable_useModal/ModalManager.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ModalManager: () => (/* binding */ ModalManager), /* harmony export */ ariaHidden: () => (/* binding */ ariaHidden) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/ownerDocument/ownerDocument.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/ownerWindow/ownerWindow.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/getScrollbarSize/getScrollbarSize.js"); // Is a vertical scrollbar displayed? function isOverflowing(container) { const doc = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"])(container); if (doc.body === container) { return (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__["default"])(container).innerWidth > doc.documentElement.clientWidth; } return container.scrollHeight > container.clientHeight; } function ariaHidden(element, show) { if (show) { element.setAttribute('aria-hidden', 'true'); } else { element.removeAttribute('aria-hidden'); } } function getPaddingRight(element) { return parseInt((0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__["default"])(element).getComputedStyle(element).paddingRight, 10) || 0; } function isAriaHiddenForbiddenOnElement(element) { // The forbidden HTML tags are the ones from ARIA specification that // can be children of body and can't have aria-hidden attribute. // cf. https://www.w3.org/TR/html-aria/#docconformance const forbiddenTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE', 'LINK', 'MAP', 'META', 'NOSCRIPT', 'PICTURE', 'COL', 'COLGROUP', 'PARAM', 'SLOT', 'SOURCE', 'TRACK']; const isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1; const isInputHidden = element.tagName === 'INPUT' && element.getAttribute('type') === 'hidden'; return isForbiddenTagName || isInputHidden; } function ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) { const blacklist = [mountElement, currentElement, ...elementsToExclude]; [].forEach.call(container.children, element => { const isNotExcludedElement = blacklist.indexOf(element) === -1; const isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element); if (isNotExcludedElement && isNotForbiddenElement) { ariaHidden(element, show); } }); } function findIndexOf(items, callback) { let idx = -1; items.some((item, index) => { if (callback(item)) { idx = index; return true; } return false; }); return idx; } function handleContainer(containerInfo, props) { const restoreStyle = []; const container = containerInfo.container; if (!props.disableScrollLock) { if (isOverflowing(container)) { // Compute the size before applying overflow hidden to avoid any scroll jumps. const scrollbarSize = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"])(container)); restoreStyle.push({ value: container.style.paddingRight, property: 'padding-right', el: container }); // Use computed style, here to get the real padding to add our scrollbar width. container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`; // .mui-fixed is a global helper. const fixedElements = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"])(container).querySelectorAll('.mui-fixed'); [].forEach.call(fixedElements, element => { restoreStyle.push({ value: element.style.paddingRight, property: 'padding-right', el: element }); element.style.paddingRight = `${getPaddingRight(element) + scrollbarSize}px`; }); } let scrollContainer; if (container.parentNode instanceof DocumentFragment) { scrollContainer = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"])(container).body; } else { // Support html overflow-y: auto for scroll stability between pages // https://css-tricks.com/snippets/css/force-vertical-scrollbar/ const parent = container.parentElement; const containerWindow = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__["default"])(container); scrollContainer = (parent == null ? void 0 : parent.nodeName) === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container; } // Block the scroll even if no scrollbar is visible to account for mobile keyboard // screensize shrink. restoreStyle.push({ value: scrollContainer.style.overflow, property: 'overflow', el: scrollContainer }, { value: scrollContainer.style.overflowX, property: 'overflow-x', el: scrollContainer }, { value: scrollContainer.style.overflowY, property: 'overflow-y', el: scrollContainer }); scrollContainer.style.overflow = 'hidden'; } const restore = () => { restoreStyle.forEach(({ value, el, property }) => { if (value) { el.style.setProperty(property, value); } else { el.style.removeProperty(property); } }); }; return restore; } function getHiddenSiblings(container) { const hiddenSiblings = []; [].forEach.call(container.children, element => { if (element.getAttribute('aria-hidden') === 'true') { hiddenSiblings.push(element); } }); return hiddenSiblings; } /** * @ignore - do not document. * * Proper state management for containers and the modals in those containers. * Simplified, but inspired by react-overlay's ModalManager class. * Used by the Modal to ensure proper styling of containers. */ class ModalManager { constructor() { this.containers = void 0; this.modals = void 0; this.modals = []; this.containers = []; } add(modal, container) { let modalIndex = this.modals.indexOf(modal); if (modalIndex !== -1) { return modalIndex; } modalIndex = this.modals.length; this.modals.push(modal); // If the modal we are adding is already in the DOM. if (modal.modalRef) { ariaHidden(modal.modalRef, false); } const hiddenSiblings = getHiddenSiblings(container); ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true); const containerIndex = findIndexOf(this.containers, item => item.container === container); if (containerIndex !== -1) { this.containers[containerIndex].modals.push(modal); return modalIndex; } this.containers.push({ modals: [modal], container, restore: null, hiddenSiblings }); return modalIndex; } mount(modal, props) { const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1); const containerInfo = this.containers[containerIndex]; if (!containerInfo.restore) { containerInfo.restore = handleContainer(containerInfo, props); } } remove(modal, ariaHiddenState = true) { const modalIndex = this.modals.indexOf(modal); if (modalIndex === -1) { return modalIndex; } const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1); const containerInfo = this.containers[containerIndex]; containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1); this.modals.splice(modalIndex, 1); // If that was the last modal in a container, clean up the container. if (containerInfo.modals.length === 0) { // The modal might be closed before it had the chance to be mounted in the DOM. if (containerInfo.restore) { containerInfo.restore(); } if (modal.modalRef) { // In case the modal wasn't in the DOM yet. ariaHidden(modal.modalRef, ariaHiddenState); } ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false); this.containers.splice(containerIndex, 1); } else { // Otherwise make sure the next top modal is visible to a screen reader. const nextTop = containerInfo.modals[containerInfo.modals.length - 1]; // as soon as a modal is adding its modalRef is undefined. it can't set // aria-hidden because the dom element doesn't exist either // when modal was unmounted before modalRef gets null if (nextTop.modalRef) { ariaHidden(nextTop.modalRef, false); } } return modalIndex; } isTopModal(modal) { return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal; } } /***/ }), /***/ "./node_modules/@mui/base/unstable_useModal/useModal.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/base/unstable_useModal/useModal.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ useModal: () => (/* binding */ useModal) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useForkRef/useForkRef.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/ownerDocument/ownerDocument.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useEventCallback/useEventCallback.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/createChainedFunction/createChainedFunction.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils */ "./node_modules/@mui/base/utils/extractEventHandlers.js"); /* harmony import */ var _ModalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ModalManager */ "./node_modules/@mui/base/unstable_useModal/ModalManager.js"); 'use client'; function getContainer(container) { return typeof container === 'function' ? container() : container; } function getHasTransition(children) { return children ? children.props.hasOwnProperty('in') : false; } // A modal manager used to track and manage the state of open Modals. // Modals don't open on the server so this won't conflict with concurrent requests. const defaultManager = new _ModalManager__WEBPACK_IMPORTED_MODULE_2__.ModalManager(); /** * * Demos: * * - [Modal](https://mui.com/base-ui/react-modal/#hook) * * API: * * - [useModal API](https://mui.com/base-ui/react-modal/hooks-api/#use-modal) */ function useModal(parameters) { const { container, disableEscapeKeyDown = false, disableScrollLock = false, // @ts-ignore internal logic - Base UI supports the manager as a prop too manager = defaultManager, closeAfterTransition = false, onTransitionEnter, onTransitionExited, children, onClose, open, rootRef } = parameters; // @ts-ignore internal logic const modal = react__WEBPACK_IMPORTED_MODULE_1__.useRef({}); const mountNodeRef = react__WEBPACK_IMPORTED_MODULE_1__.useRef(null); const modalRef = react__WEBPACK_IMPORTED_MODULE_1__.useRef(null); const handleRef = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_3__["default"])(modalRef, rootRef); const [exited, setExited] = react__WEBPACK_IMPORTED_MODULE_1__.useState(!open); const hasTransition = getHasTransition(children); let ariaHiddenProp = true; if (parameters['aria-hidden'] === 'false' || parameters['aria-hidden'] === false) { ariaHiddenProp = false; } const getDoc = () => (0,_mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(mountNodeRef.current); const getModal = () => { modal.current.modalRef = modalRef.current; modal.current.mount = mountNodeRef.current; return modal.current; }; const handleMounted = () => { manager.mount(getModal(), { disableScrollLock }); // Fix a bug on Chrome where the scroll isn't initially 0. if (modalRef.current) { modalRef.current.scrollTop = 0; } }; const handleOpen = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_5__["default"])(() => { const resolvedContainer = getContainer(container) || getDoc().body; manager.add(getModal(), resolvedContainer); // The element was already mounted. if (modalRef.current) { handleMounted(); } }); const isTopModal = react__WEBPACK_IMPORTED_MODULE_1__.useCallback(() => manager.isTopModal(getModal()), [manager]); const handlePortalRef = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_5__["default"])(node => { mountNodeRef.current = node; if (!node) { return; } if (open && isTopModal()) { handleMounted(); } else if (modalRef.current) { (0,_ModalManager__WEBPACK_IMPORTED_MODULE_2__.ariaHidden)(modalRef.current, ariaHiddenProp); } }); const handleClose = react__WEBPACK_IMPORTED_MODULE_1__.useCallback(() => { manager.remove(getModal(), ariaHiddenProp); }, [ariaHiddenProp, manager]); react__WEBPACK_IMPORTED_MODULE_1__.useEffect(() => { return () => { handleClose(); }; }, [handleClose]); react__WEBPACK_IMPORTED_MODULE_1__.useEffect(() => { if (open) { handleOpen(); } else if (!hasTransition || !closeAfterTransition) { handleClose(); } }, [open, handleClose, hasTransition, closeAfterTransition, handleOpen]); const createHandleKeyDown = otherHandlers => event => { var _otherHandlers$onKeyD; (_otherHandlers$onKeyD = otherHandlers.onKeyDown) == null || _otherHandlers$onKeyD.call(otherHandlers, event); // The handler doesn't take event.defaultPrevented into account: // // event.preventDefault() is meant to stop default behaviors like // clicking a checkbox to check it, hitting a button to submit a form, // and hitting left arrow to move the cursor in a text input etc. // Only special HTML elements have these default behaviors. if (event.key !== 'Escape' || event.which === 229 || // Wait until IME is settled. !isTopModal()) { return; } if (!disableEscapeKeyDown) { // Swallow the event, in case someone is listening for the escape key on the body. event.stopPropagation(); if (onClose) { onClose(event, 'escapeKeyDown'); } } }; const createHandleBackdropClick = otherHandlers => event => { var _otherHandlers$onClic; (_otherHandlers$onClic = otherHandlers.onClick) == null || _otherHandlers$onClic.call(otherHandlers, event); if (event.target !== event.currentTarget) { return; } if (onClose) { onClose(event, 'backdropClick'); } }; const getRootProps = (otherHandlers = {}) => { const propsEventHandlers = (0,_utils__WEBPACK_IMPORTED_MODULE_6__.extractEventHandlers)(parameters); // The custom event handlers shouldn't be spread on the root element delete propsEventHandlers.onTransitionEnter; delete propsEventHandlers.onTransitionExited; const externalEventHandlers = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, propsEventHandlers, otherHandlers); return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ role: 'presentation' }, externalEventHandlers, { onKeyDown: createHandleKeyDown(externalEventHandlers), ref: handleRef }); }; const getBackdropProps = (otherHandlers = {}) => { const externalEventHandlers = otherHandlers; return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ 'aria-hidden': true }, externalEventHandlers, { onClick: createHandleBackdropClick(externalEventHandlers), open }); }; const getTransitionProps = () => { const handleEnter = () => { setExited(false); if (onTransitionEnter) { onTransitionEnter(); } }; const handleExited = () => { setExited(true); if (onTransitionExited) { onTransitionExited(); } if (closeAfterTransition) { handleClose(); } }; return { onEnter: (0,_mui_utils__WEBPACK_IMPORTED_MODULE_7__["default"])(handleEnter, children == null ? void 0 : children.props.onEnter), onExited: (0,_mui_utils__WEBPACK_IMPORTED_MODULE_7__["default"])(handleExited, children == null ? void 0 : children.props.onExited) }; }; return { getRootProps, getBackdropProps, getTransitionProps, rootRef: handleRef, portalRef: handlePortalRef, isTopModal, exited, hasTransition }; } /***/ }), /***/ "./node_modules/@mui/base/utils/appendOwnerState.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/base/utils/appendOwnerState.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ appendOwnerState: () => (/* binding */ appendOwnerState) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _isHostComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isHostComponent */ "./node_modules/@mui/base/utils/isHostComponent.js"); /** * Type of the ownerState based on the type of an element it applies to. * This resolves to the provided OwnerState for React components and `undefined` for host components. * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time. */ /** * Appends the ownerState object to the props, merging with the existing one if necessary. * * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied. * @param otherProps Props of the element. * @param ownerState */ function appendOwnerState(elementType, otherProps, ownerState) { if (elementType === undefined || (0,_isHostComponent__WEBPACK_IMPORTED_MODULE_1__.isHostComponent)(elementType)) { return otherProps; } return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, otherProps, { ownerState: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, otherProps.ownerState, ownerState) }); } /***/ }), /***/ "./node_modules/@mui/base/utils/extractEventHandlers.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/base/utils/extractEventHandlers.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ extractEventHandlers: () => (/* binding */ extractEventHandlers) /* harmony export */ }); /** * Extracts event handlers from a given object. * A prop is considered an event handler if it is a function and its name starts with `on`. * * @param object An object to extract event handlers from. * @param excludeKeys An array of keys to exclude from the returned object. */ function extractEventHandlers(object, excludeKeys = []) { if (object === undefined) { return {}; } const result = {}; Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => { result[prop] = object[prop]; }); return result; } /***/ }), /***/ "./node_modules/@mui/base/utils/isHostComponent.js": /*!*********************************************************!*\ !*** ./node_modules/@mui/base/utils/isHostComponent.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ isHostComponent: () => (/* binding */ isHostComponent) /* harmony export */ }); /** * Determines if a given element is a DOM element name (i.e. not a React component). */ function isHostComponent(element) { return typeof element === 'string'; } /***/ }), /***/ "./node_modules/@mui/base/utils/mergeSlotProps.js": /*!********************************************************!*\ !*** ./node_modules/@mui/base/utils/mergeSlotProps.js ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ mergeSlotProps: () => (/* binding */ mergeSlotProps) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _extractEventHandlers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extractEventHandlers */ "./node_modules/@mui/base/utils/extractEventHandlers.js"); /* harmony import */ var _omitEventHandlers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./omitEventHandlers */ "./node_modules/@mui/base/utils/omitEventHandlers.js"); /** * Merges the slot component internal props (usually coming from a hook) * with the externally provided ones. * * The merge order is (the latter overrides the former): * 1. The internal props (specified as a getter function to work with get*Props hook result) * 2. Additional props (specified internally on a Base UI component) * 3. External props specified on the owner component. These should only be used on a root slot. * 4. External props specified in the `slotProps.*` prop. * 5. The `className` prop - combined from all the above. * @param parameters * @returns */ function mergeSlotProps(parameters) { const { getSlotProps, additionalProps, externalSlotProps, externalForwardedProps, className } = parameters; if (!getSlotProps) { // The simpler case - getSlotProps is not defined, so no internal event handlers are defined, // so we can simply merge all the props without having to worry about extracting event handlers. const joinedClasses = (0,clsx__WEBPACK_IMPORTED_MODULE_1__["default"])(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className); const mergedStyle = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style); const props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, additionalProps, externalForwardedProps, externalSlotProps); if (joinedClasses.length > 0) { props.className = joinedClasses; } if (Object.keys(mergedStyle).length > 0) { props.style = mergedStyle; } return { props, internalRef: undefined }; } // In this case, getSlotProps is responsible for calling the external event handlers. // We don't need to include them in the merged props because of this. const eventHandlers = (0,_extractEventHandlers__WEBPACK_IMPORTED_MODULE_2__.extractEventHandlers)((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, externalForwardedProps, externalSlotProps)); const componentsPropsWithoutEventHandlers = (0,_omitEventHandlers__WEBPACK_IMPORTED_MODULE_3__.omitEventHandlers)(externalSlotProps); const otherPropsWithoutEventHandlers = (0,_omitEventHandlers__WEBPACK_IMPORTED_MODULE_3__.omitEventHandlers)(externalForwardedProps); const internalSlotProps = getSlotProps(eventHandlers); // The order of classes is important here. // Emotion (that we use in libraries consuming Base UI) depends on this order // to properly override style. It requires the most important classes to be last // (see https://github.com/mui/material-ui/pull/33205) for the related discussion. const joinedClasses = (0,clsx__WEBPACK_IMPORTED_MODULE_1__["default"])(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className); const mergedStyle = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style); const props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers); if (joinedClasses.length > 0) { props.className = joinedClasses; } if (Object.keys(mergedStyle).length > 0) { props.style = mergedStyle; } return { props, internalRef: internalSlotProps.ref }; } /***/ }), /***/ "./node_modules/@mui/base/utils/omitEventHandlers.js": /*!***********************************************************!*\ !*** ./node_modules/@mui/base/utils/omitEventHandlers.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ omitEventHandlers: () => (/* binding */ omitEventHandlers) /* harmony export */ }); /** * Removes event handlers from the given object. * A field is considered an event handler if it is a function with a name beginning with `on`. * * @param object Object to remove event handlers from. * @returns Object with event handlers removed. */ function omitEventHandlers(object) { if (object === undefined) { return {}; } const result = {}; Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => { result[prop] = object[prop]; }); return result; } /***/ }), /***/ "./node_modules/@mui/base/utils/resolveComponentProps.js": /*!***************************************************************!*\ !*** ./node_modules/@mui/base/utils/resolveComponentProps.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ resolveComponentProps: () => (/* binding */ resolveComponentProps) /* harmony export */ }); /** * If `componentProps` is a function, calls it with the provided `ownerState`. * Otherwise, just returns `componentProps`. */ function resolveComponentProps(componentProps, ownerState, slotState) { if (typeof componentProps === 'function') { return componentProps(ownerState, slotState); } return componentProps; } /***/ }), /***/ "./node_modules/@mui/base/utils/useSlotProps.js": /*!******************************************************!*\ !*** ./node_modules/@mui/base/utils/useSlotProps.js ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ useSlotProps: () => (/* binding */ useSlotProps) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useForkRef/useForkRef.js"); /* harmony import */ var _appendOwnerState__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./appendOwnerState */ "./node_modules/@mui/base/utils/appendOwnerState.js"); /* harmony import */ var _mergeSlotProps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mergeSlotProps */ "./node_modules/@mui/base/utils/mergeSlotProps.js"); /* harmony import */ var _resolveComponentProps__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./resolveComponentProps */ "./node_modules/@mui/base/utils/resolveComponentProps.js"); 'use client'; const _excluded = ["elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps"]; /** * @ignore - do not document. * Builds the props to be passed into the slot of an unstyled component. * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior. * If the slot component is not a host component, it also merges in the `ownerState`. * * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component. */ function useSlotProps(parameters) { var _parameters$additiona; const { elementType, externalSlotProps, ownerState, skipResolvingSlotProps = false } = parameters, rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(parameters, _excluded); const resolvedComponentsProps = skipResolvingSlotProps ? {} : (0,_resolveComponentProps__WEBPACK_IMPORTED_MODULE_2__.resolveComponentProps)(externalSlotProps, ownerState); const { props: mergedProps, internalRef } = (0,_mergeSlotProps__WEBPACK_IMPORTED_MODULE_3__.mergeSlotProps)((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, rest, { externalSlotProps: resolvedComponentsProps })); const ref = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref); const props = (0,_appendOwnerState__WEBPACK_IMPORTED_MODULE_5__.appendOwnerState)(elementType, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, mergedProps, { ref }), ownerState); return props; } /***/ }), /***/ "./node_modules/@mui/material/Backdrop/Backdrop.js": /*!*********************************************************!*\ !*** ./node_modules/@mui/material/Backdrop/Backdrop.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _Fade__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Fade */ "./node_modules/@mui/material/Fade/Fade.js"); /* harmony import */ var _backdropClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./backdropClasses */ "./node_modules/@mui/material/Backdrop/backdropClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"]; const useUtilityClasses = ownerState => { const { classes, invisible } = ownerState; const slots = { root: ['root', invisible && 'invisible'] }; return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _backdropClasses__WEBPACK_IMPORTED_MODULE_6__.getBackdropUtilityClass, classes); }; const BackdropRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('div', { name: 'MuiBackdrop', slot: 'Root', overridesResolver: (props, styles) => { const { ownerState } = props; return [styles.root, ownerState.invisible && styles.invisible]; } })(({ ownerState }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ position: 'fixed', display: 'flex', alignItems: 'center', justifyContent: 'center', right: 0, bottom: 0, top: 0, left: 0, backgroundColor: 'rgba(0, 0, 0, 0.5)', WebkitTapHighlightColor: 'transparent' }, ownerState.invisible && { backgroundColor: 'transparent' })); const Backdrop = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Backdrop(inProps, ref) { var _slotProps$root, _ref, _slots$root; const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ props: inProps, name: 'MuiBackdrop' }); const { children, className, component = 'div', components = {}, componentsProps = {}, invisible = false, open, slotProps = {}, slots = {}, TransitionComponent = _Fade__WEBPACK_IMPORTED_MODULE_9__["default"], transitionDuration } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { component, invisible }); const classes = useUtilityClasses(ownerState); const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(TransitionComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ in: open, timeout: transitionDuration }, other, { children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(BackdropRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ "aria-hidden": true }, rootSlotProps, { as: (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : component, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className, rootSlotProps == null ? void 0 : rootSlotProps.className), ownerState: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, ownerState, rootSlotProps == null ? void 0 : rootSlotProps.ownerState), classes: classes, ref: ref, children: children })) })); }); true ? Backdrop.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType), /** * The components used for each slot inside. * * This prop is an alias for the `slots` prop. * It's recommended to use the `slots` prop instead. * * @default {} */ components: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ Root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType) }), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `slotProps` prop. * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future. * * @default {} */ componentsProps: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object) }), /** * If `true`, the backdrop is invisible. * It can be used when rendering a popover or a custom select component. * @default false */ invisible: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, the component is shown. */ open: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool).isRequired, /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future. * * @default {} */ slotProps: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object) }), /** * The components used for each slot inside. * * This prop is an alias for the `components` prop, which will be deprecated in the future. * * @default {} */ slots: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType) }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object)]), /** * The component used for the transition. * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component. * @default Fade */ TransitionComponent: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType), /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. */ transitionDuration: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().number), prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ appear: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().number), enter: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().number), exit: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().number) })]) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Backdrop); /***/ }), /***/ "./node_modules/@mui/material/Backdrop/backdropClasses.js": /*!****************************************************************!*\ !*** ./node_modules/@mui/material/Backdrop/backdropClasses.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getBackdropUtilityClass: () => (/* binding */ getBackdropUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getBackdropUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiBackdrop', slot); } const backdropClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiBackdrop', ['root', 'invisible']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (backdropClasses); /***/ }), /***/ "./node_modules/@mui/material/ButtonBase/ButtonBase.js": /*!*************************************************************!*\ !*** ./node_modules/@mui/material/ButtonBase/ButtonBase.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ButtonBaseRoot: () => (/* binding */ ButtonBaseRoot), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_14__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/refType/refType.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/elementTypeAcceptingRef/elementTypeAcceptingRef.js"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); /* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/useEventCallback */ "./node_modules/@mui/material/utils/useEventCallback.js"); /* harmony import */ var _utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/useIsFocusVisible */ "./node_modules/@mui/material/utils/useIsFocusVisible.js"); /* harmony import */ var _TouchRipple__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./TouchRipple */ "./node_modules/@mui/material/ButtonBase/TouchRipple.js"); /* harmony import */ var _buttonBaseClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./buttonBaseClasses */ "./node_modules/@mui/material/ButtonBase/buttonBaseClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type"]; const useUtilityClasses = ownerState => { const { disabled, focusVisible, focusVisibleClassName, classes } = ownerState; const slots = { root: ['root', disabled && 'disabled', focusVisible && 'focusVisible'] }; const composedClasses = (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _buttonBaseClasses__WEBPACK_IMPORTED_MODULE_6__.getButtonBaseUtilityClass, classes); if (focusVisible && focusVisibleClassName) { composedClasses.root += ` ${focusVisibleClassName}`; } return composedClasses; }; const ButtonBaseRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('button', { name: 'MuiButtonBase', slot: 'Root', overridesResolver: (props, styles) => styles.root })({ display: 'inline-flex', alignItems: 'center', justifyContent: 'center', position: 'relative', boxSizing: 'border-box', WebkitTapHighlightColor: 'transparent', backgroundColor: 'transparent', // Reset default value // We disable the focus ring for mouse, touch and keyboard users. outline: 0, border: 0, margin: 0, // Remove the margin in Safari borderRadius: 0, padding: 0, // Remove the padding in Firefox cursor: 'pointer', userSelect: 'none', verticalAlign: 'middle', MozAppearance: 'none', // Reset WebkitAppearance: 'none', // Reset textDecoration: 'none', // So we take precedent over the style of a native <a /> element. color: 'inherit', '&::-moz-focus-inner': { borderStyle: 'none' // Remove Firefox dotted outline. }, [`&.${_buttonBaseClasses__WEBPACK_IMPORTED_MODULE_6__["default"].disabled}`]: { pointerEvents: 'none', // Disable link interactions cursor: 'default' }, '@media print': { colorAdjust: 'exact' } }); /** * `ButtonBase` contains as few styles as possible. * It aims to be a simple building block for creating a button. * It contains a load of style reset and some focus/ripple logic. */ const ButtonBase = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ButtonBase(inProps, ref) { const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ props: inProps, name: 'MuiButtonBase' }); const { action, centerRipple = false, children, className, component = 'button', disabled = false, disableRipple = false, disableTouchRipple = false, focusRipple = false, LinkComponent = 'a', onBlur, onClick, onContextMenu, onDragLeave, onFocus, onFocusVisible, onKeyDown, onKeyUp, onMouseDown, onMouseLeave, onMouseUp, onTouchEnd, onTouchMove, onTouchStart, tabIndex = 0, TouchRippleProps, touchRippleRef, type } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); const buttonRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const rippleRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const handleRippleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_9__["default"])(rippleRef, touchRippleRef); const { isFocusVisibleRef, onFocus: handleFocusVisible, onBlur: handleBlurVisible, ref: focusVisibleRef } = (0,_utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_10__["default"])(); const [focusVisible, setFocusVisible] = react__WEBPACK_IMPORTED_MODULE_2__.useState(false); if (disabled && focusVisible) { setFocusVisible(false); } react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle(action, () => ({ focusVisible: () => { setFocusVisible(true); buttonRef.current.focus(); } }), []); const [mountedState, setMountedState] = react__WEBPACK_IMPORTED_MODULE_2__.useState(false); react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { setMountedState(true); }, []); const enableTouchRipple = mountedState && !disableRipple && !disabled; react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (focusVisible && focusRipple && !disableRipple && mountedState) { rippleRef.current.pulsate(); } }, [disableRipple, focusRipple, focusVisible, mountedState]); function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) { return (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_11__["default"])(event => { if (eventCallback) { eventCallback(event); } const ignore = skipRippleAction; if (!ignore && rippleRef.current) { rippleRef.current[rippleAction](event); } return true; }); } const handleMouseDown = useRippleHandler('start', onMouseDown); const handleContextMenu = useRippleHandler('stop', onContextMenu); const handleDragLeave = useRippleHandler('stop', onDragLeave); const handleMouseUp = useRippleHandler('stop', onMouseUp); const handleMouseLeave = useRippleHandler('stop', event => { if (focusVisible) { event.preventDefault(); } if (onMouseLeave) { onMouseLeave(event); } }); const handleTouchStart = useRippleHandler('start', onTouchStart); const handleTouchEnd = useRippleHandler('stop', onTouchEnd); const handleTouchMove = useRippleHandler('stop', onTouchMove); const handleBlur = useRippleHandler('stop', event => { handleBlurVisible(event); if (isFocusVisibleRef.current === false) { setFocusVisible(false); } if (onBlur) { onBlur(event); } }, false); const handleFocus = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_11__["default"])(event => { // Fix for https://github.com/facebook/react/issues/7769 if (!buttonRef.current) { buttonRef.current = event.currentTarget; } handleFocusVisible(event); if (isFocusVisibleRef.current === true) { setFocusVisible(true); if (onFocusVisible) { onFocusVisible(event); } } if (onFocus) { onFocus(event); } }); const isNonNativeButton = () => { const button = buttonRef.current; return component && component !== 'button' && !(button.tagName === 'A' && button.href); }; /** * IE11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat */ const keydownRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false); const handleKeyDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_11__["default"])(event => { // Check if key is already down to avoid repeats being counted as multiple activations if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') { keydownRef.current = true; rippleRef.current.stop(event, () => { rippleRef.current.start(event); }); } if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') { event.preventDefault(); } if (onKeyDown) { onKeyDown(event); } // Keyboard accessibility for non interactive elements if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) { event.preventDefault(); if (onClick) { onClick(event); } } }); const handleKeyUp = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_11__["default"])(event => { // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed // https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0 if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible && !event.defaultPrevented) { keydownRef.current = false; rippleRef.current.stop(event, () => { rippleRef.current.pulsate(event); }); } if (onKeyUp) { onKeyUp(event); } // Keyboard accessibility for non interactive elements if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) { onClick(event); } }); let ComponentProp = component; if (ComponentProp === 'button' && (other.href || other.to)) { ComponentProp = LinkComponent; } const buttonProps = {}; if (ComponentProp === 'button') { buttonProps.type = type === undefined ? 'button' : type; buttonProps.disabled = disabled; } else { if (!other.href && !other.to) { buttonProps.role = 'button'; } if (disabled) { buttonProps['aria-disabled'] = disabled; } } const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_9__["default"])(ref, focusVisibleRef, buttonRef); if (true) { // eslint-disable-next-line react-hooks/rules-of-hooks react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (enableTouchRipple && !rippleRef.current) { console.error(['MUI: The `component` prop provided to ButtonBase is invalid.', 'Please make sure the children prop is rendered in this custom component.'].join('\n')); } }, [enableTouchRipple]); } const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { centerRipple, component, disabled, disableRipple, disableTouchRipple, focusRipple, tabIndex, focusVisible }); const classes = useUtilityClasses(ownerState); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(ButtonBaseRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ as: ComponentProp, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), ownerState: ownerState, onBlur: handleBlur, onClick: onClick, onContextMenu: handleContextMenu, onFocus: handleFocus, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, onMouseDown: handleMouseDown, onMouseLeave: handleMouseLeave, onMouseUp: handleMouseUp, onDragLeave: handleDragLeave, onTouchEnd: handleTouchEnd, onTouchMove: handleTouchMove, onTouchStart: handleTouchStart, ref: handleRef, tabIndex: disabled ? -1 : tabIndex, type: type }, buttonProps, other, { children: [children, enableTouchRipple ? /*#__PURE__*/ /* TouchRipple is only needed client-side, x2 boost on the server. */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_TouchRipple__WEBPACK_IMPORTED_MODULE_12__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ ref: handleRippleRef, center: centerRipple }, TouchRippleProps)) : null] })); }); true ? ButtonBase.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * A ref for imperative actions. * It currently only supports `focusVisible()` action. */ action: _mui_utils__WEBPACK_IMPORTED_MODULE_13__["default"], /** * If `true`, the ripples are centered. * They won't start at the cursor interaction position. * @default false */ centerRipple: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * The content of the component. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().node), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().string), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: _mui_utils__WEBPACK_IMPORTED_MODULE_15__["default"], /** * If `true`, the component is disabled. * @default false */ disabled: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * If `true`, the ripple effect is disabled. * * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure * to highlight the element by applying separate styles with the `.Mui-focusVisible` class. * @default false */ disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * If `true`, the touch ripple effect is disabled. * @default false */ disableTouchRipple: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * If `true`, the base button will have a keyboard focus ripple. * @default false */ focusRipple: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * This prop can help identify which element has keyboard focus. * The class name will be applied when the element gains the focus through keyboard interaction. * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo). * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md). * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components * if needed. */ focusVisibleClassName: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().string), /** * @ignore */ href: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().any), /** * The component used to render a link when the `href` prop is provided. * @default 'a' */ LinkComponent: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().elementType), /** * @ignore */ onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onClick: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onContextMenu: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onDragLeave: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * Callback fired when the component is focused with a keyboard. * We trigger a `onFocus` callback too. */ onFocusVisible: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onKeyDown: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onKeyUp: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onMouseLeave: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onMouseUp: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * @ignore */ onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object)]), /** * @default 0 */ tabIndex: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().number), /** * Props applied to the `TouchRipple` element. */ TouchRippleProps: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), /** * A ref that points to the `TouchRipple` element. */ touchRippleRef: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), prop_types__WEBPACK_IMPORTED_MODULE_14___default().shape({ current: prop_types__WEBPACK_IMPORTED_MODULE_14___default().shape({ pulsate: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func).isRequired, start: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func).isRequired, stop: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func).isRequired }) })]), /** * @ignore */ type: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOf(['button', 'reset', 'submit']), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().string)]) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ButtonBase); /***/ }), /***/ "./node_modules/@mui/material/ButtonBase/Ripple.js": /*!*********************************************************!*\ !*** ./node_modules/@mui/material/ButtonBase/Ripple.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; /** * @ignore - internal component. */ function Ripple(props) { const { className, classes, pulsate = false, rippleX, rippleY, rippleSize, in: inProp, onExited, timeout } = props; const [leaving, setLeaving] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false); const rippleClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_1__["default"])(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate); const rippleStyles = { width: rippleSize, height: rippleSize, top: -(rippleSize / 2) + rippleY, left: -(rippleSize / 2) + rippleX }; const childClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_1__["default"])(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate); if (!inProp && !leaving) { setLeaving(true); } react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => { if (!inProp && onExited != null) { // react-transition-group#onExited const timeoutId = setTimeout(onExited, timeout); return () => { clearTimeout(timeoutId); }; } return undefined; }, [onExited, inProp, timeout]); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("span", { className: rippleClassName, style: rippleStyles, children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("span", { className: childClassName }) }); } true ? Ripple.propTypes = { /** * Override or extend the styles applied to the component. * See [CSS API](#css) below for more details. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object).isRequired, className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string), /** * @ignore - injected from TransitionGroup */ in: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool), /** * @ignore - injected from TransitionGroup */ onExited: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func), /** * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element. */ pulsate: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool), /** * Diameter of the ripple. */ rippleSize: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number), /** * Horizontal position of the ripple center. */ rippleX: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number), /** * Vertical position of the ripple center. */ rippleY: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number), /** * exit delay */ timeout: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number).isRequired } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Ripple); /***/ }), /***/ "./node_modules/@mui/material/ButtonBase/TouchRipple.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/material/ButtonBase/TouchRipple.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ DELAY_RIPPLE: () => (/* binding */ DELAY_RIPPLE), /* harmony export */ TouchRippleRipple: () => (/* binding */ TouchRippleRipple), /* harmony export */ TouchRippleRoot: () => (/* binding */ TouchRippleRoot), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__); /* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-transition-group */ "./node_modules/react-transition-group/esm/TransitionGroup.js"); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/system */ "./node_modules/@emotion/react/dist/emotion-react.browser.esm.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useTimeout/useTimeout.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _Ripple__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Ripple */ "./node_modules/@mui/material/ButtonBase/Ripple.js"); /* harmony import */ var _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./touchRippleClasses */ "./node_modules/@mui/material/ButtonBase/touchRippleClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["center", "classes", "className"]; let _ = t => t, _t, _t2, _t3, _t4; const DURATION = 550; const DELAY_RIPPLE = 80; const enterKeyframe = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.keyframes)(_t || (_t = _` 0% { transform: scale(0); opacity: 0.1; } 100% { transform: scale(1); opacity: 0.3; } `)); const exitKeyframe = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.keyframes)(_t2 || (_t2 = _` 0% { opacity: 1; } 100% { opacity: 0; } `)); const pulsateKeyframe = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.keyframes)(_t3 || (_t3 = _` 0% { transform: scale(1); } 50% { transform: scale(0.92); } 100% { transform: scale(1); } `)); const TouchRippleRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])('span', { name: 'MuiTouchRipple', slot: 'Root' })({ overflow: 'hidden', pointerEvents: 'none', position: 'absolute', zIndex: 0, top: 0, right: 0, bottom: 0, left: 0, borderRadius: 'inherit' }); // This `styled()` function invokes keyframes. `styled-components` only supports keyframes // in string templates. Do not convert these styles in JS object as it will break. const TouchRippleRipple = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])(_Ripple__WEBPACK_IMPORTED_MODULE_7__["default"], { name: 'MuiTouchRipple', slot: 'Ripple' })(_t4 || (_t4 = _` opacity: 0; position: absolute; &.${0} { opacity: 0.3; transform: scale(1); animation-name: ${0}; animation-duration: ${0}ms; animation-timing-function: ${0}; } &.${0} { animation-duration: ${0}ms; } & .${0} { opacity: 1; display: block; width: 100%; height: 100%; border-radius: 50%; background-color: currentColor; } & .${0} { opacity: 0; animation-name: ${0}; animation-duration: ${0}ms; animation-timing-function: ${0}; } & .${0} { position: absolute; /* @noflip */ left: 0px; top: 0; animation-name: ${0}; animation-duration: 2500ms; animation-timing-function: ${0}; animation-iteration-count: infinite; animation-delay: 200ms; } `), _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].rippleVisible, enterKeyframe, DURATION, ({ theme }) => theme.transitions.easing.easeInOut, _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].ripplePulsate, ({ theme }) => theme.transitions.duration.shorter, _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].child, _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].childLeaving, exitKeyframe, DURATION, ({ theme }) => theme.transitions.easing.easeInOut, _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].childPulsate, pulsateKeyframe, ({ theme }) => theme.transitions.easing.easeInOut); /** * @ignore - internal component. * * TODO v5: Make private */ const TouchRipple = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function TouchRipple(inProps, ref) { const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__["default"])({ props: inProps, name: 'MuiTouchRipple' }); const { center: centerProp = false, classes = {}, className } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); const [ripples, setRipples] = react__WEBPACK_IMPORTED_MODULE_2__.useState([]); const nextKey = react__WEBPACK_IMPORTED_MODULE_2__.useRef(0); const rippleCallback = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (rippleCallback.current) { rippleCallback.current(); rippleCallback.current = null; } }, [ripples]); // Used to filter out mouse emulated events on mobile. const ignoringMouseDown = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false); // We use a timer in order to only show the ripples for touch "click" like events. // We don't want to display the ripple for touch scroll events. const startTimer = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_10__["default"])(); // This is the hook called once the previous timeout is ready. const startTimerCommit = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const container = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const startCommit = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(params => { const { pulsate, rippleX, rippleY, rippleSize, cb } = params; setRipples(oldRipples => [...oldRipples, /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(TouchRippleRipple, { classes: { ripple: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.ripple, _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].ripple), rippleVisible: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.rippleVisible, _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].rippleVisible), ripplePulsate: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.ripplePulsate, _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].ripplePulsate), child: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.child, _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].child), childLeaving: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.childLeaving, _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].childLeaving), childPulsate: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.childPulsate, _touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].childPulsate) }, timeout: DURATION, pulsate: pulsate, rippleX: rippleX, rippleY: rippleY, rippleSize: rippleSize }, nextKey.current)]); nextKey.current += 1; rippleCallback.current = cb; }, [classes]); const start = react__WEBPACK_IMPORTED_MODULE_2__.useCallback((event = {}, options = {}, cb = () => {}) => { const { pulsate = false, center = centerProp || options.pulsate, fakeElement = false // For test purposes } = options; if ((event == null ? void 0 : event.type) === 'mousedown' && ignoringMouseDown.current) { ignoringMouseDown.current = false; return; } if ((event == null ? void 0 : event.type) === 'touchstart') { ignoringMouseDown.current = true; } const element = fakeElement ? null : container.current; const rect = element ? element.getBoundingClientRect() : { width: 0, height: 0, left: 0, top: 0 }; // Get the size of the ripple let rippleX; let rippleY; let rippleSize; if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) { rippleX = Math.round(rect.width / 2); rippleY = Math.round(rect.height / 2); } else { const { clientX, clientY } = event.touches && event.touches.length > 0 ? event.touches[0] : event; rippleX = Math.round(clientX - rect.left); rippleY = Math.round(clientY - rect.top); } if (center) { rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3); // For some reason the animation is broken on Mobile Chrome if the size is even. if (rippleSize % 2 === 0) { rippleSize += 1; } } else { const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2; const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2; rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2); } // Touche devices if (event != null && event.touches) { // check that this isn't another touchstart due to multitouch // otherwise we will only clear a single timer when unmounting while two // are running if (startTimerCommit.current === null) { // Prepare the ripple effect. startTimerCommit.current = () => { startCommit({ pulsate, rippleX, rippleY, rippleSize, cb }); }; // Delay the execution of the ripple effect. // We have to make a tradeoff with this delay value. startTimer.start(DELAY_RIPPLE, () => { if (startTimerCommit.current) { startTimerCommit.current(); startTimerCommit.current = null; } }); } } else { startCommit({ pulsate, rippleX, rippleY, rippleSize, cb }); } }, [centerProp, startCommit, startTimer]); const pulsate = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(() => { start({}, { pulsate: true }); }, [start]); const stop = react__WEBPACK_IMPORTED_MODULE_2__.useCallback((event, cb) => { startTimer.clear(); // The touch interaction occurs too quickly. // We still want to show ripple effect. if ((event == null ? void 0 : event.type) === 'touchend' && startTimerCommit.current) { startTimerCommit.current(); startTimerCommit.current = null; startTimer.start(0, () => { stop(event, cb); }); return; } startTimerCommit.current = null; setRipples(oldRipples => { if (oldRipples.length > 0) { return oldRipples.slice(1); } return oldRipples; }); rippleCallback.current = cb; }, [startTimer]); react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle(ref, () => ({ pulsate, start, stop }), [pulsate, start, stop]); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(TouchRippleRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(_touchRippleClasses__WEBPACK_IMPORTED_MODULE_8__["default"].root, classes.root, className), ref: container }, other, { children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(react_transition_group__WEBPACK_IMPORTED_MODULE_11__["default"], { component: null, exit: true, children: ripples }) })); }); true ? TouchRipple.propTypes = { /** * If `true`, the ripple starts at the center of the component * rather than at the point of interaction. */ center: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool), /** * Override or extend the styles applied to the component. * See [CSS API](#css) below for more details. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TouchRipple); /***/ }), /***/ "./node_modules/@mui/material/ButtonBase/buttonBaseClasses.js": /*!********************************************************************!*\ !*** ./node_modules/@mui/material/ButtonBase/buttonBaseClasses.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getButtonBaseUtilityClass: () => (/* binding */ getButtonBaseUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getButtonBaseUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiButtonBase', slot); } const buttonBaseClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiButtonBase', ['root', 'disabled', 'focusVisible']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (buttonBaseClasses); /***/ }), /***/ "./node_modules/@mui/material/ButtonBase/touchRippleClasses.js": /*!*********************************************************************!*\ !*** ./node_modules/@mui/material/ButtonBase/touchRippleClasses.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getTouchRippleUtilityClass: () => (/* binding */ getTouchRippleUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getTouchRippleUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiTouchRipple', slot); } const touchRippleClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (touchRippleClasses); /***/ }), /***/ "./node_modules/@mui/material/Divider/dividerClasses.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/material/Divider/dividerClasses.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getDividerUtilityClass: () => (/* binding */ getDividerUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getDividerUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiDivider', slot); } const dividerClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (dividerClasses); /***/ }), /***/ "./node_modules/@mui/material/Fade/Fade.js": /*!*************************************************!*\ !*** ./node_modules/@mui/material/Fade/Fade.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__); /* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-transition-group */ "./node_modules/react-transition-group/esm/Transition.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/elementAcceptingRef/elementAcceptingRef.js"); /* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles/useTheme */ "./node_modules/@mui/material/styles/useTheme.js"); /* harmony import */ var _transitions_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../transitions/utils */ "./node_modules/@mui/material/transitions/utils.js"); /* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"]; const styles = { entering: { opacity: 1 }, entered: { opacity: 1 } }; /** * The Fade transition is used by the [Modal](/material-ui/react-modal/) component. * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally. */ const Fade = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Fade(props, ref) { const theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_4__["default"])(); const defaultTimeout = { enter: theme.transitions.duration.enteringScreen, exit: theme.transitions.duration.leavingScreen }; const { addEndListener, appear = true, children, easing, in: inProp, onEnter, onEntered, onEntering, onExit, onExited, onExiting, style, timeout = defaultTimeout, // eslint-disable-next-line react/prop-types TransitionComponent = react_transition_group__WEBPACK_IMPORTED_MODULE_5__["default"] } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); const enableStrictModeCompat = true; const nodeRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_6__["default"])(nodeRef, children.ref, ref); const normalizedTransitionCallback = callback => maybeIsAppearing => { if (callback) { const node = nodeRef.current; // onEnterXxx and onExitXxx callbacks have a different arguments.length value. if (maybeIsAppearing === undefined) { callback(node); } else { callback(node, maybeIsAppearing); } } }; const handleEntering = normalizedTransitionCallback(onEntering); const handleEnter = normalizedTransitionCallback((node, isAppearing) => { (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_7__.reflow)(node); // So the animation always start from the start. const transitionProps = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_7__.getTransitionProps)({ style, timeout, easing }, { mode: 'enter' }); node.style.webkitTransition = theme.transitions.create('opacity', transitionProps); node.style.transition = theme.transitions.create('opacity', transitionProps); if (onEnter) { onEnter(node, isAppearing); } }); const handleEntered = normalizedTransitionCallback(onEntered); const handleExiting = normalizedTransitionCallback(onExiting); const handleExit = normalizedTransitionCallback(node => { const transitionProps = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_7__.getTransitionProps)({ style, timeout, easing }, { mode: 'exit' }); node.style.webkitTransition = theme.transitions.create('opacity', transitionProps); node.style.transition = theme.transitions.create('opacity', transitionProps); if (onExit) { onExit(node); } }); const handleExited = normalizedTransitionCallback(onExited); const handleAddEndListener = next => { if (addEndListener) { // Old call signature before `react-transition-group` implemented `nodeRef` addEndListener(nodeRef.current, next); } }; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(TransitionComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ appear: appear, in: inProp, nodeRef: enableStrictModeCompat ? nodeRef : undefined, onEnter: handleEnter, onEntered: handleEntered, onEntering: handleEntering, onExit: handleExit, onExited: handleExited, onExiting: handleExiting, addEndListener: handleAddEndListener, timeout: timeout }, other, { children: (state, childProps) => { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(children, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ opacity: 0, visibility: state === 'exited' && !inProp ? 'hidden' : undefined }, styles[state], style, children.props.style), ref: handleRef }, childProps)); } })); }); true ? Fade.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * Add a custom transition end trigger. Called with the transitioning DOM * node and a done callback. Allows for more fine grained transition end * logic. Note: Timeouts are still used as a fallback if provided. */ addEndListener: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), /** * Perform the enter transition when it first mounts if `in` is also `true`. * Set this to `false` to disable this behavior. * @default true */ appear: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool), /** * A single child content element. */ children: _mui_utils__WEBPACK_IMPORTED_MODULE_9__["default"].isRequired, /** * The transition timing function. * You may specify a single easing or a object containing enter and exit values. */ easing: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({ enter: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string), exit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string) }), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)]), /** * If `true`, the component will transition in. */ in: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool), /** * @ignore */ onEnter: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), /** * @ignore */ onEntered: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), /** * @ignore */ onEntering: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), /** * @ignore */ onExit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), /** * @ignore */ onExited: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), /** * @ignore */ onExiting: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), /** * @ignore */ style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. * @default { * enter: theme.transitions.duration.enteringScreen, * exit: theme.transitions.duration.leavingScreen, * } */ timeout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().number), prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({ appear: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number), enter: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number), exit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number) })]) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Fade); /***/ }), /***/ "./node_modules/@mui/material/FilledInput/FilledInput.js": /*!***************************************************************!*\ !*** ./node_modules/@mui/material/FilledInput/FilledInput.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/deepmerge/deepmerge.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/refType/refType.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../InputBase/InputBase */ "./node_modules/@mui/material/InputBase/InputBase.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _filledInputClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./filledInputClasses */ "./node_modules/@mui/material/FilledInput/filledInputClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"]; const useUtilityClasses = ownerState => { const { classes, disableUnderline } = ownerState; const slots = { root: ['root', !disableUnderline && 'underline'], input: ['input'] }; const composedClasses = (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_4__["default"])(slots, _filledInputClasses__WEBPACK_IMPORTED_MODULE_5__.getFilledInputUtilityClass, classes); return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, classes, composedClasses); }; const FilledInputRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])(_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.InputBaseRoot, { shouldForwardProp: prop => (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__.rootShouldForwardProp)(prop) || prop === 'classes', name: 'MuiFilledInput', slot: 'Root', overridesResolver: (props, styles) => { const { ownerState } = props; return [...(0,_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.rootOverridesResolver)(props, styles), !ownerState.disableUnderline && styles.underline]; } })(({ theme, ownerState }) => { var _palette; const light = theme.palette.mode === 'light'; const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)'; const backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)'; const hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)'; const disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)'; return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ position: 'relative', backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor, borderTopLeftRadius: (theme.vars || theme).shape.borderRadius, borderTopRightRadius: (theme.vars || theme).shape.borderRadius, transition: theme.transitions.create('background-color', { duration: theme.transitions.duration.shorter, easing: theme.transitions.easing.easeOut }), '&:hover': { backgroundColor: theme.vars ? theme.vars.palette.FilledInput.hoverBg : hoverBackground, // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor } }, [`&.${_filledInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].focused}`]: { backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor }, [`&.${_filledInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].disabled}`]: { backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground } }, !ownerState.disableUnderline && { '&::after': { borderBottom: `2px solid ${(_palette = (theme.vars || theme).palette[ownerState.color || 'primary']) == null ? void 0 : _palette.main}`, left: 0, bottom: 0, // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242 content: '""', position: 'absolute', right: 0, transform: 'scaleX(0)', transition: theme.transitions.create('transform', { duration: theme.transitions.duration.shorter, easing: theme.transitions.easing.easeOut }), pointerEvents: 'none' // Transparent to the hover style. }, [`&.${_filledInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].focused}:after`]: { // translateX(0) is a workaround for Safari transform scale bug // See https://github.com/mui/material-ui/issues/31766 transform: 'scaleX(1) translateX(0)' }, [`&.${_filledInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].error}`]: { '&::before, &::after': { borderBottomColor: (theme.vars || theme).palette.error.main } }, '&::before': { borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`, left: 0, bottom: 0, // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242 content: '"\\00a0"', position: 'absolute', right: 0, transition: theme.transitions.create('border-bottom-color', { duration: theme.transitions.duration.shorter }), pointerEvents: 'none' // Transparent to the hover style. }, [`&:hover:not(.${_filledInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].disabled}, .${_filledInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].error}):before`]: { borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}` }, [`&.${_filledInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].disabled}:before`]: { borderBottomStyle: 'dotted' } }, ownerState.startAdornment && { paddingLeft: 12 }, ownerState.endAdornment && { paddingRight: 12 }, ownerState.multiline && (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ padding: '25px 12px 8px' }, ownerState.size === 'small' && { paddingTop: 21, paddingBottom: 4 }, ownerState.hiddenLabel && { paddingTop: 16, paddingBottom: 17 }, ownerState.hiddenLabel && ownerState.size === 'small' && { paddingTop: 8, paddingBottom: 9 })); }); const FilledInputInput = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])(_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.InputBaseComponent, { name: 'MuiFilledInput', slot: 'Input', overridesResolver: _InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.inputOverridesResolver })(({ theme, ownerState }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ paddingTop: 25, paddingRight: 12, paddingBottom: 8, paddingLeft: 12 }, !theme.vars && { '&:-webkit-autofill': { WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset', WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff', caretColor: theme.palette.mode === 'light' ? null : '#fff', borderTopLeftRadius: 'inherit', borderTopRightRadius: 'inherit' } }, theme.vars && { '&:-webkit-autofill': { borderTopLeftRadius: 'inherit', borderTopRightRadius: 'inherit' }, [theme.getColorSchemeSelector('dark')]: { '&:-webkit-autofill': { WebkitBoxShadow: '0 0 0 100px #266798 inset', WebkitTextFillColor: '#fff', caretColor: '#fff' } } }, ownerState.size === 'small' && { paddingTop: 21, paddingBottom: 4 }, ownerState.hiddenLabel && { paddingTop: 16, paddingBottom: 17 }, ownerState.startAdornment && { paddingLeft: 0 }, ownerState.endAdornment && { paddingRight: 0 }, ownerState.hiddenLabel && ownerState.size === 'small' && { paddingTop: 8, paddingBottom: 9 }, ownerState.multiline && { paddingTop: 0, paddingBottom: 0, paddingLeft: 0, paddingRight: 0 })); const FilledInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FilledInput(inProps, ref) { var _ref, _slots$root, _ref2, _slots$input; const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ props: inProps, name: 'MuiFilledInput' }); const { components = {}, componentsProps: componentsPropsProp, fullWidth = false, // declare here to prevent spreading to DOM inputComponent = 'input', multiline = false, slotProps, slots = {}, type = 'text' } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { fullWidth, inputComponent, multiline, type }); const classes = useUtilityClasses(props); const filledInputComponentsProps = { root: { ownerState }, input: { ownerState } }; const componentsProps = (slotProps != null ? slotProps : componentsPropsProp) ? (0,_mui_utils__WEBPACK_IMPORTED_MODULE_9__["default"])(filledInputComponentsProps, slotProps != null ? slotProps : componentsPropsProp) : filledInputComponentsProps; const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : FilledInputRoot; const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : FilledInputInput; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ slots: { root: RootSlot, input: InputSlot }, componentsProps: componentsProps, fullWidth: fullWidth, inputComponent: inputComponent, multiline: multiline, ref: ref, type: type }, other, { classes: classes })); }); true ? FilledInput.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * This prop helps users to fill forms faster, especially on mobile devices. * The name can be confusing, as it's more like an autofill. * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill). */ autoComplete: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * If `true`, the `input` element is focused during the first mount. */ autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component. */ color: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOf(['primary', 'secondary']), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string)]), /** * The components used for each slot inside. * * This prop is an alias for the `slots` prop. * It's recommended to use the `slots` prop instead. * * @default {} */ components: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ Input: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType), Root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType) }), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `slotProps` prop. * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future. * * @default {} */ componentsProps: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ input: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object) }), /** * The default value. Use when the component is not controlled. */ defaultValue: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().any), /** * If `true`, the component is disabled. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ disabled: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, the input will not have an underline. */ disableUnderline: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * End `InputAdornment` for this component. */ endAdornment: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), /** * If `true`, the `input` will indicate an error. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ error: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, the `input` will take up the full width of its container. * @default false */ fullWidth: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, the label is hidden. * This is used to increase density for a `FilledInput`. * Be sure to add `aria-label` to the `input` element. * @default false */ hiddenLabel: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * The id of the `input` element. */ id: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * The component used for the `input` element. * Either a string to use a HTML element or a component. * @default 'input' */ inputComponent: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType), /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element. * @default {} */ inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), /** * Pass a ref to the `input` element. */ inputRef: _mui_utils__WEBPACK_IMPORTED_MODULE_11__["default"], /** * If `dense`, will adjust vertical spacing. This is normally obtained via context from * FormControl. * The prop defaults to the value (`'none'`) inherited from the parent FormControl component. */ margin: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOf(['dense', 'none']), /** * Maximum number of rows to display when multiline option is set to true. */ maxRows: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string)]), /** * Minimum number of rows to display when multiline option is set to true. */ minRows: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string)]), /** * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered. * @default false */ multiline: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * Name attribute of the `input` element. */ name: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * Callback fired when the value is changed. * * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback. * You can pull out the new value by accessing `event.target.value` (string). */ onChange: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), /** * The short hint displayed in the `input` before the user enters a value. */ placeholder: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * It prevents the user from changing the value of the field * (not from interacting with the field). */ readOnly: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, the `input` element is required. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ required: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * Number of rows to display when multiline option is set to true. */ rows: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string)]), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future. * * @default {} */ slotProps: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ input: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object) }), /** * The components used for each slot inside. * * This prop is an alias for the `components` prop, which will be deprecated in the future. * * @default {} */ slots: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ input: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType), root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType) }), /** * Start `InputAdornment` for this component. */ startAdornment: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object)]), /** * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types). * @default 'text' */ type: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * The value of the `input` element, required for a controlled component. */ value: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().any) } : 0; FilledInput.muiName = 'Input'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilledInput); /***/ }), /***/ "./node_modules/@mui/material/FilledInput/filledInputClasses.js": /*!**********************************************************************!*\ !*** ./node_modules/@mui/material/FilledInput/filledInputClasses.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getFilledInputUtilityClass: () => (/* binding */ getFilledInputUtilityClass) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); /* harmony import */ var _InputBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../InputBase */ "./node_modules/@mui/material/InputBase/inputBaseClasses.js"); function getFilledInputUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiFilledInput', slot); } const filledInputClasses = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, _InputBase__WEBPACK_IMPORTED_MODULE_2__["default"], (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_3__["default"])('MuiFilledInput', ['root', 'underline', 'input'])); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (filledInputClasses); /***/ }), /***/ "./node_modules/@mui/material/FormControl/FormControl.js": /*!***************************************************************!*\ !*** ./node_modules/@mui/material/FormControl/FormControl.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_13__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _InputBase_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../InputBase/utils */ "./node_modules/@mui/material/InputBase/utils.js"); /* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ "./node_modules/@mui/material/utils/capitalize.js"); /* harmony import */ var _utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/isMuiElement */ "./node_modules/@mui/material/utils/isMuiElement.js"); /* harmony import */ var _FormControlContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./FormControlContext */ "./node_modules/@mui/material/FormControl/FormControlContext.js"); /* harmony import */ var _formControlClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./formControlClasses */ "./node_modules/@mui/material/FormControl/formControlClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"]; const useUtilityClasses = ownerState => { const { classes, margin, fullWidth } = ownerState; const slots = { root: ['root', margin !== 'none' && `margin${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(margin)}`, fullWidth && 'fullWidth'] }; return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__["default"])(slots, _formControlClasses__WEBPACK_IMPORTED_MODULE_7__.getFormControlUtilityClasses, classes); }; const FormControlRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])('div', { name: 'MuiFormControl', slot: 'Root', overridesResolver: ({ ownerState }, styles) => { return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, styles.root, styles[`margin${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(ownerState.margin)}`], ownerState.fullWidth && styles.fullWidth); } })(({ ownerState }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ display: 'inline-flex', flexDirection: 'column', position: 'relative', // Reset fieldset default style. minWidth: 0, padding: 0, margin: 0, border: 0, verticalAlign: 'top' }, ownerState.margin === 'normal' && { marginTop: 16, marginBottom: 8 }, ownerState.margin === 'dense' && { marginTop: 8, marginBottom: 4 }, ownerState.fullWidth && { width: '100%' })); /** * Provides context such as filled/focused/error/required for form inputs. * Relying on the context provides high flexibility and ensures that the state always stays * consistent across the children of the `FormControl`. * This context is used by the following components: * * - FormLabel * - FormHelperText * - Input * - InputLabel * * You can find one composition example below and more going to [the demos](/material-ui/react-text-field/#components). * * ```jsx * <FormControl> * <InputLabel htmlFor="my-input">Email address</InputLabel> * <Input id="my-input" aria-describedby="my-helper-text" /> * <FormHelperText id="my-helper-text">We'll never share your email.</FormHelperText> * </FormControl> * ``` * * ⚠️ Only one `InputBase` can be used within a FormControl because it creates visual inconsistencies. * For instance, only one input can be focused at the same time, the state shouldn't be shared. */ const FormControl = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormControl(inProps, ref) { const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__["default"])({ props: inProps, name: 'MuiFormControl' }); const { children, className, color = 'primary', component = 'div', disabled = false, error = false, focused: visuallyFocused, fullWidth = false, hiddenLabel = false, margin = 'none', required = false, size = 'medium', variant = 'outlined' } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { color, component, disabled, error, fullWidth, hiddenLabel, margin, required, size, variant }); const classes = useUtilityClasses(ownerState); const [adornedStart, setAdornedStart] = react__WEBPACK_IMPORTED_MODULE_2__.useState(() => { // We need to iterate through the children and find the Input in order // to fully support server-side rendering. let initialAdornedStart = false; if (children) { react__WEBPACK_IMPORTED_MODULE_2__.Children.forEach(children, child => { if (!(0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__["default"])(child, ['Input', 'Select'])) { return; } const input = (0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__["default"])(child, ['Select']) ? child.props.input : child; if (input && (0,_InputBase_utils__WEBPACK_IMPORTED_MODULE_11__.isAdornedStart)(input.props)) { initialAdornedStart = true; } }); } return initialAdornedStart; }); const [filled, setFilled] = react__WEBPACK_IMPORTED_MODULE_2__.useState(() => { // We need to iterate through the children and find the Input in order // to fully support server-side rendering. let initialFilled = false; if (children) { react__WEBPACK_IMPORTED_MODULE_2__.Children.forEach(children, child => { if (!(0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__["default"])(child, ['Input', 'Select'])) { return; } if ((0,_InputBase_utils__WEBPACK_IMPORTED_MODULE_11__.isFilled)(child.props, true) || (0,_InputBase_utils__WEBPACK_IMPORTED_MODULE_11__.isFilled)(child.props.inputProps, true)) { initialFilled = true; } }); } return initialFilled; }); const [focusedState, setFocused] = react__WEBPACK_IMPORTED_MODULE_2__.useState(false); if (disabled && focusedState) { setFocused(false); } const focused = visuallyFocused !== undefined && !disabled ? visuallyFocused : focusedState; let registerEffect; if (true) { // eslint-disable-next-line react-hooks/rules-of-hooks const registeredInput = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false); registerEffect = () => { if (registeredInput.current) { console.error(['MUI: There are multiple `InputBase` components inside a FormControl.', 'This creates visual inconsistencies, only use one `InputBase`.'].join('\n')); } registeredInput.current = true; return () => { registeredInput.current = false; }; }; } const childContext = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => { return { adornedStart, setAdornedStart, color, disabled, error, filled, focused, fullWidth, hiddenLabel, size, onBlur: () => { setFocused(false); }, onEmpty: () => { setFilled(false); }, onFilled: () => { setFilled(true); }, onFocus: () => { setFocused(true); }, registerEffect, required, variant }; }, [adornedStart, color, disabled, error, filled, focused, fullWidth, hiddenLabel, registerEffect, required, size, variant]); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_FormControlContext__WEBPACK_IMPORTED_MODULE_12__["default"].Provider, { value: childContext, children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(FormControlRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ as: component, ownerState: ownerState, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), ref: ref }, other, { children: children })) }); }); true ? FormControl.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().node), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string), /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * @default 'primary' */ color: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().elementType), /** * If `true`, the label, input and helper text should be displayed in a disabled state. * @default false */ disabled: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool), /** * If `true`, the label is displayed in an error state. * @default false */ error: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool), /** * If `true`, the component is displayed in focused state. */ focused: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool), /** * If `true`, the component will take up the full width of its container. * @default false */ fullWidth: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool), /** * If `true`, the label is hidden. * This is used to increase density for a `FilledInput`. * Be sure to add `aria-label` to the `input` element. * @default false */ hiddenLabel: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool), /** * If `dense` or `normal`, will adjust vertical spacing of this and contained components. * @default 'none' */ margin: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['dense', 'none', 'normal']), /** * If `true`, the label will indicate that the `input` is required. * @default false */ required: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool), /** * The size of the component. * @default 'medium' */ size: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['medium', 'small']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object)]), /** * The variant to use. * @default 'outlined' */ variant: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['filled', 'outlined', 'standard']) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormControl); /***/ }), /***/ "./node_modules/@mui/material/FormControl/FormControlContext.js": /*!**********************************************************************!*\ !*** ./node_modules/@mui/material/FormControl/FormControlContext.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /** * @ignore - internal component. */ const FormControlContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(undefined); if (true) { FormControlContext.displayName = 'FormControlContext'; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormControlContext); /***/ }), /***/ "./node_modules/@mui/material/FormControl/formControlClasses.js": /*!**********************************************************************!*\ !*** ./node_modules/@mui/material/FormControl/formControlClasses.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getFormControlUtilityClasses: () => (/* binding */ getFormControlUtilityClasses) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getFormControlUtilityClasses(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiFormControl', slot); } const formControlClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formControlClasses); /***/ }), /***/ "./node_modules/@mui/material/FormControl/formControlState.js": /*!********************************************************************!*\ !*** ./node_modules/@mui/material/FormControl/formControlState.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ formControlState) /* harmony export */ }); function formControlState({ props, states, muiFormControl }) { return states.reduce((acc, state) => { acc[state] = props[state]; if (muiFormControl) { if (typeof props[state] === 'undefined') { acc[state] = muiFormControl[state]; } } return acc; }, {}); } /***/ }), /***/ "./node_modules/@mui/material/FormControl/useFormControl.js": /*!******************************************************************!*\ !*** ./node_modules/@mui/material/FormControl/useFormControl.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ useFormControl) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _FormControlContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FormControlContext */ "./node_modules/@mui/material/FormControl/FormControlContext.js"); 'use client'; function useFormControl() { return react__WEBPACK_IMPORTED_MODULE_0__.useContext(_FormControlContext__WEBPACK_IMPORTED_MODULE_1__["default"]); } /***/ }), /***/ "./node_modules/@mui/material/GlobalStyles/GlobalStyles.js": /*!*****************************************************************!*\ !*** ./node_modules/@mui/material/GlobalStyles/GlobalStyles.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js"); /* harmony import */ var _styles_defaultTheme__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles/defaultTheme */ "./node_modules/@mui/material/styles/defaultTheme.js"); /* harmony import */ var _styles_identifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/identifier */ "./node_modules/@mui/material/styles/identifier.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; function GlobalStyles(props) { return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_mui_system__WEBPACK_IMPORTED_MODULE_3__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { defaultTheme: _styles_defaultTheme__WEBPACK_IMPORTED_MODULE_4__["default"], themeId: _styles_identifier__WEBPACK_IMPORTED_MODULE_5__["default"] })); } true ? GlobalStyles.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The styles you want to apply globally. */ styles: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().array), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool)]) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GlobalStyles); /***/ }), /***/ "./node_modules/@mui/material/Grow/Grow.js": /*!*************************************************!*\ !*** ./node_modules/@mui/material/Grow/Grow.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useTimeout/useTimeout.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/elementAcceptingRef/elementAcceptingRef.js"); /* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-transition-group */ "./node_modules/react-transition-group/esm/Transition.js"); /* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/useTheme */ "./node_modules/@mui/material/styles/useTheme.js"); /* harmony import */ var _transitions_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../transitions/utils */ "./node_modules/@mui/material/transitions/utils.js"); /* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"]; function getScale(value) { return `scale(${value}, ${value ** 2})`; } const styles = { entering: { opacity: 1, transform: getScale(1) }, entered: { opacity: 1, transform: 'none' } }; /* TODO v6: remove Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers. */ const isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)4/i.test(navigator.userAgent); /** * The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and * [Popover](/material-ui/react-popover/) components. * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally. */ const Grow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Grow(props, ref) { const { addEndListener, appear = true, children, easing, in: inProp, onEnter, onEntered, onEntering, onExit, onExited, onExiting, style, timeout = 'auto', // eslint-disable-next-line react/prop-types TransitionComponent = react_transition_group__WEBPACK_IMPORTED_MODULE_4__["default"] } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); const timer = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_5__["default"])(); const autoTimeout = react__WEBPACK_IMPORTED_MODULE_2__.useRef(); const theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_6__["default"])(); const nodeRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__["default"])(nodeRef, children.ref, ref); const normalizedTransitionCallback = callback => maybeIsAppearing => { if (callback) { const node = nodeRef.current; // onEnterXxx and onExitXxx callbacks have a different arguments.length value. if (maybeIsAppearing === undefined) { callback(node); } else { callback(node, maybeIsAppearing); } } }; const handleEntering = normalizedTransitionCallback(onEntering); const handleEnter = normalizedTransitionCallback((node, isAppearing) => { (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_8__.reflow)(node); // So the animation always start from the start. const { duration: transitionDuration, delay, easing: transitionTimingFunction } = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_8__.getTransitionProps)({ style, timeout, easing }, { mode: 'enter' }); let duration; if (timeout === 'auto') { duration = theme.transitions.getAutoHeightDuration(node.clientHeight); autoTimeout.current = duration; } else { duration = transitionDuration; } node.style.transition = [theme.transitions.create('opacity', { duration, delay }), theme.transitions.create('transform', { duration: isWebKit154 ? duration : duration * 0.666, delay, easing: transitionTimingFunction })].join(','); if (onEnter) { onEnter(node, isAppearing); } }); const handleEntered = normalizedTransitionCallback(onEntered); const handleExiting = normalizedTransitionCallback(onExiting); const handleExit = normalizedTransitionCallback(node => { const { duration: transitionDuration, delay, easing: transitionTimingFunction } = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_8__.getTransitionProps)({ style, timeout, easing }, { mode: 'exit' }); let duration; if (timeout === 'auto') { duration = theme.transitions.getAutoHeightDuration(node.clientHeight); autoTimeout.current = duration; } else { duration = transitionDuration; } node.style.transition = [theme.transitions.create('opacity', { duration, delay }), theme.transitions.create('transform', { duration: isWebKit154 ? duration : duration * 0.666, delay: isWebKit154 ? delay : delay || duration * 0.333, easing: transitionTimingFunction })].join(','); node.style.opacity = 0; node.style.transform = getScale(0.75); if (onExit) { onExit(node); } }); const handleExited = normalizedTransitionCallback(onExited); const handleAddEndListener = next => { if (timeout === 'auto') { timer.start(autoTimeout.current || 0, next); } if (addEndListener) { // Old call signature before `react-transition-group` implemented `nodeRef` addEndListener(nodeRef.current, next); } }; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(TransitionComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ appear: appear, in: inProp, nodeRef: nodeRef, onEnter: handleEnter, onEntered: handleEntered, onEntering: handleEntering, onExit: handleExit, onExited: handleExited, onExiting: handleExiting, addEndListener: handleAddEndListener, timeout: timeout === 'auto' ? null : timeout }, other, { children: (state, childProps) => { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(children, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ opacity: 0, transform: getScale(0.75), visibility: state === 'exited' && !inProp ? 'hidden' : undefined }, styles[state], style, children.props.style), ref: handleRef }, childProps)); } })); }); true ? Grow.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * Add a custom transition end trigger. Called with the transitioning DOM * node and a done callback. Allows for more fine grained transition end * logic. Note: Timeouts are still used as a fallback if provided. */ addEndListener: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func), /** * Perform the enter transition when it first mounts if `in` is also `true`. * Set this to `false` to disable this behavior. * @default true */ appear: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().bool), /** * A single child content element. */ children: _mui_utils__WEBPACK_IMPORTED_MODULE_10__["default"].isRequired, /** * The transition timing function. * You may specify a single easing or a object containing enter and exit values. */ easing: prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_9___default().shape({ enter: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string), exit: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string) }), (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string)]), /** * If `true`, the component will transition in. */ in: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().bool), /** * @ignore */ onEnter: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func), /** * @ignore */ onEntered: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func), /** * @ignore */ onEntering: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func), /** * @ignore */ onExit: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func), /** * @ignore */ onExited: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func), /** * @ignore */ onExiting: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func), /** * @ignore */ style: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().object), /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. * * Set to 'auto' to automatically calculate transition time based on height. * @default 'auto' */ timeout: prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_9___default().number), prop_types__WEBPACK_IMPORTED_MODULE_9___default().shape({ appear: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().number), enter: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().number), exit: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().number) })]) } : 0; Grow.muiSupportAuto = true; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Grow); /***/ }), /***/ "./node_modules/@mui/material/InputBase/InputBase.js": /*!***********************************************************!*\ !*** ./node_modules/@mui/material/InputBase/InputBase.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ InputBaseComponent: () => (/* binding */ InputBaseComponent), /* harmony export */ InputBaseRoot: () => (/* binding */ InputBaseRoot), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ inputOverridesResolver: () => (/* binding */ inputOverridesResolver), /* harmony export */ rootOverridesResolver: () => (/* binding */ rootOverridesResolver) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_19__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/elementTypeAcceptingRef/elementTypeAcceptingRef.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/refType/refType.js"); /* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/TextareaAutosize/TextareaAutosize.js"); /* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/utils/isHostComponent.js"); /* harmony import */ var _FormControl_formControlState__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../FormControl/formControlState */ "./node_modules/@mui/material/FormControl/formControlState.js"); /* harmony import */ var _FormControl_FormControlContext__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../FormControl/FormControlContext */ "./node_modules/@mui/material/FormControl/FormControlContext.js"); /* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../FormControl/useFormControl */ "./node_modules/@mui/material/FormControl/useFormControl.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ "./node_modules/@mui/material/utils/capitalize.js"); /* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); /* harmony import */ var _utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/useEnhancedEffect */ "./node_modules/@mui/material/utils/useEnhancedEffect.js"); /* harmony import */ var _GlobalStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../GlobalStyles */ "./node_modules/@mui/material/GlobalStyles/GlobalStyles.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils */ "./node_modules/@mui/material/InputBase/utils.js"); /* harmony import */ var _inputBaseClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./inputBaseClasses */ "./node_modules/@mui/material/InputBase/inputBaseClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["aria-describedby", "autoComplete", "autoFocus", "className", "color", "components", "componentsProps", "defaultValue", "disabled", "disableInjectingGlobalStyles", "endAdornment", "error", "fullWidth", "id", "inputComponent", "inputProps", "inputRef", "margin", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "placeholder", "readOnly", "renderSuffix", "rows", "size", "slotProps", "slots", "startAdornment", "type", "value"]; const rootOverridesResolver = (props, styles) => { const { ownerState } = props; return [styles.root, ownerState.formControl && styles.formControl, ownerState.startAdornment && styles.adornedStart, ownerState.endAdornment && styles.adornedEnd, ownerState.error && styles.error, ownerState.size === 'small' && styles.sizeSmall, ownerState.multiline && styles.multiline, ownerState.color && styles[`color${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(ownerState.color)}`], ownerState.fullWidth && styles.fullWidth, ownerState.hiddenLabel && styles.hiddenLabel]; }; const inputOverridesResolver = (props, styles) => { const { ownerState } = props; return [styles.input, ownerState.size === 'small' && styles.inputSizeSmall, ownerState.multiline && styles.inputMultiline, ownerState.type === 'search' && styles.inputTypeSearch, ownerState.startAdornment && styles.inputAdornedStart, ownerState.endAdornment && styles.inputAdornedEnd, ownerState.hiddenLabel && styles.inputHiddenLabel]; }; const useUtilityClasses = ownerState => { const { classes, color, disabled, error, endAdornment, focused, formControl, fullWidth, hiddenLabel, multiline, readOnly, size, startAdornment, type } = ownerState; const slots = { root: ['root', `color${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(color)}`, disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', focused && 'focused', formControl && 'formControl', size && size !== 'medium' && `size${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(size)}`, multiline && 'multiline', startAdornment && 'adornedStart', endAdornment && 'adornedEnd', hiddenLabel && 'hiddenLabel', readOnly && 'readOnly'], input: ['input', disabled && 'disabled', type === 'search' && 'inputTypeSearch', multiline && 'inputMultiline', size === 'small' && 'inputSizeSmall', hiddenLabel && 'inputHiddenLabel', startAdornment && 'inputAdornedStart', endAdornment && 'inputAdornedEnd', readOnly && 'readOnly'] }; return (0,_mui_base__WEBPACK_IMPORTED_MODULE_6__["default"])(slots, _inputBaseClasses__WEBPACK_IMPORTED_MODULE_7__.getInputBaseUtilityClass, classes); }; const InputBaseRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])('div', { name: 'MuiInputBase', slot: 'Root', overridesResolver: rootOverridesResolver })(({ theme, ownerState }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, theme.typography.body1, { color: (theme.vars || theme).palette.text.primary, lineHeight: '1.4375em', // 23px boxSizing: 'border-box', // Prevent padding issue with fullWidth. position: 'relative', cursor: 'text', display: 'inline-flex', alignItems: 'center', [`&.${_inputBaseClasses__WEBPACK_IMPORTED_MODULE_7__["default"].disabled}`]: { color: (theme.vars || theme).palette.text.disabled, cursor: 'default' } }, ownerState.multiline && (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ padding: '4px 0 5px' }, ownerState.size === 'small' && { paddingTop: 1 }), ownerState.fullWidth && { width: '100%' })); const InputBaseComponent = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])('input', { name: 'MuiInputBase', slot: 'Input', overridesResolver: inputOverridesResolver })(({ theme, ownerState }) => { const light = theme.palette.mode === 'light'; const placeholder = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ color: 'currentColor' }, theme.vars ? { opacity: theme.vars.opacity.inputPlaceholder } : { opacity: light ? 0.42 : 0.5 }, { transition: theme.transitions.create('opacity', { duration: theme.transitions.duration.shorter }) }); const placeholderHidden = { opacity: '0 !important' }; const placeholderVisible = theme.vars ? { opacity: theme.vars.opacity.inputPlaceholder } : { opacity: light ? 0.42 : 0.5 }; return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ font: 'inherit', letterSpacing: 'inherit', color: 'currentColor', padding: '4px 0 5px', border: 0, boxSizing: 'content-box', background: 'none', height: '1.4375em', // Reset 23pxthe native input line-height margin: 0, // Reset for Safari WebkitTapHighlightColor: 'transparent', display: 'block', // Make the flex item shrink with Firefox minWidth: 0, width: '100%', // Fix IE11 width issue animationName: 'mui-auto-fill-cancel', animationDuration: '10ms', '&::-webkit-input-placeholder': placeholder, '&::-moz-placeholder': placeholder, // Firefox 19+ '&:-ms-input-placeholder': placeholder, // IE11 '&::-ms-input-placeholder': placeholder, // Edge '&:focus': { outline: 0 }, // Reset Firefox invalid required input style '&:invalid': { boxShadow: 'none' }, '&::-webkit-search-decoration': { // Remove the padding when type=search. WebkitAppearance: 'none' }, // Show and hide the placeholder logic [`label[data-shrink=false] + .${_inputBaseClasses__WEBPACK_IMPORTED_MODULE_7__["default"].formControl} &`]: { '&::-webkit-input-placeholder': placeholderHidden, '&::-moz-placeholder': placeholderHidden, // Firefox 19+ '&:-ms-input-placeholder': placeholderHidden, // IE11 '&::-ms-input-placeholder': placeholderHidden, // Edge '&:focus::-webkit-input-placeholder': placeholderVisible, '&:focus::-moz-placeholder': placeholderVisible, // Firefox 19+ '&:focus:-ms-input-placeholder': placeholderVisible, // IE11 '&:focus::-ms-input-placeholder': placeholderVisible // Edge }, [`&.${_inputBaseClasses__WEBPACK_IMPORTED_MODULE_7__["default"].disabled}`]: { opacity: 1, // Reset iOS opacity WebkitTextFillColor: (theme.vars || theme).palette.text.disabled // Fix opacity Safari bug }, '&:-webkit-autofill': { animationDuration: '5000s', animationName: 'mui-auto-fill' } }, ownerState.size === 'small' && { paddingTop: 1 }, ownerState.multiline && { height: 'auto', resize: 'none', padding: 0, paddingTop: 0 }, ownerState.type === 'search' && { // Improve type search style. MozAppearance: 'textfield' }); }); const inputGlobalStyles = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_GlobalStyles__WEBPACK_IMPORTED_MODULE_9__["default"], { styles: { '@keyframes mui-auto-fill': { from: { display: 'block' } }, '@keyframes mui-auto-fill-cancel': { from: { display: 'block' } } } }); /** * `InputBase` contains as few styles as possible. * It aims to be a simple building block for creating an input. * It contains a load of style reset and some state logic. */ const InputBase = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function InputBase(inProps, ref) { var _slotProps$input; const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_10__["default"])({ props: inProps, name: 'MuiInputBase' }); const { 'aria-describedby': ariaDescribedby, autoComplete, autoFocus, className, components = {}, componentsProps = {}, defaultValue, disabled, disableInjectingGlobalStyles, endAdornment, fullWidth = false, id, inputComponent = 'input', inputProps: inputPropsProp = {}, inputRef: inputRefProp, maxRows, minRows, multiline = false, name, onBlur, onChange, onClick, onFocus, onKeyDown, onKeyUp, placeholder, readOnly, renderSuffix, rows, slotProps = {}, slots = {}, startAdornment, type = 'text', value: valueProp } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const value = inputPropsProp.value != null ? inputPropsProp.value : valueProp; const { current: isControlled } = react__WEBPACK_IMPORTED_MODULE_2__.useRef(value != null); const inputRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(); const handleInputRefWarning = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(instance => { if (true) { if (instance && instance.nodeName !== 'INPUT' && !instance.focus) { console.error(['MUI: You have provided a `inputComponent` to the input component', 'that does not correctly handle the `ref` prop.', 'Make sure the `ref` prop is called with a HTMLInputElement.'].join('\n')); } } }, []); const handleInputRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_11__["default"])(inputRef, inputRefProp, inputPropsProp.ref, handleInputRefWarning); const [focused, setFocused] = react__WEBPACK_IMPORTED_MODULE_2__.useState(false); const muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_12__["default"])(); if (true) { // eslint-disable-next-line react-hooks/rules-of-hooks react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (muiFormControl) { return muiFormControl.registerEffect(); } return undefined; }, [muiFormControl]); } const fcs = (0,_FormControl_formControlState__WEBPACK_IMPORTED_MODULE_13__["default"])({ props, muiFormControl, states: ['color', 'disabled', 'error', 'hiddenLabel', 'size', 'required', 'filled'] }); fcs.focused = muiFormControl ? muiFormControl.focused : focused; // The blur won't fire when the disabled state is set on a focused input. // We need to book keep the focused state manually. react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (!muiFormControl && disabled && focused) { setFocused(false); if (onBlur) { onBlur(); } } }, [muiFormControl, disabled, focused, onBlur]); const onFilled = muiFormControl && muiFormControl.onFilled; const onEmpty = muiFormControl && muiFormControl.onEmpty; const checkDirty = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(obj => { if ((0,_utils__WEBPACK_IMPORTED_MODULE_14__.isFilled)(obj)) { if (onFilled) { onFilled(); } } else if (onEmpty) { onEmpty(); } }, [onFilled, onEmpty]); (0,_utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_15__["default"])(() => { if (isControlled) { checkDirty({ value }); } }, [value, checkDirty, isControlled]); const handleFocus = event => { // Fix a bug with IE11 where the focus/blur events are triggered // while the component is disabled. if (fcs.disabled) { event.stopPropagation(); return; } if (onFocus) { onFocus(event); } if (inputPropsProp.onFocus) { inputPropsProp.onFocus(event); } if (muiFormControl && muiFormControl.onFocus) { muiFormControl.onFocus(event); } else { setFocused(true); } }; const handleBlur = event => { if (onBlur) { onBlur(event); } if (inputPropsProp.onBlur) { inputPropsProp.onBlur(event); } if (muiFormControl && muiFormControl.onBlur) { muiFormControl.onBlur(event); } else { setFocused(false); } }; const handleChange = (event, ...args) => { if (!isControlled) { const element = event.target || inputRef.current; if (element == null) { throw new Error( true ? `MUI: Expected valid input target. Did you use a custom \`inputComponent\` and forget to forward refs? See https://mui.com/r/input-component-ref-interface for more info.` : 0); } checkDirty({ value: element.value }); } if (inputPropsProp.onChange) { inputPropsProp.onChange(event, ...args); } // Perform in the willUpdate if (onChange) { onChange(event, ...args); } }; // Check the input state on mount, in case it was filled by the user // or auto filled by the browser before the hydration (for SSR). react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { checkDirty(inputRef.current); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); const handleClick = event => { if (inputRef.current && event.currentTarget === event.target) { inputRef.current.focus(); } if (onClick) { onClick(event); } }; let InputComponent = inputComponent; let inputProps = inputPropsProp; if (multiline && InputComponent === 'input') { if (rows) { if (true) { if (minRows || maxRows) { console.warn('MUI: You can not use the `minRows` or `maxRows` props when the input `rows` prop is set.'); } } inputProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ type: undefined, minRows: rows, maxRows: rows }, inputProps); } else { inputProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ type: undefined, maxRows, minRows }, inputProps); } InputComponent = _mui_base__WEBPACK_IMPORTED_MODULE_16__.TextareaAutosize; } const handleAutoFill = event => { // Provide a fake value as Chrome might not let you access it for security reasons. checkDirty(event.animationName === 'mui-auto-fill-cancel' ? inputRef.current : { value: 'x' }); }; react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (muiFormControl) { muiFormControl.setAdornedStart(Boolean(startAdornment)); } }, [muiFormControl, startAdornment]); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { color: fcs.color || 'primary', disabled: fcs.disabled, endAdornment, error: fcs.error, focused: fcs.focused, formControl: muiFormControl, fullWidth, hiddenLabel: fcs.hiddenLabel, multiline, size: fcs.size, startAdornment, type }); const classes = useUtilityClasses(ownerState); const Root = slots.root || components.Root || InputBaseRoot; const rootProps = slotProps.root || componentsProps.root || {}; const Input = slots.input || components.Input || InputBaseComponent; inputProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, inputProps, (_slotProps$input = slotProps.input) != null ? _slotProps$input : componentsProps.input); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, { children: [!disableInjectingGlobalStyles && inputGlobalStyles, /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(Root, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, rootProps, !(0,_mui_base__WEBPACK_IMPORTED_MODULE_17__.isHostComponent)(Root) && { ownerState: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, ownerState, rootProps.ownerState) }, { ref: ref, onClick: handleClick }, other, { className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, rootProps.className, className, readOnly && 'MuiInputBase-readOnly'), children: [startAdornment, /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_FormControl_FormControlContext__WEBPACK_IMPORTED_MODULE_18__["default"].Provider, { value: null, children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Input, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ ownerState: ownerState, "aria-invalid": fcs.error, "aria-describedby": ariaDescribedby, autoComplete: autoComplete, autoFocus: autoFocus, defaultValue: defaultValue, disabled: fcs.disabled, id: id, onAnimationStart: handleAutoFill, name: name, placeholder: placeholder, readOnly: readOnly, required: fcs.required, rows: rows, value: value, onKeyDown: onKeyDown, onKeyUp: onKeyUp, type: type }, inputProps, !(0,_mui_base__WEBPACK_IMPORTED_MODULE_17__.isHostComponent)(Input) && { as: InputComponent, ownerState: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, ownerState, inputProps.ownerState) }, { ref: handleInputRef, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.input, inputProps.className, readOnly && 'MuiInputBase-readOnly'), onBlur: handleBlur, onChange: handleChange, onFocus: handleFocus })) }), endAdornment, renderSuffix ? renderSuffix((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, fcs, { startAdornment })) : null] }))] }); }); true ? InputBase.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * @ignore */ 'aria-describedby': (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string), /** * This prop helps users to fill forms faster, especially on mobile devices. * The name can be confusing, as it's more like an autofill. * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill). */ autoComplete: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string), /** * If `true`, the `input` element is focused during the first mount. */ autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().bool), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string), /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component. */ color: prop_types__WEBPACK_IMPORTED_MODULE_19___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_19___default().oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string)]), /** * The components used for each slot inside. * * This prop is an alias for the `slots` prop. * It's recommended to use the `slots` prop instead. * * @default {} */ components: prop_types__WEBPACK_IMPORTED_MODULE_19___default().shape({ Input: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().elementType), Root: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().elementType) }), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `slotProps` prop. * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future. * * @default {} */ componentsProps: prop_types__WEBPACK_IMPORTED_MODULE_19___default().shape({ input: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().object), root: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().object) }), /** * The default value. Use when the component is not controlled. */ defaultValue: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().any), /** * If `true`, the component is disabled. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ disabled: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().bool), /** * If `true`, GlobalStyles for the auto-fill keyframes will not be injected/removed on mount/unmount. Make sure to inject them at the top of your application. * This option is intended to help with boosting the initial rendering performance if you are loading a big amount of Input components at once. * @default false */ disableInjectingGlobalStyles: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().bool), /** * End `InputAdornment` for this component. */ endAdornment: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().node), /** * If `true`, the `input` will indicate an error. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ error: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().bool), /** * If `true`, the `input` will take up the full width of its container. * @default false */ fullWidth: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().bool), /** * The id of the `input` element. */ id: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string), /** * The component used for the `input` element. * Either a string to use a HTML element or a component. * @default 'input' */ inputComponent: _mui_utils__WEBPACK_IMPORTED_MODULE_20__["default"], /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element. * @default {} */ inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().object), /** * Pass a ref to the `input` element. */ inputRef: _mui_utils__WEBPACK_IMPORTED_MODULE_21__["default"], /** * If `dense`, will adjust vertical spacing. This is normally obtained via context from * FormControl. * The prop defaults to the value (`'none'`) inherited from the parent FormControl component. */ margin: prop_types__WEBPACK_IMPORTED_MODULE_19___default().oneOf(['dense', 'none']), /** * Maximum number of rows to display when multiline option is set to true. */ maxRows: prop_types__WEBPACK_IMPORTED_MODULE_19___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_19___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string)]), /** * Minimum number of rows to display when multiline option is set to true. */ minRows: prop_types__WEBPACK_IMPORTED_MODULE_19___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_19___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string)]), /** * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered. * @default false */ multiline: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().bool), /** * Name attribute of the `input` element. */ name: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string), /** * Callback fired when the `input` is blurred. * * Notice that the first argument (event) might be undefined. */ onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().func), /** * Callback fired when the value is changed. * * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback. * You can pull out the new value by accessing `event.target.value` (string). */ onChange: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().func), /** * @ignore */ onClick: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().func), /** * @ignore */ onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().func), /** * Callback fired when the `input` doesn't satisfy its constraints. */ onInvalid: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().func), /** * @ignore */ onKeyDown: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().func), /** * @ignore */ onKeyUp: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().func), /** * The short hint displayed in the `input` before the user enters a value. */ placeholder: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string), /** * It prevents the user from changing the value of the field * (not from interacting with the field). */ readOnly: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().bool), /** * @ignore */ renderSuffix: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().func), /** * If `true`, the `input` element is required. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ required: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().bool), /** * Number of rows to display when multiline option is set to true. */ rows: prop_types__WEBPACK_IMPORTED_MODULE_19___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_19___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string)]), /** * The size of the component. */ size: prop_types__WEBPACK_IMPORTED_MODULE_19___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_19___default().oneOf(['medium', 'small']), (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string)]), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future. * * @default {} */ slotProps: prop_types__WEBPACK_IMPORTED_MODULE_19___default().shape({ input: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().object), root: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().object) }), /** * The components used for each slot inside. * * This prop is an alias for the `components` prop, which will be deprecated in the future. * * @default {} */ slots: prop_types__WEBPACK_IMPORTED_MODULE_19___default().shape({ input: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().elementType), root: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().elementType) }), /** * Start `InputAdornment` for this component. */ startAdornment: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().node), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_19___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_19___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_19___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_19___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_19___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_19___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_19___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_19___default().object)]), /** * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types). * @default 'text' */ type: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().string), /** * The value of the `input` element, required for a controlled component. */ value: (prop_types__WEBPACK_IMPORTED_MODULE_19___default().any) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InputBase); /***/ }), /***/ "./node_modules/@mui/material/InputBase/inputBaseClasses.js": /*!******************************************************************!*\ !*** ./node_modules/@mui/material/InputBase/inputBaseClasses.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getInputBaseUtilityClass: () => (/* binding */ getInputBaseUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getInputBaseUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiInputBase', slot); } const inputBaseClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (inputBaseClasses); /***/ }), /***/ "./node_modules/@mui/material/InputBase/utils.js": /*!*******************************************************!*\ !*** ./node_modules/@mui/material/InputBase/utils.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ hasValue: () => (/* binding */ hasValue), /* harmony export */ isAdornedStart: () => (/* binding */ isAdornedStart), /* harmony export */ isFilled: () => (/* binding */ isFilled) /* harmony export */ }); // Supports determination of isControlled(). // Controlled input accepts its current value as a prop. // // @see https://facebook.github.io/react/docs/forms.html#controlled-components // @param value // @returns {boolean} true if string (including '') or number (including zero) function hasValue(value) { return value != null && !(Array.isArray(value) && value.length === 0); } // Determine if field is empty or filled. // Response determines if label is presented above field or as placeholder. // // @param obj // @param SSR // @returns {boolean} False when not present or empty string. // True when any number or string with length. function isFilled(obj, SSR = false) { return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== ''); } // Determine if an Input is adorned on start. // It's corresponding to the left with LTR. // // @param obj // @returns {boolean} False when no adornments. // True when adorned at the start. function isAdornedStart(obj) { return obj.startAdornment; } /***/ }), /***/ "./node_modules/@mui/material/Input/Input.js": /*!***************************************************!*\ !*** ./node_modules/@mui/material/Input/Input.js ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/deepmerge/deepmerge.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/refType/refType.js"); /* harmony import */ var _InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../InputBase/InputBase */ "./node_modules/@mui/material/InputBase/InputBase.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _inputClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./inputClasses */ "./node_modules/@mui/material/Input/inputClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"]; const useUtilityClasses = ownerState => { const { classes, disableUnderline } = ownerState; const slots = { root: ['root', !disableUnderline && 'underline'], input: ['input'] }; const composedClasses = (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_4__["default"])(slots, _inputClasses__WEBPACK_IMPORTED_MODULE_5__.getInputUtilityClass, classes); return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, classes, composedClasses); }; const InputRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])(_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.InputBaseRoot, { shouldForwardProp: prop => (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__.rootShouldForwardProp)(prop) || prop === 'classes', name: 'MuiInput', slot: 'Root', overridesResolver: (props, styles) => { const { ownerState } = props; return [...(0,_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.rootOverridesResolver)(props, styles), !ownerState.disableUnderline && styles.underline]; } })(({ theme, ownerState }) => { const light = theme.palette.mode === 'light'; let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)'; if (theme.vars) { bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`; } return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ position: 'relative' }, ownerState.formControl && { 'label + &': { marginTop: 16 } }, !ownerState.disableUnderline && { '&::after': { borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color].main}`, left: 0, bottom: 0, // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242 content: '""', position: 'absolute', right: 0, transform: 'scaleX(0)', transition: theme.transitions.create('transform', { duration: theme.transitions.duration.shorter, easing: theme.transitions.easing.easeOut }), pointerEvents: 'none' // Transparent to the hover style. }, [`&.${_inputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].focused}:after`]: { // translateX(0) is a workaround for Safari transform scale bug // See https://github.com/mui/material-ui/issues/31766 transform: 'scaleX(1) translateX(0)' }, [`&.${_inputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].error}`]: { '&::before, &::after': { borderBottomColor: (theme.vars || theme).palette.error.main } }, '&::before': { borderBottom: `1px solid ${bottomLineColor}`, left: 0, bottom: 0, // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242 content: '"\\00a0"', position: 'absolute', right: 0, transition: theme.transitions.create('border-bottom-color', { duration: theme.transitions.duration.shorter }), pointerEvents: 'none' // Transparent to the hover style. }, [`&:hover:not(.${_inputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].disabled}, .${_inputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].error}):before`]: { borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`, // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { borderBottom: `1px solid ${bottomLineColor}` } }, [`&.${_inputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].disabled}:before`]: { borderBottomStyle: 'dotted' } }); }); const InputInput = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])(_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.InputBaseComponent, { name: 'MuiInput', slot: 'Input', overridesResolver: _InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.inputOverridesResolver })({}); const Input = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Input(inProps, ref) { var _ref, _slots$root, _ref2, _slots$input; const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ props: inProps, name: 'MuiInput' }); const { disableUnderline, components = {}, componentsProps: componentsPropsProp, fullWidth = false, inputComponent = 'input', multiline = false, slotProps, slots = {}, type = 'text' } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const classes = useUtilityClasses(props); const ownerState = { disableUnderline }; const inputComponentsProps = { root: { ownerState } }; const componentsProps = (slotProps != null ? slotProps : componentsPropsProp) ? (0,_mui_utils__WEBPACK_IMPORTED_MODULE_9__["default"])(slotProps != null ? slotProps : componentsPropsProp, inputComponentsProps) : inputComponentsProps; const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : InputRoot; const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : InputInput; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ slots: { root: RootSlot, input: InputSlot }, slotProps: componentsProps, fullWidth: fullWidth, inputComponent: inputComponent, multiline: multiline, ref: ref, type: type }, other, { classes: classes })); }); true ? Input.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * This prop helps users to fill forms faster, especially on mobile devices. * The name can be confusing, as it's more like an autofill. * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill). */ autoComplete: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * If `true`, the `input` element is focused during the first mount. */ autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component. */ color: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOf(['primary', 'secondary']), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string)]), /** * The components used for each slot inside. * * This prop is an alias for the `slots` prop. * It's recommended to use the `slots` prop instead. * * @default {} */ components: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ Input: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType), Root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType) }), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `slotProps` prop. * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future. * * @default {} */ componentsProps: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ input: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object) }), /** * The default value. Use when the component is not controlled. */ defaultValue: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().any), /** * If `true`, the component is disabled. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ disabled: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, the `input` will not have an underline. */ disableUnderline: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * End `InputAdornment` for this component. */ endAdornment: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), /** * If `true`, the `input` will indicate an error. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ error: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, the `input` will take up the full width of its container. * @default false */ fullWidth: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * The id of the `input` element. */ id: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * The component used for the `input` element. * Either a string to use a HTML element or a component. * @default 'input' */ inputComponent: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType), /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element. * @default {} */ inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), /** * Pass a ref to the `input` element. */ inputRef: _mui_utils__WEBPACK_IMPORTED_MODULE_11__["default"], /** * If `dense`, will adjust vertical spacing. This is normally obtained via context from * FormControl. * The prop defaults to the value (`'none'`) inherited from the parent FormControl component. */ margin: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOf(['dense', 'none']), /** * Maximum number of rows to display when multiline option is set to true. */ maxRows: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string)]), /** * Minimum number of rows to display when multiline option is set to true. */ minRows: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string)]), /** * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered. * @default false */ multiline: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * Name attribute of the `input` element. */ name: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * Callback fired when the value is changed. * * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback. * You can pull out the new value by accessing `event.target.value` (string). */ onChange: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), /** * The short hint displayed in the `input` before the user enters a value. */ placeholder: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * It prevents the user from changing the value of the field * (not from interacting with the field). */ readOnly: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, the `input` element is required. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ required: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * Number of rows to display when multiline option is set to true. */ rows: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string)]), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future. * * @default {} */ slotProps: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ input: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object) }), /** * The components used for each slot inside. * * This prop is an alias for the `components` prop, which will be deprecated in the future. * * @default {} */ slots: prop_types__WEBPACK_IMPORTED_MODULE_10___default().shape({ input: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType), root: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType) }), /** * Start `InputAdornment` for this component. */ startAdornment: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object)]), /** * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types). * @default 'text' */ type: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * The value of the `input` element, required for a controlled component. */ value: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().any) } : 0; Input.muiName = 'Input'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Input); /***/ }), /***/ "./node_modules/@mui/material/Input/inputClasses.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/material/Input/inputClasses.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getInputUtilityClass: () => (/* binding */ getInputUtilityClass) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); /* harmony import */ var _InputBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../InputBase */ "./node_modules/@mui/material/InputBase/inputBaseClasses.js"); function getInputUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiInput', slot); } const inputClasses = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, _InputBase__WEBPACK_IMPORTED_MODULE_2__["default"], (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_3__["default"])('MuiInput', ['root', 'underline', 'input'])); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (inputClasses); /***/ }), /***/ "./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js": /*!************************************************************************!*\ !*** ./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getListItemIconUtilityClass: () => (/* binding */ getListItemIconUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getListItemIconUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiListItemIcon', slot); } const listItemIconClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiListItemIcon', ['root', 'alignItemsFlexStart']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listItemIconClasses); /***/ }), /***/ "./node_modules/@mui/material/ListItemText/listItemTextClasses.js": /*!************************************************************************!*\ !*** ./node_modules/@mui/material/ListItemText/listItemTextClasses.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getListItemTextUtilityClass: () => (/* binding */ getListItemTextUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getListItemTextUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiListItemText', slot); } const listItemTextClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listItemTextClasses); /***/ }), /***/ "./node_modules/@mui/material/List/List.js": /*!*************************************************!*\ !*** ./node_modules/@mui/material/List/List.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _ListContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ListContext */ "./node_modules/@mui/material/List/ListContext.js"); /* harmony import */ var _listClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listClasses */ "./node_modules/@mui/material/List/listClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["children", "className", "component", "dense", "disablePadding", "subheader"]; const useUtilityClasses = ownerState => { const { classes, disablePadding, dense, subheader } = ownerState; const slots = { root: ['root', !disablePadding && 'padding', dense && 'dense', subheader && 'subheader'] }; return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _listClasses__WEBPACK_IMPORTED_MODULE_6__.getListUtilityClass, classes); }; const ListRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('ul', { name: 'MuiList', slot: 'Root', overridesResolver: (props, styles) => { const { ownerState } = props; return [styles.root, !ownerState.disablePadding && styles.padding, ownerState.dense && styles.dense, ownerState.subheader && styles.subheader]; } })(({ ownerState }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ listStyle: 'none', margin: 0, padding: 0, position: 'relative' }, !ownerState.disablePadding && { paddingTop: 8, paddingBottom: 8 }, ownerState.subheader && { paddingTop: 0 })); const List = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function List(inProps, ref) { const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ props: inProps, name: 'MuiList' }); const { children, className, component = 'ul', dense = false, disablePadding = false, subheader } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const context = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => ({ dense }), [dense]); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { component, dense, disablePadding }); const classes = useUtilityClasses(ownerState); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_ListContext__WEBPACK_IMPORTED_MODULE_9__["default"].Provider, { value: context, children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(ListRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ as: component, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), ref: ref, ownerState: ownerState }, other, { children: [subheader, children] })) }); }); true ? List.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType), /** * If `true`, compact vertical padding designed for keyboard and mouse input is used for * the list and list items. * The prop is available to descendant components as the `dense` context. * @default false */ dense: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, vertical padding is removed from the list. * @default false */ disablePadding: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * The content of the subheader, normally `ListSubheader`. */ subheader: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object)]) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (List); /***/ }), /***/ "./node_modules/@mui/material/List/ListContext.js": /*!********************************************************!*\ !*** ./node_modules/@mui/material/List/ListContext.js ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 'use client'; /** * @ignore - internal component. */ const ListContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext({}); if (true) { ListContext.displayName = 'ListContext'; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ListContext); /***/ }), /***/ "./node_modules/@mui/material/List/listClasses.js": /*!********************************************************!*\ !*** ./node_modules/@mui/material/List/listClasses.js ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getListUtilityClass: () => (/* binding */ getListUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getListUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiList', slot); } const listClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiList', ['root', 'padding', 'dense', 'subheader']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listClasses); /***/ }), /***/ "./node_modules/@mui/material/MenuItem/MenuItem.js": /*!*********************************************************!*\ !*** ./node_modules/@mui/material/MenuItem/MenuItem.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ overridesResolver: () => (/* binding */ overridesResolver) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_17__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/colorManipulator.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); /* harmony import */ var _ButtonBase__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../ButtonBase */ "./node_modules/@mui/material/ButtonBase/ButtonBase.js"); /* harmony import */ var _utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/useEnhancedEffect */ "./node_modules/@mui/material/utils/useEnhancedEffect.js"); /* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); /* harmony import */ var _Divider__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Divider */ "./node_modules/@mui/material/Divider/dividerClasses.js"); /* harmony import */ var _ListItemIcon__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../ListItemIcon */ "./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js"); /* harmony import */ var _ListItemText__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../ListItemText */ "./node_modules/@mui/material/ListItemText/listItemTextClasses.js"); /* harmony import */ var _menuItemClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./menuItemClasses */ "./node_modules/@mui/material/MenuItem/menuItemClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex", "className"]; const overridesResolver = (props, styles) => { const { ownerState } = props; return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters]; }; const useUtilityClasses = ownerState => { const { disabled, dense, divider, disableGutters, selected, classes } = ownerState; const slots = { root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected'] }; const composedClasses = (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _menuItemClasses__WEBPACK_IMPORTED_MODULE_6__.getMenuItemUtilityClass, classes); return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, classes, composedClasses); }; const MenuItemRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])(_ButtonBase__WEBPACK_IMPORTED_MODULE_8__["default"], { shouldForwardProp: prop => (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__.rootShouldForwardProp)(prop) || prop === 'classes', name: 'MuiMenuItem', slot: 'Root', overridesResolver })(({ theme, ownerState }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, theme.typography.body1, { display: 'flex', justifyContent: 'flex-start', alignItems: 'center', position: 'relative', textDecoration: 'none', minHeight: 48, paddingTop: 6, paddingBottom: 6, boxSizing: 'border-box', whiteSpace: 'nowrap' }, !ownerState.disableGutters && { paddingLeft: 16, paddingRight: 16 }, ownerState.divider && { borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`, backgroundClip: 'padding-box' }, { '&:hover': { textDecoration: 'none', backgroundColor: (theme.vars || theme).palette.action.hover, // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' } }, [`&.${_menuItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].selected}`]: { backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity), [`&.${_menuItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].focusVisible}`]: { backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity) } }, [`&.${_menuItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].selected}:hover`]: { backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity) } }, [`&.${_menuItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].focusVisible}`]: { backgroundColor: (theme.vars || theme).palette.action.focus }, [`&.${_menuItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].disabled}`]: { opacity: (theme.vars || theme).palette.action.disabledOpacity }, [`& + .${_Divider__WEBPACK_IMPORTED_MODULE_10__["default"].root}`]: { marginTop: theme.spacing(1), marginBottom: theme.spacing(1) }, [`& + .${_Divider__WEBPACK_IMPORTED_MODULE_10__["default"].inset}`]: { marginLeft: 52 }, [`& .${_ListItemText__WEBPACK_IMPORTED_MODULE_11__["default"].root}`]: { marginTop: 0, marginBottom: 0 }, [`& .${_ListItemText__WEBPACK_IMPORTED_MODULE_11__["default"].inset}`]: { paddingLeft: 36 }, [`& .${_ListItemIcon__WEBPACK_IMPORTED_MODULE_12__["default"].root}`]: { minWidth: 36 } }, !ownerState.dense && { [theme.breakpoints.up('sm')]: { minHeight: 'auto' } }, ownerState.dense && (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ minHeight: 32, // https://m2.material.io/components/menus#specs > Dense paddingTop: 4, paddingBottom: 4 }, theme.typography.body2, { [`& .${_ListItemIcon__WEBPACK_IMPORTED_MODULE_12__["default"].root} svg`]: { fontSize: '1.25rem' } }))); const MenuItem = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function MenuItem(inProps, ref) { const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_13__["default"])({ props: inProps, name: 'MuiMenuItem' }); const { autoFocus = false, component = 'li', dense = false, divider = false, disableGutters = false, focusVisibleClassName, role = 'menuitem', tabIndex: tabIndexProp, className } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const context = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_List_ListContext__WEBPACK_IMPORTED_MODULE_14__["default"]); const childContext = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => ({ dense: dense || context.dense || false, disableGutters }), [context.dense, dense, disableGutters]); const menuItemRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); (0,_utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_15__["default"])(() => { if (autoFocus) { if (menuItemRef.current) { menuItemRef.current.focus(); } else if (true) { console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.'); } } }, [autoFocus]); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { dense: childContext.dense, divider, disableGutters }); const classes = useUtilityClasses(props); const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_16__["default"])(menuItemRef, ref); let tabIndex; if (!props.disabled) { tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1; } return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_List_ListContext__WEBPACK_IMPORTED_MODULE_14__["default"].Provider, { value: childContext, children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(MenuItemRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ ref: handleRef, role: role, tabIndex: tabIndex, component: component, focusVisibleClassName: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.focusVisible, focusVisibleClassName), className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className) }, other, { ownerState: ownerState, classes: classes })) }); }); true ? MenuItem.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * If `true`, the list item is focused during the first mount. * Focus will also be triggered if the value changes from false to true. * @default false */ autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * The content of the component. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().node), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().elementType), /** * If `true`, compact vertical padding designed for keyboard and mouse input is used. * The prop defaults to the value inherited from the parent Menu component. * @default false */ dense: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * @ignore */ disabled: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * If `true`, the left and right padding is removed. * @default false */ disableGutters: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * If `true`, a 1px light border is added to the bottom of the menu item. * @default false */ divider: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * This prop can help identify which element has keyboard focus. * The class name will be applied when the element gains the focus through keyboard interaction. * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo). * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md). * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components * if needed. */ focusVisibleClassName: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * @ignore */ role: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * If `true`, the component is selected. * @default false */ selected: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_17___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object)]), /** * @default 0 */ tabIndex: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().number) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MenuItem); /***/ }), /***/ "./node_modules/@mui/material/MenuItem/menuItemClasses.js": /*!****************************************************************!*\ !*** ./node_modules/@mui/material/MenuItem/menuItemClasses.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getMenuItemUtilityClass: () => (/* binding */ getMenuItemUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getMenuItemUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiMenuItem', slot); } const menuItemClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (menuItemClasses); /***/ }), /***/ "./node_modules/@mui/material/MenuList/MenuList.js": /*!*********************************************************!*\ !*** ./node_modules/@mui/material/MenuList/MenuList.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var _utils_ownerDocument__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/ownerDocument */ "./node_modules/@mui/material/utils/ownerDocument.js"); /* harmony import */ var _List__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../List */ "./node_modules/@mui/material/List/List.js"); /* harmony import */ var _utils_getScrollbarSize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/getScrollbarSize */ "./node_modules/@mui/material/utils/getScrollbarSize.js"); /* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); /* harmony import */ var _utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/useEnhancedEffect */ "./node_modules/@mui/material/utils/useEnhancedEffect.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["actions", "autoFocus", "autoFocusItem", "children", "className", "disabledItemsFocusable", "disableListWrap", "onKeyDown", "variant"]; function nextItem(list, item, disableListWrap) { if (list === item) { return list.firstChild; } if (item && item.nextElementSibling) { return item.nextElementSibling; } return disableListWrap ? null : list.firstChild; } function previousItem(list, item, disableListWrap) { if (list === item) { return disableListWrap ? list.firstChild : list.lastChild; } if (item && item.previousElementSibling) { return item.previousElementSibling; } return disableListWrap ? null : list.lastChild; } function textCriteriaMatches(nextFocus, textCriteria) { if (textCriteria === undefined) { return true; } let text = nextFocus.innerText; if (text === undefined) { // jsdom doesn't support innerText text = nextFocus.textContent; } text = text.trim().toLowerCase(); if (text.length === 0) { return false; } if (textCriteria.repeating) { return text[0] === textCriteria.keys[0]; } return text.indexOf(textCriteria.keys.join('')) === 0; } function moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) { let wrappedOnce = false; let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false); while (nextFocus) { // Prevent infinite loop. if (nextFocus === list.firstChild) { if (wrappedOnce) { return false; } wrappedOnce = true; } // Same logic as useAutocomplete.js const nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true'; if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) { // Move to the next element. nextFocus = traversalFunction(list, nextFocus, disableListWrap); } else { nextFocus.focus(); return true; } } return false; } /** * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/. * It's exposed to help customization of the [`Menu`](/material-ui/api/menu/) component if you * use it separately you need to move focus into the component manually. Once * the focus is placed inside the component it is fully keyboard accessible. */ const MenuList = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function MenuList(props, ref) { const { // private // eslint-disable-next-line react/prop-types actions, autoFocus = false, autoFocusItem = false, children, className, disabledItemsFocusable = false, disableListWrap = false, onKeyDown, variant = 'selectedMenu' } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); const listRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const textCriteriaRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef({ keys: [], repeating: true, previousKeyMatched: true, lastTime: null }); (0,_utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_5__["default"])(() => { if (autoFocus) { listRef.current.focus(); } }, [autoFocus]); react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle(actions, () => ({ adjustStyleForScrollbar: (containerElement, theme) => { // Let's ignore that piece of logic if users are already overriding the width // of the menu. const noExplicitWidth = !listRef.current.style.width; if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) { const scrollbarSize = `${(0,_utils_getScrollbarSize__WEBPACK_IMPORTED_MODULE_6__["default"])((0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_7__["default"])(containerElement))}px`; listRef.current.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize; listRef.current.style.width = `calc(100% + ${scrollbarSize})`; } return listRef.current; } }), []); const handleKeyDown = event => { const list = listRef.current; const key = event.key; /** * @type {Element} - will always be defined since we are in a keydown handler * attached to an element. A keydown event is either dispatched to the activeElement * or document.body or document.documentElement. Only the first case will * trigger this specific handler. */ const currentFocus = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_7__["default"])(list).activeElement; if (key === 'ArrowDown') { // Prevent scroll of the page event.preventDefault(); moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem); } else if (key === 'ArrowUp') { event.preventDefault(); moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem); } else if (key === 'Home') { event.preventDefault(); moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem); } else if (key === 'End') { event.preventDefault(); moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem); } else if (key.length === 1) { const criteria = textCriteriaRef.current; const lowerKey = key.toLowerCase(); const currTime = performance.now(); if (criteria.keys.length > 0) { // Reset if (currTime - criteria.lastTime > 500) { criteria.keys = []; criteria.repeating = true; criteria.previousKeyMatched = true; } else if (criteria.repeating && lowerKey !== criteria.keys[0]) { criteria.repeating = false; } } criteria.lastTime = currTime; criteria.keys.push(lowerKey); const keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria); if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) { event.preventDefault(); } else { criteria.previousKeyMatched = false; } } if (onKeyDown) { onKeyDown(event); } }; const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__["default"])(listRef, ref); /** * the index of the item should receive focus * in a `variant="selectedMenu"` it's the first `selected` item * otherwise it's the very first item. */ let activeItemIndex = -1; // since we inject focus related props into children we have to do a lookahead // to check if there is a `selected` item. We're looking for the last `selected` // item and use the first valid item as a fallback react__WEBPACK_IMPORTED_MODULE_2__.Children.forEach(children, (child, index) => { if (! /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.isValidElement(child)) { if (activeItemIndex === index) { activeItemIndex += 1; if (activeItemIndex >= children.length) { // there are no focusable items within the list. activeItemIndex = -1; } } return; } if (true) { if ((0,react_is__WEBPACK_IMPORTED_MODULE_3__.isFragment)(child)) { console.error(["MUI: The Menu component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n')); } } if (!child.props.disabled) { if (variant === 'selectedMenu' && child.props.selected) { activeItemIndex = index; } else if (activeItemIndex === -1) { activeItemIndex = index; } } if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) { activeItemIndex += 1; if (activeItemIndex >= children.length) { // there are no focusable items within the list. activeItemIndex = -1; } } }); const items = react__WEBPACK_IMPORTED_MODULE_2__.Children.map(children, (child, index) => { if (index === activeItemIndex) { const newChildProps = {}; if (autoFocusItem) { newChildProps.autoFocus = true; } if (child.props.tabIndex === undefined && variant === 'selectedMenu') { newChildProps.tabIndex = 0; } return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(child, newChildProps); } return child; }); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_List__WEBPACK_IMPORTED_MODULE_9__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ role: "menu", ref: handleRef, className: className, onKeyDown: handleKeyDown, tabIndex: autoFocus ? 0 : -1 }, other, { children: items })); }); true ? MenuList.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * If `true`, will focus the `[role="menu"]` container and move into tab order. * @default false */ autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, will focus the first menuitem if `variant="menu"` or selected item * if `variant="selectedMenu"`. * @default false */ autoFocusItem: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * MenuList contents, normally `MenuItem`s. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * If `true`, will allow focus on disabled items. * @default false */ disabledItemsFocusable: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * If `true`, the menu items will not wrap focus. * @default false */ disableListWrap: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * @ignore */ onKeyDown: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), /** * The variant to use. Use `menu` to prevent selected items from impacting the initial focus * and the vertical alignment relative to the anchor element. * @default 'selectedMenu' */ variant: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOf(['menu', 'selectedMenu']) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MenuList); /***/ }), /***/ "./node_modules/@mui/material/Menu/Menu.js": /*!*************************************************!*\ !*** ./node_modules/@mui/material/Menu/Menu.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ MenuPaper: () => (/* binding */ MenuPaper), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_14__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _mui_base_utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @mui/base/utils */ "./node_modules/@mui/base/utils/useSlotProps.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/HTMLElementType/HTMLElementType.js"); /* harmony import */ var _MenuList__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../MenuList */ "./node_modules/@mui/material/MenuList/MenuList.js"); /* harmony import */ var _Popover__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Popover */ "./node_modules/@mui/material/Popover/Popover.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../styles/useTheme */ "./node_modules/@mui/material/styles/useTheme.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _menuClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./menuClasses */ "./node_modules/@mui/material/Menu/menuClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["onEntering"], _excluded2 = ["autoFocus", "children", "className", "disableAutoFocusItem", "MenuListProps", "onClose", "open", "PaperProps", "PopoverClasses", "transitionDuration", "TransitionProps", "variant", "slots", "slotProps"]; const RTL_ORIGIN = { vertical: 'top', horizontal: 'right' }; const LTR_ORIGIN = { vertical: 'top', horizontal: 'left' }; const useUtilityClasses = ownerState => { const { classes } = ownerState; const slots = { root: ['root'], paper: ['paper'], list: ['list'] }; return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__["default"])(slots, _menuClasses__WEBPACK_IMPORTED_MODULE_7__.getMenuUtilityClass, classes); }; const MenuRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])(_Popover__WEBPACK_IMPORTED_MODULE_9__["default"], { shouldForwardProp: prop => (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__.rootShouldForwardProp)(prop) || prop === 'classes', name: 'MuiMenu', slot: 'Root', overridesResolver: (props, styles) => styles.root })({}); const MenuPaper = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])(_Popover__WEBPACK_IMPORTED_MODULE_9__.PopoverPaper, { name: 'MuiMenu', slot: 'Paper', overridesResolver: (props, styles) => styles.paper })({ // specZ: The maximum height of a simple menu should be one or more rows less than the view // height. This ensures a tappable area outside of the simple menu with which to dismiss // the menu. maxHeight: 'calc(100% - 96px)', // Add iOS momentum scrolling for iOS < 13.0 WebkitOverflowScrolling: 'touch' }); const MenuMenuList = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])(_MenuList__WEBPACK_IMPORTED_MODULE_10__["default"], { name: 'MuiMenu', slot: 'List', overridesResolver: (props, styles) => styles.list })({ // We disable the focus ring for mouse, touch and keyboard users. outline: 0 }); const Menu = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Menu(inProps, ref) { var _slots$paper, _slotProps$paper; const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_11__["default"])({ props: inProps, name: 'MuiMenu' }); const { autoFocus = true, children, className, disableAutoFocusItem = false, MenuListProps = {}, onClose, open, PaperProps = {}, PopoverClasses, transitionDuration = 'auto', TransitionProps: { onEntering } = {}, variant = 'selectedMenu', slots = {}, slotProps = {} } = props, TransitionProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props.TransitionProps, _excluded), other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded2); const theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_12__["default"])(); const isRtl = theme.direction === 'rtl'; const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { autoFocus, disableAutoFocusItem, MenuListProps, onEntering, PaperProps, transitionDuration, TransitionProps, variant }); const classes = useUtilityClasses(ownerState); const autoFocusItem = autoFocus && !disableAutoFocusItem && open; const menuListActionsRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const handleEntering = (element, isAppearing) => { if (menuListActionsRef.current) { menuListActionsRef.current.adjustStyleForScrollbar(element, theme); } if (onEntering) { onEntering(element, isAppearing); } }; const handleListKeyDown = event => { if (event.key === 'Tab') { event.preventDefault(); if (onClose) { onClose(event, 'tabKeyDown'); } } }; /** * the index of the item should receive focus * in a `variant="selectedMenu"` it's the first `selected` item * otherwise it's the very first item. */ let activeItemIndex = -1; // since we inject focus related props into children we have to do a lookahead // to check if there is a `selected` item. We're looking for the last `selected` // item and use the first valid item as a fallback react__WEBPACK_IMPORTED_MODULE_2__.Children.map(children, (child, index) => { if (! /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.isValidElement(child)) { return; } if (true) { if ((0,react_is__WEBPACK_IMPORTED_MODULE_3__.isFragment)(child)) { console.error(["MUI: The Menu component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n')); } } if (!child.props.disabled) { if (variant === 'selectedMenu' && child.props.selected) { activeItemIndex = index; } else if (activeItemIndex === -1) { activeItemIndex = index; } } }); const PaperSlot = (_slots$paper = slots.paper) != null ? _slots$paper : MenuPaper; const paperExternalSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : PaperProps; const rootSlotProps = (0,_mui_base_utils__WEBPACK_IMPORTED_MODULE_13__.useSlotProps)({ elementType: slots.root, externalSlotProps: slotProps.root, ownerState, className: [classes.root, className] }); const paperSlotProps = (0,_mui_base_utils__WEBPACK_IMPORTED_MODULE_13__.useSlotProps)({ elementType: PaperSlot, externalSlotProps: paperExternalSlotProps, ownerState, className: classes.paper }); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(MenuRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ onClose: onClose, anchorOrigin: { vertical: 'bottom', horizontal: isRtl ? 'right' : 'left' }, transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN, slots: { paper: PaperSlot, root: slots.root }, slotProps: { root: rootSlotProps, paper: paperSlotProps }, open: open, ref: ref, transitionDuration: transitionDuration, TransitionProps: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ onEntering: handleEntering }, TransitionProps), ownerState: ownerState }, other, { classes: PopoverClasses, children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(MenuMenuList, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ onKeyDown: handleListKeyDown, actions: menuListActionsRef, autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem), autoFocusItem: autoFocusItem, variant: variant }, MenuListProps, { className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__["default"])(classes.list, MenuListProps.className), children: children })) })); }); true ? Menu.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * An HTML element, or a function that returns one. * It's used to set the position of the menu. */ anchorEl: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([_mui_utils__WEBPACK_IMPORTED_MODULE_15__["default"], (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func)]), /** * If `true` (Default) will focus the `[role="menu"]` if no focusable child is found. Disabled * children are not focusable. If you set this prop to `false` focus will be placed * on the parent modal container. This has severe accessibility implications * and should only be considered if you manage focus otherwise. * @default true */ autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * Menu contents, normally `MenuItem`s. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().node), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().string), /** * When opening the menu will not focus the active item but the `[role="menu"]` * unless `autoFocus` is also set to `false`. Not using the default means not * following WAI-ARIA authoring practices. Please be considerate about possible * accessibility implications. * @default false */ disableAutoFocusItem: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element. * @default {} */ MenuListProps: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), /** * Callback fired when the component requests to be closed. * * @param {object} event The event source of the callback. * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`, `"tabKeyDown"`. */ onClose: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * If `true`, the component is shown. */ open: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool).isRequired, /** * @ignore */ PaperProps: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), /** * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element. */ PopoverClasses: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * @default {} */ slotProps: prop_types__WEBPACK_IMPORTED_MODULE_14___default().shape({ paper: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object)]), root: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object)]) }), /** * The components used for each slot inside. * * @default {} */ slots: prop_types__WEBPACK_IMPORTED_MODULE_14___default().shape({ paper: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().elementType), root: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().elementType) }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object)]), /** * The length of the transition in `ms`, or 'auto' * @default 'auto' */ transitionDuration: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().number), prop_types__WEBPACK_IMPORTED_MODULE_14___default().shape({ appear: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().number), enter: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().number), exit: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().number) })]), /** * Props applied to the transition element. * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component. * @default {} */ TransitionProps: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), /** * The variant to use. Use `menu` to prevent selected items from impacting the initial focus. * @default 'selectedMenu' */ variant: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOf(['menu', 'selectedMenu']) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Menu); /***/ }), /***/ "./node_modules/@mui/material/Menu/menuClasses.js": /*!********************************************************!*\ !*** ./node_modules/@mui/material/Menu/menuClasses.js ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getMenuUtilityClass: () => (/* binding */ getMenuUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getMenuUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiMenu', slot); } const menuClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiMenu', ['root', 'paper', 'list']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (menuClasses); /***/ }), /***/ "./node_modules/@mui/material/Modal/Modal.js": /*!***************************************************!*\ !*** ./node_modules/@mui/material/Modal/Modal.js ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_14__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/elementAcceptingRef/elementAcceptingRef.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/HTMLElementType/HTMLElementType.js"); /* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/utils/useSlotProps.js"); /* harmony import */ var _mui_base_unstable_useModal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @mui/base/unstable_useModal */ "./node_modules/@mui/base/unstable_useModal/useModal.js"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _Unstable_TrapFocus__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../Unstable_TrapFocus */ "./node_modules/@mui/base/FocusTrap/FocusTrap.js"); /* harmony import */ var _Portal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Portal */ "./node_modules/@mui/base/Portal/Portal.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _Backdrop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Backdrop */ "./node_modules/@mui/material/Backdrop/Backdrop.js"); /* harmony import */ var _modalClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modalClasses */ "./node_modules/@mui/material/Modal/modalClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "onTransitionEnter", "onTransitionExited", "open", "slotProps", "slots", "theme"]; const useUtilityClasses = ownerState => { const { open, exited, classes } = ownerState; const slots = { root: ['root', !open && exited && 'hidden'], backdrop: ['backdrop'] }; return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _modalClasses__WEBPACK_IMPORTED_MODULE_6__.getModalUtilityClass, classes); }; const ModalRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('div', { name: 'MuiModal', slot: 'Root', overridesResolver: (props, styles) => { const { ownerState } = props; return [styles.root, !ownerState.open && ownerState.exited && styles.hidden]; } })(({ theme, ownerState }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ position: 'fixed', zIndex: (theme.vars || theme).zIndex.modal, right: 0, bottom: 0, top: 0, left: 0 }, !ownerState.open && ownerState.exited && { visibility: 'hidden' })); const ModalBackdrop = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])(_Backdrop__WEBPACK_IMPORTED_MODULE_8__["default"], { name: 'MuiModal', slot: 'Backdrop', overridesResolver: (props, styles) => { return styles.backdrop; } })({ zIndex: -1 }); /** * Modal is a lower-level construct that is leveraged by the following components: * * - [Dialog](/material-ui/api/dialog/) * - [Drawer](/material-ui/api/drawer/) * - [Menu](/material-ui/api/menu/) * - [Popover](/material-ui/api/popover/) * * If you are creating a modal dialog, you probably want to use the [Dialog](/material-ui/api/dialog/) component * rather than directly using Modal. * * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals). */ const Modal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Modal(inProps, ref) { var _ref, _slots$root, _ref2, _slots$backdrop, _slotProps$root, _slotProps$backdrop; const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__["default"])({ name: 'MuiModal', props: inProps }); const { BackdropComponent = ModalBackdrop, BackdropProps, className, closeAfterTransition = false, children, container, component, components = {}, componentsProps = {}, disableAutoFocus = false, disableEnforceFocus = false, disableEscapeKeyDown = false, disablePortal = false, disableRestoreFocus = false, disableScrollLock = false, hideBackdrop = false, keepMounted = false, onBackdropClick, open, slotProps, slots // eslint-disable-next-line react/prop-types } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const propsWithDefaults = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { closeAfterTransition, disableAutoFocus, disableEnforceFocus, disableEscapeKeyDown, disablePortal, disableRestoreFocus, disableScrollLock, hideBackdrop, keepMounted }); const { getRootProps, getBackdropProps, getTransitionProps, portalRef, isTopModal, exited, hasTransition } = (0,_mui_base_unstable_useModal__WEBPACK_IMPORTED_MODULE_10__.useModal)((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, propsWithDefaults, { rootRef: ref })); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, propsWithDefaults, { exited }); const classes = useUtilityClasses(ownerState); const childProps = {}; if (children.props.tabIndex === undefined) { childProps.tabIndex = '-1'; } // It's a Transition like component if (hasTransition) { const { onEnter, onExited } = getTransitionProps(); childProps.onEnter = onEnter; childProps.onExited = onExited; } const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : ModalRoot; const BackdropSlot = (_ref2 = (_slots$backdrop = slots == null ? void 0 : slots.backdrop) != null ? _slots$backdrop : components.Backdrop) != null ? _ref2 : BackdropComponent; const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root; const backdropSlotProps = (_slotProps$backdrop = slotProps == null ? void 0 : slotProps.backdrop) != null ? _slotProps$backdrop : componentsProps.backdrop; const rootProps = (0,_mui_base__WEBPACK_IMPORTED_MODULE_11__.useSlotProps)({ elementType: RootSlot, externalSlotProps: rootSlotProps, externalForwardedProps: other, getSlotProps: getRootProps, additionalProps: { ref, as: component }, ownerState, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(className, rootSlotProps == null ? void 0 : rootSlotProps.className, classes == null ? void 0 : classes.root, !ownerState.open && ownerState.exited && (classes == null ? void 0 : classes.hidden)) }); const backdropProps = (0,_mui_base__WEBPACK_IMPORTED_MODULE_11__.useSlotProps)({ elementType: BackdropSlot, externalSlotProps: backdropSlotProps, additionalProps: BackdropProps, getSlotProps: otherHandlers => { return getBackdropProps((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, otherHandlers, { onClick: e => { if (onBackdropClick) { onBackdropClick(e); } if (otherHandlers != null && otherHandlers.onClick) { otherHandlers.onClick(e); } } })); }, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(backdropSlotProps == null ? void 0 : backdropSlotProps.className, BackdropProps == null ? void 0 : BackdropProps.className, classes == null ? void 0 : classes.backdrop), ownerState }); if (!keepMounted && !open && (!hasTransition || exited)) { return null; } return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_Portal__WEBPACK_IMPORTED_MODULE_12__.Portal, { ref: portalRef, container: container, disablePortal: disablePortal, children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(RootSlot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, rootProps, { children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(BackdropSlot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, backdropProps)) : null, /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_Unstable_TrapFocus__WEBPACK_IMPORTED_MODULE_13__.FocusTrap, { disableEnforceFocus: disableEnforceFocus, disableAutoFocus: disableAutoFocus, disableRestoreFocus: disableRestoreFocus, isEnabled: isTopModal, open: open, children: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(children, childProps) })] })) }); }); true ? Modal.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * A backdrop component. This prop enables custom backdrop rendering. * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version. * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI. * @default styled(Backdrop, { * name: 'MuiModal', * slot: 'Backdrop', * overridesResolver: (props, styles) => { * return styles.backdrop; * }, * })({ * zIndex: -1, * }) */ BackdropComponent: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().elementType), /** * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element. * @deprecated Use `slotProps.backdrop` instead. */ BackdropProps: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), /** * A single child content element. */ children: _mui_utils__WEBPACK_IMPORTED_MODULE_15__["default"].isRequired, /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().string), /** * When set to true the Modal waits until a nested Transition is completed before closing. * @default false */ closeAfterTransition: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().elementType), /** * The components used for each slot inside. * * This prop is an alias for the `slots` prop. * It's recommended to use the `slots` prop instead. * * @default {} */ components: prop_types__WEBPACK_IMPORTED_MODULE_14___default().shape({ Backdrop: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().elementType), Root: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().elementType) }), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `slotProps` prop. * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future. * * @default {} */ componentsProps: prop_types__WEBPACK_IMPORTED_MODULE_14___default().shape({ backdrop: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object)]), root: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object)]) }), /** * An HTML element or function that returns one. * The `container` will have the portal children appended to it. * * You can also provide a callback, which is called in a React layout effect. * This lets you set the container from a ref, and also makes server-side rendering possible. * * By default, it uses the body of the top-level document object, * so it's simply `document.body` most of the time. */ container: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([_mui_utils__WEBPACK_IMPORTED_MODULE_16__["default"], (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func)]), /** * If `true`, the modal will not automatically shift focus to itself when it opens, and * replace it to the last focused element when it closes. * This also works correctly with any modal children that have the `disableAutoFocus` prop. * * Generally this should never be set to `true` as it makes the modal less * accessible to assistive technologies, like screen readers. * @default false */ disableAutoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * If `true`, the modal will not prevent focus from leaving the modal while open. * * Generally this should never be set to `true` as it makes the modal less * accessible to assistive technologies, like screen readers. * @default false */ disableEnforceFocus: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * If `true`, hitting escape will not fire the `onClose` callback. * @default false */ disableEscapeKeyDown: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * The `children` will be under the DOM hierarchy of the parent component. * @default false */ disablePortal: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * If `true`, the modal will not restore focus to previously focused element once * modal is hidden or unmounted. * @default false */ disableRestoreFocus: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * Disable the scroll lock behavior. * @default false */ disableScrollLock: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * If `true`, the backdrop is not rendered. * @default false */ hideBackdrop: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * Always keep the children in the DOM. * This prop can be useful in SEO situation or * when you want to maximize the responsiveness of the Modal. * @default false */ keepMounted: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), /** * Callback fired when the backdrop is clicked. * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events. */ onBackdropClick: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * Callback fired when the component requests to be closed. * The `reason` parameter can optionally be used to control the response to `onClose`. * * @param {object} event The event source of the callback. * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`. */ onClose: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * A function called when a transition enters. */ onTransitionEnter: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * A function called when a transition has exited. */ onTransitionExited: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), /** * If `true`, the component is shown. */ open: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool).isRequired, /** * The props used for each slot inside the Modal. * @default {} */ slotProps: prop_types__WEBPACK_IMPORTED_MODULE_14___default().shape({ backdrop: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object)]), root: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object)]) }), /** * The components used for each slot inside the Modal. * Either a string to use a HTML element or a component. * @default {} */ slots: prop_types__WEBPACK_IMPORTED_MODULE_14___default().shape({ backdrop: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().elementType), root: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().elementType) }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object)]) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Modal); /***/ }), /***/ "./node_modules/@mui/material/Modal/modalClasses.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/material/Modal/modalClasses.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getModalUtilityClass: () => (/* binding */ getModalUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getModalUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiModal', slot); } const modalClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiModal', ['root', 'hidden', 'backdrop']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (modalClasses); /***/ }), /***/ "./node_modules/@mui/material/NativeSelect/NativeSelectInput.js": /*!**********************************************************************!*\ !*** ./node_modules/@mui/material/NativeSelect/NativeSelectInput.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ nativeSelectIconStyles: () => (/* binding */ nativeSelectIconStyles), /* harmony export */ nativeSelectSelectStyles: () => (/* binding */ nativeSelectSelectStyles) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/refType/refType.js"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ "./node_modules/@mui/material/utils/capitalize.js"); /* harmony import */ var _nativeSelectClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./nativeSelectClasses */ "./node_modules/@mui/material/NativeSelect/nativeSelectClasses.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["className", "disabled", "error", "IconComponent", "inputRef", "variant"]; const useUtilityClasses = ownerState => { const { classes, variant, disabled, multiple, open, error } = ownerState; const slots = { select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'], icon: ['icon', `icon${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(variant)}`, open && 'iconOpen', disabled && 'disabled'] }; return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__["default"])(slots, _nativeSelectClasses__WEBPACK_IMPORTED_MODULE_7__.getNativeSelectUtilityClasses, classes); }; const nativeSelectSelectStyles = ({ ownerState, theme }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ MozAppearance: 'none', // Reset WebkitAppearance: 'none', // Reset // When interacting quickly, the text can end up selected. // Native select can't be selected either. userSelect: 'none', borderRadius: 0, // Reset cursor: 'pointer', '&:focus': (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, theme.vars ? { backgroundColor: `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.05)` } : { backgroundColor: theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.05)' : 'rgba(255, 255, 255, 0.05)' }, { borderRadius: 0 // Reset Chrome style }), // Remove IE11 arrow '&::-ms-expand': { display: 'none' }, [`&.${_nativeSelectClasses__WEBPACK_IMPORTED_MODULE_7__["default"].disabled}`]: { cursor: 'default' }, '&[multiple]': { height: 'auto' }, '&:not([multiple]) option, &:not([multiple]) optgroup': { backgroundColor: (theme.vars || theme).palette.background.paper }, // Bump specificity to allow extending custom inputs '&&&': { paddingRight: 24, minWidth: 16 // So it doesn't collapse. } }, ownerState.variant === 'filled' && { '&&&': { paddingRight: 32 } }, ownerState.variant === 'outlined' && { borderRadius: (theme.vars || theme).shape.borderRadius, '&:focus': { borderRadius: (theme.vars || theme).shape.borderRadius // Reset the reset for Chrome style }, '&&&': { paddingRight: 32 } }); const NativeSelectSelect = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])('select', { name: 'MuiNativeSelect', slot: 'Select', shouldForwardProp: _styles_styled__WEBPACK_IMPORTED_MODULE_8__.rootShouldForwardProp, overridesResolver: (props, styles) => { const { ownerState } = props; return [styles.select, styles[ownerState.variant], ownerState.error && styles.error, { [`&.${_nativeSelectClasses__WEBPACK_IMPORTED_MODULE_7__["default"].multiple}`]: styles.multiple }]; } })(nativeSelectSelectStyles); const nativeSelectIconStyles = ({ ownerState, theme }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ // We use a position absolute over a flexbox in order to forward the pointer events // to the input and to support wrapping tags.. position: 'absolute', right: 0, top: 'calc(50% - .5em)', // Center vertically, height is 1em pointerEvents: 'none', // Don't block pointer events on the select under the icon. color: (theme.vars || theme).palette.action.active, [`&.${_nativeSelectClasses__WEBPACK_IMPORTED_MODULE_7__["default"].disabled}`]: { color: (theme.vars || theme).palette.action.disabled } }, ownerState.open && { transform: 'rotate(180deg)' }, ownerState.variant === 'filled' && { right: 7 }, ownerState.variant === 'outlined' && { right: 7 }); const NativeSelectIcon = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])('svg', { name: 'MuiNativeSelect', slot: 'Icon', overridesResolver: (props, styles) => { const { ownerState } = props; return [styles.icon, ownerState.variant && styles[`icon${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(ownerState.variant)}`], ownerState.open && styles.iconOpen]; } })(nativeSelectIconStyles); /** * @ignore - internal component. */ const NativeSelectInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function NativeSelectInput(props, ref) { const { className, disabled, error, IconComponent, inputRef, variant = 'standard' } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { disabled, variant, error }); const classes = useUtilityClasses(ownerState); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, { children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(NativeSelectSelect, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ ownerState: ownerState, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.select, className), disabled: disabled, ref: inputRef || ref }, other)), props.multiple ? null : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(NativeSelectIcon, { as: IconComponent, ownerState: ownerState, className: classes.icon })] }); }); true ? NativeSelectInput.propTypes = { /** * The option elements to populate the select with. * Can be some `<option>` elements. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().node), /** * Override or extend the styles applied to the component. * See [CSS API](#css) below for more details. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().object), /** * The CSS class name of the select element. */ className: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string), /** * If `true`, the select is disabled. */ disabled: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().bool), /** * If `true`, the `select input` will indicate an error. */ error: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().bool), /** * The icon that displays the arrow. */ IconComponent: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().elementType).isRequired, /** * Use that prop to pass a ref to the native select element. * @deprecated */ inputRef: _mui_utils__WEBPACK_IMPORTED_MODULE_10__["default"], /** * @ignore */ multiple: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().bool), /** * Name attribute of the `select` or hidden `input` element. */ name: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string), /** * Callback fired when a menu item is selected. * * @param {object} event The event source of the callback. * You can pull out the new value by accessing `event.target.value` (string). */ onChange: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func), /** * The input value. */ value: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().any), /** * The variant to use. */ variant: prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOf(['standard', 'outlined', 'filled']) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NativeSelectInput); /***/ }), /***/ "./node_modules/@mui/material/NativeSelect/nativeSelectClasses.js": /*!************************************************************************!*\ !*** ./node_modules/@mui/material/NativeSelect/nativeSelectClasses.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getNativeSelectUtilityClasses: () => (/* binding */ getNativeSelectUtilityClasses) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getNativeSelectUtilityClasses(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiNativeSelect', slot); } const nativeSelectClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiNativeSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (nativeSelectClasses); /***/ }), /***/ "./node_modules/@mui/material/OutlinedInput/NotchedOutline.js": /*!********************************************************************!*\ !*** ./node_modules/@mui/material/OutlinedInput/NotchedOutline.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ NotchedOutline) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; var _span; const _excluded = ["children", "classes", "className", "label", "notched"]; const NotchedOutlineRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_4__["default"])('fieldset', { shouldForwardProp: _styles_styled__WEBPACK_IMPORTED_MODULE_4__.rootShouldForwardProp })({ textAlign: 'left', position: 'absolute', bottom: 0, right: 0, top: -5, left: 0, margin: 0, padding: '0 8px', pointerEvents: 'none', borderRadius: 'inherit', borderStyle: 'solid', borderWidth: 1, overflow: 'hidden', minWidth: '0%' }); const NotchedOutlineLegend = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_4__["default"])('legend', { shouldForwardProp: _styles_styled__WEBPACK_IMPORTED_MODULE_4__.rootShouldForwardProp })(({ ownerState, theme }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ float: 'unset', // Fix conflict with bootstrap width: 'auto', // Fix conflict with bootstrap overflow: 'hidden' }, !ownerState.withLabel && { padding: 0, lineHeight: '11px', // sync with `height` in `legend` styles transition: theme.transitions.create('width', { duration: 150, easing: theme.transitions.easing.easeOut }) }, ownerState.withLabel && (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ display: 'block', // Fix conflict with normalize.css and sanitize.css padding: 0, height: 11, // sync with `lineHeight` in `legend` styles fontSize: '0.75em', visibility: 'hidden', maxWidth: 0.01, transition: theme.transitions.create('max-width', { duration: 50, easing: theme.transitions.easing.easeOut }), whiteSpace: 'nowrap', '& > span': { paddingLeft: 5, paddingRight: 5, display: 'inline-block', opacity: 0, visibility: 'visible' } }, ownerState.notched && { maxWidth: '100%', transition: theme.transitions.create('max-width', { duration: 100, easing: theme.transitions.easing.easeOut, delay: 50 }) }))); /** * @ignore - internal component. */ function NotchedOutline(props) { const { className, label, notched } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const withLabel = label != null && label !== ''; const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { notched, withLabel }); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(NotchedOutlineRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ "aria-hidden": true, className: className, ownerState: ownerState }, other, { children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(NotchedOutlineLegend, { ownerState: ownerState, children: withLabel ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", { children: label }) : // notranslate needed while Google Translate will not fix zero-width space issue _span || (_span = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", { className: "notranslate", children: "\u200B" })) }) })); } true ? NotchedOutline.propTypes = { /** * The content of the component. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().node), /** * Override or extend the styles applied to the component. * See [CSS API](#css) below for more details. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string), /** * The label. */ label: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().node), /** * If `true`, the outline is notched to accommodate the label. */ notched: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool).isRequired, /** * @ignore */ style: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object) } : 0; /***/ }), /***/ "./node_modules/@mui/material/OutlinedInput/OutlinedInput.js": /*!*******************************************************************!*\ !*** ./node_modules/@mui/material/OutlinedInput/OutlinedInput.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/refType/refType.js"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _NotchedOutline__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./NotchedOutline */ "./node_modules/@mui/material/OutlinedInput/NotchedOutline.js"); /* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../FormControl/useFormControl */ "./node_modules/@mui/material/FormControl/useFormControl.js"); /* harmony import */ var _FormControl_formControlState__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../FormControl/formControlState */ "./node_modules/@mui/material/FormControl/formControlState.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _outlinedInputClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./outlinedInputClasses */ "./node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js"); /* harmony import */ var _InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../InputBase/InputBase */ "./node_modules/@mui/material/InputBase/InputBase.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["components", "fullWidth", "inputComponent", "label", "multiline", "notched", "slots", "type"]; const useUtilityClasses = ownerState => { const { classes } = ownerState; const slots = { root: ['root'], notchedOutline: ['notchedOutline'], input: ['input'] }; const composedClasses = (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_4__["default"])(slots, _outlinedInputClasses__WEBPACK_IMPORTED_MODULE_5__.getOutlinedInputUtilityClass, classes); return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, classes, composedClasses); }; const OutlinedInputRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])(_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.InputBaseRoot, { shouldForwardProp: prop => (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__.rootShouldForwardProp)(prop) || prop === 'classes', name: 'MuiOutlinedInput', slot: 'Root', overridesResolver: _InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.rootOverridesResolver })(({ theme, ownerState }) => { const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'; return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ position: 'relative', borderRadius: (theme.vars || theme).shape.borderRadius, [`&:hover .${_outlinedInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].notchedOutline}`]: { borderColor: (theme.vars || theme).palette.text.primary }, // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { [`&:hover .${_outlinedInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].notchedOutline}`]: { borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor } }, [`&.${_outlinedInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].focused} .${_outlinedInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].notchedOutline}`]: { borderColor: (theme.vars || theme).palette[ownerState.color].main, borderWidth: 2 }, [`&.${_outlinedInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].error} .${_outlinedInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].notchedOutline}`]: { borderColor: (theme.vars || theme).palette.error.main }, [`&.${_outlinedInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].disabled} .${_outlinedInputClasses__WEBPACK_IMPORTED_MODULE_5__["default"].notchedOutline}`]: { borderColor: (theme.vars || theme).palette.action.disabled } }, ownerState.startAdornment && { paddingLeft: 14 }, ownerState.endAdornment && { paddingRight: 14 }, ownerState.multiline && (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ padding: '16.5px 14px' }, ownerState.size === 'small' && { padding: '8.5px 14px' })); }); const NotchedOutlineRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])(_NotchedOutline__WEBPACK_IMPORTED_MODULE_8__["default"], { name: 'MuiOutlinedInput', slot: 'NotchedOutline', overridesResolver: (props, styles) => styles.notchedOutline })(({ theme }) => { const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'; return { borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor }; }); const OutlinedInputInput = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])(_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.InputBaseComponent, { name: 'MuiOutlinedInput', slot: 'Input', overridesResolver: _InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__.inputOverridesResolver })(({ theme, ownerState }) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ padding: '16.5px 14px' }, !theme.vars && { '&:-webkit-autofill': { WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset', WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff', caretColor: theme.palette.mode === 'light' ? null : '#fff', borderRadius: 'inherit' } }, theme.vars && { '&:-webkit-autofill': { borderRadius: 'inherit' }, [theme.getColorSchemeSelector('dark')]: { '&:-webkit-autofill': { WebkitBoxShadow: '0 0 0 100px #266798 inset', WebkitTextFillColor: '#fff', caretColor: '#fff' } } }, ownerState.size === 'small' && { padding: '8.5px 14px' }, ownerState.multiline && { padding: 0 }, ownerState.startAdornment && { paddingLeft: 0 }, ownerState.endAdornment && { paddingRight: 0 })); const OutlinedInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function OutlinedInput(inProps, ref) { var _ref, _slots$root, _ref2, _slots$input, _React$Fragment; const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__["default"])({ props: inProps, name: 'MuiOutlinedInput' }); const { components = {}, fullWidth = false, inputComponent = 'input', label, multiline = false, notched, slots = {}, type = 'text' } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const classes = useUtilityClasses(props); const muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_10__["default"])(); const fcs = (0,_FormControl_formControlState__WEBPACK_IMPORTED_MODULE_11__["default"])({ props, muiFormControl, states: ['color', 'disabled', 'error', 'focused', 'hiddenLabel', 'size', 'required'] }); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { color: fcs.color || 'primary', disabled: fcs.disabled, error: fcs.error, focused: fcs.focused, formControl: muiFormControl, fullWidth, hiddenLabel: fcs.hiddenLabel, multiline, size: fcs.size, type }); const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : OutlinedInputRoot; const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : OutlinedInputInput; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_InputBase_InputBase__WEBPACK_IMPORTED_MODULE_7__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ slots: { root: RootSlot, input: InputSlot }, renderSuffix: state => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(NotchedOutlineRoot, { ownerState: ownerState, className: classes.notchedOutline, label: label != null && label !== '' && fcs.required ? _React$Fragment || (_React$Fragment = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, { children: [label, "\u2009", '*'] })) : label, notched: typeof notched !== 'undefined' ? notched : Boolean(state.startAdornment || state.filled || state.focused) }), fullWidth: fullWidth, inputComponent: inputComponent, multiline: multiline, ref: ref, type: type }, other, { classes: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, classes, { notchedOutline: null }) })); }); true ? OutlinedInput.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * This prop helps users to fill forms faster, especially on mobile devices. * The name can be confusing, as it's more like an autofill. * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill). */ autoComplete: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string), /** * If `true`, the `input` element is focused during the first mount. */ autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component. */ color: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['primary', 'secondary']), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)]), /** * The components used for each slot inside. * * This prop is an alias for the `slots` prop. * It's recommended to use the `slots` prop instead. * * @default {} */ components: prop_types__WEBPACK_IMPORTED_MODULE_12___default().shape({ Input: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType), Root: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType) }), /** * The default value. Use when the component is not controlled. */ defaultValue: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().any), /** * If `true`, the component is disabled. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ disabled: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool), /** * End `InputAdornment` for this component. */ endAdornment: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().node), /** * If `true`, the `input` will indicate an error. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ error: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool), /** * If `true`, the `input` will take up the full width of its container. * @default false */ fullWidth: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool), /** * The id of the `input` element. */ id: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string), /** * The component used for the `input` element. * Either a string to use a HTML element or a component. * @default 'input' */ inputComponent: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType), /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element. * @default {} */ inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), /** * Pass a ref to the `input` element. */ inputRef: _mui_utils__WEBPACK_IMPORTED_MODULE_13__["default"], /** * The label of the `input`. It is only used for layout. The actual labelling * is handled by `InputLabel`. */ label: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().node), /** * If `dense`, will adjust vertical spacing. This is normally obtained via context from * FormControl. * The prop defaults to the value (`'none'`) inherited from the parent FormControl component. */ margin: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['dense', 'none']), /** * Maximum number of rows to display when multiline option is set to true. */ maxRows: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)]), /** * Minimum number of rows to display when multiline option is set to true. */ minRows: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)]), /** * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered. * @default false */ multiline: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool), /** * Name attribute of the `input` element. */ name: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string), /** * If `true`, the outline is notched to accommodate the label. */ notched: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool), /** * Callback fired when the value is changed. * * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback. * You can pull out the new value by accessing `event.target.value` (string). */ onChange: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), /** * The short hint displayed in the `input` before the user enters a value. */ placeholder: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string), /** * It prevents the user from changing the value of the field * (not from interacting with the field). */ readOnly: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool), /** * If `true`, the `input` element is required. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ required: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool), /** * Number of rows to display when multiline option is set to true. */ rows: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)]), /** * The components used for each slot inside. * * This prop is an alias for the `components` prop, which will be deprecated in the future. * * @default {} */ slots: prop_types__WEBPACK_IMPORTED_MODULE_12___default().shape({ input: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType), root: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType) }), /** * Start `InputAdornment` for this component. */ startAdornment: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().node), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object)]), /** * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types). * @default 'text' */ type: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string), /** * The value of the `input` element, required for a controlled component. */ value: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().any) } : 0; OutlinedInput.muiName = 'Input'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OutlinedInput); /***/ }), /***/ "./node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js": /*!**************************************************************************!*\ !*** ./node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getOutlinedInputUtilityClass: () => (/* binding */ getOutlinedInputUtilityClass) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); /* harmony import */ var _InputBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../InputBase */ "./node_modules/@mui/material/InputBase/inputBaseClasses.js"); function getOutlinedInputUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiOutlinedInput', slot); } const outlinedInputClasses = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, _InputBase__WEBPACK_IMPORTED_MODULE_2__["default"], (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_3__["default"])('MuiOutlinedInput', ['root', 'notchedOutline', 'input'])); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (outlinedInputClasses); /***/ }), /***/ "./node_modules/@mui/material/Paper/Paper.js": /*!***************************************************!*\ !*** ./node_modules/@mui/material/Paper/Paper.js ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/chainPropTypes/chainPropTypes.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/integerPropType/integerPropType.js"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/colorManipulator.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_getOverlayAlpha__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/getOverlayAlpha */ "./node_modules/@mui/material/styles/getOverlayAlpha.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../styles/useTheme */ "./node_modules/@mui/material/styles/useTheme.js"); /* harmony import */ var _paperClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./paperClasses */ "./node_modules/@mui/material/Paper/paperClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["className", "component", "elevation", "square", "variant"]; const useUtilityClasses = ownerState => { const { square, elevation, variant, classes } = ownerState; const slots = { root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`] }; return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _paperClasses__WEBPACK_IMPORTED_MODULE_6__.getPaperUtilityClass, classes); }; const PaperRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('div', { name: 'MuiPaper', slot: 'Root', overridesResolver: (props, styles) => { const { ownerState } = props; return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]]; } })(({ theme, ownerState }) => { var _theme$vars$overlays; return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ backgroundColor: (theme.vars || theme).palette.background.paper, color: (theme.vars || theme).palette.text.primary, transition: theme.transitions.create('box-shadow') }, !ownerState.square && { borderRadius: theme.shape.borderRadius }, ownerState.variant === 'outlined' && { border: `1px solid ${(theme.vars || theme).palette.divider}` }, ownerState.variant === 'elevation' && (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ boxShadow: (theme.vars || theme).shadows[ownerState.elevation] }, !theme.vars && theme.palette.mode === 'dark' && { backgroundImage: `linear-gradient(${(0,_mui_system__WEBPACK_IMPORTED_MODULE_8__.alpha)('#fff', (0,_styles_getOverlayAlpha__WEBPACK_IMPORTED_MODULE_9__["default"])(ownerState.elevation))}, ${(0,_mui_system__WEBPACK_IMPORTED_MODULE_8__.alpha)('#fff', (0,_styles_getOverlayAlpha__WEBPACK_IMPORTED_MODULE_9__["default"])(ownerState.elevation))})` }, theme.vars && { backgroundImage: (_theme$vars$overlays = theme.vars.overlays) == null ? void 0 : _theme$vars$overlays[ownerState.elevation] })); }); const Paper = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Paper(inProps, ref) { const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_10__["default"])({ props: inProps, name: 'MuiPaper' }); const { className, component = 'div', elevation = 1, square = false, variant = 'elevation' } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { component, elevation, square, variant }); const classes = useUtilityClasses(ownerState); if (true) { // eslint-disable-next-line react-hooks/rules-of-hooks const theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_11__["default"])(); if (theme.shadows[elevation] === undefined) { console.error([`MUI: The elevation provided <Paper elevation={${elevation}}> is not available in the theme.`, `Please make sure that \`theme.shadows[${elevation}]\` is defined.`].join('\n')); } } return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(PaperRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ as: component, ownerState: ownerState, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), ref: ref }, other)); }); true ? Paper.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().node), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType), /** * Shadow depth, corresponds to `dp` in the spec. * It accepts values between 0 and 24 inclusive. * @default 1 */ elevation: (0,_mui_utils__WEBPACK_IMPORTED_MODULE_13__["default"])(_mui_utils__WEBPACK_IMPORTED_MODULE_14__["default"], props => { const { elevation, variant } = props; if (elevation > 0 && variant === 'outlined') { return new Error(`MUI: Combining \`elevation={${elevation}}\` with \`variant="${variant}"\` has no effect. Either use \`elevation={0}\` or use a different \`variant\`.`); } return null; }), /** * If `true`, rounded corners are disabled. * @default false */ square: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object)]), /** * The variant to use. * @default 'elevation' */ variant: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['elevation', 'outlined']), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)]) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Paper); /***/ }), /***/ "./node_modules/@mui/material/Paper/paperClasses.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/material/Paper/paperClasses.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getPaperUtilityClass: () => (/* binding */ getPaperUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getPaperUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiPaper', slot); } const paperClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (paperClasses); /***/ }), /***/ "./node_modules/@mui/material/Popover/Popover.js": /*!*******************************************************!*\ !*** ./node_modules/@mui/material/Popover/Popover.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ PopoverPaper: () => (/* binding */ PopoverPaper), /* harmony export */ PopoverRoot: () => (/* binding */ PopoverRoot), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getOffsetLeft: () => (/* binding */ getOffsetLeft), /* harmony export */ getOffsetTop: () => (/* binding */ getOffsetTop) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_20__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/utils/useSlotProps.js"); /* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/utils/isHostComponent.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/refType/refType.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/chainPropTypes/chainPropTypes.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/HTMLElementType/HTMLElementType.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/integerPropType/integerPropType.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/elementTypeAcceptingRef/elementTypeAcceptingRef.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _utils_debounce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/debounce */ "./node_modules/@mui/material/utils/debounce.js"); /* harmony import */ var _utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/ownerDocument */ "./node_modules/@mui/material/utils/ownerDocument.js"); /* harmony import */ var _utils_ownerWindow__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/ownerWindow */ "./node_modules/@mui/material/utils/ownerWindow.js"); /* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); /* harmony import */ var _Grow__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Grow */ "./node_modules/@mui/material/Grow/Grow.js"); /* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Modal */ "./node_modules/@mui/material/Modal/Modal.js"); /* harmony import */ var _Paper__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Paper */ "./node_modules/@mui/material/Paper/Paper.js"); /* harmony import */ var _popoverClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./popoverClasses */ "./node_modules/@mui/material/Popover/popoverClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["onEntering"], _excluded2 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps", "disableScrollLock"], _excluded3 = ["slotProps"]; function getOffsetTop(rect, vertical) { let offset = 0; if (typeof vertical === 'number') { offset = vertical; } else if (vertical === 'center') { offset = rect.height / 2; } else if (vertical === 'bottom') { offset = rect.height; } return offset; } function getOffsetLeft(rect, horizontal) { let offset = 0; if (typeof horizontal === 'number') { offset = horizontal; } else if (horizontal === 'center') { offset = rect.width / 2; } else if (horizontal === 'right') { offset = rect.width; } return offset; } function getTransformOriginValue(transformOrigin) { return [transformOrigin.horizontal, transformOrigin.vertical].map(n => typeof n === 'number' ? `${n}px` : n).join(' '); } function resolveAnchorEl(anchorEl) { return typeof anchorEl === 'function' ? anchorEl() : anchorEl; } const useUtilityClasses = ownerState => { const { classes } = ownerState; const slots = { root: ['root'], paper: ['paper'] }; return (0,_mui_base__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _popoverClasses__WEBPACK_IMPORTED_MODULE_6__.getPopoverUtilityClass, classes); }; const PopoverRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])(_Modal__WEBPACK_IMPORTED_MODULE_8__["default"], { name: 'MuiPopover', slot: 'Root', overridesResolver: (props, styles) => styles.root })({}); const PopoverPaper = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])(_Paper__WEBPACK_IMPORTED_MODULE_9__["default"], { name: 'MuiPopover', slot: 'Paper', overridesResolver: (props, styles) => styles.paper })({ position: 'absolute', overflowY: 'auto', overflowX: 'hidden', // So we see the popover when it's empty. // It's most likely on issue on userland. minWidth: 16, minHeight: 16, maxWidth: 'calc(100% - 32px)', maxHeight: 'calc(100% - 32px)', // We disable the focus ring for mouse, touch and keyboard users. outline: 0 }); const Popover = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Popover(inProps, ref) { var _slotProps$paper, _slots$root, _slots$paper; const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_10__["default"])({ props: inProps, name: 'MuiPopover' }); const { action, anchorEl, anchorOrigin = { vertical: 'top', horizontal: 'left' }, anchorPosition, anchorReference = 'anchorEl', children, className, container: containerProp, elevation = 8, marginThreshold = 16, open, PaperProps: PaperPropsProp = {}, slots, slotProps, transformOrigin = { vertical: 'top', horizontal: 'left' }, TransitionComponent = _Grow__WEBPACK_IMPORTED_MODULE_11__["default"], transitionDuration: transitionDurationProp = 'auto', TransitionProps: { onEntering } = {}, disableScrollLock = false } = props, TransitionProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props.TransitionProps, _excluded), other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded2); const externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp; const paperRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(); const handlePaperRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_12__["default"])(paperRef, externalPaperSlotProps.ref); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { anchorOrigin, anchorReference, elevation, marginThreshold, externalPaperSlotProps, transformOrigin, TransitionComponent, transitionDuration: transitionDurationProp, TransitionProps }); const classes = useUtilityClasses(ownerState); // Returns the top/left offset of the position // to attach to on the anchor element (or body if none is provided) const getAnchorOffset = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(() => { if (anchorReference === 'anchorPosition') { if (true) { if (!anchorPosition) { console.error('MUI: You need to provide a `anchorPosition` prop when using ' + '<Popover anchorReference="anchorPosition" />.'); } } return anchorPosition; } const resolvedAnchorEl = resolveAnchorEl(anchorEl); // If an anchor element wasn't provided, just use the parent body element of this Popover const anchorElement = resolvedAnchorEl && resolvedAnchorEl.nodeType === 1 ? resolvedAnchorEl : (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__["default"])(paperRef.current).body; const anchorRect = anchorElement.getBoundingClientRect(); if (true) { const box = anchorElement.getBoundingClientRect(); if ( true && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) { console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n')); } } return { top: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin.vertical), left: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin.horizontal) }; }, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical, anchorPosition, anchorReference]); // Returns the base transform origin using the element const getTransformOrigin = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(elemRect => { return { vertical: getOffsetTop(elemRect, transformOrigin.vertical), horizontal: getOffsetLeft(elemRect, transformOrigin.horizontal) }; }, [transformOrigin.horizontal, transformOrigin.vertical]); const getPositioningStyle = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(element => { const elemRect = { width: element.offsetWidth, height: element.offsetHeight }; // Get the transform origin point on the element itself const elemTransformOrigin = getTransformOrigin(elemRect); if (anchorReference === 'none') { return { top: null, left: null, transformOrigin: getTransformOriginValue(elemTransformOrigin) }; } // Get the offset of the anchoring element const anchorOffset = getAnchorOffset(); // Calculate element positioning let top = anchorOffset.top - elemTransformOrigin.vertical; let left = anchorOffset.left - elemTransformOrigin.horizontal; const bottom = top + elemRect.height; const right = left + elemRect.width; // Use the parent window of the anchorEl if provided const containerWindow = (0,_utils_ownerWindow__WEBPACK_IMPORTED_MODULE_14__["default"])(resolveAnchorEl(anchorEl)); // Window thresholds taking required margin into account const heightThreshold = containerWindow.innerHeight - marginThreshold; const widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting if (marginThreshold !== null && top < marginThreshold) { const diff = top - marginThreshold; top -= diff; elemTransformOrigin.vertical += diff; } else if (marginThreshold !== null && bottom > heightThreshold) { const diff = bottom - heightThreshold; top -= diff; elemTransformOrigin.vertical += diff; } if (true) { if (elemRect.height > heightThreshold && elemRect.height && heightThreshold) { console.error(['MUI: The popover component is too tall.', `Some part of it can not be seen on the screen (${elemRect.height - heightThreshold}px).`, 'Please consider adding a `max-height` to improve the user-experience.'].join('\n')); } } // Check if the horizontal axis needs shifting if (marginThreshold !== null && left < marginThreshold) { const diff = left - marginThreshold; left -= diff; elemTransformOrigin.horizontal += diff; } else if (right > widthThreshold) { const diff = right - widthThreshold; left -= diff; elemTransformOrigin.horizontal += diff; } return { top: `${Math.round(top)}px`, left: `${Math.round(left)}px`, transformOrigin: getTransformOriginValue(elemTransformOrigin) }; }, [anchorEl, anchorReference, getAnchorOffset, getTransformOrigin, marginThreshold]); const [isPositioned, setIsPositioned] = react__WEBPACK_IMPORTED_MODULE_2__.useState(open); const setPositioningStyles = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(() => { const element = paperRef.current; if (!element) { return; } const positioning = getPositioningStyle(element); if (positioning.top !== null) { element.style.top = positioning.top; } if (positioning.left !== null) { element.style.left = positioning.left; } element.style.transformOrigin = positioning.transformOrigin; setIsPositioned(true); }, [getPositioningStyle]); react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (disableScrollLock) { window.addEventListener('scroll', setPositioningStyles); } return () => window.removeEventListener('scroll', setPositioningStyles); }, [anchorEl, disableScrollLock, setPositioningStyles]); const handleEntering = (element, isAppearing) => { if (onEntering) { onEntering(element, isAppearing); } setPositioningStyles(); }; const handleExited = () => { setIsPositioned(false); }; react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (open) { setPositioningStyles(); } }); react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle(action, () => open ? { updatePosition: () => { setPositioningStyles(); } } : null, [open, setPositioningStyles]); react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (!open) { return undefined; } const handleResize = (0,_utils_debounce__WEBPACK_IMPORTED_MODULE_15__["default"])(() => { setPositioningStyles(); }); const containerWindow = (0,_utils_ownerWindow__WEBPACK_IMPORTED_MODULE_14__["default"])(anchorEl); containerWindow.addEventListener('resize', handleResize); return () => { handleResize.clear(); containerWindow.removeEventListener('resize', handleResize); }; }, [anchorEl, open, setPositioningStyles]); let transitionDuration = transitionDurationProp; if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) { transitionDuration = undefined; } // If the container prop is provided, use that // If the anchorEl prop is provided, use its parent body element as the container // If neither are provided let the Modal take care of choosing the container const container = containerProp || (anchorEl ? (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__["default"])(resolveAnchorEl(anchorEl)).body : undefined); const RootSlot = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : PopoverRoot; const PaperSlot = (_slots$paper = slots == null ? void 0 : slots.paper) != null ? _slots$paper : PopoverPaper; const paperProps = (0,_mui_base__WEBPACK_IMPORTED_MODULE_16__.useSlotProps)({ elementType: PaperSlot, externalSlotProps: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, externalPaperSlotProps, { style: isPositioned ? externalPaperSlotProps.style : (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, externalPaperSlotProps.style, { opacity: 0 }) }), additionalProps: { elevation, ref: handlePaperRef }, ownerState, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.paper, externalPaperSlotProps == null ? void 0 : externalPaperSlotProps.className) }); const _useSlotProps = (0,_mui_base__WEBPACK_IMPORTED_MODULE_16__.useSlotProps)({ elementType: RootSlot, externalSlotProps: (slotProps == null ? void 0 : slotProps.root) || {}, externalForwardedProps: other, additionalProps: { ref, slotProps: { backdrop: { invisible: true } }, container, open }, ownerState, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className) }), { slotProps: rootSlotPropsProp } = _useSlotProps, rootProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(_useSlotProps, _excluded3); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(RootSlot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, rootProps, !(0,_mui_base__WEBPACK_IMPORTED_MODULE_17__.isHostComponent)(RootSlot) && { slotProps: rootSlotPropsProp, disableScrollLock }, { children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(TransitionComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ appear: true, in: open, onEntering: handleEntering, onExited: handleExited, timeout: transitionDuration }, TransitionProps, { children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(PaperSlot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, paperProps, { children: children })) })) })); }); true ? Popover.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * A ref for imperative actions. * It currently only supports updatePosition() action. */ action: _mui_utils__WEBPACK_IMPORTED_MODULE_18__["default"], /** * An HTML element, [PopoverVirtualElement](/material-ui/react-popover/#virtual-element), * or a function that returns either. * It's used to set the position of the popover. */ anchorEl: (0,_mui_utils__WEBPACK_IMPORTED_MODULE_19__["default"])(prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([_mui_utils__WEBPACK_IMPORTED_MODULE_21__["default"], (prop_types__WEBPACK_IMPORTED_MODULE_20___default().func)]), props => { if (props.open && (!props.anchorReference || props.anchorReference === 'anchorEl')) { const resolvedAnchorEl = resolveAnchorEl(props.anchorEl); if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) { const box = resolvedAnchorEl.getBoundingClientRect(); if ( true && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) { return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n')); } } else { return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', `It should be an Element or PopoverVirtualElement instance but it's \`${resolvedAnchorEl}\` instead.`].join('\n')); } } return null; }), /** * This is the point on the anchor where the popover's * `anchorEl` will attach to. This is not used when the * anchorReference is 'anchorPosition'. * * Options: * vertical: [top, center, bottom]; * horizontal: [left, center, right]. * @default { * vertical: 'top', * horizontal: 'left', * } */ anchorOrigin: prop_types__WEBPACK_IMPORTED_MODULE_20___default().shape({ horizontal: prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOf(['center', 'left', 'right']), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number)]).isRequired, vertical: prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOf(['bottom', 'center', 'top']), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number)]).isRequired }), /** * This is the position that may be used to set the position of the popover. * The coordinates are relative to the application's client area. */ anchorPosition: prop_types__WEBPACK_IMPORTED_MODULE_20___default().shape({ left: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number).isRequired, top: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number).isRequired }), /** * This determines which anchor prop to refer to when setting * the position of the popover. * @default 'anchorEl' */ anchorReference: prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOf(['anchorEl', 'anchorPosition', 'none']), /** * The content of the component. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().node), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().string), /** * An HTML element, component instance, or function that returns either. * The `container` will passed to the Modal component. * * By default, it uses the body of the anchorEl's top-level document object, * so it's simply `document.body` most of the time. */ container: prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([_mui_utils__WEBPACK_IMPORTED_MODULE_21__["default"], (prop_types__WEBPACK_IMPORTED_MODULE_20___default().func)]), /** * Disable the scroll lock behavior. * @default false */ disableScrollLock: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().bool), /** * The elevation of the popover. * @default 8 */ elevation: _mui_utils__WEBPACK_IMPORTED_MODULE_22__["default"], /** * Specifies how close to the edge of the window the popover can appear. * If null, the popover will not be constrained by the window. * @default 16 */ marginThreshold: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number), /** * Callback fired when the component requests to be closed. * The `reason` parameter can optionally be used to control the response to `onClose`. */ onClose: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().func), /** * If `true`, the component is shown. */ open: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().bool).isRequired, /** * Props applied to the [`Paper`](/material-ui/api/paper/) element. * * This prop is an alias for `slotProps.paper` and will be overriden by it if both are used. * @deprecated Use `slotProps.paper` instead. * * @default {} */ PaperProps: prop_types__WEBPACK_IMPORTED_MODULE_20___default().shape({ component: _mui_utils__WEBPACK_IMPORTED_MODULE_23__["default"] }), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * @default {} */ slotProps: prop_types__WEBPACK_IMPORTED_MODULE_20___default().shape({ paper: prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_20___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().object)]), root: prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_20___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().object)]) }), /** * The components used for each slot inside. * * @default {} */ slots: prop_types__WEBPACK_IMPORTED_MODULE_20___default().shape({ paper: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().elementType), root: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().elementType) }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_20___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_20___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().object)]), /** * This is the point on the popover which * will attach to the anchor's origin. * * Options: * vertical: [top, center, bottom, x(px)]; * horizontal: [left, center, right, x(px)]. * @default { * vertical: 'top', * horizontal: 'left', * } */ transformOrigin: prop_types__WEBPACK_IMPORTED_MODULE_20___default().shape({ horizontal: prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOf(['center', 'left', 'right']), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number)]).isRequired, vertical: prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOf(['bottom', 'center', 'top']), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number)]).isRequired }), /** * The component used for the transition. * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component. * @default Grow */ TransitionComponent: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().elementType), /** * Set to 'auto' to automatically calculate transition time based on height. * @default 'auto' */ transitionDuration: prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_20___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number), prop_types__WEBPACK_IMPORTED_MODULE_20___default().shape({ appear: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number), enter: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number), exit: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().number) })]), /** * Props applied to the transition element. * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component. * @default {} */ TransitionProps: (prop_types__WEBPACK_IMPORTED_MODULE_20___default().object) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Popover); /***/ }), /***/ "./node_modules/@mui/material/Popover/popoverClasses.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/material/Popover/popoverClasses.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getPopoverUtilityClass: () => (/* binding */ getPopoverUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getPopoverUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiPopover', slot); } const popoverClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiPopover', ['root', 'paper']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (popoverClasses); /***/ }), /***/ "./node_modules/@mui/material/Select/Select.js": /*!*****************************************************!*\ !*** ./node_modules/@mui/material/Select/Select.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_17__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/deepmerge/deepmerge.js"); /* harmony import */ var _SelectInput__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./SelectInput */ "./node_modules/@mui/material/Select/SelectInput.js"); /* harmony import */ var _FormControl_formControlState__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../FormControl/formControlState */ "./node_modules/@mui/material/FormControl/formControlState.js"); /* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../FormControl/useFormControl */ "./node_modules/@mui/material/FormControl/useFormControl.js"); /* harmony import */ var _internal_svg_icons_ArrowDropDown__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../internal/svg-icons/ArrowDropDown */ "./node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js"); /* harmony import */ var _Input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Input */ "./node_modules/@mui/material/Input/Input.js"); /* harmony import */ var _NativeSelect_NativeSelectInput__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../NativeSelect/NativeSelectInput */ "./node_modules/@mui/material/NativeSelect/NativeSelectInput.js"); /* harmony import */ var _FilledInput__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../FilledInput */ "./node_modules/@mui/material/FilledInput/FilledInput.js"); /* harmony import */ var _OutlinedInput__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../OutlinedInput */ "./node_modules/@mui/material/OutlinedInput/OutlinedInput.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["autoWidth", "children", "classes", "className", "defaultOpen", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"], _excluded2 = ["root"]; const useUtilityClasses = ownerState => { const { classes } = ownerState; return classes; }; const styledRootConfig = { name: 'MuiSelect', overridesResolver: (props, styles) => styles.root, shouldForwardProp: prop => (0,_styles_styled__WEBPACK_IMPORTED_MODULE_5__.rootShouldForwardProp)(prop) && prop !== 'variant', slot: 'Root' }; const StyledInput = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_5__["default"])(_Input__WEBPACK_IMPORTED_MODULE_6__["default"], styledRootConfig)(''); const StyledOutlinedInput = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_5__["default"])(_OutlinedInput__WEBPACK_IMPORTED_MODULE_7__["default"], styledRootConfig)(''); const StyledFilledInput = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_5__["default"])(_FilledInput__WEBPACK_IMPORTED_MODULE_8__["default"], styledRootConfig)(''); const Select = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Select(inProps, ref) { const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__["default"])({ name: 'MuiSelect', props: inProps }); const { autoWidth = false, children, classes: classesProp = {}, className, defaultOpen = false, displayEmpty = false, IconComponent = _internal_svg_icons_ArrowDropDown__WEBPACK_IMPORTED_MODULE_10__["default"], id, input, inputProps, label, labelId, MenuProps, multiple = false, native = false, onClose, onOpen, open, renderValue, SelectDisplayProps, variant: variantProp = 'outlined' } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); const inputComponent = native ? _NativeSelect_NativeSelectInput__WEBPACK_IMPORTED_MODULE_11__["default"] : _SelectInput__WEBPACK_IMPORTED_MODULE_12__["default"]; const muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_13__["default"])(); const fcs = (0,_FormControl_formControlState__WEBPACK_IMPORTED_MODULE_14__["default"])({ props, muiFormControl, states: ['variant', 'error'] }); const variant = fcs.variant || variantProp; const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { variant, classes: classesProp }); const classes = useUtilityClasses(ownerState); const restOfClasses = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(classes, _excluded2); const InputComponent = input || { standard: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(StyledInput, { ownerState: ownerState }), outlined: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(StyledOutlinedInput, { label: label, ownerState: ownerState }), filled: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(StyledFilledInput, { ownerState: ownerState }) }[variant]; const inputComponentRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_15__["default"])(ref, InputComponent.ref); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, { children: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(InputComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ // Most of the logic is implemented in `SelectInput`. // The `Select` component is a simple API wrapper to expose something better to play with. inputComponent, inputProps: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ children, error: fcs.error, IconComponent, variant, type: undefined, // We render a select. We can ignore the type provided by the `Input`. multiple }, native ? { id } : { autoWidth, defaultOpen, displayEmpty, labelId, MenuProps, onClose, onOpen, open, renderValue, SelectDisplayProps: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ id }, SelectDisplayProps) }, inputProps, { classes: inputProps ? (0,_mui_utils__WEBPACK_IMPORTED_MODULE_16__["default"])(restOfClasses, inputProps.classes) : restOfClasses }, input ? input.props.inputProps : {}) }, (multiple && native || displayEmpty) && variant === 'outlined' ? { notched: true } : {}, { ref: inputComponentRef, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(InputComponent.props.className, className, classes.root) }, !input && { variant }, other)) }); }); true ? Select.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * If `true`, the width of the popover will automatically be set according to the items inside the * menu, otherwise it will be at least the width of the select input. * @default false */ autoWidth: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * The option elements to populate the select with. * Can be some `MenuItem` when `native` is false and `option` when `native` is true. * * ⚠️The `MenuItem` elements **must** be direct descendants when `native` is false. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().node), /** * Override or extend the styles applied to the component. * @default {} */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * If `true`, the component is initially open. Use when the component open state is not controlled (i.e. the `open` prop is not defined). * You can only use it when the `native` prop is `false` (default). * @default false */ defaultOpen: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * The default value. Use when the component is not controlled. */ defaultValue: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().any), /** * If `true`, a value is displayed even if no items are selected. * * In order to display a meaningful value, a function can be passed to the `renderValue` prop which * returns the value to be displayed when no items are selected. * * ⚠️ When using this prop, make sure the label doesn't overlap with the empty displayed value. * The label should either be hidden or forced to a shrunk state. * @default false */ displayEmpty: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * The icon that displays the arrow. * @default ArrowDropDownIcon */ IconComponent: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().elementType), /** * The `id` of the wrapper element or the `select` element when `native`. */ id: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * An `Input` element; does not have to be a material-ui specific `Input`. */ input: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().element), /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element. * When `native` is `true`, the attributes are applied on the `select` element. */ inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), /** * See [OutlinedInput#label](/material-ui/api/outlined-input/#props) */ label: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().node), /** * The ID of an element that acts as an additional label. The Select will * be labelled by the additional label and the selected value. */ labelId: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * Props applied to the [`Menu`](/material-ui/api/menu/) element. */ MenuProps: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), /** * If `true`, `value` must be an array and the menu will support multiple selections. * @default false */ multiple: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * If `true`, the component uses a native `select` element. * @default false */ native: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * Callback fired when a menu item is selected. * * @param {SelectChangeEvent<Value>} event The event source of the callback. * You can pull out the new value by accessing `event.target.value` (any). * **Warning**: This is a generic event, not a change event, unless the change event is caused by browser autofill. * @param {object} [child] The react element that was selected when `native` is `false` (default). */ onChange: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), /** * Callback fired when the component requests to be closed. * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses). * * @param {object} event The event source of the callback. */ onClose: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), /** * Callback fired when the component requests to be opened. * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select expands). * * @param {object} event The event source of the callback. */ onOpen: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), /** * If `true`, the component is shown. * You can only use it when the `native` prop is `false` (default). */ open: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * Render the selected value. * You can only use it when the `native` prop is `false` (default). * * @param {any} value The `value` provided to the component. * @returns {ReactNode} */ renderValue: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), /** * Props applied to the clickable div element. */ SelectDisplayProps: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_17___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object)]), /** * The `input` value. Providing an empty string will select no options. * Set to an empty string `''` if you don't want any of the available options to be selected. * * If the value is an object it must have reference equality with the option in order to be selected. * If the value is not an object, the string representation must match with the string representation of the option in order to be selected. */ value: prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOf(['']), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().any)]), /** * The variant to use. * @default 'outlined' */ variant: prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOf(['filled', 'outlined', 'standard']) } : 0; Select.muiName = 'Select'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Select); /***/ }), /***/ "./node_modules/@mui/material/Select/SelectInput.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/material/Select/SelectInput.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_17__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useId/useId.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/refType/refType.js"); /* harmony import */ var _utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/ownerDocument */ "./node_modules/@mui/material/utils/ownerDocument.js"); /* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/capitalize */ "./node_modules/@mui/material/utils/capitalize.js"); /* harmony import */ var _Menu_Menu__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../Menu/Menu */ "./node_modules/@mui/material/Menu/Menu.js"); /* harmony import */ var _NativeSelect_NativeSelectInput__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../NativeSelect/NativeSelectInput */ "./node_modules/@mui/material/NativeSelect/NativeSelectInput.js"); /* harmony import */ var _InputBase_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../InputBase/utils */ "./node_modules/@mui/material/InputBase/utils.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); /* harmony import */ var _utils_useControlled__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/useControlled */ "./node_modules/@mui/material/utils/useControlled.js"); /* harmony import */ var _selectClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./selectClasses */ "./node_modules/@mui/material/Select/selectClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; var _span; const _excluded = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "error", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"]; const SelectSelect = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])('div', { name: 'MuiSelect', slot: 'Select', overridesResolver: (props, styles) => { const { ownerState } = props; return [ // Win specificity over the input base { [`&.${_selectClasses__WEBPACK_IMPORTED_MODULE_7__["default"].select}`]: styles.select }, { [`&.${_selectClasses__WEBPACK_IMPORTED_MODULE_7__["default"].select}`]: styles[ownerState.variant] }, { [`&.${_selectClasses__WEBPACK_IMPORTED_MODULE_7__["default"].error}`]: styles.error }, { [`&.${_selectClasses__WEBPACK_IMPORTED_MODULE_7__["default"].multiple}`]: styles.multiple }]; } })(_NativeSelect_NativeSelectInput__WEBPACK_IMPORTED_MODULE_8__.nativeSelectSelectStyles, { // Win specificity over the input base [`&.${_selectClasses__WEBPACK_IMPORTED_MODULE_7__["default"].select}`]: { height: 'auto', // Resets for multiple select with chips minHeight: '1.4375em', // Required for select\text-field height consistency textOverflow: 'ellipsis', whiteSpace: 'nowrap', overflow: 'hidden' } }); const SelectIcon = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])('svg', { name: 'MuiSelect', slot: 'Icon', overridesResolver: (props, styles) => { const { ownerState } = props; return [styles.icon, ownerState.variant && styles[`icon${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_9__["default"])(ownerState.variant)}`], ownerState.open && styles.iconOpen]; } })(_NativeSelect_NativeSelectInput__WEBPACK_IMPORTED_MODULE_8__.nativeSelectIconStyles); const SelectNativeInput = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__["default"])('input', { shouldForwardProp: prop => (0,_styles_styled__WEBPACK_IMPORTED_MODULE_6__.slotShouldForwardProp)(prop) && prop !== 'classes', name: 'MuiSelect', slot: 'NativeInput', overridesResolver: (props, styles) => styles.nativeInput })({ bottom: 0, left: 0, position: 'absolute', opacity: 0, pointerEvents: 'none', width: '100%', boxSizing: 'border-box' }); function areEqualValues(a, b) { if (typeof b === 'object' && b !== null) { return a === b; } // The value could be a number, the DOM will stringify it anyway. return String(a) === String(b); } function isEmpty(display) { return display == null || typeof display === 'string' && !display.trim(); } const useUtilityClasses = ownerState => { const { classes, variant, disabled, multiple, open, error } = ownerState; const slots = { select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'], icon: ['icon', `icon${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_9__["default"])(variant)}`, open && 'iconOpen', disabled && 'disabled'], nativeInput: ['nativeInput'] }; return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_10__["default"])(slots, _selectClasses__WEBPACK_IMPORTED_MODULE_7__.getSelectUtilityClasses, classes); }; /** * @ignore - internal component. */ const SelectInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function SelectInput(props, ref) { var _MenuProps$slotProps; const { 'aria-describedby': ariaDescribedby, 'aria-label': ariaLabel, autoFocus, autoWidth, children, className, defaultOpen, defaultValue, disabled, displayEmpty, error = false, IconComponent, inputRef: inputRefProp, labelId, MenuProps = {}, multiple, name, onBlur, onChange, onClose, onFocus, onOpen, open: openProp, readOnly, renderValue, SelectDisplayProps = {}, tabIndex: tabIndexProp // catching `type` from Input which makes no sense for SelectInput , value: valueProp, variant = 'standard' } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); const [value, setValueState] = (0,_utils_useControlled__WEBPACK_IMPORTED_MODULE_11__["default"])({ controlled: valueProp, default: defaultValue, name: 'Select' }); const [openState, setOpenState] = (0,_utils_useControlled__WEBPACK_IMPORTED_MODULE_11__["default"])({ controlled: openProp, default: defaultOpen, name: 'Select' }); const inputRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const displayRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); const [displayNode, setDisplayNode] = react__WEBPACK_IMPORTED_MODULE_2__.useState(null); const { current: isOpenControlled } = react__WEBPACK_IMPORTED_MODULE_2__.useRef(openProp != null); const [menuMinWidthState, setMenuMinWidthState] = react__WEBPACK_IMPORTED_MODULE_2__.useState(); const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_12__["default"])(ref, inputRefProp); const handleDisplayRef = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(node => { displayRef.current = node; if (node) { setDisplayNode(node); } }, []); const anchorElement = displayNode == null ? void 0 : displayNode.parentNode; react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle(handleRef, () => ({ focus: () => { displayRef.current.focus(); }, node: inputRef.current, value }), [value]); // Resize menu on `defaultOpen` automatic toggle. react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (defaultOpen && openState && displayNode && !isOpenControlled) { setMenuMinWidthState(autoWidth ? null : anchorElement.clientWidth); displayRef.current.focus(); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [displayNode, autoWidth]); // `isOpenControlled` is ignored because the component should never switch between controlled and uncontrolled modes. // `defaultOpen` and `openState` are ignored to avoid unnecessary callbacks. react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (autoFocus) { displayRef.current.focus(); } }, [autoFocus]); react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (!labelId) { return undefined; } const label = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__["default"])(displayRef.current).getElementById(labelId); if (label) { const handler = () => { if (getSelection().isCollapsed) { displayRef.current.focus(); } }; label.addEventListener('click', handler); return () => { label.removeEventListener('click', handler); }; } return undefined; }, [labelId]); const update = (open, event) => { if (open) { if (onOpen) { onOpen(event); } } else if (onClose) { onClose(event); } if (!isOpenControlled) { setMenuMinWidthState(autoWidth ? null : anchorElement.clientWidth); setOpenState(open); } }; const handleMouseDown = event => { // Ignore everything but left-click if (event.button !== 0) { return; } // Hijack the default focus behavior. event.preventDefault(); displayRef.current.focus(); update(true, event); }; const handleClose = event => { update(false, event); }; const childrenArray = react__WEBPACK_IMPORTED_MODULE_2__.Children.toArray(children); // Support autofill. const handleChange = event => { const child = childrenArray.find(childItem => childItem.props.value === event.target.value); if (child === undefined) { return; } setValueState(child.props.value); if (onChange) { onChange(event, child); } }; const handleItemClick = child => event => { let newValue; // We use the tabindex attribute to signal the available options. if (!event.currentTarget.hasAttribute('tabindex')) { return; } if (multiple) { newValue = Array.isArray(value) ? value.slice() : []; const itemIndex = value.indexOf(child.props.value); if (itemIndex === -1) { newValue.push(child.props.value); } else { newValue.splice(itemIndex, 1); } } else { newValue = child.props.value; } if (child.props.onClick) { child.props.onClick(event); } if (value !== newValue) { setValueState(newValue); if (onChange) { // Redefine target to allow name and value to be read. // This allows seamless integration with the most popular form libraries. // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492 // Clone the event to not override `target` of the original event. const nativeEvent = event.nativeEvent || event; const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent); Object.defineProperty(clonedEvent, 'target', { writable: true, value: { value: newValue, name } }); onChange(clonedEvent, child); } } if (!multiple) { update(false, event); } }; const handleKeyDown = event => { if (!readOnly) { const validKeys = [' ', 'ArrowUp', 'ArrowDown', // The native select doesn't respond to enter on macOS, but it's recommended by // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/ 'Enter']; if (validKeys.indexOf(event.key) !== -1) { event.preventDefault(); update(true, event); } } }; const open = displayNode !== null && openState; const handleBlur = event => { // if open event.stopImmediatePropagation if (!open && onBlur) { // Preact support, target is read only property on a native event. Object.defineProperty(event, 'target', { writable: true, value: { value, name } }); onBlur(event); } }; delete other['aria-invalid']; let display; let displaySingle; const displayMultiple = []; let computeDisplay = false; let foundMatch = false; // No need to display any value if the field is empty. if ((0,_InputBase_utils__WEBPACK_IMPORTED_MODULE_14__.isFilled)({ value }) || displayEmpty) { if (renderValue) { display = renderValue(value); } else { computeDisplay = true; } } const items = childrenArray.map(child => { if (! /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.isValidElement(child)) { return null; } if (true) { if ((0,react_is__WEBPACK_IMPORTED_MODULE_3__.isFragment)(child)) { console.error(["MUI: The Select component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n')); } } let selected; if (multiple) { if (!Array.isArray(value)) { throw new Error( true ? `MUI: The \`value\` prop must be an array when using the \`Select\` component with \`multiple\`.` : 0); } selected = value.some(v => areEqualValues(v, child.props.value)); if (selected && computeDisplay) { displayMultiple.push(child.props.children); } } else { selected = areEqualValues(value, child.props.value); if (selected && computeDisplay) { displaySingle = child.props.children; } } if (selected) { foundMatch = true; } return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(child, { 'aria-selected': selected ? 'true' : 'false', onClick: handleItemClick(child), onKeyUp: event => { if (event.key === ' ') { // otherwise our MenuItems dispatches a click event // it's not behavior of the native <option> and causes // the select to close immediately since we open on space keydown event.preventDefault(); } if (child.props.onKeyUp) { child.props.onKeyUp(event); } }, role: 'option', selected, value: undefined, // The value is most likely not a valid HTML attribute. 'data-value': child.props.value // Instead, we provide it as a data attribute. }); }); if (true) { // eslint-disable-next-line react-hooks/rules-of-hooks react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { if (!foundMatch && !multiple && value !== '') { const values = childrenArray.map(child => child.props.value); console.warn([`MUI: You have provided an out-of-range value \`${value}\` for the select ${name ? `(name="${name}") ` : ''}component.`, "Consider providing a value that matches one of the available options or ''.", `The available values are ${values.filter(x => x != null).map(x => `\`${x}\``).join(', ') || '""'}.`].join('\n')); } }, [foundMatch, childrenArray, multiple, name, value]); } if (computeDisplay) { if (multiple) { if (displayMultiple.length === 0) { display = null; } else { display = displayMultiple.reduce((output, child, index) => { output.push(child); if (index < displayMultiple.length - 1) { output.push(', '); } return output; }, []); } } else { display = displaySingle; } } // Avoid performing a layout computation in the render method. let menuMinWidth = menuMinWidthState; if (!autoWidth && isOpenControlled && displayNode) { menuMinWidth = anchorElement.clientWidth; } let tabIndex; if (typeof tabIndexProp !== 'undefined') { tabIndex = tabIndexProp; } else { tabIndex = disabled ? null : 0; } const buttonId = SelectDisplayProps.id || (name ? `mui-component-select-${name}` : undefined); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { variant, value, open, error }); const classes = useUtilityClasses(ownerState); const paperProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, MenuProps.PaperProps, (_MenuProps$slotProps = MenuProps.slotProps) == null ? void 0 : _MenuProps$slotProps.paper); const listboxId = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_15__["default"])(); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, { children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(SelectSelect, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ ref: handleDisplayRef, tabIndex: tabIndex, role: "combobox", "aria-controls": listboxId, "aria-disabled": disabled ? 'true' : undefined, "aria-expanded": open ? 'true' : 'false', "aria-haspopup": "listbox", "aria-label": ariaLabel, "aria-labelledby": [labelId, buttonId].filter(Boolean).join(' ') || undefined, "aria-describedby": ariaDescribedby, onKeyDown: handleKeyDown, onMouseDown: disabled || readOnly ? null : handleMouseDown, onBlur: handleBlur, onFocus: onFocus }, SelectDisplayProps, { ownerState: ownerState, className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__["default"])(SelectDisplayProps.className, classes.select, className) // The id is required for proper a11y , id: buttonId, children: isEmpty(display) ? // notranslate needed while Google Translate will not fix zero-width space issue _span || (_span = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("span", { className: "notranslate", children: "\u200B" })) : display })), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(SelectNativeInput, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ "aria-invalid": error, value: Array.isArray(value) ? value.join(',') : value, name: name, ref: inputRef, "aria-hidden": true, onChange: handleChange, tabIndex: -1, disabled: disabled, className: classes.nativeInput, autoFocus: autoFocus, ownerState: ownerState }, other)), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(SelectIcon, { as: IconComponent, className: classes.icon, ownerState: ownerState }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_Menu_Menu__WEBPACK_IMPORTED_MODULE_16__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ id: `menu-${name || ''}`, anchorEl: anchorElement, open: open, onClose: handleClose, anchorOrigin: { vertical: 'bottom', horizontal: 'center' }, transformOrigin: { vertical: 'top', horizontal: 'center' } }, MenuProps, { MenuListProps: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ 'aria-labelledby': labelId, role: 'listbox', 'aria-multiselectable': multiple ? 'true' : undefined, disableListWrap: true, id: listboxId }, MenuProps.MenuListProps), slotProps: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, MenuProps.slotProps, { paper: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, paperProps, { style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ minWidth: menuMinWidth }, paperProps != null ? paperProps.style : null) }) }), children: items }))] }); }); true ? SelectInput.propTypes = { /** * @ignore */ 'aria-describedby': (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * @ignore */ 'aria-label': (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * @ignore */ autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * If `true`, the width of the popover will automatically be set according to the items inside the * menu, otherwise it will be at least the width of the select input. */ autoWidth: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * The option elements to populate the select with. * Can be some `<MenuItem>` elements. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().node), /** * Override or extend the styles applied to the component. * See [CSS API](#css) below for more details. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), /** * The CSS class name of the select element. */ className: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * If `true`, the component is toggled on mount. Use when the component open state is not controlled. * You can only use it when the `native` prop is `false` (default). */ defaultOpen: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * The default value. Use when the component is not controlled. */ defaultValue: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().any), /** * If `true`, the select is disabled. */ disabled: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * If `true`, the selected item is displayed even if its value is empty. */ displayEmpty: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * If `true`, the `select input` will indicate an error. */ error: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * The icon that displays the arrow. */ IconComponent: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().elementType).isRequired, /** * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }` * Equivalent to `ref` */ inputRef: _mui_utils__WEBPACK_IMPORTED_MODULE_18__["default"], /** * The ID of an element that acts as an additional label. The Select will * be labelled by the additional label and the selected value. */ labelId: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * Props applied to the [`Menu`](/material-ui/api/menu/) element. */ MenuProps: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), /** * If `true`, `value` must be an array and the menu will support multiple selections. */ multiple: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * Name attribute of the `select` or hidden `input` element. */ name: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), /** * @ignore */ onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), /** * Callback fired when a menu item is selected. * * @param {object} event The event source of the callback. * You can pull out the new value by accessing `event.target.value` (any). * @param {object} [child] The react element that was selected. */ onChange: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), /** * Callback fired when the component requests to be closed. * Use in controlled mode (see open). * * @param {object} event The event source of the callback. */ onClose: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), /** * @ignore */ onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), /** * Callback fired when the component requests to be opened. * Use in controlled mode (see open). * * @param {object} event The event source of the callback. */ onOpen: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), /** * If `true`, the component is shown. */ open: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * @ignore */ readOnly: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), /** * Render the selected value. * * @param {any} value The `value` provided to the component. * @returns {ReactNode} */ renderValue: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), /** * Props applied to the clickable div element. */ SelectDisplayProps: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), /** * @ignore */ tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_17___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string)]), /** * @ignore */ type: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().any), /** * The input value. */ value: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().any), /** * The variant to use. */ variant: prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOf(['standard', 'outlined', 'filled']) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SelectInput); /***/ }), /***/ "./node_modules/@mui/material/Select/selectClasses.js": /*!************************************************************!*\ !*** ./node_modules/@mui/material/Select/selectClasses.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getSelectUtilityClasses: () => (/* binding */ getSelectUtilityClasses) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getSelectUtilityClasses(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiSelect', slot); } const selectClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (selectClasses); /***/ }), /***/ "./node_modules/@mui/material/Skeleton/Skeleton.js": /*!*********************************************************!*\ !*** ./node_modules/@mui/material/Skeleton/Skeleton.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/system */ "./node_modules/@emotion/react/dist/emotion-react.browser.esm.js"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles */ "./node_modules/@mui/material/styles/cssUtils.js"); /* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles */ "./node_modules/@mui/system/esm/colorManipulator.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _skeletonClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./skeletonClasses */ "./node_modules/@mui/material/Skeleton/skeletonClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["animation", "className", "component", "height", "style", "variant", "width"]; let _ = t => t, _t, _t2, _t3, _t4; const useUtilityClasses = ownerState => { const { classes, variant, animation, hasChildren, width, height } = ownerState; const slots = { root: ['root', variant, animation, hasChildren && 'withChildren', hasChildren && !width && 'fitContent', hasChildren && !height && 'heightAuto'] }; return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _skeletonClasses__WEBPACK_IMPORTED_MODULE_6__.getSkeletonUtilityClass, classes); }; const pulseKeyframe = (0,_mui_system__WEBPACK_IMPORTED_MODULE_7__.keyframes)(_t || (_t = _` 0% { opacity: 1; } 50% { opacity: 0.4; } 100% { opacity: 1; } `)); const waveKeyframe = (0,_mui_system__WEBPACK_IMPORTED_MODULE_7__.keyframes)(_t2 || (_t2 = _` 0% { transform: translateX(-100%); } 50% { /* +0.5s of delay between each loop */ transform: translateX(100%); } 100% { transform: translateX(100%); } `)); const SkeletonRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])('span', { name: 'MuiSkeleton', slot: 'Root', overridesResolver: (props, styles) => { const { ownerState } = props; return [styles.root, styles[ownerState.variant], ownerState.animation !== false && styles[ownerState.animation], ownerState.hasChildren && styles.withChildren, ownerState.hasChildren && !ownerState.width && styles.fitContent, ownerState.hasChildren && !ownerState.height && styles.heightAuto]; } })(({ theme, ownerState }) => { const radiusUnit = (0,_styles__WEBPACK_IMPORTED_MODULE_9__.getUnit)(theme.shape.borderRadius) || 'px'; const radiusValue = (0,_styles__WEBPACK_IMPORTED_MODULE_9__.toUnitless)(theme.shape.borderRadius); return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ display: 'block', // Create a "on paper" color with sufficient contrast retaining the color backgroundColor: theme.vars ? theme.vars.palette.Skeleton.bg : (0,_styles__WEBPACK_IMPORTED_MODULE_10__.alpha)(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13), height: '1.2em' }, ownerState.variant === 'text' && { marginTop: 0, marginBottom: 0, height: 'auto', transformOrigin: '0 55%', transform: 'scale(1, 0.60)', borderRadius: `${radiusValue}${radiusUnit}/${Math.round(radiusValue / 0.6 * 10) / 10}${radiusUnit}`, '&:empty:before': { content: '"\\00a0"' } }, ownerState.variant === 'circular' && { borderRadius: '50%' }, ownerState.variant === 'rounded' && { borderRadius: (theme.vars || theme).shape.borderRadius }, ownerState.hasChildren && { '& > *': { visibility: 'hidden' } }, ownerState.hasChildren && !ownerState.width && { maxWidth: 'fit-content' }, ownerState.hasChildren && !ownerState.height && { height: 'auto' }); }, ({ ownerState }) => ownerState.animation === 'pulse' && (0,_mui_system__WEBPACK_IMPORTED_MODULE_7__.css)(_t3 || (_t3 = _` animation: ${0} 2s ease-in-out 0.5s infinite; `), pulseKeyframe), ({ ownerState, theme }) => ownerState.animation === 'wave' && (0,_mui_system__WEBPACK_IMPORTED_MODULE_7__.css)(_t4 || (_t4 = _` position: relative; overflow: hidden; /* Fix bug in Safari https://bugs.webkit.org/show_bug.cgi?id=68196 */ -webkit-mask-image: -webkit-radial-gradient(white, black); &::after { animation: ${0} 2s linear 0.5s infinite; background: linear-gradient( 90deg, transparent, ${0}, transparent ); content: ''; position: absolute; transform: translateX(-100%); /* Avoid flash during server-side hydration */ bottom: 0; left: 0; right: 0; top: 0; } `), waveKeyframe, (theme.vars || theme).palette.action.hover)); const Skeleton = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Skeleton(inProps, ref) { const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_11__["default"])({ props: inProps, name: 'MuiSkeleton' }); const { animation = 'pulse', className, component = 'span', height, style, variant = 'text', width } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { animation, component, variant, hasChildren: Boolean(other.children) }); const classes = useUtilityClasses(ownerState); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(SkeletonRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ as: component, ref: ref, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), ownerState: ownerState }, other, { style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ width, height }, style) })); }); true ? Skeleton.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The animation. * If `false` the animation effect is disabled. * @default 'pulse' */ animation: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['pulse', 'wave', false]), /** * Optional children to infer width and height from. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().node), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType), /** * Height of the skeleton. * Useful when you don't want to adapt the skeleton to a text element but for instance a card. */ height: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)]), /** * @ignore */ style: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object)]), /** * The type of content that will be rendered. * @default 'text' */ variant: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['circular', 'rectangular', 'rounded', 'text']), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)]), /** * Width of the skeleton. * Useful when the skeleton is inside an inline element with no width of its own. */ width: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)]) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Skeleton); /***/ }), /***/ "./node_modules/@mui/material/Skeleton/skeletonClasses.js": /*!****************************************************************!*\ !*** ./node_modules/@mui/material/Skeleton/skeletonClasses.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getSkeletonUtilityClass: () => (/* binding */ getSkeletonUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getSkeletonUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiSkeleton', slot); } const skeletonClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiSkeleton', ['root', 'text', 'rectangular', 'rounded', 'circular', 'pulse', 'wave', 'withChildren', 'fitContent', 'heightAuto']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (skeletonClasses); /***/ }), /***/ "./node_modules/@mui/material/SvgIcon/SvgIcon.js": /*!*******************************************************!*\ !*** ./node_modules/@mui/material/SvgIcon/SvgIcon.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs"); /* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/base/composeClasses */ "./node_modules/@mui/utils/composeClasses/composeClasses.js"); /* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ "./node_modules/@mui/material/utils/capitalize.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _svgIconClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./svgIconClasses */ "./node_modules/@mui/material/SvgIcon/svgIconClasses.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; const _excluded = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"]; const useUtilityClasses = ownerState => { const { color, fontSize, classes } = ownerState; const slots = { root: ['root', color !== 'inherit' && `color${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(color)}`, `fontSize${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(fontSize)}`] }; return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__["default"])(slots, _svgIconClasses__WEBPACK_IMPORTED_MODULE_7__.getSvgIconUtilityClass, classes); }; const SvgIconRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])('svg', { name: 'MuiSvgIcon', slot: 'Root', overridesResolver: (props, styles) => { const { ownerState } = props; return [styles.root, ownerState.color !== 'inherit' && styles[`color${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(ownerState.color)}`], styles[`fontSize${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(ownerState.fontSize)}`]]; } })(({ theme, ownerState }) => { var _theme$transitions, _theme$transitions$cr, _theme$transitions2, _theme$typography, _theme$typography$pxT, _theme$typography2, _theme$typography2$px, _theme$typography3, _theme$typography3$px, _palette$ownerState$c, _palette, _palette2, _palette3; return { userSelect: 'none', width: '1em', height: '1em', display: 'inline-block', // the <svg> will define the property that has `currentColor` // e.g. heroicons uses fill="none" and stroke="currentColor" fill: ownerState.hasSvgAsChild ? undefined : 'currentColor', flexShrink: 0, transition: (_theme$transitions = theme.transitions) == null || (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', { duration: (_theme$transitions2 = theme.transitions) == null || (_theme$transitions2 = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2.shorter }), fontSize: { inherit: 'inherit', small: ((_theme$typography = theme.typography) == null || (_theme$typography$pxT = _theme$typography.pxToRem) == null ? void 0 : _theme$typography$pxT.call(_theme$typography, 20)) || '1.25rem', medium: ((_theme$typography2 = theme.typography) == null || (_theme$typography2$px = _theme$typography2.pxToRem) == null ? void 0 : _theme$typography2$px.call(_theme$typography2, 24)) || '1.5rem', large: ((_theme$typography3 = theme.typography) == null || (_theme$typography3$px = _theme$typography3.pxToRem) == null ? void 0 : _theme$typography3$px.call(_theme$typography3, 35)) || '2.1875rem' }[ownerState.fontSize], // TODO v5 deprecate, v6 remove for sx color: (_palette$ownerState$c = (_palette = (theme.vars || theme).palette) == null || (_palette = _palette[ownerState.color]) == null ? void 0 : _palette.main) != null ? _palette$ownerState$c : { action: (_palette2 = (theme.vars || theme).palette) == null || (_palette2 = _palette2.action) == null ? void 0 : _palette2.active, disabled: (_palette3 = (theme.vars || theme).palette) == null || (_palette3 = _palette3.action) == null ? void 0 : _palette3.disabled, inherit: undefined }[ownerState.color] }; }); const SvgIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function SvgIcon(inProps, ref) { const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__["default"])({ props: inProps, name: 'MuiSvgIcon' }); const { children, className, color = 'inherit', component = 'svg', fontSize = 'medium', htmlColor, inheritViewBox = false, titleAccess, viewBox = '0 0 24 24' } = props, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); const hasSvgAsChild = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.isValidElement(children) && children.type === 'svg'; const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { color, component, fontSize, instanceFontSize: inProps.fontSize, inheritViewBox, viewBox, hasSvgAsChild }); const more = {}; if (!inheritViewBox) { more.viewBox = viewBox; } const classes = useUtilityClasses(ownerState); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(SvgIconRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ as: component, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), focusable: "false", color: htmlColor, "aria-hidden": titleAccess ? undefined : true, role: titleAccess ? 'img' : undefined, ref: ref }, more, other, hasSvgAsChild && children.props, { ownerState: ownerState, children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("title", { children: titleAccess }) : null] })); }); true ? SvgIcon.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * Node passed into the SVG element. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), /** * Override or extend the styles applied to the component. */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), /** * @ignore */ className: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * You can use the `htmlColor` prop to apply a color attribute to the SVG element. * @default 'inherit' */ color: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string)]), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().elementType), /** * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size. * @default 'medium' */ fontSize: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOf(['inherit', 'large', 'medium', 'small']), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string)]), /** * Applies a color attribute to the SVG element. */ htmlColor: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox` * prop will be ignored. * Useful when you want to reference a custom `component` and have `SvgIcon` pass that * `component`'s viewBox to the root node. * @default false */ inheritViewBox: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool), /** * The shape-rendering attribute. The behavior of the different options is described on the * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering). * If you are having issues with blurry icons you should investigate this prop. */ shapeRendering: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object)]), /** * Provides a human-readable title for the element that contains it. * https://www.w3.org/TR/SVG-access/#Equivalent */ titleAccess: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), /** * Allows you to redefine what the coordinates without units mean inside an SVG element. * For example, if the SVG element is 500 (width) by 200 (height), * and you pass viewBox="0 0 50 20", * this means that the coordinates inside the SVG will go from the top left corner (0,0) * to bottom right (50,20) and each unit will be worth 10px. * @default '0 0 24 24' */ viewBox: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string) } : 0; SvgIcon.muiName = 'SvgIcon'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgIcon); /***/ }), /***/ "./node_modules/@mui/material/SvgIcon/svgIconClasses.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/material/SvgIcon/svgIconClasses.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getSvgIconUtilityClass: () => (/* binding */ getSvgIconUtilityClass) /* harmony export */ }); /* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function getSvgIconUtilityClass(slot) { return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiSvgIcon', slot); } const svgIconClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (svgIconClasses); /***/ }), /***/ "./node_modules/@mui/material/colors/blue.js": /*!***************************************************!*\ !*** ./node_modules/@mui/material/colors/blue.js ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const blue = { 50: '#e3f2fd', 100: '#bbdefb', 200: '#90caf9', 300: '#64b5f6', 400: '#42a5f5', 500: '#2196f3', 600: '#1e88e5', 700: '#1976d2', 800: '#1565c0', 900: '#0d47a1', A100: '#82b1ff', A200: '#448aff', A400: '#2979ff', A700: '#2962ff' }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (blue); /***/ }), /***/ "./node_modules/@mui/material/colors/common.js": /*!*****************************************************!*\ !*** ./node_modules/@mui/material/colors/common.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const common = { black: '#000', white: '#fff' }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (common); /***/ }), /***/ "./node_modules/@mui/material/colors/green.js": /*!****************************************************!*\ !*** ./node_modules/@mui/material/colors/green.js ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const green = { 50: '#e8f5e9', 100: '#c8e6c9', 200: '#a5d6a7', 300: '#81c784', 400: '#66bb6a', 500: '#4caf50', 600: '#43a047', 700: '#388e3c', 800: '#2e7d32', 900: '#1b5e20', A100: '#b9f6ca', A200: '#69f0ae', A400: '#00e676', A700: '#00c853' }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (green); /***/ }), /***/ "./node_modules/@mui/material/colors/grey.js": /*!***************************************************!*\ !*** ./node_modules/@mui/material/colors/grey.js ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const grey = { 50: '#fafafa', 100: '#f5f5f5', 200: '#eeeeee', 300: '#e0e0e0', 400: '#bdbdbd', 500: '#9e9e9e', 600: '#757575', 700: '#616161', 800: '#424242', 900: '#212121', A100: '#f5f5f5', A200: '#eeeeee', A400: '#bdbdbd', A700: '#616161' }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (grey); /***/ }), /***/ "./node_modules/@mui/material/colors/lightBlue.js": /*!********************************************************!*\ !*** ./node_modules/@mui/material/colors/lightBlue.js ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const lightBlue = { 50: '#e1f5fe', 100: '#b3e5fc', 200: '#81d4fa', 300: '#4fc3f7', 400: '#29b6f6', 500: '#03a9f4', 600: '#039be5', 700: '#0288d1', 800: '#0277bd', 900: '#01579b', A100: '#80d8ff', A200: '#40c4ff', A400: '#00b0ff', A700: '#0091ea' }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (lightBlue); /***/ }), /***/ "./node_modules/@mui/material/colors/orange.js": /*!*****************************************************!*\ !*** ./node_modules/@mui/material/colors/orange.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const orange = { 50: '#fff3e0', 100: '#ffe0b2', 200: '#ffcc80', 300: '#ffb74d', 400: '#ffa726', 500: '#ff9800', 600: '#fb8c00', 700: '#f57c00', 800: '#ef6c00', 900: '#e65100', A100: '#ffd180', A200: '#ffab40', A400: '#ff9100', A700: '#ff6d00' }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (orange); /***/ }), /***/ "./node_modules/@mui/material/colors/purple.js": /*!*****************************************************!*\ !*** ./node_modules/@mui/material/colors/purple.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const purple = { 50: '#f3e5f5', 100: '#e1bee7', 200: '#ce93d8', 300: '#ba68c8', 400: '#ab47bc', 500: '#9c27b0', 600: '#8e24aa', 700: '#7b1fa2', 800: '#6a1b9a', 900: '#4a148c', A100: '#ea80fc', A200: '#e040fb', A400: '#d500f9', A700: '#aa00ff' }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (purple); /***/ }), /***/ "./node_modules/@mui/material/colors/red.js": /*!**************************************************!*\ !*** ./node_modules/@mui/material/colors/red.js ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const red = { 50: '#ffebee', 100: '#ffcdd2', 200: '#ef9a9a', 300: '#e57373', 400: '#ef5350', 500: '#f44336', 600: '#e53935', 700: '#d32f2f', 800: '#c62828', 900: '#b71c1c', A100: '#ff8a80', A200: '#ff5252', A400: '#ff1744', A700: '#d50000' }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (red); /***/ }), /***/ "./node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js": /*!************************************************************************!*\ !*** ./node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _utils_createSvgIcon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/createSvgIcon */ "./node_modules/@mui/material/utils/createSvgIcon.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; /** * @ignore - internal component. */ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_utils_createSvgIcon__WEBPACK_IMPORTED_MODULE_2__["default"])( /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("path", { d: "M7 10l5 5 5-5z" }), 'ArrowDropDown')); /***/ }), /***/ "./node_modules/@mui/material/styles/createMixins.js": /*!***********************************************************!*\ !*** ./node_modules/@mui/material/styles/createMixins.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ createMixins) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); function createMixins(breakpoints, mixins) { return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ toolbar: { minHeight: 56, [breakpoints.up('xs')]: { '@media (orientation: landscape)': { minHeight: 48 } }, [breakpoints.up('sm')]: { minHeight: 64 } } }, mixins); } /***/ }), /***/ "./node_modules/@mui/material/styles/createPalette.js": /*!************************************************************!*\ !*** ./node_modules/@mui/material/styles/createPalette.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ dark: () => (/* binding */ dark), /* harmony export */ "default": () => (/* binding */ createPalette), /* harmony export */ light: () => (/* binding */ light) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/deepmerge/deepmerge.js"); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/colorManipulator.js"); /* harmony import */ var _colors_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../colors/common */ "./node_modules/@mui/material/colors/common.js"); /* harmony import */ var _colors_grey__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../colors/grey */ "./node_modules/@mui/material/colors/grey.js"); /* harmony import */ var _colors_purple__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../colors/purple */ "./node_modules/@mui/material/colors/purple.js"); /* harmony import */ var _colors_red__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../colors/red */ "./node_modules/@mui/material/colors/red.js"); /* harmony import */ var _colors_orange__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../colors/orange */ "./node_modules/@mui/material/colors/orange.js"); /* harmony import */ var _colors_blue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../colors/blue */ "./node_modules/@mui/material/colors/blue.js"); /* harmony import */ var _colors_lightBlue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../colors/lightBlue */ "./node_modules/@mui/material/colors/lightBlue.js"); /* harmony import */ var _colors_green__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../colors/green */ "./node_modules/@mui/material/colors/green.js"); const _excluded = ["mode", "contrastThreshold", "tonalOffset"]; const light = { // The colors used to style the text. text: { // The most important text. primary: 'rgba(0, 0, 0, 0.87)', // Secondary text. secondary: 'rgba(0, 0, 0, 0.6)', // Disabled text have even lower visual prominence. disabled: 'rgba(0, 0, 0, 0.38)' }, // The color used to divide different elements. divider: 'rgba(0, 0, 0, 0.12)', // The background colors used to style the surfaces. // Consistency between these values is important. background: { paper: _colors_common__WEBPACK_IMPORTED_MODULE_2__["default"].white, default: _colors_common__WEBPACK_IMPORTED_MODULE_2__["default"].white }, // The colors used to style the action elements. action: { // The color of an active action like an icon button. active: 'rgba(0, 0, 0, 0.54)', // The color of an hovered action. hover: 'rgba(0, 0, 0, 0.04)', hoverOpacity: 0.04, // The color of a selected action. selected: 'rgba(0, 0, 0, 0.08)', selectedOpacity: 0.08, // The color of a disabled action. disabled: 'rgba(0, 0, 0, 0.26)', // The background color of a disabled action. disabledBackground: 'rgba(0, 0, 0, 0.12)', disabledOpacity: 0.38, focus: 'rgba(0, 0, 0, 0.12)', focusOpacity: 0.12, activatedOpacity: 0.12 } }; const dark = { text: { primary: _colors_common__WEBPACK_IMPORTED_MODULE_2__["default"].white, secondary: 'rgba(255, 255, 255, 0.7)', disabled: 'rgba(255, 255, 255, 0.5)', icon: 'rgba(255, 255, 255, 0.5)' }, divider: 'rgba(255, 255, 255, 0.12)', background: { paper: '#121212', default: '#121212' }, action: { active: _colors_common__WEBPACK_IMPORTED_MODULE_2__["default"].white, hover: 'rgba(255, 255, 255, 0.08)', hoverOpacity: 0.08, selected: 'rgba(255, 255, 255, 0.16)', selectedOpacity: 0.16, disabled: 'rgba(255, 255, 255, 0.3)', disabledBackground: 'rgba(255, 255, 255, 0.12)', disabledOpacity: 0.38, focus: 'rgba(255, 255, 255, 0.12)', focusOpacity: 0.12, activatedOpacity: 0.24 } }; function addLightOrDark(intent, direction, shade, tonalOffset) { const tonalOffsetLight = tonalOffset.light || tonalOffset; const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5; if (!intent[direction]) { if (intent.hasOwnProperty(shade)) { intent[direction] = intent[shade]; } else if (direction === 'light') { intent.light = (0,_mui_system__WEBPACK_IMPORTED_MODULE_3__.lighten)(intent.main, tonalOffsetLight); } else if (direction === 'dark') { intent.dark = (0,_mui_system__WEBPACK_IMPORTED_MODULE_3__.darken)(intent.main, tonalOffsetDark); } } } function getDefaultPrimary(mode = 'light') { if (mode === 'dark') { return { main: _colors_blue__WEBPACK_IMPORTED_MODULE_4__["default"][200], light: _colors_blue__WEBPACK_IMPORTED_MODULE_4__["default"][50], dark: _colors_blue__WEBPACK_IMPORTED_MODULE_4__["default"][400] }; } return { main: _colors_blue__WEBPACK_IMPORTED_MODULE_4__["default"][700], light: _colors_blue__WEBPACK_IMPORTED_MODULE_4__["default"][400], dark: _colors_blue__WEBPACK_IMPORTED_MODULE_4__["default"][800] }; } function getDefaultSecondary(mode = 'light') { if (mode === 'dark') { return { main: _colors_purple__WEBPACK_IMPORTED_MODULE_5__["default"][200], light: _colors_purple__WEBPACK_IMPORTED_MODULE_5__["default"][50], dark: _colors_purple__WEBPACK_IMPORTED_MODULE_5__["default"][400] }; } return { main: _colors_purple__WEBPACK_IMPORTED_MODULE_5__["default"][500], light: _colors_purple__WEBPACK_IMPORTED_MODULE_5__["default"][300], dark: _colors_purple__WEBPACK_IMPORTED_MODULE_5__["default"][700] }; } function getDefaultError(mode = 'light') { if (mode === 'dark') { return { main: _colors_red__WEBPACK_IMPORTED_MODULE_6__["default"][500], light: _colors_red__WEBPACK_IMPORTED_MODULE_6__["default"][300], dark: _colors_red__WEBPACK_IMPORTED_MODULE_6__["default"][700] }; } return { main: _colors_red__WEBPACK_IMPORTED_MODULE_6__["default"][700], light: _colors_red__WEBPACK_IMPORTED_MODULE_6__["default"][400], dark: _colors_red__WEBPACK_IMPORTED_MODULE_6__["default"][800] }; } function getDefaultInfo(mode = 'light') { if (mode === 'dark') { return { main: _colors_lightBlue__WEBPACK_IMPORTED_MODULE_7__["default"][400], light: _colors_lightBlue__WEBPACK_IMPORTED_MODULE_7__["default"][300], dark: _colors_lightBlue__WEBPACK_IMPORTED_MODULE_7__["default"][700] }; } return { main: _colors_lightBlue__WEBPACK_IMPORTED_MODULE_7__["default"][700], light: _colors_lightBlue__WEBPACK_IMPORTED_MODULE_7__["default"][500], dark: _colors_lightBlue__WEBPACK_IMPORTED_MODULE_7__["default"][900] }; } function getDefaultSuccess(mode = 'light') { if (mode === 'dark') { return { main: _colors_green__WEBPACK_IMPORTED_MODULE_8__["default"][400], light: _colors_green__WEBPACK_IMPORTED_MODULE_8__["default"][300], dark: _colors_green__WEBPACK_IMPORTED_MODULE_8__["default"][700] }; } return { main: _colors_green__WEBPACK_IMPORTED_MODULE_8__["default"][800], light: _colors_green__WEBPACK_IMPORTED_MODULE_8__["default"][500], dark: _colors_green__WEBPACK_IMPORTED_MODULE_8__["default"][900] }; } function getDefaultWarning(mode = 'light') { if (mode === 'dark') { return { main: _colors_orange__WEBPACK_IMPORTED_MODULE_9__["default"][400], light: _colors_orange__WEBPACK_IMPORTED_MODULE_9__["default"][300], dark: _colors_orange__WEBPACK_IMPORTED_MODULE_9__["default"][700] }; } return { main: '#ed6c02', // closest to orange[800] that pass 3:1. light: _colors_orange__WEBPACK_IMPORTED_MODULE_9__["default"][500], dark: _colors_orange__WEBPACK_IMPORTED_MODULE_9__["default"][900] }; } function createPalette(palette) { const { mode = 'light', contrastThreshold = 3, tonalOffset = 0.2 } = palette, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(palette, _excluded); const primary = palette.primary || getDefaultPrimary(mode); const secondary = palette.secondary || getDefaultSecondary(mode); const error = palette.error || getDefaultError(mode); const info = palette.info || getDefaultInfo(mode); const success = palette.success || getDefaultSuccess(mode); const warning = palette.warning || getDefaultWarning(mode); // Use the same logic as // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59 // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54 function getContrastText(background) { const contrastText = (0,_mui_system__WEBPACK_IMPORTED_MODULE_3__.getContrastRatio)(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary; if (true) { const contrast = (0,_mui_system__WEBPACK_IMPORTED_MODULE_3__.getContrastRatio)(background, contrastText); if (contrast < 3) { console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\n')); } } return contrastText; } const augmentColor = ({ color, name, mainShade = 500, lightShade = 300, darkShade = 700 }) => { color = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, color); if (!color.main && color[mainShade]) { color.main = color[mainShade]; } if (!color.hasOwnProperty('main')) { throw new Error( true ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid. The color object needs to have a \`main\` property or a \`${mainShade}\` property.` : 0); } if (typeof color.main !== 'string') { throw new Error( true ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid. \`color.main\` should be a string, but \`${JSON.stringify(color.main)}\` was provided instead. Did you intend to use one of the following approaches? import { green } from "@mui/material/colors"; const theme1 = createTheme({ palette: { primary: green, } }); const theme2 = createTheme({ palette: { primary: { main: green[500] }, } });` : 0); } addLightOrDark(color, 'light', lightShade, tonalOffset); addLightOrDark(color, 'dark', darkShade, tonalOffset); if (!color.contrastText) { color.contrastText = getContrastText(color.main); } return color; }; const modes = { dark, light }; if (true) { if (!modes[mode]) { console.error(`MUI: The palette mode \`${mode}\` is not supported.`); } } const paletteOutput = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_10__["default"])((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ // A collection of common colors. common: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, _colors_common__WEBPACK_IMPORTED_MODULE_2__["default"]), // prevent mutable object. // The palette mode, can be light or dark. mode, // The colors used to represent primary interface elements for a user. primary: augmentColor({ color: primary, name: 'primary' }), // The colors used to represent secondary interface elements for a user. secondary: augmentColor({ color: secondary, name: 'secondary', mainShade: 'A400', lightShade: 'A200', darkShade: 'A700' }), // The colors used to represent interface elements that the user should be made aware of. error: augmentColor({ color: error, name: 'error' }), // The colors used to represent potentially dangerous actions or important messages. warning: augmentColor({ color: warning, name: 'warning' }), // The colors used to present information to the user that is neutral and not necessarily important. info: augmentColor({ color: info, name: 'info' }), // The colors used to indicate the successful completion of an action that user triggered. success: augmentColor({ color: success, name: 'success' }), // The grey colors. grey: _colors_grey__WEBPACK_IMPORTED_MODULE_11__["default"], // Used by `getContrastText()` to maximize the contrast between // the background and the text. contrastThreshold, // Takes a background color and returns the text color that maximizes the contrast. getContrastText, // Generate a rich color object. augmentColor, // Used by the functions below to shift a color's luminance by approximately // two indexes within its tonal palette. // E.g., shift from Red 500 to Red 300 or Red 700. tonalOffset }, modes[mode]), other); return paletteOutput; } /***/ }), /***/ "./node_modules/@mui/material/styles/createTheme.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/material/styles/createTheme.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createMuiTheme: () => (/* binding */ createMuiTheme), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/deepmerge/deepmerge.js"); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/createTheme/createTheme.js"); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js"); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js"); /* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); /* harmony import */ var _createMixins__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createMixins */ "./node_modules/@mui/material/styles/createMixins.js"); /* harmony import */ var _createPalette__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createPalette */ "./node_modules/@mui/material/styles/createPalette.js"); /* harmony import */ var _createTypography__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createTypography */ "./node_modules/@mui/material/styles/createTypography.js"); /* harmony import */ var _shadows__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./shadows */ "./node_modules/@mui/material/styles/shadows.js"); /* harmony import */ var _createTransitions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./createTransitions */ "./node_modules/@mui/material/styles/createTransitions.js"); /* harmony import */ var _zIndex__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./zIndex */ "./node_modules/@mui/material/styles/zIndex.js"); const _excluded = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"]; function createTheme(options = {}, ...args) { const { mixins: mixinsInput = {}, palette: paletteInput = {}, transitions: transitionsInput = {}, typography: typographyInput = {} } = options, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(options, _excluded); if (options.vars) { throw new Error( true ? `MUI: \`vars\` is a private field used for CSS variables support. Please use another name.` : 0); } const palette = (0,_createPalette__WEBPACK_IMPORTED_MODULE_2__["default"])(paletteInput); const systemTheme = (0,_mui_system__WEBPACK_IMPORTED_MODULE_3__["default"])(options); let muiTheme = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(systemTheme, { mixins: (0,_createMixins__WEBPACK_IMPORTED_MODULE_5__["default"])(systemTheme.breakpoints, mixinsInput), palette, // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol. shadows: _shadows__WEBPACK_IMPORTED_MODULE_6__["default"].slice(), typography: (0,_createTypography__WEBPACK_IMPORTED_MODULE_7__["default"])(palette, typographyInput), transitions: (0,_createTransitions__WEBPACK_IMPORTED_MODULE_8__["default"])(transitionsInput), zIndex: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, _zIndex__WEBPACK_IMPORTED_MODULE_9__["default"]) }); muiTheme = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(muiTheme, other); muiTheme = args.reduce((acc, argument) => (0,_mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(acc, argument), muiTheme); if (true) { // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component. const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected']; const traverse = (node, component) => { let key; // eslint-disable-next-line guard-for-in, no-restricted-syntax for (key in node) { const child = node[key]; if (stateClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) { if (true) { const stateClass = (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_10__["default"])('', key); console.error([`MUI: The \`${component}\` component increases ` + `the CSS specificity of the \`${key}\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({ root: { [`&.${stateClass}`]: child } }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\n')); } // Remove the style to prevent global conflicts. node[key] = {}; } } }; Object.keys(muiTheme.components).forEach(component => { const styleOverrides = muiTheme.components[component].styleOverrides; if (styleOverrides && component.indexOf('Mui') === 0) { traverse(styleOverrides, component); } }); } muiTheme.unstable_sxConfig = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, _mui_system__WEBPACK_IMPORTED_MODULE_11__["default"], other == null ? void 0 : other.unstable_sxConfig); muiTheme.unstable_sx = function sx(props) { return (0,_mui_system__WEBPACK_IMPORTED_MODULE_12__["default"])({ sx: props, theme: this }); }; return muiTheme; } let warnedOnce = false; function createMuiTheme(...args) { if (true) { if (!warnedOnce) { warnedOnce = true; console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', "You should use `import { createTheme } from '@mui/material/styles'`"].join('\n')); } } return createTheme(...args); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createTheme); /***/ }), /***/ "./node_modules/@mui/material/styles/createTransitions.js": /*!****************************************************************!*\ !*** ./node_modules/@mui/material/styles/createTransitions.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ createTransitions), /* harmony export */ duration: () => (/* binding */ duration), /* harmony export */ easing: () => (/* binding */ easing) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); const _excluded = ["duration", "easing", "delay"]; // Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves // to learn the context in which each easing should be used. const easing = { // This is the most common easing curve. easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)', // Objects enter the screen at full velocity from off-screen and // slowly decelerate to a resting point. easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)', // Objects leave the screen at full velocity. They do not decelerate when off-screen. easeIn: 'cubic-bezier(0.4, 0, 1, 1)', // The sharp curve is used by objects that may return to the screen at any time. sharp: 'cubic-bezier(0.4, 0, 0.6, 1)' }; // Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations // to learn when use what timing const duration = { shortest: 150, shorter: 200, short: 250, // most basic recommended timing standard: 300, // this is to be used in complex animations complex: 375, // recommended when something is entering screen enteringScreen: 225, // recommended when something is leaving screen leavingScreen: 195 }; function formatMs(milliseconds) { return `${Math.round(milliseconds)}ms`; } function getAutoHeightDuration(height) { if (!height) { return 0; } const constant = height / 36; // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10 return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10); } function createTransitions(inputTransitions) { const mergedEasing = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, easing, inputTransitions.easing); const mergedDuration = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, duration, inputTransitions.duration); const create = (props = ['all'], options = {}) => { const { duration: durationOption = mergedDuration.standard, easing: easingOption = mergedEasing.easeInOut, delay = 0 } = options, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(options, _excluded); if (true) { const isString = value => typeof value === 'string'; // IE11 support, replace with Number.isNaN // eslint-disable-next-line no-restricted-globals const isNumber = value => !isNaN(parseFloat(value)); if (!isString(props) && !Array.isArray(props)) { console.error('MUI: Argument "props" must be a string or Array.'); } if (!isNumber(durationOption) && !isString(durationOption)) { console.error(`MUI: Argument "duration" must be a number or a string but found ${durationOption}.`); } if (!isString(easingOption)) { console.error('MUI: Argument "easing" must be a string.'); } if (!isNumber(delay) && !isString(delay)) { console.error('MUI: Argument "delay" must be a number or a string.'); } if (typeof options !== 'object') { console.error(['MUI: Secong argument of transition.create must be an object.', "Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`"].join('\n')); } if (Object.keys(other).length !== 0) { console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`); } } return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(','); }; return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ getAutoHeightDuration, create }, inputTransitions, { easing: mergedEasing, duration: mergedDuration }); } /***/ }), /***/ "./node_modules/@mui/material/styles/createTypography.js": /*!***************************************************************!*\ !*** ./node_modules/@mui/material/styles/createTypography.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ createTypography) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/deepmerge/deepmerge.js"); const _excluded = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"]; function round(value) { return Math.round(value * 1e5) / 1e5; } const caseAllCaps = { textTransform: 'uppercase' }; const defaultFontFamily = '"Roboto", "Helvetica", "Arial", sans-serif'; /** * @see @link{https://m2.material.io/design/typography/the-type-system.html} * @see @link{https://m2.material.io/design/typography/understanding-typography.html} */ function createTypography(palette, typography) { const _ref = typeof typography === 'function' ? typography(palette) : typography, { fontFamily = defaultFontFamily, // The default font size of the Material Specification. fontSize = 14, // px fontWeightLight = 300, fontWeightRegular = 400, fontWeightMedium = 500, fontWeightBold = 700, // Tell MUI what's the font-size on the html element. // 16px is the default font-size used by browsers. htmlFontSize = 16, // Apply the CSS properties to all the variants. allVariants, pxToRem: pxToRem2 } = _ref, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(_ref, _excluded); if (true) { if (typeof fontSize !== 'number') { console.error('MUI: `fontSize` is required to be a number.'); } if (typeof htmlFontSize !== 'number') { console.error('MUI: `htmlFontSize` is required to be a number.'); } } const coef = fontSize / 14; const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`); const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ fontFamily, fontWeight, fontSize: pxToRem(size), // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/ lineHeight }, fontFamily === defaultFontFamily ? { letterSpacing: `${round(letterSpacing / size)}em` } : {}, casing, allVariants); const variants = { h1: buildVariant(fontWeightLight, 96, 1.167, -1.5), h2: buildVariant(fontWeightLight, 60, 1.2, -0.5), h3: buildVariant(fontWeightRegular, 48, 1.167, 0), h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25), h5: buildVariant(fontWeightRegular, 24, 1.334, 0), h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15), subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15), subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1), body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15), body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15), button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps), caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4), overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps), // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types. inherit: { fontFamily: 'inherit', fontWeight: 'inherit', fontSize: 'inherit', lineHeight: 'inherit', letterSpacing: 'inherit' } }; return (0,_mui_utils__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ htmlFontSize, pxToRem, fontFamily, fontSize, fontWeightLight, fontWeightRegular, fontWeightMedium, fontWeightBold }, variants), other, { clone: false // No need to clone deep }); } /***/ }), /***/ "./node_modules/@mui/material/styles/cssUtils.js": /*!*******************************************************!*\ !*** ./node_modules/@mui/material/styles/cssUtils.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ alignProperty: () => (/* binding */ alignProperty), /* harmony export */ convertLength: () => (/* binding */ convertLength), /* harmony export */ fontGrid: () => (/* binding */ fontGrid), /* harmony export */ getUnit: () => (/* binding */ getUnit), /* harmony export */ isUnitless: () => (/* binding */ isUnitless), /* harmony export */ responsiveProperty: () => (/* binding */ responsiveProperty), /* harmony export */ toUnitless: () => (/* binding */ toUnitless) /* harmony export */ }); function isUnitless(value) { return String(parseFloat(value)).length === String(value).length; } // Ported from Compass // https://github.com/Compass/compass/blob/master/core/stylesheets/compass/typography/_units.scss // Emulate the sass function "unit" function getUnit(input) { return String(input).match(/[\d.\-+]*\s*(.*)/)[1] || ''; } // Emulate the sass function "unitless" function toUnitless(length) { return parseFloat(length); } // Convert any CSS <length> or <percentage> value to any another. // From https://github.com/KyleAMathews/convert-css-length function convertLength(baseFontSize) { return (length, toUnit) => { const fromUnit = getUnit(length); // Optimize for cases where `from` and `to` units are accidentally the same. if (fromUnit === toUnit) { return length; } // Convert input length to pixels. let pxLength = toUnitless(length); if (fromUnit !== 'px') { if (fromUnit === 'em') { pxLength = toUnitless(length) * toUnitless(baseFontSize); } else if (fromUnit === 'rem') { pxLength = toUnitless(length) * toUnitless(baseFontSize); } } // Convert length in pixels to the output unit let outputLength = pxLength; if (toUnit !== 'px') { if (toUnit === 'em') { outputLength = pxLength / toUnitless(baseFontSize); } else if (toUnit === 'rem') { outputLength = pxLength / toUnitless(baseFontSize); } else { return length; } } return parseFloat(outputLength.toFixed(5)) + toUnit; }; } function alignProperty({ size, grid }) { const sizeBelow = size - size % grid; const sizeAbove = sizeBelow + grid; return size - sizeBelow < sizeAbove - size ? sizeBelow : sizeAbove; } // fontGrid finds a minimal grid (in rem) for the fontSize values so that the // lineHeight falls under a x pixels grid, 4px in the case of Material Design, // without changing the relative line height function fontGrid({ lineHeight, pixels, htmlFontSize }) { return pixels / (lineHeight * htmlFontSize); } /** * generate a responsive version of a given CSS property * @example * responsiveProperty({ * cssProperty: 'fontSize', * min: 15, * max: 20, * unit: 'px', * breakpoints: [300, 600], * }) * * // this returns * * { * fontSize: '15px', * '@media (min-width:300px)': { * fontSize: '17.5px', * }, * '@media (min-width:600px)': { * fontSize: '20px', * }, * } * @param {Object} params * @param {string} params.cssProperty - The CSS property to be made responsive * @param {number} params.min - The smallest value of the CSS property * @param {number} params.max - The largest value of the CSS property * @param {string} [params.unit] - The unit to be used for the CSS property * @param {Array.number} [params.breakpoints] - An array of breakpoints * @param {number} [params.alignStep] - Round scaled value to fall under this grid * @returns {Object} responsive styles for {params.cssProperty} */ function responsiveProperty({ cssProperty, min, max, unit = 'rem', breakpoints = [600, 900, 1200], transform = null }) { const output = { [cssProperty]: `${min}${unit}` }; const factor = (max - min) / breakpoints[breakpoints.length - 1]; breakpoints.forEach(breakpoint => { let value = min + factor * breakpoint; if (transform !== null) { value = transform(value); } output[`@media (min-width:${breakpoint}px)`] = { [cssProperty]: `${Math.round(value * 10000) / 10000}${unit}` }; }); return output; } /***/ }), /***/ "./node_modules/@mui/material/styles/defaultTheme.js": /*!***********************************************************!*\ !*** ./node_modules/@mui/material/styles/defaultTheme.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _createTheme__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createTheme */ "./node_modules/@mui/material/styles/createTheme.js"); 'use client'; const defaultTheme = (0,_createTheme__WEBPACK_IMPORTED_MODULE_0__["default"])(); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaultTheme); /***/ }), /***/ "./node_modules/@mui/material/styles/getOverlayAlpha.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/material/styles/getOverlayAlpha.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); // Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61 const getOverlayAlpha = elevation => { let alphaValue; if (elevation < 1) { alphaValue = 5.11916 * elevation ** 2; } else { alphaValue = 4.5 * Math.log(elevation + 1) + 2; } return (alphaValue / 100).toFixed(2); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getOverlayAlpha); /***/ }), /***/ "./node_modules/@mui/material/styles/identifier.js": /*!*********************************************************!*\ !*** ./node_modules/@mui/material/styles/identifier.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ('$$material'); /***/ }), /***/ "./node_modules/@mui/material/styles/shadows.js": /*!******************************************************!*\ !*** ./node_modules/@mui/material/styles/shadows.js ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const shadowKeyUmbraOpacity = 0.2; const shadowKeyPenumbraOpacity = 0.14; const shadowAmbientShadowOpacity = 0.12; function createShadow(...px) { return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(','); } // Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss const shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)]; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (shadows); /***/ }), /***/ "./node_modules/@mui/material/styles/styled.js": /*!*****************************************************!*\ !*** ./node_modules/@mui/material/styles/styled.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ rootShouldForwardProp: () => (/* binding */ rootShouldForwardProp), /* harmony export */ slotShouldForwardProp: () => (/* binding */ slotShouldForwardProp) /* harmony export */ }); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/createStyled.js"); /* harmony import */ var _defaultTheme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./defaultTheme */ "./node_modules/@mui/material/styles/defaultTheme.js"); /* harmony import */ var _identifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identifier */ "./node_modules/@mui/material/styles/identifier.js"); 'use client'; const rootShouldForwardProp = prop => (0,_mui_system__WEBPACK_IMPORTED_MODULE_0__.shouldForwardProp)(prop) && prop !== 'classes'; const slotShouldForwardProp = _mui_system__WEBPACK_IMPORTED_MODULE_0__.shouldForwardProp; const styled = (0,_mui_system__WEBPACK_IMPORTED_MODULE_0__["default"])({ themeId: _identifier__WEBPACK_IMPORTED_MODULE_1__["default"], defaultTheme: _defaultTheme__WEBPACK_IMPORTED_MODULE_2__["default"], rootShouldForwardProp }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (styled); /***/ }), /***/ "./node_modules/@mui/material/styles/useTheme.js": /*!*******************************************************!*\ !*** ./node_modules/@mui/material/styles/useTheme.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ useTheme) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/useTheme.js"); /* harmony import */ var _defaultTheme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./defaultTheme */ "./node_modules/@mui/material/styles/defaultTheme.js"); /* harmony import */ var _identifier__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./identifier */ "./node_modules/@mui/material/styles/identifier.js"); 'use client'; function useTheme() { const theme = (0,_mui_system__WEBPACK_IMPORTED_MODULE_1__["default"])(_defaultTheme__WEBPACK_IMPORTED_MODULE_2__["default"]); if (true) { // eslint-disable-next-line react-hooks/rules-of-hooks react__WEBPACK_IMPORTED_MODULE_0__.useDebugValue(theme); } return theme[_identifier__WEBPACK_IMPORTED_MODULE_3__["default"]] || theme; } /***/ }), /***/ "./node_modules/@mui/material/styles/useThemeProps.js": /*!************************************************************!*\ !*** ./node_modules/@mui/material/styles/useThemeProps.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ useThemeProps) /* harmony export */ }); /* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/useThemeProps/useThemeProps.js"); /* harmony import */ var _defaultTheme__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultTheme */ "./node_modules/@mui/material/styles/defaultTheme.js"); /* harmony import */ var _identifier__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identifier */ "./node_modules/@mui/material/styles/identifier.js"); 'use client'; function useThemeProps({ props, name }) { return (0,_mui_system__WEBPACK_IMPORTED_MODULE_0__["default"])({ props, name, defaultTheme: _defaultTheme__WEBPACK_IMPORTED_MODULE_1__["default"], themeId: _identifier__WEBPACK_IMPORTED_MODULE_2__["default"] }); } /***/ }), /***/ "./node_modules/@mui/material/styles/zIndex.js": /*!*****************************************************!*\ !*** ./node_modules/@mui/material/styles/zIndex.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); // We need to centralize the zIndex definitions as they work // like global values in the browser. const zIndex = { mobileStepper: 1000, fab: 1050, speedDial: 1050, appBar: 1100, drawer: 1200, modal: 1300, snackbar: 1400, tooltip: 1500 }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (zIndex); /***/ }), /***/ "./node_modules/@mui/material/transitions/utils.js": /*!*********************************************************!*\ !*** ./node_modules/@mui/material/transitions/utils.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getTransitionProps: () => (/* binding */ getTransitionProps), /* harmony export */ reflow: () => (/* binding */ reflow) /* harmony export */ }); const reflow = node => node.scrollTop; function getTransitionProps(props, options) { var _style$transitionDura, _style$transitionTimi; const { timeout, easing, style = {} } = props; return { duration: (_style$transitionDura = style.transitionDuration) != null ? _style$transitionDura : typeof timeout === 'number' ? timeout : timeout[options.mode] || 0, easing: (_style$transitionTimi = style.transitionTimingFunction) != null ? _style$transitionTimi : typeof easing === 'object' ? easing[options.mode] : easing, delay: style.transitionDelay }; } /***/ }), /***/ "./node_modules/@mui/material/utils/capitalize.js": /*!********************************************************!*\ !*** ./node_modules/@mui/material/utils/capitalize.js ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/capitalize/capitalize.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/material/utils/createSvgIcon.js": /*!***********************************************************!*\ !*** ./node_modules/@mui/material/utils/createSvgIcon.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ createSvgIcon) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _SvgIcon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../SvgIcon */ "./node_modules/@mui/material/SvgIcon/SvgIcon.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; /** * Private module reserved for @mui packages. */ function createSvgIcon(path, displayName) { function Component(props, ref) { return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_SvgIcon__WEBPACK_IMPORTED_MODULE_3__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ "data-testid": `${displayName}Icon`, ref: ref }, props, { children: path })); } if (true) { // Need to set `displayName` on the inner component for React.memo. // React prior to 16.14 ignores `displayName` on the wrapper. Component.displayName = `${displayName}Icon`; } Component.muiName = _SvgIcon__WEBPACK_IMPORTED_MODULE_3__["default"].muiName; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.memo( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(Component)); } /***/ }), /***/ "./node_modules/@mui/material/utils/debounce.js": /*!******************************************************!*\ !*** ./node_modules/@mui/material/utils/debounce.js ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/debounce/debounce.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/material/utils/getScrollbarSize.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/material/utils/getScrollbarSize.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/getScrollbarSize/getScrollbarSize.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/material/utils/isMuiElement.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/material/utils/isMuiElement.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/isMuiElement/isMuiElement.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/material/utils/ownerDocument.js": /*!***********************************************************!*\ !*** ./node_modules/@mui/material/utils/ownerDocument.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/ownerDocument/ownerDocument.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/material/utils/ownerWindow.js": /*!*********************************************************!*\ !*** ./node_modules/@mui/material/utils/ownerWindow.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/ownerWindow/ownerWindow.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/material/utils/useControlled.js": /*!***********************************************************!*\ !*** ./node_modules/@mui/material/utils/useControlled.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useControlled/useControlled.js"); 'use client'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/material/utils/useEnhancedEffect.js": /*!***************************************************************!*\ !*** ./node_modules/@mui/material/utils/useEnhancedEffect.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.js"); 'use client'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/material/utils/useEventCallback.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/material/utils/useEventCallback.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useEventCallback/useEventCallback.js"); 'use client'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/material/utils/useForkRef.js": /*!********************************************************!*\ !*** ./node_modules/@mui/material/utils/useForkRef.js ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useForkRef/useForkRef.js"); 'use client'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/material/utils/useIsFocusVisible.js": /*!***************************************************************!*\ !*** ./node_modules/@mui/material/utils/useIsFocusVisible.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/useIsFocusVisible/useIsFocusVisible.js"); 'use client'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js": /*!**********************************************************************!*\ !*** ./node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ GlobalStyles) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _emotion_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/react */ "./node_modules/@emotion/react/dist/emotion-react.browser.esm.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; function isEmpty(obj) { return obj === undefined || obj === null || Object.keys(obj).length === 0; } function GlobalStyles(props) { const { styles, defaultTheme = {} } = props; const globalStyles = typeof styles === 'function' ? themeInput => styles(isEmpty(themeInput) ? defaultTheme : themeInput) : styles; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_emotion_react__WEBPACK_IMPORTED_MODULE_2__.Global, { styles: globalStyles }); } true ? GlobalStyles.propTypes = { defaultTheme: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object), styles: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().array), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func)]) } : 0; /***/ }), /***/ "./node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js": /*!**************************************************************************************!*\ !*** ./node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js ***! \**************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ StyledEngineProvider) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _emotion_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/react */ "./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js"); /* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/cache */ "./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; // prepend: true moves MUI styles to the top of the <head> so they're loaded first. // It allows developers to easily override MUI styles with other styling solutions, like CSS modules. let cache; if (typeof document === 'object') { cache = (0,_emotion_cache__WEBPACK_IMPORTED_MODULE_1__["default"])({ key: 'css', prepend: true }); } function StyledEngineProvider(props) { const { injectFirst, children } = props; return injectFirst && cache ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_emotion_react__WEBPACK_IMPORTED_MODULE_3__.C, { value: cache, children: children }) : children; } true ? StyledEngineProvider.propTypes = { /** * Your component tree. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().node), /** * By default, the styles are injected last in the <head> element of the page. * As a result, they gain more specificity than any other style sheet. * If you want to override MUI's styles, set this prop. */ injectFirst: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool) } : 0; /***/ }), /***/ "./node_modules/@mui/styled-engine/index.js": /*!**************************************************!*\ !*** ./node_modules/@mui/styled-engine/index.js ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ GlobalStyles: () => (/* reexport safe */ _GlobalStyles__WEBPACK_IMPORTED_MODULE_4__["default"]), /* harmony export */ StyledEngineProvider: () => (/* reexport safe */ _StyledEngineProvider__WEBPACK_IMPORTED_MODULE_3__["default"]), /* harmony export */ ThemeContext: () => (/* reexport safe */ _emotion_react__WEBPACK_IMPORTED_MODULE_1__.T), /* harmony export */ css: () => (/* reexport safe */ _emotion_react__WEBPACK_IMPORTED_MODULE_2__.css), /* harmony export */ "default": () => (/* binding */ styled), /* harmony export */ internal_processStyles: () => (/* binding */ internal_processStyles), /* harmony export */ keyframes: () => (/* reexport safe */ _emotion_react__WEBPACK_IMPORTED_MODULE_2__.keyframes) /* harmony export */ }); /* harmony import */ var _emotion_styled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/styled */ "./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js"); /* harmony import */ var _emotion_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/react */ "./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js"); /* harmony import */ var _emotion_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/react */ "./node_modules/@emotion/react/dist/emotion-react.browser.esm.js"); /* harmony import */ var _StyledEngineProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./StyledEngineProvider */ "./node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js"); /* harmony import */ var _GlobalStyles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GlobalStyles */ "./node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js"); /** * @mui/styled-engine v5.15.9 * * @license MIT * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ 'use client'; /* eslint-disable no-underscore-dangle */ function styled(tag, options) { const stylesFactory = (0,_emotion_styled__WEBPACK_IMPORTED_MODULE_0__["default"])(tag, options); if (true) { return (...styles) => { const component = typeof tag === 'string' ? `"${tag}"` : 'component'; if (styles.length === 0) { console.error([`MUI: Seems like you called \`styled(${component})()\` without a \`style\` argument.`, 'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join('\n')); } else if (styles.some(style => style === undefined)) { console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`); } return stylesFactory(...styles); }; } return stylesFactory; } // eslint-disable-next-line @typescript-eslint/naming-convention const internal_processStyles = (tag, processor) => { // Emotion attaches all the styles as `__emotion_styles`. // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186 if (Array.isArray(tag.__emotion_styles)) { tag.__emotion_styles = processor(tag.__emotion_styles); } }; /***/ }), /***/ "./node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js": /*!*******************************************************************!*\ !*** ./node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _mui_styled_engine__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/styled-engine */ "./node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js"); /* harmony import */ var _useTheme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../useTheme */ "./node_modules/@mui/system/esm/useTheme.js"); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); 'use client'; function GlobalStyles({ styles, themeId, defaultTheme = {} }) { const upperTheme = (0,_useTheme__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultTheme); const globalStyles = typeof styles === 'function' ? styles(themeId ? upperTheme[themeId] || upperTheme : upperTheme) : styles; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_mui_styled_engine__WEBPACK_IMPORTED_MODULE_3__["default"], { styles: globalStyles }); } true ? GlobalStyles.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * @ignore */ defaultTheme: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object), /** * @ignore */ styles: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().array), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool)]), /** * @ignore */ themeId: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string) } : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GlobalStyles); /***/ }), /***/ "./node_modules/@mui/system/esm/borders.js": /*!*************************************************!*\ !*** ./node_modules/@mui/system/esm/borders.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ border: () => (/* binding */ border), /* harmony export */ borderBottom: () => (/* binding */ borderBottom), /* harmony export */ borderBottomColor: () => (/* binding */ borderBottomColor), /* harmony export */ borderColor: () => (/* binding */ borderColor), /* harmony export */ borderLeft: () => (/* binding */ borderLeft), /* harmony export */ borderLeftColor: () => (/* binding */ borderLeftColor), /* harmony export */ borderRadius: () => (/* binding */ borderRadius), /* harmony export */ borderRight: () => (/* binding */ borderRight), /* harmony export */ borderRightColor: () => (/* binding */ borderRightColor), /* harmony export */ borderTop: () => (/* binding */ borderTop), /* harmony export */ borderTopColor: () => (/* binding */ borderTopColor), /* harmony export */ borderTransform: () => (/* binding */ borderTransform), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ outline: () => (/* binding */ outline), /* harmony export */ outlineColor: () => (/* binding */ outlineColor) /* harmony export */ }); /* harmony import */ var _responsivePropType__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./responsivePropType */ "./node_modules/@mui/system/esm/responsivePropType.js"); /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style */ "./node_modules/@mui/system/esm/style.js"); /* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./compose */ "./node_modules/@mui/system/esm/compose.js"); /* harmony import */ var _spacing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./spacing */ "./node_modules/@mui/system/esm/spacing.js"); /* harmony import */ var _breakpoints__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./breakpoints */ "./node_modules/@mui/system/esm/breakpoints.js"); function borderTransform(value) { if (typeof value !== 'number') { return value; } return `${value}px solid`; } function createBorderStyle(prop, transform) { return (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop, themeKey: 'borders', transform }); } const border = createBorderStyle('border', borderTransform); const borderTop = createBorderStyle('borderTop', borderTransform); const borderRight = createBorderStyle('borderRight', borderTransform); const borderBottom = createBorderStyle('borderBottom', borderTransform); const borderLeft = createBorderStyle('borderLeft', borderTransform); const borderColor = createBorderStyle('borderColor'); const borderTopColor = createBorderStyle('borderTopColor'); const borderRightColor = createBorderStyle('borderRightColor'); const borderBottomColor = createBorderStyle('borderBottomColor'); const borderLeftColor = createBorderStyle('borderLeftColor'); const outline = createBorderStyle('outline', borderTransform); const outlineColor = createBorderStyle('outlineColor'); // false positive // eslint-disable-next-line react/function-component-definition const borderRadius = props => { if (props.borderRadius !== undefined && props.borderRadius !== null) { const transformer = (0,_spacing__WEBPACK_IMPORTED_MODULE_1__.createUnaryUnit)(props.theme, 'shape.borderRadius', 4, 'borderRadius'); const styleFromPropValue = propValue => ({ borderRadius: (0,_spacing__WEBPACK_IMPORTED_MODULE_1__.getValue)(transformer, propValue) }); return (0,_breakpoints__WEBPACK_IMPORTED_MODULE_2__.handleBreakpoints)(props, props.borderRadius, styleFromPropValue); } return null; }; borderRadius.propTypes = true ? { borderRadius: _responsivePropType__WEBPACK_IMPORTED_MODULE_3__["default"] } : 0; borderRadius.filterProps = ['borderRadius']; const borders = (0,_compose__WEBPACK_IMPORTED_MODULE_4__["default"])(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (borders); /***/ }), /***/ "./node_modules/@mui/system/esm/breakpoints.js": /*!*****************************************************!*\ !*** ./node_modules/@mui/system/esm/breakpoints.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ computeBreakpointsBase: () => (/* binding */ computeBreakpointsBase), /* harmony export */ createEmptyBreakpointObject: () => (/* binding */ createEmptyBreakpointObject), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ handleBreakpoints: () => (/* binding */ handleBreakpoints), /* harmony export */ mergeBreakpointsInOrder: () => (/* binding */ mergeBreakpointsInOrder), /* harmony export */ removeUnusedBreakpoints: () => (/* binding */ removeUnusedBreakpoints), /* harmony export */ resolveBreakpointValues: () => (/* binding */ resolveBreakpointValues), /* harmony export */ values: () => (/* binding */ values) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/deepmerge/deepmerge.js"); /* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./merge */ "./node_modules/@mui/system/esm/merge.js"); // The breakpoint **start** at this value. // For instance with the first breakpoint xs: [xs, sm[. const values = { xs: 0, // phone sm: 600, // tablet md: 900, // small laptop lg: 1200, // desktop xl: 1536 // large screen }; const defaultBreakpoints = { // Sorted ASC by size. That's important. // It can't be configured as it's used statically for propTypes. keys: ['xs', 'sm', 'md', 'lg', 'xl'], up: key => `@media (min-width:${values[key]}px)` }; function handleBreakpoints(props, propValue, styleFromPropValue) { const theme = props.theme || {}; if (Array.isArray(propValue)) { const themeBreakpoints = theme.breakpoints || defaultBreakpoints; return propValue.reduce((acc, item, index) => { acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]); return acc; }, {}); } if (typeof propValue === 'object') { const themeBreakpoints = theme.breakpoints || defaultBreakpoints; return Object.keys(propValue).reduce((acc, breakpoint) => { // key is breakpoint if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) { const mediaKey = themeBreakpoints.up(breakpoint); acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint); } else { const cssKey = breakpoint; acc[cssKey] = propValue[cssKey]; } return acc; }, {}); } const output = styleFromPropValue(propValue); return output; } function breakpoints(styleFunction) { // false positive // eslint-disable-next-line react/function-component-definition const newStyleFunction = props => { const theme = props.theme || {}; const base = styleFunction(props); const themeBreakpoints = theme.breakpoints || defaultBreakpoints; const extended = themeBreakpoints.keys.reduce((acc, key) => { if (props[key]) { acc = acc || {}; acc[themeBreakpoints.up(key)] = styleFunction((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ theme }, props[key])); } return acc; }, null); return (0,_merge__WEBPACK_IMPORTED_MODULE_1__["default"])(base, extended); }; newStyleFunction.propTypes = true ? (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, styleFunction.propTypes, { xs: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object), sm: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object), md: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object), lg: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object), xl: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object) }) : 0; newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps]; return newStyleFunction; } function createEmptyBreakpointObject(breakpointsInput = {}) { var _breakpointsInput$key; const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => { const breakpointStyleKey = breakpointsInput.up(key); acc[breakpointStyleKey] = {}; return acc; }, {}); return breakpointsInOrder || {}; } function removeUnusedBreakpoints(breakpointKeys, style) { return breakpointKeys.reduce((acc, key) => { const breakpointOutput = acc[key]; const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0; if (isBreakpointUnused) { delete acc[key]; } return acc; }, style); } function mergeBreakpointsInOrder(breakpointsInput, ...styles) { const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput); const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => (0,_mui_utils__WEBPACK_IMPORTED_MODULE_3__["default"])(prev, next), {}); return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput); } // compute base for responsive values; e.g., // [1,2,3] => {xs: true, sm: true, md: true} // {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true} function computeBreakpointsBase(breakpointValues, themeBreakpoints) { // fixed value if (typeof breakpointValues !== 'object') { return {}; } const base = {}; const breakpointsKeys = Object.keys(themeBreakpoints); if (Array.isArray(breakpointValues)) { breakpointsKeys.forEach((breakpoint, i) => { if (i < breakpointValues.length) { base[breakpoint] = true; } }); } else { breakpointsKeys.forEach(breakpoint => { if (breakpointValues[breakpoint] != null) { base[breakpoint] = true; } }); } return base; } function resolveBreakpointValues({ values: breakpointValues, breakpoints: themeBreakpoints, base: customBase }) { const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints); const keys = Object.keys(base); if (keys.length === 0) { return breakpointValues; } let previous; return keys.reduce((acc, breakpoint, i) => { if (Array.isArray(breakpointValues)) { acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous]; previous = i; } else if (typeof breakpointValues === 'object') { acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous]; previous = breakpoint; } else { acc[breakpoint] = breakpointValues; } return acc; }, {}); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (breakpoints); /***/ }), /***/ "./node_modules/@mui/system/esm/colorManipulator.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/system/esm/colorManipulator.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ alpha: () => (/* binding */ alpha), /* harmony export */ blend: () => (/* binding */ blend), /* harmony export */ colorChannel: () => (/* binding */ colorChannel), /* harmony export */ darken: () => (/* binding */ darken), /* harmony export */ decomposeColor: () => (/* binding */ decomposeColor), /* harmony export */ emphasize: () => (/* binding */ emphasize), /* harmony export */ getContrastRatio: () => (/* binding */ getContrastRatio), /* harmony export */ getLuminance: () => (/* binding */ getLuminance), /* harmony export */ hexToRgb: () => (/* binding */ hexToRgb), /* harmony export */ hslToRgb: () => (/* binding */ hslToRgb), /* harmony export */ lighten: () => (/* binding */ lighten), /* harmony export */ private_safeAlpha: () => (/* binding */ private_safeAlpha), /* harmony export */ private_safeColorChannel: () => (/* binding */ private_safeColorChannel), /* harmony export */ private_safeDarken: () => (/* binding */ private_safeDarken), /* harmony export */ private_safeEmphasize: () => (/* binding */ private_safeEmphasize), /* harmony export */ private_safeLighten: () => (/* binding */ private_safeLighten), /* harmony export */ recomposeColor: () => (/* binding */ recomposeColor), /* harmony export */ rgbToHex: () => (/* binding */ rgbToHex) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/clamp/clamp.js"); /* eslint-disable @typescript-eslint/naming-convention */ /** * Returns a number whose value is limited to the given range. * @param {number} value The value to be clamped * @param {number} min The lower boundary of the output range * @param {number} max The upper boundary of the output range * @returns {number} A number in the range [min, max] */ function clampWrapper(value, min = 0, max = 1) { if (true) { if (value < min || value > max) { console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`); } } return (0,_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"])(value, min, max); } /** * Converts a color from CSS hex format to CSS rgb format. * @param {string} color - Hex color, i.e. #nnn or #nnnnnn * @returns {string} A CSS rgb color string */ function hexToRgb(color) { color = color.slice(1); const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g'); let colors = color.match(re); if (colors && colors[0].length === 1) { colors = colors.map(n => n + n); } return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => { return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000; }).join(', ')})` : ''; } function intToHex(int) { const hex = int.toString(16); return hex.length === 1 ? `0${hex}` : hex; } /** * Returns an object with the type and values of a color. * * Note: Does not support rgb % values. * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color() * @returns {object} - A MUI color object: {type: string, values: number[]} */ function decomposeColor(color) { // Idempotent if (color.type) { return color; } if (color.charAt(0) === '#') { return decomposeColor(hexToRgb(color)); } const marker = color.indexOf('('); const type = color.substring(0, marker); if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) { throw new Error( true ? `MUI: Unsupported \`${color}\` color. The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : 0); } let values = color.substring(marker + 1, color.length - 1); let colorSpace; if (type === 'color') { values = values.split(' '); colorSpace = values.shift(); if (values.length === 4 && values[3].charAt(0) === '/') { values[3] = values[3].slice(1); } if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) { throw new Error( true ? `MUI: unsupported \`${colorSpace}\` color space. The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : 0); } } else { values = values.split(','); } values = values.map(value => parseFloat(value)); return { type, values, colorSpace }; } /** * Returns a channel created from the input color. * * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color() * @returns {string} - The channel for the color, that can be used in rgba or hsla colors */ const colorChannel = color => { const decomposedColor = decomposeColor(color); return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' '); }; const private_safeColorChannel = (color, warning) => { try { return colorChannel(color); } catch (error) { if (warning && "development" !== 'production') { console.warn(warning); } return color; } }; /** * Converts a color object with type and values to a string. * @param {object} color - Decomposed color * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color' * @param {array} color.values - [n,n,n] or [n,n,n,n] * @returns {string} A CSS color string */ function recomposeColor(color) { const { type, colorSpace } = color; let { values } = color; if (type.indexOf('rgb') !== -1) { // Only convert the first 3 values to int (i.e. not alpha) values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n); } else if (type.indexOf('hsl') !== -1) { values[1] = `${values[1]}%`; values[2] = `${values[2]}%`; } if (type.indexOf('color') !== -1) { values = `${colorSpace} ${values.join(' ')}`; } else { values = `${values.join(', ')}`; } return `${type}(${values})`; } /** * Converts a color from CSS rgb format to CSS hex format. * @param {string} color - RGB color, i.e. rgb(n, n, n) * @returns {string} A CSS rgb color string, i.e. #nnnnnn */ function rgbToHex(color) { // Idempotent if (color.indexOf('#') === 0) { return color; } const { values } = decomposeColor(color); return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`; } /** * Converts a color from hsl format to rgb format. * @param {string} color - HSL color values * @returns {string} rgb color values */ function hslToRgb(color) { color = decomposeColor(color); const { values } = color; const h = values[0]; const s = values[1] / 100; const l = values[2] / 100; const a = s * Math.min(l, 1 - l); const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1); let type = 'rgb'; const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)]; if (color.type === 'hsla') { type += 'a'; rgb.push(values[3]); } return recomposeColor({ type, values: rgb }); } /** * The relative brightness of any point in a color space, * normalized to 0 for darkest black and 1 for lightest white. * * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color() * @returns {number} The relative brightness of the color in the range 0 - 1 */ function getLuminance(color) { color = decomposeColor(color); let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values; rgb = rgb.map(val => { if (color.type !== 'color') { val /= 255; // normalized } return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4; }); // Truncate at 3 digits return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3)); } /** * Calculates the contrast ratio between two colors. * * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() * @returns {number} A contrast ratio value in the range 0 - 21. */ function getContrastRatio(foreground, background) { const lumA = getLuminance(foreground); const lumB = getLuminance(background); return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05); } /** * Sets the absolute transparency of a color. * Any existing alpha values are overwritten. * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color() * @param {number} value - value to set the alpha channel to in the range 0 - 1 * @returns {string} A CSS color string. Hex input values are returned as rgb */ function alpha(color, value) { color = decomposeColor(color); value = clampWrapper(value); if (color.type === 'rgb' || color.type === 'hsl') { color.type += 'a'; } if (color.type === 'color') { color.values[3] = `/${value}`; } else { color.values[3] = value; } return recomposeColor(color); } function private_safeAlpha(color, value, warning) { try { return alpha(color, value); } catch (error) { if (warning && "development" !== 'production') { console.warn(warning); } return color; } } /** * Darkens a color. * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color() * @param {number} coefficient - multiplier in the range 0 - 1 * @returns {string} A CSS color string. Hex input values are returned as rgb */ function darken(color, coefficient) { color = decomposeColor(color); coefficient = clampWrapper(coefficient); if (color.type.indexOf('hsl') !== -1) { color.values[2] *= 1 - coefficient; } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) { for (let i = 0; i < 3; i += 1) { color.values[i] *= 1 - coefficient; } } return recomposeColor(color); } function private_safeDarken(color, coefficient, warning) { try { return darken(color, coefficient); } catch (error) { if (warning && "development" !== 'production') { console.warn(warning); } return color; } } /** * Lightens a color. * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color() * @param {number} coefficient - multiplier in the range 0 - 1 * @returns {string} A CSS color string. Hex input values are returned as rgb */ function lighten(color, coefficient) { color = decomposeColor(color); coefficient = clampWrapper(coefficient); if (color.type.indexOf('hsl') !== -1) { color.values[2] += (100 - color.values[2]) * coefficient; } else if (color.type.indexOf('rgb') !== -1) { for (let i = 0; i < 3; i += 1) { color.values[i] += (255 - color.values[i]) * coefficient; } } else if (color.type.indexOf('color') !== -1) { for (let i = 0; i < 3; i += 1) { color.values[i] += (1 - color.values[i]) * coefficient; } } return recomposeColor(color); } function private_safeLighten(color, coefficient, warning) { try { return lighten(color, coefficient); } catch (error) { if (warning && "development" !== 'production') { console.warn(warning); } return color; } } /** * Darken or lighten a color, depending on its luminance. * Light colors are darkened, dark colors are lightened. * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color() * @param {number} coefficient=0.15 - multiplier in the range 0 - 1 * @returns {string} A CSS color string. Hex input values are returned as rgb */ function emphasize(color, coefficient = 0.15) { return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient); } function private_safeEmphasize(color, coefficient, warning) { try { return private_safeEmphasize(color, coefficient); } catch (error) { if (warning && "development" !== 'production') { console.warn(warning); } return color; } } /** * Blend a transparent overlay color with a background color, resulting in a single * RGB color. * @param {string} background - CSS color * @param {string} overlay - CSS color * @param {number} opacity - Opacity multiplier in the range 0 - 1 * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual. */ function blend(background, overlay, opacity, gamma = 1.0) { const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma); const backgroundColor = decomposeColor(background); const overlayColor = decomposeColor(overlay); const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])]; return recomposeColor({ type: 'rgb', values: rgb }); } /***/ }), /***/ "./node_modules/@mui/system/esm/compose.js": /*!*************************************************!*\ !*** ./node_modules/@mui/system/esm/compose.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./merge */ "./node_modules/@mui/system/esm/merge.js"); function compose(...styles) { const handlers = styles.reduce((acc, style) => { style.filterProps.forEach(prop => { acc[prop] = style; }); return acc; }, {}); // false positive // eslint-disable-next-line react/function-component-definition const fn = props => { return Object.keys(props).reduce((acc, prop) => { if (handlers[prop]) { return (0,_merge__WEBPACK_IMPORTED_MODULE_0__["default"])(acc, handlers[prop](props)); } return acc; }, {}); }; fn.propTypes = true ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : 0; fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []); return fn; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (compose); /***/ }), /***/ "./node_modules/@mui/system/esm/createStyled.js": /*!******************************************************!*\ !*** ./node_modules/@mui/system/esm/createStyled.js ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ createStyled), /* harmony export */ shouldForwardProp: () => (/* binding */ shouldForwardProp), /* harmony export */ systemDefaultTheme: () => (/* binding */ systemDefaultTheme) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _mui_styled_engine__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/styled-engine */ "./node_modules/@mui/styled-engine/index.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/deepmerge/deepmerge.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/capitalize/capitalize.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/getDisplayName/getDisplayName.js"); /* harmony import */ var _createTheme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createTheme */ "./node_modules/@mui/system/esm/createTheme/createTheme.js"); /* harmony import */ var _styleFunctionSx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./styleFunctionSx */ "./node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js"); const _excluded = ["ownerState"], _excluded2 = ["variants"], _excluded3 = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"]; /* eslint-disable no-underscore-dangle */ function isEmpty(obj) { return Object.keys(obj).length === 0; } // https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40 function isStringTag(tag) { return typeof tag === 'string' && // 96 is one less than the char code // for "a" so this is checking that // it's a lowercase character tag.charCodeAt(0) > 96; } // Update /system/styled/#api in case if this changes function shouldForwardProp(prop) { return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as'; } const systemDefaultTheme = (0,_createTheme__WEBPACK_IMPORTED_MODULE_2__["default"])(); const lowercaseFirstLetter = string => { if (!string) { return string; } return string.charAt(0).toLowerCase() + string.slice(1); }; function resolveTheme({ defaultTheme, theme, themeId }) { return isEmpty(theme) ? defaultTheme : theme[themeId] || theme; } function defaultOverridesResolver(slot) { if (!slot) { return null; } return (props, styles) => styles[slot]; } function processStyleArg(callableStyle, _ref) { let { ownerState } = _ref, props = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(_ref, _excluded); const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ ownerState }, props)) : callableStyle; if (Array.isArray(resolvedStylesArg)) { return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ ownerState }, props))); } if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) { const { variants = [] } = resolvedStylesArg, otherStyles = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(resolvedStylesArg, _excluded2); let result = otherStyles; variants.forEach(variant => { let isMatch = true; if (typeof variant.props === 'function') { isMatch = variant.props((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ ownerState }, props)); } else { Object.keys(variant.props).forEach(key => { if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) { isMatch = false; } }); } if (isMatch) { if (!Array.isArray(result)) { result = [result]; } result.push(typeof variant.style === 'function' ? variant.style((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ ownerState }, props)) : variant.style); } }); return result; } return resolvedStylesArg; } function createStyled(input = {}) { const { themeId, defaultTheme = systemDefaultTheme, rootShouldForwardProp = shouldForwardProp, slotShouldForwardProp = shouldForwardProp } = input; const systemSx = props => { return (0,_styleFunctionSx__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { theme: resolveTheme((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { defaultTheme, themeId })) })); }; systemSx.__mui_systemSx = true; return (tag, inputOptions = {}) => { // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components. (0,_mui_styled_engine__WEBPACK_IMPORTED_MODULE_4__.internal_processStyles)(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx))); const { name: componentName, slot: componentSlot, skipVariantsResolver: inputSkipVariantsResolver, skipSx: inputSkipSx, // TODO v6: remove `lowercaseFirstLetter()` in the next major release // For more details: https://github.com/mui/material-ui/pull/37908 overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot)) } = inputOptions, options = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(inputOptions, _excluded3); // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots. const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver : // TODO v6: remove `Root` in the next major release // For more details: https://github.com/mui/material-ui/pull/37908 componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false; const skipSx = inputSkipSx || false; let label; if (true) { if (componentName) { // TODO v6: remove `lowercaseFirstLetter()` in the next major release // For more details: https://github.com/mui/material-ui/pull/37908 label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`; } } let shouldForwardPropOption = shouldForwardProp; // TODO v6: remove `Root` in the next major release // For more details: https://github.com/mui/material-ui/pull/37908 if (componentSlot === 'Root' || componentSlot === 'root') { shouldForwardPropOption = rootShouldForwardProp; } else if (componentSlot) { // any other slot specified shouldForwardPropOption = slotShouldForwardProp; } else if (isStringTag(tag)) { // for string (html) tag, preserve the behavior in emotion & styled-components. shouldForwardPropOption = undefined; } const defaultStyledResolver = (0,_mui_styled_engine__WEBPACK_IMPORTED_MODULE_4__["default"])(tag, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ shouldForwardProp: shouldForwardPropOption, label }, options)); const transformStyleArg = stylesArg => { // On the server Emotion doesn't use React.forwardRef for creating components, so the created // component stays as a function. This condition makes sure that we do not interpolate functions // which are basically components used as a selectors. if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || (0,_mui_utils__WEBPACK_IMPORTED_MODULE_5__.isPlainObject)(stylesArg)) { return props => processStyleArg(stylesArg, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { theme: resolveTheme({ theme: props.theme, defaultTheme, themeId }) })); } return stylesArg; }; const muiStyledResolver = (styleArg, ...expressions) => { let transformedStyleArg = transformStyleArg(styleArg); const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : []; if (componentName && overridesResolver) { expressionsWithDefaultTheme.push(props => { const theme = resolveTheme((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { defaultTheme, themeId })); if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) { return null; } const styleOverrides = theme.components[componentName].styleOverrides; const resolvedStyleOverrides = {}; // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => { resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { theme })); }); return overridesResolver(props, resolvedStyleOverrides); }); } if (componentName && !skipVariantsResolver) { expressionsWithDefaultTheme.push(props => { var _theme$components; const theme = resolveTheme((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { defaultTheme, themeId })); const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants; return processStyleArg({ variants: themeVariants }, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { theme })); }); } if (!skipSx) { expressionsWithDefaultTheme.push(systemSx); } const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length; if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) { const placeholders = new Array(numOfCustomFnsApplied).fill(''); // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles. transformedStyleArg = [...styleArg, ...placeholders]; transformedStyleArg.raw = [...styleArg.raw, ...placeholders]; } const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme); if (true) { let displayName; if (componentName) { displayName = `${componentName}${(0,_mui_utils__WEBPACK_IMPORTED_MODULE_6__["default"])(componentSlot || '')}`; } if (displayName === undefined) { displayName = `Styled(${(0,_mui_utils__WEBPACK_IMPORTED_MODULE_7__["default"])(tag)})`; } Component.displayName = displayName; } if (tag.muiName) { Component.muiName = tag.muiName; } return Component; }; if (defaultStyledResolver.withConfig) { muiStyledResolver.withConfig = defaultStyledResolver.withConfig; } return muiStyledResolver; }; } /***/ }), /***/ "./node_modules/@mui/system/esm/createTheme/applyStyles.js": /*!*****************************************************************!*\ !*** ./node_modules/@mui/system/esm/createTheme/applyStyles.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ applyStyles) /* harmony export */ }); /** * A universal utility to style components with multiple color modes. Always use it from the theme object. * It works with: * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/) * - [CSS theme variables](https://mui.com/material-ui/experimental-api/css-theme-variables/overview/) * - Zero-runtime engine * * Tips: Use an array over object spread and place `theme.applyStyles()` last. * * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })] * * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })} * * @example * 1. using with `styled`: * ```jsx * const Component = styled('div')(({ theme }) => [ * { background: '#e5e5e5' }, * theme.applyStyles('dark', { * background: '#1c1c1c', * color: '#fff', * }), * ]); * ``` * * @example * 2. using with `sx` prop: * ```jsx * <Box sx={theme => [ * { background: '#e5e5e5' }, * theme.applyStyles('dark', { * background: '#1c1c1c', * color: '#fff', * }), * ]} * /> * ``` * * @example * 3. theming a component: * ```jsx * extendTheme({ * components: { * MuiButton: { * styleOverrides: { * root: ({ theme }) => [ * { background: '#e5e5e5' }, * theme.applyStyles('dark', { * background: '#1c1c1c', * color: '#fff', * }), * ], * }, * } * } * }) *``` */ function applyStyles(key, styles) { // @ts-expect-error this is 'any' type const theme = this; if (theme.vars && typeof theme.getColorSchemeSelector === 'function') { // If CssVarsProvider is used as a provider, // returns '* :where([data-mui-color-scheme="light|dark"]) &' const selector = theme.getColorSchemeSelector(key).replace(/(\[[^\]]+\])/, '*:where($1)'); return { [selector]: styles }; } if (theme.palette.mode === key) { return styles; } return {}; } /***/ }), /***/ "./node_modules/@mui/system/esm/createTheme/createBreakpoints.js": /*!***********************************************************************!*\ !*** ./node_modules/@mui/system/esm/createTheme/createBreakpoints.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ breakpointKeys: () => (/* binding */ breakpointKeys), /* harmony export */ "default": () => (/* binding */ createBreakpoints) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); const _excluded = ["values", "unit", "step"]; // Sorted ASC by size. That's important. // It can't be configured as it's used statically for propTypes. const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl']; const sortBreakpointsValues = values => { const breakpointsAsArray = Object.keys(values).map(key => ({ key, val: values[key] })) || []; // Sort in ascending order breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val); return breakpointsAsArray.reduce((acc, obj) => { return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, acc, { [obj.key]: obj.val }); }, {}); }; // Keep in mind that @media is inclusive by the CSS specification. function createBreakpoints(breakpoints) { const { // The breakpoint **start** at this value. // For instance with the first breakpoint xs: [xs, sm). values = { xs: 0, // phone sm: 600, // tablet md: 900, // small laptop lg: 1200, // desktop xl: 1536 // large screen }, unit = 'px', step = 5 } = breakpoints, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(breakpoints, _excluded); const sortedValues = sortBreakpointsValues(values); const keys = Object.keys(sortedValues); function up(key) { const value = typeof values[key] === 'number' ? values[key] : key; return `@media (min-width:${value}${unit})`; } function down(key) { const value = typeof values[key] === 'number' ? values[key] : key; return `@media (max-width:${value - step / 100}${unit})`; } function between(start, end) { const endIndex = keys.indexOf(end); return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`; } function only(key) { if (keys.indexOf(key) + 1 < keys.length) { return between(key, keys[keys.indexOf(key) + 1]); } return up(key); } function not(key) { // handle first and last key separately, for better readability const keyIndex = keys.indexOf(key); if (keyIndex === 0) { return up(keys[1]); } if (keyIndex === keys.length - 1) { return down(keys[keyIndex]); } return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and'); } return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ keys, values: sortedValues, up, down, between, only, not, unit }, other); } /***/ }), /***/ "./node_modules/@mui/system/esm/createTheme/createSpacing.js": /*!*******************************************************************!*\ !*** ./node_modules/@mui/system/esm/createTheme/createSpacing.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ createSpacing) /* harmony export */ }); /* harmony import */ var _spacing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../spacing */ "./node_modules/@mui/system/esm/spacing.js"); // The different signatures imply different meaning for their arguments that can't be expressed structurally. // We express the difference with variable names. function createSpacing(spacingInput = 8) { // Already transformed. if (spacingInput.mui) { return spacingInput; } // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout. // Smaller components, such as icons, can align to a 4dp grid. // https://m2.material.io/design/layout/understanding-layout.html const transform = (0,_spacing__WEBPACK_IMPORTED_MODULE_0__.createUnarySpacing)({ spacing: spacingInput }); const spacing = (...argsInput) => { if (true) { if (!(argsInput.length <= 4)) { console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`); } } const args = argsInput.length === 0 ? [1] : argsInput; return args.map(argument => { const output = transform(argument); return typeof output === 'number' ? `${output}px` : output; }).join(' '); }; spacing.mui = true; return spacing; } /***/ }), /***/ "./node_modules/@mui/system/esm/createTheme/createTheme.js": /*!*****************************************************************!*\ !*** ./node_modules/@mui/system/esm/createTheme/createTheme.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/deepmerge/deepmerge.js"); /* harmony import */ var _createBreakpoints__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createBreakpoints */ "./node_modules/@mui/system/esm/createTheme/createBreakpoints.js"); /* harmony import */ var _shape__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./shape */ "./node_modules/@mui/system/esm/createTheme/shape.js"); /* harmony import */ var _createSpacing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createSpacing */ "./node_modules/@mui/system/esm/createTheme/createSpacing.js"); /* harmony import */ var _styleFunctionSx_styleFunctionSx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styleFunctionSx/styleFunctionSx */ "./node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js"); /* harmony import */ var _styleFunctionSx_defaultSxConfig__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styleFunctionSx/defaultSxConfig */ "./node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js"); /* harmony import */ var _applyStyles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./applyStyles */ "./node_modules/@mui/system/esm/createTheme/applyStyles.js"); const _excluded = ["breakpoints", "palette", "spacing", "shape"]; function createTheme(options = {}, ...args) { const { breakpoints: breakpointsInput = {}, palette: paletteInput = {}, spacing: spacingInput, shape: shapeInput = {} } = options, other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(options, _excluded); const breakpoints = (0,_createBreakpoints__WEBPACK_IMPORTED_MODULE_2__["default"])(breakpointsInput); const spacing = (0,_createSpacing__WEBPACK_IMPORTED_MODULE_3__["default"])(spacingInput); let muiTheme = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"])({ breakpoints, direction: 'ltr', components: {}, // Inject component definitions. palette: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ mode: 'light' }, paletteInput), spacing, shape: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, _shape__WEBPACK_IMPORTED_MODULE_5__["default"], shapeInput) }, other); muiTheme.applyStyles = _applyStyles__WEBPACK_IMPORTED_MODULE_6__["default"]; muiTheme = args.reduce((acc, argument) => (0,_mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(acc, argument), muiTheme); muiTheme.unstable_sxConfig = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, _styleFunctionSx_defaultSxConfig__WEBPACK_IMPORTED_MODULE_7__["default"], other == null ? void 0 : other.unstable_sxConfig); muiTheme.unstable_sx = function sx(props) { return (0,_styleFunctionSx_styleFunctionSx__WEBPACK_IMPORTED_MODULE_8__["default"])({ sx: props, theme: this }); }; return muiTheme; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createTheme); /***/ }), /***/ "./node_modules/@mui/system/esm/createTheme/shape.js": /*!***********************************************************!*\ !*** ./node_modules/@mui/system/esm/createTheme/shape.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const shape = { borderRadius: 4 }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (shape); /***/ }), /***/ "./node_modules/@mui/system/esm/cssGrid.js": /*!*************************************************!*\ !*** ./node_modules/@mui/system/esm/cssGrid.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ columnGap: () => (/* binding */ columnGap), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ gap: () => (/* binding */ gap), /* harmony export */ gridArea: () => (/* binding */ gridArea), /* harmony export */ gridAutoColumns: () => (/* binding */ gridAutoColumns), /* harmony export */ gridAutoFlow: () => (/* binding */ gridAutoFlow), /* harmony export */ gridAutoRows: () => (/* binding */ gridAutoRows), /* harmony export */ gridColumn: () => (/* binding */ gridColumn), /* harmony export */ gridRow: () => (/* binding */ gridRow), /* harmony export */ gridTemplateAreas: () => (/* binding */ gridTemplateAreas), /* harmony export */ gridTemplateColumns: () => (/* binding */ gridTemplateColumns), /* harmony export */ gridTemplateRows: () => (/* binding */ gridTemplateRows), /* harmony export */ rowGap: () => (/* binding */ rowGap) /* harmony export */ }); /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style */ "./node_modules/@mui/system/esm/style.js"); /* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./compose */ "./node_modules/@mui/system/esm/compose.js"); /* harmony import */ var _spacing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./spacing */ "./node_modules/@mui/system/esm/spacing.js"); /* harmony import */ var _breakpoints__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./breakpoints */ "./node_modules/@mui/system/esm/breakpoints.js"); /* harmony import */ var _responsivePropType__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./responsivePropType */ "./node_modules/@mui/system/esm/responsivePropType.js"); // false positive // eslint-disable-next-line react/function-component-definition const gap = props => { if (props.gap !== undefined && props.gap !== null) { const transformer = (0,_spacing__WEBPACK_IMPORTED_MODULE_0__.createUnaryUnit)(props.theme, 'spacing', 8, 'gap'); const styleFromPropValue = propValue => ({ gap: (0,_spacing__WEBPACK_IMPORTED_MODULE_0__.getValue)(transformer, propValue) }); return (0,_breakpoints__WEBPACK_IMPORTED_MODULE_1__.handleBreakpoints)(props, props.gap, styleFromPropValue); } return null; }; gap.propTypes = true ? { gap: _responsivePropType__WEBPACK_IMPORTED_MODULE_2__["default"] } : 0; gap.filterProps = ['gap']; // false positive // eslint-disable-next-line react/function-component-definition const columnGap = props => { if (props.columnGap !== undefined && props.columnGap !== null) { const transformer = (0,_spacing__WEBPACK_IMPORTED_MODULE_0__.createUnaryUnit)(props.theme, 'spacing', 8, 'columnGap'); const styleFromPropValue = propValue => ({ columnGap: (0,_spacing__WEBPACK_IMPORTED_MODULE_0__.getValue)(transformer, propValue) }); return (0,_breakpoints__WEBPACK_IMPORTED_MODULE_1__.handleBreakpoints)(props, props.columnGap, styleFromPropValue); } return null; }; columnGap.propTypes = true ? { columnGap: _responsivePropType__WEBPACK_IMPORTED_MODULE_2__["default"] } : 0; columnGap.filterProps = ['columnGap']; // false positive // eslint-disable-next-line react/function-component-definition const rowGap = props => { if (props.rowGap !== undefined && props.rowGap !== null) { const transformer = (0,_spacing__WEBPACK_IMPORTED_MODULE_0__.createUnaryUnit)(props.theme, 'spacing', 8, 'rowGap'); const styleFromPropValue = propValue => ({ rowGap: (0,_spacing__WEBPACK_IMPORTED_MODULE_0__.getValue)(transformer, propValue) }); return (0,_breakpoints__WEBPACK_IMPORTED_MODULE_1__.handleBreakpoints)(props, props.rowGap, styleFromPropValue); } return null; }; rowGap.propTypes = true ? { rowGap: _responsivePropType__WEBPACK_IMPORTED_MODULE_2__["default"] } : 0; rowGap.filterProps = ['rowGap']; const gridColumn = (0,_style__WEBPACK_IMPORTED_MODULE_3__["default"])({ prop: 'gridColumn' }); const gridRow = (0,_style__WEBPACK_IMPORTED_MODULE_3__["default"])({ prop: 'gridRow' }); const gridAutoFlow = (0,_style__WEBPACK_IMPORTED_MODULE_3__["default"])({ prop: 'gridAutoFlow' }); const gridAutoColumns = (0,_style__WEBPACK_IMPORTED_MODULE_3__["default"])({ prop: 'gridAutoColumns' }); const gridAutoRows = (0,_style__WEBPACK_IMPORTED_MODULE_3__["default"])({ prop: 'gridAutoRows' }); const gridTemplateColumns = (0,_style__WEBPACK_IMPORTED_MODULE_3__["default"])({ prop: 'gridTemplateColumns' }); const gridTemplateRows = (0,_style__WEBPACK_IMPORTED_MODULE_3__["default"])({ prop: 'gridTemplateRows' }); const gridTemplateAreas = (0,_style__WEBPACK_IMPORTED_MODULE_3__["default"])({ prop: 'gridTemplateAreas' }); const gridArea = (0,_style__WEBPACK_IMPORTED_MODULE_3__["default"])({ prop: 'gridArea' }); const grid = (0,_compose__WEBPACK_IMPORTED_MODULE_4__["default"])(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (grid); /***/ }), /***/ "./node_modules/@mui/system/esm/memoize.js": /*!*************************************************!*\ !*** ./node_modules/@mui/system/esm/memoize.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ memoize) /* harmony export */ }); function memoize(fn) { const cache = {}; return arg => { if (cache[arg] === undefined) { cache[arg] = fn(arg); } return cache[arg]; }; } /***/ }), /***/ "./node_modules/@mui/system/esm/merge.js": /*!***********************************************!*\ !*** ./node_modules/@mui/system/esm/merge.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/deepmerge/deepmerge.js"); function merge(acc, item) { if (!item) { return acc; } return (0,_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"])(acc, item, { clone: false // No need to clone deep, it's way faster. }); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (merge); /***/ }), /***/ "./node_modules/@mui/system/esm/palette.js": /*!*************************************************!*\ !*** ./node_modules/@mui/system/esm/palette.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ backgroundColor: () => (/* binding */ backgroundColor), /* harmony export */ bgcolor: () => (/* binding */ bgcolor), /* harmony export */ color: () => (/* binding */ color), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ paletteTransform: () => (/* binding */ paletteTransform) /* harmony export */ }); /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style */ "./node_modules/@mui/system/esm/style.js"); /* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compose */ "./node_modules/@mui/system/esm/compose.js"); function paletteTransform(value, userValue) { if (userValue === 'grey') { return userValue; } return value; } const color = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'color', themeKey: 'palette', transform: paletteTransform }); const bgcolor = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'bgcolor', cssProperty: 'backgroundColor', themeKey: 'palette', transform: paletteTransform }); const backgroundColor = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'backgroundColor', themeKey: 'palette', transform: paletteTransform }); const palette = (0,_compose__WEBPACK_IMPORTED_MODULE_1__["default"])(color, bgcolor, backgroundColor); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (palette); /***/ }), /***/ "./node_modules/@mui/system/esm/responsivePropType.js": /*!************************************************************!*\ !*** ./node_modules/@mui/system/esm/responsivePropType.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__); const responsivePropType = true ? prop_types__WEBPACK_IMPORTED_MODULE_0___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_0___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_0___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_0___default().array)]) : 0; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (responsivePropType); /***/ }), /***/ "./node_modules/@mui/system/esm/sizing.js": /*!************************************************!*\ !*** ./node_modules/@mui/system/esm/sizing.js ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ boxSizing: () => (/* binding */ boxSizing), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ height: () => (/* binding */ height), /* harmony export */ maxHeight: () => (/* binding */ maxHeight), /* harmony export */ maxWidth: () => (/* binding */ maxWidth), /* harmony export */ minHeight: () => (/* binding */ minHeight), /* harmony export */ minWidth: () => (/* binding */ minWidth), /* harmony export */ sizeHeight: () => (/* binding */ sizeHeight), /* harmony export */ sizeWidth: () => (/* binding */ sizeWidth), /* harmony export */ sizingTransform: () => (/* binding */ sizingTransform), /* harmony export */ width: () => (/* binding */ width) /* harmony export */ }); /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style */ "./node_modules/@mui/system/esm/style.js"); /* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./compose */ "./node_modules/@mui/system/esm/compose.js"); /* harmony import */ var _breakpoints__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./breakpoints */ "./node_modules/@mui/system/esm/breakpoints.js"); function sizingTransform(value) { return value <= 1 && value !== 0 ? `${value * 100}%` : value; } const width = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'width', transform: sizingTransform }); const maxWidth = props => { if (props.maxWidth !== undefined && props.maxWidth !== null) { const styleFromPropValue = propValue => { var _props$theme, _props$theme2; const breakpoint = ((_props$theme = props.theme) == null || (_props$theme = _props$theme.breakpoints) == null || (_props$theme = _props$theme.values) == null ? void 0 : _props$theme[propValue]) || _breakpoints__WEBPACK_IMPORTED_MODULE_1__.values[propValue]; if (!breakpoint) { return { maxWidth: sizingTransform(propValue) }; } if (((_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.breakpoints) == null ? void 0 : _props$theme2.unit) !== 'px') { return { maxWidth: `${breakpoint}${props.theme.breakpoints.unit}` }; } return { maxWidth: breakpoint }; }; return (0,_breakpoints__WEBPACK_IMPORTED_MODULE_1__.handleBreakpoints)(props, props.maxWidth, styleFromPropValue); } return null; }; maxWidth.filterProps = ['maxWidth']; const minWidth = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'minWidth', transform: sizingTransform }); const height = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'height', transform: sizingTransform }); const maxHeight = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'maxHeight', transform: sizingTransform }); const minHeight = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'minHeight', transform: sizingTransform }); const sizeWidth = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'size', cssProperty: 'width', transform: sizingTransform }); const sizeHeight = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'size', cssProperty: 'height', transform: sizingTransform }); const boxSizing = (0,_style__WEBPACK_IMPORTED_MODULE_0__["default"])({ prop: 'boxSizing' }); const sizing = (0,_compose__WEBPACK_IMPORTED_MODULE_2__["default"])(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sizing); /***/ }), /***/ "./node_modules/@mui/system/esm/spacing.js": /*!*************************************************!*\ !*** ./node_modules/@mui/system/esm/spacing.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createUnarySpacing: () => (/* binding */ createUnarySpacing), /* harmony export */ createUnaryUnit: () => (/* binding */ createUnaryUnit), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getStyleFromPropValue: () => (/* binding */ getStyleFromPropValue), /* harmony export */ getValue: () => (/* binding */ getValue), /* harmony export */ margin: () => (/* binding */ margin), /* harmony export */ marginKeys: () => (/* binding */ marginKeys), /* harmony export */ padding: () => (/* binding */ padding), /* harmony export */ paddingKeys: () => (/* binding */ paddingKeys) /* harmony export */ }); /* harmony import */ var _responsivePropType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./responsivePropType */ "./node_modules/@mui/system/esm/responsivePropType.js"); /* harmony import */ var _breakpoints__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./breakpoints */ "./node_modules/@mui/system/esm/breakpoints.js"); /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./style */ "./node_modules/@mui/system/esm/style.js"); /* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./merge */ "./node_modules/@mui/system/esm/merge.js"); /* harmony import */ var _memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./memoize */ "./node_modules/@mui/system/esm/memoize.js"); const properties = { m: 'margin', p: 'padding' }; const directions = { t: 'Top', r: 'Right', b: 'Bottom', l: 'Left', x: ['Left', 'Right'], y: ['Top', 'Bottom'] }; const aliases = { marginX: 'mx', marginY: 'my', paddingX: 'px', paddingY: 'py' }; // memoize() impact: // From 300,000 ops/sec // To 350,000 ops/sec const getCssProperties = (0,_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(prop => { // It's not a shorthand notation. if (prop.length > 2) { if (aliases[prop]) { prop = aliases[prop]; } else { return [prop]; } } const [a, b] = prop.split(''); const property = properties[a]; const direction = directions[b] || ''; return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction]; }); const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd']; const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd']; const spacingKeys = [...marginKeys, ...paddingKeys]; function createUnaryUnit(theme, themeKey, defaultValue, propName) { var _getPath; const themeSpacing = (_getPath = (0,_style__WEBPACK_IMPORTED_MODULE_1__.getPath)(theme, themeKey, false)) != null ? _getPath : defaultValue; if (typeof themeSpacing === 'number') { return abs => { if (typeof abs === 'string') { return abs; } if (true) { if (typeof abs !== 'number') { console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${abs}.`); } } return themeSpacing * abs; }; } if (Array.isArray(themeSpacing)) { return abs => { if (typeof abs === 'string') { return abs; } if (true) { if (!Number.isInteger(abs)) { console.error([`MUI: The \`theme.${themeKey}\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \`theme.${themeKey}\` as a number.`].join('\n')); } else if (abs > themeSpacing.length - 1) { console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\n')); } } return themeSpacing[abs]; }; } if (typeof themeSpacing === 'function') { return themeSpacing; } if (true) { console.error([`MUI: The \`theme.${themeKey}\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\n')); } return () => undefined; } function createUnarySpacing(theme) { return createUnaryUnit(theme, 'spacing', 8, 'spacing'); } function getValue(transformer, propValue) { if (typeof propValue === 'string' || propValue == null) { return propValue; } const abs = Math.abs(propValue); const transformed = transformer(abs); if (propValue >= 0) { return transformed; } if (typeof transformed === 'number') { return -transformed; } return `-${transformed}`; } function getStyleFromPropValue(cssProperties, transformer) { return propValue => cssProperties.reduce((acc, cssProperty) => { acc[cssProperty] = getValue(transformer, propValue); return acc; }, {}); } function resolveCssProperty(props, keys, prop, transformer) { // Using a hash computation over an array iteration could be faster, but with only 28 items, // it's doesn't worth the bundle size. if (keys.indexOf(prop) === -1) { return null; } const cssProperties = getCssProperties(prop); const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer); const propValue = props[prop]; return (0,_breakpoints__WEBPACK_IMPORTED_MODULE_2__.handleBreakpoints)(props, propValue, styleFromPropValue); } function style(props, keys) { const transformer = createUnarySpacing(props.theme); return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(_merge__WEBPACK_IMPORTED_MODULE_3__["default"], {}); } function margin(props) { return style(props, marginKeys); } margin.propTypes = true ? marginKeys.reduce((obj, key) => { obj[key] = _responsivePropType__WEBPACK_IMPORTED_MODULE_4__["default"]; return obj; }, {}) : 0; margin.filterProps = marginKeys; function padding(props) { return style(props, paddingKeys); } padding.propTypes = true ? paddingKeys.reduce((obj, key) => { obj[key] = _responsivePropType__WEBPACK_IMPORTED_MODULE_4__["default"]; return obj; }, {}) : 0; padding.filterProps = paddingKeys; function spacing(props) { return style(props, spacingKeys); } spacing.propTypes = true ? spacingKeys.reduce((obj, key) => { obj[key] = _responsivePropType__WEBPACK_IMPORTED_MODULE_4__["default"]; return obj; }, {}) : 0; spacing.filterProps = spacingKeys; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (spacing); /***/ }), /***/ "./node_modules/@mui/system/esm/style.js": /*!***********************************************!*\ !*** ./node_modules/@mui/system/esm/style.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getPath: () => (/* binding */ getPath), /* harmony export */ getStyleValue: () => (/* binding */ getStyleValue) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/capitalize/capitalize.js"); /* harmony import */ var _responsivePropType__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./responsivePropType */ "./node_modules/@mui/system/esm/responsivePropType.js"); /* harmony import */ var _breakpoints__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./breakpoints */ "./node_modules/@mui/system/esm/breakpoints.js"); function getPath(obj, path, checkVars = true) { if (!path || typeof path !== 'string') { return null; } // Check if CSS variables are used if (obj && obj.vars && checkVars) { const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj); if (val != null) { return val; } } return path.split('.').reduce((acc, item) => { if (acc && acc[item] != null) { return acc[item]; } return null; }, obj); } function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) { let value; if (typeof themeMapping === 'function') { value = themeMapping(propValueFinal); } else if (Array.isArray(themeMapping)) { value = themeMapping[propValueFinal] || userValue; } else { value = getPath(themeMapping, propValueFinal) || userValue; } if (transform) { value = transform(value, userValue, themeMapping); } return value; } function style(options) { const { prop, cssProperty = options.prop, themeKey, transform } = options; // false positive // eslint-disable-next-line react/function-component-definition const fn = props => { if (props[prop] == null) { return null; } const propValue = props[prop]; const theme = props.theme; const themeMapping = getPath(theme, themeKey) || {}; const styleFromPropValue = propValueFinal => { let value = getStyleValue(themeMapping, transform, propValueFinal); if (propValueFinal === value && typeof propValueFinal === 'string') { // Haven't found value value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : (0,_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"])(propValueFinal)}`, propValueFinal); } if (cssProperty === false) { return value; } return { [cssProperty]: value }; }; return (0,_breakpoints__WEBPACK_IMPORTED_MODULE_1__.handleBreakpoints)(props, propValue, styleFromPropValue); }; fn.propTypes = true ? { [prop]: _responsivePropType__WEBPACK_IMPORTED_MODULE_2__["default"] } : 0; fn.filterProps = [prop]; return fn; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (style); /***/ }), /***/ "./node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js": /*!*************************************************************************!*\ !*** ./node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _spacing__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../spacing */ "./node_modules/@mui/system/esm/spacing.js"); /* harmony import */ var _borders__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../borders */ "./node_modules/@mui/system/esm/borders.js"); /* harmony import */ var _cssGrid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../cssGrid */ "./node_modules/@mui/system/esm/cssGrid.js"); /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../palette */ "./node_modules/@mui/system/esm/palette.js"); /* harmony import */ var _sizing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../sizing */ "./node_modules/@mui/system/esm/sizing.js"); const defaultSxConfig = { // borders border: { themeKey: 'borders', transform: _borders__WEBPACK_IMPORTED_MODULE_0__.borderTransform }, borderTop: { themeKey: 'borders', transform: _borders__WEBPACK_IMPORTED_MODULE_0__.borderTransform }, borderRight: { themeKey: 'borders', transform: _borders__WEBPACK_IMPORTED_MODULE_0__.borderTransform }, borderBottom: { themeKey: 'borders', transform: _borders__WEBPACK_IMPORTED_MODULE_0__.borderTransform }, borderLeft: { themeKey: 'borders', transform: _borders__WEBPACK_IMPORTED_MODULE_0__.borderTransform }, borderColor: { themeKey: 'palette' }, borderTopColor: { themeKey: 'palette' }, borderRightColor: { themeKey: 'palette' }, borderBottomColor: { themeKey: 'palette' }, borderLeftColor: { themeKey: 'palette' }, outline: { themeKey: 'borders', transform: _borders__WEBPACK_IMPORTED_MODULE_0__.borderTransform }, outlineColor: { themeKey: 'palette' }, borderRadius: { themeKey: 'shape.borderRadius', style: _borders__WEBPACK_IMPORTED_MODULE_0__.borderRadius }, // palette color: { themeKey: 'palette', transform: _palette__WEBPACK_IMPORTED_MODULE_1__.paletteTransform }, bgcolor: { themeKey: 'palette', cssProperty: 'backgroundColor', transform: _palette__WEBPACK_IMPORTED_MODULE_1__.paletteTransform }, backgroundColor: { themeKey: 'palette', transform: _palette__WEBPACK_IMPORTED_MODULE_1__.paletteTransform }, // spacing p: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, pt: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, pr: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, pb: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, pl: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, px: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, py: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, padding: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingTop: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingRight: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingBottom: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingLeft: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingX: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingY: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingInline: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingInlineStart: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingInlineEnd: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingBlock: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingBlockStart: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, paddingBlockEnd: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.padding }, m: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, mt: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, mr: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, mb: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, ml: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, mx: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, my: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, margin: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginTop: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginRight: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginBottom: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginLeft: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginX: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginY: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginInline: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginInlineStart: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginInlineEnd: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginBlock: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginBlockStart: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, marginBlockEnd: { style: _spacing__WEBPACK_IMPORTED_MODULE_2__.margin }, // display displayPrint: { cssProperty: false, transform: value => ({ '@media print': { display: value } }) }, display: {}, overflow: {}, textOverflow: {}, visibility: {}, whiteSpace: {}, // flexbox flexBasis: {}, flexDirection: {}, flexWrap: {}, justifyContent: {}, alignItems: {}, alignContent: {}, order: {}, flex: {}, flexGrow: {}, flexShrink: {}, alignSelf: {}, justifyItems: {}, justifySelf: {}, // grid gap: { style: _cssGrid__WEBPACK_IMPORTED_MODULE_3__.gap }, rowGap: { style: _cssGrid__WEBPACK_IMPORTED_MODULE_3__.rowGap }, columnGap: { style: _cssGrid__WEBPACK_IMPORTED_MODULE_3__.columnGap }, gridColumn: {}, gridRow: {}, gridAutoFlow: {}, gridAutoColumns: {}, gridAutoRows: {}, gridTemplateColumns: {}, gridTemplateRows: {}, gridTemplateAreas: {}, gridArea: {}, // positions position: {}, zIndex: { themeKey: 'zIndex' }, top: {}, right: {}, bottom: {}, left: {}, // shadows boxShadow: { themeKey: 'shadows' }, // sizing width: { transform: _sizing__WEBPACK_IMPORTED_MODULE_4__.sizingTransform }, maxWidth: { style: _sizing__WEBPACK_IMPORTED_MODULE_4__.maxWidth }, minWidth: { transform: _sizing__WEBPACK_IMPORTED_MODULE_4__.sizingTransform }, height: { transform: _sizing__WEBPACK_IMPORTED_MODULE_4__.sizingTransform }, maxHeight: { transform: _sizing__WEBPACK_IMPORTED_MODULE_4__.sizingTransform }, minHeight: { transform: _sizing__WEBPACK_IMPORTED_MODULE_4__.sizingTransform }, boxSizing: {}, // typography fontFamily: { themeKey: 'typography' }, fontSize: { themeKey: 'typography' }, fontStyle: { themeKey: 'typography' }, fontWeight: { themeKey: 'typography' }, letterSpacing: {}, textTransform: {}, lineHeight: {}, textAlign: {}, typography: { cssProperty: false, themeKey: 'typography' } }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaultSxConfig); /***/ }), /***/ "./node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js": /*!*************************************************************************!*\ !*** ./node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ unstable_createStyleFunctionSx: () => (/* binding */ unstable_createStyleFunctionSx) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/capitalize/capitalize.js"); /* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../merge */ "./node_modules/@mui/system/esm/merge.js"); /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../style */ "./node_modules/@mui/system/esm/style.js"); /* harmony import */ var _breakpoints__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../breakpoints */ "./node_modules/@mui/system/esm/breakpoints.js"); /* harmony import */ var _defaultSxConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaultSxConfig */ "./node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js"); function objectsHaveSameKeys(...objects) { const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []); const union = new Set(allKeys); return objects.every(object => union.size === Object.keys(object).length); } function callIfFn(maybeFn, arg) { return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn; } // eslint-disable-next-line @typescript-eslint/naming-convention function unstable_createStyleFunctionSx() { function getThemeValue(prop, val, theme, config) { const props = { [prop]: val, theme }; const options = config[prop]; if (!options) { return { [prop]: val }; } const { cssProperty = prop, themeKey, transform, style } = options; if (val == null) { return null; } // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123 if (themeKey === 'typography' && val === 'inherit') { return { [prop]: val }; } const themeMapping = (0,_style__WEBPACK_IMPORTED_MODULE_0__.getPath)(theme, themeKey) || {}; if (style) { return style(props); } const styleFromPropValue = propValueFinal => { let value = (0,_style__WEBPACK_IMPORTED_MODULE_0__.getStyleValue)(themeMapping, transform, propValueFinal); if (propValueFinal === value && typeof propValueFinal === 'string') { // Haven't found value value = (0,_style__WEBPACK_IMPORTED_MODULE_0__.getStyleValue)(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__["default"])(propValueFinal)}`, propValueFinal); } if (cssProperty === false) { return value; } return { [cssProperty]: value }; }; return (0,_breakpoints__WEBPACK_IMPORTED_MODULE_2__.handleBreakpoints)(props, val, styleFromPropValue); } function styleFunctionSx(props) { var _theme$unstable_sxCon; const { sx, theme = {} } = props || {}; if (!sx) { return null; // Emotion & styled-components will neglect null } const config = (_theme$unstable_sxCon = theme.unstable_sxConfig) != null ? _theme$unstable_sxCon : _defaultSxConfig__WEBPACK_IMPORTED_MODULE_3__["default"]; /* * Receive `sxInput` as object or callback * and then recursively check keys & values to create media query object styles. * (the result will be used in `styled`) */ function traverse(sxInput) { let sxObject = sxInput; if (typeof sxInput === 'function') { sxObject = sxInput(theme); } else if (typeof sxInput !== 'object') { // value return sxInput; } if (!sxObject) { return null; } const emptyBreakpoints = (0,_breakpoints__WEBPACK_IMPORTED_MODULE_2__.createEmptyBreakpointObject)(theme.breakpoints); const breakpointsKeys = Object.keys(emptyBreakpoints); let css = emptyBreakpoints; Object.keys(sxObject).forEach(styleKey => { const value = callIfFn(sxObject[styleKey], theme); if (value !== null && value !== undefined) { if (typeof value === 'object') { if (config[styleKey]) { css = (0,_merge__WEBPACK_IMPORTED_MODULE_4__["default"])(css, getThemeValue(styleKey, value, theme, config)); } else { const breakpointsValues = (0,_breakpoints__WEBPACK_IMPORTED_MODULE_2__.handleBreakpoints)({ theme }, value, x => ({ [styleKey]: x })); if (objectsHaveSameKeys(breakpointsValues, value)) { css[styleKey] = styleFunctionSx({ sx: value, theme }); } else { css = (0,_merge__WEBPACK_IMPORTED_MODULE_4__["default"])(css, breakpointsValues); } } } else { css = (0,_merge__WEBPACK_IMPORTED_MODULE_4__["default"])(css, getThemeValue(styleKey, value, theme, config)); } } }); return (0,_breakpoints__WEBPACK_IMPORTED_MODULE_2__.removeUnusedBreakpoints)(breakpointsKeys, css); } return Array.isArray(sx) ? sx.map(traverse) : traverse(sx); } return styleFunctionSx; } const styleFunctionSx = unstable_createStyleFunctionSx(); styleFunctionSx.filterProps = ['sx']; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (styleFunctionSx); /***/ }), /***/ "./node_modules/@mui/system/esm/useTheme.js": /*!**************************************************!*\ !*** ./node_modules/@mui/system/esm/useTheme.js ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ systemDefaultTheme: () => (/* binding */ systemDefaultTheme) /* harmony export */ }); /* harmony import */ var _createTheme__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createTheme */ "./node_modules/@mui/system/esm/createTheme/createTheme.js"); /* harmony import */ var _useThemeWithoutDefault__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useThemeWithoutDefault */ "./node_modules/@mui/system/esm/useThemeWithoutDefault.js"); 'use client'; const systemDefaultTheme = (0,_createTheme__WEBPACK_IMPORTED_MODULE_0__["default"])(); function useTheme(defaultTheme = systemDefaultTheme) { return (0,_useThemeWithoutDefault__WEBPACK_IMPORTED_MODULE_1__["default"])(defaultTheme); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useTheme); /***/ }), /***/ "./node_modules/@mui/system/esm/useThemeProps/getThemeProps.js": /*!*********************************************************************!*\ !*** ./node_modules/@mui/system/esm/useThemeProps/getThemeProps.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ getThemeProps) /* harmony export */ }); /* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/resolveProps/resolveProps.js"); function getThemeProps(params) { const { theme, name, props } = params; if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) { return props; } return (0,_mui_utils__WEBPACK_IMPORTED_MODULE_0__["default"])(theme.components[name].defaultProps, props); } /***/ }), /***/ "./node_modules/@mui/system/esm/useThemeProps/useThemeProps.js": /*!*********************************************************************!*\ !*** ./node_modules/@mui/system/esm/useThemeProps/useThemeProps.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ useThemeProps) /* harmony export */ }); /* harmony import */ var _getThemeProps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getThemeProps */ "./node_modules/@mui/system/esm/useThemeProps/getThemeProps.js"); /* harmony import */ var _useTheme__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../useTheme */ "./node_modules/@mui/system/esm/useTheme.js"); 'use client'; function useThemeProps({ props, name, defaultTheme, themeId }) { let theme = (0,_useTheme__WEBPACK_IMPORTED_MODULE_0__["default"])(defaultTheme); if (themeId) { theme = theme[themeId] || theme; } const mergedProps = (0,_getThemeProps__WEBPACK_IMPORTED_MODULE_1__["default"])({ theme, name, props }); return mergedProps; } /***/ }), /***/ "./node_modules/@mui/system/esm/useThemeWithoutDefault.js": /*!****************************************************************!*\ !*** ./node_modules/@mui/system/esm/useThemeWithoutDefault.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _mui_styled_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/styled-engine */ "./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js"); 'use client'; function isObjectEmpty(obj) { return Object.keys(obj).length === 0; } function useTheme(defaultTheme = null) { const contextTheme = react__WEBPACK_IMPORTED_MODULE_0__.useContext(_mui_styled_engine__WEBPACK_IMPORTED_MODULE_1__.T); return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useTheme); /***/ }), /***/ "./node_modules/@mui/utils/ClassNameGenerator/ClassNameGenerator.js": /*!**************************************************************************!*\ !*** ./node_modules/@mui/utils/ClassNameGenerator/ClassNameGenerator.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const defaultGenerator = componentName => componentName; const createClassNameGenerator = () => { let generate = defaultGenerator; return { configure(generator) { generate = generator; }, generate(componentName) { return generate(componentName); }, reset() { generate = defaultGenerator; } }; }; const ClassNameGenerator = createClassNameGenerator(); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ClassNameGenerator); /***/ }), /***/ "./node_modules/@mui/utils/HTMLElementType/HTMLElementType.js": /*!********************************************************************!*\ !*** ./node_modules/@mui/utils/HTMLElementType/HTMLElementType.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ HTMLElementType) /* harmony export */ }); function HTMLElementType(props, propName, componentName, location, propFullName) { if (false) {} const propValue = props[propName]; const safePropName = propFullName || propName; if (propValue == null) { return null; } if (propValue && propValue.nodeType !== 1) { return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an HTMLElement.`); } return null; } /***/ }), /***/ "./node_modules/@mui/utils/capitalize/capitalize.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/utils/capitalize/capitalize.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ capitalize) /* harmony export */ }); // It should to be noted that this function isn't equivalent to `text-transform: capitalize`. // // A strict capitalization should uppercase the first letter of each word in the sentence. // We only handle the first word. function capitalize(string) { if (typeof string !== 'string') { throw new Error( true ? `MUI: \`capitalize(string)\` expects a string argument.` : 0); } return string.charAt(0).toUpperCase() + string.slice(1); } /***/ }), /***/ "./node_modules/@mui/utils/chainPropTypes/chainPropTypes.js": /*!******************************************************************!*\ !*** ./node_modules/@mui/utils/chainPropTypes/chainPropTypes.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ chainPropTypes) /* harmony export */ }); function chainPropTypes(propType1, propType2) { if (false) {} return function validate(...args) { return propType1(...args) || propType2(...args); }; } /***/ }), /***/ "./node_modules/@mui/utils/clamp/clamp.js": /*!************************************************!*\ !*** ./node_modules/@mui/utils/clamp/clamp.js ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) { return Math.max(min, Math.min(val, max)); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clamp); /***/ }), /***/ "./node_modules/@mui/utils/composeClasses/composeClasses.js": /*!******************************************************************!*\ !*** ./node_modules/@mui/utils/composeClasses/composeClasses.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ composeClasses) /* harmony export */ }); function composeClasses(slots, getUtilityClass, classes = undefined) { const output = {}; Object.keys(slots).forEach( // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`. // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208 slot => { output[slot] = slots[slot].reduce((acc, key) => { if (key) { const utilityClass = getUtilityClass(key); if (utilityClass !== '') { acc.push(utilityClass); } if (classes && classes[key]) { acc.push(classes[key]); } } return acc; }, []).join(' '); }); return output; } /***/ }), /***/ "./node_modules/@mui/utils/createChainedFunction/createChainedFunction.js": /*!********************************************************************************!*\ !*** ./node_modules/@mui/utils/createChainedFunction/createChainedFunction.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ createChainedFunction) /* harmony export */ }); /** * Safe chained function. * * Will only create a new function if needed, * otherwise will pass back existing functions or null. */ function createChainedFunction(...funcs) { return funcs.reduce((acc, func) => { if (func == null) { return acc; } return function chainedFunction(...args) { acc.apply(this, args); func.apply(this, args); }; }, () => {}); } /***/ }), /***/ "./node_modules/@mui/utils/debounce/debounce.js": /*!******************************************************!*\ !*** ./node_modules/@mui/utils/debounce/debounce.js ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ debounce) /* harmony export */ }); // Corresponds to 10 frames at 60 Hz. // A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B. function debounce(func, wait = 166) { let timeout; function debounced(...args) { const later = () => { // @ts-ignore func.apply(this, args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); } debounced.clear = () => { clearTimeout(timeout); }; return debounced; } /***/ }), /***/ "./node_modules/@mui/utils/deepmerge/deepmerge.js": /*!********************************************************!*\ !*** ./node_modules/@mui/utils/deepmerge/deepmerge.js ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ deepmerge), /* harmony export */ isPlainObject: () => (/* binding */ isPlainObject) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); // https://github.com/sindresorhus/is-plain-obj/blob/main/index.js function isPlainObject(item) { if (typeof item !== 'object' || item === null) { return false; } const prototype = Object.getPrototypeOf(item); return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item); } function deepClone(source) { if (!isPlainObject(source)) { return source; } const output = {}; Object.keys(source).forEach(key => { output[key] = deepClone(source[key]); }); return output; } function deepmerge(target, source, options = { clone: true }) { const output = options.clone ? (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, target) : target; if (isPlainObject(target) && isPlainObject(source)) { Object.keys(source).forEach(key => { // Avoid prototype pollution if (key === '__proto__') { return; } if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) { // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type. output[key] = deepmerge(target[key], source[key], options); } else if (options.clone) { output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key]; } else { output[key] = source[key]; } }); } return output; } /***/ }), /***/ "./node_modules/@mui/utils/elementAcceptingRef/elementAcceptingRef.js": /*!****************************************************************************!*\ !*** ./node_modules/@mui/utils/elementAcceptingRef/elementAcceptingRef.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _chainPropTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../chainPropTypes */ "./node_modules/@mui/utils/chainPropTypes/chainPropTypes.js"); function isClassComponent(elementType) { // elementType.prototype?.isReactComponent const { prototype = {} } = elementType; return Boolean(prototype.isReactComponent); } function acceptingRef(props, propName, componentName, location, propFullName) { const element = props[propName]; const safePropName = propFullName || propName; if (element == null || // When server-side rendering React doesn't warn either. // This is not an accurate check for SSR. // This is only in place for Emotion compat. // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved. typeof window === 'undefined') { return null; } let warningHint; const elementType = element.type; /** * Blacklisting instead of whitelisting * * Blacklisting will miss some components, such as React.Fragment. Those will at least * trigger a warning in React. * We can't whitelist because there is no safe way to detect React.forwardRef * or class components. "Safe" means there's no public API. * */ if (typeof elementType === 'function' && !isClassComponent(elementType)) { warningHint = 'Did you accidentally use a plain function component for an element instead?'; } if (warningHint !== undefined) { return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an element that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide'); } return null; } const elementAcceptingRef = (0,_chainPropTypes__WEBPACK_IMPORTED_MODULE_0__["default"])((prop_types__WEBPACK_IMPORTED_MODULE_1___default().element), acceptingRef); elementAcceptingRef.isRequired = (0,_chainPropTypes__WEBPACK_IMPORTED_MODULE_0__["default"])((prop_types__WEBPACK_IMPORTED_MODULE_1___default().element).isRequired, acceptingRef); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (elementAcceptingRef); /***/ }), /***/ "./node_modules/@mui/utils/elementTypeAcceptingRef/elementTypeAcceptingRef.js": /*!************************************************************************************!*\ !*** ./node_modules/@mui/utils/elementTypeAcceptingRef/elementTypeAcceptingRef.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _chainPropTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../chainPropTypes */ "./node_modules/@mui/utils/chainPropTypes/chainPropTypes.js"); function isClassComponent(elementType) { // elementType.prototype?.isReactComponent const { prototype = {} } = elementType; return Boolean(prototype.isReactComponent); } function elementTypeAcceptingRef(props, propName, componentName, location, propFullName) { const propValue = props[propName]; const safePropName = propFullName || propName; if (propValue == null || // When server-side rendering React doesn't warn either. // This is not an accurate check for SSR. // This is only in place for emotion compat. // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved. typeof window === 'undefined') { return null; } let warningHint; /** * Blacklisting instead of whitelisting * * Blacklisting will miss some components, such as React.Fragment. Those will at least * trigger a warning in React. * We can't whitelist because there is no safe way to detect React.forwardRef * or class components. "Safe" means there's no public API. * */ if (typeof propValue === 'function' && !isClassComponent(propValue)) { warningHint = 'Did you accidentally provide a plain function component instead?'; } if (warningHint !== undefined) { return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an element type that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide'); } return null; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_chainPropTypes__WEBPACK_IMPORTED_MODULE_0__["default"])((prop_types__WEBPACK_IMPORTED_MODULE_1___default().elementType), elementTypeAcceptingRef)); /***/ }), /***/ "./node_modules/@mui/utils/exactProp/exactProp.js": /*!********************************************************!*\ !*** ./node_modules/@mui/utils/exactProp/exactProp.js ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ exactProp) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); // This module is based on https://github.com/airbnb/prop-types-exact repository. // However, in order to reduce the number of dependencies and to remove some extra safe checks // the module was forked. const specialProperty = 'exact-prop: \u200b'; function exactProp(propTypes) { if (false) {} return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, propTypes, { [specialProperty]: props => { const unsupportedProps = Object.keys(props).filter(prop => !propTypes.hasOwnProperty(prop)); if (unsupportedProps.length > 0) { return new Error(`The following props are not supported: ${unsupportedProps.map(prop => `\`${prop}\``).join(', ')}. Please remove them.`); } return null; } }); } /***/ }), /***/ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js": /*!******************************************************************************!*\ !*** ./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ generateUtilityClass), /* harmony export */ globalStateClasses: () => (/* binding */ globalStateClasses), /* harmony export */ isGlobalState: () => (/* binding */ isGlobalState) /* harmony export */ }); /* harmony import */ var _ClassNameGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../ClassNameGenerator */ "./node_modules/@mui/utils/ClassNameGenerator/ClassNameGenerator.js"); const globalStateClasses = { active: 'active', checked: 'checked', completed: 'completed', disabled: 'disabled', error: 'error', expanded: 'expanded', focused: 'focused', focusVisible: 'focusVisible', open: 'open', readOnly: 'readOnly', required: 'required', selected: 'selected' }; function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') { const globalStateClass = globalStateClasses[slot]; return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${_ClassNameGenerator__WEBPACK_IMPORTED_MODULE_0__["default"].generate(componentName)}-${slot}`; } function isGlobalState(slot) { return globalStateClasses[slot] !== undefined; } /***/ }), /***/ "./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js": /*!**********************************************************************************!*\ !*** ./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ generateUtilityClasses) /* harmony export */ }); /* harmony import */ var _generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../generateUtilityClass */ "./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js"); function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') { const result = {}; slots.forEach(slot => { result[slot] = (0,_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])(componentName, slot, globalStatePrefix); }); return result; } /***/ }), /***/ "./node_modules/@mui/utils/getDisplayName/getDisplayName.js": /*!******************************************************************!*\ !*** ./node_modules/@mui/utils/getDisplayName/getDisplayName.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ getDisplayName), /* harmony export */ getFunctionName: () => (/* binding */ getFunctionName) /* harmony export */ }); /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); // Simplified polyfill for IE11 support // https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3 const fnNameMatchRegex = /^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/; function getFunctionName(fn) { const match = `${fn}`.match(fnNameMatchRegex); const name = match && match[1]; return name || ''; } function getFunctionComponentName(Component, fallback = '') { return Component.displayName || Component.name || getFunctionName(Component) || fallback; } function getWrappedName(outerType, innerType, wrapperName) { const functionName = getFunctionComponentName(innerType); return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName); } /** * cherry-pick from * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js * originally forked from recompose/getDisplayName with added IE11 support */ function getDisplayName(Component) { if (Component == null) { return undefined; } if (typeof Component === 'string') { return Component; } if (typeof Component === 'function') { return getFunctionComponentName(Component, 'Component'); } // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense` if (typeof Component === 'object') { switch (Component.$$typeof) { case react_is__WEBPACK_IMPORTED_MODULE_0__.ForwardRef: return getWrappedName(Component, Component.render, 'ForwardRef'); case react_is__WEBPACK_IMPORTED_MODULE_0__.Memo: return getWrappedName(Component, Component.type, 'memo'); default: return undefined; } } return undefined; } /***/ }), /***/ "./node_modules/@mui/utils/getScrollbarSize/getScrollbarSize.js": /*!**********************************************************************!*\ !*** ./node_modules/@mui/utils/getScrollbarSize/getScrollbarSize.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ getScrollbarSize) /* harmony export */ }); // A change of the browser zoom change the scrollbar size. // Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18 function getScrollbarSize(doc) { // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes const documentWidth = doc.documentElement.clientWidth; return Math.abs(window.innerWidth - documentWidth); } /***/ }), /***/ "./node_modules/@mui/utils/integerPropType/integerPropType.js": /*!********************************************************************!*\ !*** ./node_modules/@mui/utils/integerPropType/integerPropType.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ getTypeByValue: () => (/* binding */ getTypeByValue) /* harmony export */ }); function getTypeByValue(value) { const valueType = typeof value; switch (valueType) { case 'number': if (Number.isNaN(value)) { return 'NaN'; } if (!Number.isFinite(value)) { return 'Infinity'; } if (value !== Math.floor(value)) { return 'float'; } return 'number'; case 'object': if (value === null) { return 'null'; } return value.constructor.name; default: return valueType; } } // IE 11 support function ponyfillIsInteger(x) { // eslint-disable-next-line no-restricted-globals return typeof x === 'number' && isFinite(x) && Math.floor(x) === x; } const isInteger = Number.isInteger || ponyfillIsInteger; function requiredInteger(props, propName, componentName, location) { const propValue = props[propName]; if (propValue == null || !isInteger(propValue)) { const propType = getTypeByValue(propValue); return new RangeError(`Invalid ${location} \`${propName}\` of type \`${propType}\` supplied to \`${componentName}\`, expected \`integer\`.`); } return null; } function validator(props, propName, ...other) { const propValue = props[propName]; if (propValue === undefined) { return null; } return requiredInteger(props, propName, ...other); } function validatorNoop() { return null; } validator.isRequired = requiredInteger; validatorNoop.isRequired = validatorNoop; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ( false ? 0 : validator); /***/ }), /***/ "./node_modules/@mui/utils/isMuiElement/isMuiElement.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/utils/isMuiElement/isMuiElement.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ isMuiElement) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); function isMuiElement(element, muiNames) { var _muiName, _element$type; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(element) && muiNames.indexOf( // For server components `muiName` is avaialble in element.type._payload.value.muiName // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45 // eslint-disable-next-line no-underscore-dangle (_muiName = element.type.muiName) != null ? _muiName : (_element$type = element.type) == null || (_element$type = _element$type._payload) == null || (_element$type = _element$type.value) == null ? void 0 : _element$type.muiName) !== -1; } /***/ }), /***/ "./node_modules/@mui/utils/ownerDocument/ownerDocument.js": /*!****************************************************************!*\ !*** ./node_modules/@mui/utils/ownerDocument/ownerDocument.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ ownerDocument) /* harmony export */ }); function ownerDocument(node) { return node && node.ownerDocument || document; } /***/ }), /***/ "./node_modules/@mui/utils/ownerWindow/ownerWindow.js": /*!************************************************************!*\ !*** ./node_modules/@mui/utils/ownerWindow/ownerWindow.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ ownerWindow) /* harmony export */ }); /* harmony import */ var _ownerDocument__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../ownerDocument */ "./node_modules/@mui/utils/ownerDocument/ownerDocument.js"); function ownerWindow(node) { const doc = (0,_ownerDocument__WEBPACK_IMPORTED_MODULE_0__["default"])(node); return doc.defaultView || window; } /***/ }), /***/ "./node_modules/@mui/utils/refType/refType.js": /*!****************************************************!*\ !*** ./node_modules/@mui/utils/refType/refType.js ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__); const refType = prop_types__WEBPACK_IMPORTED_MODULE_0___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_0___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_0___default().object)]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (refType); /***/ }), /***/ "./node_modules/@mui/utils/resolveProps/resolveProps.js": /*!**************************************************************!*\ !*** ./node_modules/@mui/utils/resolveProps/resolveProps.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ resolveProps) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /** * Add keys, values of `defaultProps` that does not exist in `props` * @param {object} defaultProps * @param {object} props * @returns {object} resolved props */ function resolveProps(defaultProps, props) { const output = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props); Object.keys(defaultProps).forEach(propName => { if (propName.toString().match(/^(components|slots)$/)) { output[propName] = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, defaultProps[propName], output[propName]); } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) { const defaultSlotProps = defaultProps[propName] || {}; const slotProps = props[propName]; output[propName] = {}; if (!slotProps || !Object.keys(slotProps)) { // Reduce the iteration if the slot props is empty output[propName] = defaultSlotProps; } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) { // Reduce the iteration if the default slot props is empty output[propName] = slotProps; } else { output[propName] = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, slotProps); Object.keys(defaultSlotProps).forEach(slotPropName => { output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]); }); } } else if (output[propName] === undefined) { output[propName] = defaultProps[propName]; } }); return output; } /***/ }), /***/ "./node_modules/@mui/utils/setRef/setRef.js": /*!**************************************************!*\ !*** ./node_modules/@mui/utils/setRef/setRef.js ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ setRef) /* harmony export */ }); /** * TODO v5: consider making it private * * passes {value} to {ref} * * WARNING: Be sure to only call this inside a callback that is passed as a ref. * Otherwise, make sure to cleanup the previous {ref} if it changes. See * https://github.com/mui/material-ui/issues/13539 * * Useful if you want to expose the ref of an inner component to the public API * while still using it inside the component. * @param ref A ref callback or ref object. If anything falsy, this is a no-op. */ function setRef(ref, value) { if (typeof ref === 'function') { ref(value); } else if (ref) { ref.current = value; } } /***/ }), /***/ "./node_modules/@mui/utils/useControlled/useControlled.js": /*!****************************************************************!*\ !*** ./node_modules/@mui/utils/useControlled/useControlled.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ useControlled) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 'use client'; /* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */ function useControlled({ controlled, default: defaultProp, name, state = 'value' }) { // isControlled is ignored in the hook dependency lists as it should never change. const { current: isControlled } = react__WEBPACK_IMPORTED_MODULE_0__.useRef(controlled !== undefined); const [valueState, setValue] = react__WEBPACK_IMPORTED_MODULE_0__.useState(defaultProp); const value = isControlled ? controlled : valueState; if (true) { react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => { if (isControlled !== (controlled !== undefined)) { console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'].join('\n')); } }, [state, name, controlled]); const { current: defaultValue } = react__WEBPACK_IMPORTED_MODULE_0__.useRef(defaultProp); react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => { if (!isControlled && defaultValue !== defaultProp) { console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\n')); } }, [JSON.stringify(defaultProp)]); } const setValueIfUncontrolled = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(newValue => { if (!isControlled) { setValue(newValue); } }, []); return [value, setValueIfUncontrolled]; } /***/ }), /***/ "./node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.js": /*!************************************************************************!*\ !*** ./node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 'use client'; /** * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering. * This is useful for effects that are only needed for client-side rendering but not for SSR. * * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85 * and confirm it doesn't apply to your use-case. */ const useEnhancedEffect = typeof window !== 'undefined' ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_0__.useEffect; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useEnhancedEffect); /***/ }), /***/ "./node_modules/@mui/utils/useEventCallback/useEventCallback.js": /*!**********************************************************************!*\ !*** ./node_modules/@mui/utils/useEventCallback/useEventCallback.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _useEnhancedEffect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useEnhancedEffect */ "./node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.js"); 'use client'; /** * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892 * See RFC in https://github.com/reactjs/rfcs/pull/220 */ function useEventCallback(fn) { const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(fn); (0,_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_1__["default"])(() => { ref.current = fn; }); return react__WEBPACK_IMPORTED_MODULE_0__.useRef((...args) => // @ts-expect-error hide `this` (0, ref.current)(...args)).current; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useEventCallback); /***/ }), /***/ "./node_modules/@mui/utils/useForkRef/useForkRef.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/utils/useForkRef/useForkRef.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ useForkRef) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _setRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../setRef */ "./node_modules/@mui/utils/setRef/setRef.js"); 'use client'; function useForkRef(...refs) { /** * This will create a new function if the refs passed to this hook change and are all defined. * This means react will call the old forkRef with `null` and the new forkRef * with the ref. Cleanup naturally emerges from this behavior. */ return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => { if (refs.every(ref => ref == null)) { return null; } return instance => { refs.forEach(ref => { (0,_setRef__WEBPACK_IMPORTED_MODULE_1__["default"])(ref, instance); }); }; // eslint-disable-next-line react-hooks/exhaustive-deps }, refs); } /***/ }), /***/ "./node_modules/@mui/utils/useId/useId.js": /*!************************************************!*\ !*** ./node_modules/@mui/utils/useId/useId.js ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ useId) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 'use client'; let globalId = 0; function useGlobalId(idOverride) { const [defaultId, setDefaultId] = react__WEBPACK_IMPORTED_MODULE_0__.useState(idOverride); const id = idOverride || defaultId; react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => { if (defaultId == null) { // Fallback to this default id when possible. // Use the incrementing value for client-side rendering only. // We can't use it server-side. // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem globalId += 1; setDefaultId(`mui-${globalId}`); } }, [defaultId]); return id; } // downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814 const maybeReactUseId = react__WEBPACK_IMPORTED_MODULE_0__['useId'.toString()]; /** * * @example <div id={useId()} /> * @param idOverride * @returns {string} */ function useId(idOverride) { if (maybeReactUseId !== undefined) { const reactId = maybeReactUseId(); return idOverride != null ? idOverride : reactId; } // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime. return useGlobalId(idOverride); } /***/ }), /***/ "./node_modules/@mui/utils/useIsFocusVisible/useIsFocusVisible.js": /*!************************************************************************!*\ !*** ./node_modules/@mui/utils/useIsFocusVisible/useIsFocusVisible.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ useIsFocusVisible), /* harmony export */ teardown: () => (/* binding */ teardown) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _useTimeout_useTimeout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useTimeout/useTimeout */ "./node_modules/@mui/utils/useTimeout/useTimeout.js"); 'use client'; // based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js let hadKeyboardEvent = true; let hadFocusVisibleRecently = false; const hadFocusVisibleRecentlyTimeout = new _useTimeout_useTimeout__WEBPACK_IMPORTED_MODULE_1__.Timeout(); const inputTypesWhitelist = { text: true, search: true, url: true, tel: true, email: true, password: true, number: true, date: true, month: true, week: true, time: true, datetime: true, 'datetime-local': true }; /** * Computes whether the given element should automatically trigger the * `focus-visible` class being added, i.e. whether it should always match * `:focus-visible` when focused. * @param {Element} node * @returns {boolean} */ function focusTriggersKeyboardModality(node) { const { type, tagName } = node; if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) { return true; } if (tagName === 'TEXTAREA' && !node.readOnly) { return true; } if (node.isContentEditable) { return true; } return false; } /** * Keep track of our keyboard modality state with `hadKeyboardEvent`. * If the most recent user interaction was via the keyboard; * and the key press did not include a meta, alt/option, or control key; * then the modality is keyboard. Otherwise, the modality is not keyboard. * @param {KeyboardEvent} event */ function handleKeyDown(event) { if (event.metaKey || event.altKey || event.ctrlKey) { return; } hadKeyboardEvent = true; } /** * If at any point a user clicks with a pointing device, ensure that we change * the modality away from keyboard. * This avoids the situation where a user presses a key on an already focused * element, and then clicks on a different element, focusing it with a * pointing device, while we still think we're in keyboard modality. */ function handlePointerDown() { hadKeyboardEvent = false; } function handleVisibilityChange() { if (this.visibilityState === 'hidden') { // If the tab becomes active again, the browser will handle calling focus // on the element (Safari actually calls it twice). // If this tab change caused a blur on an element with focus-visible, // re-apply the class when the user switches back to the tab. if (hadFocusVisibleRecently) { hadKeyboardEvent = true; } } } function prepare(doc) { doc.addEventListener('keydown', handleKeyDown, true); doc.addEventListener('mousedown', handlePointerDown, true); doc.addEventListener('pointerdown', handlePointerDown, true); doc.addEventListener('touchstart', handlePointerDown, true); doc.addEventListener('visibilitychange', handleVisibilityChange, true); } function teardown(doc) { doc.removeEventListener('keydown', handleKeyDown, true); doc.removeEventListener('mousedown', handlePointerDown, true); doc.removeEventListener('pointerdown', handlePointerDown, true); doc.removeEventListener('touchstart', handlePointerDown, true); doc.removeEventListener('visibilitychange', handleVisibilityChange, true); } function isFocusVisible(event) { const { target } = event; try { return target.matches(':focus-visible'); } catch (error) { // Browsers not implementing :focus-visible will throw a SyntaxError. // We use our own heuristic for those browsers. // Rethrow might be better if it's not the expected error but do we really // want to crash if focus-visible malfunctioned? } // No need for validFocusTarget check. The user does that by attaching it to // focusable events only. return hadKeyboardEvent || focusTriggersKeyboardModality(target); } function useIsFocusVisible() { const ref = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(node => { if (node != null) { prepare(node.ownerDocument); } }, []); const isFocusVisibleRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false); /** * Should be called if a blur event is fired */ function handleBlurVisible() { // checking against potential state variable does not suffice if we focus and blur synchronously. // React wouldn't have time to trigger a re-render so `focusVisible` would be stale. // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events. // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751 // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186). if (isFocusVisibleRef.current) { // To detect a tab/window switch, we look for a blur event followed // rapidly by a visibility change. // If we don't see a visibility change within 100ms, it's probably a // regular focus change. hadFocusVisibleRecently = true; hadFocusVisibleRecentlyTimeout.start(100, () => { hadFocusVisibleRecently = false; }); isFocusVisibleRef.current = false; return true; } return false; } /** * Should be called if a blur event is fired */ function handleFocusVisible(event) { if (isFocusVisible(event)) { isFocusVisibleRef.current = true; return true; } return false; } return { isFocusVisibleRef, onFocus: handleFocusVisible, onBlur: handleBlurVisible, ref }; } /***/ }), /***/ "./node_modules/@mui/utils/useLazyRef/useLazyRef.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/utils/useLazyRef/useLazyRef.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ useLazyRef) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 'use client'; const UNINITIALIZED = {}; /** * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional * initialization argument, so the initialization function doesn't need to be an inline closure. * * @usage * const ref = useLazyRef(sortColumns, columns) */ function useLazyRef(init, initArg) { const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(UNINITIALIZED); if (ref.current === UNINITIALIZED) { ref.current = init(initArg); } return ref; } /***/ }), /***/ "./node_modules/@mui/utils/useOnMount/useOnMount.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/utils/useOnMount/useOnMount.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ useOnMount) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 'use client'; const EMPTY = []; /** * A React.useEffect equivalent that runs once, when the component is mounted. */ function useOnMount(fn) { /* eslint-disable react-hooks/exhaustive-deps */ react__WEBPACK_IMPORTED_MODULE_0__.useEffect(fn, EMPTY); /* eslint-enable react-hooks/exhaustive-deps */ } /***/ }), /***/ "./node_modules/@mui/utils/useTimeout/useTimeout.js": /*!**********************************************************!*\ !*** ./node_modules/@mui/utils/useTimeout/useTimeout.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Timeout: () => (/* binding */ Timeout), /* harmony export */ "default": () => (/* binding */ useTimeout) /* harmony export */ }); /* harmony import */ var _useLazyRef_useLazyRef__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../useLazyRef/useLazyRef */ "./node_modules/@mui/utils/useLazyRef/useLazyRef.js"); /* harmony import */ var _useOnMount_useOnMount__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useOnMount/useOnMount */ "./node_modules/@mui/utils/useOnMount/useOnMount.js"); 'use client'; class Timeout { constructor() { this.currentId = 0; this.clear = () => { if (this.currentId !== 0) { clearTimeout(this.currentId); this.currentId = 0; } }; this.disposeEffect = () => { return this.clear; }; } static create() { return new Timeout(); } /** * Executes `fn` after `delay`, clearing any previously scheduled call. */ start(delay, fn) { this.clear(); this.currentId = setTimeout(() => { this.currentId = 0; fn(); }, delay); } } function useTimeout() { const timeout = (0,_useLazyRef_useLazyRef__WEBPACK_IMPORTED_MODULE_0__["default"])(Timeout.create).current; (0,_useOnMount_useOnMount__WEBPACK_IMPORTED_MODULE_1__["default"])(timeout.disposeEffect); return timeout; } /***/ }), /***/ "./node_modules/@wordpress/icons/build-module/icon/index.js": /*!******************************************************************!*\ !*** ./node_modules/@wordpress/icons/build-module/icon/index.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /** * WordPress dependencies */ /** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */ /** * Return an SVG icon. * * @param {IconProps} props icon is the SVG component to render * size is a number specifiying the icon size in pixels * Other props will be passed to wrapped SVG component * @param {import('react').ForwardedRef<HTMLElement>} ref The forwarded ref to the SVG element. * * @return {JSX.Element} Icon component */ function Icon({ icon, size = 24, ...props }, ref) { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(icon, { width: size, height: size, ...props, ref }); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(Icon)); //# sourceMappingURL=index.js.map /***/ }), /***/ "./node_modules/@wordpress/icons/build-module/library/arrow-right.js": /*!***************************************************************************!*\ !*** ./node_modules/@wordpress/icons/build-module/library/arrow-right.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const arrowRight = (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.Path, { d: "m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z" })); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrowRight); //# sourceMappingURL=arrow-right.js.map /***/ }), /***/ "./node_modules/@wordpress/icons/build-module/library/chevron-down.js": /*!****************************************************************************!*\ !*** ./node_modules/@wordpress/icons/build-module/library/chevron-down.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const chevronDown = (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.Path, { d: "M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z" })); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (chevronDown); //# sourceMappingURL=chevron-down.js.map /***/ }), /***/ "./node_modules/@wordpress/icons/build-module/library/chevron-up.js": /*!**************************************************************************!*\ !*** ./node_modules/@wordpress/icons/build-module/library/chevron-up.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const chevronUp = (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.Path, { d: "M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z" })); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (chevronUp); //# sourceMappingURL=chevron-up.js.map /***/ }), /***/ "./src/App.js": /*!********************!*\ !*** ./src/App.js ***! \********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ App) /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _template_header__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./template/header */ "./src/template/header.js"); /* harmony import */ var _template_buildericon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./template/buildericon */ "./src/template/buildericon.js"); /* harmony import */ var _template_aibuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./template/aibuilder */ "./src/template/aibuilder.js"); /* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/url */ "@wordpress/url"); /* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _template_dashboard__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./template/dashboard */ "./src/template/dashboard.js"); function App() { const [currentUrl, setCurrentUrl] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(window.location.href); const [pageChange, setpageChange] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(null); const [builder, setBuilder] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(null); const builderHide = builder_rs => { setBuilder(builder_rs); }; (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { if ((0,_wordpress_url__WEBPACK_IMPORTED_MODULE_4__.getQueryArg)(currentUrl, 'template') === 'step') { setpageChange(true); } else { setpageChange(false); } }, []); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "App" }, pageChange && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-app-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_template_header__WEBPACK_IMPORTED_MODULE_1__["default"], null), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "heading" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("h1", null, "Ready To Import Website Templates ")), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_template_buildericon__WEBPACK_IMPORTED_MODULE_2__["default"], { builderclick: builder_rs => builderHide(builder_rs) }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_template_aibuilder__WEBPACK_IMPORTED_MODULE_3__["default"], { builder: builder })), pageChange === false && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_template_dashboard__WEBPACK_IMPORTED_MODULE_5__["default"], null)); } /***/ }), /***/ "./src/actions/index.js": /*!******************************!*\ !*** ./src/actions/index.js ***! \******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ addCateBuilder: () => (/* binding */ addCateBuilder), /* harmony export */ addTrueFalse: () => (/* binding */ addTrueFalse), /* harmony export */ builderType: () => (/* binding */ builderType), /* harmony export */ reduxBuildrName: () => (/* binding */ reduxBuildrName), /* harmony export */ stepFour: () => (/* binding */ stepFour), /* harmony export */ stepOne: () => (/* binding */ stepOne), /* harmony export */ stepThree: () => (/* binding */ stepThree), /* harmony export */ stepTwo: () => (/* binding */ stepTwo), /* harmony export */ templateData: () => (/* binding */ templateData), /* harmony export */ tmplLodaing: () => (/* binding */ tmplLodaing) /* harmony export */ }); const templateData = (builder, cate) => { return { type: "TEMPLATE_DATA", payload: builder, cate: cate }; }; const reduxBuildrName = payload => { return { type: "BUILDER_NAME", payload: payload }; }; const addCateBuilder = (cate, builder) => { return { type: "CATE_BUILDER", payload: cate, builderload: builder }; }; const addTrueFalse = payload => { return { type: "ACTION", payload: payload }; }; const builderType = payload => { return { type: "BUILDER", payload: payload }; }; // installStart use const tmplLodaing = payload => { return { type: "INSTALL", payload: payload }; }; // Step Button Clik const stepOne = payload => { return { type: "STEP1", payload: payload }; }; const stepTwo = payload => { return { type: "STEP2", payload: payload }; }; const stepThree = payload => { return { type: "STEP3", payload: payload }; }; const stepFour = payload => { return { type: "STEP4", payload: payload }; }; /***/ }), /***/ "./src/aisb.js": /*!*********************!*\ !*** ./src/aisb.js ***! \*********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ HomeLink: () => (/* binding */ HomeLink), /* harmony export */ Logo: () => (/* binding */ Logo), /* harmony export */ Upgrade: () => (/* binding */ Upgrade) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/icon/index.js"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); function Upgrade(props) { const version = 'Version 1.0'; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, props.btn && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: HCLOCAL.upgrade, target: "_blank" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Button, { variant: "primary", className: "aisb-upgrade-btn", style: props.styles }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_2__["default"], { icon: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", { viewBox: "0 0 1024 1024", class: "icon", version: "1.1" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M57 438.312l109.536 488.72h697.336l109.536-488.72-259.176 156.816-187.856-333.088-205.352 333.088z", fill: "#EC9312" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M629.048 211.888c0 58.912-47.752 106.656-106.672 106.656-58.92 0-106.664-47.744-106.664-106.656 0-58.976 47.744-106.656 106.664-106.656s106.672 47.688 106.672 106.656z", fill: "#CB1B5B" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M522.376 105.232c-58.92 0-106.664 47.68-106.664 106.656 0 58.912 47.744 106.656 106.664 106.656V105.232z", fill: "#E5226B" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M57 438.312l109.536 488.72h697.336z", fill: "#F4A832" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M973.408 438.312l-109.536 488.72H166.536z", fill: "#F4A832" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M166.536 927.032h697.336L515.2 715.832z", fill: "#F5B617" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M1017.856 409.44a55.2 55.2 0 0 1-55.264 55.208 55.184 55.184 0 0 1-55.216-55.208 55.2 55.2 0 0 1 55.216-55.264 55.2 55.2 0 0 1 55.264 55.264z", fill: "#0472AF" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M962.592 354.176a55.2 55.2 0 0 0-55.216 55.264 55.184 55.184 0 0 0 55.216 55.208V354.176z", fill: "#1A8DCC" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M116.656 409.44a55.216 55.216 0 0 1-55.272 55.208A55.208 55.208 0 0 1 6.144 409.44a55.208 55.208 0 0 1 55.24-55.264 55.224 55.224 0 0 1 55.272 55.264z", fill: "#0472AF" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M61.384 354.176A55.216 55.216 0 0 0 6.144 409.44a55.2 55.2 0 0 0 55.24 55.208V354.176z", fill: "#0092D2" })) }), "UPGRADE TO PRO")), " ", props.version && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("b", null, version)); } function HomeLink() { return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: '?page=themehunk-site-library', title: "Dashboard" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_2__["default"], { icon: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", { className: "dashboard-link", fill: "#fff", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "24", height: "24", "aria-hidden": "true", focusable: "false" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z" })) })); } function Logo() { return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "logo aisb-logo" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: '?page=themehunk-site-library' }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { src: HCLOCAL.rootPath + "import/admin/assets/images/logo.png", alt: "themehunk Logo" }))); } // Set default props Upgrade.defaultProps = { styles: { color: "#1e1e1e", background: "#fbd15b" }, btn: true, version: true }; /***/ }), /***/ "./src/reducers/index.js": /*!*******************************!*\ !*** ./src/reducers/index.js ***! \*******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); /* harmony import */ var _temperature__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./temperature */ "./src/reducers/temperature.js"); const rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_1__.combineReducers)({ reduxBuildrName: _temperature__WEBPACK_IMPORTED_MODULE_0__.reduxBuildrName, templateData: _temperature__WEBPACK_IMPORTED_MODULE_0__.templateData, templateSelect: _temperature__WEBPACK_IMPORTED_MODULE_0__.templateSelect, trueFalse: _temperature__WEBPACK_IMPORTED_MODULE_0__.trueFalse, tmplInstall: _temperature__WEBPACK_IMPORTED_MODULE_0__.tmplInstall, stepLoad: _temperature__WEBPACK_IMPORTED_MODULE_0__.stepLoad }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (rootReducer); /***/ }), /***/ "./src/reducers/temperature.js": /*!*************************************!*\ !*** ./src/reducers/temperature.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ reduxBuildrName: () => (/* binding */ reduxBuildrName), /* harmony export */ stepLoad: () => (/* binding */ stepLoad), /* harmony export */ templateData: () => (/* binding */ templateData), /* harmony export */ templateSelect: () => (/* binding */ templateSelect), /* harmony export */ tmplInstall: () => (/* binding */ tmplInstall), /* harmony export */ trueFalse: () => (/* binding */ trueFalse) /* harmony export */ }); /* harmony import */ var _assets_json_gutenberg_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../assets/json/gutenberg.json */ "./assets/json/gutenberg.json"); /* harmony import */ var _assets_json_th_shop_mania_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../assets/json/th-shop-mania.json */ "./assets/json/th-shop-mania.json"); /* harmony import */ var _assets_json_top_store_pro_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../assets/json/top-store-pro.json */ "./assets/json/top-store-pro.json"); /* harmony import */ var _assets_json_openshop_pro_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../assets/json/openshop-pro.json */ "./assets/json/openshop-pro.json"); /* harmony import */ var _assets_json_gogo_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../assets/json/gogo.json */ "./assets/json/gogo.json"); /* harmony import */ var _assets_json_open_mart_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../assets/json/open-mart.json */ "./assets/json/open-mart.json"); /* harmony import */ var _assets_json_almaira_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../assets/json/almaira.json */ "./assets/json/almaira.json"); /* harmony import */ var _assets_json_portfolioline_json__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../assets/json/portfolioline.json */ "./assets/json/portfolioline.json"); const gutenbergtmpl = ['th-shop-mania', 'gutenberg']; const customizer = ['top-store', 'top-store-pro', 'gogo', 'openshop-pro', 'open-shop', 'royal-shop', 'big-store', 'jotshop', 'open-mart', 'm-shop', 'shopline-pro', 'amaz-store', 'almaira', 'almaira-shop', 'novelpro', 'oneline', 'portfoliolite', 'portfolioline', 'featured']; const elementor = ['th-shop-mania', 'elementor']; //let jsonTheme = HCLOCAL.themeName.replace(/-/g, ""); //HCLOCAL.themeName - current theme name // builderHandel(HCLOCAL.themeName) - builder name like elementor, customizer or gutenberg let jsonData = ''; switch (HCLOCAL.themeName) { case 'th-shop-mania': jsonData = _assets_json_gutenberg_json__WEBPACK_IMPORTED_MODULE_0__.concat(_assets_json_th_shop_mania_json__WEBPACK_IMPORTED_MODULE_1__); break; case 'top-store': jsonData = _assets_json_gutenberg_json__WEBPACK_IMPORTED_MODULE_0__.concat(_assets_json_top_store_pro_json__WEBPACK_IMPORTED_MODULE_2__); break; case 'open-shop': jsonData = _assets_json_gutenberg_json__WEBPACK_IMPORTED_MODULE_0__.concat(_assets_json_openshop_pro_json__WEBPACK_IMPORTED_MODULE_3__); break; case 'gogo': jsonData = _assets_json_gogo_json__WEBPACK_IMPORTED_MODULE_4__.concat(); break; case 'open-mart': jsonData = _assets_json_gutenberg_json__WEBPACK_IMPORTED_MODULE_0__.concat(_assets_json_open_mart_json__WEBPACK_IMPORTED_MODULE_5__); break; case 'almaira-shop': jsonData = _assets_json_almaira_json__WEBPACK_IMPORTED_MODULE_6__.concat(); break; case 'portfoliolite': jsonData = _assets_json_portfolioline_json__WEBPACK_IMPORTED_MODULE_7__.concat(); break; default: jsonData = _assets_json_gutenberg_json__WEBPACK_IMPORTED_MODULE_0__.concat(_assets_json_th_shop_mania_json__WEBPACK_IMPORTED_MODULE_1__); } const builderHandel = builder => { if (customizer.includes(builder)) { return 'customizer'; } else if (elementor.includes(builder)) { return 'elementor'; } else if (gutenbergtmpl.includes(builder)) { return 'gutenberg'; } }; const defaultJsonData = jsonData.filter(template => builderHandel(template.builder_theme) === builderHandel(HCLOCAL.themeName) && template.category.includes('all')); const templateData = (state = defaultJsonData, action) => { switch (action.type) { case "TEMPLATE_DATA": return jsonData.filter(template => builderHandel(template.builder_theme) === action.payload && template.category.includes(action.cate)); default: return state; } }; const reduxBuildrName = (state = builderHandel(HCLOCAL.themeName), action) => { switch (action.type) { case "BUILDER_NAME": return action.payload; default: return state; } }; const templateSelect = (state = { cate: 'all', builder: builderHandel(HCLOCAL.themeName) }, action) => { switch (action.type) { case "CATE_BUILDER": return { cate: action.payload, builder: action.builderload }; default: return state; } }; const initialStateTF = false; const trueFalse = (state = initialStateTF, action) => { switch (action.type) { case "ACTION": return action.payload; case "BUILDER": return action.payload; default: return state; } }; const tmplInstall = (state = 'Installing Start', action) => { switch (action.type) { case "INSTALL": return action.payload; default: return state; } }; const stepLoad = (state = { iframe: false, createWebsite: false, install: false, sucess: false }, action) => { switch (action.type) { case "STEP1": return { iframe: action.payload, createWebsite: false, install: false, success: false }; case "STEP2": return { iframe: false, createWebsite: action.payload, install: false, success: false }; case "STEP3": return { iframe: false, createWebsite: false, install: action.payload, success: false }; case "STEP4": return { iframe: false, createWebsite: false, install: false, success: action.payload }; default: return state; } }; // case "ADD" : return state.concat(action.payload); // case "REMOVE" : return state.filter(function(initialState) { return initialState !== action.payload }); /***/ }), /***/ "./src/store.js": /*!**********************!*\ !*** ./src/store.js ***! \**********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); /* harmony import */ var _reducers_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reducers/index */ "./src/reducers/index.js"); // const stores = createReduxStore( 'my-shop', { // reducer: combineReducers( { // prices, // discountPercent, // } ), // } ); // register( stores ); const store = (0,redux__WEBPACK_IMPORTED_MODULE_1__.legacy_createStore)(_reducers_index__WEBPACK_IMPORTED_MODULE_0__["default"], window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (store); /***/ }), /***/ "./src/template/IframeTemplate.js": /*!****************************************!*\ !*** ./src/template/IframeTemplate.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ IframeTemplate) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/icon/index.js"); /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/library/arrow-right.js"); /* harmony import */ var _mui_material_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material/styles */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _mui_material_Paper__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/material/Paper */ "./node_modules/@mui/material/Paper/Paper.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../actions */ "./src/actions/index.js"); /* harmony import */ var _aisb__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../aisb */ "./src/aisb.js"); const Item = (0,_mui_material_styles__WEBPACK_IMPORTED_MODULE_6__["default"])(_mui_material_Paper__WEBPACK_IMPORTED_MODULE_7__["default"])(({ theme }) => ({ backgroundColor: theme.palette.mode === 'dark' ? '#1A2027' : '#fff', ...theme.typography.body2, padding: theme.spacing(1), textAlign: 'center', color: theme.palette.text.secondary })); function IframeTemplate(props) { const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)(); const myState = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(state => state.trueFalse); const [apiUrl, setApiUrl] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(null); const handelClose = () => { dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_4__.addTrueFalse)(true)); var modalImg = document.getElementById("iframetmpl"); var modal = document.getElementById("myModal"); modal.style.display = "none"; document.body.style.overflow = "auto"; // modalImg.src = ''; urlReset(); // window.location.reload(); }; const urlReset = () => { apiUrl && setApiUrl(null); }; const nextInstall = () => { props.installHandel(); }; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "iframe-footer header" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Flex, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.FlexItem, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "aisb-back" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "sb-column-close" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "primary", className: "close", onClick: () => handelClose() }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_8__["default"], { size: 12, icon: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", { fill: "#000000", width: "800px", height: "800px", viewBox: "0 0 96 96", xmlns: "http://www.w3.org/2000/svg" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("title", null), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M39.3756,48.0022l30.47-25.39a6.0035,6.0035,0,0,0-7.6878-9.223L26.1563,43.3906a6.0092,6.0092,0,0,0,0,9.2231L62.1578,82.615a6.0035,6.0035,0,0,0,7.6878-9.2231Z" })) }), "Back")))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.FlexBlock, null, props.templateData.free_paid === 'free' && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { onClick: () => nextInstall(), className: "aisb-install-btn" }, "Continue", (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("b", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_8__["default"], { size: 22, icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_9__["default"] })))), props.templateData.free_paid === 'paid' && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "header-text center" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_5__.Upgrade, { version: false }))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.FlexItem, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "header-text" }, props.templateData.free_paid === 'free' && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_5__.Upgrade, { version: false }))))); } /***/ }), /***/ "./src/template/aibuilder.js": /*!***********************************!*\ !*** ./src/template/aibuilder.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ AiBuilder) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _skeleton_loader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./skeleton-loader */ "./src/template/skeleton-loader.js"); /* harmony import */ var _sitetemplate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./sitetemplate */ "./src/template/sitetemplate.js"); /* harmony import */ var _IframeTemplate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./IframeTemplate */ "./src/template/IframeTemplate.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../actions */ "./src/actions/index.js"); /* harmony import */ var _installStart__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./installStart */ "./src/template/installStart.js"); /* harmony import */ var _buildwebsite__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./buildwebsite */ "./src/template/buildwebsite.js"); /* harmony import */ var _success__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./success */ "./src/template/success.js"); /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/icon/index.js"); /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/library/chevron-up.js"); /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/library/chevron-down.js"); function AiBuilder(props) { const pageStep = (0,react_redux__WEBPACK_IMPORTED_MODULE_6__.useSelector)(state => state.stepLoad); const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_6__.useDispatch)(); const [templateData, setTemplateData] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(null); const [iframeurl, setIframeUrl] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(false); const [loader, setLoaderl] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(true); const [nextBtn, setNextBtn] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(true); const [stepThree, setStepThree] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(false); const [iframeDisplay, setIframeDisplay] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)({ display: "block" }); const [isHidden, setIsHidden] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(false); const handeldata = jdata => { try { dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_7__.stepOne)(true)); document.body.style.overflow = "hidden"; setIframeDisplay({ display: "none" }); // document.getElementById("iframetmpl").style.display = "none"; setTemplateData(jdata); setLoaderl(true); setIframeUrl(jdata.demo_url + '/?hide&theme'); setTimeout(function () { frameload(); }, 3000); } catch (error) { console.error('Error fetching data:', error); } }; const frameload = () => { // sendPostMessage(); setTimeout(function () { setLoaderl(false); setIframeDisplay({ display: "block" }); }, 2000); }; const installHandel = () => { dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_7__.stepTwo)(true)); setNextBtn(false); setStepThree(true); }; const handelDownFotter = () => { setIsHidden(!isHidden); }; const sendPostMessage = () => { const iframe = document.getElementById('iframetmpl'); const iframeCallData = { class: 'custom-logo', src: 'https://zitademo.wpzita.com/physiotherapy/wp-content/uploads/sites/105/2023/06/physiotherapy-32.png', call: 'satrtUploadData' }; iframe.contentWindow.postMessage(iframeCallData, '*'); }; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "aisb-container-main-tmpl" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_sitetemplate__WEBPACK_IMPORTED_MODULE_4__["default"], { datatemp: jdata => handeldata(jdata), builderHide: props.builder })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { id: "myModal", class: "aisb-model modal" }, pageStep.createWebsite && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_buildwebsite__WEBPACK_IMPORTED_MODULE_9__["default"], null), pageStep.install && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_installStart__WEBPACK_IMPORTED_MODULE_8__["default"], { templateData: templateData }), pageStep.success && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_success__WEBPACK_IMPORTED_MODULE_10__["default"], null), pageStep.iframe && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "aisb-container-demo-tmpl theme-install-overlay-stop wp-full-overlay-stop expanded-stop" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: `left-column wp-full-overlay-sidebar-stop ${isHidden ? 'tiphide' : ''}`, id: "sidebarModel" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("b", { onClick: handelDownFotter, className: "footer-tip" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_11__["default"], { size: 22, icon: isHidden ? _wordpress_icons__WEBPACK_IMPORTED_MODULE_12__["default"] : _wordpress_icons__WEBPACK_IMPORTED_MODULE_13__["default"] })), templateData !== null && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_IframeTemplate__WEBPACK_IMPORTED_MODULE_5__["default"], { templateData: templateData, installHandel: () => installHandel() })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "right-column-demo modal-content wp-full-overlay-main", id: "iframeModel" }, loader && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_skeleton_loader__WEBPACK_IMPORTED_MODULE_3__["default"], null), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("iframe", { onLoad: frameload, id: "iframetmpl", src: iframeurl, height: "100%", width: "100%", frameborder: "0", style: iframeDisplay }))))); } /***/ }), /***/ "./src/template/buildericon.js": /*!*************************************!*\ !*** ./src/template/buildericon.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ BuilderIcon) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _mui_material_MenuItem__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/material/MenuItem */ "./node_modules/@mui/material/MenuItem/MenuItem.js"); /* harmony import */ var _mui_material_FormControl__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material/FormControl */ "./node_modules/@mui/material/FormControl/FormControl.js"); /* harmony import */ var _mui_material_Select__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/material/Select */ "./node_modules/@mui/material/Select/Select.js"); /* harmony import */ var _mui_material_styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material/styles */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _mui_material_InputBase__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material/InputBase */ "./node_modules/@mui/material/InputBase/InputBase.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actions */ "./src/actions/index.js"); function BuilderIcon(props) { const reduxBuildrName = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(state => state.reduxBuildrName); const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)(); const [bulderType, setbulderType] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(null); const [builder, setBuilder] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(reduxBuildrName); const [iscate, setisCate] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)('all'); const handleBuilder = event => { setBuilder(event.target.value); dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.addCateBuilder)(iscate, event.target.value)); dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.templateData)(event.target.value, iscate)); }; const handleCate = event => { setisCate(event.target.value); dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.addCateBuilder)(event.target.value, builder)); dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.templateData)(builder, event.target.value)); }; const handelIconClick = type => { props.builderclick(type); setbulderType(type); }; const BootstrapInput = (0,_mui_material_styles__WEBPACK_IMPORTED_MODULE_4__["default"])(_mui_material_InputBase__WEBPACK_IMPORTED_MODULE_5__["default"])(({ theme }) => ({ 'label + &': { marginTop: theme.spacing(3) }, '& .MuiInputBase-input': { borderRadius: 6, position: 'relative', backgroundColor: theme.palette.background.paper, border: '1px solid #ced4da', fontSize: 16, padding: '10px 26px 10px 12px', transition: theme.transitions.create(['border-color', 'box-shadow']), // Use the system font instead of the default Roboto font. fontFamily: ['-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"'].join(','), '&:focus': { borderRadius: 6, borderColor: '#80bdff', boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)' } } })); const ITEM_HEIGHT = 48; const ITEM_PADDING_TOP = 8; const MenuProps = { PaperProps: { style: { maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP, width: 250 } } }; const getCategory = () => { switch (HCLOCAL.themeName) { case 'th-shop-mania': return ['all', 'free', 'latest', "woocommerce", 'multivendor', 'multipurpose']; break; case 'gogo': return ['all', 'free', 'pro']; break; case 'portfoliolite': return ['all', 'free']; break; default: return ['all', 'free', "pro", "woocommerce"]; } }; //'latest','woocommmerce' //'multipurpose','business','portfolio','music','landing-page','sports' // Utility function outside of the component const processString = str => { // Remove all dashes let processedStr = str.replace(/-/g, ' '); // Capitalize the first letter of each word processedStr = processedStr.split(' ').map(word => { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); }).join(' '); return processedStr; }; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-builder-icon" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material_FormControl__WEBPACK_IMPORTED_MODULE_6__["default"], { sx: { m: 1, minWidth: 260 }, variant: "standard" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material_Select__WEBPACK_IMPORTED_MODULE_7__["default"], { labelId: "demo-select-small-labe", id: "demo-simple-select-helper", value: builder, label: "Builder", onChange: handleBuilder, input: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(BootstrapInput, null) }, reduxBuildrName === 'elementor' && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material_MenuItem__WEBPACK_IMPORTED_MODULE_8__["default"], { value: "elementor", onClick: () => handelIconClick('elementor') }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `column-icon ${bulderType == 'elementor' ? 'active' : 'icon'}`, id: "elementor" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { src: `${HCLOCAL.pluginpath}admin/assets/images/elementor.png`, alt: "Elementor Template" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "image-text-builder-icon" }, "Elementor"))), reduxBuildrName === 'elementor' && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material_MenuItem__WEBPACK_IMPORTED_MODULE_8__["default"], { value: 'gutenberg', onClick: () => handelIconClick('gutenberg') }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `column-icon ${bulderType == 'gutenberg' ? 'active' : 'icon'}`, id: "gutenberg" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { src: `${HCLOCAL.pluginpath}admin/assets/images/gutenberg.png`, alt: "Block Templates" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "image-text-builder-icon" }, "Gutenberg"))), reduxBuildrName === 'customizer' && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material_MenuItem__WEBPACK_IMPORTED_MODULE_8__["default"], { value: 'customizer', onClick: () => handelIconClick('customizer') }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `column-icon ${bulderType == 'customizer' ? 'active' : 'icon'}`, id: "customizer" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { src: `${HCLOCAL.pluginpath}admin/assets/images/wp.png`, alt: "Customizer Template" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "image-text-builder-icon" }, processString(HCLOCAL.themeName)))))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material_FormControl__WEBPACK_IMPORTED_MODULE_6__["default"], { className: "aisb-catelist", sx: { m: 1, minWidth: 260 }, variant: "standard" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material_Select__WEBPACK_IMPORTED_MODULE_7__["default"], { value: iscate, onChange: handleCate, labelId: "demo-select-small-labe", id: "demo-simple-select-helper", label: "Builder", inputProps: { 'aria-label': 'Without label' }, MenuProps: MenuProps, input: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(BootstrapInput, null) }, getCategory().map((cate, index) => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material_MenuItem__WEBPACK_IMPORTED_MODULE_8__["default"], { value: cate }, " ", cate, " "))))); } /***/ }), /***/ "./src/template/buildwebsite.js": /*!**************************************!*\ !*** ./src/template/buildwebsite.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ buildWibsite) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/icon/index.js"); /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/library/arrow-right.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../actions */ "./src/actions/index.js"); /* harmony import */ var _aisb__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../aisb */ "./src/aisb.js"); function buildWibsite(props) { const pageStep = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(state => state.stepLoad); const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)(); const [checkboxes, setCheckboxes] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)({ delete: true, themes: true, plugins: true, content: true }); const handleCheckboxChange = checkboxName => { setCheckboxes({ ...checkboxes, [checkboxName]: !checkboxes[checkboxName] }); }; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-build-wrap" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-build" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Flex, { className: "header" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.FlexItem, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "aisb-back" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "sb-column-close" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Button, { onClick: () => dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_4__.stepOne)(true)), variant: "primary", className: "close" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_6__["default"], { size: 10, icon: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", { fill: "#000000", viewBox: "0 0 96 96", xmlns: "http://www.w3.org/2000/svg" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("title", null), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M39.3756,48.0022l30.47-25.39a6.0035,6.0035,0,0,0-7.6878-9.223L26.1563,43.3906a6.0092,6.0092,0,0,0,0,9.2231L62.1578,82.615a6.0035,6.0035,0,0,0,7.6878-9.2231Z" })) }), "Back")))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.FlexItem, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "header-text" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_5__.Upgrade, { version: false }))))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-main" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-form" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h2", null, " Lets Build Your AI Website"), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h4", { className: "aisb-site-sub-heading" }, "Before be Continue Pease Confirm These Options - "), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-options" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "group" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("input", { type: "checkbox", id: "themes", checked: checkboxes.themes }), " ", (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { for: "themes" }, "Install & Activate Theme ")), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "group" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("input", { type: "checkbox", id: "plugins", checked: checkboxes.plugins }), " ", (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { for: "plugins" }, "Install Required Plugins ")), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "group" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("input", { type: "checkbox", id: "content", checked: checkboxes.content }), " ", (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { for: "content" }, "Install Demo content "))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "btn-center" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "aisb-install-btn", onClick: () => dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_4__.stepThree)(true)) }, "Build My Website", (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("b", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_6__["default"], { size: 22, icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_7__["default"] }))))))); } /***/ }), /***/ "./src/template/dashboard.js": /*!***********************************!*\ !*** ./src/template/dashboard.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ dashboard) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _aisb__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../aisb */ "./src/aisb.js"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__); function dashboard(props) { const [activeTab, setActiveTab] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)('si'); const [builder, setBuilder] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(null); const builderHide = builder_rs => { setBuilder(builder_rs); }; const handleClick = (active, url = '') => { //thunk_started setActiveTab(active); let welcomeSlug = 'thunk_started'; switch (HCLOCAL.themeName) { case 'th-shop-mania': welcomeSlug = 'th_shop_mania_thunk_started'; break; default: welcomeSlug = 'thunk_started'; break; } window.location.href = HCLOCAL.baseurl + 'wp-admin/themes.php?page=' + welcomeSlug; }; const btnStyle = { color: "#fff", background: "var(--aisb-bg-color)" }; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-dashboard" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-header-wrap" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Flex, { className: "aisb-dashboard-header", direction: ['column', 'row'] }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.FlexBlock, { className: "aisb-logo" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_3__.Logo, null), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h2", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: "https://themehunk.com" }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('ThemeHunk', 'hunk-companion'), " "))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.FlexBlock, { className: "th-menu-wrap" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `th-menu-item ${activeTab === 'w' && 'active'}`, onClick: () => handleClick('w', '') }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Welcome', 'hunk-companion')), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `th-menu-item ${activeTab === 'si' && 'active'}` }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Import Sites', 'hunk-companion'))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.FlexItem, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "header-text" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_3__.Upgrade, { styles: btnStyle, version: false }))))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "th-content" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "th-conatiner" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-left-content" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h1", null, " Ready To Import Websites"), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", null, "Our themes and plugins are made to be easy to use, but it\u2019s a good idea to learn how they work. You can do this by checking out our detailed instructions on documentation."), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: window.location.href + '&template=step' }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h2", { className: "create-website" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { src: HCLOCAL.pluginpath + 'admin/assets/svg/create-site.svg' }), "Create My Website")), HCLOCAL.themeName === 'th-shop-mania' && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("iframe", { width: "600", height: "315", src: "https://www.youtube.com/embed/MjVBKQblHW0", title: "YouTube video player", frameborder: "0", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share", allowfullscreen: true }))))); } /***/ }), /***/ "./src/template/header.js": /*!********************************!*\ !*** ./src/template/header.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ Header) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _aisb__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../aisb */ "./src/aisb.js"); function Header() { const currentURL = window.location.href; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "header" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("header", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_1__.Logo, null), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "header-text" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_1__.Upgrade, { version: false }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_1__.HomeLink, null)))); } /***/ }), /***/ "./src/template/importapi.js": /*!***********************************!*\ !*** ./src/template/importapi.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ ImportAPI) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actions */ "./src/actions/index.js"); const ThemehunkSSEImport = { complete: { posts: 0, media: 0, users: 0, comments: 0, terms: 0 }, updateDelta: function (type, delta) { this.complete[type] += delta; var self = this; requestAnimationFrame(function () { self.render(); }); }, updateProgress: function (type, complete, total) { var text = complete + '/' + total; if ('undefined' !== type && 'undefined' !== text) { total = parseInt(total, 10); if (0 === total || isNaN(total)) { total = 1; } var percent = parseInt(complete, 10) / total; var progress = Math.round(percent * 100) + '%'; var progress_bar = percent * 100; } }, render: function () { var types = Object.keys(this.complete); var complete = 0; var total = 0; for (var i = types.length - 1; i >= 0; i--) { var type = types[i]; this.data.count[type] && this.updateProgress(type, this.complete[type], this.data.count[type]); complete += this.complete[type]; total += this.data.count[type]; } this.updateProgress('total', complete, total); } }; function ImportAPI(props) { const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)(); const lodaingMsg = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(state => state.tmplInstall); const pageStep = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(state => state.stepLoad); const [apiUrl, setApiUrl] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(props.apiurl); const [apiData, setApiData] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(null); const [updateStart, setupdateStart] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(false); const [ajaxUrl, setAjaxUrl] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(HCLOCAL.ajaxurl); /*** All Import data * customizer,option,xml */ const getImportData = async () => { const dataToSend = { data: apiUrl }; // Customize the data to send const response = await fetch(ajaxUrl, { method: 'POST', headers: { 'X-WP-Nonce': HCLOCAL.security }, body: new URLSearchParams({ action: 'hunk_companion_handler_data', // Specify the WordPress AJAX action security: HCLOCAL.security, data: JSON.stringify(dataToSend) // Convert the data to JSON and send it }) }); const jsonData = await response.json(); setApiData(jsonData.data); console.log('Start...'); dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.tmplLodaing)('Importing Content')); importXml(jsonData.data.xml); }; /** Xml Data Import * function 1: importXml() * function 2: hendelXmlImport() xml data import all images, files,post and pages */ const hendelXmlImport = async xml_data => { ThemehunkSSEImport.data = xml_data; ThemehunkSSEImport.render(); const evtSource = new EventSource(ThemehunkSSEImport.data.url); evtSource.onmessage = function (message) { var data = JSON.parse(message.data); switch (data.action) { case 'updateDelta': dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.tmplLodaing)('Importing - ' + data.type)); ThemehunkSSEImport.updateDelta(data.type, data.delta); break; case 'complete': evtSource.close(); // 2. Pass - Import XML though "Source Event". // console.log('XML importing completed.'); dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.tmplLodaing)('Importing Design & Logo')); setupdateStart(true); // $(document).trigger( 'themehunk-sites-import-xml-success' ); break; } }; evtSource.addEventListener('log', function (message) { var data = JSON.parse(message.data); }); }; const importXml = async xml_url => { try { const dataToSend = { data: xml_url }; // Customize the data to send const response = await fetch(ajaxUrl, { method: 'POST', headers: { 'X-WP-Nonce': HCLOCAL.security }, body: new URLSearchParams({ action: 'hunk_companion_import_xml', // Specify the WordPress AJAX action security: HCLOCAL.security, data: JSON.stringify(dataToSend) // Convert the data to JSON and send it }) }).then(response => response.json()).then(xml_data => { // Handle the AJAX response hendelXmlImport(xml_data.data); }).catch(error => { // Handle errors console.error('Error in AJAX request:', error); }); } catch (error) { console.error('Error fetching data:', error); } }; /*** Customizer Data import * function : importCustomizer(); */ const importCustomizer = async () => { try { const dataToSend = { data: apiData.customizer }; // Customize the data to send const response = await fetch(ajaxUrl, { method: 'POST', headers: { 'X-WP-Nonce': HCLOCAL.security }, body: new URLSearchParams({ action: 'hunk_companion_import_cutomizer', // Specify the WordPress AJAX action security: HCLOCAL.security, data: JSON.stringify(dataToSend) // Convert the data to JSON and send it }) }).then(response => response.json()).then(customizer_data => { // Handle the AJAX respons return customizer_data; // Perform any further actions with the response }).catch(error => { // Handle errors console.error('Error in AJAX request:', error); }); } catch (error) { console.error('Error fetching data:', error); } }; /*** Customizer Data import * function : importCustomizer(); */ const importOptions = async () => { try { const dataToSend = { data: apiData.option }; // Customize the data to send await fetch(ajaxUrl, { method: 'POST', headers: { 'X-WP-Nonce': HCLOCAL.security }, body: new URLSearchParams({ action: 'hunk_companion_mport_options', // Specify the WordPress AJAX action security: HCLOCAL.security, data: JSON.stringify(dataToSend) // Convert the data to JSON and send it }) }).then(response => response.json()).then(options_dat => { // Handle the AJAX respons return new Promise((resolve, reject) => { // console.log(options_dat); resolve(); }); // Perform any further actions with the response }).catch(error => { // Handle errors console.error('Error in AJAX request:', error); }); } catch (error) { console.error('Error fetching data:', error); } }; /*** Customizer Data import * function : importCustomizer(); */ const importWidgets = async () => { try { const dataToSend = { data: apiData.widgets }; // Customize the data to send await fetch(ajaxUrl, { method: 'POST', headers: { 'X-WP-Nonce': HCLOCAL.security }, body: new URLSearchParams({ action: 'hunk_companion_import_widgets', // Specify the WordPress AJAX action security: HCLOCAL.security, data: JSON.stringify(dataToSend) // Convert the data to JSON and send it }) }).then(response => response.json()).then(options_dat => { // Handle the AJAX response // console.log(' Widgets-success'); return options_dat; // Perform any further actions with the response }).catch(error => { // Handle errors console.error('Error in AJAX request:', error); }); } catch (error) { console.error('Error fetching data:', error); } }; const interval = () => setTimeout(() => { dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.tmplLodaing)('Finishing Setup...')); }, 3000); const executeStart = async () => { setupdateStart(false); try { dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.tmplLodaing)('Updating all Settings.')); await importCustomizer(); dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.tmplLodaing)('Importing Footer & Sidebar...')); await importOptions(); dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.tmplLodaing)('Getting Things Done...')); interval(); await importWidgets(); setApiData(null); dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_3__.stepFour)(true)); console.log('Completed.'); return; } catch (error) { console.error('Error executing functions:', error); } }; (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => { getImportData(); }, []); // 👈️ empty dependencies array updateStart && executeStart(); // apiData && executeStart(); return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "loading-msg" }, lodaingMsg); } /***/ }), /***/ "./src/template/installStart.js": /*!**************************************!*\ !*** ./src/template/installStart.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ installStart) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js"); /* harmony import */ var _assets_json_plugins_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../assets/json/plugins.json */ "./assets/json/plugins.json"); /* harmony import */ var _assets_lottie_loading__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../assets/lottie/loading */ "./assets/lottie/loading.json"); /* harmony import */ var _assets_lottie_progress__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../assets/lottie/progress */ "./assets/lottie/progress.json"); /* harmony import */ var _importapi__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./importapi */ "./src/template/importapi.js"); /* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/url */ "@wordpress/url"); /* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../actions */ "./src/actions/index.js"); /* harmony import */ var react_lottie__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-lottie */ "./node_modules/react-lottie/dist/index.js"); /* harmony import */ var _aisb__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../aisb */ "./src/aisb.js"); function getThemeData(type) { let hunkCompanion = 'hunk-companion'; const themeList = [{ shopmania: [{ type: 'plugin', template: 'free', name: 'th-shop-mania', free: hunkCompanion, paid: 'th-shop-mania-pro', builder: 'elementor' }], gutenberg: [{ type: 'plugin', template: 'free', name: 'th-shop-mania', free: hunkCompanion, paid: 'th-shop-mania-pro', builder: 'gutenberg' }], topstore: [{ type: 'theme', template: 'free', name: 'top-store', free: hunkCompanion, paid: 'top-store-pro', builder: 'customizer' }], openshop: [{ type: 'theme', template: 'free', name: 'open-shop', free: hunkCompanion, paid: 'openshop-pro', builder: 'customizer' }], openmart: [{ type: 'plugin', template: 'free', name: 'open-mart', free: hunkCompanion, paid: 'open-mart-pro', builder: 'customizer' }], almaira: [{ type: 'theme', template: 'free', name: 'almaira-shop', free: hunkCompanion, paid: 'almaira', builder: 'customizer' }], gogo: [{ type: 'plugin', template: 'free', name: 'th-shop-mania', free: hunkCompanion, paid: 'gogo-pro', builder: 'customizer' }], portfolioline: [{ type: 'theme', template: 'free', name: 'portfolioline', free: hunkCompanion, paid: 'portfolioline', builder: 'customizer' }] }]; switch (type) { case "th-shop-mania": return themeList[0].shopmania[0]; case "openshop-pro": return themeList[0].openshop[0]; case "top-store-pro": return themeList[0].topstore[0]; case "open-mart": return themeList[0].openmart[0]; case "portfolioline": return themeList[0].portfolioline[0]; case "almaira": return themeList[0].almaira[0]; case "gogo": return themeList[0].gogo[0]; default: return themeList[0].shopmania[0]; } } function installStart(props) { const [apiUrl, setApiUrl] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(null); const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_8__.useDispatch)(); const lodaingMsg = (0,react_redux__WEBPACK_IMPORTED_MODULE_8__.useSelector)(state => state.tmplInstall); // get theme name const getThemeName = () => { return (0,_wordpress_url__WEBPACK_IMPORTED_MODULE_7__.getQueryArg)(props.templateData.api_url, 'theme'); }; const getPluginName = (type = '') => { const thmeType = getThemeData(props.templateData.builder_theme); if (type === 'free') { return props.templateData.free_paid == 'free' ? thmeType.free : thmeType.paid; } else { return thmeType.type; } }; const getBuilderName = (type = '') => { const thmeType = getThemeData(props.templateData.builder_theme); return thmeType.builder; }; // plugin and theme install const process = async () => { // const params = { // templateType: props.templateData.free_paid, //template tpye check free or pro demo // plugin: props.templateData.plugin, // allPlugins:wpPlugins, // builder:props.templateData.builder_theme, // themeSlug:getThemeName(), // proThemePlugin:getPluginName('free'), // tmplFreePro:getPluginName() // } try { await axios__WEBPACK_IMPORTED_MODULE_12__["default"].post(HCLOCAL.baseurl + 'wp-json/hc/v1/themehunk-import', { params: { templateType: "free", plugin: props.templateData.plugin, allPlugins: _assets_json_plugins_json__WEBPACK_IMPORTED_MODULE_3__, builder: props.templateData.builder_theme, themeSlug: getThemeName(), proThemePlugin: getPluginName('free'), tmplFreePro: getPluginName(), wpUrl: 'https://downloads.wordpress.org/', thUrl: 'https://themehunk.com/wp/data/' } }).then(function (response) { dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_9__.tmplLodaing)('Importing Server Data..')); setApiUrl(props.templateData.api_url); }).catch(function (error) { console.log(error); }).finally(function () { // always executed }); } catch (error) { console.error('Error fetching data:', error); } }; (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => { dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_9__.tmplLodaing)('Getting Started...')); process(); }, []); // 👈️ empty dependencies array const defaultLoading = { loop: true, autoplay: true, animationData: _assets_lottie_loading__WEBPACK_IMPORTED_MODULE_4__, rendererSettings: { preserveAspectRatio: 'xMidYMid slice' } }; const defaultProgress = { loop: true, autoplay: true, animationData: _assets_lottie_progress__WEBPACK_IMPORTED_MODULE_5__, rendererSettings: { preserveAspectRatio: 'xMidYMid slice' } }; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-build-wrap" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-build" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Flex, { className: "header" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.FlexItem, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_11__.Logo, null)), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.FlexItem, null, " ", (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "header-text" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_11__.Upgrade, { version: false }))))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-main" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-form" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h2", null, " Getting Your Site Ready ..."), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react_lottie__WEBPACK_IMPORTED_MODULE_10__["default"], { options: defaultLoading, height: 300 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react_lottie__WEBPACK_IMPORTED_MODULE_10__["default"], { options: defaultProgress, width: 300 }), apiUrl === null && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "loading-msg" }, lodaingMsg), apiUrl && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_importapi__WEBPACK_IMPORTED_MODULE_6__["default"], { apiurl: apiUrl })))); } /***/ }), /***/ "./src/template/sitetemplate.js": /*!**************************************!*\ !*** ./src/template/sitetemplate.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ SiteTemplate) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _skeleton_loader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./skeleton-loader */ "./src/template/skeleton-loader.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../actions */ "./src/actions/index.js"); function SiteTemplate(props) { const [loaded, setLoaded] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(false); const [imgstyle, setImgstyle] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)({ display: 'none' }); const loader = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(state => state.trueFalse); const jsonData = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(state => state.templateData); const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)(); const imageHandel = template => { dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_4__.addTrueFalse)(false)); // Get the modal var parsedData = JSON.parse(template); props.datatemp(parsedData); // var captionText = document.getElementById("sidebarModel"); var captionIframe = document.getElementById("iframeModel"); var modal = document.getElementById("myModal"); modal.style.display = "block"; // captionText.innerHTML = template; // modalImg.src = parsedData.demo_url+'/?hide'; // // Get the <span> element that closes the modal // var span = document.getElementsByClassName("close")[0]; // // When the user clicks on <span> (x), close the modal // span.onclick = function() { // modal.style.display = "none"; // document.body.style.overflow = "auto"; // modalImg.src = ''; // } }; const tmplStyleHide = { display: 'none' }; const tmplStyleShow = { display: 'block' }; const customizer = ['topstore', 'top-store-pro', 'big-store', 'openshop-pro', 'jotshop', 'open-mart', 'm-shop', 'shopline-pro', 'amaz-store', 'almaira', 'almaira-shop', 'gogo', 'novelpro', 'oneline', 'portfolioline', 'portfoliolite', 'featured']; const elementor = ['th-shop-mania', 'elementor', 'royal-shop']; const gutenbergtmpl = ['th-shop-mania', 'blockline', 'blockline-pro', 'blur', 'blur-pro', 'gutenberg']; const builderHandel = builder => { if (customizer.includes(builder)) { return 'customizer'; } else if (elementor.includes(builder)) { return 'elementor'; } else if (gutenbergtmpl.includes(builder)) { return 'gutenberg'; } }; const imgload = () => { if (loaded === false) { setLoaded(true); setImgstyle({ display: 'block' }); } }; (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => { setTimeout(() => { dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_4__.addTrueFalse)(true)); }, 500); // 10000 milliseconds = 10 seconds }, []); return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "asib-main-tmpl" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "image-container" }, jsonData.sort((a, b) => a.free_paid < b.free_paid ? -1 : 1).map((template, index) => { return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { key: index, className: `column builder-${builderHandel(template.builder_theme)}`, onClick: () => imageHandel(JSON.stringify(template)) }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "asib-tmpl-column" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "aisb-tmpl-item", "data-id": template.id }), loader !== true && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_skeleton_loader__WEBPACK_IMPORTED_MODULE_2__.SkeletonSingle, null), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { id: "myImg", demourl: template.demo_url, src: template.thumb, alt: template.title, onLoad: imgload, style: imgstyle }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "asib-tmpl-footer" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h3", null, template.title), template.free_paid == "paid" && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { className: "aisb-pro", "data-pro": "Premium" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { src: `${HCLOCAL.rootPath}import/admin/assets/images/pro.svg`, alt: "Premium" }))))); }))); } /***/ }), /***/ "./src/template/skeleton-loader.js": /*!*****************************************!*\ !*** ./src/template/skeleton-loader.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ SkeletonSingle: () => (/* binding */ SkeletonSingle), /* harmony export */ SkeletonTemplate: () => (/* binding */ SkeletonTemplate), /* harmony export */ "default": () => (/* binding */ SkeletonLoader) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/material */ "./node_modules/@mui/material/Skeleton/Skeleton.js"); function SkeletonLoader() { return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "skeleton-container" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "header-skeleton" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "hs-column hs-first-column" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box-large", animation: "wave", variant: "rectangular", width: 120, height: 40 })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "hs-column hs-second-column" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box", animation: "wave", variant: "rectangular", width: 80, height: 40 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box", animation: "wave", variant: "rectangular", width: 80, height: 40 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box", animation: "wave", variant: "rectangular", width: 80, height: 40 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box", animation: "wave", variant: "rectangular", width: 80, height: 40 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box-large", animation: "wave", variant: "rectangular", width: 150, height: 40 }))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "skeleton-main" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "ms-column" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box", animation: "wave", variant: "rectangular", width: 400, height: 90 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-line", animation: "wave", variant: "text", sx: { fontSize: '1rem' }, width: 400, height: 30 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-line", animation: "wave", variant: "text", sx: { fontSize: '1rem' }, width: 400, height: 30 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box-large", animation: "wave", variant: "rectangular", width: 150, height: 40 })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "ms-column" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box", animation: "wave", variant: "rectangular", width: 480, height: 250 }))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "skeleton-footer" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "sf-column" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box-large", animation: "wave", variant: "rectangular", width: 235, height: 250 })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "sf-column" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box-large", animation: "wave", variant: "rectangular", width: 235, height: 250 })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "sf-column" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box-large", animation: "wave", variant: "rectangular", width: 235, height: 250 }))))); } function SkeletonTemplate() { const items = [1, 2, 3, 4, 5, 6, 7, 8, 9]; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "skeleton-tmpl-container" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "skeleton-tmpl-footer" }, items.map((item, index) => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "sf-column", key: index }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box-large", animation: "wave", variant: "rectangular", width: 295, height: 340 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "sf-line" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-line", animation: "wave", variant: "text", sx: { fontSize: '1rem' }, width: 295, height: 20 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-line", animation: "wave", variant: "text", sx: { fontSize: '1rem' }, width: 295, height: 20 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box-large", animation: "wave", variant: "rectangular", width: 150, height: 25 }))))))); } function SkeletonSingle() { return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { class: "sf-column", style: { padding: '9px' } }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_mui_material__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "hs-box-large", animation: "wave", variant: "rectangular", width: 240, height: 310 })); } /***/ }), /***/ "./src/template/success.js": /*!*********************************!*\ !*** ./src/template/success.js ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ success) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _assets_lottie_success__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../assets/lottie/success */ "./assets/lottie/success.json"); /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/icon/index.js"); /* harmony import */ var react_lottie__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-lottie */ "./node_modules/react-lottie/dist/index.js"); /* harmony import */ var _aisb__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../aisb */ "./src/aisb.js"); function success() { const templType = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(state => state.templateSelect); const [customizeUrl, setCustomizeUrl] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(); const defaultOptions = { loop: false, autoplay: true, animationData: _assets_lottie_success__WEBPACK_IMPORTED_MODULE_4__, rendererSettings: { preserveAspectRatio: 'xMidYMid slice' } }; (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => { getEditUrl(); }, []); // 👈️ empty dependencies array const getEditUrl = async () => { try { const dataToSend = { data: templType, type: 'edit' }; // Customize the data to send const response = await fetch(HCLOCAL.ajaxurl, { method: 'POST', headers: { 'X-WP-Nonce': HCLOCAL.security }, body: new URLSearchParams({ action: 'hunk_companion_sites_core', // Specify the WordPress AJAX action security: HCLOCAL.security, data: JSON.stringify(dataToSend) // Convert the data to JSON and send it }) }).then(response => response.json()).then(data => { // Handle the AJAX respons setCustomizeUrl(data.data); // Perform any further actions with the response }).catch(error => { // Handle errors console.error('Error in AJAX request:', error); }); } catch (error) { console.error('Error fetching data:', error); } }; const handleClick = () => { // window.location.replace(HCLOCAL.baseurl); window.open(HCLOCAL.baseurl, '_blank'); }; const handleCustomize = () => { // window.location.replace(HCLOCAL.baseurl); window.open(customizeUrl, '_blank'); }; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-build-wrap" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-build" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Flex, { className: "header" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.FlexItem, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_6__.Logo, null)), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.FlexItem, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "header-text" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_6__.Upgrade, { version: false }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_aisb__WEBPACK_IMPORTED_MODULE_6__.HomeLink, null))))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-main" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "aisb-site-form" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h1", null, " Congratulation"), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react_lottie__WEBPACK_IMPORTED_MODULE_5__["default"], { className: "lottie-success", options: defaultOptions, width: 230 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h2", null, "Your webiste is now ready. "), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Flex, { className: "success-btn" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.FlexItem, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "btn-center" }, " ", (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "aisb-install-btn", onClick: handleCustomize }, " ", (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("b", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_7__["default"], { icon: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", { width: "20px", height: "20px", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", { x: "0", fill: "none", width: "20", height: "20" }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("g", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M14.48 11.06L7.41 3.99l1.5-1.5c.5-.56 2.3-.47 3.51.32 1.21.8 1.43 1.28 2.91 2.1 1.18.64 2.45 1.26 4.45.85zm-.71.71L6.7 4.7 4.93 6.47c-.39.39-.39 1.02 0 1.41l1.06 1.06c.39.39.39 1.03 0 1.42-.6.6-1.43 1.11-2.21 1.69-.35.26-.7.53-1.01.84C1.43 14.23.4 16.08 1.4 17.07c.99 1 2.84-.03 4.18-1.36.31-.31.58-.66.85-1.02.57-.78 1.08-1.61 1.69-2.21.39-.39 1.02-.39 1.41 0l1.06 1.06c.39.39 1.02.39 1.41 0z" }))) })), "Customize "))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.FlexItem, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "btn-center" }, " ", (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "aisb-border-btn", onClick: handleClick }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("b", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_7__["default"], { icon: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", { width: "24px", height: "24px", viewBox: "0 0 32 32", version: "1.1", xmlns: "http://www.w3.org/2000/svg" }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("title", null, "eye"), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M0 16q0.064 0.128 0.16 0.352t0.48 0.928 0.832 1.344 1.248 1.536 1.664 1.696 2.144 1.568 2.624 1.344 3.136 0.896 3.712 0.352 3.712-0.352 3.168-0.928 2.592-1.312 2.144-1.6 1.664-1.632 1.248-1.6 0.832-1.312 0.48-0.928l0.16-0.352q-0.032-0.128-0.16-0.352t-0.48-0.896-0.832-1.344-1.248-1.568-1.664-1.664-2.144-1.568-2.624-1.344-3.136-0.896-3.712-0.352-3.712 0.352-3.168 0.896-2.592 1.344-2.144 1.568-1.664 1.664-1.248 1.568-0.832 1.344-0.48 0.928zM10.016 16q0-2.464 1.728-4.224t4.256-1.76 4.256 1.76 1.76 4.224-1.76 4.256-4.256 1.76-4.256-1.76-1.728-4.256zM12 16q0 1.664 1.184 2.848t2.816 1.152 2.816-1.152 1.184-2.848-1.184-2.816-2.816-1.184-2.816 1.184l2.816 2.816h-4z" })) })), "View Webiste"))))))); } /***/ }), /***/ "./node_modules/babel-runtime/core-js/object/assign.js": /*!*************************************************************!*\ !*** ./node_modules/babel-runtime/core-js/object/assign.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = { "default": __webpack_require__(/*! core-js/library/fn/object/assign */ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js"), __esModule: true }; /***/ }), /***/ "./node_modules/babel-runtime/core-js/object/create.js": /*!*************************************************************!*\ !*** ./node_modules/babel-runtime/core-js/object/create.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = { "default": __webpack_require__(/*! core-js/library/fn/object/create */ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/create.js"), __esModule: true }; /***/ }), /***/ "./node_modules/babel-runtime/core-js/object/define-property.js": /*!**********************************************************************!*\ !*** ./node_modules/babel-runtime/core-js/object/define-property.js ***! \**********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = { "default": __webpack_require__(/*! core-js/library/fn/object/define-property */ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js"), __esModule: true }; /***/ }), /***/ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js": /*!***********************************************************************!*\ !*** ./node_modules/babel-runtime/core-js/object/get-prototype-of.js ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = { "default": __webpack_require__(/*! core-js/library/fn/object/get-prototype-of */ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-prototype-of.js"), __esModule: true }; /***/ }), /***/ "./node_modules/babel-runtime/core-js/object/set-prototype-of.js": /*!***********************************************************************!*\ !*** ./node_modules/babel-runtime/core-js/object/set-prototype-of.js ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = { "default": __webpack_require__(/*! core-js/library/fn/object/set-prototype-of */ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/set-prototype-of.js"), __esModule: true }; /***/ }), /***/ "./node_modules/babel-runtime/core-js/symbol.js": /*!******************************************************!*\ !*** ./node_modules/babel-runtime/core-js/symbol.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = { "default": __webpack_require__(/*! core-js/library/fn/symbol */ "./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js"), __esModule: true }; /***/ }), /***/ "./node_modules/babel-runtime/core-js/symbol/iterator.js": /*!***************************************************************!*\ !*** ./node_modules/babel-runtime/core-js/symbol/iterator.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = { "default": __webpack_require__(/*! core-js/library/fn/symbol/iterator */ "./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js"), __esModule: true }; /***/ }), /***/ "./node_modules/babel-runtime/helpers/classCallCheck.js": /*!**************************************************************!*\ !*** ./node_modules/babel-runtime/helpers/classCallCheck.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; exports.__esModule = true; exports["default"] = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; /***/ }), /***/ "./node_modules/babel-runtime/helpers/createClass.js": /*!***********************************************************!*\ !*** ./node_modules/babel-runtime/helpers/createClass.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; var _defineProperty = __webpack_require__(/*! ../core-js/object/define-property */ "./node_modules/babel-runtime/core-js/object/define-property.js"); var _defineProperty2 = _interopRequireDefault(_defineProperty); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports["default"] = 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; (0, _defineProperty2.default)(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /***/ }), /***/ "./node_modules/babel-runtime/helpers/extends.js": /*!*******************************************************!*\ !*** ./node_modules/babel-runtime/helpers/extends.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; var _assign = __webpack_require__(/*! ../core-js/object/assign */ "./node_modules/babel-runtime/core-js/object/assign.js"); var _assign2 = _interopRequireDefault(_assign); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports["default"] = _assign2.default || 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; }; /***/ }), /***/ "./node_modules/babel-runtime/helpers/inherits.js": /*!********************************************************!*\ !*** ./node_modules/babel-runtime/helpers/inherits.js ***! \********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; var _setPrototypeOf = __webpack_require__(/*! ../core-js/object/set-prototype-of */ "./node_modules/babel-runtime/core-js/object/set-prototype-of.js"); var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf); var _create = __webpack_require__(/*! ../core-js/object/create */ "./node_modules/babel-runtime/core-js/object/create.js"); var _create2 = _interopRequireDefault(_create); var _typeof2 = __webpack_require__(/*! ../helpers/typeof */ "./node_modules/babel-runtime/helpers/typeof.js"); var _typeof3 = _interopRequireDefault(_typeof2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports["default"] = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass))); } subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass; }; /***/ }), /***/ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js": /*!*************************************************************************!*\ !*** ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; var _typeof2 = __webpack_require__(/*! ../helpers/typeof */ "./node_modules/babel-runtime/helpers/typeof.js"); var _typeof3 = _interopRequireDefault(_typeof2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports["default"] = function (self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self; }; /***/ }), /***/ "./node_modules/babel-runtime/helpers/typeof.js": /*!******************************************************!*\ !*** ./node_modules/babel-runtime/helpers/typeof.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; var _iterator = __webpack_require__(/*! ../core-js/symbol/iterator */ "./node_modules/babel-runtime/core-js/symbol/iterator.js"); var _iterator2 = _interopRequireDefault(_iterator); var _symbol = __webpack_require__(/*! ../core-js/symbol */ "./node_modules/babel-runtime/core-js/symbol.js"); var _symbol2 = _interopRequireDefault(_symbol); var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports["default"] = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { return typeof obj === "undefined" ? "undefined" : _typeof(obj); } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js": /*!*************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js ***! \*************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ../../modules/es6.object.assign */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js"); module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js").Object.assign; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/create.js": /*!*************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/create.js ***! \*************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ../../modules/es6.object.create */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.create.js"); var $Object = (__webpack_require__(/*! ../../modules/_core */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js").Object); module.exports = function create(P, D) { return $Object.create(P, D); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js": /*!**********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js ***! \**********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ../../modules/es6.object.define-property */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js"); var $Object = (__webpack_require__(/*! ../../modules/_core */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js").Object); module.exports = function defineProperty(it, key, desc) { return $Object.defineProperty(it, key, desc); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-prototype-of.js": /*!***********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-prototype-of.js ***! \***********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ../../modules/es6.object.get-prototype-of */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-prototype-of.js"); module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js").Object.getPrototypeOf; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/fn/object/set-prototype-of.js": /*!***********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/set-prototype-of.js ***! \***********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ../../modules/es6.object.set-prototype-of */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.set-prototype-of.js"); module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js").Object.setPrototypeOf; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js": /*!************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js ***! \************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ../../modules/es6.symbol */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js"); __webpack_require__(/*! ../../modules/es6.object.to-string */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js"); __webpack_require__(/*! ../../modules/es7.symbol.async-iterator */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js"); __webpack_require__(/*! ../../modules/es7.symbol.observable */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js"); module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js").Symbol; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js ***! \***************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ../../modules/es6.string.iterator */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js"); __webpack_require__(/*! ../../modules/web.dom.iterable */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js"); module.exports = (__webpack_require__(/*! ../../modules/_wks-ext */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js").f)('iterator'); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js": /*!****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js ***! \****************************************************************************************/ /***/ ((module) => { module.exports = function (it) { if (typeof it != 'function') throw TypeError(it + ' is not a function!'); return it; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js": /*!************************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js ***! \************************************************************************************************/ /***/ ((module) => { module.exports = function () { /* empty */ }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js ***! \***************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js"); module.exports = function (it) { if (!isObject(it)) throw TypeError(it + ' is not an object!'); return it; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js": /*!********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js ***! \********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // false -> Array#indexOf // true -> Array#includes var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js"); var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js"); var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js"); module.exports = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIObject($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/babel-runtime/node_modules/core-js/library/modules/_cof.js": /*!*********************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js ***! \*********************************************************************************/ /***/ ((module) => { var toString = {}.toString; module.exports = function (it) { return toString.call(it).slice(8, -1); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js": /*!**********************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js ***! \**********************************************************************************/ /***/ ((module) => { var core = module.exports = { version: '2.6.12' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js": /*!*********************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js ***! \*********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // optional / simple context binding var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js"); module.exports = function (fn, that, length) { aFunction(fn); if (that === undefined) return fn; switch (length) { 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/babel-runtime/node_modules/core-js/library/modules/_defined.js": /*!*************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js ***! \*************************************************************************************/ /***/ ((module) => { // 7.2.1 RequireObjectCoercible(argument) module.exports = function (it) { if (it == undefined) throw TypeError("Can't call method on " + it); return it; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js": /*!*****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js ***! \*****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // Thank's IE8 for his funny defineProperty module.exports = !__webpack_require__(/*! ./_fails */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js")(function () { return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js": /*!****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js"); var document = (__webpack_require__(/*! ./_global */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js").document); // typeof document.createElement is 'object' in old IE var is = isObject(document) && isObject(document.createElement); module.exports = function (it) { return is ? document.createElement(it) : {}; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js": /*!*******************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js ***! \*******************************************************************************************/ /***/ ((module) => { // IE 8- don't enum bug keys module.exports = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' ).split(','); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js ***! \***************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // all enumerable object keys, includes symbols var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js"); var gOPS = __webpack_require__(/*! ./_object-gops */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js"); var pIE = __webpack_require__(/*! ./_object-pie */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js"); module.exports = function (it) { var result = getKeys(it); var getSymbols = gOPS.f; if (getSymbols) { var symbols = getSymbols(it); var isEnum = pIE.f; var i = 0; var key; while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); } return result; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js": /*!************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js ***! \************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var global = __webpack_require__(/*! ./_global */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js"); var core = __webpack_require__(/*! ./_core */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js"); var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js"); var hide = __webpack_require__(/*! ./_hide */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js"); var has = __webpack_require__(/*! ./_has */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js"); var PROTOTYPE = 'prototype'; var $export = function (type, name, source) { var IS_FORCED = type & $export.F; var IS_GLOBAL = type & $export.G; var IS_STATIC = type & $export.S; var IS_PROTO = type & $export.P; var IS_BIND = type & $export.B; var IS_WRAP = type & $export.W; var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); var expProto = exports[PROTOTYPE]; var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; var key, own, out; if (IS_GLOBAL) source = name; for (key in source) { // contains in native own = !IS_FORCED && target && target[key] !== undefined; if (own && has(exports, key)) continue; // export native or passed out = own ? target[key] : source[key]; // prevent global pollution for namespaces exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] // bind timers to global for call from export context : IS_BIND && own ? ctx(out, global) // wrap global constructors for prevent change them in library : IS_WRAP && target[key] == out ? (function (C) { var F = function (a, b, c) { if (this instanceof C) { switch (arguments.length) { case 0: return new C(); case 1: return new C(a); case 2: return new C(a, b); } return new C(a, b, c); } return C.apply(this, arguments); }; F[PROTOTYPE] = C[PROTOTYPE]; return F; // make static versions for prototype methods })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% if (IS_PROTO) { (exports.virtual || (exports.virtual = {}))[key] = out; // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); } } }; // type bitmap $export.F = 1; // forced $export.G = 2; // global $export.S = 4; // static $export.P = 8; // proto $export.B = 16; // bind $export.W = 32; // wrap $export.U = 64; // safe $export.R = 128; // real proto method for `library` module.exports = $export; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js": /*!***********************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js ***! \***********************************************************************************/ /***/ ((module) => { module.exports = function (exec) { try { return !!exec(); } catch (e) { return true; } }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js": /*!************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js ***! \************************************************************************************/ /***/ ((module) => { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self // eslint-disable-next-line no-new-func : Function('return this')(); if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js": /*!*********************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js ***! \*********************************************************************************/ /***/ ((module) => { var hasOwnProperty = {}.hasOwnProperty; module.exports = function (it, key) { return hasOwnProperty.call(it, key); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js": /*!**********************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js ***! \**********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js"); var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js"); module.exports = __webpack_require__(/*! ./_descriptors */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js") ? function (object, key, value) { return dP.f(object, key, createDesc(1, value)); } : function (object, key, value) { object[key] = value; return object; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js": /*!**********************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js ***! \**********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var document = (__webpack_require__(/*! ./_global */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js").document); module.exports = document && document.documentElement; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js": /*!********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js ***! \********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = !__webpack_require__(/*! ./_descriptors */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js") && !__webpack_require__(/*! ./_fails */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js")(function () { return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js")('div'), 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js": /*!*************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js ***! \*************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = __webpack_require__(/*! ./_cof */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js"); // eslint-disable-next-line no-prototype-builtins module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { return cof(it) == 'String' ? it.split('') : Object(it); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js": /*!**************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js ***! \**************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // 7.2.2 IsArray(argument) var cof = __webpack_require__(/*! ./_cof */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js"); module.exports = Array.isArray || function isArray(arg) { return cof(arg) == 'Array'; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js ***! \***************************************************************************************/ /***/ ((module) => { module.exports = function (it) { return typeof it === 'object' ? it !== null : typeof it === 'function'; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js": /*!*****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js ***! \*****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var create = __webpack_require__(/*! ./_object-create */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js"); var descriptor = __webpack_require__(/*! ./_property-desc */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js"); var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js"); var IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() __webpack_require__(/*! ./_hide */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js")(IteratorPrototype, __webpack_require__(/*! ./_wks */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js")('iterator'), function () { return this; }); module.exports = function (Constructor, NAME, next) { Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); setToStringTag(Constructor, NAME + ' Iterator'); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js": /*!*****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js ***! \*****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var LIBRARY = __webpack_require__(/*! ./_library */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js"); var $export = __webpack_require__(/*! ./_export */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js"); var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js"); var hide = __webpack_require__(/*! ./_hide */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js"); var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js"); var $iterCreate = __webpack_require__(/*! ./_iter-create */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js"); var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js"); var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js"); var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js")('iterator'); var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` var FF_ITERATOR = '@@iterator'; var KEYS = 'keys'; var VALUES = 'values'; var returnThis = function () { return this; }; module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { $iterCreate(Constructor, NAME, next); var getMethod = function (kind) { if (!BUGGY && kind in proto) return proto[kind]; switch (kind) { case KEYS: return function keys() { return new Constructor(this, kind); }; case VALUES: return function values() { return new Constructor(this, kind); }; } return function entries() { return new Constructor(this, kind); }; }; var TAG = NAME + ' Iterator'; var DEF_VALUES = DEFAULT == VALUES; var VALUES_BUG = false; var proto = Base.prototype; var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; var $default = $native || getMethod(DEFAULT); var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; var methods, key, IteratorPrototype; // Fix native if ($anyNative) { IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { // Set @@toStringTag to native iterators setToStringTag(IteratorPrototype, TAG, true); // fix for some old engines if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); } } // fix Array#{values, @@iterator}.name in V8 / FF if (DEF_VALUES && $native && $native.name !== VALUES) { VALUES_BUG = true; $default = function values() { return $native.call(this); }; } // Define iterator if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { hide(proto, ITERATOR, $default); } // Plug for library Iterators[NAME] = $default; Iterators[TAG] = returnThis; if (DEFAULT) { methods = { values: DEF_VALUES ? $default : getMethod(VALUES), keys: IS_SET ? $default : getMethod(KEYS), entries: $entries }; if (FORCED) for (key in methods) { if (!(key in proto)) redefine(proto, key, methods[key]); } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); } return methods; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js ***! \***************************************************************************************/ /***/ ((module) => { module.exports = function (done, value) { return { value: value, done: !!done }; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js ***! \***************************************************************************************/ /***/ ((module) => { module.exports = {}; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js": /*!*************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js ***! \*************************************************************************************/ /***/ ((module) => { module.exports = true; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js": /*!**********************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js ***! \**********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var META = __webpack_require__(/*! ./_uid */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js")('meta'); var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js"); var has = __webpack_require__(/*! ./_has */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js"); var setDesc = (__webpack_require__(/*! ./_object-dp */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js").f); var id = 0; var isExtensible = Object.isExtensible || function () { return true; }; var FREEZE = !__webpack_require__(/*! ./_fails */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js")(function () { return isExtensible(Object.preventExtensions({})); }); var setMeta = function (it) { setDesc(it, META, { value: { i: 'O' + ++id, // object ID w: {} // weak collections IDs } }); }; var fastKey = function (it, create) { // return primitive with prefix if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; if (!has(it, META)) { // can't set metadata to uncaught frozen object if (!isExtensible(it)) return 'F'; // not necessary to add metadata if (!create) return 'E'; // add missing metadata setMeta(it); // return object ID } return it[META].i; }; var getWeak = function (it, create) { if (!has(it, META)) { // can't set metadata to uncaught frozen object if (!isExtensible(it)) return true; // not necessary to add metadata if (!create) return false; // add missing metadata setMeta(it); // return hash weak collections IDs } return it[META].w; }; // add metadata on freeze-family methods calling var onFreeze = function (it) { if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); return it; }; var meta = module.exports = { KEY: META, NEED: false, fastKey: fastKey, getWeak: getWeak, onFreeze: onFreeze }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js": /*!*******************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js ***! \*******************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; // 19.1.2.1 Object.assign(target, source, ...) var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js"); var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js"); var gOPS = __webpack_require__(/*! ./_object-gops */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js"); var pIE = __webpack_require__(/*! ./_object-pie */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js"); var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js"); var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js"); var $assign = Object.assign; // should work with symbols and should have deterministic property order (V8 bug) module.exports = !$assign || __webpack_require__(/*! ./_fails */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js")(function () { var A = {}; var B = {}; // eslint-disable-next-line no-undef var S = Symbol(); var K = 'abcdefghijklmnopqrst'; A[S] = 7; K.split('').forEach(function (k) { B[k] = k; }); return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars var T = toObject(target); var aLen = arguments.length; var index = 1; var getSymbols = gOPS.f; var isEnum = pIE.f; while (aLen > index) { var S = IObject(arguments[index++]); var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); var length = keys.length; var j = 0; var key; while (length > j) { key = keys[j++]; if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; } } return T; } : $assign; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js": /*!*******************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js ***! \*******************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js"); var dPs = __webpack_require__(/*! ./_object-dps */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js"); var enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js"); var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js")('IE_PROTO'); var Empty = function () { /* empty */ }; var PROTOTYPE = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype var createDict = function () { // Thrash, waste and sodomy: IE GC bug var iframe = __webpack_require__(/*! ./_dom-create */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js")('iframe'); var i = enumBugKeys.length; var lt = '<'; var gt = '>'; var iframeDocument; iframe.style.display = 'none'; (__webpack_require__(/*! ./_html */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js").appendChild)(iframe); iframe.src = 'javascript:'; // eslint-disable-line no-script-url // createDict = iframe.contentWindow.Object; // html.removeChild(iframe); iframeDocument = iframe.contentWindow.document; iframeDocument.open(); iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); iframeDocument.close(); createDict = iframeDocument.F; while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; return createDict(); }; 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 : dPs(result, Properties); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js"); var IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js"); var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js"); var dP = Object.defineProperty; exports.f = __webpack_require__(/*! ./_descriptors */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js") ? Object.defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); if (IE8_DOM_DEFINE) try { return dP(O, P, Attributes); } catch (e) { /* 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/babel-runtime/node_modules/core-js/library/modules/_object-dps.js": /*!****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js"); var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js"); var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js"); module.exports = __webpack_require__(/*! ./_descriptors */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js") ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var keys = getKeys(Properties); var length = keys.length; var i = 0; var P; while (length > i) dP.f(O, P = keys[i++], Properties[P]); return O; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js": /*!*****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var pIE = __webpack_require__(/*! ./_object-pie */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js"); var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js"); var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js"); var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js"); var has = __webpack_require__(/*! ./_has */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js"); var IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js"); var gOPD = Object.getOwnPropertyDescriptor; exports.f = __webpack_require__(/*! ./_descriptors */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js") ? gOPD : function getOwnPropertyDescriptor(O, P) { O = toIObject(O); P = toPrimitive(P, true); if (IE8_DOM_DEFINE) try { return gOPD(O, P); } catch (e) { /* empty */ } if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js": /*!*********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js ***! \*********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js"); var gOPN = (__webpack_require__(/*! ./_object-gopn */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js").f); var toString = {}.toString; var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; var getWindowNames = function (it) { try { return gOPN(it); } catch (e) { return windowNames.slice(); } }; module.exports.f = function getOwnPropertyNames(it) { return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js": /*!*****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) var $keys = __webpack_require__(/*! ./_object-keys-internal */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js"); var hiddenKeys = (__webpack_require__(/*! ./_enum-bug-keys */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js").concat)('length', 'prototype'); exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js": /*!*****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { exports.f = Object.getOwnPropertySymbols; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js": /*!****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var has = __webpack_require__(/*! ./_has */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js"); var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js"); var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js")('IE_PROTO'); var ObjectProto = Object.prototype; module.exports = 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 ? ObjectProto : null; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js": /*!**************************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js ***! \**************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var has = __webpack_require__(/*! ./_has */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js"); var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js"); var arrayIndexOf = __webpack_require__(/*! ./_array-includes */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js")(false); var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js")('IE_PROTO'); module.exports = function (object, names) { var O = toIObject(object); var i = 0; var result = []; var key; for (key in O) if (key != IE_PROTO) 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/babel-runtime/node_modules/core-js/library/modules/_object-keys.js": /*!*****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js ***! \*****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // 19.1.2.14 / 15.2.3.14 Object.keys(O) var $keys = __webpack_require__(/*! ./_object-keys-internal */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js"); var enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js"); module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js": /*!****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js ***! \****************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { exports.f = {}.propertyIsEnumerable; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js": /*!****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // most Object methods by ES6 should accept primitives var $export = __webpack_require__(/*! ./_export */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js"); var core = __webpack_require__(/*! ./_core */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js"); var fails = __webpack_require__(/*! ./_fails */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js"); module.exports = function (KEY, exec) { var fn = (core.Object || {})[KEY] || Object[KEY]; var exp = {}; exp[KEY] = exec(fn); $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js": /*!*******************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js ***! \*******************************************************************************************/ /***/ ((module) => { module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value: value }; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js": /*!**************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js ***! \**************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! ./_hide */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js"); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-proto.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-proto.js ***! \***************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js"); var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js"); var check = function (O, proto) { anObject(O); if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); }; module.exports = { set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line function (test, buggy, set) { try { set = __webpack_require__(/*! ./_ctx */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js")(Function.call, (__webpack_require__(/*! ./_object-gopd */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js").f)(Object.prototype, '__proto__').set, 2); set(test, []); buggy = !(test instanceof Array); } catch (e) { buggy = true; } return function setPrototypeOf(O, proto) { check(O, proto); if (buggy) O.__proto__ = proto; else set(O, proto); return O; }; }({}, false) : undefined), check: check }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js": /*!***********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js ***! \***********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var def = (__webpack_require__(/*! ./_object-dp */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js").f); var has = __webpack_require__(/*! ./_has */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js"); var TAG = __webpack_require__(/*! ./_wks */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js")('toStringTag'); module.exports = function (it, tag, stat) { if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js": /*!****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var shared = __webpack_require__(/*! ./_shared */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js")('keys'); var uid = __webpack_require__(/*! ./_uid */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js"); module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js": /*!************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js ***! \************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var core = __webpack_require__(/*! ./_core */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js"); var global = __webpack_require__(/*! ./_global */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js"); var SHARED = '__core-js_shared__'; var store = global[SHARED] || (global[SHARED] = {}); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ version: core.version, mode: __webpack_require__(/*! ./_library */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js") ? 'pure' : 'global', copyright: '© 2020 Denis Pushkarev (zloirock.ru)' }); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js ***! \***************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js"); var defined = __webpack_require__(/*! ./_defined */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js"); // true -> String#at // false -> String#codePointAt module.exports = function (TO_STRING) { return function (that, pos) { var s = String(defined(that)); var i = toInteger(pos); var l = s.length; var a, b; if (i < 0 || i >= l) return TO_STRING ? '' : undefined; a = s.charCodeAt(i); return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; }; }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js": /*!***********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js ***! \***********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js"); var max = Math.max; var min = Math.min; module.exports = function (index, length) { index = toInteger(index); return index < 0 ? max(index + length, 0) : min(index, length); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js": /*!****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js ***! \****************************************************************************************/ /***/ ((module) => { // 7.1.4 ToInteger var ceil = Math.ceil; var floor = Math.floor; module.exports = function (it) { return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js": /*!****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js"); var defined = __webpack_require__(/*! ./_defined */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js"); module.exports = function (it) { return IObject(defined(it)); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js ***! \***************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // 7.1.15 ToLength var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js"); var min = Math.min; module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js ***! \***************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // 7.1.13 ToObject(argument) var defined = __webpack_require__(/*! ./_defined */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js"); module.exports = function (it) { return Object(defined(it)); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js": /*!******************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js ***! \******************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // 7.1.1 ToPrimitive(input [, PreferredType]) var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js"); // 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/babel-runtime/node_modules/core-js/library/modules/_uid.js": /*!*********************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js ***! \*********************************************************************************/ /***/ ((module) => { var id = 0; var px = Math.random(); module.exports = function (key) { return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js": /*!****************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var global = __webpack_require__(/*! ./_global */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js"); var core = __webpack_require__(/*! ./_core */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js"); var LIBRARY = __webpack_require__(/*! ./_library */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js"); var wksExt = __webpack_require__(/*! ./_wks-ext */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js"); var defineProperty = (__webpack_require__(/*! ./_object-dp */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js").f); module.exports = function (name) { var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); }; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js": /*!*************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { exports.f = __webpack_require__(/*! ./_wks */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js"); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js": /*!*********************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js ***! \*********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var store = __webpack_require__(/*! ./_shared */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js")('wks'); var uid = __webpack_require__(/*! ./_uid */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js"); var Symbol = (__webpack_require__(/*! ./_global */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js").Symbol); var USE_SYMBOL = typeof Symbol == 'function'; var $exports = module.exports = function (name) { return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); }; $exports.store = store; /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js": /*!***********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js ***! \***********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var addToUnscopables = __webpack_require__(/*! ./_add-to-unscopables */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js"); var step = __webpack_require__(/*! ./_iter-step */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js"); var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js"); var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js"); // 22.1.3.4 Array.prototype.entries() // 22.1.3.13 Array.prototype.keys() // 22.1.3.29 Array.prototype.values() // 22.1.3.30 Array.prototype[@@iterator]() module.exports = __webpack_require__(/*! ./_iter-define */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js")(Array, 'Array', function (iterated, kind) { this._t = toIObject(iterated); // target this._i = 0; // next index this._k = kind; // kind // 22.1.5.2.1 %ArrayIteratorPrototype%.next() }, function () { var O = this._t; var kind = this._k; var index = this._i++; if (!O || index >= O.length) { this._t = undefined; return step(1); } if (kind == 'keys') return step(0, index); if (kind == 'values') return step(0, O[index]); return step(0, [index, O[index]]); }, 'values'); // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) Iterators.Arguments = Iterators.Array; addToUnscopables('keys'); addToUnscopables('values'); addToUnscopables('entries'); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js": /*!**********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js ***! \**********************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { // 19.1.3.1 Object.assign(target, source) var $export = __webpack_require__(/*! ./_export */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js"); $export($export.S + $export.F, 'Object', { assign: __webpack_require__(/*! ./_object-assign */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js") }); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.create.js": /*!**********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.create.js ***! \**********************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { var $export = __webpack_require__(/*! ./_export */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js"); // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) $export($export.S, 'Object', { create: __webpack_require__(/*! ./_object-create */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js") }); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js ***! \*******************************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { var $export = __webpack_require__(/*! ./_export */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js"); // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) $export($export.S + $export.F * !__webpack_require__(/*! ./_descriptors */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js"), 'Object', { defineProperty: (__webpack_require__(/*! ./_object-dp */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js").f) }); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-prototype-of.js": /*!********************************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-prototype-of.js ***! \********************************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { // 19.1.2.9 Object.getPrototypeOf(O) var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js"); var $getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js"); __webpack_require__(/*! ./_object-sap */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js")('getPrototypeOf', function () { return function getPrototypeOf(it) { return $getPrototypeOf(toObject(it)); }; }); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.set-prototype-of.js": /*!********************************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.set-prototype-of.js ***! \********************************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { // 19.1.3.19 Object.setPrototypeOf(O, proto) var $export = __webpack_require__(/*! ./_export */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js"); $export($export.S, 'Object', { setPrototypeOf: (__webpack_require__(/*! ./_set-proto */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-proto.js").set) }); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js": /*!*************************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js ***! \*************************************************************************************************/ /***/ (() => { /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js": /*!************************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js ***! \************************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var $at = __webpack_require__(/*! ./_string-at */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js")(true); // 21.1.3.27 String.prototype[@@iterator]() __webpack_require__(/*! ./_iter-define */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js")(String, 'String', function (iterated) { this._t = String(iterated); // target this._i = 0; // next index // 21.1.5.2.1 %StringIteratorPrototype%.next() }, function () { var O = this._t; var index = this._i; var point; if (index >= O.length) return { value: undefined, done: true }; point = $at(O, index); this._i += point.length; return { value: point, done: false }; }); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js": /*!***************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; // ECMAScript 6 symbols shim var global = __webpack_require__(/*! ./_global */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js"); var has = __webpack_require__(/*! ./_has */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js"); var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js"); var $export = __webpack_require__(/*! ./_export */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js"); var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js"); var META = (__webpack_require__(/*! ./_meta */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js").KEY); var $fails = __webpack_require__(/*! ./_fails */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js"); var shared = __webpack_require__(/*! ./_shared */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js"); var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js"); var uid = __webpack_require__(/*! ./_uid */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js"); var wks = __webpack_require__(/*! ./_wks */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js"); var wksExt = __webpack_require__(/*! ./_wks-ext */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js"); var wksDefine = __webpack_require__(/*! ./_wks-define */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js"); var enumKeys = __webpack_require__(/*! ./_enum-keys */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js"); var isArray = __webpack_require__(/*! ./_is-array */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js"); var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js"); var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js"); var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js"); var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js"); var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js"); var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js"); var _create = __webpack_require__(/*! ./_object-create */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js"); var gOPNExt = __webpack_require__(/*! ./_object-gopn-ext */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js"); var $GOPD = __webpack_require__(/*! ./_object-gopd */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js"); var $GOPS = __webpack_require__(/*! ./_object-gops */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js"); var $DP = __webpack_require__(/*! ./_object-dp */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js"); var $keys = __webpack_require__(/*! ./_object-keys */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js"); var gOPD = $GOPD.f; var dP = $DP.f; var gOPN = gOPNExt.f; var $Symbol = global.Symbol; var $JSON = global.JSON; var _stringify = $JSON && $JSON.stringify; var PROTOTYPE = 'prototype'; var HIDDEN = wks('_hidden'); var TO_PRIMITIVE = wks('toPrimitive'); var isEnum = {}.propertyIsEnumerable; var SymbolRegistry = shared('symbol-registry'); var AllSymbols = shared('symbols'); var OPSymbols = shared('op-symbols'); var ObjectProto = Object[PROTOTYPE]; var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f; var QObject = global.QObject; // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 var setSymbolDesc = DESCRIPTORS && $fails(function () { return _create(dP({}, 'a', { get: function () { return dP(this, 'a', { value: 7 }).a; } })).a != 7; }) ? function (it, key, D) { var protoDesc = gOPD(ObjectProto, key); if (protoDesc) delete ObjectProto[key]; dP(it, key, D); if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); } : dP; var wrap = function (tag) { var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); sym._k = tag; return sym; }; var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { return typeof it == 'symbol'; } : function (it) { return it instanceof $Symbol; }; var $defineProperty = function defineProperty(it, key, D) { if (it === ObjectProto) $defineProperty(OPSymbols, key, D); anObject(it); key = toPrimitive(key, true); anObject(D); if (has(AllSymbols, key)) { if (!D.enumerable) { if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); it[HIDDEN][key] = true; } else { if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; D = _create(D, { enumerable: createDesc(0, false) }); } return setSymbolDesc(it, key, D); } return dP(it, key, D); }; var $defineProperties = function defineProperties(it, P) { anObject(it); var keys = enumKeys(P = toIObject(P)); var i = 0; var l = keys.length; var key; while (l > i) $defineProperty(it, key = keys[i++], P[key]); return it; }; var $create = function create(it, P) { return P === undefined ? _create(it) : $defineProperties(_create(it), P); }; var $propertyIsEnumerable = function propertyIsEnumerable(key) { var E = isEnum.call(this, key = toPrimitive(key, true)); if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; }; var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { it = toIObject(it); key = toPrimitive(key, true); if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; var D = gOPD(it, key); if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; return D; }; var $getOwnPropertyNames = function getOwnPropertyNames(it) { var names = gOPN(toIObject(it)); var result = []; var i = 0; var key; while (names.length > i) { if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); } return result; }; var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { var IS_OP = it === ObjectProto; var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); var result = []; var i = 0; var key; while (names.length > i) { if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); } return result; }; // 19.4.1.1 Symbol([description]) if (!USE_NATIVE) { $Symbol = function Symbol() { if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); var tag = uid(arguments.length > 0 ? arguments[0] : undefined); var $set = function (value) { if (this === ObjectProto) $set.call(OPSymbols, value); if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; setSymbolDesc(this, tag, createDesc(1, value)); }; if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); return wrap(tag); }; redefine($Symbol[PROTOTYPE], 'toString', function toString() { return this._k; }); $GOPD.f = $getOwnPropertyDescriptor; $DP.f = $defineProperty; (__webpack_require__(/*! ./_object-gopn */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js").f) = gOPNExt.f = $getOwnPropertyNames; (__webpack_require__(/*! ./_object-pie */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js").f) = $propertyIsEnumerable; $GOPS.f = $getOwnPropertySymbols; if (DESCRIPTORS && !__webpack_require__(/*! ./_library */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js")) { redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); } wksExt.f = function (name) { return wrap(wks(name)); }; } $export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); for (var es6Symbols = ( // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' ).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); $export($export.S + $export.F * !USE_NATIVE, 'Symbol', { // 19.4.2.1 Symbol.for(key) 'for': function (key) { return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key); }, // 19.4.2.5 Symbol.keyFor(sym) keyFor: function keyFor(sym) { if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; }, useSetter: function () { setter = true; }, useSimple: function () { setter = false; } }); $export($export.S + $export.F * !USE_NATIVE, 'Object', { // 19.1.2.2 Object.create(O [, Properties]) create: $create, // 19.1.2.4 Object.defineProperty(O, P, Attributes) defineProperty: $defineProperty, // 19.1.2.3 Object.defineProperties(O, Properties) defineProperties: $defineProperties, // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) getOwnPropertyDescriptor: $getOwnPropertyDescriptor, // 19.1.2.7 Object.getOwnPropertyNames(O) getOwnPropertyNames: $getOwnPropertyNames, // 19.1.2.8 Object.getOwnPropertySymbols(O) getOwnPropertySymbols: $getOwnPropertySymbols }); // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives // https://bugs.chromium.org/p/v8/issues/detail?id=3443 var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); }); $export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', { getOwnPropertySymbols: function getOwnPropertySymbols(it) { return $GOPS.f(toObject(it)); } }); // 24.3.2 JSON.stringify(value [, replacer [, space]]) $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { var S = $Symbol(); // MS Edge converts symbol values to JSON as {} // WebKit converts symbol values to JSON as null // V8 throws on boxed symbols return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; })), 'JSON', { stringify: function stringify(it) { var args = [it]; var i = 1; var replacer, $replacer; while (arguments.length > i) args.push(arguments[i++]); $replacer = replacer = args[1]; if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined if (!isArray(replacer)) replacer = function (key, value) { if (typeof $replacer == 'function') value = $replacer.call(this, key, value); if (!isSymbol(value)) return value; }; args[1] = replacer; return _stringify.apply($JSON, args); } }); // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(/*! ./_hide */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js")($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); // 19.4.3.5 Symbol.prototype[@@toStringTag] setToStringTag($Symbol, 'Symbol'); // 20.2.1.9 Math[@@toStringTag] setToStringTag(Math, 'Math', true); // 24.3.3 JSON[@@toStringTag] setToStringTag(global.JSON, 'JSON', true); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js": /*!******************************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js ***! \******************************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ./_wks-define */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js")('asyncIterator'); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js": /*!**************************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js ***! \**************************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ./_wks-define */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js")('observable'); /***/ }), /***/ "./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js": /*!*********************************************************************************************!*\ !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js ***! \*********************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ./es6.array.iterator */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js"); var global = __webpack_require__(/*! ./_global */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js"); var hide = __webpack_require__(/*! ./_hide */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js"); var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js"); var TO_STRING_TAG = __webpack_require__(/*! ./_wks */ "./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js")('toStringTag'); var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + 'TextTrackList,TouchList').split(','); for (var i = 0; i < DOMIterables.length; i++) { var NAME = DOMIterables[i]; var Collection = global[NAME]; var proto = Collection && Collection.prototype; if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); Iterators[NAME] = Iterators.Array; } /***/ }), /***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js": /*!**********************************************************************************!*\ !*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***! \**********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var reactIs = __webpack_require__(/*! react-is */ "./node_modules/hoist-non-react-statics/node_modules/react-is/index.js"); /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var REACT_STATICS = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; var KNOWN_STATICS = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; var FORWARD_REF_STATICS = { '$$typeof': true, render: true, defaultProps: true, displayName: true, propTypes: true }; var MEMO_STATICS = { '$$typeof': true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }; var TYPE_STATICS = {}; TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; function getStatics(component) { // React v16.11 and below if (reactIs.isMemo(component)) { return MEMO_STATICS; } // React v16.12 and above return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } var defineProperty = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); } } var keys = getOwnPropertyNames(sourceComponent); if (getOwnPropertySymbols) { keys = keys.concat(getOwnPropertySymbols(sourceComponent)); } var targetStatics = getStatics(targetComponent); var sourceStatics = getStatics(sourceComponent); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { var descriptor = getOwnPropertyDescriptor(sourceComponent, key); try { // Avoid failures from read-only properties defineProperty(targetComponent, key, descriptor); } catch (e) {} } } } return targetComponent; } module.exports = hoistNonReactStatics; /***/ }), /***/ "./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js": /*!************************************************************************************************!*\ !*** ./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***! \************************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } /***/ }), /***/ "./node_modules/hoist-non-react-statics/node_modules/react-is/index.js": /*!*****************************************************************************!*\ !*** ./node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***! \*****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) {} else { module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js"); } /***/ }), /***/ "./node_modules/lottie-web/build/player/lottie.js": /*!********************************************************!*\ !*** ./node_modules/lottie-web/build/player/lottie.js ***! \********************************************************/ /***/ (function(module, exports, __webpack_require__) { (typeof navigator !== "undefined") && (function (global, factory) { true ? module.exports = factory() : 0; })(this, (function () { 'use strict'; var svgNS = 'http://www.w3.org/2000/svg'; var locationHref = ''; var _useWebWorker = false; var initialDefaultFrame = -999999; var setWebWorker = function setWebWorker(flag) { _useWebWorker = !!flag; }; var getWebWorker = function getWebWorker() { return _useWebWorker; }; var setLocationHref = function setLocationHref(value) { locationHref = value; }; var getLocationHref = function getLocationHref() { return locationHref; }; function createTag(type) { // return {appendChild:function(){},setAttribute:function(){},style:{}} return document.createElement(type); } function extendPrototype(sources, destination) { var i; var len = sources.length; var sourcePrototype; for (i = 0; i < len; i += 1) { sourcePrototype = sources[i].prototype; for (var attr in sourcePrototype) { if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr]; } } } function getDescriptor(object, prop) { return Object.getOwnPropertyDescriptor(object, prop); } function createProxyFunction(prototype) { function ProxyFunction() {} ProxyFunction.prototype = prototype; return ProxyFunction; } // import Howl from '../../3rd_party/howler'; var audioControllerFactory = function () { function AudioController(audioFactory) { this.audios = []; this.audioFactory = audioFactory; this._volume = 1; this._isMuted = false; } AudioController.prototype = { addAudio: function addAudio(audio) { this.audios.push(audio); }, pause: function pause() { var i; var len = this.audios.length; for (i = 0; i < len; i += 1) { this.audios[i].pause(); } }, resume: function resume() { var i; var len = this.audios.length; for (i = 0; i < len; i += 1) { this.audios[i].resume(); } }, setRate: function setRate(rateValue) { var i; var len = this.audios.length; for (i = 0; i < len; i += 1) { this.audios[i].setRate(rateValue); } }, createAudio: function createAudio(assetPath) { if (this.audioFactory) { return this.audioFactory(assetPath); } if (window.Howl) { return new window.Howl({ src: [assetPath] }); } return { isPlaying: false, play: function play() { this.isPlaying = true; }, seek: function seek() { this.isPlaying = false; }, playing: function playing() {}, rate: function rate() {}, setVolume: function setVolume() {} }; }, setAudioFactory: function setAudioFactory(audioFactory) { this.audioFactory = audioFactory; }, setVolume: function setVolume(value) { this._volume = value; this._updateVolume(); }, mute: function mute() { this._isMuted = true; this._updateVolume(); }, unmute: function unmute() { this._isMuted = false; this._updateVolume(); }, getVolume: function getVolume() { return this._volume; }, _updateVolume: function _updateVolume() { var i; var len = this.audios.length; for (i = 0; i < len; i += 1) { this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1)); } } }; return function () { return new AudioController(); }; }(); var createTypedArray = function () { function createRegularArray(type, len) { var i = 0; var arr = []; var value; switch (type) { case 'int16': case 'uint8c': value = 1; break; default: value = 1.1; break; } for (i = 0; i < len; i += 1) { arr.push(value); } return arr; } function createTypedArrayFactory(type, len) { if (type === 'float32') { return new Float32Array(len); } if (type === 'int16') { return new Int16Array(len); } if (type === 'uint8c') { return new Uint8ClampedArray(len); } return createRegularArray(type, len); } if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') { return createTypedArrayFactory; } return createRegularArray; }(); function createSizedArray(len) { return Array.apply(null, { length: len }); } function _typeof$6(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$6(obj); } var subframeEnabled = true; var expressionsPlugin = null; var expressionsInterfaces = null; var idPrefix$1 = ''; var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); var _shouldRoundValues = false; var bmPow = Math.pow; var bmSqrt = Math.sqrt; var bmFloor = Math.floor; var bmMax = Math.max; var bmMin = Math.min; var BMMath = {}; (function () { var propertyNames = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2']; var i; var len = propertyNames.length; for (i = 0; i < len; i += 1) { BMMath[propertyNames[i]] = Math[propertyNames[i]]; } })(); function ProjectInterface$1() { return {}; } BMMath.random = Math.random; BMMath.abs = function (val) { var tOfVal = _typeof$6(val); if (tOfVal === 'object' && val.length) { var absArr = createSizedArray(val.length); var i; var len = val.length; for (i = 0; i < len; i += 1) { absArr[i] = Math.abs(val[i]); } return absArr; } return Math.abs(val); }; var defaultCurveSegments = 150; var degToRads = Math.PI / 180; var roundCorner = 0.5519; function roundValues(flag) { _shouldRoundValues = !!flag; } function bmRnd(value) { if (_shouldRoundValues) { return Math.round(value); } return value; } function styleDiv(element) { element.style.position = 'absolute'; element.style.top = 0; element.style.left = 0; element.style.display = 'block'; element.style.transformOrigin = '0 0'; element.style.webkitTransformOrigin = '0 0'; element.style.backfaceVisibility = 'visible'; element.style.webkitBackfaceVisibility = 'visible'; element.style.transformStyle = 'preserve-3d'; element.style.webkitTransformStyle = 'preserve-3d'; element.style.mozTransformStyle = 'preserve-3d'; } function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) { this.type = type; this.currentTime = currentTime; this.totalTime = totalTime; this.direction = frameMultiplier < 0 ? -1 : 1; } function BMCompleteEvent(type, frameMultiplier) { this.type = type; this.direction = frameMultiplier < 0 ? -1 : 1; } function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) { this.type = type; this.currentLoop = currentLoop; this.totalLoops = totalLoops; this.direction = frameMultiplier < 0 ? -1 : 1; } function BMSegmentStartEvent(type, firstFrame, totalFrames) { this.type = type; this.firstFrame = firstFrame; this.totalFrames = totalFrames; } function BMDestroyEvent(type, target) { this.type = type; this.target = target; } function BMRenderFrameErrorEvent(nativeError, currentTime) { this.type = 'renderFrameError'; this.nativeError = nativeError; this.currentTime = currentTime; } function BMConfigErrorEvent(nativeError) { this.type = 'configError'; this.nativeError = nativeError; } function BMAnimationConfigErrorEvent(type, nativeError) { this.type = type; this.nativeError = nativeError; } var createElementID = function () { var _count = 0; return function createID() { _count += 1; return idPrefix$1 + '__lottie_element_' + _count; }; }(); function HSVtoRGB(h, s, v) { var r; var g; var b; var i; var f; var p; var q; var t; i = Math.floor(h * 6); f = h * 6 - i; p = v * (1 - s); q = v * (1 - f * s); t = v * (1 - (1 - f) * s); switch (i % 6) { case 0: r = v; g = t; b = p; break; case 1: r = q; g = v; b = p; break; case 2: r = p; g = v; b = t; break; case 3: r = p; g = q; b = v; break; case 4: r = t; g = p; b = v; break; case 5: r = v; g = p; b = q; break; default: break; } return [r, g, b]; } function RGBtoHSV(r, g, b) { var max = Math.max(r, g, b); var min = Math.min(r, g, b); var d = max - min; var h; var s = max === 0 ? 0 : d / max; var v = max / 255; switch (max) { case min: h = 0; break; case r: h = g - b + d * (g < b ? 6 : 0); h /= 6 * d; break; case g: h = b - r + d * 2; h /= 6 * d; break; case b: h = r - g + d * 4; h /= 6 * d; break; default: break; } return [h, s, v]; } function addSaturationToRGB(color, offset) { var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255); hsv[1] += offset; if (hsv[1] > 1) { hsv[1] = 1; } else if (hsv[1] <= 0) { hsv[1] = 0; } return HSVtoRGB(hsv[0], hsv[1], hsv[2]); } function addBrightnessToRGB(color, offset) { var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255); hsv[2] += offset; if (hsv[2] > 1) { hsv[2] = 1; } else if (hsv[2] < 0) { hsv[2] = 0; } return HSVtoRGB(hsv[0], hsv[1], hsv[2]); } function addHueToRGB(color, offset) { var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255); hsv[0] += offset / 360; if (hsv[0] > 1) { hsv[0] -= 1; } else if (hsv[0] < 0) { hsv[0] += 1; } return HSVtoRGB(hsv[0], hsv[1], hsv[2]); } var rgbToHex = function () { var colorMap = []; var i; var hex; for (i = 0; i < 256; i += 1) { hex = i.toString(16); colorMap[i] = hex.length === 1 ? '0' + hex : hex; } return function (r, g, b) { if (r < 0) { r = 0; } if (g < 0) { g = 0; } if (b < 0) { b = 0; } return '#' + colorMap[r] + colorMap[g] + colorMap[b]; }; }(); var setSubframeEnabled = function setSubframeEnabled(flag) { subframeEnabled = !!flag; }; var getSubframeEnabled = function getSubframeEnabled() { return subframeEnabled; }; var setExpressionsPlugin = function setExpressionsPlugin(value) { expressionsPlugin = value; }; var getExpressionsPlugin = function getExpressionsPlugin() { return expressionsPlugin; }; var setExpressionInterfaces = function setExpressionInterfaces(value) { expressionsInterfaces = value; }; var getExpressionInterfaces = function getExpressionInterfaces() { return expressionsInterfaces; }; var setDefaultCurveSegments = function setDefaultCurveSegments(value) { defaultCurveSegments = value; }; var getDefaultCurveSegments = function getDefaultCurveSegments() { return defaultCurveSegments; }; var setIdPrefix = function setIdPrefix(value) { idPrefix$1 = value; }; var getIdPrefix = function getIdPrefix() { return idPrefix$1; }; function createNS(type) { // return {appendChild:function(){},setAttribute:function(){},style:{}} return document.createElementNS(svgNS, type); } function _typeof$5(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$5(obj); } var dataManager = function () { var _counterId = 1; var processes = []; var workerFn; var workerInstance; var workerProxy = { onmessage: function onmessage() {}, postMessage: function postMessage(path) { workerFn({ data: path }); } }; var _workerSelf = { postMessage: function postMessage(data) { workerProxy.onmessage({ data: data }); } }; function createWorker(fn) { if (window.Worker && window.Blob && getWebWorker()) { var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], { type: 'text/javascript' }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' }); var url = URL.createObjectURL(blob); return new Worker(url); } workerFn = fn; return workerProxy; } function setupWorker() { if (!workerInstance) { workerInstance = createWorker(function workerStart(e) { function dataFunctionManager() { function completeLayers(layers, comps) { var layerData; var i; var len = layers.length; var j; var jLen; var k; var kLen; for (i = 0; i < len; i += 1) { layerData = layers[i]; if ('ks' in layerData && !layerData.completed) { layerData.completed = true; if (layerData.hasMask) { var maskProps = layerData.masksProperties; jLen = maskProps.length; for (j = 0; j < jLen; j += 1) { if (maskProps[j].pt.k.i) { convertPathsToAbsoluteValues(maskProps[j].pt.k); } else { kLen = maskProps[j].pt.k.length; for (k = 0; k < kLen; k += 1) { if (maskProps[j].pt.k[k].s) { convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]); } if (maskProps[j].pt.k[k].e) { convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]); } } } } } if (layerData.ty === 0) { layerData.layers = findCompLayers(layerData.refId, comps); completeLayers(layerData.layers, comps); } else if (layerData.ty === 4) { completeShapes(layerData.shapes); } else if (layerData.ty === 5) { completeText(layerData); } } } } function completeChars(chars, assets) { if (chars) { var i = 0; var len = chars.length; for (i = 0; i < len; i += 1) { if (chars[i].t === 1) { // var compData = findComp(chars[i].data.refId, assets); chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0; // chars[i].data.op = 99999; // chars[i].data.st = 0; // chars[i].data.sr = 1; // chars[i].w = compData.w; // chars[i].data.ks = { // a: { k: [0, 0, 0], a: 0 }, // p: { k: [0, -compData.h, 0], a: 0 }, // r: { k: 0, a: 0 }, // s: { k: [100, 100], a: 0 }, // o: { k: 100, a: 0 }, // }; completeLayers(chars[i].data.layers, assets); } } } } function findComp(id, comps) { var i = 0; var len = comps.length; while (i < len) { if (comps[i].id === id) { return comps[i]; } i += 1; } return null; } function findCompLayers(id, comps) { var comp = findComp(id, comps); if (comp) { if (!comp.layers.__used) { comp.layers.__used = true; return comp.layers; } return JSON.parse(JSON.stringify(comp.layers)); } return null; } function completeShapes(arr) { var i; var len = arr.length; var j; var jLen; for (i = len - 1; i >= 0; i -= 1) { if (arr[i].ty === 'sh') { if (arr[i].ks.k.i) { convertPathsToAbsoluteValues(arr[i].ks.k); } else { jLen = arr[i].ks.k.length; for (j = 0; j < jLen; j += 1) { if (arr[i].ks.k[j].s) { convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]); } if (arr[i].ks.k[j].e) { convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]); } } } } else if (arr[i].ty === 'gr') { completeShapes(arr[i].it); } } } function convertPathsToAbsoluteValues(path) { var i; var len = path.i.length; for (i = 0; i < len; i += 1) { path.i[i][0] += path.v[i][0]; path.i[i][1] += path.v[i][1]; path.o[i][0] += path.v[i][0]; path.o[i][1] += path.v[i][1]; } } function checkVersion(minimum, animVersionString) { var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100]; if (minimum[0] > animVersion[0]) { return true; } if (animVersion[0] > minimum[0]) { return false; } if (minimum[1] > animVersion[1]) { return true; } if (animVersion[1] > minimum[1]) { return false; } if (minimum[2] > animVersion[2]) { return true; } if (animVersion[2] > minimum[2]) { return false; } return null; } var checkText = function () { var minimumVersion = [4, 4, 14]; function updateTextLayer(textLayer) { var documentData = textLayer.t.d; textLayer.t.d = { k: [{ s: documentData, t: 0 }] }; } function iterateLayers(layers) { var i; var len = layers.length; for (i = 0; i < len; i += 1) { if (layers[i].ty === 5) { updateTextLayer(layers[i]); } } } return function (animationData) { if (checkVersion(minimumVersion, animationData.v)) { iterateLayers(animationData.layers); if (animationData.assets) { var i; var len = animationData.assets.length; for (i = 0; i < len; i += 1) { if (animationData.assets[i].layers) { iterateLayers(animationData.assets[i].layers); } } } } }; }(); var checkChars = function () { var minimumVersion = [4, 7, 99]; return function (animationData) { if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) { var i; var len = animationData.chars.length; for (i = 0; i < len; i += 1) { var charData = animationData.chars[i]; if (charData.data && charData.data.shapes) { completeShapes(charData.data.shapes); charData.data.ip = 0; charData.data.op = 99999; charData.data.st = 0; charData.data.sr = 1; charData.data.ks = { p: { k: [0, 0], a: 0 }, s: { k: [100, 100], a: 0 }, a: { k: [0, 0], a: 0 }, r: { k: 0, a: 0 }, o: { k: 100, a: 0 } }; if (!animationData.chars[i].t) { charData.data.shapes.push({ ty: 'no' }); charData.data.shapes[0].it.push({ p: { k: [0, 0], a: 0 }, s: { k: [100, 100], a: 0 }, a: { k: [0, 0], a: 0 }, r: { k: 0, a: 0 }, o: { k: 100, a: 0 }, sk: { k: 0, a: 0 }, sa: { k: 0, a: 0 }, ty: 'tr' }); } } } } }; }(); var checkPathProperties = function () { var minimumVersion = [5, 7, 15]; function updateTextLayer(textLayer) { var pathData = textLayer.t.p; if (typeof pathData.a === 'number') { pathData.a = { a: 0, k: pathData.a }; } if (typeof pathData.p === 'number') { pathData.p = { a: 0, k: pathData.p }; } if (typeof pathData.r === 'number') { pathData.r = { a: 0, k: pathData.r }; } } function iterateLayers(layers) { var i; var len = layers.length; for (i = 0; i < len; i += 1) { if (layers[i].ty === 5) { updateTextLayer(layers[i]); } } } return function (animationData) { if (checkVersion(minimumVersion, animationData.v)) { iterateLayers(animationData.layers); if (animationData.assets) { var i; var len = animationData.assets.length; for (i = 0; i < len; i += 1) { if (animationData.assets[i].layers) { iterateLayers(animationData.assets[i].layers); } } } } }; }(); var checkColors = function () { var minimumVersion = [4, 1, 9]; function iterateShapes(shapes) { var i; var len = shapes.length; var j; var jLen; for (i = 0; i < len; i += 1) { if (shapes[i].ty === 'gr') { iterateShapes(shapes[i].it); } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') { if (shapes[i].c.k && shapes[i].c.k[0].i) { jLen = shapes[i].c.k.length; for (j = 0; j < jLen; j += 1) { if (shapes[i].c.k[j].s) { shapes[i].c.k[j].s[0] /= 255; shapes[i].c.k[j].s[1] /= 255; shapes[i].c.k[j].s[2] /= 255; shapes[i].c.k[j].s[3] /= 255; } if (shapes[i].c.k[j].e) { shapes[i].c.k[j].e[0] /= 255; shapes[i].c.k[j].e[1] /= 255; shapes[i].c.k[j].e[2] /= 255; shapes[i].c.k[j].e[3] /= 255; } } } else { shapes[i].c.k[0] /= 255; shapes[i].c.k[1] /= 255; shapes[i].c.k[2] /= 255; shapes[i].c.k[3] /= 255; } } } } function iterateLayers(layers) { var i; var len = layers.length; for (i = 0; i < len; i += 1) { if (layers[i].ty === 4) { iterateShapes(layers[i].shapes); } } } return function (animationData) { if (checkVersion(minimumVersion, animationData.v)) { iterateLayers(animationData.layers); if (animationData.assets) { var i; var len = animationData.assets.length; for (i = 0; i < len; i += 1) { if (animationData.assets[i].layers) { iterateLayers(animationData.assets[i].layers); } } } } }; }(); var checkShapes = function () { var minimumVersion = [4, 4, 18]; function completeClosingShapes(arr) { var i; var len = arr.length; var j; var jLen; for (i = len - 1; i >= 0; i -= 1) { if (arr[i].ty === 'sh') { if (arr[i].ks.k.i) { arr[i].ks.k.c = arr[i].closed; } else { jLen = arr[i].ks.k.length; for (j = 0; j < jLen; j += 1) { if (arr[i].ks.k[j].s) { arr[i].ks.k[j].s[0].c = arr[i].closed; } if (arr[i].ks.k[j].e) { arr[i].ks.k[j].e[0].c = arr[i].closed; } } } } else if (arr[i].ty === 'gr') { completeClosingShapes(arr[i].it); } } } function iterateLayers(layers) { var layerData; var i; var len = layers.length; var j; var jLen; var k; var kLen; for (i = 0; i < len; i += 1) { layerData = layers[i]; if (layerData.hasMask) { var maskProps = layerData.masksProperties; jLen = maskProps.length; for (j = 0; j < jLen; j += 1) { if (maskProps[j].pt.k.i) { maskProps[j].pt.k.c = maskProps[j].cl; } else { kLen = maskProps[j].pt.k.length; for (k = 0; k < kLen; k += 1) { if (maskProps[j].pt.k[k].s) { maskProps[j].pt.k[k].s[0].c = maskProps[j].cl; } if (maskProps[j].pt.k[k].e) { maskProps[j].pt.k[k].e[0].c = maskProps[j].cl; } } } } } if (layerData.ty === 4) { completeClosingShapes(layerData.shapes); } } } return function (animationData) { if (checkVersion(minimumVersion, animationData.v)) { iterateLayers(animationData.layers); if (animationData.assets) { var i; var len = animationData.assets.length; for (i = 0; i < len; i += 1) { if (animationData.assets[i].layers) { iterateLayers(animationData.assets[i].layers); } } } } }; }(); function completeData(animationData) { if (animationData.__complete) { return; } checkColors(animationData); checkText(animationData); checkChars(animationData); checkPathProperties(animationData); checkShapes(animationData); completeLayers(animationData.layers, animationData.assets); completeChars(animationData.chars, animationData.assets); animationData.__complete = true; } function completeText(data) { if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true; } } var moduleOb = {}; moduleOb.completeData = completeData; moduleOb.checkColors = checkColors; moduleOb.checkChars = checkChars; moduleOb.checkPathProperties = checkPathProperties; moduleOb.checkShapes = checkShapes; moduleOb.completeLayers = completeLayers; return moduleOb; } if (!_workerSelf.dataManager) { _workerSelf.dataManager = dataFunctionManager(); } if (!_workerSelf.assetLoader) { _workerSelf.assetLoader = function () { function formatResponse(xhr) { // using typeof doubles the time of execution of this method, // so if available, it's better to use the header to validate the type var contentTypeHeader = xhr.getResponseHeader('content-type'); if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) { return xhr.response; } if (xhr.response && _typeof$5(xhr.response) === 'object') { return xhr.response; } if (xhr.response && typeof xhr.response === 'string') { return JSON.parse(xhr.response); } if (xhr.responseText) { return JSON.parse(xhr.responseText); } return null; } function loadAsset(path, fullPath, callback, errorCallback) { var response; var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break. try { // This crashes on Android WebView prior to KitKat xhr.responseType = 'json'; } catch (err) {} // eslint-disable-line no-empty xhr.onreadystatechange = function () { if (xhr.readyState === 4) { if (xhr.status === 200) { response = formatResponse(xhr); callback(response); } else { try { response = formatResponse(xhr); callback(response); } catch (err) { if (errorCallback) { errorCallback(err); } } } } }; try { // Hack to workaround banner validation xhr.open(['G', 'E', 'T'].join(''), path, true); } catch (error) { // Hack to workaround banner validation xhr.open(['G', 'E', 'T'].join(''), fullPath + '/' + path, true); } xhr.send(); } return { load: loadAsset }; }(); } if (e.data.type === 'loadAnimation') { _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) { _workerSelf.dataManager.completeData(data); _workerSelf.postMessage({ id: e.data.id, payload: data, status: 'success' }); }, function () { _workerSelf.postMessage({ id: e.data.id, status: 'error' }); }); } else if (e.data.type === 'complete') { var animation = e.data.animation; _workerSelf.dataManager.completeData(animation); _workerSelf.postMessage({ id: e.data.id, payload: animation, status: 'success' }); } else if (e.data.type === 'loadData') { _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) { _workerSelf.postMessage({ id: e.data.id, payload: data, status: 'success' }); }, function () { _workerSelf.postMessage({ id: e.data.id, status: 'error' }); }); } }); workerInstance.onmessage = function (event) { var data = event.data; var id = data.id; var process = processes[id]; processes[id] = null; if (data.status === 'success') { process.onComplete(data.payload); } else if (process.onError) { process.onError(); } }; } } function createProcess(onComplete, onError) { _counterId += 1; var id = 'processId_' + _counterId; processes[id] = { onComplete: onComplete, onError: onError }; return id; } function loadAnimation(path, onComplete, onError) { setupWorker(); var processId = createProcess(onComplete, onError); workerInstance.postMessage({ type: 'loadAnimation', path: path, fullPath: window.location.origin + window.location.pathname, id: processId }); } function loadData(path, onComplete, onError) { setupWorker(); var processId = createProcess(onComplete, onError); workerInstance.postMessage({ type: 'loadData', path: path, fullPath: window.location.origin + window.location.pathname, id: processId }); } function completeAnimation(anim, onComplete, onError) { setupWorker(); var processId = createProcess(onComplete, onError); workerInstance.postMessage({ type: 'complete', animation: anim, id: processId }); } return { loadAnimation: loadAnimation, loadData: loadData, completeAnimation: completeAnimation }; }(); var ImagePreloader = function () { var proxyImage = function () { var canvas = createTag('canvas'); canvas.width = 1; canvas.height = 1; var ctx = canvas.getContext('2d'); ctx.fillStyle = 'rgba(0,0,0,0)'; ctx.fillRect(0, 0, 1, 1); return canvas; }(); function imageLoaded() { this.loadedAssets += 1; if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) { if (this.imagesLoadedCb) { this.imagesLoadedCb(null); } } } function footageLoaded() { this.loadedFootagesCount += 1; if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) { if (this.imagesLoadedCb) { this.imagesLoadedCb(null); } } } function getAssetsPath(assetData, assetsPath, originalPath) { var path = ''; if (assetData.e) { path = assetData.p; } else if (assetsPath) { var imagePath = assetData.p; if (imagePath.indexOf('images/') !== -1) { imagePath = imagePath.split('/')[1]; } path = assetsPath + imagePath; } else { path = originalPath; path += assetData.u ? assetData.u : ''; path += assetData.p; } return path; } function testImageLoaded(img) { var _count = 0; var intervalId = setInterval(function () { var box = img.getBBox(); if (box.width || _count > 500) { this._imageLoaded(); clearInterval(intervalId); } _count += 1; }.bind(this), 50); } function createImageData(assetData) { var path = getAssetsPath(assetData, this.assetsPath, this.path); var img = createNS('image'); if (isSafari) { this.testImageLoaded(img); } else { img.addEventListener('load', this._imageLoaded, false); } img.addEventListener('error', function () { ob.img = proxyImage; this._imageLoaded(); }.bind(this), false); img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path); if (this._elementHelper.append) { this._elementHelper.append(img); } else { this._elementHelper.appendChild(img); } var ob = { img: img, assetData: assetData }; return ob; } function createImgData(assetData) { var path = getAssetsPath(assetData, this.assetsPath, this.path); var img = createTag('img'); img.crossOrigin = 'anonymous'; img.addEventListener('load', this._imageLoaded, false); img.addEventListener('error', function () { ob.img = proxyImage; this._imageLoaded(); }.bind(this), false); img.src = path; var ob = { img: img, assetData: assetData }; return ob; } function createFootageData(data) { var ob = { assetData: data }; var path = getAssetsPath(data, this.assetsPath, this.path); dataManager.loadData(path, function (footageData) { ob.img = footageData; this._footageLoaded(); }.bind(this), function () { ob.img = {}; this._footageLoaded(); }.bind(this)); return ob; } function loadAssets(assets, cb) { this.imagesLoadedCb = cb; var i; var len = assets.length; for (i = 0; i < len; i += 1) { if (!assets[i].layers) { if (!assets[i].t || assets[i].t === 'seq') { this.totalImages += 1; this.images.push(this._createImageData(assets[i])); } else if (assets[i].t === 3) { this.totalFootages += 1; this.images.push(this.createFootageData(assets[i])); } } } } function setPath(path) { this.path = path || ''; } function setAssetsPath(path) { this.assetsPath = path || ''; } function getAsset(assetData) { var i = 0; var len = this.images.length; while (i < len) { if (this.images[i].assetData === assetData) { return this.images[i].img; } i += 1; } return null; } function destroy() { this.imagesLoadedCb = null; this.images.length = 0; } function loadedImages() { return this.totalImages === this.loadedAssets; } function loadedFootages() { return this.totalFootages === this.loadedFootagesCount; } function setCacheType(type, elementHelper) { if (type === 'svg') { this._elementHelper = elementHelper; this._createImageData = this.createImageData.bind(this); } else { this._createImageData = this.createImgData.bind(this); } } function ImagePreloaderFactory() { this._imageLoaded = imageLoaded.bind(this); this._footageLoaded = footageLoaded.bind(this); this.testImageLoaded = testImageLoaded.bind(this); this.createFootageData = createFootageData.bind(this); this.assetsPath = ''; this.path = ''; this.totalImages = 0; this.totalFootages = 0; this.loadedAssets = 0; this.loadedFootagesCount = 0; this.imagesLoadedCb = null; this.images = []; } ImagePreloaderFactory.prototype = { loadAssets: loadAssets, setAssetsPath: setAssetsPath, setPath: setPath, loadedImages: loadedImages, loadedFootages: loadedFootages, destroy: destroy, getAsset: getAsset, createImgData: createImgData, createImageData: createImageData, imageLoaded: imageLoaded, footageLoaded: footageLoaded, setCacheType: setCacheType }; return ImagePreloaderFactory; }(); function BaseEvent() {} BaseEvent.prototype = { triggerEvent: function triggerEvent(eventName, args) { if (this._cbs[eventName]) { var callbacks = this._cbs[eventName]; for (var i = 0; i < callbacks.length; i += 1) { callbacks[i](args); } } }, addEventListener: function addEventListener(eventName, callback) { if (!this._cbs[eventName]) { this._cbs[eventName] = []; } this._cbs[eventName].push(callback); return function () { this.removeEventListener(eventName, callback); }.bind(this); }, removeEventListener: function removeEventListener(eventName, callback) { if (!callback) { this._cbs[eventName] = null; } else if (this._cbs[eventName]) { var i = 0; var len = this._cbs[eventName].length; while (i < len) { if (this._cbs[eventName][i] === callback) { this._cbs[eventName].splice(i, 1); i -= 1; len -= 1; } i += 1; } if (!this._cbs[eventName].length) { this._cbs[eventName] = null; } } } }; var markerParser = function () { function parsePayloadLines(payload) { var lines = payload.split('\r\n'); var keys = {}; var line; var keysCount = 0; for (var i = 0; i < lines.length; i += 1) { line = lines[i].split(':'); if (line.length === 2) { keys[line[0]] = line[1].trim(); keysCount += 1; } } if (keysCount === 0) { throw new Error(); } return keys; } return function (_markers) { var markers = []; for (var i = 0; i < _markers.length; i += 1) { var _marker = _markers[i]; var markerData = { time: _marker.tm, duration: _marker.dr }; try { markerData.payload = JSON.parse(_markers[i].cm); } catch (_) { try { markerData.payload = parsePayloadLines(_markers[i].cm); } catch (__) { markerData.payload = { name: _markers[i].cm }; } } markers.push(markerData); } return markers; }; }(); var ProjectInterface = function () { function registerComposition(comp) { this.compositions.push(comp); } return function () { function _thisProjectFunction(name) { var i = 0; var len = this.compositions.length; while (i < len) { if (this.compositions[i].data && this.compositions[i].data.nm === name) { if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) { this.compositions[i].prepareFrame(this.currentFrame); } return this.compositions[i].compInterface; } i += 1; } return null; } _thisProjectFunction.compositions = []; _thisProjectFunction.currentFrame = 0; _thisProjectFunction.registerComposition = registerComposition; return _thisProjectFunction; }; }(); var renderers = {}; var registerRenderer = function registerRenderer(key, value) { renderers[key] = value; }; function getRenderer(key) { return renderers[key]; } function getRegisteredRenderer() { // Returns canvas by default for compatibility if (renderers.canvas) { return 'canvas'; } // Returns any renderer that is registered for (var key in renderers) { if (renderers[key]) { return key; } } return ''; } function _typeof$4(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$4(obj); } var AnimationItem = function AnimationItem() { this._cbs = []; this.name = ''; this.path = ''; this.isLoaded = false; this.currentFrame = 0; this.currentRawFrame = 0; this.firstFrame = 0; this.totalFrames = 0; this.frameRate = 0; this.frameMult = 0; this.playSpeed = 1; this.playDirection = 1; this.playCount = 0; this.animationData = {}; this.assets = []; this.isPaused = true; this.autoplay = false; this.loop = true; this.renderer = null; this.animationID = createElementID(); this.assetsPath = ''; this.timeCompleted = 0; this.segmentPos = 0; this.isSubframeEnabled = getSubframeEnabled(); this.segments = []; this._idle = true; this._completedLoop = false; this.projectInterface = ProjectInterface(); this.imagePreloader = new ImagePreloader(); this.audioController = audioControllerFactory(); this.markers = []; this.configAnimation = this.configAnimation.bind(this); this.onSetupError = this.onSetupError.bind(this); this.onSegmentComplete = this.onSegmentComplete.bind(this); this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0); this.expressionsPlugin = getExpressionsPlugin(); }; extendPrototype([BaseEvent], AnimationItem); AnimationItem.prototype.setParams = function (params) { if (params.wrapper || params.container) { this.wrapper = params.wrapper || params.container; } var animType = 'svg'; if (params.animType) { animType = params.animType; } else if (params.renderer) { animType = params.renderer; } var RendererClass = getRenderer(animType); this.renderer = new RendererClass(this, params.rendererSettings); this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs); this.renderer.setProjectInterface(this.projectInterface); this.animType = animType; if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) { this.loop = true; } else if (params.loop === false) { this.loop = false; } else { this.loop = parseInt(params.loop, 10); } this.autoplay = 'autoplay' in params ? params.autoplay : true; this.name = params.name ? params.name : ''; this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true; this.assetsPath = params.assetsPath; this.initialSegment = params.initialSegment; if (params.audioFactory) { this.audioController.setAudioFactory(params.audioFactory); } if (params.animationData) { this.setupAnimation(params.animationData); } else if (params.path) { if (params.path.lastIndexOf('\\') !== -1) { this.path = params.path.substr(0, params.path.lastIndexOf('\\') + 1); } else { this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1); } this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1); this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json')); dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError); } }; AnimationItem.prototype.onSetupError = function () { this.trigger('data_failed'); }; AnimationItem.prototype.setupAnimation = function (data) { dataManager.completeAnimation(data, this.configAnimation); }; AnimationItem.prototype.setData = function (wrapper, animationData) { if (animationData) { if (_typeof$4(animationData) !== 'object') { animationData = JSON.parse(animationData); } } var params = { wrapper: wrapper, animationData: animationData }; var wrapperAttributes = wrapper.attributes; params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : ''; params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : getRegisteredRenderer() || 'canvas'; var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : ''; if (loop === 'false') { params.loop = false; } else if (loop === 'true') { params.loop = true; } else if (loop !== '') { params.loop = parseInt(loop, 10); } var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true; params.autoplay = autoplay !== 'false'; params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : ''; var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : ''; if (prerender === 'false') { params.prerender = false; } if (!params.path) { this.trigger('destroy'); } else { this.setParams(params); } }; AnimationItem.prototype.includeLayers = function (data) { if (data.op > this.animationData.op) { this.animationData.op = data.op; this.totalFrames = Math.floor(data.op - this.animationData.ip); } var layers = this.animationData.layers; var i; var len = layers.length; var newLayers = data.layers; var j; var jLen = newLayers.length; for (j = 0; j < jLen; j += 1) { i = 0; while (i < len) { if (layers[i].id === newLayers[j].id) { layers[i] = newLayers[j]; break; } i += 1; } } if (data.chars || data.fonts) { this.renderer.globalData.fontManager.addChars(data.chars); this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs); } if (data.assets) { len = data.assets.length; for (i = 0; i < len; i += 1) { this.animationData.assets.push(data.assets[i]); } } this.animationData.__complete = false; dataManager.completeAnimation(this.animationData, this.onSegmentComplete); }; AnimationItem.prototype.onSegmentComplete = function (data) { this.animationData = data; var expressionsPlugin = getExpressionsPlugin(); if (expressionsPlugin) { expressionsPlugin.initExpressions(this); } this.loadNextSegment(); }; AnimationItem.prototype.loadNextSegment = function () { var segments = this.animationData.segments; if (!segments || segments.length === 0 || !this.autoloadSegments) { this.trigger('data_ready'); this.timeCompleted = this.totalFrames; return; } var segment = segments.shift(); this.timeCompleted = segment.time * this.frameRate; var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json'; this.segmentPos += 1; dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () { this.trigger('data_failed'); }.bind(this)); }; AnimationItem.prototype.loadSegments = function () { var segments = this.animationData.segments; if (!segments) { this.timeCompleted = this.totalFrames; } this.loadNextSegment(); }; AnimationItem.prototype.imagesLoaded = function () { this.trigger('loaded_images'); this.checkLoaded(); }; AnimationItem.prototype.preloadImages = function () { this.imagePreloader.setAssetsPath(this.assetsPath); this.imagePreloader.setPath(this.path); this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this)); }; AnimationItem.prototype.configAnimation = function (animData) { if (!this.renderer) { return; } try { this.animationData = animData; if (this.initialSegment) { this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]); this.firstFrame = Math.round(this.initialSegment[0]); } else { this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip); this.firstFrame = Math.round(this.animationData.ip); } this.renderer.configAnimation(animData); if (!animData.assets) { animData.assets = []; } this.assets = this.animationData.assets; this.frameRate = this.animationData.fr; this.frameMult = this.animationData.fr / 1000; this.renderer.searchExtraCompositions(animData.assets); this.markers = markerParser(animData.markers || []); this.trigger('config_ready'); this.preloadImages(); this.loadSegments(); this.updaFrameModifier(); this.waitForFontsLoaded(); if (this.isPaused) { this.audioController.pause(); } } catch (error) { this.triggerConfigError(error); } }; AnimationItem.prototype.waitForFontsLoaded = function () { if (!this.renderer) { return; } if (this.renderer.globalData.fontManager.isLoaded) { this.checkLoaded(); } else { setTimeout(this.waitForFontsLoaded.bind(this), 20); } }; AnimationItem.prototype.checkLoaded = function () { if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) { this.isLoaded = true; var expressionsPlugin = getExpressionsPlugin(); if (expressionsPlugin) { expressionsPlugin.initExpressions(this); } this.renderer.initItems(); setTimeout(function () { this.trigger('DOMLoaded'); }.bind(this), 0); this.gotoFrame(); if (this.autoplay) { this.play(); } } }; AnimationItem.prototype.resize = function (width, height) { // Adding this validation for backwards compatibility in case an event object was being passed down var _width = typeof width === 'number' ? width : undefined; var _height = typeof height === 'number' ? height : undefined; this.renderer.updateContainerSize(_width, _height); }; AnimationItem.prototype.setSubframe = function (flag) { this.isSubframeEnabled = !!flag; }; AnimationItem.prototype.gotoFrame = function () { this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) { this.currentFrame = this.timeCompleted; } this.trigger('enterFrame'); this.renderFrame(); this.trigger('drawnFrame'); }; AnimationItem.prototype.renderFrame = function () { if (this.isLoaded === false || !this.renderer) { return; } try { if (this.expressionsPlugin) { this.expressionsPlugin.resetFrame(); } this.renderer.renderFrame(this.currentFrame + this.firstFrame); } catch (error) { this.triggerRenderFrameError(error); } }; AnimationItem.prototype.play = function (name) { if (name && this.name !== name) { return; } if (this.isPaused === true) { this.isPaused = false; this.trigger('_play'); this.audioController.resume(); if (this._idle) { this._idle = false; this.trigger('_active'); } } }; AnimationItem.prototype.pause = function (name) { if (name && this.name !== name) { return; } if (this.isPaused === false) { this.isPaused = true; this.trigger('_pause'); this._idle = true; this.trigger('_idle'); this.audioController.pause(); } }; AnimationItem.prototype.togglePause = function (name) { if (name && this.name !== name) { return; } if (this.isPaused === true) { this.play(); } else { this.pause(); } }; AnimationItem.prototype.stop = function (name) { if (name && this.name !== name) { return; } this.pause(); this.playCount = 0; this._completedLoop = false; this.setCurrentRawFrameValue(0); }; AnimationItem.prototype.getMarkerData = function (markerName) { var marker; for (var i = 0; i < this.markers.length; i += 1) { marker = this.markers[i]; if (marker.payload && marker.payload.name === markerName) { return marker; } } return null; }; AnimationItem.prototype.goToAndStop = function (value, isFrame, name) { if (name && this.name !== name) { return; } var numValue = Number(value); if (isNaN(numValue)) { var marker = this.getMarkerData(value); if (marker) { this.goToAndStop(marker.time, true); } } else if (isFrame) { this.setCurrentRawFrameValue(value); } else { this.setCurrentRawFrameValue(value * this.frameModifier); } this.pause(); }; AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) { if (name && this.name !== name) { return; } var numValue = Number(value); if (isNaN(numValue)) { var marker = this.getMarkerData(value); if (marker) { if (!marker.duration) { this.goToAndStop(marker.time, true); } else { this.playSegments([marker.time, marker.time + marker.duration], true); } } } else { this.goToAndStop(numValue, isFrame, name); } this.play(); }; AnimationItem.prototype.advanceTime = function (value) { if (this.isPaused === true || this.isLoaded === false) { return; } var nextValue = this.currentRawFrame + value * this.frameModifier; var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations. // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop. if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) { if (!this.loop || this.playCount === this.loop) { if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) { _isComplete = true; nextValue = this.totalFrames - 1; } } else if (nextValue >= this.totalFrames) { this.playCount += 1; if (!this.checkSegments(nextValue % this.totalFrames)) { this.setCurrentRawFrameValue(nextValue % this.totalFrames); this._completedLoop = true; this.trigger('loopComplete'); } } else { this.setCurrentRawFrameValue(nextValue); } } else if (nextValue < 0) { if (!this.checkSegments(nextValue % this.totalFrames)) { if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) { // eslint-disable-line no-plusplus this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames); if (!this._completedLoop) { this._completedLoop = true; } else { this.trigger('loopComplete'); } } else { _isComplete = true; nextValue = 0; } } } else { this.setCurrentRawFrameValue(nextValue); } if (_isComplete) { this.setCurrentRawFrameValue(nextValue); this.pause(); this.trigger('complete'); } }; AnimationItem.prototype.adjustSegment = function (arr, offset) { this.playCount = 0; if (arr[1] < arr[0]) { if (this.frameModifier > 0) { if (this.playSpeed < 0) { this.setSpeed(-this.playSpeed); } else { this.setDirection(-1); } } this.totalFrames = arr[0] - arr[1]; this.timeCompleted = this.totalFrames; this.firstFrame = arr[1]; this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset); } else if (arr[1] > arr[0]) { if (this.frameModifier < 0) { if (this.playSpeed < 0) { this.setSpeed(-this.playSpeed); } else { this.setDirection(1); } } this.totalFrames = arr[1] - arr[0]; this.timeCompleted = this.totalFrames; this.firstFrame = arr[0]; this.setCurrentRawFrameValue(0.001 + offset); } this.trigger('segmentStart'); }; AnimationItem.prototype.setSegment = function (init, end) { var pendingFrame = -1; if (this.isPaused) { if (this.currentRawFrame + this.firstFrame < init) { pendingFrame = init; } else if (this.currentRawFrame + this.firstFrame > end) { pendingFrame = end - init; } } this.firstFrame = init; this.totalFrames = end - init; this.timeCompleted = this.totalFrames; if (pendingFrame !== -1) { this.goToAndStop(pendingFrame, true); } }; AnimationItem.prototype.playSegments = function (arr, forceFlag) { if (forceFlag) { this.segments.length = 0; } if (_typeof$4(arr[0]) === 'object') { var i; var len = arr.length; for (i = 0; i < len; i += 1) { this.segments.push(arr[i]); } } else { this.segments.push(arr); } if (this.segments.length && forceFlag) { this.adjustSegment(this.segments.shift(), 0); } if (this.isPaused) { this.play(); } }; AnimationItem.prototype.resetSegments = function (forceFlag) { this.segments.length = 0; this.segments.push([this.animationData.ip, this.animationData.op]); if (forceFlag) { this.checkSegments(0); } }; AnimationItem.prototype.checkSegments = function (offset) { if (this.segments.length) { this.adjustSegment(this.segments.shift(), offset); return true; } return false; }; AnimationItem.prototype.destroy = function (name) { if (name && this.name !== name || !this.renderer) { return; } this.renderer.destroy(); this.imagePreloader.destroy(); this.trigger('destroy'); this._cbs = null; this.onEnterFrame = null; this.onLoopComplete = null; this.onComplete = null; this.onSegmentStart = null; this.onDestroy = null; this.renderer = null; this.expressionsPlugin = null; this.imagePreloader = null; this.projectInterface = null; }; AnimationItem.prototype.setCurrentRawFrameValue = function (value) { this.currentRawFrame = value; this.gotoFrame(); }; AnimationItem.prototype.setSpeed = function (val) { this.playSpeed = val; this.updaFrameModifier(); }; AnimationItem.prototype.setDirection = function (val) { this.playDirection = val < 0 ? -1 : 1; this.updaFrameModifier(); }; AnimationItem.prototype.setLoop = function (isLooping) { this.loop = isLooping; }; AnimationItem.prototype.setVolume = function (val, name) { if (name && this.name !== name) { return; } this.audioController.setVolume(val); }; AnimationItem.prototype.getVolume = function () { return this.audioController.getVolume(); }; AnimationItem.prototype.mute = function (name) { if (name && this.name !== name) { return; } this.audioController.mute(); }; AnimationItem.prototype.unmute = function (name) { if (name && this.name !== name) { return; } this.audioController.unmute(); }; AnimationItem.prototype.updaFrameModifier = function () { this.frameModifier = this.frameMult * this.playSpeed * this.playDirection; this.audioController.setRate(this.playSpeed * this.playDirection); }; AnimationItem.prototype.getPath = function () { return this.path; }; AnimationItem.prototype.getAssetsPath = function (assetData) { var path = ''; if (assetData.e) { path = assetData.p; } else if (this.assetsPath) { var imagePath = assetData.p; if (imagePath.indexOf('images/') !== -1) { imagePath = imagePath.split('/')[1]; } path = this.assetsPath + imagePath; } else { path = this.path; path += assetData.u ? assetData.u : ''; path += assetData.p; } return path; }; AnimationItem.prototype.getAssetData = function (id) { var i = 0; var len = this.assets.length; while (i < len) { if (id === this.assets[i].id) { return this.assets[i]; } i += 1; } return null; }; AnimationItem.prototype.hide = function () { this.renderer.hide(); }; AnimationItem.prototype.show = function () { this.renderer.show(); }; AnimationItem.prototype.getDuration = function (isFrame) { return isFrame ? this.totalFrames : this.totalFrames / this.frameRate; }; AnimationItem.prototype.updateDocumentData = function (path, documentData, index) { try { var element = this.renderer.getElementByPath(path); element.updateDocumentData(documentData, index); } catch (error) {// TODO: decide how to handle catch case } }; AnimationItem.prototype.trigger = function (name) { if (this._cbs && this._cbs[name]) { switch (name) { case 'enterFrame': this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier)); break; case 'drawnFrame': this.drawnFrameEvent.currentTime = this.currentFrame; this.drawnFrameEvent.totalTime = this.totalFrames; this.drawnFrameEvent.direction = this.frameModifier; this.triggerEvent(name, this.drawnFrameEvent); break; case 'loopComplete': this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult)); break; case 'complete': this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult)); break; case 'segmentStart': this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames)); break; case 'destroy': this.triggerEvent(name, new BMDestroyEvent(name, this)); break; default: this.triggerEvent(name); } } if (name === 'enterFrame' && this.onEnterFrame) { this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult)); } if (name === 'loopComplete' && this.onLoopComplete) { this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult)); } if (name === 'complete' && this.onComplete) { this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult)); } if (name === 'segmentStart' && this.onSegmentStart) { this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames)); } if (name === 'destroy' && this.onDestroy) { this.onDestroy.call(this, new BMDestroyEvent(name, this)); } }; AnimationItem.prototype.triggerRenderFrameError = function (nativeError) { var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame); this.triggerEvent('error', error); if (this.onError) { this.onError.call(this, error); } }; AnimationItem.prototype.triggerConfigError = function (nativeError) { var error = new BMConfigErrorEvent(nativeError, this.currentFrame); this.triggerEvent('error', error); if (this.onError) { this.onError.call(this, error); } }; var animationManager = function () { var moduleOb = {}; var registeredAnimations = []; var initTime = 0; var len = 0; var playingAnimationsNum = 0; var _stopped = true; var _isFrozen = false; function removeElement(ev) { var i = 0; var animItem = ev.target; while (i < len) { if (registeredAnimations[i].animation === animItem) { registeredAnimations.splice(i, 1); i -= 1; len -= 1; if (!animItem.isPaused) { subtractPlayingCount(); } } i += 1; } } function registerAnimation(element, animationData) { if (!element) { return null; } var i = 0; while (i < len) { if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) { return registeredAnimations[i].animation; } i += 1; } var animItem = new AnimationItem(); setupAnimation(animItem, element); animItem.setData(element, animationData); return animItem; } function getRegisteredAnimations() { var i; var lenAnims = registeredAnimations.length; var animations = []; for (i = 0; i < lenAnims; i += 1) { animations.push(registeredAnimations[i].animation); } return animations; } function addPlayingCount() { playingAnimationsNum += 1; activate(); } function subtractPlayingCount() { playingAnimationsNum -= 1; } function setupAnimation(animItem, element) { animItem.addEventListener('destroy', removeElement); animItem.addEventListener('_active', addPlayingCount); animItem.addEventListener('_idle', subtractPlayingCount); registeredAnimations.push({ elem: element, animation: animItem }); len += 1; } function loadAnimation(params) { var animItem = new AnimationItem(); setupAnimation(animItem, null); animItem.setParams(params); return animItem; } function setSpeed(val, animation) { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.setSpeed(val, animation); } } function setDirection(val, animation) { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.setDirection(val, animation); } } function play(animation) { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.play(animation); } } function resume(nowTime) { var elapsedTime = nowTime - initTime; var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.advanceTime(elapsedTime); } initTime = nowTime; if (playingAnimationsNum && !_isFrozen) { window.requestAnimationFrame(resume); } else { _stopped = true; } } function first(nowTime) { initTime = nowTime; window.requestAnimationFrame(resume); } function pause(animation) { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.pause(animation); } } function goToAndStop(value, isFrame, animation) { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.goToAndStop(value, isFrame, animation); } } function stop(animation) { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.stop(animation); } } function togglePause(animation) { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.togglePause(animation); } } function destroy(animation) { var i; for (i = len - 1; i >= 0; i -= 1) { registeredAnimations[i].animation.destroy(animation); } } function searchAnimations(animationData, standalone, renderer) { var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin'))); var i; var lenAnims = animElements.length; for (i = 0; i < lenAnims; i += 1) { if (renderer) { animElements[i].setAttribute('data-bm-type', renderer); } registerAnimation(animElements[i], animationData); } if (standalone && lenAnims === 0) { if (!renderer) { renderer = 'svg'; } var body = document.getElementsByTagName('body')[0]; body.innerText = ''; var div = createTag('div'); div.style.width = '100%'; div.style.height = '100%'; div.setAttribute('data-bm-type', renderer); body.appendChild(div); registerAnimation(div, animationData); } } function resize() { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.resize(); } } function activate() { if (!_isFrozen && playingAnimationsNum) { if (_stopped) { window.requestAnimationFrame(first); _stopped = false; } } } function freeze() { _isFrozen = true; } function unfreeze() { _isFrozen = false; activate(); } function setVolume(val, animation) { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.setVolume(val, animation); } } function mute(animation) { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.mute(animation); } } function unmute(animation) { var i; for (i = 0; i < len; i += 1) { registeredAnimations[i].animation.unmute(animation); } } moduleOb.registerAnimation = registerAnimation; moduleOb.loadAnimation = loadAnimation; moduleOb.setSpeed = setSpeed; moduleOb.setDirection = setDirection; moduleOb.play = play; moduleOb.pause = pause; moduleOb.stop = stop; moduleOb.togglePause = togglePause; moduleOb.searchAnimations = searchAnimations; moduleOb.resize = resize; // moduleOb.start = start; moduleOb.goToAndStop = goToAndStop; moduleOb.destroy = destroy; moduleOb.freeze = freeze; moduleOb.unfreeze = unfreeze; moduleOb.setVolume = setVolume; moduleOb.mute = mute; moduleOb.unmute = unmute; moduleOb.getRegisteredAnimations = getRegisteredAnimations; return moduleOb; }(); /* eslint-disable */ var BezierFactory = function () { /** * BezierEasing - use bezier curve for transition easing function * by Gaëtan Renaudeau 2014 - 2015 – MIT License * * Credits: is based on Firefox's nsSMILKeySpline.cpp * Usage: * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ]) * spline.get(x) => returns the easing value | x must be in [0, 1] range * */ var ob = {}; ob.getBezierEasing = getBezierEasing; var beziers = {}; function getBezierEasing(a, b, c, d, nm) { var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\./g, 'p'); if (beziers[str]) { return beziers[str]; } var bezEasing = new BezierEasing([a, b, c, d]); beziers[str] = bezEasing; return bezEasing; } // These values are established by empiricism with tests (tradeoff: performance VS precision) var NEWTON_ITERATIONS = 4; var NEWTON_MIN_SLOPE = 0.001; var SUBDIVISION_PRECISION = 0.0000001; var SUBDIVISION_MAX_ITERATIONS = 10; var kSplineTableSize = 11; var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); var float32ArraySupported = typeof Float32Array === 'function'; function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; } function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; } function C(aA1) { return 3.0 * aA1; } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2. function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2. function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); } function binarySubdivide(aX, aA, aB, mX1, mX2) { var currentX, currentT, i = 0; do { currentT = aA + (aB - aA) / 2.0; currentX = calcBezier(currentT, mX1, mX2) - aX; if (currentX > 0.0) { aB = currentT; } else { aA = currentT; } } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS); return currentT; } function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) { for (var i = 0; i < NEWTON_ITERATIONS; ++i) { var currentSlope = getSlope(aGuessT, mX1, mX2); if (currentSlope === 0.0) return aGuessT; var currentX = calcBezier(aGuessT, mX1, mX2) - aX; aGuessT -= currentX / currentSlope; } return aGuessT; } /** * points is an array of [ mX1, mY1, mX2, mY2 ] */ function BezierEasing(points) { this._p = points; this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize); this._precomputed = false; this.get = this.get.bind(this); } BezierEasing.prototype = { get: function get(x) { var mX1 = this._p[0], mY1 = this._p[1], mX2 = this._p[2], mY2 = this._p[3]; if (!this._precomputed) this._precompute(); if (mX1 === mY1 && mX2 === mY2) return x; // linear // Because JavaScript number are imprecise, we should guarantee the extremes are right. if (x === 0) return 0; if (x === 1) return 1; return calcBezier(this._getTForX(x), mY1, mY2); }, // Private part _precompute: function _precompute() { var mX1 = this._p[0], mY1 = this._p[1], mX2 = this._p[2], mY2 = this._p[3]; this._precomputed = true; if (mX1 !== mY1 || mX2 !== mY2) { this._calcSampleValues(); } }, _calcSampleValues: function _calcSampleValues() { var mX1 = this._p[0], mX2 = this._p[2]; for (var i = 0; i < kSplineTableSize; ++i) { this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); } }, /** * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection. */ _getTForX: function _getTForX(aX) { var mX1 = this._p[0], mX2 = this._p[2], mSampleValues = this._mSampleValues; var intervalStart = 0.0; var currentSample = 1; var lastSample = kSplineTableSize - 1; for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) { intervalStart += kSampleStepSize; } --currentSample; // Interpolate to provide an initial guess for t var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]); var guessForT = intervalStart + dist * kSampleStepSize; var initialSlope = getSlope(guessForT, mX1, mX2); if (initialSlope >= NEWTON_MIN_SLOPE) { return newtonRaphsonIterate(aX, guessForT, mX1, mX2); } if (initialSlope === 0.0) { return guessForT; } return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); } }; return ob; }(); var pooling = function () { function _double(arr) { return arr.concat(createSizedArray(arr.length)); } return { "double": _double }; }(); var poolFactory = function () { return function (initialLength, _create, _release) { var _length = 0; var _maxLength = initialLength; var pool = createSizedArray(_maxLength); var ob = { newElement: newElement, release: release }; function newElement() { var element; if (_length) { _length -= 1; element = pool[_length]; } else { element = _create(); } return element; } function release(element) { if (_length === _maxLength) { pool = pooling["double"](pool); _maxLength *= 2; } if (_release) { _release(element); } pool[_length] = element; _length += 1; } return ob; }; }(); var bezierLengthPool = function () { function create() { return { addedLength: 0, percents: createTypedArray('float32', getDefaultCurveSegments()), lengths: createTypedArray('float32', getDefaultCurveSegments()) }; } return poolFactory(8, create); }(); var segmentsLengthPool = function () { function create() { return { lengths: [], totalLength: 0 }; } function release(element) { var i; var len = element.lengths.length; for (i = 0; i < len; i += 1) { bezierLengthPool.release(element.lengths[i]); } element.lengths.length = 0; } return poolFactory(8, create, release); }(); function bezFunction() { var math = Math; function pointOnLine2D(x1, y1, x2, y2, x3, y3) { var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1; return det1 > -0.001 && det1 < 0.001; } function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) { if (z1 === 0 && z2 === 0 && z3 === 0) { return pointOnLine2D(x1, y1, x2, y2, x3, y3); } var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2)); var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2)); var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2)); var diffDist; if (dist1 > dist2) { if (dist1 > dist3) { diffDist = dist1 - dist2 - dist3; } else { diffDist = dist3 - dist2 - dist1; } } else if (dist3 > dist2) { diffDist = dist3 - dist2 - dist1; } else { diffDist = dist2 - dist1 - dist3; } return diffDist > -0.0001 && diffDist < 0.0001; } var getBezierLength = function () { return function (pt1, pt2, pt3, pt4) { var curveSegments = getDefaultCurveSegments(); var k; var i; var len; var ptCoord; var perc; var addedLength = 0; var ptDistance; var point = []; var lastPoint = []; var lengthData = bezierLengthPool.newElement(); len = pt3.length; for (k = 0; k < curveSegments; k += 1) { perc = k / (curveSegments - 1); ptDistance = 0; for (i = 0; i < len; i += 1) { ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i]; point[i] = ptCoord; if (lastPoint[i] !== null) { ptDistance += bmPow(point[i] - lastPoint[i], 2); } lastPoint[i] = point[i]; } if (ptDistance) { ptDistance = bmSqrt(ptDistance); addedLength += ptDistance; } lengthData.percents[k] = perc; lengthData.lengths[k] = addedLength; } lengthData.addedLength = addedLength; return lengthData; }; }(); function getSegmentsLength(shapeData) { var segmentsLength = segmentsLengthPool.newElement(); var closed = shapeData.c; var pathV = shapeData.v; var pathO = shapeData.o; var pathI = shapeData.i; var i; var len = shapeData._length; var lengths = segmentsLength.lengths; var totalLength = 0; for (i = 0; i < len - 1; i += 1) { lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]); totalLength += lengths[i].addedLength; } if (closed && len) { lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]); totalLength += lengths[i].addedLength; } segmentsLength.totalLength = totalLength; return segmentsLength; } function BezierData(length) { this.segmentLength = 0; this.points = new Array(length); } function PointData(partial, point) { this.partialLength = partial; this.point = point; } var buildBezierData = function () { var storedData = {}; return function (pt1, pt2, pt3, pt4) { var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\./g, 'p'); if (!storedData[bezierName]) { var curveSegments = getDefaultCurveSegments(); var k; var i; var len; var ptCoord; var perc; var addedLength = 0; var ptDistance; var point; var lastPoint = null; if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) { curveSegments = 2; } var bezierData = new BezierData(curveSegments); len = pt3.length; for (k = 0; k < curveSegments; k += 1) { point = createSizedArray(len); perc = k / (curveSegments - 1); ptDistance = 0; for (i = 0; i < len; i += 1) { ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i]; point[i] = ptCoord; if (lastPoint !== null) { ptDistance += bmPow(point[i] - lastPoint[i], 2); } } ptDistance = bmSqrt(ptDistance); addedLength += ptDistance; bezierData.points[k] = new PointData(ptDistance, point); lastPoint = point; } bezierData.segmentLength = addedLength; storedData[bezierName] = bezierData; } return storedData[bezierName]; }; }(); function getDistancePerc(perc, bezierData) { var percents = bezierData.percents; var lengths = bezierData.lengths; var len = percents.length; var initPos = bmFloor((len - 1) * perc); var lengthPos = perc * bezierData.addedLength; var lPerc = 0; if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) { return percents[initPos]; } var dir = lengths[initPos] > lengthPos ? -1 : 1; var flag = true; while (flag) { if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) { lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]); flag = false; } else { initPos += dir; } if (initPos < 0 || initPos >= len - 1) { // FIX for TypedArrays that don't store floating point values with enough accuracy if (initPos === len - 1) { return percents[initPos]; } flag = false; } } return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc; } function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) { var t1 = getDistancePerc(percent, bezierData); var u1 = 1 - t1; var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000; var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000; return [ptX, ptY]; } var bezierSegmentPoints = createTypedArray('float32', 8); function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) { if (startPerc < 0) { startPerc = 0; } else if (startPerc > 1) { startPerc = 1; } var t0 = getDistancePerc(startPerc, bezierData); endPerc = endPerc > 1 ? 1 : endPerc; var t1 = getDistancePerc(endPerc, bezierData); var i; var len = pt1.length; var u0 = 1 - t0; var u1 = 1 - t1; var u0u0u0 = u0 * u0 * u0; var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase var t0t0t0 = t0 * t0 * t0; // var u0u0u1 = u0 * u0 * u1; var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase var t0t0t1 = t0 * t0 * t1; // var u0u1u1 = u0 * u1 * u1; var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase var t0t1t1 = t0 * t1 * t1; // var u1u1u1 = u1 * u1 * u1; var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase var t1t1t1 = t1 * t1 * t1; for (i = 0; i < len; i += 1) { bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase } return bezierSegmentPoints; } return { getSegmentsLength: getSegmentsLength, getNewSegment: getNewSegment, getPointInSegment: getPointInSegment, buildBezierData: buildBezierData, pointOnLine2D: pointOnLine2D, pointOnLine3D: pointOnLine3D }; } var bez = bezFunction(); var initFrame = initialDefaultFrame; var mathAbs = Math.abs; function interpolateValue(frameNum, caching) { var offsetTime = this.offsetTime; var newValue; if (this.propType === 'multidimensional') { newValue = createTypedArray('float32', this.pv.length); } var iterationIndex = caching.lastIndex; var i = iterationIndex; var len = this.keyframes.length - 1; var flag = true; var keyData; var nextKeyData; var keyframeMetadata; while (flag) { keyData = this.keyframes[i]; nextKeyData = this.keyframes[i + 1]; if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) { if (keyData.h) { keyData = nextKeyData; } iterationIndex = 0; break; } if (nextKeyData.t - offsetTime > frameNum) { iterationIndex = i; break; } if (i < len - 1) { i += 1; } else { iterationIndex = 0; flag = false; } } keyframeMetadata = this.keyframesMetadata[i] || {}; var k; var kLen; var perc; var jLen; var j; var fnc; var nextKeyTime = nextKeyData.t - offsetTime; var keyTime = keyData.t - offsetTime; var endValue; if (keyData.to) { if (!keyframeMetadata.bezierData) { keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti); } var bezierData = keyframeMetadata.bezierData; if (frameNum >= nextKeyTime || frameNum < keyTime) { var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0; kLen = bezierData.points[ind].point.length; for (k = 0; k < kLen; k += 1) { newValue[k] = bezierData.points[ind].point[k]; } // caching._lastKeyframeIndex = -1; } else { if (keyframeMetadata.__fnct) { fnc = keyframeMetadata.__fnct; } else { fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get; keyframeMetadata.__fnct = fnc; } perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime)); var distanceInLine = bezierData.segmentLength * perc; var segmentPerc; var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0; j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0; flag = true; jLen = bezierData.points.length; while (flag) { addedLength += bezierData.points[j].partialLength; if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) { kLen = bezierData.points[j].point.length; for (k = 0; k < kLen; k += 1) { newValue[k] = bezierData.points[j].point[k]; } break; } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) { segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength; kLen = bezierData.points[j].point.length; for (k = 0; k < kLen; k += 1) { newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc; } break; } if (j < jLen - 1) { j += 1; } else { flag = false; } } caching._lastPoint = j; caching._lastAddedLength = addedLength - bezierData.points[j].partialLength; caching._lastKeyframeIndex = i; } } else { var outX; var outY; var inX; var inY; var keyValue; len = keyData.s.length; endValue = nextKeyData.s || keyData.e; if (this.sh && keyData.h !== 1) { if (frameNum >= nextKeyTime) { newValue[0] = endValue[0]; newValue[1] = endValue[1]; newValue[2] = endValue[2]; } else if (frameNum <= keyTime) { newValue[0] = keyData.s[0]; newValue[1] = keyData.s[1]; newValue[2] = keyData.s[2]; } else { var quatStart = createQuaternion(keyData.s); var quatEnd = createQuaternion(endValue); var time = (frameNum - keyTime) / (nextKeyTime - keyTime); quaternionToEuler(newValue, slerp(quatStart, quatEnd, time)); } } else { for (i = 0; i < len; i += 1) { if (keyData.h !== 1) { if (frameNum >= nextKeyTime) { perc = 1; } else if (frameNum < keyTime) { perc = 0; } else { if (keyData.o.x.constructor === Array) { if (!keyframeMetadata.__fnct) { keyframeMetadata.__fnct = []; } if (!keyframeMetadata.__fnct[i]) { outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i]; outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i]; inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i]; inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i]; fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get; keyframeMetadata.__fnct[i] = fnc; } else { fnc = keyframeMetadata.__fnct[i]; } } else if (!keyframeMetadata.__fnct) { outX = keyData.o.x; outY = keyData.o.y; inX = keyData.i.x; inY = keyData.i.y; fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get; keyData.keyframeMetadata = fnc; } else { fnc = keyframeMetadata.__fnct; } perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime)); } } endValue = nextKeyData.s || keyData.e; keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc; if (this.propType === 'multidimensional') { newValue[i] = keyValue; } else { newValue = keyValue; } } } } caching.lastIndex = iterationIndex; return newValue; } // based on @Toji's https://github.com/toji/gl-matrix/ function slerp(a, b, t) { var out = []; var ax = a[0]; var ay = a[1]; var az = a[2]; var aw = a[3]; var bx = b[0]; var by = b[1]; var bz = b[2]; var bw = b[3]; var omega; var cosom; var sinom; var scale0; var scale1; cosom = ax * bx + ay * by + az * bz + aw * bw; if (cosom < 0.0) { cosom = -cosom; bx = -bx; by = -by; bz = -bz; bw = -bw; } if (1.0 - cosom > 0.000001) { omega = Math.acos(cosom); sinom = Math.sin(omega); scale0 = Math.sin((1.0 - t) * omega) / sinom; scale1 = Math.sin(t * omega) / sinom; } else { scale0 = 1.0 - t; scale1 = t; } out[0] = scale0 * ax + scale1 * bx; out[1] = scale0 * ay + scale1 * by; out[2] = scale0 * az + scale1 * bz; out[3] = scale0 * aw + scale1 * bw; return out; } function quaternionToEuler(out, quat) { var qx = quat[0]; var qy = quat[1]; var qz = quat[2]; var qw = quat[3]; var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz); var attitude = Math.asin(2 * qx * qy + 2 * qz * qw); var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz); out[0] = heading / degToRads; out[1] = attitude / degToRads; out[2] = bank / degToRads; } function createQuaternion(values) { var heading = values[0] * degToRads; var attitude = values[1] * degToRads; var bank = values[2] * degToRads; var c1 = Math.cos(heading / 2); var c2 = Math.cos(attitude / 2); var c3 = Math.cos(bank / 2); var s1 = Math.sin(heading / 2); var s2 = Math.sin(attitude / 2); var s3 = Math.sin(bank / 2); var w = c1 * c2 * c3 - s1 * s2 * s3; var x = s1 * s2 * c3 + c1 * c2 * s3; var y = s1 * c2 * c3 + c1 * s2 * s3; var z = c1 * s2 * c3 - s1 * c2 * s3; return [x, y, z, w]; } function getValueAtCurrentTime() { var frameNum = this.comp.renderedFrame - this.offsetTime; var initTime = this.keyframes[0].t - this.offsetTime; var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime; if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) { if (this._caching.lastFrame >= frameNum) { this._caching._lastKeyframeIndex = -1; this._caching.lastIndex = 0; } var renderResult = this.interpolateValue(frameNum, this._caching); this.pv = renderResult; } this._caching.lastFrame = frameNum; return this.pv; } function setVValue(val) { var multipliedValue; if (this.propType === 'unidimensional') { multipliedValue = val * this.mult; if (mathAbs(this.v - multipliedValue) > 0.00001) { this.v = multipliedValue; this._mdf = true; } } else { var i = 0; var len = this.v.length; while (i < len) { multipliedValue = val[i] * this.mult; if (mathAbs(this.v[i] - multipliedValue) > 0.00001) { this.v[i] = multipliedValue; this._mdf = true; } i += 1; } } } function processEffectsSequence() { if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) { return; } if (this.lock) { this.setVValue(this.pv); return; } this.lock = true; this._mdf = this._isFirstFrame; var i; var len = this.effectsSequence.length; var finalValue = this.kf ? this.pv : this.data.k; for (i = 0; i < len; i += 1) { finalValue = this.effectsSequence[i](finalValue); } this.setVValue(finalValue); this._isFirstFrame = false; this.lock = false; this.frameId = this.elem.globalData.frameId; } function addEffect(effectFunction) { this.effectsSequence.push(effectFunction); this.container.addDynamicProperty(this); } function ValueProperty(elem, data, mult, container) { this.propType = 'unidimensional'; this.mult = mult || 1; this.data = data; this.v = mult ? data.k * mult : data.k; this.pv = data.k; this._mdf = false; this.elem = elem; this.container = container; this.comp = elem.comp; this.k = false; this.kf = false; this.vel = 0; this.effectsSequence = []; this._isFirstFrame = true; this.getValue = processEffectsSequence; this.setVValue = setVValue; this.addEffect = addEffect; } function MultiDimensionalProperty(elem, data, mult, container) { this.propType = 'multidimensional'; this.mult = mult || 1; this.data = data; this._mdf = false; this.elem = elem; this.container = container; this.comp = elem.comp; this.k = false; this.kf = false; this.frameId = -1; var i; var len = data.k.length; this.v = createTypedArray('float32', len); this.pv = createTypedArray('float32', len); this.vel = createTypedArray('float32', len); for (i = 0; i < len; i += 1) { this.v[i] = data.k[i] * this.mult; this.pv[i] = data.k[i]; } this._isFirstFrame = true; this.effectsSequence = []; this.getValue = processEffectsSequence; this.setVValue = setVValue; this.addEffect = addEffect; } function KeyframedValueProperty(elem, data, mult, container) { this.propType = 'unidimensional'; this.keyframes = data.k; this.keyframesMetadata = []; this.offsetTime = elem.data.st; this.frameId = -1; this._caching = { lastFrame: initFrame, lastIndex: 0, value: 0, _lastKeyframeIndex: -1 }; this.k = true; this.kf = true; this.data = data; this.mult = mult || 1; this.elem = elem; this.container = container; this.comp = elem.comp; this.v = initFrame; this.pv = initFrame; this._isFirstFrame = true; this.getValue = processEffectsSequence; this.setVValue = setVValue; this.interpolateValue = interpolateValue; this.effectsSequence = [getValueAtCurrentTime.bind(this)]; this.addEffect = addEffect; } function KeyframedMultidimensionalProperty(elem, data, mult, container) { this.propType = 'multidimensional'; var i; var len = data.k.length; var s; var e; var to; var ti; for (i = 0; i < len - 1; i += 1) { if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) { s = data.k[i].s; e = data.k[i + 1].s; to = data.k[i].to; ti = data.k[i].ti; if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) { data.k[i].to = null; data.k[i].ti = null; } if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) { if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) { data.k[i].to = null; data.k[i].ti = null; } } } } this.effectsSequence = [getValueAtCurrentTime.bind(this)]; this.data = data; this.keyframes = data.k; this.keyframesMetadata = []; this.offsetTime = elem.data.st; this.k = true; this.kf = true; this._isFirstFrame = true; this.mult = mult || 1; this.elem = elem; this.container = container; this.comp = elem.comp; this.getValue = processEffectsSequence; this.setVValue = setVValue; this.interpolateValue = interpolateValue; this.frameId = -1; var arrLen = data.k[0].s.length; this.v = createTypedArray('float32', arrLen); this.pv = createTypedArray('float32', arrLen); for (i = 0; i < arrLen; i += 1) { this.v[i] = initFrame; this.pv[i] = initFrame; } this._caching = { lastFrame: initFrame, lastIndex: 0, value: createTypedArray('float32', arrLen) }; this.addEffect = addEffect; } var PropertyFactory = function () { function getProp(elem, data, type, mult, container) { if (data.sid) { data = elem.globalData.slotManager.getProp(data); } var p; if (!data.k.length) { p = new ValueProperty(elem, data, mult, container); } else if (typeof data.k[0] === 'number') { p = new MultiDimensionalProperty(elem, data, mult, container); } else { switch (type) { case 0: p = new KeyframedValueProperty(elem, data, mult, container); break; case 1: p = new KeyframedMultidimensionalProperty(elem, data, mult, container); break; default: break; } } if (p.effectsSequence.length) { container.addDynamicProperty(p); } return p; } var ob = { getProp: getProp }; return ob; }(); function DynamicPropertyContainer() {} DynamicPropertyContainer.prototype = { addDynamicProperty: function addDynamicProperty(prop) { if (this.dynamicProperties.indexOf(prop) === -1) { this.dynamicProperties.push(prop); this.container.addDynamicProperty(this); this._isAnimated = true; } }, iterateDynamicProperties: function iterateDynamicProperties() { this._mdf = false; var i; var len = this.dynamicProperties.length; for (i = 0; i < len; i += 1) { this.dynamicProperties[i].getValue(); if (this.dynamicProperties[i]._mdf) { this._mdf = true; } } }, initDynamicPropertyContainer: function initDynamicPropertyContainer(container) { this.container = container; this.dynamicProperties = []; this._mdf = false; this._isAnimated = false; } }; var pointPool = function () { function create() { return createTypedArray('float32', 2); } return poolFactory(8, create); }(); function ShapePath() { this.c = false; this._length = 0; this._maxLength = 8; this.v = createSizedArray(this._maxLength); this.o = createSizedArray(this._maxLength); this.i = createSizedArray(this._maxLength); } ShapePath.prototype.setPathData = function (closed, len) { this.c = closed; this.setLength(len); var i = 0; while (i < len) { this.v[i] = pointPool.newElement(); this.o[i] = pointPool.newElement(); this.i[i] = pointPool.newElement(); i += 1; } }; ShapePath.prototype.setLength = function (len) { while (this._maxLength < len) { this.doubleArrayLength(); } this._length = len; }; ShapePath.prototype.doubleArrayLength = function () { this.v = this.v.concat(createSizedArray(this._maxLength)); this.i = this.i.concat(createSizedArray(this._maxLength)); this.o = this.o.concat(createSizedArray(this._maxLength)); this._maxLength *= 2; }; ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) { var arr; this._length = Math.max(this._length, pos + 1); if (this._length >= this._maxLength) { this.doubleArrayLength(); } switch (type) { case 'v': arr = this.v; break; case 'i': arr = this.i; break; case 'o': arr = this.o; break; default: arr = []; break; } if (!arr[pos] || arr[pos] && !replace) { arr[pos] = pointPool.newElement(); } arr[pos][0] = x; arr[pos][1] = y; }; ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) { this.setXYAt(vX, vY, 'v', pos, replace); this.setXYAt(oX, oY, 'o', pos, replace); this.setXYAt(iX, iY, 'i', pos, replace); }; ShapePath.prototype.reverse = function () { var newPath = new ShapePath(); newPath.setPathData(this.c, this._length); var vertices = this.v; var outPoints = this.o; var inPoints = this.i; var init = 0; if (this.c) { newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false); init = 1; } var cnt = this._length - 1; var len = this._length; var i; for (i = init; i < len; i += 1) { newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false); cnt -= 1; } return newPath; }; ShapePath.prototype.length = function () { return this._length; }; var shapePool = function () { function create() { return new ShapePath(); } function release(shapePath) { var len = shapePath._length; var i; for (i = 0; i < len; i += 1) { pointPool.release(shapePath.v[i]); pointPool.release(shapePath.i[i]); pointPool.release(shapePath.o[i]); shapePath.v[i] = null; shapePath.i[i] = null; shapePath.o[i] = null; } shapePath._length = 0; shapePath.c = false; } function clone(shape) { var cloned = factory.newElement(); var i; var len = shape._length === undefined ? shape.v.length : shape._length; cloned.setLength(len); cloned.c = shape.c; for (i = 0; i < len; i += 1) { cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i); } return cloned; } var factory = poolFactory(4, create, release); factory.clone = clone; return factory; }(); function ShapeCollection() { this._length = 0; this._maxLength = 4; this.shapes = createSizedArray(this._maxLength); } ShapeCollection.prototype.addShape = function (shapeData) { if (this._length === this._maxLength) { this.shapes = this.shapes.concat(createSizedArray(this._maxLength)); this._maxLength *= 2; } this.shapes[this._length] = shapeData; this._length += 1; }; ShapeCollection.prototype.releaseShapes = function () { var i; for (i = 0; i < this._length; i += 1) { shapePool.release(this.shapes[i]); } this._length = 0; }; var shapeCollectionPool = function () { var ob = { newShapeCollection: newShapeCollection, release: release }; var _length = 0; var _maxLength = 4; var pool = createSizedArray(_maxLength); function newShapeCollection() { var shapeCollection; if (_length) { _length -= 1; shapeCollection = pool[_length]; } else { shapeCollection = new ShapeCollection(); } return shapeCollection; } function release(shapeCollection) { var i; var len = shapeCollection._length; for (i = 0; i < len; i += 1) { shapePool.release(shapeCollection.shapes[i]); } shapeCollection._length = 0; if (_length === _maxLength) { pool = pooling["double"](pool); _maxLength *= 2; } pool[_length] = shapeCollection; _length += 1; } return ob; }(); var ShapePropertyFactory = function () { var initFrame = -999999; function interpolateShape(frameNum, previousValue, caching) { var iterationIndex = caching.lastIndex; var keyPropS; var keyPropE; var isHold; var j; var k; var jLen; var kLen; var perc; var vertexValue; var kf = this.keyframes; if (frameNum < kf[0].t - this.offsetTime) { keyPropS = kf[0].s[0]; isHold = true; iterationIndex = 0; } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) { keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0]; /* if(kf[kf.length - 1].s){ keyPropS = kf[kf.length - 1].s[0]; }else{ keyPropS = kf[kf.length - 2].e[0]; } */ isHold = true; } else { var i = iterationIndex; var len = kf.length - 1; var flag = true; var keyData; var nextKeyData; var keyframeMetadata; while (flag) { keyData = kf[i]; nextKeyData = kf[i + 1]; if (nextKeyData.t - this.offsetTime > frameNum) { break; } if (i < len - 1) { i += 1; } else { flag = false; } } keyframeMetadata = this.keyframesMetadata[i] || {}; isHold = keyData.h === 1; iterationIndex = i; if (!isHold) { if (frameNum >= nextKeyData.t - this.offsetTime) { perc = 1; } else if (frameNum < keyData.t - this.offsetTime) { perc = 0; } else { var fnc; if (keyframeMetadata.__fnct) { fnc = keyframeMetadata.__fnct; } else { fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get; keyframeMetadata.__fnct = fnc; } perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime))); } keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0]; } keyPropS = keyData.s[0]; } jLen = previousValue._length; kLen = keyPropS.i[0].length; caching.lastIndex = iterationIndex; for (j = 0; j < jLen; j += 1) { for (k = 0; k < kLen; k += 1) { vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc; previousValue.i[j][k] = vertexValue; vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc; previousValue.o[j][k] = vertexValue; vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc; previousValue.v[j][k] = vertexValue; } } } function interpolateShapeCurrentTime() { var frameNum = this.comp.renderedFrame - this.offsetTime; var initTime = this.keyframes[0].t - this.offsetTime; var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime; var lastFrame = this._caching.lastFrame; if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) { /// / this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0; this.interpolateShape(frameNum, this.pv, this._caching); /// / } this._caching.lastFrame = frameNum; return this.pv; } function resetShape() { this.paths = this.localShapeCollection; } function shapesEqual(shape1, shape2) { if (shape1._length !== shape2._length || shape1.c !== shape2.c) { return false; } var i; var len = shape1._length; for (i = 0; i < len; i += 1) { if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) { return false; } } return true; } function setVValue(newPath) { if (!shapesEqual(this.v, newPath)) { this.v = shapePool.clone(newPath); this.localShapeCollection.releaseShapes(); this.localShapeCollection.addShape(this.v); this._mdf = true; this.paths = this.localShapeCollection; } } function processEffectsSequence() { if (this.elem.globalData.frameId === this.frameId) { return; } if (!this.effectsSequence.length) { this._mdf = false; return; } if (this.lock) { this.setVValue(this.pv); return; } this.lock = true; this._mdf = false; var finalValue; if (this.kf) { finalValue = this.pv; } else if (this.data.ks) { finalValue = this.data.ks.k; } else { finalValue = this.data.pt.k; } var i; var len = this.effectsSequence.length; for (i = 0; i < len; i += 1) { finalValue = this.effectsSequence[i](finalValue); } this.setVValue(finalValue); this.lock = false; this.frameId = this.elem.globalData.frameId; } function ShapeProperty(elem, data, type) { this.propType = 'shape'; this.comp = elem.comp; this.container = elem; this.elem = elem; this.data = data; this.k = false; this.kf = false; this._mdf = false; var pathData = type === 3 ? data.pt.k : data.ks.k; this.v = shapePool.clone(pathData); this.pv = shapePool.clone(this.v); this.localShapeCollection = shapeCollectionPool.newShapeCollection(); this.paths = this.localShapeCollection; this.paths.addShape(this.v); this.reset = resetShape; this.effectsSequence = []; } function addEffect(effectFunction) { this.effectsSequence.push(effectFunction); this.container.addDynamicProperty(this); } ShapeProperty.prototype.interpolateShape = interpolateShape; ShapeProperty.prototype.getValue = processEffectsSequence; ShapeProperty.prototype.setVValue = setVValue; ShapeProperty.prototype.addEffect = addEffect; function KeyframedShapeProperty(elem, data, type) { this.propType = 'shape'; this.comp = elem.comp; this.elem = elem; this.container = elem; this.offsetTime = elem.data.st; this.keyframes = type === 3 ? data.pt.k : data.ks.k; this.keyframesMetadata = []; this.k = true; this.kf = true; var len = this.keyframes[0].s[0].i.length; this.v = shapePool.newElement(); this.v.setPathData(this.keyframes[0].s[0].c, len); this.pv = shapePool.clone(this.v); this.localShapeCollection = shapeCollectionPool.newShapeCollection(); this.paths = this.localShapeCollection; this.paths.addShape(this.v); this.lastFrame = initFrame; this.reset = resetShape; this._caching = { lastFrame: initFrame, lastIndex: 0 }; this.effectsSequence = [interpolateShapeCurrentTime.bind(this)]; } KeyframedShapeProperty.prototype.getValue = processEffectsSequence; KeyframedShapeProperty.prototype.interpolateShape = interpolateShape; KeyframedShapeProperty.prototype.setVValue = setVValue; KeyframedShapeProperty.prototype.addEffect = addEffect; var EllShapeProperty = function () { var cPoint = roundCorner; function EllShapePropertyFactory(elem, data) { this.v = shapePool.newElement(); this.v.setPathData(true, 4); this.localShapeCollection = shapeCollectionPool.newShapeCollection(); this.paths = this.localShapeCollection; this.localShapeCollection.addShape(this.v); this.d = data.d; this.elem = elem; this.comp = elem.comp; this.frameId = -1; this.initDynamicPropertyContainer(elem); this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this); this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this); if (this.dynamicProperties.length) { this.k = true; } else { this.k = false; this.convertEllToPath(); } } EllShapePropertyFactory.prototype = { reset: resetShape, getValue: function getValue() { if (this.elem.globalData.frameId === this.frameId) { return; } this.frameId = this.elem.globalData.frameId; this.iterateDynamicProperties(); if (this._mdf) { this.convertEllToPath(); } }, convertEllToPath: function convertEllToPath() { var p0 = this.p.v[0]; var p1 = this.p.v[1]; var s0 = this.s.v[0] / 2; var s1 = this.s.v[1] / 2; var _cw = this.d !== 3; var _v = this.v; _v.v[0][0] = p0; _v.v[0][1] = p1 - s1; _v.v[1][0] = _cw ? p0 + s0 : p0 - s0; _v.v[1][1] = p1; _v.v[2][0] = p0; _v.v[2][1] = p1 + s1; _v.v[3][0] = _cw ? p0 - s0 : p0 + s0; _v.v[3][1] = p1; _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint; _v.i[0][1] = p1 - s1; _v.i[1][0] = _cw ? p0 + s0 : p0 - s0; _v.i[1][1] = p1 - s1 * cPoint; _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint; _v.i[2][1] = p1 + s1; _v.i[3][0] = _cw ? p0 - s0 : p0 + s0; _v.i[3][1] = p1 + s1 * cPoint; _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint; _v.o[0][1] = p1 - s1; _v.o[1][0] = _cw ? p0 + s0 : p0 - s0; _v.o[1][1] = p1 + s1 * cPoint; _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint; _v.o[2][1] = p1 + s1; _v.o[3][0] = _cw ? p0 - s0 : p0 + s0; _v.o[3][1] = p1 - s1 * cPoint; } }; extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory); return EllShapePropertyFactory; }(); var StarShapeProperty = function () { function StarShapePropertyFactory(elem, data) { this.v = shapePool.newElement(); this.v.setPathData(true, 0); this.elem = elem; this.comp = elem.comp; this.data = data; this.frameId = -1; this.d = data.d; this.initDynamicPropertyContainer(elem); if (data.sy === 1) { this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this); this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this); this.convertToPath = this.convertStarToPath; } else { this.convertToPath = this.convertPolygonToPath; } this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this); this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this); this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this); this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this); this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this); this.localShapeCollection = shapeCollectionPool.newShapeCollection(); this.localShapeCollection.addShape(this.v); this.paths = this.localShapeCollection; if (this.dynamicProperties.length) { this.k = true; } else { this.k = false; this.convertToPath(); } } StarShapePropertyFactory.prototype = { reset: resetShape, getValue: function getValue() { if (this.elem.globalData.frameId === this.frameId) { return; } this.frameId = this.elem.globalData.frameId; this.iterateDynamicProperties(); if (this._mdf) { this.convertToPath(); } }, convertStarToPath: function convertStarToPath() { var numPts = Math.floor(this.pt.v) * 2; var angle = Math.PI * 2 / numPts; /* this.v.v.length = numPts; this.v.i.length = numPts; this.v.o.length = numPts; */ var longFlag = true; var longRad = this.or.v; var shortRad = this.ir.v; var longRound = this.os.v; var shortRound = this.is.v; var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2); var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2); var i; var rad; var roundness; var perimSegment; var currentAng = -Math.PI / 2; currentAng += this.r.v; var dir = this.data.d === 3 ? -1 : 1; this.v._length = 0; for (i = 0; i < numPts; i += 1) { rad = longFlag ? longRad : shortRad; roundness = longFlag ? longRound : shortRound; perimSegment = longFlag ? longPerimSegment : shortPerimSegment; var x = rad * Math.cos(currentAng); var y = rad * Math.sin(currentAng); var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y); var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y); x += +this.p.v[0]; y += +this.p.v[1]; this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true); /* this.v.v[i] = [x,y]; this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir]; this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir]; this.v._length = numPts; */ longFlag = !longFlag; currentAng += angle * dir; } }, convertPolygonToPath: function convertPolygonToPath() { var numPts = Math.floor(this.pt.v); var angle = Math.PI * 2 / numPts; var rad = this.or.v; var roundness = this.os.v; var perimSegment = 2 * Math.PI * rad / (numPts * 4); var i; var currentAng = -Math.PI * 0.5; var dir = this.data.d === 3 ? -1 : 1; currentAng += this.r.v; this.v._length = 0; for (i = 0; i < numPts; i += 1) { var x = rad * Math.cos(currentAng); var y = rad * Math.sin(currentAng); var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y); var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y); x += +this.p.v[0]; y += +this.p.v[1]; this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true); currentAng += angle * dir; } this.paths.length = 0; this.paths[0] = this.v; } }; extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory); return StarShapePropertyFactory; }(); var RectShapeProperty = function () { function RectShapePropertyFactory(elem, data) { this.v = shapePool.newElement(); this.v.c = true; this.localShapeCollection = shapeCollectionPool.newShapeCollection(); this.localShapeCollection.addShape(this.v); this.paths = this.localShapeCollection; this.elem = elem; this.comp = elem.comp; this.frameId = -1; this.d = data.d; this.initDynamicPropertyContainer(elem); this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this); this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this); this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this); if (this.dynamicProperties.length) { this.k = true; } else { this.k = false; this.convertRectToPath(); } } RectShapePropertyFactory.prototype = { convertRectToPath: function convertRectToPath() { var p0 = this.p.v[0]; var p1 = this.p.v[1]; var v0 = this.s.v[0] / 2; var v1 = this.s.v[1] / 2; var round = bmMin(v0, v1, this.r.v); var cPoint = round * (1 - roundCorner); this.v._length = 0; if (this.d === 2 || this.d === 1) { this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true); this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true); if (round !== 0) { this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true); this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true); this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true); this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true); this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true); this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true); } else { this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2); this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3); } } else { this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true); if (round !== 0) { this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true); this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true); this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true); this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true); this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true); this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true); this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true); } else { this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true); this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true); this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true); } } }, getValue: function getValue() { if (this.elem.globalData.frameId === this.frameId) { return; } this.frameId = this.elem.globalData.frameId; this.iterateDynamicProperties(); if (this._mdf) { this.convertRectToPath(); } }, reset: resetShape }; extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory); return RectShapePropertyFactory; }(); function getShapeProp(elem, data, type) { var prop; if (type === 3 || type === 4) { var dataProp = type === 3 ? data.pt : data.ks; var keys = dataProp.k; if (keys.length) { prop = new KeyframedShapeProperty(elem, data, type); } else { prop = new ShapeProperty(elem, data, type); } } else if (type === 5) { prop = new RectShapeProperty(elem, data); } else if (type === 6) { prop = new EllShapeProperty(elem, data); } else if (type === 7) { prop = new StarShapeProperty(elem, data); } if (prop.k) { elem.addDynamicProperty(prop); } return prop; } function getConstructorFunction() { return ShapeProperty; } function getKeyframedConstructorFunction() { return KeyframedShapeProperty; } var ob = {}; ob.getShapeProp = getShapeProp; ob.getConstructorFunction = getConstructorFunction; ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction; return ob; }(); /*! Transformation Matrix v2.0 (c) Epistemex 2014-2015 www.epistemex.com By Ken Fyrstenberg Contributions by leeoniya. License: MIT, header required. */ /** * 2D transformation matrix object initialized with identity matrix. * * The matrix can synchronize a canvas context by supplying the context * as an argument, or later apply current absolute transform to an * existing context. * * All values are handled as floating point values. * * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix * @prop {number} a - scale x * @prop {number} b - shear y * @prop {number} c - shear x * @prop {number} d - scale y * @prop {number} e - translate x * @prop {number} f - translate y * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context * @constructor */ var Matrix = function () { var _cos = Math.cos; var _sin = Math.sin; var _tan = Math.tan; var _rnd = Math.round; function reset() { this.props[0] = 1; this.props[1] = 0; this.props[2] = 0; this.props[3] = 0; this.props[4] = 0; this.props[5] = 1; this.props[6] = 0; this.props[7] = 0; this.props[8] = 0; this.props[9] = 0; this.props[10] = 1; this.props[11] = 0; this.props[12] = 0; this.props[13] = 0; this.props[14] = 0; this.props[15] = 1; return this; } function rotate(angle) { if (angle === 0) { return this; } var mCos = _cos(angle); var mSin = _sin(angle); return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } function rotateX(angle) { if (angle === 0) { return this; } var mCos = _cos(angle); var mSin = _sin(angle); return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1); } function rotateY(angle) { if (angle === 0) { return this; } var mCos = _cos(angle); var mSin = _sin(angle); return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1); } function rotateZ(angle) { if (angle === 0) { return this; } var mCos = _cos(angle); var mSin = _sin(angle); return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } function shear(sx, sy) { return this._t(1, sy, sx, 1, 0, 0); } function skew(ax, ay) { return this.shear(_tan(ax), _tan(ay)); } function skewFromAxis(ax, angle) { var mCos = _cos(angle); var mSin = _sin(angle); return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0); } function scale(sx, sy, sz) { if (!sz && sz !== 0) { sz = 1; } if (sx === 1 && sy === 1 && sz === 1) { return this; } return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1); } function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) { this.props[0] = a; this.props[1] = b; this.props[2] = c; this.props[3] = d; this.props[4] = e; this.props[5] = f; this.props[6] = g; this.props[7] = h; this.props[8] = i; this.props[9] = j; this.props[10] = k; this.props[11] = l; this.props[12] = m; this.props[13] = n; this.props[14] = o; this.props[15] = p; return this; } function translate(tx, ty, tz) { tz = tz || 0; if (tx !== 0 || ty !== 0 || tz !== 0) { return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1); } return this; } function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) { var _p = this.props; if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) { // NOTE: commenting this condition because TurboFan deoptimizes code when present // if(m2 !== 0 || n2 !== 0 || o2 !== 0){ _p[12] = _p[12] * a2 + _p[15] * m2; _p[13] = _p[13] * f2 + _p[15] * n2; _p[14] = _p[14] * k2 + _p[15] * o2; _p[15] *= p2; // } this._identityCalculated = false; return this; } var a1 = _p[0]; var b1 = _p[1]; var c1 = _p[2]; var d1 = _p[3]; var e1 = _p[4]; var f1 = _p[5]; var g1 = _p[6]; var h1 = _p[7]; var i1 = _p[8]; var j1 = _p[9]; var k1 = _p[10]; var l1 = _p[11]; var m1 = _p[12]; var n1 = _p[13]; var o1 = _p[14]; var p1 = _p[15]; /* matrix order (canvas compatible): * ace * bdf * 001 */ _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2; _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2; _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2; _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2; _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2; _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2; _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2; _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2; _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2; _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2; _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2; _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2; _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2; _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2; _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2; _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2; this._identityCalculated = false; return this; } function multiply(matrix) { var matrixProps = matrix.props; return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]); } function isIdentity() { if (!this._identityCalculated) { this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1); this._identityCalculated = true; } return this._identity; } function equals(matr) { var i = 0; while (i < 16) { if (matr.props[i] !== this.props[i]) { return false; } i += 1; } return true; } function clone(matr) { var i; for (i = 0; i < 16; i += 1) { matr.props[i] = this.props[i]; } return matr; } function cloneFromProps(props) { var i; for (i = 0; i < 16; i += 1) { this.props[i] = props[i]; } } function applyToPoint(x, y, z) { return { x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14] }; /* return { x: x * me.a + y * me.c + me.e, y: x * me.b + y * me.d + me.f }; */ } function applyToX(x, y, z) { return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12]; } function applyToY(x, y, z) { return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13]; } function applyToZ(x, y, z) { return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]; } function getInverseMatrix() { var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4]; var a = this.props[5] / determinant; var b = -this.props[1] / determinant; var c = -this.props[4] / determinant; var d = this.props[0] / determinant; var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant; var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant; var inverseMatrix = new Matrix(); inverseMatrix.props[0] = a; inverseMatrix.props[1] = b; inverseMatrix.props[4] = c; inverseMatrix.props[5] = d; inverseMatrix.props[12] = e; inverseMatrix.props[13] = f; return inverseMatrix; } function inversePoint(pt) { var inverseMatrix = this.getInverseMatrix(); return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0); } function inversePoints(pts) { var i; var len = pts.length; var retPts = []; for (i = 0; i < len; i += 1) { retPts[i] = inversePoint(pts[i]); } return retPts; } function applyToTriplePoints(pt1, pt2, pt3) { var arr = createTypedArray('float32', 6); if (this.isIdentity()) { arr[0] = pt1[0]; arr[1] = pt1[1]; arr[2] = pt2[0]; arr[3] = pt2[1]; arr[4] = pt3[0]; arr[5] = pt3[1]; } else { var p0 = this.props[0]; var p1 = this.props[1]; var p4 = this.props[4]; var p5 = this.props[5]; var p12 = this.props[12]; var p13 = this.props[13]; arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12; arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13; arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12; arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13; arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12; arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13; } return arr; } function applyToPointArray(x, y, z) { var arr; if (this.isIdentity()) { arr = [x, y, z]; } else { arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]]; } return arr; } function applyToPointStringified(x, y) { if (this.isIdentity()) { return x + ',' + y; } var _p = this.props; return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100; } function toCSS() { // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed. /* if(this.isIdentity()) { return ''; } */ var i = 0; var props = this.props; var cssValue = 'matrix3d('; var v = 10000; while (i < 16) { cssValue += _rnd(props[i] * v) / v; cssValue += i === 15 ? ')' : ','; i += 1; } return cssValue; } function roundMatrixProperty(val) { var v = 10000; if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) { return _rnd(val * v) / v; } return val; } function to2dCSS() { // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed. /* if(this.isIdentity()) { return ''; } */ var props = this.props; var _a = roundMatrixProperty(props[0]); var _b = roundMatrixProperty(props[1]); var _c = roundMatrixProperty(props[4]); var _d = roundMatrixProperty(props[5]); var _e = roundMatrixProperty(props[12]); var _f = roundMatrixProperty(props[13]); return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')'; } return function () { this.reset = reset; this.rotate = rotate; this.rotateX = rotateX; this.rotateY = rotateY; this.rotateZ = rotateZ; this.skew = skew; this.skewFromAxis = skewFromAxis; this.shear = shear; this.scale = scale; this.setTransform = setTransform; this.translate = translate; this.transform = transform; this.multiply = multiply; this.applyToPoint = applyToPoint; this.applyToX = applyToX; this.applyToY = applyToY; this.applyToZ = applyToZ; this.applyToPointArray = applyToPointArray; this.applyToTriplePoints = applyToTriplePoints; this.applyToPointStringified = applyToPointStringified; this.toCSS = toCSS; this.to2dCSS = to2dCSS; this.clone = clone; this.cloneFromProps = cloneFromProps; this.equals = equals; this.inversePoints = inversePoints; this.inversePoint = inversePoint; this.getInverseMatrix = getInverseMatrix; this._t = this.transform; this.isIdentity = isIdentity; this._identity = true; this._identityCalculated = false; this.props = createTypedArray('float32', 16); this.reset(); }; }(); function _typeof$3(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$3(obj); } var lottie = {}; var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; function setLocation(href) { setLocationHref(href); } function searchAnimations() { if (standalone === true) { animationManager.searchAnimations(animationData, standalone, renderer); } else { animationManager.searchAnimations(); } } function setSubframeRendering(flag) { setSubframeEnabled(flag); } function setPrefix(prefix) { setIdPrefix(prefix); } function loadAnimation(params) { if (standalone === true) { params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function setQuality(value) { if (typeof value === 'string') { switch (value) { case 'high': setDefaultCurveSegments(200); break; default: case 'medium': setDefaultCurveSegments(50); break; case 'low': setDefaultCurveSegments(10); break; } } else if (!isNaN(value) && value > 1) { setDefaultCurveSegments(value); } if (getDefaultCurveSegments() >= 50) { roundValues(false); } else { roundValues(true); } } function inBrowser() { return typeof navigator !== 'undefined'; } function installPlugin(type, plugin) { if (type === 'expressions') { setExpressionsPlugin(plugin); } } function getFactory(name) { switch (name) { case 'propertyFactory': return PropertyFactory; case 'shapePropertyFactory': return ShapePropertyFactory; case 'matrix': return Matrix; default: return null; } } lottie.play = animationManager.play; lottie.pause = animationManager.pause; lottie.setLocationHref = setLocation; lottie.togglePause = animationManager.togglePause; lottie.setSpeed = animationManager.setSpeed; lottie.setDirection = animationManager.setDirection; lottie.stop = animationManager.stop; lottie.searchAnimations = searchAnimations; lottie.registerAnimation = animationManager.registerAnimation; lottie.loadAnimation = loadAnimation; lottie.setSubframeRendering = setSubframeRendering; lottie.resize = animationManager.resize; // lottie.start = start; lottie.goToAndStop = animationManager.goToAndStop; lottie.destroy = animationManager.destroy; lottie.setQuality = setQuality; lottie.inBrowser = inBrowser; lottie.installPlugin = installPlugin; lottie.freeze = animationManager.freeze; lottie.unfreeze = animationManager.unfreeze; lottie.setVolume = animationManager.setVolume; lottie.mute = animationManager.mute; lottie.unmute = animationManager.unmute; lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations; lottie.useWebWorker = setWebWorker; lottie.setIDPrefix = setPrefix; lottie.__getFactory = getFactory; lottie.version = '5.12.2'; function checkReady() { if (document.readyState === 'complete') { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i += 1) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { // eslint-disable-line eqeqeq return decodeURIComponent(pair[1]); } } return null; } var queryString = ''; if (standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index] || { src: '' }; queryString = myScript.src ? myScript.src.replace(/^[^\?]+\??/, '') : ''; // eslint-disable-line no-useless-escape renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility try { if (!(( false ? 0 : _typeof$3(exports)) === 'object' && "object" !== 'undefined') && !( true && __webpack_require__.amdO) // eslint-disable-line no-undef ) {} } catch (err) {// } var ShapeModifiers = function () { var ob = {}; var modifiers = {}; ob.registerModifier = registerModifier; ob.getModifier = getModifier; function registerModifier(nm, factory) { if (!modifiers[nm]) { modifiers[nm] = factory; } } function getModifier(nm, elem, data) { return new modifiers[nm](elem, data); } return ob; }(); function ShapeModifier() {} ShapeModifier.prototype.initModifierProperties = function () {}; ShapeModifier.prototype.addShapeToModifier = function () {}; ShapeModifier.prototype.addShape = function (data) { if (!this.closed) { // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick. data.sh.container.addDynamicProperty(data.sh); var shapeData = { shape: data.sh, data: data, localShapeCollection: shapeCollectionPool.newShapeCollection() }; this.shapes.push(shapeData); this.addShapeToModifier(shapeData); if (this._isAnimated) { data.setAsAnimated(); } } }; ShapeModifier.prototype.init = function (elem, data) { this.shapes = []; this.elem = elem; this.initDynamicPropertyContainer(elem); this.initModifierProperties(elem, data); this.frameId = initialDefaultFrame; this.closed = false; this.k = false; if (this.dynamicProperties.length) { this.k = true; } else { this.getValue(true); } }; ShapeModifier.prototype.processKeys = function () { if (this.elem.globalData.frameId === this.frameId) { return; } this.frameId = this.elem.globalData.frameId; this.iterateDynamicProperties(); }; extendPrototype([DynamicPropertyContainer], ShapeModifier); function TrimModifier() {} extendPrototype([ShapeModifier], TrimModifier); TrimModifier.prototype.initModifierProperties = function (elem, data) { this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this); this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this); this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this); this.sValue = 0; this.eValue = 0; this.getValue = this.processKeys; this.m = data.m; this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length; }; TrimModifier.prototype.addShapeToModifier = function (shapeData) { shapeData.pathsData = []; }; TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) { var segments = []; if (e <= 1) { segments.push({ s: s, e: e }); } else if (s >= 1) { segments.push({ s: s - 1, e: e - 1 }); } else { segments.push({ s: s, e: 1 }); segments.push({ s: 0, e: e - 1 }); } var shapeSegments = []; var i; var len = segments.length; var segmentOb; for (i = 0; i < len; i += 1) { segmentOb = segments[i]; if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) { var shapeS; var shapeE; if (segmentOb.s * totalModifierLength <= addedLength) { shapeS = 0; } else { shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength; } if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) { shapeE = 1; } else { shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength; } shapeSegments.push([shapeS, shapeE]); } } if (!shapeSegments.length) { shapeSegments.push([0, 0]); } return shapeSegments; }; TrimModifier.prototype.releasePathsData = function (pathsData) { var i; var len = pathsData.length; for (i = 0; i < len; i += 1) { segmentsLengthPool.release(pathsData[i]); } pathsData.length = 0; return pathsData; }; TrimModifier.prototype.processShapes = function (_isFirstFrame) { var s; var e; if (this._mdf || _isFirstFrame) { var o = this.o.v % 360 / 360; if (o < 0) { o += 1; } if (this.s.v > 1) { s = 1 + o; } else if (this.s.v < 0) { s = 0 + o; } else { s = this.s.v + o; } if (this.e.v > 1) { e = 1 + o; } else if (this.e.v < 0) { e = 0 + o; } else { e = this.e.v + o; } if (s > e) { var _s = s; s = e; e = _s; } s = Math.round(s * 10000) * 0.0001; e = Math.round(e * 10000) * 0.0001; this.sValue = s; this.eValue = e; } else { s = this.sValue; e = this.eValue; } var shapePaths; var i; var len = this.shapes.length; var j; var jLen; var pathsData; var pathData; var totalShapeLength; var totalModifierLength = 0; if (e === s) { for (i = 0; i < len; i += 1) { this.shapes[i].localShapeCollection.releaseShapes(); this.shapes[i].shape._mdf = true; this.shapes[i].shape.paths = this.shapes[i].localShapeCollection; if (this._mdf) { this.shapes[i].pathsData.length = 0; } } } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) { var segments = []; var shapeData; var localShapeCollection; for (i = 0; i < len; i += 1) { shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) { shapeData.shape.paths = shapeData.localShapeCollection; } else { shapePaths = shapeData.shape.paths; jLen = shapePaths._length; totalShapeLength = 0; if (!shapeData.shape._mdf && shapeData.pathsData.length) { totalShapeLength = shapeData.totalShapeLength; } else { pathsData = this.releasePathsData(shapeData.pathsData); for (j = 0; j < jLen; j += 1) { pathData = bez.getSegmentsLength(shapePaths.shapes[j]); pathsData.push(pathData); totalShapeLength += pathData.totalLength; } shapeData.totalShapeLength = totalShapeLength; shapeData.pathsData = pathsData; } totalModifierLength += totalShapeLength; shapeData.shape._mdf = true; } } var shapeS = s; var shapeE = e; var addedLength = 0; var edges; for (i = len - 1; i >= 0; i -= 1) { shapeData = this.shapes[i]; if (shapeData.shape._mdf) { localShapeCollection = shapeData.localShapeCollection; localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group if (this.m === 2 && len > 1) { edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength); addedLength += shapeData.totalShapeLength; } else { edges = [[shapeS, shapeE]]; } jLen = edges.length; for (j = 0; j < jLen; j += 1) { shapeS = edges[j][0]; shapeE = edges[j][1]; segments.length = 0; if (shapeE <= 1) { segments.push({ s: shapeData.totalShapeLength * shapeS, e: shapeData.totalShapeLength * shapeE }); } else if (shapeS >= 1) { segments.push({ s: shapeData.totalShapeLength * (shapeS - 1), e: shapeData.totalShapeLength * (shapeE - 1) }); } else { segments.push({ s: shapeData.totalShapeLength * shapeS, e: shapeData.totalShapeLength }); segments.push({ s: 0, e: shapeData.totalShapeLength * (shapeE - 1) }); } var newShapesData = this.addShapes(shapeData, segments[0]); if (segments[0].s !== segments[0].e) { if (segments.length > 1) { var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1]; if (lastShapeInCollection.c) { var lastShape = newShapesData.pop(); this.addPaths(newShapesData, localShapeCollection); newShapesData = this.addShapes(shapeData, segments[1], lastShape); } else { this.addPaths(newShapesData, localShapeCollection); newShapesData = this.addShapes(shapeData, segments[1]); } } this.addPaths(newShapesData, localShapeCollection); } } shapeData.shape.paths = localShapeCollection; } } } else if (this._mdf) { for (i = 0; i < len; i += 1) { // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween. // Don't remove this even if it's losing cached info. this.shapes[i].pathsData.length = 0; this.shapes[i].shape._mdf = true; } } }; TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) { var i; var len = newPaths.length; for (i = 0; i < len; i += 1) { localShapeCollection.addShape(newPaths[i]); } }; TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) { shapePath.setXYAt(pt2[0], pt2[1], 'o', pos); shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1); if (newShape) { shapePath.setXYAt(pt1[0], pt1[1], 'v', pos); } shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1); }; TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) { shapePath.setXYAt(points[1], points[5], 'o', pos); shapePath.setXYAt(points[2], points[6], 'i', pos + 1); if (newShape) { shapePath.setXYAt(points[0], points[4], 'v', pos); } shapePath.setXYAt(points[3], points[7], 'v', pos + 1); }; TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) { var pathsData = shapeData.pathsData; var shapePaths = shapeData.shape.paths.shapes; var i; var len = shapeData.shape.paths._length; var j; var jLen; var addedLength = 0; var currentLengthData; var segmentCount; var lengths; var segment; var shapes = []; var initPos; var newShape = true; if (!shapePath) { shapePath = shapePool.newElement(); segmentCount = 0; initPos = 0; } else { segmentCount = shapePath._length; initPos = shapePath._length; } shapes.push(shapePath); for (i = 0; i < len; i += 1) { lengths = pathsData[i].lengths; shapePath.c = shapePaths[i].c; jLen = shapePaths[i].c ? lengths.length : lengths.length + 1; for (j = 1; j < jLen; j += 1) { currentLengthData = lengths[j - 1]; if (addedLength + currentLengthData.addedLength < shapeSegment.s) { addedLength += currentLengthData.addedLength; shapePath.c = false; } else if (addedLength > shapeSegment.e) { shapePath.c = false; break; } else { if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) { this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape); newShape = false; } else { segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]); this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape); newShape = false; shapePath.c = false; } addedLength += currentLengthData.addedLength; segmentCount += 1; } } if (shapePaths[i].c && lengths.length) { currentLengthData = lengths[j - 1]; if (addedLength <= shapeSegment.e) { var segmentLength = lengths[j - 1].addedLength; if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) { this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape); newShape = false; } else { segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]); this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape); newShape = false; shapePath.c = false; } } else { shapePath.c = false; } addedLength += currentLengthData.addedLength; segmentCount += 1; } if (shapePath._length) { shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos); shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1); } if (addedLength > shapeSegment.e) { break; } if (i < len - 1) { shapePath = shapePool.newElement(); newShape = true; shapes.push(shapePath); segmentCount = 0; } } return shapes; }; function PuckerAndBloatModifier() {} extendPrototype([ShapeModifier], PuckerAndBloatModifier); PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) { this.getValue = this.processKeys; this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this); this._isAnimated = !!this.amount.effectsSequence.length; }; PuckerAndBloatModifier.prototype.processPath = function (path, amount) { var percent = amount / 100; var centerPoint = [0, 0]; var pathLength = path._length; var i = 0; for (i = 0; i < pathLength; i += 1) { centerPoint[0] += path.v[i][0]; centerPoint[1] += path.v[i][1]; } centerPoint[0] /= pathLength; centerPoint[1] /= pathLength; var clonedPath = shapePool.newElement(); clonedPath.c = path.c; var vX; var vY; var oX; var oY; var iX; var iY; for (i = 0; i < pathLength; i += 1) { vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent; vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent; oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent; oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent; iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent; iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent; clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i); } return clonedPath; }; PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) { var shapePaths; var i; var len = this.shapes.length; var j; var jLen; var amount = this.amount.v; if (amount !== 0) { var shapeData; var localShapeCollection; for (i = 0; i < len; i += 1) { shapeData = this.shapes[i]; localShapeCollection = shapeData.localShapeCollection; if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) { localShapeCollection.releaseShapes(); shapeData.shape._mdf = true; shapePaths = shapeData.shape.paths.shapes; jLen = shapeData.shape.paths._length; for (j = 0; j < jLen; j += 1) { localShapeCollection.addShape(this.processPath(shapePaths[j], amount)); } } shapeData.shape.paths = shapeData.localShapeCollection; } } if (!this.dynamicProperties.length) { this._mdf = false; } }; var TransformPropertyFactory = function () { var defaultVector = [0, 0]; function applyToMatrix(mat) { var _mdf = this._mdf; this.iterateDynamicProperties(); this._mdf = this._mdf || _mdf; if (this.a) { mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]); } if (this.s) { mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]); } if (this.sk) { mat.skewFromAxis(-this.sk.v, this.sa.v); } if (this.r) { mat.rotate(-this.r.v); } else { mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]); } if (this.data.p.s) { if (this.data.p.z) { mat.translate(this.px.v, this.py.v, -this.pz.v); } else { mat.translate(this.px.v, this.py.v, 0); } } else { mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]); } } function processKeys(forceRender) { if (this.elem.globalData.frameId === this.frameId) { return; } if (this._isDirty) { this.precalculateMatrix(); this._isDirty = false; } this.iterateDynamicProperties(); if (this._mdf || forceRender) { var frameRate; this.v.cloneFromProps(this.pre.props); if (this.appliedTransformations < 1) { this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]); } if (this.appliedTransformations < 2) { this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]); } if (this.sk && this.appliedTransformations < 3) { this.v.skewFromAxis(-this.sk.v, this.sa.v); } if (this.r && this.appliedTransformations < 4) { this.v.rotate(-this.r.v); } else if (!this.r && this.appliedTransformations < 4) { this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]); } if (this.autoOriented) { var v1; var v2; frameRate = this.elem.globalData.frameRate; if (this.p && this.p.keyframes && this.p.getValueAtTime) { if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) { v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0); v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0); } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) { v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0); v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0); } else { v1 = this.p.pv; v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime); } } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) { v1 = []; v2 = []; var px = this.px; var py = this.py; if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) { v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0); v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0); v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0); v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0); } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) { v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0); v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0); v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0); v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0); } else { v1 = [px.pv, py.pv]; v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime); v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime); } } else { v2 = defaultVector; v1 = v2; } this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0])); } if (this.data.p && this.data.p.s) { if (this.data.p.z) { this.v.translate(this.px.v, this.py.v, -this.pz.v); } else { this.v.translate(this.px.v, this.py.v, 0); } } else { this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]); } } this.frameId = this.elem.globalData.frameId; } function precalculateMatrix() { this.appliedTransformations = 0; this.pre.reset(); if (!this.a.effectsSequence.length) { this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]); this.appliedTransformations = 1; } else { return; } if (!this.s.effectsSequence.length) { this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]); this.appliedTransformations = 2; } else { return; } if (this.sk) { if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) { this.pre.skewFromAxis(-this.sk.v, this.sa.v); this.appliedTransformations = 3; } else { return; } } if (this.r) { if (!this.r.effectsSequence.length) { this.pre.rotate(-this.r.v); this.appliedTransformations = 4; } } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) { this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]); this.appliedTransformations = 4; } } function autoOrient() {// // var prevP = this.getValueAtTime(); } function addDynamicProperty(prop) { this._addDynamicProperty(prop); this.elem.addDynamicProperty(prop); this._isDirty = true; } function TransformProperty(elem, data, container) { this.elem = elem; this.frameId = -1; this.propType = 'transform'; this.data = data; this.v = new Matrix(); // Precalculated matrix with non animated properties this.pre = new Matrix(); this.appliedTransformations = 0; this.initDynamicPropertyContainer(container || elem); if (data.p && data.p.s) { this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this); this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this); if (data.p.z) { this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this); } } else { this.p = PropertyFactory.getProp(elem, data.p || { k: [0, 0, 0] }, 1, 0, this); } if (data.rx) { this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this); this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this); this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this); if (data.or.k[0].ti) { var i; var len = data.or.k.length; for (i = 0; i < len; i += 1) { data.or.k[i].to = null; data.or.k[i].ti = null; } } this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180 this.or.sh = true; } else { this.r = PropertyFactory.getProp(elem, data.r || { k: 0 }, 0, degToRads, this); } if (data.sk) { this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this); this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this); } this.a = PropertyFactory.getProp(elem, data.a || { k: [0, 0, 0] }, 1, 0, this); this.s = PropertyFactory.getProp(elem, data.s || { k: [100, 100, 100] }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes. if (data.o) { this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem); } else { this.o = { _mdf: false, v: 1 }; } this._isDirty = true; if (!this.dynamicProperties.length) { this.getValue(true); } } TransformProperty.prototype = { applyToMatrix: applyToMatrix, getValue: processKeys, precalculateMatrix: precalculateMatrix, autoOrient: autoOrient }; extendPrototype([DynamicPropertyContainer], TransformProperty); TransformProperty.prototype.addDynamicProperty = addDynamicProperty; TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty; function getTransformProperty(elem, data, container) { return new TransformProperty(elem, data, container); } return { getTransformProperty: getTransformProperty }; }(); function RepeaterModifier() {} extendPrototype([ShapeModifier], RepeaterModifier); RepeaterModifier.prototype.initModifierProperties = function (elem, data) { this.getValue = this.processKeys; this.c = PropertyFactory.getProp(elem, data.c, 0, null, this); this.o = PropertyFactory.getProp(elem, data.o, 0, null, this); this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this); this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this); this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this); this.data = data; if (!this.dynamicProperties.length) { this.getValue(true); } this._isAnimated = !!this.dynamicProperties.length; this.pMatrix = new Matrix(); this.rMatrix = new Matrix(); this.sMatrix = new Matrix(); this.tMatrix = new Matrix(); this.matrix = new Matrix(); }; RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) { var dir = inv ? -1 : 1; var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc); var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc); pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]); rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]); rMatrix.rotate(-transform.r.v * dir * perc); rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]); sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]); sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY); sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]); }; RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) { this.elem = elem; this.arr = arr; this.pos = pos; this.elemsData = elemsData; this._currentCopies = 0; this._elements = []; this._groups = []; this.frameId = -1; this.initDynamicPropertyContainer(elem); this.initModifierProperties(elem, arr[pos]); while (pos > 0) { pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]); this._elements.unshift(arr[pos]); } if (this.dynamicProperties.length) { this.k = true; } else { this.getValue(true); } }; RepeaterModifier.prototype.resetElements = function (elements) { var i; var len = elements.length; for (i = 0; i < len; i += 1) { elements[i]._processed = false; if (elements[i].ty === 'gr') { this.resetElements(elements[i].it); } } }; RepeaterModifier.prototype.cloneElements = function (elements) { var newElements = JSON.parse(JSON.stringify(elements)); this.resetElements(newElements); return newElements; }; RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) { var i; var len = elements.length; for (i = 0; i < len; i += 1) { elements[i]._render = renderFlag; if (elements[i].ty === 'gr') { this.changeGroupRender(elements[i].it, renderFlag); } } }; RepeaterModifier.prototype.processShapes = function (_isFirstFrame) { var items; var itemsTransform; var i; var dir; var cont; var hasReloaded = false; if (this._mdf || _isFirstFrame) { var copies = Math.ceil(this.c.v); if (this._groups.length < copies) { while (this._groups.length < copies) { var group = { it: this.cloneElements(this._elements), ty: 'gr' }; group.it.push({ a: { a: 0, ix: 1, k: [0, 0] }, nm: 'Transform', o: { a: 0, ix: 7, k: 100 }, p: { a: 0, ix: 2, k: [0, 0] }, r: { a: 1, ix: 6, k: [{ s: 0, e: 0, t: 0 }, { s: 0, e: 0, t: 1 }] }, s: { a: 0, ix: 3, k: [100, 100] }, sa: { a: 0, ix: 5, k: 0 }, sk: { a: 0, ix: 4, k: 0 }, ty: 'tr' }); this.arr.splice(0, 0, group); this._groups.splice(0, 0, group); this._currentCopies += 1; } this.elem.reloadShapes(); hasReloaded = true; } cont = 0; var renderFlag; for (i = 0; i <= this._groups.length - 1; i += 1) { renderFlag = cont < copies; this._groups[i]._render = renderFlag; this.changeGroupRender(this._groups[i].it, renderFlag); if (!renderFlag) { var elems = this.elemsData[i].it; var transformData = elems[elems.length - 1]; if (transformData.transform.op.v !== 0) { transformData.transform.op._mdf = true; transformData.transform.op.v = 0; } else { transformData.transform.op._mdf = false; } } cont += 1; } this._currentCopies = copies; /// / var offset = this.o.v; var offsetModulo = offset % 1; var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset); var pProps = this.pMatrix.props; var rProps = this.rMatrix.props; var sProps = this.sMatrix.props; this.pMatrix.reset(); this.rMatrix.reset(); this.sMatrix.reset(); this.tMatrix.reset(); this.matrix.reset(); var iteration = 0; if (offset > 0) { while (iteration < roundOffset) { this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false); iteration += 1; } if (offsetModulo) { this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false); iteration += offsetModulo; } } else if (offset < 0) { while (iteration > roundOffset) { this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true); iteration -= 1; } if (offsetModulo) { this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true); iteration -= offsetModulo; } } i = this.data.m === 1 ? 0 : this._currentCopies - 1; dir = this.data.m === 1 ? 1 : -1; cont = this._currentCopies; var j; var jLen; while (cont) { items = this.elemsData[i].it; itemsTransform = items[items.length - 1].transform.mProps.v.props; jLen = itemsTransform.length; items[items.length - 1].transform.mProps._mdf = true; items[items.length - 1].transform.op._mdf = true; items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1)); if (iteration !== 0) { if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) { this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false); } this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]); this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]); this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]); for (j = 0; j < jLen; j += 1) { itemsTransform[j] = this.matrix.props[j]; } this.matrix.reset(); } else { this.matrix.reset(); for (j = 0; j < jLen; j += 1) { itemsTransform[j] = this.matrix.props[j]; } } iteration += 1; cont -= 1; i += dir; } } else { cont = this._currentCopies; i = 0; dir = 1; while (cont) { items = this.elemsData[i].it; itemsTransform = items[items.length - 1].transform.mProps.v.props; items[items.length - 1].transform.mProps._mdf = false; items[items.length - 1].transform.op._mdf = false; cont -= 1; i += dir; } } return hasReloaded; }; RepeaterModifier.prototype.addShape = function () {}; function RoundCornersModifier() {} extendPrototype([ShapeModifier], RoundCornersModifier); RoundCornersModifier.prototype.initModifierProperties = function (elem, data) { this.getValue = this.processKeys; this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this); this._isAnimated = !!this.rd.effectsSequence.length; }; RoundCornersModifier.prototype.processPath = function (path, round) { var clonedPath = shapePool.newElement(); clonedPath.c = path.c; var i; var len = path._length; var currentV; var currentI; var currentO; var closerV; var distance; var newPosPerc; var index = 0; var vX; var vY; var oX; var oY; var iX; var iY; for (i = 0; i < len; i += 1) { currentV = path.v[i]; currentO = path.o[i]; currentI = path.i[i]; if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) { if ((i === 0 || i === len - 1) && !path.c) { clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index); /* clonedPath.v[index] = currentV; clonedPath.o[index] = currentO; clonedPath.i[index] = currentI; */ index += 1; } else { if (i === 0) { closerV = path.v[len - 1]; } else { closerV = path.v[i - 1]; } distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2)); newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0; iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc; vX = iX; iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc; vY = iY; oX = vX - (vX - currentV[0]) * roundCorner; oY = vY - (vY - currentV[1]) * roundCorner; clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index); index += 1; if (i === len - 1) { closerV = path.v[0]; } else { closerV = path.v[i + 1]; } distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2)); newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0; oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc; vX = oX; oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc; vY = oY; iX = vX - (vX - currentV[0]) * roundCorner; iY = vY - (vY - currentV[1]) * roundCorner; clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index); index += 1; } } else { clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index); index += 1; } } return clonedPath; }; RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) { var shapePaths; var i; var len = this.shapes.length; var j; var jLen; var rd = this.rd.v; if (rd !== 0) { var shapeData; var localShapeCollection; for (i = 0; i < len; i += 1) { shapeData = this.shapes[i]; localShapeCollection = shapeData.localShapeCollection; if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) { localShapeCollection.releaseShapes(); shapeData.shape._mdf = true; shapePaths = shapeData.shape.paths.shapes; jLen = shapeData.shape.paths._length; for (j = 0; j < jLen; j += 1) { localShapeCollection.addShape(this.processPath(shapePaths[j], rd)); } } shapeData.shape.paths = shapeData.localShapeCollection; } } if (!this.dynamicProperties.length) { this._mdf = false; } }; function floatEqual(a, b) { return Math.abs(a - b) * 100000 <= Math.min(Math.abs(a), Math.abs(b)); } function floatZero(f) { return Math.abs(f) <= 0.00001; } function lerp(p0, p1, amount) { return p0 * (1 - amount) + p1 * amount; } function lerpPoint(p0, p1, amount) { return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)]; } function quadRoots(a, b, c) { // no root if (a === 0) return []; var s = b * b - 4 * a * c; // Complex roots if (s < 0) return []; var singleRoot = -b / (2 * a); // 1 root if (s === 0) return [singleRoot]; var delta = Math.sqrt(s) / (2 * a); // 2 roots return [singleRoot - delta, singleRoot + delta]; } function polynomialCoefficients(p0, p1, p2, p3) { return [-p0 + 3 * p1 - 3 * p2 + p3, 3 * p0 - 6 * p1 + 3 * p2, -3 * p0 + 3 * p1, p0]; } function singlePoint(p) { return new PolynomialBezier(p, p, p, p, false); } function PolynomialBezier(p0, p1, p2, p3, linearize) { if (linearize && pointEqual(p0, p1)) { p1 = lerpPoint(p0, p3, 1 / 3); } if (linearize && pointEqual(p2, p3)) { p2 = lerpPoint(p0, p3, 2 / 3); } var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]); var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]); this.a = [coeffx[0], coeffy[0]]; this.b = [coeffx[1], coeffy[1]]; this.c = [coeffx[2], coeffy[2]]; this.d = [coeffx[3], coeffy[3]]; this.points = [p0, p1, p2, p3]; } PolynomialBezier.prototype.point = function (t) { return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]]; }; PolynomialBezier.prototype.derivative = function (t) { return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]]; }; PolynomialBezier.prototype.tangentAngle = function (t) { var p = this.derivative(t); return Math.atan2(p[1], p[0]); }; PolynomialBezier.prototype.normalAngle = function (t) { var p = this.derivative(t); return Math.atan2(p[0], p[1]); }; PolynomialBezier.prototype.inflectionPoints = function () { var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1]; if (floatZero(denom)) return []; var tcusp = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom; var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom; if (square < 0) return []; var root = Math.sqrt(square); if (floatZero(root)) { if (root > 0 && root < 1) return [tcusp]; return []; } return [tcusp - root, tcusp + root].filter(function (r) { return r > 0 && r < 1; }); }; PolynomialBezier.prototype.split = function (t) { if (t <= 0) return [singlePoint(this.points[0]), this]; if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])]; var p10 = lerpPoint(this.points[0], this.points[1], t); var p11 = lerpPoint(this.points[1], this.points[2], t); var p12 = lerpPoint(this.points[2], this.points[3], t); var p20 = lerpPoint(p10, p11, t); var p21 = lerpPoint(p11, p12, t); var p3 = lerpPoint(p20, p21, t); return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)]; }; function extrema(bez, comp) { var min = bez.points[0][comp]; var max = bez.points[bez.points.length - 1][comp]; if (min > max) { var e = max; max = min; min = e; } // Derivative roots to find min/max var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]); for (var i = 0; i < f.length; i += 1) { if (f[i] > 0 && f[i] < 1) { var val = bez.point(f[i])[comp]; if (val < min) min = val;else if (val > max) max = val; } } return { min: min, max: max }; } PolynomialBezier.prototype.bounds = function () { return { x: extrema(this, 0), y: extrema(this, 1) }; }; PolynomialBezier.prototype.boundingBox = function () { var bounds = this.bounds(); return { left: bounds.x.min, right: bounds.x.max, top: bounds.y.min, bottom: bounds.y.max, width: bounds.x.max - bounds.x.min, height: bounds.y.max - bounds.y.min, cx: (bounds.x.max + bounds.x.min) / 2, cy: (bounds.y.max + bounds.y.min) / 2 }; }; function intersectData(bez, t1, t2) { var box = bez.boundingBox(); return { cx: box.cx, cy: box.cy, width: box.width, height: box.height, bez: bez, t: (t1 + t2) / 2, t1: t1, t2: t2 }; } function splitData(data) { var split = data.bez.split(0.5); return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)]; } function boxIntersect(b1, b2) { return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height; } function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) { if (!boxIntersect(d1, d2)) return; if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) { intersections.push([d1.t, d2.t]); return; } var d1s = splitData(d1); var d2s = splitData(d2); intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion); intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion); intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion); intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion); } PolynomialBezier.prototype.intersections = function (other, tolerance, maxRecursion) { if (tolerance === undefined) tolerance = 2; if (maxRecursion === undefined) maxRecursion = 7; var intersections = []; intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion); return intersections; }; PolynomialBezier.shapeSegment = function (shapePath, index) { var nextIndex = (index + 1) % shapePath.length(); return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true); }; PolynomialBezier.shapeSegmentInverted = function (shapePath, index) { var nextIndex = (index + 1) % shapePath.length(); return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true); }; function crossProduct(a, b) { return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]]; } function lineIntersection(start1, end1, start2, end2) { var v1 = [start1[0], start1[1], 1]; var v2 = [end1[0], end1[1], 1]; var v3 = [start2[0], start2[1], 1]; var v4 = [end2[0], end2[1], 1]; var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4)); if (floatZero(r[2])) return null; return [r[0] / r[2], r[1] / r[2]]; } function polarOffset(p, angle, length) { return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length]; } function pointDistance(p1, p2) { return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]); } function pointEqual(p1, p2) { return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]); } function ZigZagModifier() {} extendPrototype([ShapeModifier], ZigZagModifier); ZigZagModifier.prototype.initModifierProperties = function (elem, data) { this.getValue = this.processKeys; this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this); this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this); this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this); this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0; }; function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) { var angO = angle - Math.PI / 2; var angI = angle + Math.PI / 2; var px = point[0] + Math.cos(angle) * direction * amplitude; var py = point[1] - Math.sin(angle) * direction * amplitude; outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length()); } function getPerpendicularVector(pt1, pt2) { var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]]; var rot = -Math.PI * 0.5; var rotatedVector = [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]]; return rotatedVector; } function getProjectingAngle(path, cur) { var prevIndex = cur === 0 ? path.length() - 1 : cur - 1; var nextIndex = (cur + 1) % path.length(); var prevPoint = path.v[prevIndex]; var nextPoint = path.v[nextIndex]; var pVector = getPerpendicularVector(prevPoint, nextPoint); return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]); } function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) { var angle = getProjectingAngle(path, cur); var point = path.v[cur % path._length]; var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1]; var nextPoint = path.v[(cur + 1) % path._length]; var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0; var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0; setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType); } function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) { for (var i = 0; i < frequency; i += 1) { var t = (i + 1) / (frequency + 1); var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0; var angle = segment.normalAngle(t); var point = segment.point(t); setPoint(outputBezier, point, angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType); direction = -direction; } return direction; } ZigZagModifier.prototype.processPath = function (path, amplitude, frequency, pointType) { var count = path._length; var clonedPath = shapePool.newElement(); clonedPath.c = path.c; if (!path.c) { count -= 1; } if (count === 0) return clonedPath; var direction = -1; var segment = PolynomialBezier.shapeSegment(path, 0); zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction); for (var i = 0; i < count; i += 1) { direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction); if (i === count - 1 && !path.c) { segment = null; } else { segment = PolynomialBezier.shapeSegment(path, (i + 1) % count); } zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction); } return clonedPath; }; ZigZagModifier.prototype.processShapes = function (_isFirstFrame) { var shapePaths; var i; var len = this.shapes.length; var j; var jLen; var amplitude = this.amplitude.v; var frequency = Math.max(0, Math.round(this.frequency.v)); var pointType = this.pointsType.v; if (amplitude !== 0) { var shapeData; var localShapeCollection; for (i = 0; i < len; i += 1) { shapeData = this.shapes[i]; localShapeCollection = shapeData.localShapeCollection; if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) { localShapeCollection.releaseShapes(); shapeData.shape._mdf = true; shapePaths = shapeData.shape.paths.shapes; jLen = shapeData.shape.paths._length; for (j = 0; j < jLen; j += 1) { localShapeCollection.addShape(this.processPath(shapePaths[j], amplitude, frequency, pointType)); } } shapeData.shape.paths = shapeData.localShapeCollection; } } if (!this.dynamicProperties.length) { this._mdf = false; } }; function linearOffset(p1, p2, amount) { var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]); return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)]; } function offsetSegment(segment, amount) { var p0; var p1a; var p1b; var p2b; var p2a; var p3; var e; e = linearOffset(segment.points[0], segment.points[1], amount); p0 = e[0]; p1a = e[1]; e = linearOffset(segment.points[1], segment.points[2], amount); p1b = e[0]; p2b = e[1]; e = linearOffset(segment.points[2], segment.points[3], amount); p2a = e[0]; p3 = e[1]; var p1 = lineIntersection(p0, p1a, p1b, p2b); if (p1 === null) p1 = p1a; var p2 = lineIntersection(p2a, p3, p1b, p2b); if (p2 === null) p2 = p2a; return new PolynomialBezier(p0, p1, p2, p3); } function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) { var p0 = seg1.points[3]; var p1 = seg2.points[0]; // Bevel if (lineJoin === 3) return p0; // Connected, they don't need a joint if (pointEqual(p0, p1)) return p0; // Round if (lineJoin === 2) { var angleOut = -seg1.tangentAngle(1); var angleIn = -seg2.tangentAngle(0) + Math.PI; var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100)); var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2; var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner); outputBezier.setXYAt(tan[0], tan[1], 'o', outputBezier.length() - 1); tan = polarOffset(p1, angleIn, 2 * radius * roundCorner); outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length()); return p1; } // Miter var t0 = pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2]; var t1 = pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1]; var intersection = lineIntersection(t0, p0, p1, t1); if (intersection && pointDistance(intersection, p0) < miterLimit) { outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length()); return intersection; } return p0; } function getIntersection(a, b) { var intersect = a.intersections(b); if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift(); if (intersect.length) return intersect[0]; return null; } function pruneSegmentIntersection(a, b) { var outa = a.slice(); var outb = b.slice(); var intersect = getIntersection(a[a.length - 1], b[0]); if (intersect) { outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0]; outb[0] = b[0].split(intersect[1])[1]; } if (a.length > 1 && b.length > 1) { intersect = getIntersection(a[0], b[b.length - 1]); if (intersect) { return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]]; } } return [outa, outb]; } function pruneIntersections(segments) { var e; for (var i = 1; i < segments.length; i += 1) { e = pruneSegmentIntersection(segments[i - 1], segments[i]); segments[i - 1] = e[0]; segments[i] = e[1]; } if (segments.length > 1) { e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]); segments[segments.length - 1] = e[0]; segments[0] = e[1]; } return segments; } function offsetSegmentSplit(segment, amount) { /* We split each bezier segment into smaller pieces based on inflection points, this ensures the control point polygon is convex. (A cubic bezier can have none, one, or two inflection points) */ var flex = segment.inflectionPoints(); var left; var right; var split; var mid; if (flex.length === 0) { return [offsetSegment(segment, amount)]; } if (flex.length === 1 || floatEqual(flex[1], 1)) { split = segment.split(flex[0]); left = split[0]; right = split[1]; return [offsetSegment(left, amount), offsetSegment(right, amount)]; } split = segment.split(flex[0]); left = split[0]; var t = (flex[1] - flex[0]) / (1 - flex[0]); split = split[1].split(t); mid = split[0]; right = split[1]; return [offsetSegment(left, amount), offsetSegment(mid, amount), offsetSegment(right, amount)]; } function OffsetPathModifier() {} extendPrototype([ShapeModifier], OffsetPathModifier); OffsetPathModifier.prototype.initModifierProperties = function (elem, data) { this.getValue = this.processKeys; this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this); this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this); this.lineJoin = data.lj; this._isAnimated = this.amount.effectsSequence.length !== 0; }; OffsetPathModifier.prototype.processPath = function (inputBezier, amount, lineJoin, miterLimit) { var outputBezier = shapePool.newElement(); outputBezier.c = inputBezier.c; var count = inputBezier.length(); if (!inputBezier.c) { count -= 1; } var i; var j; var segment; var multiSegments = []; for (i = 0; i < count; i += 1) { segment = PolynomialBezier.shapeSegment(inputBezier, i); multiSegments.push(offsetSegmentSplit(segment, amount)); } if (!inputBezier.c) { for (i = count - 1; i >= 0; i -= 1) { segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i); multiSegments.push(offsetSegmentSplit(segment, amount)); } } multiSegments = pruneIntersections(multiSegments); // Add bezier segments to the output and apply line joints var lastPoint = null; var lastSeg = null; for (i = 0; i < multiSegments.length; i += 1) { var multiSegment = multiSegments[i]; if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit); lastSeg = multiSegment[multiSegment.length - 1]; for (j = 0; j < multiSegment.length; j += 1) { segment = multiSegment[j]; if (lastPoint && pointEqual(segment.points[0], lastPoint)) { outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], 'o', outputBezier.length() - 1); } else { outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length()); } outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length()); lastPoint = segment.points[3]; } } if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit); return outputBezier; }; OffsetPathModifier.prototype.processShapes = function (_isFirstFrame) { var shapePaths; var i; var len = this.shapes.length; var j; var jLen; var amount = this.amount.v; var miterLimit = this.miterLimit.v; var lineJoin = this.lineJoin; if (amount !== 0) { var shapeData; var localShapeCollection; for (i = 0; i < len; i += 1) { shapeData = this.shapes[i]; localShapeCollection = shapeData.localShapeCollection; if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) { localShapeCollection.releaseShapes(); shapeData.shape._mdf = true; shapePaths = shapeData.shape.paths.shapes; jLen = shapeData.shape.paths._length; for (j = 0; j < jLen; j += 1) { localShapeCollection.addShape(this.processPath(shapePaths[j], amount, lineJoin, miterLimit)); } } shapeData.shape.paths = shapeData.localShapeCollection; } } if (!this.dynamicProperties.length) { this._mdf = false; } }; function getFontProperties(fontData) { var styles = fontData.fStyle ? fontData.fStyle.split(' ') : []; var fWeight = 'normal'; var fStyle = 'normal'; var len = styles.length; var styleName; for (var i = 0; i < len; i += 1) { styleName = styles[i].toLowerCase(); switch (styleName) { case 'italic': fStyle = 'italic'; break; case 'bold': fWeight = '700'; break; case 'black': fWeight = '900'; break; case 'medium': fWeight = '500'; break; case 'regular': case 'normal': fWeight = '400'; break; case 'light': case 'thin': fWeight = '200'; break; default: break; } } return { style: fStyle, weight: fontData.fWeight || fWeight }; } var FontManager = function () { var maxWaitingTime = 5000; var emptyChar = { w: 0, size: 0, shapes: [], data: { shapes: [] } }; var combinedCharacters = []; // Hindi characters combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]); var BLACK_FLAG_CODE_POINT = 127988; var CANCEL_TAG_CODE_POINT = 917631; var A_TAG_CODE_POINT = 917601; var Z_TAG_CODE_POINT = 917626; var VARIATION_SELECTOR_16_CODE_POINT = 65039; var ZERO_WIDTH_JOINER_CODE_POINT = 8205; var REGIONAL_CHARACTER_A_CODE_POINT = 127462; var REGIONAL_CHARACTER_Z_CODE_POINT = 127487; var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff']; function trimFontOptions(font) { var familyArray = font.split(','); var i; var len = familyArray.length; var enabledFamilies = []; for (i = 0; i < len; i += 1) { if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') { enabledFamilies.push(familyArray[i]); } } return enabledFamilies.join(','); } function setUpNode(font, family) { var parentNode = createTag('span'); // Node is invisible to screen readers. parentNode.setAttribute('aria-hidden', true); parentNode.style.fontFamily = family; var node = createTag('span'); // Characters that vary significantly among different fonts node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen parentNode.style.position = 'absolute'; parentNode.style.left = '-10000px'; parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious parentNode.style.fontSize = '300px'; // Reset any font properties parentNode.style.fontVariant = 'normal'; parentNode.style.fontStyle = 'normal'; parentNode.style.fontWeight = 'normal'; parentNode.style.letterSpacing = '0'; parentNode.appendChild(node); document.body.appendChild(parentNode); // Remember width with no applied web font var width = node.offsetWidth; node.style.fontFamily = trimFontOptions(font) + ', ' + family; return { node: node, w: width, parent: parentNode }; } function checkLoadedFonts() { var i; var len = this.fonts.length; var node; var w; var loadedCount = len; for (i = 0; i < len; i += 1) { if (this.fonts[i].loaded) { loadedCount -= 1; } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) { this.fonts[i].loaded = true; } else { node = this.fonts[i].monoCase.node; w = this.fonts[i].monoCase.w; if (node.offsetWidth !== w) { loadedCount -= 1; this.fonts[i].loaded = true; } else { node = this.fonts[i].sansCase.node; w = this.fonts[i].sansCase.w; if (node.offsetWidth !== w) { loadedCount -= 1; this.fonts[i].loaded = true; } } if (this.fonts[i].loaded) { this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent); this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent); } } } if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) { setTimeout(this.checkLoadedFontsBinded, 20); } else { setTimeout(this.setIsLoadedBinded, 10); } } function createHelper(fontData, def) { var engine = document.body && def ? 'svg' : 'canvas'; var helper; var fontProps = getFontProperties(fontData); if (engine === 'svg') { var tHelper = createNS('text'); tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily; tHelper.setAttribute('font-family', fontData.fFamily); tHelper.setAttribute('font-style', fontProps.style); tHelper.setAttribute('font-weight', fontProps.weight); tHelper.textContent = '1'; if (fontData.fClass) { tHelper.style.fontFamily = 'inherit'; tHelper.setAttribute('class', fontData.fClass); } else { tHelper.style.fontFamily = fontData.fFamily; } def.appendChild(tHelper); helper = tHelper; } else { var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d'); tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily; helper = tCanvasHelper; } function measure(text) { if (engine === 'svg') { helper.textContent = text; return helper.getComputedTextLength(); } return helper.measureText(text).width; } return { measureText: measure }; } function addFonts(fontData, defs) { if (!fontData) { this.isLoaded = true; return; } if (this.chars) { this.isLoaded = true; this.fonts = fontData.list; return; } if (!document.body) { this.isLoaded = true; fontData.list.forEach(function (data) { data.helper = createHelper(data); data.cache = {}; }); this.fonts = fontData.list; return; } var fontArr = fontData.list; var i; var len = fontArr.length; var _pendingFonts = len; for (i = 0; i < len; i += 1) { var shouldLoadFont = true; var loadedSelector; var j; fontArr[i].loaded = false; fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace'); fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif'); if (!fontArr[i].fPath) { fontArr[i].loaded = true; _pendingFonts -= 1; } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) { loadedSelector = document.querySelectorAll('style[f-forigin="p"][f-family="' + fontArr[i].fFamily + '"], style[f-origin="3"][f-family="' + fontArr[i].fFamily + '"]'); if (loadedSelector.length > 0) { shouldLoadFont = false; } if (shouldLoadFont) { var s = createTag('style'); s.setAttribute('f-forigin', fontArr[i].fOrigin); s.setAttribute('f-origin', fontArr[i].origin); s.setAttribute('f-family', fontArr[i].fFamily); s.type = 'text/css'; s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + "; font-style: normal; src: url('" + fontArr[i].fPath + "');}"; defs.appendChild(s); } } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) { loadedSelector = document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'); for (j = 0; j < loadedSelector.length; j += 1) { if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) { // Font is already loaded shouldLoadFont = false; } } if (shouldLoadFont) { var l = createTag('link'); l.setAttribute('f-forigin', fontArr[i].fOrigin); l.setAttribute('f-origin', fontArr[i].origin); l.type = 'text/css'; l.rel = 'stylesheet'; l.href = fontArr[i].fPath; document.body.appendChild(l); } } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) { loadedSelector = document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'); for (j = 0; j < loadedSelector.length; j += 1) { if (fontArr[i].fPath === loadedSelector[j].src) { // Font is already loaded shouldLoadFont = false; } } if (shouldLoadFont) { var sc = createTag('link'); sc.setAttribute('f-forigin', fontArr[i].fOrigin); sc.setAttribute('f-origin', fontArr[i].origin); sc.setAttribute('rel', 'stylesheet'); sc.setAttribute('href', fontArr[i].fPath); defs.appendChild(sc); } } fontArr[i].helper = createHelper(fontArr[i], defs); fontArr[i].cache = {}; this.fonts.push(fontArr[i]); } if (_pendingFonts === 0) { this.isLoaded = true; } else { // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas. // Adding this timeout seems to fix it setTimeout(this.checkLoadedFonts.bind(this), 100); } } function addChars(chars) { if (!chars) { return; } if (!this.chars) { this.chars = []; } var i; var len = chars.length; var j; var jLen = this.chars.length; var found; for (i = 0; i < len; i += 1) { j = 0; found = false; while (j < jLen) { if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) { found = true; } j += 1; } if (!found) { this.chars.push(chars[i]); jLen += 1; } } } function getCharData(_char, style, font) { var i = 0; var len = this.chars.length; while (i < len) { if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) { return this.chars[i]; } i += 1; } if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console && !this._warned) { this._warned = true; console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console } return emptyChar; } function measureText(_char2, fontName, size) { var fontData = this.getFontByName(fontName); // Using the char instead of char.charCodeAt(0) // to avoid collisions between equal chars var index = _char2; if (!fontData.cache[index]) { var tHelper = fontData.helper; if (_char2 === ' ') { var doubleSize = tHelper.measureText('|' + _char2 + '|'); var singleSize = tHelper.measureText('||'); fontData.cache[index] = (doubleSize - singleSize) / 100; } else { fontData.cache[index] = tHelper.measureText(_char2) / 100; } } return fontData.cache[index] * size; } function getFontByName(name) { var i = 0; var len = this.fonts.length; while (i < len) { if (this.fonts[i].fName === name) { return this.fonts[i]; } i += 1; } return this.fonts[0]; } function getCodePoint(string) { var codePoint = 0; var first = string.charCodeAt(0); if (first >= 0xD800 && first <= 0xDBFF) { var second = string.charCodeAt(1); if (second >= 0xDC00 && second <= 0xDFFF) { codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; } } return codePoint; } // Skin tone modifiers function isModifier(firstCharCode, secondCharCode) { var sum = firstCharCode.toString(16) + secondCharCode.toString(16); return surrogateModifiers.indexOf(sum) !== -1; } function isZeroWidthJoiner(charCode) { return charCode === ZERO_WIDTH_JOINER_CODE_POINT; } // This codepoint may change the appearance of the preceding character. // If that is a symbol, dingbat or emoji, U+FE0F forces it to be rendered // as a colorful image as compared to a monochrome text variant. function isVariationSelector(charCode) { return charCode === VARIATION_SELECTOR_16_CODE_POINT; } // The regional indicator symbols are a set of 26 alphabetic Unicode /// characters (A–Z) intended to be used to encode ISO 3166-1 alpha-2 // two-letter country codes in a way that allows optional special treatment. function isRegionalCode(string) { var codePoint = getCodePoint(string); if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) { return true; } return false; } // Some Emoji implementations represent combinations of // two “regional indicator” letters as a single flag symbol. function isFlagEmoji(string) { return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2)); } function isCombinedCharacter(_char3) { return combinedCharacters.indexOf(_char3) !== -1; } // Regional flags start with a BLACK_FLAG_CODE_POINT // folowed by 5 chars in the TAG range // and end with a CANCEL_TAG_CODE_POINT function isRegionalFlag(text, index) { var codePoint = getCodePoint(text.substr(index, 2)); if (codePoint !== BLACK_FLAG_CODE_POINT) { return false; } var count = 0; index += 2; while (count < 5) { codePoint = getCodePoint(text.substr(index, 2)); if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) { return false; } count += 1; index += 2; } return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT; } function setIsLoaded() { this.isLoaded = true; } var Font = function Font() { this.fonts = []; this.chars = null; this.typekitLoaded = 0; this.isLoaded = false; this._warned = false; this.initTime = Date.now(); this.setIsLoadedBinded = this.setIsLoaded.bind(this); this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this); }; Font.isModifier = isModifier; Font.isZeroWidthJoiner = isZeroWidthJoiner; Font.isFlagEmoji = isFlagEmoji; Font.isRegionalCode = isRegionalCode; Font.isCombinedCharacter = isCombinedCharacter; Font.isRegionalFlag = isRegionalFlag; Font.isVariationSelector = isVariationSelector; Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT; var fontPrototype = { addChars: addChars, addFonts: addFonts, getCharData: getCharData, getFontByName: getFontByName, measureText: measureText, checkLoadedFonts: checkLoadedFonts, setIsLoaded: setIsLoaded }; Font.prototype = fontPrototype; return Font; }(); function SlotManager(animationData) { this.animationData = animationData; } SlotManager.prototype.getProp = function (data) { if (this.animationData.slots && this.animationData.slots[data.sid]) { return Object.assign(data, this.animationData.slots[data.sid].p); } return data; }; function slotFactory(animationData) { return new SlotManager(animationData); } function RenderableElement() {} RenderableElement.prototype = { initRenderable: function initRenderable() { // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange this.isInRange = false; // layer's display state this.hidden = false; // If layer's transparency equals 0, it can be hidden this.isTransparent = false; // list of animated components this.renderableComponents = []; }, addRenderableComponent: function addRenderableComponent(component) { if (this.renderableComponents.indexOf(component) === -1) { this.renderableComponents.push(component); } }, removeRenderableComponent: function removeRenderableComponent(component) { if (this.renderableComponents.indexOf(component) !== -1) { this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1); } }, prepareRenderableFrame: function prepareRenderableFrame(num) { this.checkLayerLimits(num); }, checkTransparency: function checkTransparency() { if (this.finalTransform.mProp.o.v <= 0) { if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) { this.isTransparent = true; this.hide(); } } else if (this.isTransparent) { this.isTransparent = false; this.show(); } }, /** * @function * Initializes frame related properties. * * @param {number} num * current frame number in Layer's time * */ checkLayerLimits: function checkLayerLimits(num) { if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) { if (this.isInRange !== true) { this.globalData._mdf = true; this._mdf = true; this.isInRange = true; this.show(); } } else if (this.isInRange !== false) { this.globalData._mdf = true; this.isInRange = false; this.hide(); } }, renderRenderable: function renderRenderable() { var i; var len = this.renderableComponents.length; for (i = 0; i < len; i += 1) { this.renderableComponents[i].renderFrame(this._isFirstFrame); } /* this.maskManager.renderFrame(this.finalTransform.mat); this.renderableEffectsManager.renderFrame(this._isFirstFrame); */ }, sourceRectAtTime: function sourceRectAtTime() { return { top: 0, left: 0, width: 100, height: 100 }; }, getLayerSize: function getLayerSize() { if (this.data.ty === 5) { return { w: this.data.textData.width, h: this.data.textData.height }; } return { w: this.data.width, h: this.data.height }; } }; var getBlendMode = function () { var blendModeEnums = { 0: 'source-over', 1: 'multiply', 2: 'screen', 3: 'overlay', 4: 'darken', 5: 'lighten', 6: 'color-dodge', 7: 'color-burn', 8: 'hard-light', 9: 'soft-light', 10: 'difference', 11: 'exclusion', 12: 'hue', 13: 'saturation', 14: 'color', 15: 'luminosity' }; return function (mode) { return blendModeEnums[mode] || ''; }; }(); function SliderEffect(data, elem, container) { this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container); } function AngleEffect(data, elem, container) { this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container); } function ColorEffect(data, elem, container) { this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container); } function PointEffect(data, elem, container) { this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container); } function LayerIndexEffect(data, elem, container) { this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container); } function MaskIndexEffect(data, elem, container) { this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container); } function CheckboxEffect(data, elem, container) { this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container); } function NoValueEffect() { this.p = {}; } function EffectsManager(data, element) { var effects = data.ef || []; this.effectElements = []; var i; var len = effects.length; var effectItem; for (i = 0; i < len; i += 1) { effectItem = new GroupEffect(effects[i], element); this.effectElements.push(effectItem); } } function GroupEffect(data, element) { this.init(data, element); } extendPrototype([DynamicPropertyContainer], GroupEffect); GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties; GroupEffect.prototype.init = function (data, element) { this.data = data; this.effectElements = []; this.initDynamicPropertyContainer(element); var i; var len = this.data.ef.length; var eff; var effects = this.data.ef; for (i = 0; i < len; i += 1) { eff = null; switch (effects[i].ty) { case 0: eff = new SliderEffect(effects[i], element, this); break; case 1: eff = new AngleEffect(effects[i], element, this); break; case 2: eff = new ColorEffect(effects[i], element, this); break; case 3: eff = new PointEffect(effects[i], element, this); break; case 4: case 7: eff = new CheckboxEffect(effects[i], element, this); break; case 10: eff = new LayerIndexEffect(effects[i], element, this); break; case 11: eff = new MaskIndexEffect(effects[i], element, this); break; case 5: eff = new EffectsManager(effects[i], element, this); break; // case 6: default: eff = new NoValueEffect(effects[i], element, this); break; } if (eff) { this.effectElements.push(eff); } } }; function BaseElement() {} BaseElement.prototype = { checkMasks: function checkMasks() { if (!this.data.hasMask) { return false; } var i = 0; var len = this.data.masksProperties.length; while (i < len) { if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) { return true; } i += 1; } return false; }, initExpressions: function initExpressions() { var expressionsInterfaces = getExpressionInterfaces(); if (!expressionsInterfaces) { return; } var LayerExpressionInterface = expressionsInterfaces('layer'); var EffectsExpressionInterface = expressionsInterfaces('effects'); var ShapeExpressionInterface = expressionsInterfaces('shape'); var TextExpressionInterface = expressionsInterfaces('text'); var CompExpressionInterface = expressionsInterfaces('comp'); this.layerInterface = LayerExpressionInterface(this); if (this.data.hasMask && this.maskManager) { this.layerInterface.registerMaskInterface(this.maskManager); } var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface); this.layerInterface.registerEffectsInterface(effectsInterface); if (this.data.ty === 0 || this.data.xt) { this.compInterface = CompExpressionInterface(this); } else if (this.data.ty === 4) { this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface); this.layerInterface.content = this.layerInterface.shapeInterface; } else if (this.data.ty === 5) { this.layerInterface.textInterface = TextExpressionInterface(this); this.layerInterface.text = this.layerInterface.textInterface; } }, setBlendMode: function setBlendMode() { var blendModeValue = getBlendMode(this.data.bm); var elem = this.baseElement || this.layerElement; elem.style['mix-blend-mode'] = blendModeValue; }, initBaseData: function initBaseData(data, globalData, comp) { this.globalData = globalData; this.comp = comp; this.data = data; this.layerId = createElementID(); // Stretch factor for old animations missing this property. if (!this.data.sr) { this.data.sr = 1; } // effects manager this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties); }, getType: function getType() { return this.type; }, sourceRectAtTime: function sourceRectAtTime() {} }; /** * @file * Handles element's layer frame update. * Checks layer in point and out point * */ function FrameElement() {} FrameElement.prototype = { /** * @function * Initializes frame related properties. * */ initFrame: function initFrame() { // set to true when inpoint is rendered this._isFirstFrame = false; // list of animated properties this.dynamicProperties = []; // If layer has been modified in current tick this will be true this._mdf = false; }, /** * @function * Calculates all dynamic values * * @param {number} num * current frame number in Layer's time * @param {boolean} isVisible * if layers is currently in range * */ prepareProperties: function prepareProperties(num, isVisible) { var i; var len = this.dynamicProperties.length; for (i = 0; i < len; i += 1) { if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') { this.dynamicProperties[i].getValue(); if (this.dynamicProperties[i]._mdf) { this.globalData._mdf = true; this._mdf = true; } } } }, addDynamicProperty: function addDynamicProperty(prop) { if (this.dynamicProperties.indexOf(prop) === -1) { this.dynamicProperties.push(prop); } } }; function FootageElement(data, globalData, comp) { this.initFrame(); this.initRenderable(); this.assetData = globalData.getAssetData(data.refId); this.footageData = globalData.imageLoader.getAsset(this.assetData); this.initBaseData(data, globalData, comp); } FootageElement.prototype.prepareFrame = function () {}; extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement); FootageElement.prototype.getBaseElement = function () { return null; }; FootageElement.prototype.renderFrame = function () {}; FootageElement.prototype.destroy = function () {}; FootageElement.prototype.initExpressions = function () { var expressionsInterfaces = getExpressionInterfaces(); if (!expressionsInterfaces) { return; } var FootageInterface = expressionsInterfaces('footage'); this.layerInterface = FootageInterface(this); }; FootageElement.prototype.getFootageData = function () { return this.footageData; }; function AudioElement(data, globalData, comp) { this.initFrame(); this.initRenderable(); this.assetData = globalData.getAssetData(data.refId); this.initBaseData(data, globalData, comp); this._isPlaying = false; this._canPlay = false; var assetPath = this.globalData.getAssetsPath(this.assetData); this.audio = this.globalData.audioController.createAudio(assetPath); this._currentTime = 0; this.globalData.audioController.addAudio(this); this._volumeMultiplier = 1; this._volume = 1; this._previousVolume = null; this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true }; this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : { k: [100] }, 1, 0.01, this); } AudioElement.prototype.prepareFrame = function (num) { this.prepareRenderableFrame(num, true); this.prepareProperties(num, true); if (!this.tm._placeholder) { var timeRemapped = this.tm.v; this._currentTime = timeRemapped; } else { this._currentTime = num / this.data.sr; } this._volume = this.lv.v[0]; var totalVolume = this._volume * this._volumeMultiplier; if (this._previousVolume !== totalVolume) { this._previousVolume = totalVolume; this.audio.volume(totalVolume); } }; extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement); AudioElement.prototype.renderFrame = function () { if (this.isInRange && this._canPlay) { if (!this._isPlaying) { this.audio.play(); this.audio.seek(this._currentTime / this.globalData.frameRate); this._isPlaying = true; } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) { this.audio.seek(this._currentTime / this.globalData.frameRate); } } }; AudioElement.prototype.show = function () {// this.audio.play() }; AudioElement.prototype.hide = function () { this.audio.pause(); this._isPlaying = false; }; AudioElement.prototype.pause = function () { this.audio.pause(); this._isPlaying = false; this._canPlay = false; }; AudioElement.prototype.resume = function () { this._canPlay = true; }; AudioElement.prototype.setRate = function (rateValue) { this.audio.rate(rateValue); }; AudioElement.prototype.volume = function (volumeValue) { this._volumeMultiplier = volumeValue; this._previousVolume = volumeValue * this._volume; this.audio.volume(this._previousVolume); }; AudioElement.prototype.getBaseElement = function () { return null; }; AudioElement.prototype.destroy = function () {}; AudioElement.prototype.sourceRectAtTime = function () {}; AudioElement.prototype.initExpressions = function () {}; function BaseRenderer() {} BaseRenderer.prototype.checkLayers = function (num) { var i; var len = this.layers.length; var data; this.completeLayers = true; for (i = len - 1; i >= 0; i -= 1) { if (!this.elements[i]) { data = this.layers[i]; if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) { this.buildItem(i); } } this.completeLayers = this.elements[i] ? this.completeLayers : false; } this.checkPendingElements(); }; BaseRenderer.prototype.createItem = function (layer) { switch (layer.ty) { case 2: return this.createImage(layer); case 0: return this.createComp(layer); case 1: return this.createSolid(layer); case 3: return this.createNull(layer); case 4: return this.createShape(layer); case 5: return this.createText(layer); case 6: return this.createAudio(layer); case 13: return this.createCamera(layer); case 15: return this.createFootage(layer); default: return this.createNull(layer); } }; BaseRenderer.prototype.createCamera = function () { throw new Error('You\'re using a 3d camera. Try the html renderer.'); }; BaseRenderer.prototype.createAudio = function (data) { return new AudioElement(data, this.globalData, this); }; BaseRenderer.prototype.createFootage = function (data) { return new FootageElement(data, this.globalData, this); }; BaseRenderer.prototype.buildAllItems = function () { var i; var len = this.layers.length; for (i = 0; i < len; i += 1) { this.buildItem(i); } this.checkPendingElements(); }; BaseRenderer.prototype.includeLayers = function (newLayers) { this.completeLayers = false; var i; var len = newLayers.length; var j; var jLen = this.layers.length; for (i = 0; i < len; i += 1) { j = 0; while (j < jLen) { if (this.layers[j].id === newLayers[i].id) { this.layers[j] = newLayers[i]; break; } j += 1; } } }; BaseRenderer.prototype.setProjectInterface = function (pInterface) { this.globalData.projectInterface = pInterface; }; BaseRenderer.prototype.initItems = function () { if (!this.globalData.progressiveLoad) { this.buildAllItems(); } }; BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) { var elements = this.elements; var layers = this.layers; var i = 0; var len = layers.length; while (i < len) { if (layers[i].ind == parentName) { // eslint-disable-line eqeqeq if (!elements[i] || elements[i] === true) { this.buildItem(i); this.addPendingElement(element); } else { hierarchy.push(elements[i]); elements[i].setAsParent(); if (layers[i].parent !== undefined) { this.buildElementParenting(element, layers[i].parent, hierarchy); } else { element.setHierarchy(hierarchy); } } } i += 1; } }; BaseRenderer.prototype.addPendingElement = function (element) { this.pendingElements.push(element); }; BaseRenderer.prototype.searchExtraCompositions = function (assets) { var i; var len = assets.length; for (i = 0; i < len; i += 1) { if (assets[i].xt) { var comp = this.createComp(assets[i]); comp.initExpressions(); this.globalData.projectInterface.registerComposition(comp); } } }; BaseRenderer.prototype.getElementById = function (ind) { var i; var len = this.elements.length; for (i = 0; i < len; i += 1) { if (this.elements[i].data.ind === ind) { return this.elements[i]; } } return null; }; BaseRenderer.prototype.getElementByPath = function (path) { var pathValue = path.shift(); var element; if (typeof pathValue === 'number') { element = this.elements[pathValue]; } else { var i; var len = this.elements.length; for (i = 0; i < len; i += 1) { if (this.elements[i].data.nm === pathValue) { element = this.elements[i]; break; } } } if (path.length === 0) { return element; } return element.getElementByPath(path); }; BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) { this.globalData.fontManager = new FontManager(); this.globalData.slotManager = slotFactory(animData); this.globalData.fontManager.addChars(animData.chars); this.globalData.fontManager.addFonts(animData.fonts, fontsContainer); this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem); this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem); this.globalData.imageLoader = this.animationItem.imagePreloader; this.globalData.audioController = this.animationItem.audioController; this.globalData.frameId = 0; this.globalData.frameRate = animData.fr; this.globalData.nm = animData.nm; this.globalData.compSize = { w: animData.w, h: animData.h }; }; var effectTypes = { TRANSFORM_EFFECT: 'transformEFfect' }; function TransformElement() {} TransformElement.prototype = { initTransform: function initTransform() { var mat = new Matrix(); this.finalTransform = { mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : { o: 0 }, _matMdf: false, _localMatMdf: false, _opMdf: false, mat: mat, localMat: mat, localOpacity: 1 }; if (this.data.ao) { this.finalTransform.mProp.autoOriented = true; } // TODO: check TYPE 11: Guided elements if (this.data.ty !== 11) {// this.createElements(); } }, renderTransform: function renderTransform() { this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame; this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame; if (this.hierarchy) { var mat; var finalMat = this.finalTransform.mat; var i = 0; var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed. if (!this.finalTransform._matMdf) { while (i < len) { if (this.hierarchy[i].finalTransform.mProp._mdf) { this.finalTransform._matMdf = true; break; } i += 1; } } if (this.finalTransform._matMdf) { mat = this.finalTransform.mProp.v.props; finalMat.cloneFromProps(mat); for (i = 0; i < len; i += 1) { finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v); } } } if (this.finalTransform._matMdf) { this.finalTransform._localMatMdf = this.finalTransform._matMdf; } if (this.finalTransform._opMdf) { this.finalTransform.localOpacity = this.finalTransform.mProp.o.v; } }, renderLocalTransform: function renderLocalTransform() { if (this.localTransforms) { var i = 0; var len = this.localTransforms.length; this.finalTransform._localMatMdf = this.finalTransform._matMdf; if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) { while (i < len) { if (this.localTransforms[i]._mdf) { this.finalTransform._localMatMdf = true; } if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) { this.finalTransform.localOpacity = this.finalTransform.mProp.o.v; this.finalTransform._opMdf = true; } i += 1; } } if (this.finalTransform._localMatMdf) { var localMat = this.finalTransform.localMat; this.localTransforms[0].matrix.clone(localMat); for (i = 1; i < len; i += 1) { var lmat = this.localTransforms[i].matrix; localMat.multiply(lmat); } localMat.multiply(this.finalTransform.mat); } if (this.finalTransform._opMdf) { var localOp = this.finalTransform.localOpacity; for (i = 0; i < len; i += 1) { localOp *= this.localTransforms[i].opacity * 0.01; } this.finalTransform.localOpacity = localOp; } } }, searchEffectTransforms: function searchEffectTransforms() { if (this.renderableEffectsManager) { var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT); if (transformEffects.length) { this.localTransforms = []; this.finalTransform.localMat = new Matrix(); var i = 0; var len = transformEffects.length; for (i = 0; i < len; i += 1) { this.localTransforms.push(transformEffects[i]); } } } }, globalToLocal: function globalToLocal(pt) { var transforms = []; transforms.push(this.finalTransform); var flag = true; var comp = this.comp; while (flag) { if (comp.finalTransform) { if (comp.data.hasMask) { transforms.splice(0, 0, comp.finalTransform); } comp = comp.comp; } else { flag = false; } } var i; var len = transforms.length; var ptNew; for (i = 0; i < len; i += 1) { ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]); pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0]; } return pt; }, mHelper: new Matrix() }; function MaskElement(data, element, globalData) { this.data = data; this.element = element; this.globalData = globalData; this.storedData = []; this.masksProperties = this.data.masksProperties || []; this.maskElement = null; var defs = this.globalData.defs; var i; var len = this.masksProperties ? this.masksProperties.length : 0; this.viewData = createSizedArray(len); this.solidPath = ''; var path; var properties = this.masksProperties; var count = 0; var currentMasks = []; var j; var jLen; var layerId = createElementID(); var rect; var expansor; var feMorph; var x; var maskType = 'clipPath'; var maskRef = 'clip-path'; for (i = 0; i < len; i += 1) { if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) { maskType = 'mask'; maskRef = 'mask'; } if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) { rect = createNS('rect'); rect.setAttribute('fill', '#ffffff'); rect.setAttribute('width', this.element.comp.data.w || 0); rect.setAttribute('height', this.element.comp.data.h || 0); currentMasks.push(rect); } else { rect = null; } path = createNS('path'); if (properties[i].mode === 'n') { // TODO move this to a factory or to a constructor this.viewData[i] = { op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element), prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3), elem: path, lastPath: '' }; defs.appendChild(path); } else { count += 1; path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff'); path.setAttribute('clip-rule', 'nonzero'); var filterID; if (properties[i].x.k !== 0) { maskType = 'mask'; maskRef = 'mask'; x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element); filterID = createElementID(); expansor = createNS('filter'); expansor.setAttribute('id', filterID); feMorph = createNS('feMorphology'); feMorph.setAttribute('operator', 'erode'); feMorph.setAttribute('in', 'SourceGraphic'); feMorph.setAttribute('radius', '0'); expansor.appendChild(feMorph); defs.appendChild(expansor); path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff'); } else { feMorph = null; x = null; } // TODO move this to a factory or to a constructor this.storedData[i] = { elem: path, x: x, expan: feMorph, lastPath: '', lastOperator: '', filterId: filterID, lastRadius: 0 }; if (properties[i].mode === 'i') { jLen = currentMasks.length; var g = createNS('g'); for (j = 0; j < jLen; j += 1) { g.appendChild(currentMasks[j]); } var mask = createNS('mask'); mask.setAttribute('mask-type', 'alpha'); mask.setAttribute('id', layerId + '_' + count); mask.appendChild(path); defs.appendChild(mask); g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')'); currentMasks.length = 0; currentMasks.push(g); } else { currentMasks.push(path); } if (properties[i].inv && !this.solidPath) { this.solidPath = this.createLayerSolidPath(); } // TODO move this to a factory or to a constructor this.viewData[i] = { elem: path, lastPath: '', op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element), prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3), invRect: rect }; if (!this.viewData[i].prop.k) { this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]); } } } this.maskElement = createNS(maskType); len = currentMasks.length; for (i = 0; i < len; i += 1) { this.maskElement.appendChild(currentMasks[i]); } if (count > 0) { this.maskElement.setAttribute('id', layerId); this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')'); defs.appendChild(this.maskElement); } if (this.viewData.length) { this.element.addRenderableComponent(this); } } MaskElement.prototype.getMaskProperty = function (pos) { return this.viewData[pos].prop; }; MaskElement.prototype.renderFrame = function (isFirstFrame) { var finalMat = this.element.finalTransform.mat; var i; var len = this.masksProperties.length; for (i = 0; i < len; i += 1) { if (this.viewData[i].prop._mdf || isFirstFrame) { this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]); } if (this.viewData[i].op._mdf || isFirstFrame) { this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v); } if (this.masksProperties[i].mode !== 'n') { if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) { this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS()); } if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) { var feMorph = this.storedData[i].expan; if (this.storedData[i].x.v < 0) { if (this.storedData[i].lastOperator !== 'erode') { this.storedData[i].lastOperator = 'erode'; this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')'); } feMorph.setAttribute('radius', -this.storedData[i].x.v); } else { if (this.storedData[i].lastOperator !== 'dilate') { this.storedData[i].lastOperator = 'dilate'; this.storedData[i].elem.setAttribute('filter', null); } this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2); } } } } }; MaskElement.prototype.getMaskelement = function () { return this.maskElement; }; MaskElement.prototype.createLayerSolidPath = function () { var path = 'M0,0 '; path += ' h' + this.globalData.compSize.w; path += ' v' + this.globalData.compSize.h; path += ' h-' + this.globalData.compSize.w; path += ' v-' + this.globalData.compSize.h + ' '; return path; }; MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) { var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1]; var i; var len; len = pathNodes._length; for (i = 1; i < len; i += 1) { // pathString += " C"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + " "+pathNodes.i[i][0]+','+pathNodes.i[i][1] + " "+pathNodes.v[i][0]+','+pathNodes.v[i][1]; pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1]; } // pathString += " C"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + " "+pathNodes.i[0][0]+','+pathNodes.i[0][1] + " "+pathNodes.v[0][0]+','+pathNodes.v[0][1]; if (pathNodes.c && len > 1) { pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1]; } // pathNodes.__renderedString = pathString; if (viewData.lastPath !== pathString) { var pathShapeValue = ''; if (viewData.elem) { if (pathNodes.c) { pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString; } viewData.elem.setAttribute('d', pathShapeValue); } viewData.lastPath = pathString; } }; MaskElement.prototype.destroy = function () { this.element = null; this.globalData = null; this.maskElement = null; this.data = null; this.masksProperties = null; }; var filtersFactory = function () { var ob = {}; ob.createFilter = createFilter; ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter; function createFilter(filId, skipCoordinates) { var fil = createNS('filter'); fil.setAttribute('id', filId); if (skipCoordinates !== true) { fil.setAttribute('filterUnits', 'objectBoundingBox'); fil.setAttribute('x', '0%'); fil.setAttribute('y', '0%'); fil.setAttribute('width', '100%'); fil.setAttribute('height', '100%'); } return fil; } function createAlphaToLuminanceFilter() { var feColorMatrix = createNS('feColorMatrix'); feColorMatrix.setAttribute('type', 'matrix'); feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB'); feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1'); return feColorMatrix; } return ob; }(); var featureSupport = function () { var ob = { maskType: true, svgLumaHidden: true, offscreenCanvas: typeof OffscreenCanvas !== 'undefined' }; if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\/\d./i.test(navigator.userAgent)) { ob.maskType = false; } if (/firefox/i.test(navigator.userAgent)) { ob.svgLumaHidden = false; } return ob; }(); var registeredEffects$1 = {}; var idPrefix = 'filter_result_'; function SVGEffects(elem) { var i; var source = 'SourceGraphic'; var len = elem.data.ef ? elem.data.ef.length : 0; var filId = createElementID(); var fil = filtersFactory.createFilter(filId, true); var count = 0; this.filters = []; var filterManager; for (i = 0; i < len; i += 1) { filterManager = null; var type = elem.data.ef[i].ty; if (registeredEffects$1[type]) { var Effect = registeredEffects$1[type].effect; filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source); source = idPrefix + count; if (registeredEffects$1[type].countsAsEffect) { count += 1; } } if (filterManager) { this.filters.push(filterManager); } } if (count) { elem.globalData.defs.appendChild(fil); elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')'); } if (this.filters.length) { elem.addRenderableComponent(this); } } SVGEffects.prototype.renderFrame = function (_isFirstFrame) { var i; var len = this.filters.length; for (i = 0; i < len; i += 1) { this.filters[i].renderFrame(_isFirstFrame); } }; SVGEffects.prototype.getEffects = function (type) { var i; var len = this.filters.length; var effects = []; for (i = 0; i < len; i += 1) { if (this.filters[i].type === type) { effects.push(this.filters[i]); } } return effects; }; function registerEffect$1(id, effect, countsAsEffect) { registeredEffects$1[id] = { effect: effect, countsAsEffect: countsAsEffect }; } function SVGBaseElement() {} SVGBaseElement.prototype = { initRendererElement: function initRendererElement() { this.layerElement = createNS('g'); }, createContainerElements: function createContainerElements() { this.matteElement = createNS('g'); this.transformedElement = this.layerElement; this.maskedElement = this.layerElement; this._sizeChanged = false; var layerElementParent = null; // If this layer acts as a mask for the following layer if (this.data.td) { this.matteMasks = {}; var gg = createNS('g'); gg.setAttribute('id', this.layerId); gg.appendChild(this.layerElement); layerElementParent = gg; this.globalData.defs.appendChild(gg); } else if (this.data.tt) { this.matteElement.appendChild(this.layerElement); layerElementParent = this.matteElement; this.baseElement = this.matteElement; } else { this.baseElement = this.layerElement; } if (this.data.ln) { this.layerElement.setAttribute('id', this.data.ln); } if (this.data.cl) { this.layerElement.setAttribute('class', this.data.cl); } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped if (this.data.ty === 0 && !this.data.hd) { var cp = createNS('clipPath'); var pt = createNS('path'); pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z'); var clipId = createElementID(); cp.setAttribute('id', clipId); cp.appendChild(pt); this.globalData.defs.appendChild(cp); if (this.checkMasks()) { var cpGroup = createNS('g'); cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')'); cpGroup.appendChild(this.layerElement); this.transformedElement = cpGroup; if (layerElementParent) { layerElementParent.appendChild(this.transformedElement); } else { this.baseElement = this.transformedElement; } } else { this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')'); } } if (this.data.bm !== 0) { this.setBlendMode(); } }, renderElement: function renderElement() { if (this.finalTransform._localMatMdf) { this.transformedElement.setAttribute('transform', this.finalTransform.localMat.to2dCSS()); } if (this.finalTransform._opMdf) { this.transformedElement.setAttribute('opacity', this.finalTransform.localOpacity); } }, destroyBaseElement: function destroyBaseElement() { this.layerElement = null; this.matteElement = null; this.maskManager.destroy(); }, getBaseElement: function getBaseElement() { if (this.data.hd) { return null; } return this.baseElement; }, createRenderableComponents: function createRenderableComponents() { this.maskManager = new MaskElement(this.data, this, this.globalData); this.renderableEffectsManager = new SVGEffects(this); this.searchEffectTransforms(); }, getMatte: function getMatte(matteType) { // This should not be a common case. But for backward compatibility, we'll create the matte object. // It solves animations that have two consecutive layers marked as matte masks. // Which is an undefined behavior in AE. if (!this.matteMasks) { this.matteMasks = {}; } if (!this.matteMasks[matteType]) { var id = this.layerId + '_' + matteType; var filId; var fil; var useElement; var gg; if (matteType === 1 || matteType === 3) { var masker = createNS('mask'); masker.setAttribute('id', id); masker.setAttribute('mask-type', matteType === 3 ? 'luminance' : 'alpha'); useElement = createNS('use'); useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId); masker.appendChild(useElement); this.globalData.defs.appendChild(masker); if (!featureSupport.maskType && matteType === 1) { masker.setAttribute('mask-type', 'luminance'); filId = createElementID(); fil = filtersFactory.createFilter(filId); this.globalData.defs.appendChild(fil); fil.appendChild(filtersFactory.createAlphaToLuminanceFilter()); gg = createNS('g'); gg.appendChild(useElement); masker.appendChild(gg); gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')'); } } else if (matteType === 2) { var maskGroup = createNS('mask'); maskGroup.setAttribute('id', id); maskGroup.setAttribute('mask-type', 'alpha'); var maskGrouper = createNS('g'); maskGroup.appendChild(maskGrouper); filId = createElementID(); fil = filtersFactory.createFilter(filId); /// / var feCTr = createNS('feComponentTransfer'); feCTr.setAttribute('in', 'SourceGraphic'); fil.appendChild(feCTr); var feFunc = createNS('feFuncA'); feFunc.setAttribute('type', 'table'); feFunc.setAttribute('tableValues', '1.0 0.0'); feCTr.appendChild(feFunc); /// / this.globalData.defs.appendChild(fil); var alphaRect = createNS('rect'); alphaRect.setAttribute('width', this.comp.data.w); alphaRect.setAttribute('height', this.comp.data.h); alphaRect.setAttribute('x', '0'); alphaRect.setAttribute('y', '0'); alphaRect.setAttribute('fill', '#ffffff'); alphaRect.setAttribute('opacity', '0'); maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')'); maskGrouper.appendChild(alphaRect); useElement = createNS('use'); useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId); maskGrouper.appendChild(useElement); if (!featureSupport.maskType) { maskGroup.setAttribute('mask-type', 'luminance'); fil.appendChild(filtersFactory.createAlphaToLuminanceFilter()); gg = createNS('g'); maskGrouper.appendChild(alphaRect); gg.appendChild(this.layerElement); maskGrouper.appendChild(gg); } this.globalData.defs.appendChild(maskGroup); } this.matteMasks[matteType] = id; } return this.matteMasks[matteType]; }, setMatte: function setMatte(id) { if (!this.matteElement) { return; } this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')'); } }; /** * @file * Handles AE's layer parenting property. * */ function HierarchyElement() {} HierarchyElement.prototype = { /** * @function * Initializes hierarchy properties * */ initHierarchy: function initHierarchy() { // element's parent list this.hierarchy = []; // if element is parent of another layer _isParent will be true this._isParent = false; this.checkParenting(); }, /** * @function * Sets layer's hierarchy. * @param {array} hierarch * layer's parent list * */ setHierarchy: function setHierarchy(hierarchy) { this.hierarchy = hierarchy; }, /** * @function * Sets layer as parent. * */ setAsParent: function setAsParent() { this._isParent = true; }, /** * @function * Searches layer's parenting chain * */ checkParenting: function checkParenting() { if (this.data.parent !== undefined) { this.comp.buildElementParenting(this, this.data.parent, []); } } }; function RenderableDOMElement() {} (function () { var _prototype = { initElement: function initElement(data, globalData, comp) { this.initFrame(); this.initBaseData(data, globalData, comp); this.initTransform(data, globalData, comp); this.initHierarchy(); this.initRenderable(); this.initRendererElement(); this.createContainerElements(); this.createRenderableComponents(); this.createContent(); this.hide(); }, hide: function hide() { // console.log('HIDE', this); if (!this.hidden && (!this.isInRange || this.isTransparent)) { var elem = this.baseElement || this.layerElement; elem.style.display = 'none'; this.hidden = true; } }, show: function show() { // console.log('SHOW', this); if (this.isInRange && !this.isTransparent) { if (!this.data.hd) { var elem = this.baseElement || this.layerElement; elem.style.display = 'block'; } this.hidden = false; this._isFirstFrame = true; } }, renderFrame: function renderFrame() { // If it is exported as hidden (data.hd === true) no need to render // If it is not visible no need to render if (this.data.hd || this.hidden) { return; } this.renderTransform(); this.renderRenderable(); this.renderLocalTransform(); this.renderElement(); this.renderInnerContent(); if (this._isFirstFrame) { this._isFirstFrame = false; } }, renderInnerContent: function renderInnerContent() {}, prepareFrame: function prepareFrame(num) { this._mdf = false; this.prepareRenderableFrame(num); this.prepareProperties(num, this.isInRange); this.checkTransparency(); }, destroy: function destroy() { this.innerElem = null; this.destroyBaseElement(); } }; extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement); })(); function IImageElement(data, globalData, comp) { this.assetData = globalData.getAssetData(data.refId); if (this.assetData && this.assetData.sid) { this.assetData = globalData.slotManager.getProp(this.assetData); } this.initElement(data, globalData, comp); this.sourceRect = { top: 0, left: 0, width: this.assetData.w, height: this.assetData.h }; } extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement); IImageElement.prototype.createContent = function () { var assetPath = this.globalData.getAssetsPath(this.assetData); this.innerElem = createNS('image'); this.innerElem.setAttribute('width', this.assetData.w + 'px'); this.innerElem.setAttribute('height', this.assetData.h + 'px'); this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio); this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath); this.layerElement.appendChild(this.innerElem); }; IImageElement.prototype.sourceRectAtTime = function () { return this.sourceRect; }; function ProcessedElement(element, position) { this.elem = element; this.pos = position; } function IShapeElement() {} IShapeElement.prototype = { addShapeToModifiers: function addShapeToModifiers(data) { var i; var len = this.shapeModifiers.length; for (i = 0; i < len; i += 1) { this.shapeModifiers[i].addShape(data); } }, isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) { var i = 0; var len = this.shapeModifiers.length; while (i < len) { if (this.shapeModifiers[i].isAnimatedWithShape(data)) { return true; } } return false; }, renderModifiers: function renderModifiers() { if (!this.shapeModifiers.length) { return; } var i; var len = this.shapes.length; for (i = 0; i < len; i += 1) { this.shapes[i].sh.reset(); } len = this.shapeModifiers.length; var shouldBreakProcess; for (i = len - 1; i >= 0; i -= 1) { shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice // TODO: find a better solution for this if (shouldBreakProcess) { break; } } }, searchProcessedElement: function searchProcessedElement(elem) { var elements = this.processedElements; var i = 0; var len = elements.length; while (i < len) { if (elements[i].elem === elem) { return elements[i].pos; } i += 1; } return 0; }, addProcessedElement: function addProcessedElement(elem, pos) { var elements = this.processedElements; var i = elements.length; while (i) { i -= 1; if (elements[i].elem === elem) { elements[i].pos = pos; return; } } elements.push(new ProcessedElement(elem, pos)); }, prepareFrame: function prepareFrame(num) { this.prepareRenderableFrame(num); this.prepareProperties(num, this.isInRange); } }; var lineCapEnum = { 1: 'butt', 2: 'round', 3: 'square' }; var lineJoinEnum = { 1: 'miter', 2: 'round', 3: 'bevel' }; function SVGShapeData(transformers, level, shape) { this.caches = []; this.styles = []; this.transformers = transformers; this.lStr = ''; this.sh = shape; this.lvl = level; // TODO find if there are some cases where _isAnimated can be false. // For now, since shapes add up with other shapes. They have to be calculated every time. // One way of finding out is checking if all styles associated to this shape depend only of this shape this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated var i = 0; var len = transformers.length; while (i < len) { if (transformers[i].mProps.dynamicProperties.length) { this._isAnimated = true; break; } i += 1; } } SVGShapeData.prototype.setAsAnimated = function () { this._isAnimated = true; }; function SVGStyleData(data, level) { this.data = data; this.type = data.ty; this.d = ''; this.lvl = level; this._mdf = false; this.closed = data.hd === true; this.pElem = createNS('path'); this.msElem = null; } SVGStyleData.prototype.reset = function () { this.d = ''; this._mdf = false; }; function DashProperty(elem, data, renderer, container) { this.elem = elem; this.frameId = -1; this.dataProps = createSizedArray(data.length); this.renderer = renderer; this.k = false; this.dashStr = ''; this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0); this.dashoffset = createTypedArray('float32', 1); this.initDynamicPropertyContainer(container); var i; var len = data.length || 0; var prop; for (i = 0; i < len; i += 1) { prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this); this.k = prop.k || this.k; this.dataProps[i] = { n: data[i].n, p: prop }; } if (!this.k) { this.getValue(true); } this._isAnimated = this.k; } DashProperty.prototype.getValue = function (forceRender) { if (this.elem.globalData.frameId === this.frameId && !forceRender) { return; } this.frameId = this.elem.globalData.frameId; this.iterateDynamicProperties(); this._mdf = this._mdf || forceRender; if (this._mdf) { var i = 0; var len = this.dataProps.length; if (this.renderer === 'svg') { this.dashStr = ''; } for (i = 0; i < len; i += 1) { if (this.dataProps[i].n !== 'o') { if (this.renderer === 'svg') { this.dashStr += ' ' + this.dataProps[i].p.v; } else { this.dashArray[i] = this.dataProps[i].p.v; } } else { this.dashoffset[0] = this.dataProps[i].p.v; } } } }; extendPrototype([DynamicPropertyContainer], DashProperty); function SVGStrokeStyleData(elem, data, styleOb) { this.initDynamicPropertyContainer(elem); this.getValue = this.iterateDynamicProperties; this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this); this.w = PropertyFactory.getProp(elem, data.w, 0, null, this); this.d = new DashProperty(elem, data.d || {}, 'svg', this); this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this); this.style = styleOb; this._isAnimated = !!this._isAnimated; } extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData); function SVGFillStyleData(elem, data, styleOb) { this.initDynamicPropertyContainer(elem); this.getValue = this.iterateDynamicProperties; this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this); this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this); this.style = styleOb; } extendPrototype([DynamicPropertyContainer], SVGFillStyleData); function SVGNoStyleData(elem, data, styleOb) { this.initDynamicPropertyContainer(elem); this.getValue = this.iterateDynamicProperties; this.style = styleOb; } extendPrototype([DynamicPropertyContainer], SVGNoStyleData); function GradientProperty(elem, data, container) { this.data = data; this.c = createTypedArray('uint8c', data.p * 4); var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4; this.o = createTypedArray('float32', cLength); this._cmdf = false; this._omdf = false; this._collapsable = this.checkCollapsable(); this._hasOpacity = cLength; this.initDynamicPropertyContainer(container); this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this); this.k = this.prop.k; this.getValue(true); } GradientProperty.prototype.comparePoints = function (values, points) { var i = 0; var len = this.o.length / 2; var diff; while (i < len) { diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]); if (diff > 0.01) { return false; } i += 1; } return true; }; GradientProperty.prototype.checkCollapsable = function () { if (this.o.length / 2 !== this.c.length / 4) { return false; } if (this.data.k.k[0].s) { var i = 0; var len = this.data.k.k.length; while (i < len) { if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) { return false; } i += 1; } } else if (!this.comparePoints(this.data.k.k, this.data.p)) { return false; } return true; }; GradientProperty.prototype.getValue = function (forceRender) { this.prop.getValue(); this._mdf = false; this._cmdf = false; this._omdf = false; if (this.prop._mdf || forceRender) { var i; var len = this.data.p * 4; var mult; var val; for (i = 0; i < len; i += 1) { mult = i % 4 === 0 ? 100 : 255; val = Math.round(this.prop.v[i] * mult); if (this.c[i] !== val) { this.c[i] = val; this._cmdf = !forceRender; } } if (this.o.length) { len = this.prop.v.length; for (i = this.data.p * 4; i < len; i += 1) { mult = i % 2 === 0 ? 100 : 1; val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i]; if (this.o[i - this.data.p * 4] !== val) { this.o[i - this.data.p * 4] = val; this._omdf = !forceRender; } } } this._mdf = !forceRender; } }; extendPrototype([DynamicPropertyContainer], GradientProperty); function SVGGradientFillStyleData(elem, data, styleOb) { this.initDynamicPropertyContainer(elem); this.getValue = this.iterateDynamicProperties; this.initGradientData(elem, data, styleOb); } SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) { this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this); this.s = PropertyFactory.getProp(elem, data.s, 1, null, this); this.e = PropertyFactory.getProp(elem, data.e, 1, null, this); this.h = PropertyFactory.getProp(elem, data.h || { k: 0 }, 0, 0.01, this); this.a = PropertyFactory.getProp(elem, data.a || { k: 0 }, 0, degToRads, this); this.g = new GradientProperty(elem, data.g, this); this.style = styleOb; this.stops = []; this.setGradientData(styleOb.pElem, data); this.setGradientOpacity(data, styleOb); this._isAnimated = !!this._isAnimated; }; SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) { var gradientId = createElementID(); var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient'); gfill.setAttribute('id', gradientId); gfill.setAttribute('spreadMethod', 'pad'); gfill.setAttribute('gradientUnits', 'userSpaceOnUse'); var stops = []; var stop; var j; var jLen; jLen = data.g.p * 4; for (j = 0; j < jLen; j += 4) { stop = createNS('stop'); gfill.appendChild(stop); stops.push(stop); } pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')'); this.gf = gfill; this.cst = stops; }; SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) { if (this.g._hasOpacity && !this.g._collapsable) { var stop; var j; var jLen; var mask = createNS('mask'); var maskElement = createNS('path'); mask.appendChild(maskElement); var opacityId = createElementID(); var maskId = createElementID(); mask.setAttribute('id', maskId); var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient'); opFill.setAttribute('id', opacityId); opFill.setAttribute('spreadMethod', 'pad'); opFill.setAttribute('gradientUnits', 'userSpaceOnUse'); jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length; var stops = this.stops; for (j = data.g.p * 4; j < jLen; j += 2) { stop = createNS('stop'); stop.setAttribute('stop-color', 'rgb(255,255,255)'); opFill.appendChild(stop); stops.push(stop); } maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')'); if (data.ty === 'gs') { maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]); maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]); if (data.lj === 1) { maskElement.setAttribute('stroke-miterlimit', data.ml); } } this.of = opFill; this.ms = mask; this.ost = stops; this.maskId = maskId; styleOb.msElem = maskElement; } }; extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData); function SVGGradientStrokeStyleData(elem, data, styleOb) { this.initDynamicPropertyContainer(elem); this.getValue = this.iterateDynamicProperties; this.w = PropertyFactory.getProp(elem, data.w, 0, null, this); this.d = new DashProperty(elem, data.d || {}, 'svg', this); this.initGradientData(elem, data, styleOb); this._isAnimated = !!this._isAnimated; } extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData); function ShapeGroupData() { this.it = []; this.prevViewData = []; this.gr = createNS('g'); } function SVGTransformData(mProps, op, container) { this.transform = { mProps: mProps, op: op, container: container }; this.elements = []; this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length; } var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) { if (length === 0) { return ''; } var _o = pathNodes.o; var _i = pathNodes.i; var _v = pathNodes.v; var i; var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]); for (i = 1; i < length; i += 1) { shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]); } if (closed && length) { shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]); shapeString += 'z'; } return shapeString; }; var SVGElementsRenderer = function () { var _identityMatrix = new Matrix(); var _matrixHelper = new Matrix(); var ob = { createRenderFunction: createRenderFunction }; function createRenderFunction(data) { switch (data.ty) { case 'fl': return renderFill; case 'gf': return renderGradient; case 'gs': return renderGradientStroke; case 'st': return renderStroke; case 'sh': case 'el': case 'rc': case 'sr': return renderPath; case 'tr': return renderContentTransform; case 'no': return renderNoop; default: return null; } } function renderContentTransform(styleData, itemData, isFirstFrame) { if (isFirstFrame || itemData.transform.op._mdf) { itemData.transform.container.setAttribute('opacity', itemData.transform.op.v); } if (isFirstFrame || itemData.transform.mProps._mdf) { itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS()); } } function renderNoop() {} function renderPath(styleData, itemData, isFirstFrame) { var j; var jLen; var pathStringTransformed; var redraw; var pathNodes; var l; var lLen = itemData.styles.length; var lvl = itemData.lvl; var paths; var mat; var iterations; var k; for (l = 0; l < lLen; l += 1) { redraw = itemData.sh._mdf || isFirstFrame; if (itemData.styles[l].lvl < lvl) { mat = _matrixHelper.reset(); iterations = lvl - itemData.styles[l].lvl; k = itemData.transformers.length - 1; while (!redraw && iterations > 0) { redraw = itemData.transformers[k].mProps._mdf || redraw; iterations -= 1; k -= 1; } if (redraw) { iterations = lvl - itemData.styles[l].lvl; k = itemData.transformers.length - 1; while (iterations > 0) { mat.multiply(itemData.transformers[k].mProps.v); iterations -= 1; k -= 1; } } } else { mat = _identityMatrix; } paths = itemData.sh.paths; jLen = paths._length; if (redraw) { pathStringTransformed = ''; for (j = 0; j < jLen; j += 1) { pathNodes = paths.shapes[j]; if (pathNodes && pathNodes._length) { pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat); } } itemData.caches[l] = pathStringTransformed; } else { pathStringTransformed = itemData.caches[l]; } itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed; itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf; } } function renderFill(styleData, itemData, isFirstFrame) { var styleElem = itemData.style; if (itemData.c._mdf || isFirstFrame) { styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')'); } if (itemData.o._mdf || isFirstFrame) { styleElem.pElem.setAttribute('fill-opacity', itemData.o.v); } } function renderGradientStroke(styleData, itemData, isFirstFrame) { renderGradient(styleData, itemData, isFirstFrame); renderStroke(styleData, itemData, isFirstFrame); } function renderGradient(styleData, itemData, isFirstFrame) { var gfill = itemData.gf; var hasOpacity = itemData.g._hasOpacity; var pt1 = itemData.s.v; var pt2 = itemData.e.v; if (itemData.o._mdf || isFirstFrame) { var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity'; itemData.style.pElem.setAttribute(attr, itemData.o.v); } if (itemData.s._mdf || isFirstFrame) { var attr1 = styleData.t === 1 ? 'x1' : 'cx'; var attr2 = attr1 === 'x1' ? 'y1' : 'cy'; gfill.setAttribute(attr1, pt1[0]); gfill.setAttribute(attr2, pt1[1]); if (hasOpacity && !itemData.g._collapsable) { itemData.of.setAttribute(attr1, pt1[0]); itemData.of.setAttribute(attr2, pt1[1]); } } var stops; var i; var len; var stop; if (itemData.g._cmdf || isFirstFrame) { stops = itemData.cst; var cValues = itemData.g.c; len = stops.length; for (i = 0; i < len; i += 1) { stop = stops[i]; stop.setAttribute('offset', cValues[i * 4] + '%'); stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')'); } } if (hasOpacity && (itemData.g._omdf || isFirstFrame)) { var oValues = itemData.g.o; if (itemData.g._collapsable) { stops = itemData.cst; } else { stops = itemData.ost; } len = stops.length; for (i = 0; i < len; i += 1) { stop = stops[i]; if (!itemData.g._collapsable) { stop.setAttribute('offset', oValues[i * 2] + '%'); } stop.setAttribute('stop-opacity', oValues[i * 2 + 1]); } } if (styleData.t === 1) { if (itemData.e._mdf || isFirstFrame) { gfill.setAttribute('x2', pt2[0]); gfill.setAttribute('y2', pt2[1]); if (hasOpacity && !itemData.g._collapsable) { itemData.of.setAttribute('x2', pt2[0]); itemData.of.setAttribute('y2', pt2[1]); } } } else { var rad; if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) { rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2)); gfill.setAttribute('r', rad); if (hasOpacity && !itemData.g._collapsable) { itemData.of.setAttribute('r', rad); } } if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) { if (!rad) { rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2)); } var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]); var percent = itemData.h.v; if (percent >= 1) { percent = 0.99; } else if (percent <= -1) { percent = -0.99; } var dist = rad * percent; var x = Math.cos(ang + itemData.a.v) * dist + pt1[0]; var y = Math.sin(ang + itemData.a.v) * dist + pt1[1]; gfill.setAttribute('fx', x); gfill.setAttribute('fy', y); if (hasOpacity && !itemData.g._collapsable) { itemData.of.setAttribute('fx', x); itemData.of.setAttribute('fy', y); } } // gfill.setAttribute('fy','200'); } } function renderStroke(styleData, itemData, isFirstFrame) { var styleElem = itemData.style; var d = itemData.d; if (d && (d._mdf || isFirstFrame) && d.dashStr) { styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr); styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]); } if (itemData.c && (itemData.c._mdf || isFirstFrame)) { styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')'); } if (itemData.o._mdf || isFirstFrame) { styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v); } if (itemData.w._mdf || isFirstFrame) { styleElem.pElem.setAttribute('stroke-width', itemData.w.v); if (styleElem.msElem) { styleElem.msElem.setAttribute('stroke-width', itemData.w.v); } } } return ob; }(); function SVGShapeElement(data, globalData, comp) { // List of drawable elements this.shapes = []; // Full shape data this.shapesData = data.shapes; // List of styles that will be applied to shapes this.stylesList = []; // List of modifiers that will be applied to shapes this.shapeModifiers = []; // List of items in shape tree this.itemsData = []; // List of items in previous shape tree this.processedElements = []; // List of animated components this.animatedContents = []; this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties. // List of elements that have been created this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties. } extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement); SVGShapeElement.prototype.initSecondaryElement = function () {}; SVGShapeElement.prototype.identityMatrix = new Matrix(); SVGShapeElement.prototype.buildExpressionInterface = function () {}; SVGShapeElement.prototype.createContent = function () { this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true); this.filterUniqueShapes(); }; /* This method searches for multiple shapes that affect a single element and one of them is animated */ SVGShapeElement.prototype.filterUniqueShapes = function () { var i; var len = this.shapes.length; var shape; var j; var jLen = this.stylesList.length; var style; var tempShapes = []; var areAnimated = false; for (j = 0; j < jLen; j += 1) { style = this.stylesList[j]; areAnimated = false; tempShapes.length = 0; for (i = 0; i < len; i += 1) { shape = this.shapes[i]; if (shape.styles.indexOf(style) !== -1) { tempShapes.push(shape); areAnimated = shape._isAnimated || areAnimated; } } if (tempShapes.length > 1 && areAnimated) { this.setShapesAsAnimated(tempShapes); } } }; SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) { var i; var len = shapes.length; for (i = 0; i < len; i += 1) { shapes[i].setAsAnimated(); } }; SVGShapeElement.prototype.createStyleElement = function (data, level) { // TODO: prevent drawing of hidden styles var elementData; var styleOb = new SVGStyleData(data, level); var pathElement = styleOb.pElem; if (data.ty === 'st') { elementData = new SVGStrokeStyleData(this, data, styleOb); } else if (data.ty === 'fl') { elementData = new SVGFillStyleData(this, data, styleOb); } else if (data.ty === 'gf' || data.ty === 'gs') { var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData; elementData = new GradientConstructor(this, data, styleOb); this.globalData.defs.appendChild(elementData.gf); if (elementData.maskId) { this.globalData.defs.appendChild(elementData.ms); this.globalData.defs.appendChild(elementData.of); pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')'); } } else if (data.ty === 'no') { elementData = new SVGNoStyleData(this, data, styleOb); } if (data.ty === 'st' || data.ty === 'gs') { pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]); pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]); pathElement.setAttribute('fill-opacity', '0'); if (data.lj === 1) { pathElement.setAttribute('stroke-miterlimit', data.ml); } } if (data.r === 2) { pathElement.setAttribute('fill-rule', 'evenodd'); } if (data.ln) { pathElement.setAttribute('id', data.ln); } if (data.cl) { pathElement.setAttribute('class', data.cl); } if (data.bm) { pathElement.style['mix-blend-mode'] = getBlendMode(data.bm); } this.stylesList.push(styleOb); this.addToAnimatedContents(data, elementData); return elementData; }; SVGShapeElement.prototype.createGroupElement = function (data) { var elementData = new ShapeGroupData(); if (data.ln) { elementData.gr.setAttribute('id', data.ln); } if (data.cl) { elementData.gr.setAttribute('class', data.cl); } if (data.bm) { elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm); } return elementData; }; SVGShapeElement.prototype.createTransformElement = function (data, container) { var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this); var elementData = new SVGTransformData(transformProperty, transformProperty.o, container); this.addToAnimatedContents(data, elementData); return elementData; }; SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) { var ty = 4; if (data.ty === 'rc') { ty = 5; } else if (data.ty === 'el') { ty = 6; } else if (data.ty === 'sr') { ty = 7; } var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this); var elementData = new SVGShapeData(ownTransformers, level, shapeProperty); this.shapes.push(elementData); this.addShapeToModifiers(elementData); this.addToAnimatedContents(data, elementData); return elementData; }; SVGShapeElement.prototype.addToAnimatedContents = function (data, element) { var i = 0; var len = this.animatedContents.length; while (i < len) { if (this.animatedContents[i].element === element) { return; } i += 1; } this.animatedContents.push({ fn: SVGElementsRenderer.createRenderFunction(data), element: element, data: data }); }; SVGShapeElement.prototype.setElementStyles = function (elementData) { var arr = elementData.styles; var j; var jLen = this.stylesList.length; for (j = 0; j < jLen; j += 1) { if (!this.stylesList[j].closed) { arr.push(this.stylesList[j]); } } }; SVGShapeElement.prototype.reloadShapes = function () { this._isFirstFrame = true; var i; var len = this.itemsData.length; for (i = 0; i < len; i += 1) { this.prevViewData[i] = this.itemsData[i]; } this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true); this.filterUniqueShapes(); len = this.dynamicProperties.length; for (i = 0; i < len; i += 1) { this.dynamicProperties[i].getValue(); } this.renderModifiers(); }; SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) { var ownTransformers = [].concat(transformers); var i; var len = arr.length - 1; var j; var jLen; var ownStyles = []; var ownModifiers = []; var currentTransform; var modifier; var processedPos; for (i = len; i >= 0; i -= 1) { processedPos = this.searchProcessedElement(arr[i]); if (!processedPos) { arr[i]._render = render; } else { itemsData[i] = prevViewData[processedPos - 1]; } if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') { if (!processedPos) { itemsData[i] = this.createStyleElement(arr[i], level); } else { itemsData[i].style.closed = false; } if (arr[i]._render) { if (itemsData[i].style.pElem.parentNode !== container) { container.appendChild(itemsData[i].style.pElem); } } ownStyles.push(itemsData[i].style); } else if (arr[i].ty === 'gr') { if (!processedPos) { itemsData[i] = this.createGroupElement(arr[i]); } else { jLen = itemsData[i].it.length; for (j = 0; j < jLen; j += 1) { itemsData[i].prevViewData[j] = itemsData[i].it[j]; } } this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render); if (arr[i]._render) { if (itemsData[i].gr.parentNode !== container) { container.appendChild(itemsData[i].gr); } } } else if (arr[i].ty === 'tr') { if (!processedPos) { itemsData[i] = this.createTransformElement(arr[i], container); } currentTransform = itemsData[i].transform; ownTransformers.push(currentTransform); } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') { if (!processedPos) { itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level); } this.setElementStyles(itemsData[i]); } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') { if (!processedPos) { modifier = ShapeModifiers.getModifier(arr[i].ty); modifier.init(this, arr[i]); itemsData[i] = modifier; this.shapeModifiers.push(modifier); } else { modifier = itemsData[i]; modifier.closed = false; } ownModifiers.push(modifier); } else if (arr[i].ty === 'rp') { if (!processedPos) { modifier = ShapeModifiers.getModifier(arr[i].ty); itemsData[i] = modifier; modifier.init(this, arr, i, itemsData); this.shapeModifiers.push(modifier); render = false; } else { modifier = itemsData[i]; modifier.closed = true; } ownModifiers.push(modifier); } this.addProcessedElement(arr[i], i + 1); } len = ownStyles.length; for (i = 0; i < len; i += 1) { ownStyles[i].closed = true; } len = ownModifiers.length; for (i = 0; i < len; i += 1) { ownModifiers[i].closed = true; } }; SVGShapeElement.prototype.renderInnerContent = function () { this.renderModifiers(); var i; var len = this.stylesList.length; for (i = 0; i < len; i += 1) { this.stylesList[i].reset(); } this.renderShape(); for (i = 0; i < len; i += 1) { if (this.stylesList[i]._mdf || this._isFirstFrame) { if (this.stylesList[i].msElem) { this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers this.stylesList[i].d = 'M0 0' + this.stylesList[i].d; } this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0'); } } }; SVGShapeElement.prototype.renderShape = function () { var i; var len = this.animatedContents.length; var animatedContent; for (i = 0; i < len; i += 1) { animatedContent = this.animatedContents[i]; if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) { animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame); } } }; SVGShapeElement.prototype.destroy = function () { this.destroyBaseElement(); this.shapesData = null; this.itemsData = null; }; function LetterProps(o, sw, sc, fc, m, p) { this.o = o; this.sw = sw; this.sc = sc; this.fc = fc; this.m = m; this.p = p; this._mdf = { o: true, sw: !!sw, sc: !!sc, fc: !!fc, m: true, p: true }; } LetterProps.prototype.update = function (o, sw, sc, fc, m, p) { this._mdf.o = false; this._mdf.sw = false; this._mdf.sc = false; this._mdf.fc = false; this._mdf.m = false; this._mdf.p = false; var updated = false; if (this.o !== o) { this.o = o; this._mdf.o = true; updated = true; } if (this.sw !== sw) { this.sw = sw; this._mdf.sw = true; updated = true; } if (this.sc !== sc) { this.sc = sc; this._mdf.sc = true; updated = true; } if (this.fc !== fc) { this.fc = fc; this._mdf.fc = true; updated = true; } if (this.m !== m) { this.m = m; this._mdf.m = true; updated = true; } if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) { this.p = p; this._mdf.p = true; updated = true; } return updated; }; function TextProperty(elem, data) { this._frameId = initialDefaultFrame; this.pv = ''; this.v = ''; this.kf = false; this._isFirstFrame = true; this._mdf = false; if (data.d && data.d.sid) { data.d = elem.globalData.slotManager.getProp(data.d); } this.data = data; this.elem = elem; this.comp = this.elem.comp; this.keysIndex = 0; this.canResize = false; this.minimumFontSize = 1; this.effectsSequence = []; this.currentData = { ascent: 0, boxWidth: this.defaultBoxWidth, f: '', fStyle: '', fWeight: '', fc: '', j: '', justifyOffset: '', l: [], lh: 0, lineWidths: [], ls: '', of: '', s: '', sc: '', sw: 0, t: 0, tr: 0, sz: 0, ps: null, fillColorAnim: false, strokeColorAnim: false, strokeWidthAnim: false, yOffset: 0, finalSize: 0, finalText: [], finalLineHeight: 0, __complete: false }; this.copyData(this.currentData, this.data.d.k[0].s); if (!this.searchProperty()) { this.completeTextData(this.currentData); } } TextProperty.prototype.defaultBoxWidth = [0, 0]; TextProperty.prototype.copyData = function (obj, data) { for (var s in data) { if (Object.prototype.hasOwnProperty.call(data, s)) { obj[s] = data[s]; } } return obj; }; TextProperty.prototype.setCurrentData = function (data) { if (!data.__complete) { this.completeTextData(data); } this.currentData = data; this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth; this._mdf = true; }; TextProperty.prototype.searchProperty = function () { return this.searchKeyframes(); }; TextProperty.prototype.searchKeyframes = function () { this.kf = this.data.d.k.length > 1; if (this.kf) { this.addEffect(this.getKeyframeValue.bind(this)); } return this.kf; }; TextProperty.prototype.addEffect = function (effectFunction) { this.effectsSequence.push(effectFunction); this.elem.addDynamicProperty(this); }; TextProperty.prototype.getValue = function (_finalValue) { if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) { return; } this.currentData.t = this.data.d.k[this.keysIndex].s.t; var currentValue = this.currentData; var currentIndex = this.keysIndex; if (this.lock) { this.setCurrentData(this.currentData); return; } this.lock = true; this._mdf = false; var i; var len = this.effectsSequence.length; var finalValue = _finalValue || this.data.d.k[this.keysIndex].s; for (i = 0; i < len; i += 1) { // Checking if index changed to prevent creating a new object every time the expression updates. if (currentIndex !== this.keysIndex) { finalValue = this.effectsSequence[i](finalValue, finalValue.t); } else { finalValue = this.effectsSequence[i](this.currentData, finalValue.t); } } if (currentValue !== finalValue) { this.setCurrentData(finalValue); } this.v = this.currentData; this.pv = this.v; this.lock = false; this.frameId = this.elem.globalData.frameId; }; TextProperty.prototype.getKeyframeValue = function () { var textKeys = this.data.d.k; var frameNum = this.elem.comp.renderedFrame; var i = 0; var len = textKeys.length; while (i <= len - 1) { if (i === len - 1 || textKeys[i + 1].t > frameNum) { break; } i += 1; } if (this.keysIndex !== i) { this.keysIndex = i; } return this.data.d.k[this.keysIndex].s; }; TextProperty.prototype.buildFinalText = function (text) { var charactersArray = []; var i = 0; var len = text.length; var charCode; var secondCharCode; var shouldCombine = false; var shouldCombineNext = false; var currentChars = ''; while (i < len) { shouldCombine = shouldCombineNext; shouldCombineNext = false; charCode = text.charCodeAt(i); currentChars = text.charAt(i); if (FontManager.isCombinedCharacter(charCode)) { shouldCombine = true; // It's a potential surrogate pair (this is the High surrogate) } else if (charCode >= 0xD800 && charCode <= 0xDBFF) { if (FontManager.isRegionalFlag(text, i)) { currentChars = text.substr(i, 14); } else { secondCharCode = text.charCodeAt(i + 1); // It's a surrogate pair (this is the Low surrogate) if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) { if (FontManager.isModifier(charCode, secondCharCode)) { currentChars = text.substr(i, 2); shouldCombine = true; } else if (FontManager.isFlagEmoji(text.substr(i, 4))) { currentChars = text.substr(i, 4); } else { currentChars = text.substr(i, 2); } } } } else if (charCode > 0xDBFF) { secondCharCode = text.charCodeAt(i + 1); if (FontManager.isVariationSelector(charCode)) { shouldCombine = true; } } else if (FontManager.isZeroWidthJoiner(charCode)) { shouldCombine = true; shouldCombineNext = true; } if (shouldCombine) { charactersArray[charactersArray.length - 1] += currentChars; shouldCombine = false; } else { charactersArray.push(currentChars); } i += currentChars.length; } return charactersArray; }; TextProperty.prototype.completeTextData = function (documentData) { documentData.__complete = true; var fontManager = this.elem.globalData.fontManager; var data = this.data; var letters = []; var i; var len; var newLineFlag; var index = 0; var val; var anchorGrouping = data.m.g; var currentSize = 0; var currentPos = 0; var currentLine = 0; var lineWidths = []; var lineWidth = 0; var maxLineWidth = 0; var j; var jLen; var fontData = fontManager.getFontByName(documentData.f); var charData; var cLength = 0; var fontProps = getFontProperties(fontData); documentData.fWeight = fontProps.weight; documentData.fStyle = fontProps.style; documentData.finalSize = documentData.s; documentData.finalText = this.buildFinalText(documentData.t); len = documentData.finalText.length; documentData.finalLineHeight = documentData.lh; var trackingOffset = documentData.tr / 1000 * documentData.finalSize; var charCode; if (documentData.sz) { var flag = true; var boxWidth = documentData.sz[0]; var boxHeight = documentData.sz[1]; var currentHeight; var finalText; while (flag) { finalText = this.buildFinalText(documentData.t); currentHeight = 0; lineWidth = 0; len = finalText.length; trackingOffset = documentData.tr / 1000 * documentData.finalSize; var lastSpaceIndex = -1; for (i = 0; i < len; i += 1) { charCode = finalText[i].charCodeAt(0); newLineFlag = false; if (finalText[i] === ' ') { lastSpaceIndex = i; } else if (charCode === 13 || charCode === 3) { lineWidth = 0; newLineFlag = true; currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2; } if (fontManager.chars) { charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily); cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100; } else { // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily; cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize); } if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') { if (lastSpaceIndex === -1) { len += 1; } else { i = lastSpaceIndex; } currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2; finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\r'); // finalText = finalText.substr(0,i) + "\r" + finalText.substr(i === lastSpaceIndex ? i + 1 : i); lastSpaceIndex = -1; lineWidth = 0; } else { lineWidth += cLength; lineWidth += trackingOffset; } } currentHeight += fontData.ascent * documentData.finalSize / 100; if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) { documentData.finalSize -= 1; documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s; } else { documentData.finalText = finalText; len = documentData.finalText.length; flag = false; } } } lineWidth = -trackingOffset; cLength = 0; var uncollapsedSpaces = 0; var currentChar; for (i = 0; i < len; i += 1) { newLineFlag = false; currentChar = documentData.finalText[i]; charCode = currentChar.charCodeAt(0); if (charCode === 13 || charCode === 3) { uncollapsedSpaces = 0; lineWidths.push(lineWidth); maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth; lineWidth = -2 * trackingOffset; val = ''; newLineFlag = true; currentLine += 1; } else { val = currentChar; } if (fontManager.chars) { charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily); cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100; } else { // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize); // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily; cLength = fontManager.measureText(val, documentData.f, documentData.finalSize); } // if (currentChar === ' ') { uncollapsedSpaces += cLength + trackingOffset; } else { lineWidth += cLength + trackingOffset + uncollapsedSpaces; uncollapsedSpaces = 0; } letters.push({ l: cLength, an: cLength, add: currentSize, n: newLineFlag, anIndexes: [], val: val, line: currentLine, animatorJustifyOffset: 0 }); if (anchorGrouping == 2) { // eslint-disable-line eqeqeq currentSize += cLength; if (val === '' || val === ' ' || i === len - 1) { if (val === '' || val === ' ') { currentSize -= cLength; } while (currentPos <= i) { letters[currentPos].an = currentSize; letters[currentPos].ind = index; letters[currentPos].extra = cLength; currentPos += 1; } index += 1; currentSize = 0; } } else if (anchorGrouping == 3) { // eslint-disable-line eqeqeq currentSize += cLength; if (val === '' || i === len - 1) { if (val === '') { currentSize -= cLength; } while (currentPos <= i) { letters[currentPos].an = currentSize; letters[currentPos].ind = index; letters[currentPos].extra = cLength; currentPos += 1; } currentSize = 0; index += 1; } } else { letters[index].ind = index; letters[index].extra = 0; index += 1; } } documentData.l = letters; maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth; lineWidths.push(lineWidth); if (documentData.sz) { documentData.boxWidth = documentData.sz[0]; documentData.justifyOffset = 0; } else { documentData.boxWidth = maxLineWidth; switch (documentData.j) { case 1: documentData.justifyOffset = -documentData.boxWidth; break; case 2: documentData.justifyOffset = -documentData.boxWidth / 2; break; default: documentData.justifyOffset = 0; } } documentData.lineWidths = lineWidths; var animators = data.a; var animatorData; var letterData; jLen = animators.length; var based; var ind; var indexes = []; for (j = 0; j < jLen; j += 1) { animatorData = animators[j]; if (animatorData.a.sc) { documentData.strokeColorAnim = true; } if (animatorData.a.sw) { documentData.strokeWidthAnim = true; } if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) { documentData.fillColorAnim = true; } ind = 0; based = animatorData.s.b; for (i = 0; i < len; i += 1) { letterData = letters[i]; letterData.anIndexes[j] = ind; if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) { // eslint-disable-line eqeqeq if (animatorData.s.rn === 1) { indexes.push(ind); } ind += 1; } } data.a[j].s.totalChars = ind; var currentInd = -1; var newInd; if (animatorData.s.rn === 1) { for (i = 0; i < len; i += 1) { letterData = letters[i]; if (currentInd != letterData.anIndexes[j]) { // eslint-disable-line eqeqeq currentInd = letterData.anIndexes[j]; newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0]; } letterData.anIndexes[j] = newInd; } } } documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2; documentData.ls = documentData.ls || 0; documentData.ascent = fontData.ascent * documentData.finalSize / 100; }; TextProperty.prototype.updateDocumentData = function (newData, index) { index = index === undefined ? this.keysIndex : index; var dData = this.copyData({}, this.data.d.k[index].s); dData = this.copyData(dData, newData); this.data.d.k[index].s = dData; this.recalculate(index); this.setCurrentData(dData); this.elem.addDynamicProperty(this); }; TextProperty.prototype.recalculate = function (index) { var dData = this.data.d.k[index].s; dData.__complete = false; this.keysIndex = 0; this._isFirstFrame = true; this.getValue(dData); }; TextProperty.prototype.canResizeFont = function (_canResize) { this.canResize = _canResize; this.recalculate(this.keysIndex); this.elem.addDynamicProperty(this); }; TextProperty.prototype.setMinimumFontSize = function (_fontValue) { this.minimumFontSize = Math.floor(_fontValue) || 1; this.recalculate(this.keysIndex); this.elem.addDynamicProperty(this); }; var TextSelectorProp = function () { var max = Math.max; var min = Math.min; var floor = Math.floor; function TextSelectorPropFactory(elem, data) { this._currentTextLength = -1; this.k = false; this.data = data; this.elem = elem; this.comp = elem.comp; this.finalS = 0; this.finalE = 0; this.initDynamicPropertyContainer(elem); this.s = PropertyFactory.getProp(elem, data.s || { k: 0 }, 0, 0, this); if ('e' in data) { this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this); } else { this.e = { v: 100 }; } this.o = PropertyFactory.getProp(elem, data.o || { k: 0 }, 0, 0, this); this.xe = PropertyFactory.getProp(elem, data.xe || { k: 0 }, 0, 0, this); this.ne = PropertyFactory.getProp(elem, data.ne || { k: 0 }, 0, 0, this); this.sm = PropertyFactory.getProp(elem, data.sm || { k: 100 }, 0, 0, this); this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this); if (!this.dynamicProperties.length) { this.getValue(); } } TextSelectorPropFactory.prototype = { getMult: function getMult(ind) { if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) { this.getValue(); } var x1 = 0; var y1 = 0; var x2 = 1; var y2 = 1; if (this.ne.v > 0) { x1 = this.ne.v / 100.0; } else { y1 = -this.ne.v / 100.0; } if (this.xe.v > 0) { x2 = 1.0 - this.xe.v / 100.0; } else { y2 = 1.0 + this.xe.v / 100.0; } var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get; var mult = 0; var s = this.finalS; var e = this.finalE; var type = this.data.sh; if (type === 2) { if (e === s) { mult = ind >= e ? 1 : 0; } else { mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1)); } mult = easer(mult); } else if (type === 3) { if (e === s) { mult = ind >= e ? 0 : 1; } else { mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1)); } mult = easer(mult); } else if (type === 4) { if (e === s) { mult = 0; } else { mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1)); if (mult < 0.5) { mult *= 2; } else { mult = 1 - 2 * (mult - 0.5); } } mult = easer(mult); } else if (type === 5) { if (e === s) { mult = 0; } else { var tot = e - s; /* ind += 0.5; mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */ ind = min(max(0, ind + 0.5 - s), e - s); var x = -tot / 2 + ind; var a = tot / 2; mult = Math.sqrt(1 - x * x / (a * a)); } mult = easer(mult); } else if (type === 6) { if (e === s) { mult = 0; } else { ind = min(max(0, ind + 0.5 - s), e - s); mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line } mult = easer(mult); } else { if (ind >= floor(s)) { if (ind - s < 0) { mult = max(0, min(min(e, 1) - (s - ind), 1)); } else { mult = max(0, min(e - ind, 1)); } } mult = easer(mult); } // Smoothness implementation. // The smoothness represents a reduced range of the original [0; 1] range. // if smoothness is 25%, the new range will be [0.375; 0.625] // Steps are: // - find the lower value of the new range (threshold) // - if multiplier is smaller than that value, floor it to 0 // - if it is larger, // - subtract the threshold // - divide it by the smoothness (this will return the range to [0; 1]) // Note: If it doesn't work on some scenarios, consider applying it before the easer. if (this.sm.v !== 100) { var smoothness = this.sm.v * 0.01; if (smoothness === 0) { smoothness = 0.00000001; } var threshold = 0.5 - smoothness * 0.5; if (mult < threshold) { mult = 0; } else { mult = (mult - threshold) / smoothness; if (mult > 1) { mult = 1; } } } return mult * this.a.v; }, getValue: function getValue(newCharsFlag) { this.iterateDynamicProperties(); this._mdf = newCharsFlag || this._mdf; this._currentTextLength = this.elem.textProperty.currentData.l.length || 0; if (newCharsFlag && this.data.r === 2) { this.e.v = this._currentTextLength; } var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars; var o = this.o.v / divisor; var s = this.s.v / divisor + o; var e = this.e.v / divisor + o; if (s > e) { var _s = s; s = e; e = _s; } this.finalS = s; this.finalE = e; } }; extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory); function getTextSelectorProp(elem, data, arr) { return new TextSelectorPropFactory(elem, data, arr); } return { getTextSelectorProp: getTextSelectorProp }; }(); function TextAnimatorDataProperty(elem, animatorProps, container) { var defaultData = { propType: false }; var getProp = PropertyFactory.getProp; var textAnimatorAnimatables = animatorProps.a; this.a = { r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData, rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData, ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData, sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData, sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData, s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData, a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData, o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData, p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData, sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData, sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData, fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData, fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData, fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData, fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData, t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData }; this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container); this.s.t = animatorProps.s.t; } function TextAnimatorProperty(textData, renderType, elem) { this._isFirstFrame = true; this._hasMaskedPath = false; this._frameId = -1; this._textData = textData; this._renderType = renderType; this._elem = elem; this._animatorsData = createSizedArray(this._textData.a.length); this._pathData = {}; this._moreOptions = { alignment: {} }; this.renderedLetters = []; this.lettersChangedFlag = false; this.initDynamicPropertyContainer(elem); } TextAnimatorProperty.prototype.searchProperties = function () { var i; var len = this._textData.a.length; var animatorProps; var getProp = PropertyFactory.getProp; for (i = 0; i < len; i += 1) { animatorProps = this._textData.a[i]; this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this); } if (this._textData.p && 'm' in this._textData.p) { this._pathData = { a: getProp(this._elem, this._textData.p.a, 0, 0, this), f: getProp(this._elem, this._textData.p.f, 0, 0, this), l: getProp(this._elem, this._textData.p.l, 0, 0, this), r: getProp(this._elem, this._textData.p.r, 0, 0, this), p: getProp(this._elem, this._textData.p.p, 0, 0, this), m: this._elem.maskManager.getMaskProperty(this._textData.p.m) }; this._hasMaskedPath = true; } else { this._hasMaskedPath = false; } this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this); }; TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) { this.lettersChangedFlag = lettersChangedFlag; if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) { return; } this._isFirstFrame = false; var alignment = this._moreOptions.alignment.v; var animators = this._animatorsData; var textData = this._textData; var matrixHelper = this.mHelper; var renderType = this._renderType; var renderedLettersCount = this.renderedLetters.length; var xPos; var yPos; var i; var len; var letters = documentData.l; var pathInfo; var currentLength; var currentPoint; var segmentLength; var flag; var pointInd; var segmentInd; var prevPoint; var points; var segments; var partialLength; var totalLength; var perc; var tanAngle; var mask; if (this._hasMaskedPath) { mask = this._pathData.m; if (!this._pathData.n || this._pathData._mdf) { var paths = mask.v; if (this._pathData.r.v) { paths = paths.reverse(); } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi pathInfo = { tLength: 0, segments: [] }; len = paths._length - 1; var bezierData; totalLength = 0; for (i = 0; i < len; i += 1) { bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]); pathInfo.tLength += bezierData.segmentLength; pathInfo.segments.push(bezierData); totalLength += bezierData.segmentLength; } i = len; if (mask.v.c) { bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]); pathInfo.tLength += bezierData.segmentLength; pathInfo.segments.push(bezierData); totalLength += bezierData.segmentLength; } this._pathData.pi = pathInfo; } pathInfo = this._pathData.pi; currentLength = this._pathData.f.v; segmentInd = 0; pointInd = 1; segmentLength = 0; flag = true; segments = pathInfo.segments; if (currentLength < 0 && mask.v.c) { if (pathInfo.tLength < Math.abs(currentLength)) { currentLength = -Math.abs(currentLength) % pathInfo.tLength; } segmentInd = segments.length - 1; points = segments[segmentInd].points; pointInd = points.length - 1; while (currentLength < 0) { currentLength += points[pointInd].partialLength; pointInd -= 1; if (pointInd < 0) { segmentInd -= 1; points = segments[segmentInd].points; pointInd = points.length - 1; } } } points = segments[segmentInd].points; prevPoint = points[pointInd - 1]; currentPoint = points[pointInd]; partialLength = currentPoint.partialLength; } len = letters.length; xPos = 0; yPos = 0; var yOff = documentData.finalSize * 1.2 * 0.714; var firstLine = true; var animatorProps; var animatorSelector; var j; var jLen; var letterValue; jLen = animators.length; var mult; var ind = -1; var offf; var xPathPos; var yPathPos; var initPathPos = currentLength; var initSegmentInd = segmentInd; var initPointInd = pointInd; var currentLine = -1; var elemOpacity; var sc; var sw; var fc; var k; var letterSw; var letterSc; var letterFc; var letterM = ''; var letterP = this.defaultPropsArray; var letterO; // if (documentData.j === 2 || documentData.j === 1) { var animatorJustifyOffset = 0; var animatorFirstCharOffset = 0; var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1; var lastIndex = 0; var isNewLine = true; for (i = 0; i < len; i += 1) { if (letters[i].n) { if (animatorJustifyOffset) { animatorJustifyOffset += animatorFirstCharOffset; } while (lastIndex < i) { letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset; lastIndex += 1; } animatorJustifyOffset = 0; isNewLine = true; } else { for (j = 0; j < jLen; j += 1) { animatorProps = animators[j].a; if (animatorProps.t.propType) { if (isNewLine && documentData.j === 2) { animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult; } animatorSelector = animators[j].s; mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); if (mult.length) { animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult; } else { animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult; } } } isNewLine = false; } } if (animatorJustifyOffset) { animatorJustifyOffset += animatorFirstCharOffset; } while (lastIndex < i) { letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset; lastIndex += 1; } } // for (i = 0; i < len; i += 1) { matrixHelper.reset(); elemOpacity = 1; if (letters[i].n) { xPos = 0; yPos += documentData.yOffset; yPos += firstLine ? 1 : 0; currentLength = initPathPos; firstLine = false; if (this._hasMaskedPath) { segmentInd = initSegmentInd; pointInd = initPointInd; points = segments[segmentInd].points; prevPoint = points[pointInd - 1]; currentPoint = points[pointInd]; partialLength = currentPoint.partialLength; segmentLength = 0; } letterM = ''; letterFc = ''; letterSw = ''; letterO = ''; letterP = this.defaultPropsArray; } else { if (this._hasMaskedPath) { if (currentLine !== letters[i].line) { switch (documentData.j) { case 1: currentLength += totalLength - documentData.lineWidths[letters[i].line]; break; case 2: currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2; break; default: break; } currentLine = letters[i].line; } if (ind !== letters[i].ind) { if (letters[ind]) { currentLength += letters[ind].extra; } currentLength += letters[i].an / 2; ind = letters[i].ind; } currentLength += alignment[0] * letters[i].an * 0.005; var animatorOffset = 0; for (j = 0; j < jLen; j += 1) { animatorProps = animators[j].a; if (animatorProps.p.propType) { animatorSelector = animators[j].s; mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); if (mult.length) { animatorOffset += animatorProps.p.v[0] * mult[0]; } else { animatorOffset += animatorProps.p.v[0] * mult; } } if (animatorProps.a.propType) { animatorSelector = animators[j].s; mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); if (mult.length) { animatorOffset += animatorProps.a.v[0] * mult[0]; } else { animatorOffset += animatorProps.a.v[0] * mult; } } } flag = true; // Force alignment only works with a single line for now if (this._pathData.a.v) { currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1); currentLength += this._pathData.f.v; } while (flag) { if (segmentLength + partialLength >= currentLength + animatorOffset || !points) { perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength; xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc; yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc; matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01); flag = false; } else if (points) { segmentLength += currentPoint.partialLength; pointInd += 1; if (pointInd >= points.length) { pointInd = 0; segmentInd += 1; if (!segments[segmentInd]) { if (mask.v.c) { pointInd = 0; segmentInd = 0; points = segments[segmentInd].points; } else { segmentLength -= currentPoint.partialLength; points = null; } } else { points = segments[segmentInd].points; } } if (points) { prevPoint = currentPoint; currentPoint = points[pointInd]; partialLength = currentPoint.partialLength; } } } offf = letters[i].an / 2 - letters[i].add; matrixHelper.translate(-offf, 0, 0); } else { offf = letters[i].an / 2 - letters[i].add; matrixHelper.translate(-offf, 0, 0); // Grouping alignment matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0); } for (j = 0; j < jLen; j += 1) { animatorProps = animators[j].a; if (animatorProps.t.propType) { animatorSelector = animators[j].s; mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean "isNewLine" if (xPos !== 0 || documentData.j !== 0) { if (this._hasMaskedPath) { if (mult.length) { currentLength += animatorProps.t.v * mult[0]; } else { currentLength += animatorProps.t.v * mult; } } else if (mult.length) { xPos += animatorProps.t.v * mult[0]; } else { xPos += animatorProps.t.v * mult; } } } } if (documentData.strokeWidthAnim) { sw = documentData.sw || 0; } if (documentData.strokeColorAnim) { if (documentData.sc) { sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]]; } else { sc = [0, 0, 0]; } } if (documentData.fillColorAnim && documentData.fc) { fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]]; } for (j = 0; j < jLen; j += 1) { animatorProps = animators[j].a; if (animatorProps.a.propType) { animatorSelector = animators[j].s; mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); if (mult.length) { matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]); } else { matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult); } } } for (j = 0; j < jLen; j += 1) { animatorProps = animators[j].a; if (animatorProps.s.propType) { animatorSelector = animators[j].s; mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); if (mult.length) { matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1); } else { matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1); } } } for (j = 0; j < jLen; j += 1) { animatorProps = animators[j].a; animatorSelector = animators[j].s; mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); if (animatorProps.sk.propType) { if (mult.length) { matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]); } else { matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult); } } if (animatorProps.r.propType) { if (mult.length) { matrixHelper.rotateZ(-animatorProps.r.v * mult[2]); } else { matrixHelper.rotateZ(-animatorProps.r.v * mult); } } if (animatorProps.ry.propType) { if (mult.length) { matrixHelper.rotateY(animatorProps.ry.v * mult[1]); } else { matrixHelper.rotateY(animatorProps.ry.v * mult); } } if (animatorProps.rx.propType) { if (mult.length) { matrixHelper.rotateX(animatorProps.rx.v * mult[0]); } else { matrixHelper.rotateX(animatorProps.rx.v * mult); } } if (animatorProps.o.propType) { if (mult.length) { elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0]; } else { elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult; } } if (documentData.strokeWidthAnim && animatorProps.sw.propType) { if (mult.length) { sw += animatorProps.sw.v * mult[0]; } else { sw += animatorProps.sw.v * mult; } } if (documentData.strokeColorAnim && animatorProps.sc.propType) { for (k = 0; k < 3; k += 1) { if (mult.length) { sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0]; } else { sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult; } } } if (documentData.fillColorAnim && documentData.fc) { if (animatorProps.fc.propType) { for (k = 0; k < 3; k += 1) { if (mult.length) { fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0]; } else { fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult; } } } if (animatorProps.fh.propType) { if (mult.length) { fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]); } else { fc = addHueToRGB(fc, animatorProps.fh.v * mult); } } if (animatorProps.fs.propType) { if (mult.length) { fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]); } else { fc = addSaturationToRGB(fc, animatorProps.fs.v * mult); } } if (animatorProps.fb.propType) { if (mult.length) { fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]); } else { fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult); } } } } for (j = 0; j < jLen; j += 1) { animatorProps = animators[j].a; if (animatorProps.p.propType) { animatorSelector = animators[j].s; mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); if (this._hasMaskedPath) { if (mult.length) { matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]); } else { matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult); } } else if (mult.length) { matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]); } else { matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult); } } } if (documentData.strokeWidthAnim) { letterSw = sw < 0 ? 0 : sw; } if (documentData.strokeColorAnim) { letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')'; } if (documentData.fillColorAnim && documentData.fc) { letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')'; } if (this._hasMaskedPath) { matrixHelper.translate(0, -documentData.ls); matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0); if (this._pathData.p.v) { tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]); var rot = Math.atan(tanAngle) * 180 / Math.PI; if (currentPoint.point[0] < prevPoint.point[0]) { rot += 180; } matrixHelper.rotate(-rot * Math.PI / 180); } matrixHelper.translate(xPathPos, yPathPos, 0); currentLength -= alignment[0] * letters[i].an * 0.005; if (letters[i + 1] && ind !== letters[i + 1].ind) { currentLength += letters[i].an / 2; currentLength += documentData.tr * 0.001 * documentData.finalSize; } } else { matrixHelper.translate(xPos, yPos, 0); if (documentData.ps) { // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0); matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0); } switch (documentData.j) { case 1: matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0); break; case 2: matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0); break; default: break; } matrixHelper.translate(0, -documentData.ls); matrixHelper.translate(offf, 0, 0); matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0); xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize; } if (renderType === 'html') { letterM = matrixHelper.toCSS(); } else if (renderType === 'svg') { letterM = matrixHelper.to2dCSS(); } else { letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]]; } letterO = elemOpacity; } if (renderedLettersCount <= i) { letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP); this.renderedLetters.push(letterValue); renderedLettersCount += 1; this.lettersChangedFlag = true; } else { letterValue = this.renderedLetters[i]; this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag; } } }; TextAnimatorProperty.prototype.getValue = function () { if (this._elem.globalData.frameId === this._frameId) { return; } this._frameId = this._elem.globalData.frameId; this.iterateDynamicProperties(); }; TextAnimatorProperty.prototype.mHelper = new Matrix(); TextAnimatorProperty.prototype.defaultPropsArray = []; extendPrototype([DynamicPropertyContainer], TextAnimatorProperty); function ITextElement() {} ITextElement.prototype.initElement = function (data, globalData, comp) { this.lettersChangedFlag = true; this.initFrame(); this.initBaseData(data, globalData, comp); this.textProperty = new TextProperty(this, data.t, this.dynamicProperties); this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this); this.initTransform(data, globalData, comp); this.initHierarchy(); this.initRenderable(); this.initRendererElement(); this.createContainerElements(); this.createRenderableComponents(); this.createContent(); this.hide(); this.textAnimator.searchProperties(this.dynamicProperties); }; ITextElement.prototype.prepareFrame = function (num) { this._mdf = false; this.prepareRenderableFrame(num); this.prepareProperties(num, this.isInRange); }; ITextElement.prototype.createPathShape = function (matrixHelper, shapes) { var j; var jLen = shapes.length; var pathNodes; var shapeStr = ''; for (j = 0; j < jLen; j += 1) { if (shapes[j].ty === 'sh') { pathNodes = shapes[j].ks.k; shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper); } } return shapeStr; }; ITextElement.prototype.updateDocumentData = function (newData, index) { this.textProperty.updateDocumentData(newData, index); }; ITextElement.prototype.canResizeFont = function (_canResize) { this.textProperty.canResizeFont(_canResize); }; ITextElement.prototype.setMinimumFontSize = function (_fontSize) { this.textProperty.setMinimumFontSize(_fontSize); }; ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) { if (documentData.ps) { matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0); } matrixHelper.translate(0, -documentData.ls, 0); switch (documentData.j) { case 1: matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0); break; case 2: matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0); break; default: break; } matrixHelper.translate(xPos, yPos, 0); }; ITextElement.prototype.buildColor = function (colorData) { return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')'; }; ITextElement.prototype.emptyProp = new LetterProps(); ITextElement.prototype.destroy = function () {}; ITextElement.prototype.validateText = function () { if (this.textProperty._mdf || this.textProperty._isFirstFrame) { this.buildNewText(); this.textProperty._isFirstFrame = false; this.textProperty._mdf = false; } }; var emptyShapeData = { shapes: [] }; function SVGTextLottieElement(data, globalData, comp) { this.textSpans = []; this.renderType = 'svg'; this.initElement(data, globalData, comp); } extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement); SVGTextLottieElement.prototype.createContent = function () { if (this.data.singleShape && !this.globalData.fontManager.chars) { this.textContainer = createNS('text'); } }; SVGTextLottieElement.prototype.buildTextContents = function (textArray) { var i = 0; var len = textArray.length; var textContents = []; var currentTextContent = ''; while (i < len) { if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) { textContents.push(currentTextContent); currentTextContent = ''; } else { currentTextContent += textArray[i]; } i += 1; } textContents.push(currentTextContent); return textContents; }; SVGTextLottieElement.prototype.buildShapeData = function (data, scale) { // data should probably be cloned to apply scale separately to each instance of a text on different layers // but since text internal content gets only rendered once and then it's never rerendered, // it's probably safe not to clone data and reuse always the same instance even if the object is mutated. // Avoiding cloning is preferred since cloning each character shape data is expensive if (data.shapes && data.shapes.length) { var shape = data.shapes[0]; if (shape.it) { var shapeItem = shape.it[shape.it.length - 1]; if (shapeItem.s) { shapeItem.s.k[0] = scale; shapeItem.s.k[1] = scale; } } } return data; }; SVGTextLottieElement.prototype.buildNewText = function () { this.addDynamicProperty(this); var i; var len; var documentData = this.textProperty.currentData; this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0); if (documentData.fc) { this.layerElement.setAttribute('fill', this.buildColor(documentData.fc)); } else { this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)'); } if (documentData.sc) { this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc)); this.layerElement.setAttribute('stroke-width', documentData.sw); } this.layerElement.setAttribute('font-size', documentData.finalSize); var fontData = this.globalData.fontManager.getFontByName(documentData.f); if (fontData.fClass) { this.layerElement.setAttribute('class', fontData.fClass); } else { this.layerElement.setAttribute('font-family', fontData.fFamily); var fWeight = documentData.fWeight; var fStyle = documentData.fStyle; this.layerElement.setAttribute('font-style', fStyle); this.layerElement.setAttribute('font-weight', fWeight); } this.layerElement.setAttribute('aria-label', documentData.t); var letters = documentData.l || []; var usesGlyphs = !!this.globalData.fontManager.chars; len = letters.length; var tSpan; var matrixHelper = this.mHelper; var shapeStr = ''; var singleShape = this.data.singleShape; var xPos = 0; var yPos = 0; var firstLine = true; var trackingOffset = documentData.tr * 0.001 * documentData.finalSize; if (singleShape && !usesGlyphs && !documentData.sz) { var tElement = this.textContainer; var justify = 'start'; switch (documentData.j) { case 1: justify = 'end'; break; case 2: justify = 'middle'; break; default: justify = 'start'; break; } tElement.setAttribute('text-anchor', justify); tElement.setAttribute('letter-spacing', trackingOffset); var textContent = this.buildTextContents(documentData.finalText); len = textContent.length; yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0; for (i = 0; i < len; i += 1) { tSpan = this.textSpans[i].span || createNS('tspan'); tSpan.textContent = textContent[i]; tSpan.setAttribute('x', 0); tSpan.setAttribute('y', yPos); tSpan.style.display = 'inherit'; tElement.appendChild(tSpan); if (!this.textSpans[i]) { this.textSpans[i] = { span: null, glyph: null }; } this.textSpans[i].span = tSpan; yPos += documentData.finalLineHeight; } this.layerElement.appendChild(tElement); } else { var cachedSpansLength = this.textSpans.length; var charData; for (i = 0; i < len; i += 1) { if (!this.textSpans[i]) { this.textSpans[i] = { span: null, childSpan: null, glyph: null }; } if (!usesGlyphs || !singleShape || i === 0) { tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text'); if (cachedSpansLength <= i) { tSpan.setAttribute('stroke-linecap', 'butt'); tSpan.setAttribute('stroke-linejoin', 'round'); tSpan.setAttribute('stroke-miterlimit', '4'); this.textSpans[i].span = tSpan; if (usesGlyphs) { var childSpan = createNS('g'); tSpan.appendChild(childSpan); this.textSpans[i].childSpan = childSpan; } this.textSpans[i].span = tSpan; this.layerElement.appendChild(tSpan); } tSpan.style.display = 'inherit'; } matrixHelper.reset(); if (singleShape) { if (letters[i].n) { xPos = -trackingOffset; yPos += documentData.yOffset; yPos += firstLine ? 1 : 0; firstLine = false; } this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos); xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset; xPos += trackingOffset; } if (usesGlyphs) { charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily); var glyphElement; // t === 1 means the character has been replaced with an animated shaped if (charData.t === 1) { glyphElement = new SVGCompElement(charData.data, this.globalData, this); } else { var data = emptyShapeData; if (charData.data && charData.data.shapes) { data = this.buildShapeData(charData.data, documentData.finalSize); } glyphElement = new SVGShapeElement(data, this.globalData, this); } if (this.textSpans[i].glyph) { var glyph = this.textSpans[i].glyph; this.textSpans[i].childSpan.removeChild(glyph.layerElement); glyph.destroy(); } this.textSpans[i].glyph = glyphElement; glyphElement._debug = true; glyphElement.prepareFrame(0); glyphElement.renderFrame(); this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale // this might have issues with strokes and might need a different solution if (charData.t === 1) { this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')'); } } else { if (singleShape) { tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')'); } tSpan.textContent = letters[i].val; tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'); } // } if (singleShape && tSpan) { tSpan.setAttribute('d', shapeStr); } } while (i < this.textSpans.length) { this.textSpans[i].span.style.display = 'none'; i += 1; } this._sizeChanged = true; }; SVGTextLottieElement.prototype.sourceRectAtTime = function () { this.prepareFrame(this.comp.renderedFrame - this.data.st); this.renderInnerContent(); if (this._sizeChanged) { this._sizeChanged = false; var textBox = this.layerElement.getBBox(); this.bbox = { top: textBox.y, left: textBox.x, width: textBox.width, height: textBox.height }; } return this.bbox; }; SVGTextLottieElement.prototype.getValue = function () { var i; var len = this.textSpans.length; var glyphElement; this.renderedFrame = this.comp.renderedFrame; for (i = 0; i < len; i += 1) { glyphElement = this.textSpans[i].glyph; if (glyphElement) { glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st); if (glyphElement._mdf) { this._mdf = true; } } } }; SVGTextLottieElement.prototype.renderInnerContent = function () { this.validateText(); if (!this.data.singleShape || this._mdf) { this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag); if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) { this._sizeChanged = true; var i; var len; var renderedLetters = this.textAnimator.renderedLetters; var letters = this.textProperty.currentData.l; len = letters.length; var renderedLetter; var textSpan; var glyphElement; for (i = 0; i < len; i += 1) { if (!letters[i].n) { renderedLetter = renderedLetters[i]; textSpan = this.textSpans[i].span; glyphElement = this.textSpans[i].glyph; if (glyphElement) { glyphElement.renderFrame(); } if (renderedLetter._mdf.m) { textSpan.setAttribute('transform', renderedLetter.m); } if (renderedLetter._mdf.o) { textSpan.setAttribute('opacity', renderedLetter.o); } if (renderedLetter._mdf.sw) { textSpan.setAttribute('stroke-width', renderedLetter.sw); } if (renderedLetter._mdf.sc) { textSpan.setAttribute('stroke', renderedLetter.sc); } if (renderedLetter._mdf.fc) { textSpan.setAttribute('fill', renderedLetter.fc); } } } } } }; function ISolidElement(data, globalData, comp) { this.initElement(data, globalData, comp); } extendPrototype([IImageElement], ISolidElement); ISolidElement.prototype.createContent = function () { var rect = createNS('rect'); /// /rect.style.width = this.data.sw; /// /rect.style.height = this.data.sh; /// /rect.style.fill = this.data.sc; rect.setAttribute('width', this.data.sw); rect.setAttribute('height', this.data.sh); rect.setAttribute('fill', this.data.sc); this.layerElement.appendChild(rect); }; function NullElement(data, globalData, comp) { this.initFrame(); this.initBaseData(data, globalData, comp); this.initFrame(); this.initTransform(data, globalData, comp); this.initHierarchy(); } NullElement.prototype.prepareFrame = function (num) { this.prepareProperties(num, true); }; NullElement.prototype.renderFrame = function () {}; NullElement.prototype.getBaseElement = function () { return null; }; NullElement.prototype.destroy = function () {}; NullElement.prototype.sourceRectAtTime = function () {}; NullElement.prototype.hide = function () {}; extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement); function SVGRendererBase() {} extendPrototype([BaseRenderer], SVGRendererBase); SVGRendererBase.prototype.createNull = function (data) { return new NullElement(data, this.globalData, this); }; SVGRendererBase.prototype.createShape = function (data) { return new SVGShapeElement(data, this.globalData, this); }; SVGRendererBase.prototype.createText = function (data) { return new SVGTextLottieElement(data, this.globalData, this); }; SVGRendererBase.prototype.createImage = function (data) { return new IImageElement(data, this.globalData, this); }; SVGRendererBase.prototype.createSolid = function (data) { return new ISolidElement(data, this.globalData, this); }; SVGRendererBase.prototype.configAnimation = function (animData) { this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg'); this.svgElement.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); if (this.renderConfig.viewBoxSize) { this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize); } else { this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h); } if (!this.renderConfig.viewBoxOnly) { this.svgElement.setAttribute('width', animData.w); this.svgElement.setAttribute('height', animData.h); this.svgElement.style.width = '100%'; this.svgElement.style.height = '100%'; this.svgElement.style.transform = 'translate3d(0,0,0)'; this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility; } if (this.renderConfig.width) { this.svgElement.setAttribute('width', this.renderConfig.width); } if (this.renderConfig.height) { this.svgElement.setAttribute('height', this.renderConfig.height); } if (this.renderConfig.className) { this.svgElement.setAttribute('class', this.renderConfig.className); } if (this.renderConfig.id) { this.svgElement.setAttribute('id', this.renderConfig.id); } if (this.renderConfig.focusable !== undefined) { this.svgElement.setAttribute('focusable', this.renderConfig.focusable); } this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)'; // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = "0px 0px 0px"; this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation var defs = this.globalData.defs; this.setupGlobalData(animData, defs); this.globalData.progressiveLoad = this.renderConfig.progressiveLoad; this.data = animData; var maskElement = createNS('clipPath'); var rect = createNS('rect'); rect.setAttribute('width', animData.w); rect.setAttribute('height', animData.h); rect.setAttribute('x', 0); rect.setAttribute('y', 0); var maskId = createElementID(); maskElement.setAttribute('id', maskId); maskElement.appendChild(rect); this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')'); defs.appendChild(maskElement); this.layers = animData.layers; this.elements = createSizedArray(animData.layers.length); }; SVGRendererBase.prototype.destroy = function () { if (this.animationItem.wrapper) { this.animationItem.wrapper.innerText = ''; } this.layerElement = null; this.globalData.defs = null; var i; var len = this.layers ? this.layers.length : 0; for (i = 0; i < len; i += 1) { if (this.elements[i] && this.elements[i].destroy) { this.elements[i].destroy(); } } this.elements.length = 0; this.destroyed = true; this.animationItem = null; }; SVGRendererBase.prototype.updateContainerSize = function () {}; SVGRendererBase.prototype.findIndexByInd = function (ind) { var i = 0; var len = this.layers.length; for (i = 0; i < len; i += 1) { if (this.layers[i].ind === ind) { return i; } } return -1; }; SVGRendererBase.prototype.buildItem = function (pos) { var elements = this.elements; if (elements[pos] || this.layers[pos].ty === 99) { return; } elements[pos] = true; var element = this.createItem(this.layers[pos]); elements[pos] = element; if (getExpressionsPlugin()) { if (this.layers[pos].ty === 0) { this.globalData.projectInterface.registerComposition(element); } element.initExpressions(); } this.appendElementInPos(element, pos); if (this.layers[pos].tt) { var elementIndex = 'tp' in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1; if (elementIndex === -1) { return; } if (!this.elements[elementIndex] || this.elements[elementIndex] === true) { this.buildItem(elementIndex); this.addPendingElement(element); } else { var matteElement = elements[elementIndex]; var matteMask = matteElement.getMatte(this.layers[pos].tt); element.setMatte(matteMask); } } }; SVGRendererBase.prototype.checkPendingElements = function () { while (this.pendingElements.length) { var element = this.pendingElements.pop(); element.checkParenting(); if (element.data.tt) { var i = 0; var len = this.elements.length; while (i < len) { if (this.elements[i] === element) { var elementIndex = 'tp' in element.data ? this.findIndexByInd(element.data.tp) : i - 1; var matteElement = this.elements[elementIndex]; var matteMask = matteElement.getMatte(this.layers[i].tt); element.setMatte(matteMask); break; } i += 1; } } } }; SVGRendererBase.prototype.renderFrame = function (num) { if (this.renderedFrame === num || this.destroyed) { return; } if (num === null) { num = this.renderedFrame; } else { this.renderedFrame = num; } // console.log('-------'); // console.log('FRAME ',num); this.globalData.frameNum = num; this.globalData.frameId += 1; this.globalData.projectInterface.currentFrame = num; this.globalData._mdf = false; var i; var len = this.layers.length; if (!this.completeLayers) { this.checkLayers(num); } for (i = len - 1; i >= 0; i -= 1) { if (this.completeLayers || this.elements[i]) { this.elements[i].prepareFrame(num - this.layers[i].st); } } if (this.globalData._mdf) { for (i = 0; i < len; i += 1) { if (this.completeLayers || this.elements[i]) { this.elements[i].renderFrame(); } } } }; SVGRendererBase.prototype.appendElementInPos = function (element, pos) { var newElement = element.getBaseElement(); if (!newElement) { return; } var i = 0; var nextElement; while (i < pos) { if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) { nextElement = this.elements[i].getBaseElement(); } i += 1; } if (nextElement) { this.layerElement.insertBefore(newElement, nextElement); } else { this.layerElement.appendChild(newElement); } }; SVGRendererBase.prototype.hide = function () { this.layerElement.style.display = 'none'; }; SVGRendererBase.prototype.show = function () { this.layerElement.style.display = 'block'; }; function ICompElement() {} extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement); ICompElement.prototype.initElement = function (data, globalData, comp) { this.initFrame(); this.initBaseData(data, globalData, comp); this.initTransform(data, globalData, comp); this.initRenderable(); this.initHierarchy(); this.initRendererElement(); this.createContainerElements(); this.createRenderableComponents(); if (this.data.xt || !globalData.progressiveLoad) { this.buildAllItems(); } this.hide(); }; /* ICompElement.prototype.hide = function(){ if(!this.hidden){ this.hideElement(); var i,len = this.elements.length; for( i = 0; i < len; i+=1 ){ if(this.elements[i]){ this.elements[i].hide(); } } } }; */ ICompElement.prototype.prepareFrame = function (num) { this._mdf = false; this.prepareRenderableFrame(num); this.prepareProperties(num, this.isInRange); if (!this.isInRange && !this.data.xt) { return; } if (!this.tm._placeholder) { var timeRemapped = this.tm.v; if (timeRemapped === this.data.op) { timeRemapped = this.data.op - 1; } this.renderedFrame = timeRemapped; } else { this.renderedFrame = num / this.data.sr; } var i; var len = this.elements.length; if (!this.completeLayers) { this.checkLayers(this.renderedFrame); } // This iteration needs to be backwards because of how expressions connect between each other for (i = len - 1; i >= 0; i -= 1) { if (this.completeLayers || this.elements[i]) { this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st); if (this.elements[i]._mdf) { this._mdf = true; } } } }; ICompElement.prototype.renderInnerContent = function () { var i; var len = this.layers.length; for (i = 0; i < len; i += 1) { if (this.completeLayers || this.elements[i]) { this.elements[i].renderFrame(); } } }; ICompElement.prototype.setElements = function (elems) { this.elements = elems; }; ICompElement.prototype.getElements = function () { return this.elements; }; ICompElement.prototype.destroyElements = function () { var i; var len = this.layers.length; for (i = 0; i < len; i += 1) { if (this.elements[i]) { this.elements[i].destroy(); } } }; ICompElement.prototype.destroy = function () { this.destroyElements(); this.destroyBaseElement(); }; function SVGCompElement(data, globalData, comp) { this.layers = data.layers; this.supports3d = true; this.completeLayers = false; this.pendingElements = []; this.elements = this.layers ? createSizedArray(this.layers.length) : []; this.initElement(data, globalData, comp); this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true }; } extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement); SVGCompElement.prototype.createComp = function (data) { return new SVGCompElement(data, this.globalData, this); }; function SVGRenderer(animationItem, config) { this.animationItem = animationItem; this.layers = null; this.renderedFrame = -1; this.svgElement = createNS('svg'); var ariaLabel = ''; if (config && config.title) { var titleElement = createNS('title'); var titleId = createElementID(); titleElement.setAttribute('id', titleId); titleElement.textContent = config.title; this.svgElement.appendChild(titleElement); ariaLabel += titleId; } if (config && config.description) { var descElement = createNS('desc'); var descId = createElementID(); descElement.setAttribute('id', descId); descElement.textContent = config.description; this.svgElement.appendChild(descElement); ariaLabel += ' ' + descId; } if (ariaLabel) { this.svgElement.setAttribute('aria-labelledby', ariaLabel); } var defs = createNS('defs'); this.svgElement.appendChild(defs); var maskElement = createNS('g'); this.svgElement.appendChild(maskElement); this.layerElement = maskElement; this.renderConfig = { preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet', imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice', contentVisibility: config && config.contentVisibility || 'visible', progressiveLoad: config && config.progressiveLoad || false, hideOnTransparent: !(config && config.hideOnTransparent === false), viewBoxOnly: config && config.viewBoxOnly || false, viewBoxSize: config && config.viewBoxSize || false, className: config && config.className || '', id: config && config.id || '', focusable: config && config.focusable, filterSize: { width: config && config.filterSize && config.filterSize.width || '100%', height: config && config.filterSize && config.filterSize.height || '100%', x: config && config.filterSize && config.filterSize.x || '0%', y: config && config.filterSize && config.filterSize.y || '0%' }, width: config && config.width, height: config && config.height, runExpressions: !config || config.runExpressions === undefined || config.runExpressions }; this.globalData = { _mdf: false, frameNum: -1, defs: defs, renderConfig: this.renderConfig }; this.elements = []; this.pendingElements = []; this.destroyed = false; this.rendererType = 'svg'; } extendPrototype([SVGRendererBase], SVGRenderer); SVGRenderer.prototype.createComp = function (data) { return new SVGCompElement(data, this.globalData, this); }; function ShapeTransformManager() { this.sequences = {}; this.sequenceList = []; this.transform_key_count = 0; } ShapeTransformManager.prototype = { addTransformSequence: function addTransformSequence(transforms) { var i; var len = transforms.length; var key = '_'; for (i = 0; i < len; i += 1) { key += transforms[i].transform.key + '_'; } var sequence = this.sequences[key]; if (!sequence) { sequence = { transforms: [].concat(transforms), finalTransform: new Matrix(), _mdf: false }; this.sequences[key] = sequence; this.sequenceList.push(sequence); } return sequence; }, processSequence: function processSequence(sequence, isFirstFrame) { var i = 0; var len = sequence.transforms.length; var _mdf = isFirstFrame; while (i < len && !isFirstFrame) { if (sequence.transforms[i].transform.mProps._mdf) { _mdf = true; break; } i += 1; } if (_mdf) { sequence.finalTransform.reset(); for (i = len - 1; i >= 0; i -= 1) { sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v); } } sequence._mdf = _mdf; }, processSequences: function processSequences(isFirstFrame) { var i; var len = this.sequenceList.length; for (i = 0; i < len; i += 1) { this.processSequence(this.sequenceList[i], isFirstFrame); } }, getNewKey: function getNewKey() { this.transform_key_count += 1; return '_' + this.transform_key_count; } }; var lumaLoader = function lumaLoader() { var id = '__lottie_element_luma_buffer'; var lumaBuffer = null; var lumaBufferCtx = null; var svg = null; // This alternate solution has a slight delay before the filter is applied, resulting in a flicker on the first frame. // Keeping this here for reference, and in the future, if offscreen canvas supports url filters, this can be used. // For now, neither of them work for offscreen canvas, so canvas workers can't support the luma track matte mask. // Naming it solution 2 to mark the extra comment lines. /* var svgString = [ '<svg xmlns="http://www.w3.org/2000/svg">', '<filter id="' + id + '">', '<feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="', '0.3, 0.3, 0.3, 0, 0, ', '0.3, 0.3, 0.3, 0, 0, ', '0.3, 0.3, 0.3, 0, 0, ', '0.3, 0.3, 0.3, 0, 0', '"/>', '</filter>', '</svg>', ].join(''); var blob = new Blob([svgString], { type: 'image/svg+xml' }); var url = URL.createObjectURL(blob); */ function createLumaSvgFilter() { var _svg = createNS('svg'); var fil = createNS('filter'); var matrix = createNS('feColorMatrix'); fil.setAttribute('id', id); matrix.setAttribute('type', 'matrix'); matrix.setAttribute('color-interpolation-filters', 'sRGB'); matrix.setAttribute('values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0'); fil.appendChild(matrix); _svg.appendChild(fil); _svg.setAttribute('id', id + '_svg'); if (featureSupport.svgLumaHidden) { _svg.style.display = 'none'; } return _svg; } function loadLuma() { if (!lumaBuffer) { svg = createLumaSvgFilter(); document.body.appendChild(svg); lumaBuffer = createTag('canvas'); lumaBufferCtx = lumaBuffer.getContext('2d'); // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2 lumaBufferCtx.filter = 'url(#' + id + ')'; lumaBufferCtx.fillStyle = 'rgba(0,0,0,0)'; lumaBufferCtx.fillRect(0, 0, 1, 1); } } function getLuma(canvas) { if (!lumaBuffer) { loadLuma(); } lumaBuffer.width = canvas.width; lumaBuffer.height = canvas.height; // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2 lumaBufferCtx.filter = 'url(#' + id + ')'; return lumaBuffer; } return { load: loadLuma, get: getLuma }; }; function createCanvas(width, height) { if (featureSupport.offscreenCanvas) { return new OffscreenCanvas(width, height); } var canvas = createTag('canvas'); canvas.width = width; canvas.height = height; return canvas; } var assetLoader = function () { return { loadLumaCanvas: lumaLoader.load, getLumaCanvas: lumaLoader.get, createCanvas: createCanvas }; }(); var registeredEffects = {}; function CVEffects(elem) { var i; var len = elem.data.ef ? elem.data.ef.length : 0; this.filters = []; var filterManager; for (i = 0; i < len; i += 1) { filterManager = null; var type = elem.data.ef[i].ty; if (registeredEffects[type]) { var Effect = registeredEffects[type].effect; filterManager = new Effect(elem.effectsManager.effectElements[i], elem); } if (filterManager) { this.filters.push(filterManager); } } if (this.filters.length) { elem.addRenderableComponent(this); } } CVEffects.prototype.renderFrame = function (_isFirstFrame) { var i; var len = this.filters.length; for (i = 0; i < len; i += 1) { this.filters[i].renderFrame(_isFirstFrame); } }; CVEffects.prototype.getEffects = function (type) { var i; var len = this.filters.length; var effects = []; for (i = 0; i < len; i += 1) { if (this.filters[i].type === type) { effects.push(this.filters[i]); } } return effects; }; function registerEffect(id, effect) { registeredEffects[id] = { effect: effect }; } function CVMaskElement(data, element) { this.data = data; this.element = element; this.masksProperties = this.data.masksProperties || []; this.viewData = createSizedArray(this.masksProperties.length); var i; var len = this.masksProperties.length; var hasMasks = false; for (i = 0; i < len; i += 1) { if (this.masksProperties[i].mode !== 'n') { hasMasks = true; } this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3); } this.hasMasks = hasMasks; if (hasMasks) { this.element.addRenderableComponent(this); } } CVMaskElement.prototype.renderFrame = function () { if (!this.hasMasks) { return; } var transform = this.element.finalTransform.mat; var ctx = this.element.canvasContext; var i; var len = this.masksProperties.length; var pt; var pts; var data; ctx.beginPath(); for (i = 0; i < len; i += 1) { if (this.masksProperties[i].mode !== 'n') { if (this.masksProperties[i].inv) { ctx.moveTo(0, 0); ctx.lineTo(this.element.globalData.compSize.w, 0); ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h); ctx.lineTo(0, this.element.globalData.compSize.h); ctx.lineTo(0, 0); } data = this.viewData[i].v; pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0); ctx.moveTo(pt[0], pt[1]); var j; var jLen = data._length; for (j = 1; j < jLen; j += 1) { pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]); ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]); } pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]); ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]); } } this.element.globalData.renderer.save(true); ctx.clip(); }; CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty; CVMaskElement.prototype.destroy = function () { this.element = null; }; function CVBaseElement() {} var operationsMap = { 1: 'source-in', 2: 'source-out', 3: 'source-in', 4: 'source-out' }; CVBaseElement.prototype = { createElements: function createElements() {}, initRendererElement: function initRendererElement() {}, createContainerElements: function createContainerElements() { // If the layer is masked we will use two buffers to store each different states of the drawing // This solution is not ideal for several reason. But unfortunately, because of the recursive // nature of the render tree, it's the only simple way to make sure one inner mask doesn't override an outer mask. // TODO: try to reduce the size of these buffers to the size of the composition contaning the layer // It might be challenging because the layer most likely is transformed in some way if (this.data.tt >= 1) { this.buffers = []; var canvasContext = this.globalData.canvasContext; var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height); this.buffers.push(bufferCanvas); var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height); this.buffers.push(bufferCanvas2); if (this.data.tt >= 3 && !document._isProxy) { assetLoader.loadLumaCanvas(); } } this.canvasContext = this.globalData.canvasContext; this.transformCanvas = this.globalData.transformCanvas; this.renderableEffectsManager = new CVEffects(this); this.searchEffectTransforms(); }, createContent: function createContent() {}, setBlendMode: function setBlendMode() { var globalData = this.globalData; if (globalData.blendMode !== this.data.bm) { globalData.blendMode = this.data.bm; var blendModeValue = getBlendMode(this.data.bm); globalData.canvasContext.globalCompositeOperation = blendModeValue; } }, createRenderableComponents: function createRenderableComponents() { this.maskManager = new CVMaskElement(this.data, this); this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT); }, hideElement: function hideElement() { if (!this.hidden && (!this.isInRange || this.isTransparent)) { this.hidden = true; } }, showElement: function showElement() { if (this.isInRange && !this.isTransparent) { this.hidden = false; this._isFirstFrame = true; this.maskManager._isFirstFrame = true; } }, clearCanvas: function clearCanvas(canvasContext) { canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy); }, prepareLayer: function prepareLayer() { if (this.data.tt >= 1) { var buffer = this.buffers[0]; var bufferCtx = buffer.getContext('2d'); this.clearCanvas(bufferCtx); // on the first buffer we store the current state of the global drawing bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // The next four lines are to clear the canvas // TODO: Check if there is a way to clear the canvas without resetting the transform this.currentTransform = this.canvasContext.getTransform(); this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); this.clearCanvas(this.canvasContext); this.canvasContext.setTransform(this.currentTransform); } }, exitLayer: function exitLayer() { if (this.data.tt >= 1) { var buffer = this.buffers[1]; // On the second buffer we store the current state of the global drawing // that only contains the content of this layer // (if it is a composition, it also includes the nested layers) var bufferCtx = buffer.getContext('2d'); this.clearCanvas(bufferCtx); bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // We clear the canvas again this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); this.clearCanvas(this.canvasContext); this.canvasContext.setTransform(this.currentTransform); // We draw the mask var mask = this.comp.getElementById('tp' in this.data ? this.data.tp : this.data.ind - 1); mask.renderFrame(true); // We draw the second buffer (that contains the content of this layer) this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); // If the mask is a Luma matte, we need to do two extra painting operations // the _isProxy check is to avoid drawing a fake canvas in workers that will throw an error if (this.data.tt >= 3 && !document._isProxy) { // We copy the painted mask to a buffer that has a color matrix filter applied to it // that applies the rgb values to the alpha channel var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas); var lumaBufferCtx = lumaBuffer.getContext('2d'); lumaBufferCtx.drawImage(this.canvasContext.canvas, 0, 0); this.clearCanvas(this.canvasContext); // we repaint the context with the mask applied to it this.canvasContext.drawImage(lumaBuffer, 0, 0); } this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt]; this.canvasContext.drawImage(buffer, 0, 0); // We finally draw the first buffer (that contains the content of the global drawing) // We use destination-over to draw the global drawing below the current layer this.canvasContext.globalCompositeOperation = 'destination-over'; this.canvasContext.drawImage(this.buffers[0], 0, 0); this.canvasContext.setTransform(this.currentTransform); // We reset the globalCompositeOperation to source-over, the standard type of operation this.canvasContext.globalCompositeOperation = 'source-over'; } }, renderFrame: function renderFrame(forceRender) { if (this.hidden || this.data.hd) { return; } if (this.data.td === 1 && !forceRender) { return; } this.renderTransform(); this.renderRenderable(); this.renderLocalTransform(); this.setBlendMode(); var forceRealStack = this.data.ty === 0; this.prepareLayer(); this.globalData.renderer.save(forceRealStack); this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props); this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity); this.renderInnerContent(); this.globalData.renderer.restore(forceRealStack); this.exitLayer(); if (this.maskManager.hasMasks) { this.globalData.renderer.restore(true); } if (this._isFirstFrame) { this._isFirstFrame = false; } }, destroy: function destroy() { this.canvasContext = null; this.data = null; this.globalData = null; this.maskManager.destroy(); }, mHelper: new Matrix() }; CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement; CVBaseElement.prototype.show = CVBaseElement.prototype.showElement; function CVShapeData(element, data, styles, transformsManager) { this.styledShapes = []; this.tr = [0, 0, 0, 0, 0, 0]; var ty = 4; if (data.ty === 'rc') { ty = 5; } else if (data.ty === 'el') { ty = 6; } else if (data.ty === 'sr') { ty = 7; } this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element); var i; var len = styles.length; var styledShape; for (i = 0; i < len; i += 1) { if (!styles[i].closed) { styledShape = { transforms: transformsManager.addTransformSequence(styles[i].transforms), trNodes: [] }; this.styledShapes.push(styledShape); styles[i].elements.push(styledShape); } } } CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated; function CVShapeElement(data, globalData, comp) { this.shapes = []; this.shapesData = data.shapes; this.stylesList = []; this.itemsData = []; this.prevViewData = []; this.shapeModifiers = []; this.processedElements = []; this.transformsManager = new ShapeTransformManager(); this.initElement(data, globalData, comp); } extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement); CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement; CVShapeElement.prototype.transformHelper = { opacity: 1, _opMdf: false }; CVShapeElement.prototype.dashResetter = []; CVShapeElement.prototype.createContent = function () { this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []); }; CVShapeElement.prototype.createStyleElement = function (data, transforms) { var styleElem = { data: data, type: data.ty, preTransforms: this.transformsManager.addTransformSequence(transforms), transforms: [], elements: [], closed: data.hd === true }; var elementData = {}; if (data.ty === 'fl' || data.ty === 'st') { elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this); if (!elementData.c.k) { styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')'; } } else if (data.ty === 'gf' || data.ty === 'gs') { elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this); elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this); elementData.h = PropertyFactory.getProp(this, data.h || { k: 0 }, 0, 0.01, this); elementData.a = PropertyFactory.getProp(this, data.a || { k: 0 }, 0, degToRads, this); elementData.g = new GradientProperty(this, data.g, this); } elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this); if (data.ty === 'st' || data.ty === 'gs') { styleElem.lc = lineCapEnum[data.lc || 2]; styleElem.lj = lineJoinEnum[data.lj || 2]; if (data.lj == 1) { // eslint-disable-line eqeqeq styleElem.ml = data.ml; } elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this); if (!elementData.w.k) { styleElem.wi = elementData.w.v; } if (data.d) { var d = new DashProperty(this, data.d, 'canvas', this); elementData.d = d; if (!elementData.d.k) { styleElem.da = elementData.d.dashArray; styleElem["do"] = elementData.d.dashoffset[0]; } } } else { styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero'; } this.stylesList.push(styleElem); elementData.style = styleElem; return elementData; }; CVShapeElement.prototype.createGroupElement = function () { var elementData = { it: [], prevViewData: [] }; return elementData; }; CVShapeElement.prototype.createTransformElement = function (data) { var elementData = { transform: { opacity: 1, _opMdf: false, key: this.transformsManager.getNewKey(), op: PropertyFactory.getProp(this, data.o, 0, 0.01, this), mProps: TransformPropertyFactory.getTransformProperty(this, data, this) } }; return elementData; }; CVShapeElement.prototype.createShapeElement = function (data) { var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager); this.shapes.push(elementData); this.addShapeToModifiers(elementData); return elementData; }; CVShapeElement.prototype.reloadShapes = function () { this._isFirstFrame = true; var i; var len = this.itemsData.length; for (i = 0; i < len; i += 1) { this.prevViewData[i] = this.itemsData[i]; } this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []); len = this.dynamicProperties.length; for (i = 0; i < len; i += 1) { this.dynamicProperties[i].getValue(); } this.renderModifiers(); this.transformsManager.processSequences(this._isFirstFrame); }; CVShapeElement.prototype.addTransformToStyleList = function (transform) { var i; var len = this.stylesList.length; for (i = 0; i < len; i += 1) { if (!this.stylesList[i].closed) { this.stylesList[i].transforms.push(transform); } } }; CVShapeElement.prototype.removeTransformFromStyleList = function () { var i; var len = this.stylesList.length; for (i = 0; i < len; i += 1) { if (!this.stylesList[i].closed) { this.stylesList[i].transforms.pop(); } } }; CVShapeElement.prototype.closeStyles = function (styles) { var i; var len = styles.length; for (i = 0; i < len; i += 1) { styles[i].closed = true; } }; CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) { var i; var len = arr.length - 1; var j; var jLen; var ownStyles = []; var ownModifiers = []; var processedPos; var modifier; var currentTransform; var ownTransforms = [].concat(transforms); for (i = len; i >= 0; i -= 1) { processedPos = this.searchProcessedElement(arr[i]); if (!processedPos) { arr[i]._shouldRender = shouldRender; } else { itemsData[i] = prevViewData[processedPos - 1]; } if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') { if (!processedPos) { itemsData[i] = this.createStyleElement(arr[i], ownTransforms); } else { itemsData[i].style.closed = false; } ownStyles.push(itemsData[i].style); } else if (arr[i].ty === 'gr') { if (!processedPos) { itemsData[i] = this.createGroupElement(arr[i]); } else { jLen = itemsData[i].it.length; for (j = 0; j < jLen; j += 1) { itemsData[i].prevViewData[j] = itemsData[i].it[j]; } } this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms); } else if (arr[i].ty === 'tr') { if (!processedPos) { currentTransform = this.createTransformElement(arr[i]); itemsData[i] = currentTransform; } ownTransforms.push(itemsData[i]); this.addTransformToStyleList(itemsData[i]); } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') { if (!processedPos) { itemsData[i] = this.createShapeElement(arr[i]); } } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') { if (!processedPos) { modifier = ShapeModifiers.getModifier(arr[i].ty); modifier.init(this, arr[i]); itemsData[i] = modifier; this.shapeModifiers.push(modifier); } else { modifier = itemsData[i]; modifier.closed = false; } ownModifiers.push(modifier); } else if (arr[i].ty === 'rp') { if (!processedPos) { modifier = ShapeModifiers.getModifier(arr[i].ty); itemsData[i] = modifier; modifier.init(this, arr, i, itemsData); this.shapeModifiers.push(modifier); shouldRender = false; } else { modifier = itemsData[i]; modifier.closed = true; } ownModifiers.push(modifier); } this.addProcessedElement(arr[i], i + 1); } this.removeTransformFromStyleList(); this.closeStyles(ownStyles); len = ownModifiers.length; for (i = 0; i < len; i += 1) { ownModifiers[i].closed = true; } }; CVShapeElement.prototype.renderInnerContent = function () { this.transformHelper.opacity = 1; this.transformHelper._opMdf = false; this.renderModifiers(); this.transformsManager.processSequences(this._isFirstFrame); this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true); }; CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) { if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) { groupTransform.opacity = parentTransform.opacity; groupTransform.opacity *= groupTransform.op.v; groupTransform._opMdf = true; } }; CVShapeElement.prototype.drawLayer = function () { var i; var len = this.stylesList.length; var j; var jLen; var k; var kLen; var elems; var nodes; var renderer = this.globalData.renderer; var ctx = this.globalData.canvasContext; var type; var currentStyle; for (i = 0; i < len; i += 1) { currentStyle = this.stylesList[i]; type = currentStyle.type; // Skipping style when // Stroke width equals 0 // style should not be rendered (extra unused repeaters) // current opacity equals 0 // global opacity equals 0 if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) { renderer.save(); elems = currentStyle.elements; if (type === 'st' || type === 'gs') { renderer.ctxStrokeStyle(type === 'st' ? currentStyle.co : currentStyle.grd); // ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd; renderer.ctxLineWidth(currentStyle.wi); // ctx.lineWidth = currentStyle.wi; renderer.ctxLineCap(currentStyle.lc); // ctx.lineCap = currentStyle.lc; renderer.ctxLineJoin(currentStyle.lj); // ctx.lineJoin = currentStyle.lj; renderer.ctxMiterLimit(currentStyle.ml || 0); // ctx.miterLimit = currentStyle.ml || 0; } else { renderer.ctxFillStyle(type === 'fl' ? currentStyle.co : currentStyle.grd); // ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd; } renderer.ctxOpacity(currentStyle.coOp); if (type !== 'st' && type !== 'gs') { ctx.beginPath(); } renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props); jLen = elems.length; for (j = 0; j < jLen; j += 1) { if (type === 'st' || type === 'gs') { ctx.beginPath(); if (currentStyle.da) { ctx.setLineDash(currentStyle.da); ctx.lineDashOffset = currentStyle["do"]; } } nodes = elems[j].trNodes; kLen = nodes.length; for (k = 0; k < kLen; k += 1) { if (nodes[k].t === 'm') { ctx.moveTo(nodes[k].p[0], nodes[k].p[1]); } else if (nodes[k].t === 'c') { ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]); } else { ctx.closePath(); } } if (type === 'st' || type === 'gs') { // ctx.stroke(); renderer.ctxStroke(); if (currentStyle.da) { ctx.setLineDash(this.dashResetter); } } } if (type !== 'st' && type !== 'gs') { // ctx.fill(currentStyle.r); this.globalData.renderer.ctxFill(currentStyle.r); } renderer.restore(); } } }; CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) { var i; var len = items.length - 1; var groupTransform; groupTransform = parentTransform; for (i = len; i >= 0; i -= 1) { if (items[i].ty === 'tr') { groupTransform = data[i].transform; this.renderShapeTransform(parentTransform, groupTransform); } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') { this.renderPath(items[i], data[i]); } else if (items[i].ty === 'fl') { this.renderFill(items[i], data[i], groupTransform); } else if (items[i].ty === 'st') { this.renderStroke(items[i], data[i], groupTransform); } else if (items[i].ty === 'gf' || items[i].ty === 'gs') { this.renderGradientFill(items[i], data[i], groupTransform); } else if (items[i].ty === 'gr') { this.renderShape(groupTransform, items[i].it, data[i].it); } else if (items[i].ty === 'tm') {// } } if (isMain) { this.drawLayer(); } }; CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) { if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) { var shapeNodes = styledShape.trNodes; var paths = shape.paths; var i; var len; var j; var jLen = paths._length; shapeNodes.length = 0; var groupTransformMat = styledShape.transforms.finalTransform; for (j = 0; j < jLen; j += 1) { var pathNodes = paths.shapes[j]; if (pathNodes && pathNodes.v) { len = pathNodes._length; for (i = 1; i < len; i += 1) { if (i === 1) { shapeNodes.push({ t: 'm', p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0) }); } shapeNodes.push({ t: 'c', pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i]) }); } if (len === 1) { shapeNodes.push({ t: 'm', p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0) }); } if (pathNodes.c && len) { shapeNodes.push({ t: 'c', pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0]) }); shapeNodes.push({ t: 'z' }); } } } styledShape.trNodes = shapeNodes; } }; CVShapeElement.prototype.renderPath = function (pathData, itemData) { if (pathData.hd !== true && pathData._shouldRender) { var i; var len = itemData.styledShapes.length; for (i = 0; i < len; i += 1) { this.renderStyledShape(itemData.styledShapes[i], itemData.sh); } } }; CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) { var styleElem = itemData.style; if (itemData.c._mdf || this._isFirstFrame) { styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')'; } if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) { styleElem.coOp = itemData.o.v * groupTransform.opacity; } }; CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) { var styleElem = itemData.style; var grd; if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) { var ctx = this.globalData.canvasContext; var pt1 = itemData.s.v; var pt2 = itemData.e.v; if (styleData.t === 1) { grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]); } else { var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2)); var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]); var percent = itemData.h.v; if (percent >= 1) { percent = 0.99; } else if (percent <= -1) { percent = -0.99; } var dist = rad * percent; var x = Math.cos(ang + itemData.a.v) * dist + pt1[0]; var y = Math.sin(ang + itemData.a.v) * dist + pt1[1]; grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad); } var i; var len = styleData.g.p; var cValues = itemData.g.c; var opacity = 1; for (i = 0; i < len; i += 1) { if (itemData.g._hasOpacity && itemData.g._collapsable) { opacity = itemData.g.o[i * 2 + 1]; } grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')'); } styleElem.grd = grd; } styleElem.coOp = itemData.o.v * groupTransform.opacity; }; CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) { var styleElem = itemData.style; var d = itemData.d; if (d && (d._mdf || this._isFirstFrame)) { styleElem.da = d.dashArray; styleElem["do"] = d.dashoffset[0]; } if (itemData.c._mdf || this._isFirstFrame) { styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')'; } if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) { styleElem.coOp = itemData.o.v * groupTransform.opacity; } if (itemData.w._mdf || this._isFirstFrame) { styleElem.wi = itemData.w.v; } }; CVShapeElement.prototype.destroy = function () { this.shapesData = null; this.globalData = null; this.canvasContext = null; this.stylesList.length = 0; this.itemsData.length = 0; }; function CVTextElement(data, globalData, comp) { this.textSpans = []; this.yOffset = 0; this.fillColorAnim = false; this.strokeColorAnim = false; this.strokeWidthAnim = false; this.stroke = false; this.fill = false; this.justifyOffset = 0; this.currentRender = null; this.renderType = 'canvas'; this.values = { fill: 'rgba(0,0,0,0)', stroke: 'rgba(0,0,0,0)', sWidth: 0, fValue: '' }; this.initElement(data, globalData, comp); } extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement); CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d'); CVTextElement.prototype.buildNewText = function () { var documentData = this.textProperty.currentData; this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0); var hasFill = false; if (documentData.fc) { hasFill = true; this.values.fill = this.buildColor(documentData.fc); } else { this.values.fill = 'rgba(0,0,0,0)'; } this.fill = hasFill; var hasStroke = false; if (documentData.sc) { hasStroke = true; this.values.stroke = this.buildColor(documentData.sc); this.values.sWidth = documentData.sw; } var fontData = this.globalData.fontManager.getFontByName(documentData.f); var i; var len; var letters = documentData.l; var matrixHelper = this.mHelper; this.stroke = hasStroke; this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily; len = documentData.finalText.length; // this.tHelper.font = this.values.fValue; var charData; var shapeData; var k; var kLen; var shapes; var j; var jLen; var pathNodes; var commands; var pathArr; var singleShape = this.data.singleShape; var trackingOffset = documentData.tr * 0.001 * documentData.finalSize; var xPos = 0; var yPos = 0; var firstLine = true; var cnt = 0; for (i = 0; i < len; i += 1) { charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily); shapeData = charData && charData.data || {}; matrixHelper.reset(); if (singleShape && letters[i].n) { xPos = -trackingOffset; yPos += documentData.yOffset; yPos += firstLine ? 1 : 0; firstLine = false; } shapes = shapeData.shapes ? shapeData.shapes[0].it : []; jLen = shapes.length; matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100); if (singleShape) { this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos); } commands = createSizedArray(jLen - 1); var commandsCounter = 0; for (j = 0; j < jLen; j += 1) { if (shapes[j].ty === 'sh') { kLen = shapes[j].ks.k.i.length; pathNodes = shapes[j].ks.k; pathArr = []; for (k = 1; k < kLen; k += 1) { if (k === 1) { pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0)); } pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0)); } pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0)); commands[commandsCounter] = pathArr; commandsCounter += 1; } } if (singleShape) { xPos += letters[i].l; xPos += trackingOffset; } if (this.textSpans[cnt]) { this.textSpans[cnt].elem = commands; } else { this.textSpans[cnt] = { elem: commands }; } cnt += 1; } }; CVTextElement.prototype.renderInnerContent = function () { this.validateText(); var ctx = this.canvasContext; ctx.font = this.values.fValue; this.globalData.renderer.ctxLineCap('butt'); // ctx.lineCap = 'butt'; this.globalData.renderer.ctxLineJoin('miter'); // ctx.lineJoin = 'miter'; this.globalData.renderer.ctxMiterLimit(4); // ctx.miterLimit = 4; if (!this.data.singleShape) { this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag); } var i; var len; var j; var jLen; var k; var kLen; var renderedLetters = this.textAnimator.renderedLetters; var letters = this.textProperty.currentData.l; len = letters.length; var renderedLetter; var lastFill = null; var lastStroke = null; var lastStrokeW = null; var commands; var pathArr; var renderer = this.globalData.renderer; for (i = 0; i < len; i += 1) { if (!letters[i].n) { renderedLetter = renderedLetters[i]; if (renderedLetter) { renderer.save(); renderer.ctxTransform(renderedLetter.p); renderer.ctxOpacity(renderedLetter.o); } if (this.fill) { if (renderedLetter && renderedLetter.fc) { if (lastFill !== renderedLetter.fc) { renderer.ctxFillStyle(renderedLetter.fc); lastFill = renderedLetter.fc; // ctx.fillStyle = renderedLetter.fc; } } else if (lastFill !== this.values.fill) { lastFill = this.values.fill; renderer.ctxFillStyle(this.values.fill); // ctx.fillStyle = this.values.fill; } commands = this.textSpans[i].elem; jLen = commands.length; this.globalData.canvasContext.beginPath(); for (j = 0; j < jLen; j += 1) { pathArr = commands[j]; kLen = pathArr.length; this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]); for (k = 2; k < kLen; k += 6) { this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]); } } this.globalData.canvasContext.closePath(); renderer.ctxFill(); // this.globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0); } if (this.stroke) { if (renderedLetter && renderedLetter.sw) { if (lastStrokeW !== renderedLetter.sw) { lastStrokeW = renderedLetter.sw; renderer.ctxLineWidth(renderedLetter.sw); // ctx.lineWidth = renderedLetter.sw; } } else if (lastStrokeW !== this.values.sWidth) { lastStrokeW = this.values.sWidth; renderer.ctxLineWidth(this.values.sWidth); // ctx.lineWidth = this.values.sWidth; } if (renderedLetter && renderedLetter.sc) { if (lastStroke !== renderedLetter.sc) { lastStroke = renderedLetter.sc; renderer.ctxStrokeStyle(renderedLetter.sc); // ctx.strokeStyle = renderedLetter.sc; } } else if (lastStroke !== this.values.stroke) { lastStroke = this.values.stroke; renderer.ctxStrokeStyle(this.values.stroke); // ctx.strokeStyle = this.values.stroke; } commands = this.textSpans[i].elem; jLen = commands.length; this.globalData.canvasContext.beginPath(); for (j = 0; j < jLen; j += 1) { pathArr = commands[j]; kLen = pathArr.length; this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]); for (k = 2; k < kLen; k += 6) { this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]); } } this.globalData.canvasContext.closePath(); renderer.ctxStroke(); // this.globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0); } if (renderedLetter) { this.globalData.renderer.restore(); } } } }; function CVImageElement(data, globalData, comp) { this.assetData = globalData.getAssetData(data.refId); this.img = globalData.imageLoader.getAsset(this.assetData); this.initElement(data, globalData, comp); } extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement); CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement; CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame; CVImageElement.prototype.createContent = function () { if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) { var canvas = createTag('canvas'); canvas.width = this.assetData.w; canvas.height = this.assetData.h; var ctx = canvas.getContext('2d'); var imgW = this.img.width; var imgH = this.img.height; var imgRel = imgW / imgH; var canvasRel = this.assetData.w / this.assetData.h; var widthCrop; var heightCrop; var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio; if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') { heightCrop = imgH; widthCrop = heightCrop * canvasRel; } else { widthCrop = imgW; heightCrop = widthCrop / canvasRel; } ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h); this.img = canvas; } }; CVImageElement.prototype.renderInnerContent = function () { this.canvasContext.drawImage(this.img, 0, 0); }; CVImageElement.prototype.destroy = function () { this.img = null; }; function CVSolidElement(data, globalData, comp) { this.initElement(data, globalData, comp); } extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement); CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement; CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame; CVSolidElement.prototype.renderInnerContent = function () { // var ctx = this.canvasContext; this.globalData.renderer.ctxFillStyle(this.data.sc); // ctx.fillStyle = this.data.sc; this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); // ctx.fillRect(0, 0, this.data.sw, this.data.sh); // }; function CanvasRendererBase() {} extendPrototype([BaseRenderer], CanvasRendererBase); CanvasRendererBase.prototype.createShape = function (data) { return new CVShapeElement(data, this.globalData, this); }; CanvasRendererBase.prototype.createText = function (data) { return new CVTextElement(data, this.globalData, this); }; CanvasRendererBase.prototype.createImage = function (data) { return new CVImageElement(data, this.globalData, this); }; CanvasRendererBase.prototype.createSolid = function (data) { return new CVSolidElement(data, this.globalData, this); }; CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull; CanvasRendererBase.prototype.ctxTransform = function (props) { if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) { return; } this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]); }; CanvasRendererBase.prototype.ctxOpacity = function (op) { this.canvasContext.globalAlpha *= op < 0 ? 0 : op; }; CanvasRendererBase.prototype.ctxFillStyle = function (value) { this.canvasContext.fillStyle = value; }; CanvasRendererBase.prototype.ctxStrokeStyle = function (value) { this.canvasContext.strokeStyle = value; }; CanvasRendererBase.prototype.ctxLineWidth = function (value) { this.canvasContext.lineWidth = value; }; CanvasRendererBase.prototype.ctxLineCap = function (value) { this.canvasContext.lineCap = value; }; CanvasRendererBase.prototype.ctxLineJoin = function (value) { this.canvasContext.lineJoin = value; }; CanvasRendererBase.prototype.ctxMiterLimit = function (value) { this.canvasContext.miterLimit = value; }; CanvasRendererBase.prototype.ctxFill = function (rule) { this.canvasContext.fill(rule); }; CanvasRendererBase.prototype.ctxFillRect = function (x, y, w, h) { this.canvasContext.fillRect(x, y, w, h); }; CanvasRendererBase.prototype.ctxStroke = function () { this.canvasContext.stroke(); }; CanvasRendererBase.prototype.reset = function () { if (!this.renderConfig.clearCanvas) { this.canvasContext.restore(); return; } this.contextData.reset(); }; CanvasRendererBase.prototype.save = function () { this.canvasContext.save(); }; CanvasRendererBase.prototype.restore = function (actionFlag) { if (!this.renderConfig.clearCanvas) { this.canvasContext.restore(); return; } if (actionFlag) { this.globalData.blendMode = 'source-over'; } this.contextData.restore(actionFlag); }; CanvasRendererBase.prototype.configAnimation = function (animData) { if (this.animationItem.wrapper) { this.animationItem.container = createTag('canvas'); var containerStyle = this.animationItem.container.style; containerStyle.width = '100%'; containerStyle.height = '100%'; var origin = '0px 0px 0px'; containerStyle.transformOrigin = origin; containerStyle.mozTransformOrigin = origin; containerStyle.webkitTransformOrigin = origin; containerStyle['-webkit-transform'] = origin; containerStyle.contentVisibility = this.renderConfig.contentVisibility; this.animationItem.wrapper.appendChild(this.animationItem.container); this.canvasContext = this.animationItem.container.getContext('2d'); if (this.renderConfig.className) { this.animationItem.container.setAttribute('class', this.renderConfig.className); } if (this.renderConfig.id) { this.animationItem.container.setAttribute('id', this.renderConfig.id); } } else { this.canvasContext = this.renderConfig.context; } this.contextData.setContext(this.canvasContext); this.data = animData; this.layers = animData.layers; this.transformCanvas = { w: animData.w, h: animData.h, sx: 0, sy: 0, tx: 0, ty: 0 }; this.setupGlobalData(animData, document.body); this.globalData.canvasContext = this.canvasContext; this.globalData.renderer = this; this.globalData.isDashed = false; this.globalData.progressiveLoad = this.renderConfig.progressiveLoad; this.globalData.transformCanvas = this.transformCanvas; this.elements = createSizedArray(animData.layers.length); this.updateContainerSize(); }; CanvasRendererBase.prototype.updateContainerSize = function (width, height) { this.reset(); var elementWidth; var elementHeight; if (width) { elementWidth = width; elementHeight = height; this.canvasContext.canvas.width = elementWidth; this.canvasContext.canvas.height = elementHeight; } else { if (this.animationItem.wrapper && this.animationItem.container) { elementWidth = this.animationItem.wrapper.offsetWidth; elementHeight = this.animationItem.wrapper.offsetHeight; } else { elementWidth = this.canvasContext.canvas.width; elementHeight = this.canvasContext.canvas.height; } this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr; this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr; } var elementRel; var animationRel; if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) { var par = this.renderConfig.preserveAspectRatio.split(' '); var fillType = par[1] || 'meet'; var pos = par[0] || 'xMidYMid'; var xPos = pos.substr(0, 4); var yPos = pos.substr(4); elementRel = elementWidth / elementHeight; animationRel = this.transformCanvas.w / this.transformCanvas.h; if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') { this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr); this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr); } else { this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr); this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr); } if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) { this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr; } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) { this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr; } else { this.transformCanvas.tx = 0; } if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) { this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr; } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) { this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr; } else { this.transformCanvas.ty = 0; } } else if (this.renderConfig.preserveAspectRatio === 'none') { this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr); this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr); this.transformCanvas.tx = 0; this.transformCanvas.ty = 0; } else { this.transformCanvas.sx = this.renderConfig.dpr; this.transformCanvas.sy = this.renderConfig.dpr; this.transformCanvas.tx = 0; this.transformCanvas.ty = 0; } this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1]; /* var i, len = this.elements.length; for(i=0;i<len;i+=1){ if(this.elements[i] && this.elements[i].data.ty === 0){ this.elements[i].resize(this.globalData.transformCanvas); } } */ this.ctxTransform(this.transformCanvas.props); this.canvasContext.beginPath(); this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h); this.canvasContext.closePath(); this.canvasContext.clip(); this.renderFrame(this.renderedFrame, true); }; CanvasRendererBase.prototype.destroy = function () { if (this.renderConfig.clearCanvas && this.animationItem.wrapper) { this.animationItem.wrapper.innerText = ''; } var i; var len = this.layers ? this.layers.length : 0; for (i = len - 1; i >= 0; i -= 1) { if (this.elements[i] && this.elements[i].destroy) { this.elements[i].destroy(); } } this.elements.length = 0; this.globalData.canvasContext = null; this.animationItem.container = null; this.destroyed = true; }; CanvasRendererBase.prototype.renderFrame = function (num, forceRender) { if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) { return; } this.renderedFrame = num; this.globalData.frameNum = num - this.animationItem._isFirstFrame; this.globalData.frameId += 1; this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender; this.globalData.projectInterface.currentFrame = num; // console.log('--------'); // console.log('NEW: ',num); var i; var len = this.layers.length; if (!this.completeLayers) { this.checkLayers(num); } for (i = len - 1; i >= 0; i -= 1) { if (this.completeLayers || this.elements[i]) { this.elements[i].prepareFrame(num - this.layers[i].st); } } if (this.globalData._mdf) { if (this.renderConfig.clearCanvas === true) { this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h); } else { this.save(); } for (i = len - 1; i >= 0; i -= 1) { if (this.completeLayers || this.elements[i]) { this.elements[i].renderFrame(); } } if (this.renderConfig.clearCanvas !== true) { this.restore(); } } }; CanvasRendererBase.prototype.buildItem = function (pos) { var elements = this.elements; if (elements[pos] || this.layers[pos].ty === 99) { return; } var element = this.createItem(this.layers[pos], this, this.globalData); elements[pos] = element; element.initExpressions(); /* if(this.layers[pos].ty === 0){ element.resize(this.globalData.transformCanvas); } */ }; CanvasRendererBase.prototype.checkPendingElements = function () { while (this.pendingElements.length) { var element = this.pendingElements.pop(); element.checkParenting(); } }; CanvasRendererBase.prototype.hide = function () { this.animationItem.container.style.display = 'none'; }; CanvasRendererBase.prototype.show = function () { this.animationItem.container.style.display = 'block'; }; function CanvasContext() { this.opacity = -1; this.transform = createTypedArray('float32', 16); this.fillStyle = ''; this.strokeStyle = ''; this.lineWidth = ''; this.lineCap = ''; this.lineJoin = ''; this.miterLimit = ''; this.id = Math.random(); } function CVContextData() { this.stack = []; this.cArrPos = 0; this.cTr = new Matrix(); var i; var len = 15; for (i = 0; i < len; i += 1) { var canvasContext = new CanvasContext(); this.stack[i] = canvasContext; } this._length = len; this.nativeContext = null; this.transformMat = new Matrix(); this.currentOpacity = 1; // this.currentFillStyle = ''; this.appliedFillStyle = ''; // this.currentStrokeStyle = ''; this.appliedStrokeStyle = ''; // this.currentLineWidth = ''; this.appliedLineWidth = ''; // this.currentLineCap = ''; this.appliedLineCap = ''; // this.currentLineJoin = ''; this.appliedLineJoin = ''; // this.appliedMiterLimit = ''; this.currentMiterLimit = ''; } CVContextData.prototype.duplicate = function () { var newLength = this._length * 2; var i = 0; for (i = this._length; i < newLength; i += 1) { this.stack[i] = new CanvasContext(); } this._length = newLength; }; CVContextData.prototype.reset = function () { this.cArrPos = 0; this.cTr.reset(); this.stack[this.cArrPos].opacity = 1; }; CVContextData.prototype.restore = function (forceRestore) { this.cArrPos -= 1; var currentContext = this.stack[this.cArrPos]; var transform = currentContext.transform; var i; var arr = this.cTr.props; for (i = 0; i < 16; i += 1) { arr[i] = transform[i]; } if (forceRestore) { this.nativeContext.restore(); var prevStack = this.stack[this.cArrPos + 1]; this.appliedFillStyle = prevStack.fillStyle; this.appliedStrokeStyle = prevStack.strokeStyle; this.appliedLineWidth = prevStack.lineWidth; this.appliedLineCap = prevStack.lineCap; this.appliedLineJoin = prevStack.lineJoin; this.appliedMiterLimit = prevStack.miterLimit; } this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]); if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) { this.nativeContext.globalAlpha = currentContext.opacity; this.currentOpacity = currentContext.opacity; } this.currentFillStyle = currentContext.fillStyle; this.currentStrokeStyle = currentContext.strokeStyle; this.currentLineWidth = currentContext.lineWidth; this.currentLineCap = currentContext.lineCap; this.currentLineJoin = currentContext.lineJoin; this.currentMiterLimit = currentContext.miterLimit; }; CVContextData.prototype.save = function (saveOnNativeFlag) { if (saveOnNativeFlag) { this.nativeContext.save(); } var props = this.cTr.props; if (this._length <= this.cArrPos) { this.duplicate(); } var currentStack = this.stack[this.cArrPos]; var i; for (i = 0; i < 16; i += 1) { currentStack.transform[i] = props[i]; } this.cArrPos += 1; var newStack = this.stack[this.cArrPos]; newStack.opacity = currentStack.opacity; newStack.fillStyle = currentStack.fillStyle; newStack.strokeStyle = currentStack.strokeStyle; newStack.lineWidth = currentStack.lineWidth; newStack.lineCap = currentStack.lineCap; newStack.lineJoin = currentStack.lineJoin; newStack.miterLimit = currentStack.miterLimit; }; CVContextData.prototype.setOpacity = function (value) { this.stack[this.cArrPos].opacity = value; }; CVContextData.prototype.setContext = function (value) { this.nativeContext = value; }; CVContextData.prototype.fillStyle = function (value) { if (this.stack[this.cArrPos].fillStyle !== value) { this.currentFillStyle = value; this.stack[this.cArrPos].fillStyle = value; } }; CVContextData.prototype.strokeStyle = function (value) { if (this.stack[this.cArrPos].strokeStyle !== value) { this.currentStrokeStyle = value; this.stack[this.cArrPos].strokeStyle = value; } }; CVContextData.prototype.lineWidth = function (value) { if (this.stack[this.cArrPos].lineWidth !== value) { this.currentLineWidth = value; this.stack[this.cArrPos].lineWidth = value; } }; CVContextData.prototype.lineCap = function (value) { if (this.stack[this.cArrPos].lineCap !== value) { this.currentLineCap = value; this.stack[this.cArrPos].lineCap = value; } }; CVContextData.prototype.lineJoin = function (value) { if (this.stack[this.cArrPos].lineJoin !== value) { this.currentLineJoin = value; this.stack[this.cArrPos].lineJoin = value; } }; CVContextData.prototype.miterLimit = function (value) { if (this.stack[this.cArrPos].miterLimit !== value) { this.currentMiterLimit = value; this.stack[this.cArrPos].miterLimit = value; } }; CVContextData.prototype.transform = function (props) { this.transformMat.cloneFromProps(props); // Taking the last transform value from the stored stack of transforms var currentTransform = this.cTr; // Applying the last transform value after the new transform to respect the order of transformations this.transformMat.multiply(currentTransform); // Storing the new transformed value in the stored transform currentTransform.cloneFromProps(this.transformMat.props); var trProps = currentTransform.props; // Applying the new transform to the canvas this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]); }; CVContextData.prototype.opacity = function (op) { var currentOpacity = this.stack[this.cArrPos].opacity; currentOpacity *= op < 0 ? 0 : op; if (this.stack[this.cArrPos].opacity !== currentOpacity) { if (this.currentOpacity !== op) { this.nativeContext.globalAlpha = op; this.currentOpacity = op; } this.stack[this.cArrPos].opacity = currentOpacity; } }; CVContextData.prototype.fill = function (rule) { if (this.appliedFillStyle !== this.currentFillStyle) { this.appliedFillStyle = this.currentFillStyle; this.nativeContext.fillStyle = this.appliedFillStyle; } this.nativeContext.fill(rule); }; CVContextData.prototype.fillRect = function (x, y, w, h) { if (this.appliedFillStyle !== this.currentFillStyle) { this.appliedFillStyle = this.currentFillStyle; this.nativeContext.fillStyle = this.appliedFillStyle; } this.nativeContext.fillRect(x, y, w, h); }; CVContextData.prototype.stroke = function () { if (this.appliedStrokeStyle !== this.currentStrokeStyle) { this.appliedStrokeStyle = this.currentStrokeStyle; this.nativeContext.strokeStyle = this.appliedStrokeStyle; } if (this.appliedLineWidth !== this.currentLineWidth) { this.appliedLineWidth = this.currentLineWidth; this.nativeContext.lineWidth = this.appliedLineWidth; } if (this.appliedLineCap !== this.currentLineCap) { this.appliedLineCap = this.currentLineCap; this.nativeContext.lineCap = this.appliedLineCap; } if (this.appliedLineJoin !== this.currentLineJoin) { this.appliedLineJoin = this.currentLineJoin; this.nativeContext.lineJoin = this.appliedLineJoin; } if (this.appliedMiterLimit !== this.currentMiterLimit) { this.appliedMiterLimit = this.currentMiterLimit; this.nativeContext.miterLimit = this.appliedMiterLimit; } this.nativeContext.stroke(); }; function CVCompElement(data, globalData, comp) { this.completeLayers = false; this.layers = data.layers; this.pendingElements = []; this.elements = createSizedArray(this.layers.length); this.initElement(data, globalData, comp); this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true }; } extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement); CVCompElement.prototype.renderInnerContent = function () { var ctx = this.canvasContext; ctx.beginPath(); ctx.moveTo(0, 0); ctx.lineTo(this.data.w, 0); ctx.lineTo(this.data.w, this.data.h); ctx.lineTo(0, this.data.h); ctx.lineTo(0, 0); ctx.clip(); var i; var len = this.layers.length; for (i = len - 1; i >= 0; i -= 1) { if (this.completeLayers || this.elements[i]) { this.elements[i].renderFrame(); } } }; CVCompElement.prototype.destroy = function () { var i; var len = this.layers.length; for (i = len - 1; i >= 0; i -= 1) { if (this.elements[i]) { this.elements[i].destroy(); } } this.layers = null; this.elements = null; }; CVCompElement.prototype.createComp = function (data) { return new CVCompElement(data, this.globalData, this); }; function CanvasRenderer(animationItem, config) { this.animationItem = animationItem; this.renderConfig = { clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true, context: config && config.context || null, progressiveLoad: config && config.progressiveLoad || false, preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet', imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice', contentVisibility: config && config.contentVisibility || 'visible', className: config && config.className || '', id: config && config.id || '', runExpressions: !config || config.runExpressions === undefined || config.runExpressions }; this.renderConfig.dpr = config && config.dpr || 1; if (this.animationItem.wrapper) { this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1; } this.renderedFrame = -1; this.globalData = { frameNum: -1, _mdf: false, renderConfig: this.renderConfig, currentGlobalAlpha: -1 }; this.contextData = new CVContextData(); this.elements = []; this.pendingElements = []; this.transformMat = new Matrix(); this.completeLayers = false; this.rendererType = 'canvas'; if (this.renderConfig.clearCanvas) { this.ctxTransform = this.contextData.transform.bind(this.contextData); this.ctxOpacity = this.contextData.opacity.bind(this.contextData); this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData); this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData); this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData); this.ctxLineCap = this.contextData.lineCap.bind(this.contextData); this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData); this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData); this.ctxFill = this.contextData.fill.bind(this.contextData); this.ctxFillRect = this.contextData.fillRect.bind(this.contextData); this.ctxStroke = this.contextData.stroke.bind(this.contextData); this.save = this.contextData.save.bind(this.contextData); } } extendPrototype([CanvasRendererBase], CanvasRenderer); CanvasRenderer.prototype.createComp = function (data) { return new CVCompElement(data, this.globalData, this); }; function HBaseElement() {} HBaseElement.prototype = { checkBlendMode: function checkBlendMode() {}, initRendererElement: function initRendererElement() { this.baseElement = createTag(this.data.tg || 'div'); if (this.data.hasMask) { this.svgElement = createNS('svg'); this.layerElement = createNS('g'); this.maskedElement = this.layerElement; this.svgElement.appendChild(this.layerElement); this.baseElement.appendChild(this.svgElement); } else { this.layerElement = this.baseElement; } styleDiv(this.baseElement); }, createContainerElements: function createContainerElements() { this.renderableEffectsManager = new CVEffects(this); this.transformedElement = this.baseElement; this.maskedElement = this.layerElement; if (this.data.ln) { this.layerElement.setAttribute('id', this.data.ln); } if (this.data.cl) { this.layerElement.setAttribute('class', this.data.cl); } if (this.data.bm !== 0) { this.setBlendMode(); } }, renderElement: function renderElement() { var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {}; if (this.finalTransform._matMdf) { var matrixValue = this.finalTransform.mat.toCSS(); transformedElementStyle.transform = matrixValue; transformedElementStyle.webkitTransform = matrixValue; } if (this.finalTransform._opMdf) { transformedElementStyle.opacity = this.finalTransform.mProp.o.v; } }, renderFrame: function renderFrame() { // If it is exported as hidden (data.hd === true) no need to render // If it is not visible no need to render if (this.data.hd || this.hidden) { return; } this.renderTransform(); this.renderRenderable(); this.renderElement(); this.renderInnerContent(); if (this._isFirstFrame) { this._isFirstFrame = false; } }, destroy: function destroy() { this.layerElement = null; this.transformedElement = null; if (this.matteElement) { this.matteElement = null; } if (this.maskManager) { this.maskManager.destroy(); this.maskManager = null; } }, createRenderableComponents: function createRenderableComponents() { this.maskManager = new MaskElement(this.data, this, this.globalData); }, addEffects: function addEffects() {}, setMatte: function setMatte() {} }; HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement; HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy; HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting; function HSolidElement(data, globalData, comp) { this.initElement(data, globalData, comp); } extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement); HSolidElement.prototype.createContent = function () { var rect; if (this.data.hasMask) { rect = createNS('rect'); rect.setAttribute('width', this.data.sw); rect.setAttribute('height', this.data.sh); rect.setAttribute('fill', this.data.sc); this.svgElement.setAttribute('width', this.data.sw); this.svgElement.setAttribute('height', this.data.sh); } else { rect = createTag('div'); rect.style.width = this.data.sw + 'px'; rect.style.height = this.data.sh + 'px'; rect.style.backgroundColor = this.data.sc; } this.layerElement.appendChild(rect); }; function HShapeElement(data, globalData, comp) { // List of drawable elements this.shapes = []; // Full shape data this.shapesData = data.shapes; // List of styles that will be applied to shapes this.stylesList = []; // List of modifiers that will be applied to shapes this.shapeModifiers = []; // List of items in shape tree this.itemsData = []; // List of items in previous shape tree this.processedElements = []; // List of animated components this.animatedContents = []; this.shapesContainer = createNS('g'); this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties. // List of elements that have been created this.prevViewData = []; this.currentBBox = { x: 999999, y: -999999, h: 0, w: 0 }; } extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement); HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent; HShapeElement.prototype.createContent = function () { var cont; this.baseElement.style.fontSize = 0; if (this.data.hasMask) { this.layerElement.appendChild(this.shapesContainer); cont = this.svgElement; } else { cont = createNS('svg'); var size = this.comp.data ? this.comp.data : this.globalData.compSize; cont.setAttribute('width', size.w); cont.setAttribute('height', size.h); cont.appendChild(this.shapesContainer); this.layerElement.appendChild(cont); } this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true); this.filterUniqueShapes(); this.shapeCont = cont; }; HShapeElement.prototype.getTransformedPoint = function (transformers, point) { var i; var len = transformers.length; for (i = 0; i < len; i += 1) { point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0); } return point; }; HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) { var shape = item.sh.v; var transformers = item.transformers; var i; var len = shape._length; var vPoint; var oPoint; var nextIPoint; var nextVPoint; if (len <= 1) { return; } for (i = 0; i < len - 1; i += 1) { vPoint = this.getTransformedPoint(transformers, shape.v[i]); oPoint = this.getTransformedPoint(transformers, shape.o[i]); nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]); nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]); this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox); } if (shape.c) { vPoint = this.getTransformedPoint(transformers, shape.v[i]); oPoint = this.getTransformedPoint(transformers, shape.o[i]); nextIPoint = this.getTransformedPoint(transformers, shape.i[0]); nextVPoint = this.getTransformedPoint(transformers, shape.v[0]); this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox); } }; HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) { this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint); var bounds = this.shapeBoundingBox; boundingBox.x = bmMin(bounds.left, boundingBox.x); boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax); boundingBox.y = bmMin(bounds.top, boundingBox.y); boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax); }; HShapeElement.prototype.shapeBoundingBox = { left: 0, right: 0, top: 0, bottom: 0 }; HShapeElement.prototype.tempBoundingBox = { x: 0, xMax: 0, y: 0, yMax: 0, width: 0, height: 0 }; HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) { var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]]; for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) { // eslint-disable-line no-plusplus b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i]; a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i]; c = 3 * p1[i] - 3 * p0[i]; b |= 0; // eslint-disable-line no-bitwise a |= 0; // eslint-disable-line no-bitwise c |= 0; // eslint-disable-line no-bitwise if (a === 0 && b === 0) {// } else if (a === 0) { t = -c / b; if (t > 0 && t < 1) { bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i)); } } else { b2ac = b * b - 4 * c * a; if (b2ac >= 0) { t1 = (-b + bmSqrt(b2ac)) / (2 * a); if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i)); t2 = (-b - bmSqrt(b2ac)) / (2 * a); if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i)); } } } this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]); this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]); this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]); this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]); }; HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) { return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i]; }; HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) { var i; var len = itemsData.length; for (i = 0; i < len; i += 1) { if (itemsData[i] && itemsData[i].sh) { this.calculateShapeBoundingBox(itemsData[i], boundingBox); } else if (itemsData[i] && itemsData[i].it) { this.calculateBoundingBox(itemsData[i].it, boundingBox); } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) { this.expandStrokeBoundingBox(itemsData[i].w, boundingBox); } } }; HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) { var width = 0; if (widthProperty.keyframes) { for (var i = 0; i < widthProperty.keyframes.length; i += 1) { var kfw = widthProperty.keyframes[i].s; if (kfw > width) { width = kfw; } } width *= widthProperty.mult; } else { width = widthProperty.v * widthProperty.mult; } boundingBox.x -= width; boundingBox.xMax += width; boundingBox.y -= width; boundingBox.yMax += width; }; HShapeElement.prototype.currentBoxContains = function (box) { return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height; }; HShapeElement.prototype.renderInnerContent = function () { this._renderShapeFrame(); if (!this.hidden && (this._isFirstFrame || this._mdf)) { var tempBoundingBox = this.tempBoundingBox; var max = 999999; tempBoundingBox.x = max; tempBoundingBox.xMax = -max; tempBoundingBox.y = max; tempBoundingBox.yMax = -max; this.calculateBoundingBox(this.itemsData, tempBoundingBox); tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x; tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox(); if (this.currentBoxContains(tempBoundingBox)) { return; } var changed = false; if (this.currentBBox.w !== tempBoundingBox.width) { this.currentBBox.w = tempBoundingBox.width; this.shapeCont.setAttribute('width', tempBoundingBox.width); changed = true; } if (this.currentBBox.h !== tempBoundingBox.height) { this.currentBBox.h = tempBoundingBox.height; this.shapeCont.setAttribute('height', tempBoundingBox.height); changed = true; } if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) { this.currentBBox.w = tempBoundingBox.width; this.currentBBox.h = tempBoundingBox.height; this.currentBBox.x = tempBoundingBox.x; this.currentBBox.y = tempBoundingBox.y; this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h); var shapeStyle = this.shapeCont.style; var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)'; shapeStyle.transform = shapeTransform; shapeStyle.webkitTransform = shapeTransform; } } }; function HTextElement(data, globalData, comp) { this.textSpans = []; this.textPaths = []; this.currentBBox = { x: 999999, y: -999999, h: 0, w: 0 }; this.renderType = 'svg'; this.isMasked = false; this.initElement(data, globalData, comp); } extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement); HTextElement.prototype.createContent = function () { this.isMasked = this.checkMasks(); if (this.isMasked) { this.renderType = 'svg'; this.compW = this.comp.data.w; this.compH = this.comp.data.h; this.svgElement.setAttribute('width', this.compW); this.svgElement.setAttribute('height', this.compH); var g = createNS('g'); this.maskedElement.appendChild(g); this.innerElem = g; } else { this.renderType = 'html'; this.innerElem = this.layerElement; } this.checkParenting(); }; HTextElement.prototype.buildNewText = function () { var documentData = this.textProperty.currentData; this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0); var innerElemStyle = this.innerElem.style; var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)'; innerElemStyle.fill = textColor; innerElemStyle.color = textColor; if (documentData.sc) { innerElemStyle.stroke = this.buildColor(documentData.sc); innerElemStyle.strokeWidth = documentData.sw + 'px'; } var fontData = this.globalData.fontManager.getFontByName(documentData.f); if (!this.globalData.fontManager.chars) { innerElemStyle.fontSize = documentData.finalSize + 'px'; innerElemStyle.lineHeight = documentData.finalSize + 'px'; if (fontData.fClass) { this.innerElem.className = fontData.fClass; } else { innerElemStyle.fontFamily = fontData.fFamily; var fWeight = documentData.fWeight; var fStyle = documentData.fStyle; innerElemStyle.fontStyle = fStyle; innerElemStyle.fontWeight = fWeight; } } var i; var len; var letters = documentData.l; len = letters.length; var tSpan; var tParent; var tCont; var matrixHelper = this.mHelper; var shapes; var shapeStr = ''; var cnt = 0; for (i = 0; i < len; i += 1) { if (this.globalData.fontManager.chars) { if (!this.textPaths[cnt]) { tSpan = createNS('path'); tSpan.setAttribute('stroke-linecap', lineCapEnum[1]); tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]); tSpan.setAttribute('stroke-miterlimit', '4'); } else { tSpan = this.textPaths[cnt]; } if (!this.isMasked) { if (this.textSpans[cnt]) { tParent = this.textSpans[cnt]; tCont = tParent.children[0]; } else { tParent = createTag('div'); tParent.style.lineHeight = 0; tCont = createNS('svg'); tCont.appendChild(tSpan); styleDiv(tParent); } } } else if (!this.isMasked) { if (this.textSpans[cnt]) { tParent = this.textSpans[cnt]; tSpan = this.textPaths[cnt]; } else { tParent = createTag('span'); styleDiv(tParent); tSpan = createTag('span'); styleDiv(tSpan); tParent.appendChild(tSpan); } } else { tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text'); } // tSpan.setAttribute('visibility', 'hidden'); if (this.globalData.fontManager.chars) { var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily); var shapeData; if (charData) { shapeData = charData.data; } else { shapeData = null; } matrixHelper.reset(); if (shapeData && shapeData.shapes && shapeData.shapes.length) { shapes = shapeData.shapes[0].it; matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100); shapeStr = this.createPathShape(matrixHelper, shapes); tSpan.setAttribute('d', shapeStr); } if (!this.isMasked) { this.innerElem.appendChild(tParent); if (shapeData && shapeData.shapes) { // document.body.appendChild is needed to get exact measure of shape document.body.appendChild(tCont); var boundingBox = tCont.getBBox(); tCont.setAttribute('width', boundingBox.width + 2); tCont.setAttribute('height', boundingBox.height + 2); tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2)); var tContStyle = tCont.style; var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)'; tContStyle.transform = tContTranslation; tContStyle.webkitTransform = tContTranslation; letters[i].yOffset = boundingBox.y - 1; } else { tCont.setAttribute('width', 1); tCont.setAttribute('height', 1); } tParent.appendChild(tCont); } else { this.innerElem.appendChild(tSpan); } } else { tSpan.textContent = letters[i].val; tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'); if (!this.isMasked) { this.innerElem.appendChild(tParent); // var tStyle = tSpan.style; var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)'; tStyle.transform = tSpanTranslation; tStyle.webkitTransform = tSpanTranslation; } else { this.innerElem.appendChild(tSpan); } } // if (!this.isMasked) { this.textSpans[cnt] = tParent; } else { this.textSpans[cnt] = tSpan; } this.textSpans[cnt].style.display = 'block'; this.textPaths[cnt] = tSpan; cnt += 1; } while (cnt < this.textSpans.length) { this.textSpans[cnt].style.display = 'none'; cnt += 1; } }; HTextElement.prototype.renderInnerContent = function () { this.validateText(); var svgStyle; if (this.data.singleShape) { if (!this._isFirstFrame && !this.lettersChangedFlag) { return; } if (this.isMasked && this.finalTransform._matMdf) { // Todo Benchmark if using this is better than getBBox this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH); svgStyle = this.svgElement.style; var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)'; svgStyle.transform = translation; svgStyle.webkitTransform = translation; } } this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag); if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) { return; } var i; var len; var count = 0; var renderedLetters = this.textAnimator.renderedLetters; var letters = this.textProperty.currentData.l; len = letters.length; var renderedLetter; var textSpan; var textPath; for (i = 0; i < len; i += 1) { if (letters[i].n) { count += 1; } else { textSpan = this.textSpans[i]; textPath = this.textPaths[i]; renderedLetter = renderedLetters[count]; count += 1; if (renderedLetter._mdf.m) { if (!this.isMasked) { textSpan.style.webkitTransform = renderedLetter.m; textSpan.style.transform = renderedLetter.m; } else { textSpan.setAttribute('transform', renderedLetter.m); } } /// /textSpan.setAttribute('opacity',renderedLetter.o); textSpan.style.opacity = renderedLetter.o; if (renderedLetter.sw && renderedLetter._mdf.sw) { textPath.setAttribute('stroke-width', renderedLetter.sw); } if (renderedLetter.sc && renderedLetter._mdf.sc) { textPath.setAttribute('stroke', renderedLetter.sc); } if (renderedLetter.fc && renderedLetter._mdf.fc) { textPath.setAttribute('fill', renderedLetter.fc); textPath.style.color = renderedLetter.fc; } } } if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) { var boundingBox = this.innerElem.getBBox(); if (this.currentBBox.w !== boundingBox.width) { this.currentBBox.w = boundingBox.width; this.svgElement.setAttribute('width', boundingBox.width); } if (this.currentBBox.h !== boundingBox.height) { this.currentBBox.h = boundingBox.height; this.svgElement.setAttribute('height', boundingBox.height); } var margin = 1; if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) { this.currentBBox.w = boundingBox.width + margin * 2; this.currentBBox.h = boundingBox.height + margin * 2; this.currentBBox.x = boundingBox.x - margin; this.currentBBox.y = boundingBox.y - margin; this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h); svgStyle = this.svgElement.style; var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)'; svgStyle.transform = svgTransform; svgStyle.webkitTransform = svgTransform; } } }; function HCameraElement(data, globalData, comp) { this.initFrame(); this.initBaseData(data, globalData, comp); this.initHierarchy(); var getProp = PropertyFactory.getProp; this.pe = getProp(this, data.pe, 0, 0, this); if (data.ks.p.s) { this.px = getProp(this, data.ks.p.x, 1, 0, this); this.py = getProp(this, data.ks.p.y, 1, 0, this); this.pz = getProp(this, data.ks.p.z, 1, 0, this); } else { this.p = getProp(this, data.ks.p, 1, 0, this); } if (data.ks.a) { this.a = getProp(this, data.ks.a, 1, 0, this); } if (data.ks.or.k.length && data.ks.or.k[0].to) { var i; var len = data.ks.or.k.length; for (i = 0; i < len; i += 1) { data.ks.or.k[i].to = null; data.ks.or.k[i].ti = null; } } this.or = getProp(this, data.ks.or, 1, degToRads, this); this.or.sh = true; this.rx = getProp(this, data.ks.rx, 0, degToRads, this); this.ry = getProp(this, data.ks.ry, 0, degToRads, this); this.rz = getProp(this, data.ks.rz, 0, degToRads, this); this.mat = new Matrix(); this._prevMat = new Matrix(); this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface. this.finalTransform = { mProp: this }; } extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement); HCameraElement.prototype.setup = function () { var i; var len = this.comp.threeDElements.length; var comp; var perspectiveStyle; var containerStyle; for (i = 0; i < len; i += 1) { // [perspectiveElem,container] comp = this.comp.threeDElements[i]; if (comp.type === '3d') { perspectiveStyle = comp.perspectiveElem.style; containerStyle = comp.container.style; var perspective = this.pe.v + 'px'; var origin = '0px 0px 0px'; var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)'; perspectiveStyle.perspective = perspective; perspectiveStyle.webkitPerspective = perspective; containerStyle.transformOrigin = origin; containerStyle.mozTransformOrigin = origin; containerStyle.webkitTransformOrigin = origin; perspectiveStyle.transform = matrix; perspectiveStyle.webkitTransform = matrix; } } }; HCameraElement.prototype.createElements = function () {}; HCameraElement.prototype.hide = function () {}; HCameraElement.prototype.renderFrame = function () { var _mdf = this._isFirstFrame; var i; var len; if (this.hierarchy) { len = this.hierarchy.length; for (i = 0; i < len; i += 1) { _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf; } } if (_mdf || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) { this.mat.reset(); if (this.hierarchy) { len = this.hierarchy.length - 1; for (i = len; i >= 0; i -= 1) { var mTransf = this.hierarchy[i].finalTransform.mProp; this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]); this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]); this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v); this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]); this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]); } } if (this.p) { this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]); } else { this.mat.translate(-this.px.v, -this.py.v, this.pz.v); } if (this.a) { var diffVector; if (this.p) { diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]]; } else { diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]]; } var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v)); var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag]; var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]); var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ); var mRotationY = Math.atan2(lookDir[0], -lookDir[2]); this.mat.rotateY(mRotationY).rotateX(-mRotationX); } this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v); this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]); this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0); this.mat.translate(0, 0, this.pe.v); var hasMatrixChanged = !this._prevMat.equals(this.mat); if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) { len = this.comp.threeDElements.length; var comp; var perspectiveStyle; var containerStyle; for (i = 0; i < len; i += 1) { comp = this.comp.threeDElements[i]; if (comp.type === '3d') { if (hasMatrixChanged) { var matValue = this.mat.toCSS(); containerStyle = comp.container.style; containerStyle.transform = matValue; containerStyle.webkitTransform = matValue; } if (this.pe._mdf) { perspectiveStyle = comp.perspectiveElem.style; perspectiveStyle.perspective = this.pe.v + 'px'; perspectiveStyle.webkitPerspective = this.pe.v + 'px'; } } } this.mat.clone(this._prevMat); } } this._isFirstFrame = false; }; HCameraElement.prototype.prepareFrame = function (num) { this.prepareProperties(num, true); }; HCameraElement.prototype.destroy = function () {}; HCameraElement.prototype.getBaseElement = function () { return null; }; function HImageElement(data, globalData, comp) { this.assetData = globalData.getAssetData(data.refId); this.initElement(data, globalData, comp); } extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement); HImageElement.prototype.createContent = function () { var assetPath = this.globalData.getAssetsPath(this.assetData); var img = new Image(); if (this.data.hasMask) { this.imageElem = createNS('image'); this.imageElem.setAttribute('width', this.assetData.w + 'px'); this.imageElem.setAttribute('height', this.assetData.h + 'px'); this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath); this.layerElement.appendChild(this.imageElem); this.baseElement.setAttribute('width', this.assetData.w); this.baseElement.setAttribute('height', this.assetData.h); } else { this.layerElement.appendChild(img); } img.crossOrigin = 'anonymous'; img.src = assetPath; if (this.data.ln) { this.baseElement.setAttribute('id', this.data.ln); } }; function HybridRendererBase(animationItem, config) { this.animationItem = animationItem; this.layers = null; this.renderedFrame = -1; this.renderConfig = { className: config && config.className || '', imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice', hideOnTransparent: !(config && config.hideOnTransparent === false), filterSize: { width: config && config.filterSize && config.filterSize.width || '400%', height: config && config.filterSize && config.filterSize.height || '400%', x: config && config.filterSize && config.filterSize.x || '-100%', y: config && config.filterSize && config.filterSize.y || '-100%' } }; this.globalData = { _mdf: false, frameNum: -1, renderConfig: this.renderConfig }; this.pendingElements = []; this.elements = []; this.threeDElements = []; this.destroyed = false; this.camera = null; this.supports3d = true; this.rendererType = 'html'; } extendPrototype([BaseRenderer], HybridRendererBase); HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem; HybridRendererBase.prototype.checkPendingElements = function () { while (this.pendingElements.length) { var element = this.pendingElements.pop(); element.checkParenting(); } }; HybridRendererBase.prototype.appendElementInPos = function (element, pos) { var newDOMElement = element.getBaseElement(); if (!newDOMElement) { return; } var layer = this.layers[pos]; if (!layer.ddd || !this.supports3d) { if (this.threeDElements) { this.addTo3dContainer(newDOMElement, pos); } else { var i = 0; var nextDOMElement; var nextLayer; var tmpDOMElement; while (i < pos) { if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) { nextLayer = this.elements[i]; tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement(); nextDOMElement = tmpDOMElement || nextDOMElement; } i += 1; } if (nextDOMElement) { if (!layer.ddd || !this.supports3d) { this.layerElement.insertBefore(newDOMElement, nextDOMElement); } } else if (!layer.ddd || !this.supports3d) { this.layerElement.appendChild(newDOMElement); } } } else { this.addTo3dContainer(newDOMElement, pos); } }; HybridRendererBase.prototype.createShape = function (data) { if (!this.supports3d) { return new SVGShapeElement(data, this.globalData, this); } return new HShapeElement(data, this.globalData, this); }; HybridRendererBase.prototype.createText = function (data) { if (!this.supports3d) { return new SVGTextLottieElement(data, this.globalData, this); } return new HTextElement(data, this.globalData, this); }; HybridRendererBase.prototype.createCamera = function (data) { this.camera = new HCameraElement(data, this.globalData, this); return this.camera; }; HybridRendererBase.prototype.createImage = function (data) { if (!this.supports3d) { return new IImageElement(data, this.globalData, this); } return new HImageElement(data, this.globalData, this); }; HybridRendererBase.prototype.createSolid = function (data) { if (!this.supports3d) { return new ISolidElement(data, this.globalData, this); } return new HSolidElement(data, this.globalData, this); }; HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull; HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) { var i = 0; var len = this.threeDElements.length; while (i < len) { if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) { return this.threeDElements[i].perspectiveElem; } i += 1; } return null; }; HybridRendererBase.prototype.createThreeDContainer = function (pos, type) { var perspectiveElem = createTag('div'); var style; var containerStyle; styleDiv(perspectiveElem); var container = createTag('div'); styleDiv(container); if (type === '3d') { style = perspectiveElem.style; style.width = this.globalData.compSize.w + 'px'; style.height = this.globalData.compSize.h + 'px'; var center = '50% 50%'; style.webkitTransformOrigin = center; style.mozTransformOrigin = center; style.transformOrigin = center; containerStyle = container.style; var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)'; containerStyle.transform = matrix; containerStyle.webkitTransform = matrix; } perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem); var threeDContainerData = { container: container, perspectiveElem: perspectiveElem, startPos: pos, endPos: pos, type: type }; this.threeDElements.push(threeDContainerData); return threeDContainerData; }; HybridRendererBase.prototype.build3dContainers = function () { var i; var len = this.layers.length; var lastThreeDContainerData; var currentContainer = ''; for (i = 0; i < len; i += 1) { if (this.layers[i].ddd && this.layers[i].ty !== 3) { if (currentContainer !== '3d') { currentContainer = '3d'; lastThreeDContainerData = this.createThreeDContainer(i, '3d'); } lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i); } else { if (currentContainer !== '2d') { currentContainer = '2d'; lastThreeDContainerData = this.createThreeDContainer(i, '2d'); } lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i); } } len = this.threeDElements.length; for (i = len - 1; i >= 0; i -= 1) { this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem); } }; HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) { var i = 0; var len = this.threeDElements.length; while (i < len) { if (pos <= this.threeDElements[i].endPos) { var j = this.threeDElements[i].startPos; var nextElement; while (j < pos) { if (this.elements[j] && this.elements[j].getBaseElement) { nextElement = this.elements[j].getBaseElement(); } j += 1; } if (nextElement) { this.threeDElements[i].container.insertBefore(elem, nextElement); } else { this.threeDElements[i].container.appendChild(elem); } break; } i += 1; } }; HybridRendererBase.prototype.configAnimation = function (animData) { var resizerElem = createTag('div'); var wrapper = this.animationItem.wrapper; var style = resizerElem.style; style.width = animData.w + 'px'; style.height = animData.h + 'px'; this.resizerElem = resizerElem; styleDiv(resizerElem); style.transformStyle = 'flat'; style.mozTransformStyle = 'flat'; style.webkitTransformStyle = 'flat'; if (this.renderConfig.className) { resizerElem.setAttribute('class', this.renderConfig.className); } wrapper.appendChild(resizerElem); style.overflow = 'hidden'; var svg = createNS('svg'); svg.setAttribute('width', '1'); svg.setAttribute('height', '1'); styleDiv(svg); this.resizerElem.appendChild(svg); var defs = createNS('defs'); svg.appendChild(defs); this.data = animData; // Mask animation this.setupGlobalData(animData, svg); this.globalData.defs = defs; this.layers = animData.layers; this.layerElement = this.resizerElem; this.build3dContainers(); this.updateContainerSize(); }; HybridRendererBase.prototype.destroy = function () { if (this.animationItem.wrapper) { this.animationItem.wrapper.innerText = ''; } this.animationItem.container = null; this.globalData.defs = null; var i; var len = this.layers ? this.layers.length : 0; for (i = 0; i < len; i += 1) { if (this.elements[i] && this.elements[i].destroy) { this.elements[i].destroy(); } } this.elements.length = 0; this.destroyed = true; this.animationItem = null; }; HybridRendererBase.prototype.updateContainerSize = function () { var elementWidth = this.animationItem.wrapper.offsetWidth; var elementHeight = this.animationItem.wrapper.offsetHeight; var elementRel = elementWidth / elementHeight; var animationRel = this.globalData.compSize.w / this.globalData.compSize.h; var sx; var sy; var tx; var ty; if (animationRel > elementRel) { sx = elementWidth / this.globalData.compSize.w; sy = elementWidth / this.globalData.compSize.w; tx = 0; ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2; } else { sx = elementHeight / this.globalData.compSize.h; sy = elementHeight / this.globalData.compSize.h; tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2; ty = 0; } var style = this.resizerElem.style; style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)'; style.transform = style.webkitTransform; }; HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame; HybridRendererBase.prototype.hide = function () { this.resizerElem.style.display = 'none'; }; HybridRendererBase.prototype.show = function () { this.resizerElem.style.display = 'block'; }; HybridRendererBase.prototype.initItems = function () { this.buildAllItems(); if (this.camera) { this.camera.setup(); } else { var cWidth = this.globalData.compSize.w; var cHeight = this.globalData.compSize.h; var i; var len = this.threeDElements.length; for (i = 0; i < len; i += 1) { var style = this.threeDElements[i].perspectiveElem.style; style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px'; style.perspective = style.webkitPerspective; } } }; HybridRendererBase.prototype.searchExtraCompositions = function (assets) { var i; var len = assets.length; var floatingContainer = createTag('div'); for (i = 0; i < len; i += 1) { if (assets[i].xt) { var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null); comp.initExpressions(); this.globalData.projectInterface.registerComposition(comp); } } }; function HCompElement(data, globalData, comp) { this.layers = data.layers; this.supports3d = !data.hasMask; this.completeLayers = false; this.pendingElements = []; this.elements = this.layers ? createSizedArray(this.layers.length) : []; this.initElement(data, globalData, comp); this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true }; } extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement); HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements; HCompElement.prototype.createContainerElements = function () { this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)'; if (this.data.hasMask) { this.svgElement.setAttribute('width', this.data.w); this.svgElement.setAttribute('height', this.data.h); this.transformedElement = this.baseElement; } else { this.transformedElement = this.layerElement; } }; HCompElement.prototype.addTo3dContainer = function (elem, pos) { var j = 0; var nextElement; while (j < pos) { if (this.elements[j] && this.elements[j].getBaseElement) { nextElement = this.elements[j].getBaseElement(); } j += 1; } if (nextElement) { this.layerElement.insertBefore(elem, nextElement); } else { this.layerElement.appendChild(elem); } }; HCompElement.prototype.createComp = function (data) { if (!this.supports3d) { return new SVGCompElement(data, this.globalData, this); } return new HCompElement(data, this.globalData, this); }; function HybridRenderer(animationItem, config) { this.animationItem = animationItem; this.layers = null; this.renderedFrame = -1; this.renderConfig = { className: config && config.className || '', imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice', hideOnTransparent: !(config && config.hideOnTransparent === false), filterSize: { width: config && config.filterSize && config.filterSize.width || '400%', height: config && config.filterSize && config.filterSize.height || '400%', x: config && config.filterSize && config.filterSize.x || '-100%', y: config && config.filterSize && config.filterSize.y || '-100%' }, runExpressions: !config || config.runExpressions === undefined || config.runExpressions }; this.globalData = { _mdf: false, frameNum: -1, renderConfig: this.renderConfig }; this.pendingElements = []; this.elements = []; this.threeDElements = []; this.destroyed = false; this.camera = null; this.supports3d = true; this.rendererType = 'html'; } extendPrototype([HybridRendererBase], HybridRenderer); HybridRenderer.prototype.createComp = function (data) { if (!this.supports3d) { return new SVGCompElement(data, this.globalData, this); } return new HCompElement(data, this.globalData, this); }; var CompExpressionInterface = function () { return function (comp) { function _thisLayerFunction(name) { var i = 0; var len = comp.layers.length; while (i < len) { if (comp.layers[i].nm === name || comp.layers[i].ind === name) { return comp.elements[i].layerInterface; } i += 1; } return null; // return {active:false}; } Object.defineProperty(_thisLayerFunction, '_name', { value: comp.data.nm }); _thisLayerFunction.layer = _thisLayerFunction; _thisLayerFunction.pixelAspect = 1; _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h; _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w; _thisLayerFunction.pixelAspect = 1; _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate; _thisLayerFunction.displayStartTime = 0; _thisLayerFunction.numLayers = comp.layers.length; return _thisLayerFunction; }; }(); function _typeof$2(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$2(obj); } /* eslint-disable */ /* Copyright 2014 David Bau. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ function seedRandom(pool, math) { // // The following constants are related to IEEE 754 limits. // var global = this, width = 256, // each RC4 output is 0 <= x < 256 chunks = 6, // at least six RC4 outputs for each double digits = 52, // there are 52 significant digits in a double rngname = 'random', // rngname: name for Math.random and Math.seedrandom startdenom = math.pow(width, chunks), significance = math.pow(2, digits), overflow = significance * 2, mask = width - 1, nodecrypto; // node.js crypto module, initialized at the bottom. // // seedrandom() // This is the seedrandom function described above. // function seedrandom(seed, options, callback) { var key = []; options = options === true ? { entropy: true } : options || {}; // Flatten the seed string or build one from local entropy if needed. var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator. var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains // randomness in every bit of the mantissa of the IEEE 754 value. var prng = function prng() { var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48 d = startdenom, // and denominator d = 2 ^ 48. x = 0; // and no 'extra last byte'. while (n < significance) { // Fill up all significant digits by n = (n + x) * width; // shifting numerator and d *= width; // denominator and generating a x = arc4.g(1); // new least-significant-byte. } while (n >= overflow) { // To avoid rounding up, before adding n /= 2; // last byte, shift everything d /= 2; // right using integer math until x >>>= 1; // we have exactly the desired bits. } return (n + x) / d; // Form the number within [0, 1). }; prng.int32 = function () { return arc4.g(4) | 0; }; prng.quick = function () { return arc4.g(4) / 0x100000000; }; prng["double"] = prng; // Mix the randomness into accumulated entropy. mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math. return (options.pass || callback || function (prng, seed, is_math_call, state) { if (state) { // Load the arc4 state from the given state if it has an S array. if (state.S) { copy(state, arc4); } // Only provide the .state method if requested via options.state. prng.state = function () { return copy(arc4, {}); }; } // If called as a method of Math (Math.seedrandom()), mutate // Math.random because that is how seedrandom.js has worked since v1.0. if (is_math_call) { math[rngname] = prng; return seed; } // Otherwise, it is a newer calling convention, so return the // prng directly. else return prng; })(prng, shortseed, 'global' in options ? options.global : this == math, options.state); } math['seed' + rngname] = seedrandom; // // ARC4 // // An ARC4 implementation. The constructor takes a key in the form of // an array of at most (width) integers that should be 0 <= x < (width). // // The g(count) method returns a pseudorandom integer that concatenates // the next (count) outputs from ARC4. Its return value is a number x // that is in the range 0 <= x < (width ^ count). // function ARC4(key) { var t, keylen = key.length, me = this, i = 0, j = me.i = me.j = 0, s = me.S = []; // The empty key [] is treated as [0]. if (!keylen) { key = [keylen++]; } // Set up S using the standard key scheduling algorithm. while (i < width) { s[i] = i++; } for (i = 0; i < width; i++) { s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])]; s[j] = t; } // The "g" method returns the next (count) outputs as one number. me.g = function (count) { // Using instance members instead of closure state nearly doubles speed. var t, r = 0, i = me.i, j = me.j, s = me.S; while (count--) { t = s[i = mask & i + 1]; r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)]; } me.i = i; me.j = j; return r; // For robust unpredictability, the function call below automatically // discards an initial batch of values. This is called RC4-drop[256]. // See http://google.com/search?q=rsa+fluhrer+response&btnI }; } // // copy() // Copies internal state of ARC4 to or from a plain object. // function copy(f, t) { t.i = f.i; t.j = f.j; t.S = f.S.slice(); return t; } // // flatten() // Converts an object tree to nested arrays of strings. // function flatten(obj, depth) { var result = [], typ = _typeof$2(obj), prop; if (depth && typ == 'object') { for (prop in obj) { try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {} } } return result.length ? result : typ == 'string' ? obj : obj + '\0'; } // // mixkey() // Mixes a string seed into a key that is an array of integers, and // returns a shortened string seed that is equivalent to the result key. // function mixkey(seed, key) { var stringseed = seed + '', smear, j = 0; while (j < stringseed.length) { key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++); } return tostring(key); } // // autoseed() // Returns an object for autoseeding, using window.crypto and Node crypto // module if available. // function autoseed() { try { if (nodecrypto) { return tostring(nodecrypto.randomBytes(width)); } var out = new Uint8Array(width); (global.crypto || global.msCrypto).getRandomValues(out); return tostring(out); } catch (e) { var browser = global.navigator, plugins = browser && browser.plugins; return [+new Date(), global, plugins, global.screen, tostring(pool)]; } } // // tostring() // Converts an array of charcodes to a string // function tostring(a) { return String.fromCharCode.apply(0, a); } // // When seedrandom.js is loaded, we immediately mix a few bits // from the built-in RNG into the entropy pool. Because we do // not want to interfere with deterministic PRNG state later, // seedrandom will not call math.random on its own again after // initialization. // mixkey(math.random(), pool); // // Nodejs and AMD support: export the implementation as a module using // either convention. // // End anonymous scope, and pass initial values. } ; function initialize$2(BMMath) { seedRandom([], BMMath); } var propTypes = { SHAPE: 'shape' }; function _typeof$1(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$1(obj); } var ExpressionManager = function () { 'use strict'; var ob = {}; var Math = BMMath; var window = null; var document = null; var XMLHttpRequest = null; var fetch = null; var frames = null; var _lottieGlobal = {}; initialize$2(BMMath); function resetFrame() { _lottieGlobal = {}; } function $bm_isInstanceOfArray(arr) { return arr.constructor === Array || arr.constructor === Float32Array; } function isNumerable(tOfV, v) { return tOfV === 'number' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string'; } function $bm_neg(a) { var tOfA = _typeof$1(a); if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') { return -a; } if ($bm_isInstanceOfArray(a)) { var i; var lenA = a.length; var retArr = []; for (i = 0; i < lenA; i += 1) { retArr[i] = -a[i]; } return retArr; } if (a.propType) { return a.v; } return -a; } var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get; var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get; var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get; function sum(a, b) { var tOfA = _typeof$1(a); var tOfB = _typeof$1(b); if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === 'string' || tOfB === 'string') { return a + b; } if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) { a = a.slice(0); a[0] += b; return a; } if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) { b = b.slice(0); b[0] = a + b[0]; return b; } if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) { var i = 0; var lenA = a.length; var lenB = b.length; var retArr = []; while (i < lenA || i < lenB) { if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) { retArr[i] = a[i] + b[i]; } else { retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i]; } i += 1; } return retArr; } return 0; } var add = sum; function sub(a, b) { var tOfA = _typeof$1(a); var tOfB = _typeof$1(b); if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) { if (tOfA === 'string') { a = parseInt(a, 10); } if (tOfB === 'string') { b = parseInt(b, 10); } return a - b; } if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) { a = a.slice(0); a[0] -= b; return a; } if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) { b = b.slice(0); b[0] = a - b[0]; return b; } if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) { var i = 0; var lenA = a.length; var lenB = b.length; var retArr = []; while (i < lenA || i < lenB) { if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) { retArr[i] = a[i] - b[i]; } else { retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i]; } i += 1; } return retArr; } return 0; } function mul(a, b) { var tOfA = _typeof$1(a); var tOfB = _typeof$1(b); var arr; if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) { return a * b; } var i; var len; if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) { len = a.length; arr = createTypedArray('float32', len); for (i = 0; i < len; i += 1) { arr[i] = a[i] * b; } return arr; } if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) { len = b.length; arr = createTypedArray('float32', len); for (i = 0; i < len; i += 1) { arr[i] = a * b[i]; } return arr; } return 0; } function div(a, b) { var tOfA = _typeof$1(a); var tOfB = _typeof$1(b); var arr; if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) { return a / b; } var i; var len; if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) { len = a.length; arr = createTypedArray('float32', len); for (i = 0; i < len; i += 1) { arr[i] = a[i] / b; } return arr; } if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) { len = b.length; arr = createTypedArray('float32', len); for (i = 0; i < len; i += 1) { arr[i] = a / b[i]; } return arr; } return 0; } function mod(a, b) { if (typeof a === 'string') { a = parseInt(a, 10); } if (typeof b === 'string') { b = parseInt(b, 10); } return a % b; } var $bm_sum = sum; var $bm_sub = sub; var $bm_mul = mul; var $bm_div = div; var $bm_mod = mod; function clamp(num, min, max) { if (min > max) { var mm = max; max = min; min = mm; } return Math.min(Math.max(num, min), max); } function radiansToDegrees(val) { return val / degToRads; } var radians_to_degrees = radiansToDegrees; function degreesToRadians(val) { return val * degToRads; } var degrees_to_radians = radiansToDegrees; var helperLengthArray = [0, 0, 0, 0, 0, 0]; function length(arr1, arr2) { if (typeof arr1 === 'number' || arr1 instanceof Number) { arr2 = arr2 || 0; return Math.abs(arr1 - arr2); } if (!arr2) { arr2 = helperLengthArray; } var i; var len = Math.min(arr1.length, arr2.length); var addedLength = 0; for (i = 0; i < len; i += 1) { addedLength += Math.pow(arr2[i] - arr1[i], 2); } return Math.sqrt(addedLength); } function normalize(vec) { return div(vec, length(vec)); } function rgbToHsl(val) { var r = val[0]; var g = val[1]; var b = val[2]; var max = Math.max(r, g, b); var min = Math.min(r, g, b); var h; var s; var l = (max + min) / 2; if (max === min) { h = 0; // achromatic s = 0; // achromatic } else { var d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min); switch (max) { case r: h = (g - b) / d + (g < b ? 6 : 0); break; case g: h = (b - r) / d + 2; break; case b: h = (r - g) / d + 4; break; default: break; } h /= 6; } return [h, s, l, val[3]]; } function hue2rgb(p, q, t) { if (t < 0) t += 1; if (t > 1) t -= 1; if (t < 1 / 6) return p + (q - p) * 6 * t; if (t < 1 / 2) return q; if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6; return p; } function hslToRgb(val) { var h = val[0]; var s = val[1]; var l = val[2]; var r; var g; var b; if (s === 0) { r = l; // achromatic b = l; // achromatic g = l; // achromatic } else { var q = l < 0.5 ? l * (1 + s) : l + s - l * s; var p = 2 * l - q; r = hue2rgb(p, q, h + 1 / 3); g = hue2rgb(p, q, h); b = hue2rgb(p, q, h - 1 / 3); } return [r, g, b, val[3]]; } function linear(t, tMin, tMax, value1, value2) { if (value1 === undefined || value2 === undefined) { value1 = tMin; value2 = tMax; tMin = 0; tMax = 1; } if (tMax < tMin) { var _tMin = tMax; tMax = tMin; tMin = _tMin; } if (t <= tMin) { return value1; } if (t >= tMax) { return value2; } var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin); if (!value1.length) { return value1 + (value2 - value1) * perc; } var i; var len = value1.length; var arr = createTypedArray('float32', len); for (i = 0; i < len; i += 1) { arr[i] = value1[i] + (value2[i] - value1[i]) * perc; } return arr; } function random(min, max) { if (max === undefined) { if (min === undefined) { min = 0; max = 1; } else { max = min; min = undefined; } } if (max.length) { var i; var len = max.length; if (!min) { min = createTypedArray('float32', len); } var arr = createTypedArray('float32', len); var rnd = BMMath.random(); for (i = 0; i < len; i += 1) { arr[i] = min[i] + rnd * (max[i] - min[i]); } return arr; } if (min === undefined) { min = 0; } var rndm = BMMath.random(); return min + rndm * (max - min); } function createPath(points, inTangents, outTangents, closed) { var i; var len = points.length; var path = shapePool.newElement(); path.setPathData(!!closed, len); var arrPlaceholder = [0, 0]; var inVertexPoint; var outVertexPoint; for (i = 0; i < len; i += 1) { inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder; outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder; path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true); } return path; } function initiateExpression(elem, data, property) { // Bail out if we don't want expressions function noOp(_value) { return _value; } if (!elem.globalData.renderConfig.runExpressions) { return noOp; } var val = data.x; var needsVelocity = /velocity(?![\w\d])/.test(val); var _needsRandom = val.indexOf('random') !== -1; var elemType = elem.data.ty; var transform; var $bm_transform; var content; var effect; var thisProperty = property; thisProperty.valueAtTime = thisProperty.getValueAtTime; Object.defineProperty(thisProperty, 'value', { get: function get() { return thisProperty.v; } }); elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate; elem.comp.displayStartTime = 0; var inPoint = elem.data.ip / elem.comp.globalData.frameRate; var outPoint = elem.data.op / elem.comp.globalData.frameRate; var width = elem.data.sw ? elem.data.sw : 0; var height = elem.data.sh ? elem.data.sh : 0; var name = elem.data.nm; var loopIn; var loop_in; var loopOut; var loop_out; var smooth; var toWorld; var fromWorld; var fromComp; var toComp; var fromCompToSurface; var position; var rotation; var anchorPoint; var scale; var thisLayer; var thisComp; var mask; var valueAtTime; var velocityAtTime; var scoped_bm_rt; // val = val.replace(/(\\?"|')((http)(s)?(:\/))?\/.*?(\\?"|')/g, "\"\""); // deter potential network calls var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval var numKeys = property.kf ? data.k.length : 0; var active = !this.data || this.data.hd !== true; var wiggle = function wiggle(freq, amp) { var iWiggle; var j; var lenWiggle = this.pv.length ? this.pv.length : 1; var addedAmps = createTypedArray('float32', lenWiggle); freq = 5; var iterations = Math.floor(time * freq); iWiggle = 0; j = 0; while (iWiggle < iterations) { // var rnd = BMMath.random(); for (j = 0; j < lenWiggle; j += 1) { addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd; } iWiggle += 1; } // var rnd2 = BMMath.random(); var periods = time * freq; var perc = periods - Math.floor(periods); var arr = createTypedArray('float32', lenWiggle); if (lenWiggle > 1) { for (j = 0; j < lenWiggle; j += 1) { arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc; // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc); } return arr; } return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc; }.bind(this); if (thisProperty.loopIn) { loopIn = thisProperty.loopIn.bind(thisProperty); loop_in = loopIn; } if (thisProperty.loopOut) { loopOut = thisProperty.loopOut.bind(thisProperty); loop_out = loopOut; } if (thisProperty.smooth) { smooth = thisProperty.smooth.bind(thisProperty); } function loopInDuration(type, duration) { return loopIn(type, duration, true); } function loopOutDuration(type, duration) { return loopOut(type, duration, true); } if (this.getValueAtTime) { valueAtTime = this.getValueAtTime.bind(this); } if (this.getVelocityAtTime) { velocityAtTime = this.getVelocityAtTime.bind(this); } var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface); function lookAt(elem1, elem2) { var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]]; var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads; var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads; return [yaw, pitch, 0]; } function easeOut(t, tMin, tMax, val1, val2) { return applyEase(easeOutBez, t, tMin, tMax, val1, val2); } function easeIn(t, tMin, tMax, val1, val2) { return applyEase(easeInBez, t, tMin, tMax, val1, val2); } function ease(t, tMin, tMax, val1, val2) { return applyEase(easeInOutBez, t, tMin, tMax, val1, val2); } function applyEase(fn, t, tMin, tMax, val1, val2) { if (val1 === undefined) { val1 = tMin; val2 = tMax; } else { t = (t - tMin) / (tMax - tMin); } if (t > 1) { t = 1; } else if (t < 0) { t = 0; } var mult = fn(t); if ($bm_isInstanceOfArray(val1)) { var iKey; var lenKey = val1.length; var arr = createTypedArray('float32', lenKey); for (iKey = 0; iKey < lenKey; iKey += 1) { arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey]; } return arr; } return (val2 - val1) * mult + val1; } function nearestKey(time) { var iKey; var lenKey = data.k.length; var index; var keyTime; if (!data.k.length || typeof data.k[0] === 'number') { index = 0; keyTime = 0; } else { index = -1; time *= elem.comp.globalData.frameRate; if (time < data.k[0].t) { index = 1; keyTime = data.k[0].t; } else { for (iKey = 0; iKey < lenKey - 1; iKey += 1) { if (time === data.k[iKey].t) { index = iKey + 1; keyTime = data.k[iKey].t; break; } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) { if (time - data.k[iKey].t > data.k[iKey + 1].t - time) { index = iKey + 2; keyTime = data.k[iKey + 1].t; } else { index = iKey + 1; keyTime = data.k[iKey].t; } break; } } if (index === -1) { index = iKey + 1; keyTime = data.k[iKey].t; } } } var obKey = {}; obKey.index = index; obKey.time = keyTime / elem.comp.globalData.frameRate; return obKey; } function key(ind) { var obKey; var iKey; var lenKey; if (!data.k.length || typeof data.k[0] === 'number') { throw new Error('The property has no keyframe at index ' + ind); } ind -= 1; obKey = { time: data.k[ind].t / elem.comp.globalData.frameRate, value: [] }; var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e; lenKey = arr.length; for (iKey = 0; iKey < lenKey; iKey += 1) { obKey[iKey] = arr[iKey]; obKey.value[iKey] = arr[iKey]; } return obKey; } function framesToTime(fr, fps) { if (!fps) { fps = elem.comp.globalData.frameRate; } return fr / fps; } function timeToFrames(t, fps) { if (!t && t !== 0) { t = time; } if (!fps) { fps = elem.comp.globalData.frameRate; } return t * fps; } function seedRandom(seed) { BMMath.seedrandom(randSeed + seed); } function sourceRectAtTime() { return elem.sourceRectAtTime(); } function substring(init, end) { if (typeof value === 'string') { if (end === undefined) { return value.substring(init); } return value.substring(init, end); } return ''; } function substr(init, end) { if (typeof value === 'string') { if (end === undefined) { return value.substr(init); } return value.substr(init, end); } return ''; } function posterizeTime(framesPerSecond) { time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond; value = valueAtTime(time); } var time; var velocity; var value; var text; var textIndex; var textTotal; var selectorValue; var index = elem.data.ind; var hasParent = !!(elem.hierarchy && elem.hierarchy.length); var parent; var randSeed = Math.floor(Math.random() * 1000000); var globalData = elem.globalData; function executeExpression(_value) { // globalData.pushExpression(); value = _value; if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') { return value; } if (this.propType === 'textSelector') { textIndex = this.textIndex; textTotal = this.textTotal; selectorValue = this.selectorValue; } if (!thisLayer) { text = elem.layerInterface.text; thisLayer = elem.layerInterface; thisComp = elem.comp.compInterface; toWorld = thisLayer.toWorld.bind(thisLayer); fromWorld = thisLayer.fromWorld.bind(thisLayer); fromComp = thisLayer.fromComp.bind(thisLayer); toComp = thisLayer.toComp.bind(thisLayer); mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null; fromCompToSurface = fromComp; } if (!transform) { transform = elem.layerInterface('ADBE Transform Group'); $bm_transform = transform; if (transform) { anchorPoint = transform.anchorPoint; /* position = transform.position; rotation = transform.rotation; scale = transform.scale; */ } } if (elemType === 4 && !content) { content = thisLayer('ADBE Root Vectors Group'); } if (!effect) { effect = thisLayer(4); } hasParent = !!(elem.hierarchy && elem.hierarchy.length); if (hasParent && !parent) { parent = elem.hierarchy[0].layerInterface; } time = this.comp.renderedFrame / this.comp.globalData.frameRate; if (_needsRandom) { seedRandom(randSeed + time); } if (needsVelocity) { velocity = velocityAtTime(time); } expression_function(); this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value // Changed this to a ternary operation because Rollup failed compiling it correctly scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt; return scoped_bm_rt; } // Bundlers will see these as dead code and unless we reference them executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData]; return executeExpression; } ob.initiateExpression = initiateExpression; ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal]; ob.resetFrame = resetFrame; return ob; }(); var Expressions = function () { var ob = {}; ob.initExpressions = initExpressions; ob.resetFrame = ExpressionManager.resetFrame; function initExpressions(animation) { var stackCount = 0; var registers = []; function pushExpression() { stackCount += 1; } function popExpression() { stackCount -= 1; if (stackCount === 0) { releaseInstances(); } } function registerExpressionProperty(expression) { if (registers.indexOf(expression) === -1) { registers.push(expression); } } function releaseInstances() { var i; var len = registers.length; for (i = 0; i < len; i += 1) { registers[i].release(); } registers.length = 0; } animation.renderer.compInterface = CompExpressionInterface(animation.renderer); animation.renderer.globalData.projectInterface.registerComposition(animation.renderer); animation.renderer.globalData.pushExpression = pushExpression; animation.renderer.globalData.popExpression = popExpression; animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty; } return ob; }(); var MaskManagerInterface = function () { function MaskInterface(mask, data) { this._mask = mask; this._data = data; } Object.defineProperty(MaskInterface.prototype, 'maskPath', { get: function get() { if (this._mask.prop.k) { this._mask.prop.getValue(); } return this._mask.prop; } }); Object.defineProperty(MaskInterface.prototype, 'maskOpacity', { get: function get() { if (this._mask.op.k) { this._mask.op.getValue(); } return this._mask.op.v * 100; } }); var MaskManager = function MaskManager(maskManager) { var _masksInterfaces = createSizedArray(maskManager.viewData.length); var i; var len = maskManager.viewData.length; for (i = 0; i < len; i += 1) { _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]); } var maskFunction = function maskFunction(name) { i = 0; while (i < len) { if (maskManager.masksProperties[i].nm === name) { return _masksInterfaces[i]; } i += 1; } return null; }; return maskFunction; }; return MaskManager; }(); var ExpressionPropertyInterface = function () { var defaultUnidimensionalValue = { pv: 0, v: 0, mult: 1 }; var defaultMultidimensionalValue = { pv: [0, 0, 0], v: [0, 0, 0], mult: 1 }; function completeProperty(expressionValue, property, type) { Object.defineProperty(expressionValue, 'velocity', { get: function get() { return property.getVelocityAtTime(property.comp.currentFrame); } }); expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0; expressionValue.key = function (pos) { if (!expressionValue.numKeys) { return 0; } var value = ''; if ('s' in property.keyframes[pos - 1]) { value = property.keyframes[pos - 1].s; } else if ('e' in property.keyframes[pos - 2]) { value = property.keyframes[pos - 2].e; } else { value = property.keyframes[pos - 2].s; } var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate; valueProp.value = type === 'unidimensional' ? value[0] : value; return valueProp; }; expressionValue.valueAtTime = property.getValueAtTime; expressionValue.speedAtTime = property.getSpeedAtTime; expressionValue.velocityAtTime = property.getVelocityAtTime; expressionValue.propertyGroup = property.propertyGroup; } function UnidimensionalPropertyInterface(property) { if (!property || !('pv' in property)) { property = defaultUnidimensionalValue; } var mult = 1 / property.mult; var val = property.pv * mult; var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers expressionValue.value = val; completeProperty(expressionValue, property, 'unidimensional'); return function () { if (property.k) { property.getValue(); } val = property.v * mult; if (expressionValue.value !== val) { expressionValue = new Number(val); // eslint-disable-line no-new-wrappers expressionValue.value = val; completeProperty(expressionValue, property, 'unidimensional'); } return expressionValue; }; } function MultidimensionalPropertyInterface(property) { if (!property || !('pv' in property)) { property = defaultMultidimensionalValue; } var mult = 1 / property.mult; var len = property.data && property.data.l || property.pv.length; var expressionValue = createTypedArray('float32', len); var arrValue = createTypedArray('float32', len); expressionValue.value = arrValue; completeProperty(expressionValue, property, 'multidimensional'); return function () { if (property.k) { property.getValue(); } for (var i = 0; i < len; i += 1) { arrValue[i] = property.v[i] * mult; expressionValue[i] = arrValue[i]; } return expressionValue; }; } // TODO: try to avoid using this getter function defaultGetter() { return defaultUnidimensionalValue; } return function (property) { if (!property) { return defaultGetter; } if (property.propType === 'unidimensional') { return UnidimensionalPropertyInterface(property); } return MultidimensionalPropertyInterface(property); }; }(); var TransformExpressionInterface = function () { return function (transform) { function _thisFunction(name) { switch (name) { case 'scale': case 'Scale': case 'ADBE Scale': case 6: return _thisFunction.scale; case 'rotation': case 'Rotation': case 'ADBE Rotation': case 'ADBE Rotate Z': case 10: return _thisFunction.rotation; case 'ADBE Rotate X': return _thisFunction.xRotation; case 'ADBE Rotate Y': return _thisFunction.yRotation; case 'position': case 'Position': case 'ADBE Position': case 2: return _thisFunction.position; case 'ADBE Position_0': return _thisFunction.xPosition; case 'ADBE Position_1': return _thisFunction.yPosition; case 'ADBE Position_2': return _thisFunction.zPosition; case 'anchorPoint': case 'AnchorPoint': case 'Anchor Point': case 'ADBE AnchorPoint': case 1: return _thisFunction.anchorPoint; case 'opacity': case 'Opacity': case 11: return _thisFunction.opacity; default: return null; } } Object.defineProperty(_thisFunction, 'rotation', { get: ExpressionPropertyInterface(transform.r || transform.rz) }); Object.defineProperty(_thisFunction, 'zRotation', { get: ExpressionPropertyInterface(transform.rz || transform.r) }); Object.defineProperty(_thisFunction, 'xRotation', { get: ExpressionPropertyInterface(transform.rx) }); Object.defineProperty(_thisFunction, 'yRotation', { get: ExpressionPropertyInterface(transform.ry) }); Object.defineProperty(_thisFunction, 'scale', { get: ExpressionPropertyInterface(transform.s) }); var _px; var _py; var _pz; var _transformFactory; if (transform.p) { _transformFactory = ExpressionPropertyInterface(transform.p); } else { _px = ExpressionPropertyInterface(transform.px); _py = ExpressionPropertyInterface(transform.py); if (transform.pz) { _pz = ExpressionPropertyInterface(transform.pz); } } Object.defineProperty(_thisFunction, 'position', { get: function get() { if (transform.p) { return _transformFactory(); } return [_px(), _py(), _pz ? _pz() : 0]; } }); Object.defineProperty(_thisFunction, 'xPosition', { get: ExpressionPropertyInterface(transform.px) }); Object.defineProperty(_thisFunction, 'yPosition', { get: ExpressionPropertyInterface(transform.py) }); Object.defineProperty(_thisFunction, 'zPosition', { get: ExpressionPropertyInterface(transform.pz) }); Object.defineProperty(_thisFunction, 'anchorPoint', { get: ExpressionPropertyInterface(transform.a) }); Object.defineProperty(_thisFunction, 'opacity', { get: ExpressionPropertyInterface(transform.o) }); Object.defineProperty(_thisFunction, 'skew', { get: ExpressionPropertyInterface(transform.sk) }); Object.defineProperty(_thisFunction, 'skewAxis', { get: ExpressionPropertyInterface(transform.sa) }); Object.defineProperty(_thisFunction, 'orientation', { get: ExpressionPropertyInterface(transform.or) }); return _thisFunction; }; }(); var LayerExpressionInterface = function () { function getMatrix(time) { var toWorldMat = new Matrix(); if (time !== undefined) { var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time); propMatrix.clone(toWorldMat); } else { var transformMat = this._elem.finalTransform.mProp; transformMat.applyToMatrix(toWorldMat); } return toWorldMat; } function toWorldVec(arr, time) { var toWorldMat = this.getMatrix(time); toWorldMat.props[12] = 0; toWorldMat.props[13] = 0; toWorldMat.props[14] = 0; return this.applyPoint(toWorldMat, arr); } function toWorld(arr, time) { var toWorldMat = this.getMatrix(time); return this.applyPoint(toWorldMat, arr); } function fromWorldVec(arr, time) { var toWorldMat = this.getMatrix(time); toWorldMat.props[12] = 0; toWorldMat.props[13] = 0; toWorldMat.props[14] = 0; return this.invertPoint(toWorldMat, arr); } function fromWorld(arr, time) { var toWorldMat = this.getMatrix(time); return this.invertPoint(toWorldMat, arr); } function applyPoint(matrix, arr) { if (this._elem.hierarchy && this._elem.hierarchy.length) { var i; var len = this._elem.hierarchy.length; for (i = 0; i < len; i += 1) { this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix); } } return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0); } function invertPoint(matrix, arr) { if (this._elem.hierarchy && this._elem.hierarchy.length) { var i; var len = this._elem.hierarchy.length; for (i = 0; i < len; i += 1) { this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix); } } return matrix.inversePoint(arr); } function fromComp(arr) { var toWorldMat = new Matrix(); toWorldMat.reset(); this._elem.finalTransform.mProp.applyToMatrix(toWorldMat); if (this._elem.hierarchy && this._elem.hierarchy.length) { var i; var len = this._elem.hierarchy.length; for (i = 0; i < len; i += 1) { this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat); } return toWorldMat.inversePoint(arr); } return toWorldMat.inversePoint(arr); } function sampleImage() { return [1, 1, 1, 1]; } return function (elem) { var transformInterface; function _registerMaskInterface(maskManager) { _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem); } function _registerEffectsInterface(effects) { _thisLayerFunction.effect = effects; } function _thisLayerFunction(name) { switch (name) { case 'ADBE Root Vectors Group': case 'Contents': case 2: return _thisLayerFunction.shapeInterface; case 1: case 6: case 'Transform': case 'transform': case 'ADBE Transform Group': return transformInterface; case 4: case 'ADBE Effect Parade': case 'effects': case 'Effects': return _thisLayerFunction.effect; case 'ADBE Text Properties': return _thisLayerFunction.textInterface; default: return null; } } _thisLayerFunction.getMatrix = getMatrix; _thisLayerFunction.invertPoint = invertPoint; _thisLayerFunction.applyPoint = applyPoint; _thisLayerFunction.toWorld = toWorld; _thisLayerFunction.toWorldVec = toWorldVec; _thisLayerFunction.fromWorld = fromWorld; _thisLayerFunction.fromWorldVec = fromWorldVec; _thisLayerFunction.toComp = toWorld; _thisLayerFunction.fromComp = fromComp; _thisLayerFunction.sampleImage = sampleImage; _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem); _thisLayerFunction._elem = elem; transformInterface = TransformExpressionInterface(elem.finalTransform.mProp); var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint'); Object.defineProperties(_thisLayerFunction, { hasParent: { get: function get() { return elem.hierarchy.length; } }, parent: { get: function get() { return elem.hierarchy[0].layerInterface; } }, rotation: getDescriptor(transformInterface, 'rotation'), scale: getDescriptor(transformInterface, 'scale'), position: getDescriptor(transformInterface, 'position'), opacity: getDescriptor(transformInterface, 'opacity'), anchorPoint: anchorPointDescriptor, anchor_point: anchorPointDescriptor, transform: { get: function get() { return transformInterface; } }, active: { get: function get() { return elem.isInRange; } } }); _thisLayerFunction.startTime = elem.data.st; _thisLayerFunction.index = elem.data.ind; _thisLayerFunction.source = elem.data.refId; _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100; _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100; _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate; _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate; _thisLayerFunction._name = elem.data.nm; _thisLayerFunction.registerMaskInterface = _registerMaskInterface; _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface; return _thisLayerFunction; }; }(); var propertyGroupFactory = function () { return function (interfaceFunction, parentPropertyGroup) { return function (val) { val = val === undefined ? 1 : val; if (val <= 0) { return interfaceFunction; } return parentPropertyGroup(val - 1); }; }; }(); var PropertyInterface = function () { return function (propertyName, propertyGroup) { var interfaceFunction = { _name: propertyName }; function _propertyGroup(val) { val = val === undefined ? 1 : val; if (val <= 0) { return interfaceFunction; } return propertyGroup(val - 1); } return _propertyGroup; }; }(); var EffectsExpressionInterface = function () { var ob = { createEffectsInterface: createEffectsInterface }; function createEffectsInterface(elem, propertyGroup) { if (elem.effectsManager) { var effectElements = []; var effectsData = elem.data.ef; var i; var len = elem.effectsManager.effectElements.length; for (i = 0; i < len; i += 1) { effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem)); } var effects = elem.data.ef || []; var groupInterface = function groupInterface(name) { i = 0; len = effects.length; while (i < len) { if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) { return effectElements[i]; } i += 1; } return null; }; Object.defineProperty(groupInterface, 'numProperties', { get: function get() { return effects.length; } }); return groupInterface; } return null; } function createGroupInterface(data, elements, propertyGroup, elem) { function groupInterface(name) { var effects = data.ef; var i = 0; var len = effects.length; while (i < len) { if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) { if (effects[i].ty === 5) { return effectElements[i]; } return effectElements[i](); } i += 1; } throw new Error(); } var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup); var effectElements = []; var i; var len = data.ef.length; for (i = 0; i < len; i += 1) { if (data.ef[i].ty === 5) { effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem)); } else { effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup)); } } if (data.mn === 'ADBE Color Control') { Object.defineProperty(groupInterface, 'color', { get: function get() { return effectElements[0](); } }); } Object.defineProperties(groupInterface, { numProperties: { get: function get() { return data.np; } }, _name: { value: data.nm }, propertyGroup: { value: _propertyGroup } }); groupInterface.enabled = data.en !== 0; groupInterface.active = groupInterface.enabled; return groupInterface; } function createValueInterface(element, type, elem, propertyGroup) { var expressionProperty = ExpressionPropertyInterface(element.p); function interfaceFunction() { if (type === 10) { return elem.comp.compInterface(element.p.v); } return expressionProperty(); } if (element.p.setGroupProperty) { element.p.setGroupProperty(PropertyInterface('', propertyGroup)); } return interfaceFunction; } return ob; }(); var ShapePathInterface = function () { return function pathInterfaceFactory(shape, view, propertyGroup) { var prop = view.sh; function interfaceFunction(val) { if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) { return interfaceFunction.path; } return null; } var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); prop.setGroupProperty(PropertyInterface('Path', _propertyGroup)); Object.defineProperties(interfaceFunction, { path: { get: function get() { if (prop.k) { prop.getValue(); } return prop; } }, shape: { get: function get() { if (prop.k) { prop.getValue(); } return prop; } }, _name: { value: shape.nm }, ix: { value: shape.ix }, propertyIndex: { value: shape.ix }, mn: { value: shape.mn }, propertyGroup: { value: propertyGroup } }); return interfaceFunction; }; }(); var ShapeExpressionInterface = function () { function iterateElements(shapes, view, propertyGroup) { var arr = []; var i; var len = shapes ? shapes.length : 0; for (i = 0; i < len; i += 1) { if (shapes[i].ty === 'gr') { arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup)); } else if (shapes[i].ty === 'fl') { arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup)); } else if (shapes[i].ty === 'st') { arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup)); } else if (shapes[i].ty === 'tm') { arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup)); } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup)); } else if (shapes[i].ty === 'el') { arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup)); } else if (shapes[i].ty === 'sr') { arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup)); } else if (shapes[i].ty === 'sh') { arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup)); } else if (shapes[i].ty === 'rc') { arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup)); } else if (shapes[i].ty === 'rd') { arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup)); } else if (shapes[i].ty === 'rp') { arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup)); } else if (shapes[i].ty === 'gf') { arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup)); } else { arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup)); } } return arr; } function contentsInterfaceFactory(shape, view, propertyGroup) { var interfaces; var interfaceFunction = function _interfaceFunction(value) { var i = 0; var len = interfaces.length; while (i < len) { if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) { return interfaces[i]; } i += 1; } if (typeof value === 'number') { return interfaces[value - 1]; } return null; }; interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup); interfaceFunction.numProperties = interfaces.length; var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup); interfaceFunction.transform = transformInterface; interfaceFunction.propertyIndex = shape.cix; interfaceFunction._name = shape.nm; return interfaceFunction; } function groupInterfaceFactory(shape, view, propertyGroup) { var interfaceFunction = function _interfaceFunction(value) { switch (value) { case 'ADBE Vectors Group': case 'Contents': case 2: return interfaceFunction.content; // Not necessary for now. Keeping them here in case a new case appears // case 'ADBE Vector Transform Group': // case 3: default: return interfaceFunction.transform; } }; interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup); var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup); interfaceFunction.content = content; interfaceFunction.transform = transformInterface; Object.defineProperty(interfaceFunction, '_name', { get: function get() { return shape.nm; } }); // interfaceFunction.content = interfaceFunction; interfaceFunction.numProperties = shape.np; interfaceFunction.propertyIndex = shape.ix; interfaceFunction.nm = shape.nm; interfaceFunction.mn = shape.mn; return interfaceFunction; } function fillInterfaceFactory(shape, view, propertyGroup) { function interfaceFunction(val) { if (val === 'Color' || val === 'color') { return interfaceFunction.color; } if (val === 'Opacity' || val === 'opacity') { return interfaceFunction.opacity; } return null; } Object.defineProperties(interfaceFunction, { color: { get: ExpressionPropertyInterface(view.c) }, opacity: { get: ExpressionPropertyInterface(view.o) }, _name: { value: shape.nm }, mn: { value: shape.mn } }); view.c.setGroupProperty(PropertyInterface('Color', propertyGroup)); view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup)); return interfaceFunction; } function gradientFillInterfaceFactory(shape, view, propertyGroup) { function interfaceFunction(val) { if (val === 'Start Point' || val === 'start point') { return interfaceFunction.startPoint; } if (val === 'End Point' || val === 'end point') { return interfaceFunction.endPoint; } if (val === 'Opacity' || val === 'opacity') { return interfaceFunction.opacity; } return null; } Object.defineProperties(interfaceFunction, { startPoint: { get: ExpressionPropertyInterface(view.s) }, endPoint: { get: ExpressionPropertyInterface(view.e) }, opacity: { get: ExpressionPropertyInterface(view.o) }, type: { get: function get() { return 'a'; } }, _name: { value: shape.nm }, mn: { value: shape.mn } }); view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup)); view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup)); view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup)); return interfaceFunction; } function defaultInterfaceFactory() { function interfaceFunction() { return null; } return interfaceFunction; } function strokeInterfaceFactory(shape, view, propertyGroup) { var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup); function addPropertyToDashOb(i) { Object.defineProperty(dashOb, shape.d[i].nm, { get: ExpressionPropertyInterface(view.d.dataProps[i].p) }); } var i; var len = shape.d ? shape.d.length : 0; var dashOb = {}; for (i = 0; i < len; i += 1) { addPropertyToDashOb(i); view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup); } function interfaceFunction(val) { if (val === 'Color' || val === 'color') { return interfaceFunction.color; } if (val === 'Opacity' || val === 'opacity') { return interfaceFunction.opacity; } if (val === 'Stroke Width' || val === 'stroke width') { return interfaceFunction.strokeWidth; } return null; } Object.defineProperties(interfaceFunction, { color: { get: ExpressionPropertyInterface(view.c) }, opacity: { get: ExpressionPropertyInterface(view.o) }, strokeWidth: { get: ExpressionPropertyInterface(view.w) }, dash: { get: function get() { return dashOb; } }, _name: { value: shape.nm }, mn: { value: shape.mn } }); view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup)); view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup)); view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup)); return interfaceFunction; } function trimInterfaceFactory(shape, view, propertyGroup) { function interfaceFunction(val) { if (val === shape.e.ix || val === 'End' || val === 'end') { return interfaceFunction.end; } if (val === shape.s.ix) { return interfaceFunction.start; } if (val === shape.o.ix) { return interfaceFunction.offset; } return null; } var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); interfaceFunction.propertyIndex = shape.ix; view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup)); view.e.setGroupProperty(PropertyInterface('End', _propertyGroup)); view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup)); interfaceFunction.propertyIndex = shape.ix; interfaceFunction.propertyGroup = propertyGroup; Object.defineProperties(interfaceFunction, { start: { get: ExpressionPropertyInterface(view.s) }, end: { get: ExpressionPropertyInterface(view.e) }, offset: { get: ExpressionPropertyInterface(view.o) }, _name: { value: shape.nm } }); interfaceFunction.mn = shape.mn; return interfaceFunction; } function transformInterfaceFactory(shape, view, propertyGroup) { function interfaceFunction(value) { if (shape.a.ix === value || value === 'Anchor Point') { return interfaceFunction.anchorPoint; } if (shape.o.ix === value || value === 'Opacity') { return interfaceFunction.opacity; } if (shape.p.ix === value || value === 'Position') { return interfaceFunction.position; } if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') { return interfaceFunction.rotation; } if (shape.s.ix === value || value === 'Scale') { return interfaceFunction.scale; } if (shape.sk && shape.sk.ix === value || value === 'Skew') { return interfaceFunction.skew; } if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') { return interfaceFunction.skewAxis; } return null; } var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup)); view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup)); view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup)); view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup)); view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup)); if (view.transform.mProps.sk) { view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup)); view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup)); } view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup)); Object.defineProperties(interfaceFunction, { opacity: { get: ExpressionPropertyInterface(view.transform.mProps.o) }, position: { get: ExpressionPropertyInterface(view.transform.mProps.p) }, anchorPoint: { get: ExpressionPropertyInterface(view.transform.mProps.a) }, scale: { get: ExpressionPropertyInterface(view.transform.mProps.s) }, rotation: { get: ExpressionPropertyInterface(view.transform.mProps.r) }, skew: { get: ExpressionPropertyInterface(view.transform.mProps.sk) }, skewAxis: { get: ExpressionPropertyInterface(view.transform.mProps.sa) }, _name: { value: shape.nm } }); interfaceFunction.ty = 'tr'; interfaceFunction.mn = shape.mn; interfaceFunction.propertyGroup = propertyGroup; return interfaceFunction; } function ellipseInterfaceFactory(shape, view, propertyGroup) { function interfaceFunction(value) { if (shape.p.ix === value) { return interfaceFunction.position; } if (shape.s.ix === value) { return interfaceFunction.size; } return null; } var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); interfaceFunction.propertyIndex = shape.ix; var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh; prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup)); prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup)); Object.defineProperties(interfaceFunction, { size: { get: ExpressionPropertyInterface(prop.s) }, position: { get: ExpressionPropertyInterface(prop.p) }, _name: { value: shape.nm } }); interfaceFunction.mn = shape.mn; return interfaceFunction; } function starInterfaceFactory(shape, view, propertyGroup) { function interfaceFunction(value) { if (shape.p.ix === value) { return interfaceFunction.position; } if (shape.r.ix === value) { return interfaceFunction.rotation; } if (shape.pt.ix === value) { return interfaceFunction.points; } if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') { return interfaceFunction.outerRadius; } if (shape.os.ix === value) { return interfaceFunction.outerRoundness; } if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) { return interfaceFunction.innerRadius; } if (shape.is && shape.is.ix === value) { return interfaceFunction.innerRoundness; } return null; } var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh; interfaceFunction.propertyIndex = shape.ix; prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup)); prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup)); prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup)); prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup)); prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup)); if (shape.ir) { prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup)); prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup)); } Object.defineProperties(interfaceFunction, { position: { get: ExpressionPropertyInterface(prop.p) }, rotation: { get: ExpressionPropertyInterface(prop.r) }, points: { get: ExpressionPropertyInterface(prop.pt) }, outerRadius: { get: ExpressionPropertyInterface(prop.or) }, outerRoundness: { get: ExpressionPropertyInterface(prop.os) }, innerRadius: { get: ExpressionPropertyInterface(prop.ir) }, innerRoundness: { get: ExpressionPropertyInterface(prop.is) }, _name: { value: shape.nm } }); interfaceFunction.mn = shape.mn; return interfaceFunction; } function rectInterfaceFactory(shape, view, propertyGroup) { function interfaceFunction(value) { if (shape.p.ix === value) { return interfaceFunction.position; } if (shape.r.ix === value) { return interfaceFunction.roundness; } if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') { return interfaceFunction.size; } return null; } var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh; interfaceFunction.propertyIndex = shape.ix; prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup)); prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup)); prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup)); Object.defineProperties(interfaceFunction, { position: { get: ExpressionPropertyInterface(prop.p) }, roundness: { get: ExpressionPropertyInterface(prop.r) }, size: { get: ExpressionPropertyInterface(prop.s) }, _name: { value: shape.nm } }); interfaceFunction.mn = shape.mn; return interfaceFunction; } function roundedInterfaceFactory(shape, view, propertyGroup) { function interfaceFunction(value) { if (shape.r.ix === value || value === 'Round Corners 1') { return interfaceFunction.radius; } return null; } var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); var prop = view; interfaceFunction.propertyIndex = shape.ix; prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup)); Object.defineProperties(interfaceFunction, { radius: { get: ExpressionPropertyInterface(prop.rd) }, _name: { value: shape.nm } }); interfaceFunction.mn = shape.mn; return interfaceFunction; } function repeaterInterfaceFactory(shape, view, propertyGroup) { function interfaceFunction(value) { if (shape.c.ix === value || value === 'Copies') { return interfaceFunction.copies; } if (shape.o.ix === value || value === 'Offset') { return interfaceFunction.offset; } return null; } var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup); var prop = view; interfaceFunction.propertyIndex = shape.ix; prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup)); prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup)); Object.defineProperties(interfaceFunction, { copies: { get: ExpressionPropertyInterface(prop.c) }, offset: { get: ExpressionPropertyInterface(prop.o) }, _name: { value: shape.nm } }); interfaceFunction.mn = shape.mn; return interfaceFunction; } return function (shapes, view, propertyGroup) { var interfaces; function _interfaceFunction(value) { if (typeof value === 'number') { value = value === undefined ? 1 : value; if (value === 0) { return propertyGroup; } return interfaces[value - 1]; } var i = 0; var len = interfaces.length; while (i < len) { if (interfaces[i]._name === value) { return interfaces[i]; } i += 1; } return null; } function parentGroupWrapper() { return propertyGroup; } _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper); interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup); _interfaceFunction.numProperties = interfaces.length; _interfaceFunction._name = 'Contents'; return _interfaceFunction; }; }(); var TextExpressionInterface = function () { return function (elem) { var _sourceText; function _thisLayerFunction(name) { switch (name) { case 'ADBE Text Document': return _thisLayerFunction.sourceText; default: return null; } } Object.defineProperty(_thisLayerFunction, 'sourceText', { get: function get() { elem.textProperty.getValue(); var stringValue = elem.textProperty.currentData.t; if (!_sourceText || stringValue !== _sourceText.value) { _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers Object.defineProperty(_sourceText, 'style', { get: function get() { return { fillColor: elem.textProperty.currentData.fc }; } }); } return _sourceText; } }); return _thisLayerFunction; }; }(); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } var FootageInterface = function () { var outlineInterfaceFactory = function outlineInterfaceFactory(elem) { var currentPropertyName = ''; var currentProperty = elem.getFootageData(); function init() { currentPropertyName = ''; currentProperty = elem.getFootageData(); return searchProperty; } function searchProperty(value) { if (currentProperty[value]) { currentPropertyName = value; currentProperty = currentProperty[value]; if (_typeof(currentProperty) === 'object') { return searchProperty; } return currentProperty; } var propertyNameIndex = value.indexOf(currentPropertyName); if (propertyNameIndex !== -1) { var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10); currentProperty = currentProperty[index]; if (_typeof(currentProperty) === 'object') { return searchProperty; } return currentProperty; } return ''; } return init; }; var dataInterfaceFactory = function dataInterfaceFactory(elem) { function interfaceFunction(value) { if (value === 'Outline') { return interfaceFunction.outlineInterface(); } return null; } interfaceFunction._name = 'Outline'; interfaceFunction.outlineInterface = outlineInterfaceFactory(elem); return interfaceFunction; }; return function (elem) { function _interfaceFunction(value) { if (value === 'Data') { return _interfaceFunction.dataInterface; } return null; } _interfaceFunction._name = 'Data'; _interfaceFunction.dataInterface = dataInterfaceFactory(elem); return _interfaceFunction; }; }(); var interfaces = { layer: LayerExpressionInterface, effects: EffectsExpressionInterface, comp: CompExpressionInterface, shape: ShapeExpressionInterface, text: TextExpressionInterface, footage: FootageInterface }; function getInterface(type) { return interfaces[type] || null; } var expressionHelpers = function () { function searchExpressions(elem, data, prop) { if (data.x) { prop.k = true; prop.x = true; prop.initiateExpression = ExpressionManager.initiateExpression; prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop)); } } function getValueAtTime(frameNum) { frameNum *= this.elem.globalData.frameRate; frameNum -= this.offsetTime; if (frameNum !== this._cachingAtTime.lastFrame) { this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0; this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime); this._cachingAtTime.lastFrame = frameNum; } return this._cachingAtTime.value; } function getSpeedAtTime(frameNum) { var delta = -0.01; var v1 = this.getValueAtTime(frameNum); var v2 = this.getValueAtTime(frameNum + delta); var speed = 0; if (v1.length) { var i; for (i = 0; i < v1.length; i += 1) { speed += Math.pow(v2[i] - v1[i], 2); } speed = Math.sqrt(speed) * 100; } else { speed = 0; } return speed; } function getVelocityAtTime(frameNum) { if (this.vel !== undefined) { return this.vel; } var delta = -0.001; // frameNum += this.elem.data.st; var v1 = this.getValueAtTime(frameNum); var v2 = this.getValueAtTime(frameNum + delta); var velocity; if (v1.length) { velocity = createTypedArray('float32', v1.length); var i; for (i = 0; i < v1.length; i += 1) { // removing frameRate // if needed, don't add it here // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta); velocity[i] = (v2[i] - v1[i]) / delta; } } else { velocity = (v2 - v1) / delta; } return velocity; } function getStaticValueAtTime() { return this.pv; } function setGroupProperty(propertyGroup) { this.propertyGroup = propertyGroup; } return { searchExpressions: searchExpressions, getSpeedAtTime: getSpeedAtTime, getVelocityAtTime: getVelocityAtTime, getValueAtTime: getValueAtTime, getStaticValueAtTime: getStaticValueAtTime, setGroupProperty: setGroupProperty }; }(); function addPropertyDecorator() { function loopOut(type, duration, durationFlag) { if (!this.k || !this.keyframes) { return this.pv; } type = type ? type.toLowerCase() : ''; var currentFrame = this.comp.renderedFrame; var keyframes = this.keyframes; var lastKeyFrame = keyframes[keyframes.length - 1].t; if (currentFrame <= lastKeyFrame) { return this.pv; } var cycleDuration; var firstKeyFrame; if (!durationFlag) { if (!duration || duration > keyframes.length - 1) { duration = keyframes.length - 1; } firstKeyFrame = keyframes[keyframes.length - 1 - duration].t; cycleDuration = lastKeyFrame - firstKeyFrame; } else { if (!duration) { cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip); } else { cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration); } firstKeyFrame = lastKeyFrame - cycleDuration; } var i; var len; var ret; if (type === 'pingpong') { var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration); if (iterations % 2 !== 0) { return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line } } else if (type === 'offset') { var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0); var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0); var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration); if (this.pv.length) { ret = new Array(initV.length); len = ret.length; for (i = 0; i < len; i += 1) { ret[i] = (endV[i] - initV[i]) * repeats + current[i]; } return ret; } return (endV - initV) * repeats + current; } else if (type === 'continue') { var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0); var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0); if (this.pv.length) { ret = new Array(lastValue.length); len = ret.length; for (i = 0; i < len; i += 1) { ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line } return ret; } return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001); } return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line } function loopIn(type, duration, durationFlag) { if (!this.k) { return this.pv; } type = type ? type.toLowerCase() : ''; var currentFrame = this.comp.renderedFrame; var keyframes = this.keyframes; var firstKeyFrame = keyframes[0].t; if (currentFrame >= firstKeyFrame) { return this.pv; } var cycleDuration; var lastKeyFrame; if (!durationFlag) { if (!duration || duration > keyframes.length - 1) { duration = keyframes.length - 1; } lastKeyFrame = keyframes[duration].t; cycleDuration = lastKeyFrame - firstKeyFrame; } else { if (!duration) { cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame); } else { cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration); } lastKeyFrame = firstKeyFrame + cycleDuration; } var i; var len; var ret; if (type === 'pingpong') { var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration); if (iterations % 2 === 0) { return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line } } else if (type === 'offset') { var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0); var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0); var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1; if (this.pv.length) { ret = new Array(initV.length); len = ret.length; for (i = 0; i < len; i += 1) { ret[i] = current[i] - (endV[i] - initV[i]) * repeats; } return ret; } return current - (endV - initV) * repeats; } else if (type === 'continue') { var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0); var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0); if (this.pv.length) { ret = new Array(firstValue.length); len = ret.length; for (i = 0; i < len; i += 1) { ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001; } return ret; } return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001; } return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line } function smooth(width, samples) { if (!this.k) { return this.pv; } width = (width || 0.4) * 0.5; samples = Math.floor(samples || 5); if (samples <= 1) { return this.pv; } var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate; var initFrame = currentTime - width; var endFrame = currentTime + width; var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1; var i = 0; var j = 0; var value; if (this.pv.length) { value = createTypedArray('float32', this.pv.length); } else { value = 0; } var sampleValue; while (i < samples) { sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency); if (this.pv.length) { for (j = 0; j < this.pv.length; j += 1) { value[j] += sampleValue[j]; } } else { value += sampleValue; } i += 1; } if (this.pv.length) { for (j = 0; j < this.pv.length; j += 1) { value[j] /= samples; } } else { value /= samples; } return value; } function getTransformValueAtTime(time) { if (!this._transformCachingAtTime) { this._transformCachingAtTime = { v: new Matrix() }; } /// / var matrix = this._transformCachingAtTime.v; matrix.cloneFromProps(this.pre.props); if (this.appliedTransformations < 1) { var anchor = this.a.getValueAtTime(time); matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult); } if (this.appliedTransformations < 2) { var scale = this.s.getValueAtTime(time); matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult); } if (this.sk && this.appliedTransformations < 3) { var skew = this.sk.getValueAtTime(time); var skewAxis = this.sa.getValueAtTime(time); matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult); } if (this.r && this.appliedTransformations < 4) { var rotation = this.r.getValueAtTime(time); matrix.rotate(-rotation * this.r.mult); } else if (!this.r && this.appliedTransformations < 4) { var rotationZ = this.rz.getValueAtTime(time); var rotationY = this.ry.getValueAtTime(time); var rotationX = this.rx.getValueAtTime(time); var orientation = this.or.getValueAtTime(time); matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult); } if (this.data.p && this.data.p.s) { var positionX = this.px.getValueAtTime(time); var positionY = this.py.getValueAtTime(time); if (this.data.p.z) { var positionZ = this.pz.getValueAtTime(time); matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult); } else { matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0); } } else { var position = this.p.getValueAtTime(time); matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult); } return matrix; /// / } function getTransformStaticValueAtTime() { return this.v.clone(new Matrix()); } var getTransformProperty = TransformPropertyFactory.getTransformProperty; TransformPropertyFactory.getTransformProperty = function (elem, data, container) { var prop = getTransformProperty(elem, data, container); if (prop.dynamicProperties.length) { prop.getValueAtTime = getTransformValueAtTime.bind(prop); } else { prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop); } prop.setGroupProperty = expressionHelpers.setGroupProperty; return prop; }; var propertyGetProp = PropertyFactory.getProp; PropertyFactory.getProp = function (elem, data, type, mult, container) { var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime; // prop.loopOut = loopOut; // prop.loopIn = loopIn; if (prop.kf) { prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop); } else { prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop); } prop.setGroupProperty = expressionHelpers.setGroupProperty; prop.loopOut = loopOut; prop.loopIn = loopIn; prop.smooth = smooth; prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop); prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop); prop.numKeys = data.a === 1 ? data.k.length : 0; prop.propertyIndex = data.ix; var value = 0; if (type !== 0) { value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length); } prop._cachingAtTime = { lastFrame: initialDefaultFrame, lastIndex: 0, value: value }; expressionHelpers.searchExpressions(elem, data, prop); if (prop.k) { container.addDynamicProperty(prop); } return prop; }; function getShapeValueAtTime(frameNum) { // For now this caching object is created only when needed instead of creating it when the shape is initialized. if (!this._cachingAtTime) { this._cachingAtTime = { shapeValue: shapePool.clone(this.pv), lastIndex: 0, lastTime: initialDefaultFrame }; } frameNum *= this.elem.globalData.frameRate; frameNum -= this.offsetTime; if (frameNum !== this._cachingAtTime.lastTime) { this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0; this._cachingAtTime.lastTime = frameNum; this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime); } return this._cachingAtTime.shapeValue; } var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction(); var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction(); function ShapeExpressions() {} ShapeExpressions.prototype = { vertices: function vertices(prop, time) { if (this.k) { this.getValue(); } var shapePath = this.v; if (time !== undefined) { shapePath = this.getValueAtTime(time, 0); } var i; var len = shapePath._length; var vertices = shapePath[prop]; var points = shapePath.v; var arr = createSizedArray(len); for (i = 0; i < len; i += 1) { if (prop === 'i' || prop === 'o') { arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]]; } else { arr[i] = [vertices[i][0], vertices[i][1]]; } } return arr; }, points: function points(time) { return this.vertices('v', time); }, inTangents: function inTangents(time) { return this.vertices('i', time); }, outTangents: function outTangents(time) { return this.vertices('o', time); }, isClosed: function isClosed() { return this.v.c; }, pointOnPath: function pointOnPath(perc, time) { var shapePath = this.v; if (time !== undefined) { shapePath = this.getValueAtTime(time, 0); } if (!this._segmentsLength) { this._segmentsLength = bez.getSegmentsLength(shapePath); } var segmentsLength = this._segmentsLength; var lengths = segmentsLength.lengths; var lengthPos = segmentsLength.totalLength * perc; var i = 0; var len = lengths.length; var accumulatedLength = 0; var pt; while (i < len) { if (accumulatedLength + lengths[i].addedLength > lengthPos) { var initIndex = i; var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1; var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength; pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]); break; } else { accumulatedLength += lengths[i].addedLength; } i += 1; } if (!pt) { pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]]; } return pt; }, vectorOnPath: function vectorOnPath(perc, time, vectorType) { // perc doesn't use triple equality because it can be a Number object as well as a primitive. if (perc == 1) { // eslint-disable-line eqeqeq perc = this.v.c; } else if (perc == 0) { // eslint-disable-line eqeqeq perc = 0.999; } var pt1 = this.pointOnPath(perc, time); var pt2 = this.pointOnPath(perc + 0.001, time); var xLength = pt2[0] - pt1[0]; var yLength = pt2[1] - pt1[1]; var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2)); if (magnitude === 0) { return [0, 0]; } var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude]; return unitVector; }, tangentOnPath: function tangentOnPath(perc, time) { return this.vectorOnPath(perc, time, 'tangent'); }, normalOnPath: function normalOnPath(perc, time) { return this.vectorOnPath(perc, time, 'normal'); }, setGroupProperty: expressionHelpers.setGroupProperty, getValueAtTime: expressionHelpers.getStaticValueAtTime }; extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction); extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction); KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime; KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression; var propertyGetShapeProp = ShapePropertyFactory.getShapeProp; ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) { var prop = propertyGetShapeProp(elem, data, type, arr, trims); prop.propertyIndex = data.ix; prop.lock = false; if (type === 3) { expressionHelpers.searchExpressions(elem, data.pt, prop); } else if (type === 4) { expressionHelpers.searchExpressions(elem, data.ks, prop); } if (prop.k) { elem.addDynamicProperty(prop); } return prop; }; } function initialize$1() { addPropertyDecorator(); } function addDecorator() { function searchExpressions() { if (this.data.d.x) { this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this); this.addEffect(this.getExpressionValue.bind(this)); return true; } return null; } TextProperty.prototype.getExpressionValue = function (currentValue, text) { var newValue = this.calculateExpression(text); if (currentValue.t !== newValue) { var newData = {}; this.copyData(newData, currentValue); newData.t = newValue.toString(); newData.__complete = false; return newData; } return currentValue; }; TextProperty.prototype.searchProperty = function () { var isKeyframed = this.searchKeyframes(); var hasExpressions = this.searchExpressions(); this.kf = isKeyframed || hasExpressions; return this.kf; }; TextProperty.prototype.searchExpressions = searchExpressions; } function initialize() { addDecorator(); } function SVGComposableEffect() {} SVGComposableEffect.prototype = { createMergeNode: function createMergeNode(resultId, ins) { var feMerge = createNS('feMerge'); feMerge.setAttribute('result', resultId); var feMergeNode; var i; for (i = 0; i < ins.length; i += 1) { feMergeNode = createNS('feMergeNode'); feMergeNode.setAttribute('in', ins[i]); feMerge.appendChild(feMergeNode); feMerge.appendChild(feMergeNode); } return feMerge; } }; var linearFilterValue = '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0'; function SVGTintFilter(filter, filterManager, elem, id, source) { this.filterManager = filterManager; var feColorMatrix = createNS('feColorMatrix'); feColorMatrix.setAttribute('type', 'matrix'); feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB'); feColorMatrix.setAttribute('values', linearFilterValue + ' 1 0'); this.linearFilter = feColorMatrix; feColorMatrix.setAttribute('result', id + '_tint_1'); filter.appendChild(feColorMatrix); feColorMatrix = createNS('feColorMatrix'); feColorMatrix.setAttribute('type', 'matrix'); feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB'); feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0'); feColorMatrix.setAttribute('result', id + '_tint_2'); filter.appendChild(feColorMatrix); this.matrixFilter = feColorMatrix; var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']); filter.appendChild(feMerge); } extendPrototype([SVGComposableEffect], SVGTintFilter); SVGTintFilter.prototype.renderFrame = function (forceRender) { if (forceRender || this.filterManager._mdf) { var colorBlack = this.filterManager.effectElements[0].p.v; var colorWhite = this.filterManager.effectElements[1].p.v; var opacity = this.filterManager.effectElements[2].p.v / 100; this.linearFilter.setAttribute('values', linearFilterValue + ' ' + opacity + ' 0'); this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 1 0'); } }; function SVGFillFilter(filter, filterManager, elem, id) { this.filterManager = filterManager; var feColorMatrix = createNS('feColorMatrix'); feColorMatrix.setAttribute('type', 'matrix'); feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB'); feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0'); feColorMatrix.setAttribute('result', id); filter.appendChild(feColorMatrix); this.matrixFilter = feColorMatrix; } SVGFillFilter.prototype.renderFrame = function (forceRender) { if (forceRender || this.filterManager._mdf) { var color = this.filterManager.effectElements[2].p.v; var opacity = this.filterManager.effectElements[6].p.v; this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0'); } }; function SVGStrokeEffect(fil, filterManager, elem) { this.initialized = false; this.filterManager = filterManager; this.elem = elem; this.paths = []; } SVGStrokeEffect.prototype.initialize = function () { var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes; var path; var groupPath; var i; var len; if (this.filterManager.effectElements[1].p.v === 1) { len = this.elem.maskManager.masksProperties.length; i = 0; } else { i = this.filterManager.effectElements[0].p.v - 1; len = i + 1; } groupPath = createNS('g'); groupPath.setAttribute('fill', 'none'); groupPath.setAttribute('stroke-linecap', 'round'); groupPath.setAttribute('stroke-dashoffset', 1); for (i; i < len; i += 1) { path = createNS('path'); groupPath.appendChild(path); this.paths.push({ p: path, m: i }); } if (this.filterManager.effectElements[10].p.v === 3) { var mask = createNS('mask'); var id = createElementID(); mask.setAttribute('id', id); mask.setAttribute('mask-type', 'alpha'); mask.appendChild(groupPath); this.elem.globalData.defs.appendChild(mask); var g = createNS('g'); g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')'); while (elemChildren[0]) { g.appendChild(elemChildren[0]); } this.elem.layerElement.appendChild(g); this.masker = mask; groupPath.setAttribute('stroke', '#fff'); } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) { if (this.filterManager.effectElements[10].p.v === 2) { elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes; while (elemChildren.length) { this.elem.layerElement.removeChild(elemChildren[0]); } } this.elem.layerElement.appendChild(groupPath); this.elem.layerElement.removeAttribute('mask'); groupPath.setAttribute('stroke', '#fff'); } this.initialized = true; this.pathMasker = groupPath; }; SVGStrokeEffect.prototype.renderFrame = function (forceRender) { if (!this.initialized) { this.initialize(); } var i; var len = this.paths.length; var mask; var path; for (i = 0; i < len; i += 1) { if (this.paths[i].m !== -1) { mask = this.elem.maskManager.viewData[this.paths[i].m]; path = this.paths[i].p; if (forceRender || this.filterManager._mdf || mask.prop._mdf) { path.setAttribute('d', mask.lastPath); } if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) { var dasharrayValue; if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) { var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01; var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01; var l = path.getTotalLength(); dasharrayValue = '0 0 0 ' + l * s + ' '; var lineLength = l * (e - s); var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01; var units = Math.floor(lineLength / segment); var j; for (j = 0; j < units; j += 1) { dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' '; } dasharrayValue += '0 ' + l * 10 + ' 0 0'; } else { dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01; } path.setAttribute('stroke-dasharray', dasharrayValue); } } } if (forceRender || this.filterManager.effectElements[4].p._mdf) { this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2); } if (forceRender || this.filterManager.effectElements[6].p._mdf) { this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v); } if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) { if (forceRender || this.filterManager.effectElements[3].p._mdf) { var color = this.filterManager.effectElements[3].p.v; this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')'); } } }; function SVGTritoneFilter(filter, filterManager, elem, id) { this.filterManager = filterManager; var feColorMatrix = createNS('feColorMatrix'); feColorMatrix.setAttribute('type', 'matrix'); feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB'); feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'); filter.appendChild(feColorMatrix); var feComponentTransfer = createNS('feComponentTransfer'); feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB'); feComponentTransfer.setAttribute('result', id); this.matrixFilter = feComponentTransfer; var feFuncR = createNS('feFuncR'); feFuncR.setAttribute('type', 'table'); feComponentTransfer.appendChild(feFuncR); this.feFuncR = feFuncR; var feFuncG = createNS('feFuncG'); feFuncG.setAttribute('type', 'table'); feComponentTransfer.appendChild(feFuncG); this.feFuncG = feFuncG; var feFuncB = createNS('feFuncB'); feFuncB.setAttribute('type', 'table'); feComponentTransfer.appendChild(feFuncB); this.feFuncB = feFuncB; filter.appendChild(feComponentTransfer); } SVGTritoneFilter.prototype.renderFrame = function (forceRender) { if (forceRender || this.filterManager._mdf) { var color1 = this.filterManager.effectElements[0].p.v; var color2 = this.filterManager.effectElements[1].p.v; var color3 = this.filterManager.effectElements[2].p.v; var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0]; var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1]; var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2]; this.feFuncR.setAttribute('tableValues', tableR); this.feFuncG.setAttribute('tableValues', tableG); this.feFuncB.setAttribute('tableValues', tableB); } }; function SVGProLevelsFilter(filter, filterManager, elem, id) { this.filterManager = filterManager; var effectElements = this.filterManager.effectElements; var feComponentTransfer = createNS('feComponentTransfer'); // Red if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) { this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer); } // Green if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) { this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer); } // Blue if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) { this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer); } // Alpha if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) { this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer); } // RGB if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) { feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB'); filter.appendChild(feComponentTransfer); } if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) { feComponentTransfer = createNS('feComponentTransfer'); feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB'); feComponentTransfer.setAttribute('result', id); filter.appendChild(feComponentTransfer); this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer); this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer); this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer); } } SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) { var feFunc = createNS(type); feFunc.setAttribute('type', 'table'); feComponentTransfer.appendChild(feFunc); return feFunc; }; SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) { var cnt = 0; var segments = 256; var perc; var min = Math.min(inputBlack, inputWhite); var max = Math.max(inputBlack, inputWhite); var table = Array.call(null, { length: segments }); var colorValue; var pos = 0; var outputDelta = outputWhite - outputBlack; var inputDelta = inputWhite - inputBlack; while (cnt <= 256) { perc = cnt / 256; if (perc <= min) { colorValue = inputDelta < 0 ? outputWhite : outputBlack; } else if (perc >= max) { colorValue = inputDelta < 0 ? outputBlack : outputWhite; } else { colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma); } table[pos] = colorValue; pos += 1; cnt += 256 / (segments - 1); } return table.join(' '); }; SVGProLevelsFilter.prototype.renderFrame = function (forceRender) { if (forceRender || this.filterManager._mdf) { var val; var effectElements = this.filterManager.effectElements; if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) { val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v); this.feFuncRComposed.setAttribute('tableValues', val); this.feFuncGComposed.setAttribute('tableValues', val); this.feFuncBComposed.setAttribute('tableValues', val); } if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) { val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v); this.feFuncR.setAttribute('tableValues', val); } if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) { val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v); this.feFuncG.setAttribute('tableValues', val); } if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) { val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v); this.feFuncB.setAttribute('tableValues', val); } if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) { val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v); this.feFuncA.setAttribute('tableValues', val); } } }; function SVGDropShadowEffect(filter, filterManager, elem, id, source) { var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize; var filterSize = filterManager.data.fs || globalFilterSize; filter.setAttribute('x', filterSize.x || globalFilterSize.x); filter.setAttribute('y', filterSize.y || globalFilterSize.y); filter.setAttribute('width', filterSize.width || globalFilterSize.width); filter.setAttribute('height', filterSize.height || globalFilterSize.height); this.filterManager = filterManager; var feGaussianBlur = createNS('feGaussianBlur'); feGaussianBlur.setAttribute('in', 'SourceAlpha'); feGaussianBlur.setAttribute('result', id + '_drop_shadow_1'); feGaussianBlur.setAttribute('stdDeviation', '0'); this.feGaussianBlur = feGaussianBlur; filter.appendChild(feGaussianBlur); var feOffset = createNS('feOffset'); feOffset.setAttribute('dx', '25'); feOffset.setAttribute('dy', '0'); feOffset.setAttribute('in', id + '_drop_shadow_1'); feOffset.setAttribute('result', id + '_drop_shadow_2'); this.feOffset = feOffset; filter.appendChild(feOffset); var feFlood = createNS('feFlood'); feFlood.setAttribute('flood-color', '#00ff00'); feFlood.setAttribute('flood-opacity', '1'); feFlood.setAttribute('result', id + '_drop_shadow_3'); this.feFlood = feFlood; filter.appendChild(feFlood); var feComposite = createNS('feComposite'); feComposite.setAttribute('in', id + '_drop_shadow_3'); feComposite.setAttribute('in2', id + '_drop_shadow_2'); feComposite.setAttribute('operator', 'in'); feComposite.setAttribute('result', id + '_drop_shadow_4'); filter.appendChild(feComposite); var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]); filter.appendChild(feMerge); // } extendPrototype([SVGComposableEffect], SVGDropShadowEffect); SVGDropShadowEffect.prototype.renderFrame = function (forceRender) { if (forceRender || this.filterManager._mdf) { if (forceRender || this.filterManager.effectElements[4].p._mdf) { this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4); } if (forceRender || this.filterManager.effectElements[0].p._mdf) { var col = this.filterManager.effectElements[0].p.v; this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255))); } if (forceRender || this.filterManager.effectElements[1].p._mdf) { this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255); } if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) { var distance = this.filterManager.effectElements[3].p.v; var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads; var x = distance * Math.cos(angle); var y = distance * Math.sin(angle); this.feOffset.setAttribute('dx', x); this.feOffset.setAttribute('dy', y); } } }; var _svgMatteSymbols = []; function SVGMatte3Effect(filterElem, filterManager, elem) { this.initialized = false; this.filterManager = filterManager; this.filterElem = filterElem; this.elem = elem; elem.matteElement = createNS('g'); elem.matteElement.appendChild(elem.layerElement); elem.matteElement.appendChild(elem.transformedElement); elem.baseElement = elem.matteElement; } SVGMatte3Effect.prototype.findSymbol = function (mask) { var i = 0; var len = _svgMatteSymbols.length; while (i < len) { if (_svgMatteSymbols[i] === mask) { return _svgMatteSymbols[i]; } i += 1; } return null; }; SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) { var parentNode = mask.layerElement.parentNode; if (!parentNode) { return; } var children = parentNode.children; var i = 0; var len = children.length; while (i < len) { if (children[i] === mask.layerElement) { break; } i += 1; } var nextChild; if (i <= len - 2) { nextChild = children[i + 1]; } var useElem = createNS('use'); useElem.setAttribute('href', '#' + symbolId); if (nextChild) { parentNode.insertBefore(useElem, nextChild); } else { parentNode.appendChild(useElem); } }; SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) { if (!this.findSymbol(mask)) { var symbolId = createElementID(); var masker = createNS('mask'); masker.setAttribute('id', mask.layerId); masker.setAttribute('mask-type', 'alpha'); _svgMatteSymbols.push(mask); var defs = elem.globalData.defs; defs.appendChild(masker); var symbol = createNS('symbol'); symbol.setAttribute('id', symbolId); this.replaceInParent(mask, symbolId); symbol.appendChild(mask.layerElement); defs.appendChild(symbol); var useElem = createNS('use'); useElem.setAttribute('href', '#' + symbolId); masker.appendChild(useElem); mask.data.hd = false; mask.show(); } elem.setMatte(mask.layerId); }; SVGMatte3Effect.prototype.initialize = function () { var ind = this.filterManager.effectElements[0].p.v; var elements = this.elem.comp.elements; var i = 0; var len = elements.length; while (i < len) { if (elements[i] && elements[i].data.ind === ind) { this.setElementAsMask(this.elem, elements[i]); } i += 1; } this.initialized = true; }; SVGMatte3Effect.prototype.renderFrame = function () { if (!this.initialized) { this.initialize(); } }; function SVGGaussianBlurEffect(filter, filterManager, elem, id) { // Outset the filter region by 100% on all sides to accommodate blur expansion. filter.setAttribute('x', '-100%'); filter.setAttribute('y', '-100%'); filter.setAttribute('width', '300%'); filter.setAttribute('height', '300%'); this.filterManager = filterManager; var feGaussianBlur = createNS('feGaussianBlur'); feGaussianBlur.setAttribute('result', id); filter.appendChild(feGaussianBlur); this.feGaussianBlur = feGaussianBlur; } SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) { if (forceRender || this.filterManager._mdf) { // Empirical value, matching AE's blur appearance. var kBlurrinessToSigma = 0.3; var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping: // // 1 -> horizontal & vertical // 2 -> horizontal only // 3 -> vertical only // var dimensions = this.filterManager.effectElements[1].p.v; var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping: // // 0 -> off -> duplicate // 1 -> on -> wrap var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq this.feGaussianBlur.setAttribute('edgeMode', edgeMode); } }; function TransformEffect() {} TransformEffect.prototype.init = function (effectsManager) { this.effectsManager = effectsManager; this.type = effectTypes.TRANSFORM_EFFECT; this.matrix = new Matrix(); this.opacity = -1; this._mdf = false; this._opMdf = false; }; TransformEffect.prototype.renderFrame = function (forceFrame) { this._opMdf = false; this._mdf = false; if (forceFrame || this.effectsManager._mdf) { var effectElements = this.effectsManager.effectElements; var anchor = effectElements[0].p.v; var position = effectElements[1].p.v; var isUniformScale = effectElements[2].p.v === 1; var scaleHeight = effectElements[3].p.v; var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v; var skew = effectElements[5].p.v; var skewAxis = effectElements[6].p.v; var rotation = effectElements[7].p.v; this.matrix.reset(); this.matrix.translate(-anchor[0], -anchor[1], anchor[2]); this.matrix.scale(scaleWidth * 0.01, scaleHeight * 0.01, 1); this.matrix.rotate(-rotation * degToRads); this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads); this.matrix.translate(position[0], position[1], 0); this._mdf = true; if (this.opacity !== effectElements[8].p.v) { this.opacity = effectElements[8].p.v; this._opMdf = true; } } }; function SVGTransformEffect(_, filterManager) { this.init(filterManager); } extendPrototype([TransformEffect], SVGTransformEffect); function CVTransformEffect(effectsManager) { this.init(effectsManager); } extendPrototype([TransformEffect], CVTransformEffect); registerRenderer('canvas', CanvasRenderer); registerRenderer('html', HybridRenderer); registerRenderer('svg', SVGRenderer); // Registering shape modifiers ShapeModifiers.registerModifier('tm', TrimModifier); ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier); ShapeModifiers.registerModifier('rp', RepeaterModifier); ShapeModifiers.registerModifier('rd', RoundCornersModifier); ShapeModifiers.registerModifier('zz', ZigZagModifier); ShapeModifiers.registerModifier('op', OffsetPathModifier); // Registering expression plugin setExpressionsPlugin(Expressions); setExpressionInterfaces(getInterface); initialize$1(); initialize(); // Registering svg effects registerEffect$1(20, SVGTintFilter, true); registerEffect$1(21, SVGFillFilter, true); registerEffect$1(22, SVGStrokeEffect, false); registerEffect$1(23, SVGTritoneFilter, true); registerEffect$1(24, SVGProLevelsFilter, true); registerEffect$1(25, SVGDropShadowEffect, true); registerEffect$1(28, SVGMatte3Effect, false); registerEffect$1(29, SVGGaussianBlurEffect, true); registerEffect$1(35, SVGTransformEffect, false); registerEffect(35, CVTransformEffect); return lottie; })); /***/ }), /***/ "./node_modules/object-assign/index.js": /*!*********************************************!*\ !*** ./node_modules/object-assign/index.js ***! \*********************************************/ /***/ ((module) => { "use strict"; /* object-assign (c) Sindre Sorhus @license MIT */ /* eslint-disable no-unused-vars */ var getOwnPropertySymbols = Object.getOwnPropertySymbols; var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (err) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (getOwnPropertySymbols) { symbols = getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }), /***/ "./node_modules/prop-types/checkPropTypes.js": /*!***************************************************!*\ !*** ./node_modules/prop-types/checkPropTypes.js ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var printWarning = function() {}; if (true) { var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); var loggedTypeFailures = {}; var has = __webpack_require__(/*! ./lib/has */ "./node_modules/prop-types/lib/has.js"); printWarning = function(text) { var message = 'Warning: ' + text; if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) { /**/ } }; } /** * Assert that the values match with the type specs. * Error messages are memorized and will only be shown once. * * @param {object} typeSpecs Map of name to a ReactPropType * @param {object} values Runtime values that need to be type-checked * @param {string} location e.g. "prop", "context", "child context" * @param {string} componentName Name of the component for error messages. * @param {?Function} getStack Returns the component stack. * @private */ function checkPropTypes(typeSpecs, values, location, componentName, getStack) { if (true) { for (var typeSpecName in typeSpecs) { if (has(typeSpecs, typeSpecName)) { var error; // Prop type validation may throw. In case they do, we don't want to // fail the render phase where it didn't fail before. So we log it. // After these have been cleaned up, we'll let them throw. try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. if (typeof typeSpecs[typeSpecName] !== 'function') { var err = Error( (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.' ); err.name = 'Invariant Violation'; throw err; } error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); } catch (ex) { error = ex; } if (error && !(error instanceof Error)) { printWarning( (componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).' ); } if (error instanceof Error && !(error.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the // same error. loggedTypeFailures[error.message] = true; var stack = getStack ? getStack() : ''; printWarning( 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') ); } } } } } /** * Resets warning cache when testing. * * @private */ checkPropTypes.resetWarningCache = function() { if (true) { loggedTypeFailures = {}; } } module.exports = checkPropTypes; /***/ }), /***/ "./node_modules/prop-types/factoryWithTypeCheckers.js": /*!************************************************************!*\ !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/prop-types/node_modules/react-is/index.js"); var assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); var has = __webpack_require__(/*! ./lib/has */ "./node_modules/prop-types/lib/has.js"); var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js"); var printWarning = function() {}; if (true) { printWarning = function(text) { var message = 'Warning: ' + text; if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} }; } function emptyFunctionThatReturnsNull() { return null; } module.exports = function(isValidElement, throwOnDirectAccess) { /* global Symbol */ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. /** * Returns the iterator method function contained on the iterable object. * * Be sure to invoke the function with the iterable as context: * * var iteratorFn = getIteratorFn(myIterable); * if (iteratorFn) { * var iterator = iteratorFn.call(myIterable); * ... * } * * @param {?object} maybeIterable * @return {?function} */ function getIteratorFn(maybeIterable) { var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); if (typeof iteratorFn === 'function') { return iteratorFn; } } /** * Collection of methods that allow declaration and validation of props that are * supplied to React components. Example usage: * * var Props = require('ReactPropTypes'); * var MyArticle = React.createClass({ * propTypes: { * // An optional string prop named "description". * description: Props.string, * * // A required enum prop named "category". * category: Props.oneOf(['News','Photos']).isRequired, * * // A prop named "dialog" that requires an instance of Dialog. * dialog: Props.instanceOf(Dialog).isRequired * }, * render: function() { ... } * }); * * A more formal specification of how these methods are used: * * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) * decl := ReactPropTypes.{type}(.isRequired)? * * Each and every declaration produces a function with the same signature. This * allows the creation of custom validation functions. For example: * * var MyLink = React.createClass({ * propTypes: { * // An optional string or URI prop named "href". * href: function(props, propName, componentName) { * var propValue = props[propName]; * if (propValue != null && typeof propValue !== 'string' && * !(propValue instanceof URI)) { * return new Error( * 'Expected a string or an URI for ' + propName + ' in ' + * componentName * ); * } * } * }, * render: function() {...} * }); * * @internal */ var ANONYMOUS = '<<anonymous>>'; // Important! // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bigint: createPrimitiveTypeChecker('bigint'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), symbol: createPrimitiveTypeChecker('symbol'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), elementType: createElementTypeTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker, exact: createStrictShapeTypeChecker, }; /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ /*eslint-disable no-self-compare*/ function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } } /*eslint-enable no-self-compare*/ /** * We use an Error-like object for backward compatibility as people may call * PropTypes directly and inspect their output. However, we don't use real * Errors anymore. We don't inspect their stack anyway, and creating them * is prohibitively expensive if they are created too often, such as what * happens in oneOfType() for any type before the one that matched. */ function PropTypeError(message, data) { this.message = message; this.data = data && typeof data === 'object' ? data: {}; this.stack = ''; } // Make `instanceof Error` still work for returned errors. PropTypeError.prototype = Error.prototype; function createChainableTypeChecker(validate) { if (true) { var manualPropTypeCallCache = {}; var manualPropTypeWarningCount = 0; } function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (secret !== ReactPropTypesSecret) { if (throwOnDirectAccess) { // New behavior only for users of `prop-types` package var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); err.name = 'Invariant Violation'; throw err; } else if ( true && typeof console !== 'undefined') { // Old behavior for people using React.PropTypes var cacheKey = componentName + ':' + propName; if ( !manualPropTypeCallCache[cacheKey] && // Avoid spamming the console because they are often not actionable except for lib authors manualPropTypeWarningCount < 3 ) { printWarning( 'You are manually calling a React.PropTypes validation ' + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' ); manualPropTypeCallCache[cacheKey] = true; manualPropTypeWarningCount++; } } } if (props[propName] == null) { if (isRequired) { if (props[propName] === null) { return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); } return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName, secret) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { // `propValue` being instance of, say, date/regexp, pass the 'object' // check, but we can offer a more precise error message here rather than // 'of type `object`'. var preciseType = getPreciseType(propValue); return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'), {expectedType: expectedType} ); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunctionThatReturnsNull); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (!isValidElement(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); } return null; } return createChainableTypeChecker(validate); } function createElementTypeTypeChecker() { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (!ReactIs.isValidElementType(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.')); } return null; } return createChainableTypeChecker(validate); } function createInstanceTypeChecker(expectedClass) { function validate(props, propName, componentName, location, propFullName) { if (!(props[propName] instanceof expectedClass)) { var expectedClassName = expectedClass.name || ANONYMOUS; var actualClassName = getClassName(props[propName]); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } return null; } return createChainableTypeChecker(validate); } function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { if (true) { if (arguments.length > 1) { printWarning( 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).' ); } else { printWarning('Invalid argument supplied to oneOf, expected an array.'); } } return emptyFunctionThatReturnsNull; } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; for (var i = 0; i < expectedValues.length; i++) { if (is(propValue, expectedValues[i])) { return null; } } var valuesString = JSON.stringify(expectedValues, function replacer(key, value) { var type = getPreciseType(value); if (type === 'symbol') { return String(value); } return value; }); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } return createChainableTypeChecker(validate); } function createObjectOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } for (var key in propValue) { if (has(propValue, key)) { var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error instanceof Error) { return error; } } } return null; } return createChainableTypeChecker(validate); } function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0; return emptyFunctionThatReturnsNull; } for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; if (typeof checker !== 'function') { printWarning( 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' ); return emptyFunctionThatReturnsNull; } } function validate(props, propName, componentName, location, propFullName) { var expectedTypes = []; for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret); if (checkerResult == null) { return null; } if (checkerResult.data && has(checkerResult.data, 'expectedType')) { expectedTypes.push(checkerResult.data.expectedType); } } var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': ''; return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.')); } return createChainableTypeChecker(validate); } function createNodeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!isNode(props[propName])) { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); } return null; } return createChainableTypeChecker(validate); } function invalidValidatorError(componentName, location, propFullName, key, type) { return new PropTypeError( (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.' ); } function createShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } for (var key in shapeTypes) { var checker = shapeTypes[key]; if (typeof checker !== 'function') { return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); } var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createStrictShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } // We need to check all keys in case some are required but missing from props. var allKeys = assign({}, props[propName], shapeTypes); for (var key in allKeys) { var checker = shapeTypes[key]; if (has(shapeTypes, key) && typeof checker !== 'function') { return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); } if (!checker) { return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') ); } var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function isNode(propValue) { switch (typeof propValue) { case 'number': case 'string': case 'undefined': return true; case 'boolean': return !propValue; case 'object': if (Array.isArray(propValue)) { return propValue.every(isNode); } if (propValue === null || isValidElement(propValue)) { return true; } var iteratorFn = getIteratorFn(propValue); if (iteratorFn) { var iterator = iteratorFn.call(propValue); var step; if (iteratorFn !== propValue.entries) { while (!(step = iterator.next()).done) { if (!isNode(step.value)) { return false; } } } else { // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { if (!isNode(entry[1])) { return false; } } } } } else { return false; } return true; default: return false; } } function isSymbol(propType, propValue) { // Native Symbol. if (propType === 'symbol') { return true; } // falsy value can't be a Symbol if (!propValue) { return false; } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' if (propValue['@@toStringTag'] === 'Symbol') { return true; } // Fallback for non-spec compliant Symbols which are polyfilled. if (typeof Symbol === 'function' && propValue instanceof Symbol) { return true; } return false; } // Equivalent of `typeof` but with special handling for array and regexp. function getPropType(propValue) { var propType = typeof propValue; if (Array.isArray(propValue)) { return 'array'; } if (propValue instanceof RegExp) { // Old webkits (at least until Android 4.0) return 'function' rather than // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ // passes PropTypes.object. return 'object'; } if (isSymbol(propType, propValue)) { return 'symbol'; } return propType; } // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { if (typeof propValue === 'undefined' || propValue === null) { return '' + propValue; } var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { return 'date'; } else if (propValue instanceof RegExp) { return 'regexp'; } } return propType; } // Returns a string that is postfixed to a warning about an invalid type. // For example, "undefined" or "of type array" function getPostfixForTypeWarning(value) { var type = getPreciseType(value); switch (type) { case 'array': case 'object': return 'an ' + type; case 'boolean': case 'date': case 'regexp': return 'a ' + type; default: return type; } } // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { return ANONYMOUS; } return propValue.constructor.name; } ReactPropTypes.checkPropTypes = checkPropTypes; ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /***/ "./node_modules/prop-types/index.js": /*!******************************************!*\ !*** ./node_modules/prop-types/index.js ***! \******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/prop-types/node_modules/react-is/index.js"); // By explicitly using `prop-types` you are opting into new development behavior. // http://fb.me/prop-types-in-prod var throwOnDirectAccess = true; module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "./node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess); } else {} /***/ }), /***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js": /*!*************************************************************!*\ !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***! \*************************************************************/ /***/ ((module) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /***/ "./node_modules/prop-types/lib/has.js": /*!********************************************!*\ !*** ./node_modules/prop-types/lib/has.js ***! \********************************************/ /***/ ((module) => { module.exports = Function.call.bind(Object.prototype.hasOwnProperty); /***/ }), /***/ "./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js": /*!***********************************************************************************!*\ !*** ./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } /***/ }), /***/ "./node_modules/prop-types/node_modules/react-is/index.js": /*!****************************************************************!*\ !*** ./node_modules/prop-types/node_modules/react-is/index.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) {} else { module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js"); } /***/ }), /***/ "./node_modules/react-is/cjs/react-is.development.js": /*!***********************************************************!*\ !*** ./node_modules/react-is/cjs/react-is.development.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; /** * @license React * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; // ATTENTION // When adding new symbols to this file, // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' // The Symbol used to tag the ReactElement-like types. var REACT_ELEMENT_TYPE = Symbol.for('react.element'); var REACT_PORTAL_TYPE = Symbol.for('react.portal'); var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment'); var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode'); var REACT_PROFILER_TYPE = Symbol.for('react.profiler'); var REACT_PROVIDER_TYPE = Symbol.for('react.provider'); var REACT_CONTEXT_TYPE = Symbol.for('react.context'); var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context'); var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref'); var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense'); var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list'); var REACT_MEMO_TYPE = Symbol.for('react.memo'); var REACT_LAZY_TYPE = Symbol.for('react.lazy'); var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen'); // ----------------------------------------------------------------------------- var enableScopeAPI = false; // Experimental Create Event Handle API. var enableCacheElement = false; var enableTransitionTracing = false; // No known bugs, but needs performance testing var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber // stuff. Intended to enable React core members to more easily debug scheduling // issues in DEV builds. var enableDebugTracing = false; // Track which Fiber(s) schedule render work. var REACT_MODULE_REFERENCE; { REACT_MODULE_REFERENCE = Symbol.for('react.module.reference'); } function isValidElementType(type) { if (typeof type === 'string' || typeof type === 'function') { return true; } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill). if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) { return true; } if (typeof type === 'object' && type !== null) { if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object // types supported by any Flight configuration anywhere since // we don't know which Flight build this will end up being used // with. type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) { return true; } } return false; } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: case REACT_SUSPENSE_LIST_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_SERVER_CONTEXT_TYPE: case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var SuspenseList = REACT_SUSPENSE_LIST_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.'); } } return false; } function isConcurrentMode(object) { { if (!hasWarnedAboutDeprecatedIsConcurrentMode) { hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.'); } } return false; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } function isSuspenseList(object) { return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; } exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.SuspenseList = SuspenseList; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isSuspenseList = isSuspenseList; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } /***/ }), /***/ "./node_modules/react-is/index.js": /*!****************************************!*\ !*** ./node_modules/react-is/index.js ***! \****************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) {} else { module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/react-is/cjs/react-is.development.js"); } /***/ }), /***/ "./node_modules/react-lottie/dist/index.js": /*!*************************************************!*\ !*** ./node_modules/react-lottie/dist/index.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "react"); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _lottieWeb = __webpack_require__(/*! lottie-web */ "./node_modules/lottie-web/build/player/lottie.js"); var _lottieWeb2 = _interopRequireDefault(_lottieWeb); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Lottie = function (_React$Component) { (0, _inherits3.default)(Lottie, _React$Component); function Lottie() { var _ref; var _temp, _this, _ret; (0, _classCallCheck3.default)(this, Lottie); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Lottie.__proto__ || (0, _getPrototypeOf2.default)(Lottie)).call.apply(_ref, [this].concat(args))), _this), _this.handleClickToPause = function () { // The pause() method is for handling pausing by passing a prop isPaused // This method is for handling the ability to pause by clicking on the animation if (_this.anim.isPaused) { _this.anim.play(); } else { _this.anim.pause(); } }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret); } (0, _createClass3.default)(Lottie, [{ key: 'componentDidMount', value: function componentDidMount() { var _props = this.props, options = _props.options, eventListeners = _props.eventListeners; var loop = options.loop, autoplay = options.autoplay, animationData = options.animationData, rendererSettings = options.rendererSettings, segments = options.segments; this.options = { container: this.el, renderer: 'svg', loop: loop !== false, autoplay: autoplay !== false, segments: segments !== false, animationData: animationData, rendererSettings: rendererSettings }; this.options = (0, _extends3.default)({}, this.options, options); this.anim = _lottieWeb2.default.loadAnimation(this.options); this.registerEvents(eventListeners); } }, { key: 'componentWillUpdate', value: function componentWillUpdate(nextProps /* , nextState */) { /* Recreate the animation handle if the data is changed */ if (this.options.animationData !== nextProps.options.animationData) { this.deRegisterEvents(this.props.eventListeners); this.destroy(); this.options = (0, _extends3.default)({}, this.options, nextProps.options); this.anim = _lottieWeb2.default.loadAnimation(this.options); this.registerEvents(nextProps.eventListeners); } } }, { key: 'componentDidUpdate', value: function componentDidUpdate() { if (this.props.isStopped) { this.stop(); } else if (this.props.segments) { this.playSegments(); } else { this.play(); } this.pause(); this.setSpeed(); this.setDirection(); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { this.deRegisterEvents(this.props.eventListeners); this.destroy(); this.options.animationData = null; this.anim = null; } }, { key: 'setSpeed', value: function setSpeed() { this.anim.setSpeed(this.props.speed); } }, { key: 'setDirection', value: function setDirection() { this.anim.setDirection(this.props.direction); } }, { key: 'play', value: function play() { this.anim.play(); } }, { key: 'playSegments', value: function playSegments() { this.anim.playSegments(this.props.segments); } }, { key: 'stop', value: function stop() { this.anim.stop(); } }, { key: 'pause', value: function pause() { if (this.props.isPaused && !this.anim.isPaused) { this.anim.pause(); } else if (!this.props.isPaused && this.anim.isPaused) { this.anim.pause(); } } }, { key: 'destroy', value: function destroy() { this.anim.destroy(); } }, { key: 'registerEvents', value: function registerEvents(eventListeners) { var _this2 = this; eventListeners.forEach(function (eventListener) { _this2.anim.addEventListener(eventListener.eventName, eventListener.callback); }); } }, { key: 'deRegisterEvents', value: function deRegisterEvents(eventListeners) { var _this3 = this; eventListeners.forEach(function (eventListener) { _this3.anim.removeEventListener(eventListener.eventName, eventListener.callback); }); } }, { key: 'render', value: function render() { var _this4 = this; var _props2 = this.props, width = _props2.width, height = _props2.height, ariaRole = _props2.ariaRole, ariaLabel = _props2.ariaLabel, isClickToPauseDisabled = _props2.isClickToPauseDisabled, title = _props2.title; var getSize = function getSize(initial) { var size = void 0; if (typeof initial === 'number') { size = initial + 'px'; } else { size = initial || '100%'; } return size; }; var lottieStyles = (0, _extends3.default)({ width: getSize(width), height: getSize(height), overflow: 'hidden', margin: '0 auto', outline: 'none' }, this.props.style); var onClickHandler = isClickToPauseDisabled ? function () { return null; } : this.handleClickToPause; return ( // Bug with eslint rules https://github.com/airbnb/javascript/issues/1374 // eslint-disable-next-line jsx-a11y/no-static-element-interactions _react2.default.createElement('div', { ref: function ref(c) { _this4.el = c; }, style: lottieStyles, onClick: onClickHandler, title: title, role: ariaRole, 'aria-label': ariaLabel, tabIndex: '0' }) ); } }]); return Lottie; }(_react2.default.Component); exports["default"] = Lottie; Lottie.propTypes = { eventListeners: _propTypes2.default.arrayOf(_propTypes2.default.object), options: _propTypes2.default.object.isRequired, height: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), isStopped: _propTypes2.default.bool, isPaused: _propTypes2.default.bool, speed: _propTypes2.default.number, segments: _propTypes2.default.arrayOf(_propTypes2.default.number), direction: _propTypes2.default.number, ariaRole: _propTypes2.default.string, ariaLabel: _propTypes2.default.string, isClickToPauseDisabled: _propTypes2.default.bool, title: _propTypes2.default.string, style: _propTypes2.default.string }; Lottie.defaultProps = { eventListeners: [], isStopped: false, isPaused: false, speed: 1, ariaRole: 'button', ariaLabel: 'animation', isClickToPauseDisabled: false, title: '' }; /***/ }), /***/ "./node_modules/react-redux/es/components/Context.js": /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/components/Context.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ReactReduxContext: () => (/* binding */ ReactReduxContext), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); const ContextKey = Symbol.for(`react-redux-context`); const gT = typeof globalThis !== "undefined" ? globalThis : /* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */ {}; function getContext() { var _gT$ContextKey; if (!react__WEBPACK_IMPORTED_MODULE_0__.createContext) return {}; const contextMap = (_gT$ContextKey = gT[ContextKey]) != null ? _gT$ContextKey : gT[ContextKey] = new Map(); let realContext = contextMap.get(react__WEBPACK_IMPORTED_MODULE_0__.createContext); if (!realContext) { realContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext(null); if (true) { realContext.displayName = 'ReactRedux'; } contextMap.set(react__WEBPACK_IMPORTED_MODULE_0__.createContext, realContext); } return realContext; } const ReactReduxContext = /*#__PURE__*/getContext(); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactReduxContext); /***/ }), /***/ "./node_modules/react-redux/es/components/Provider.js": /*!************************************************************!*\ !*** ./node_modules/react-redux/es/components/Provider.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _Context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Context */ "./node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _utils_Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/Subscription */ "./node_modules/react-redux/es/utils/Subscription.js"); /* harmony import */ var _utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/useIsomorphicLayoutEffect */ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js"); function Provider({ store, context, children, serverState, stabilityCheck = 'once', noopCheck = 'once' }) { const contextValue = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => { const subscription = (0,_utils_Subscription__WEBPACK_IMPORTED_MODULE_2__.createSubscription)(store); return { store, subscription, getServerState: serverState ? () => serverState : undefined, stabilityCheck, noopCheck }; }, [store, serverState, stabilityCheck, noopCheck]); const previousState = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => store.getState(), [store]); (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__.useIsomorphicLayoutEffect)(() => { const { subscription } = contextValue; subscription.onStateChange = subscription.notifyNestedSubs; subscription.trySubscribe(); if (previousState !== store.getState()) { subscription.notifyNestedSubs(); } return () => { subscription.tryUnsubscribe(); subscription.onStateChange = undefined; }; }, [contextValue, previousState]); const Context = context || _Context__WEBPACK_IMPORTED_MODULE_1__.ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Context.Provider, { value: contextValue }, children); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Provider); /***/ }), /***/ "./node_modules/react-redux/es/components/connect.js": /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/components/connect.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ initializeConnect: () => (/* binding */ initializeConnect) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); /* harmony import */ var _connect_selectorFactory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../connect/selectorFactory */ "./node_modules/react-redux/es/connect/selectorFactory.js"); /* harmony import */ var _connect_mapDispatchToProps__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../connect/mapDispatchToProps */ "./node_modules/react-redux/es/connect/mapDispatchToProps.js"); /* harmony import */ var _connect_mapStateToProps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../connect/mapStateToProps */ "./node_modules/react-redux/es/connect/mapStateToProps.js"); /* harmony import */ var _connect_mergeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../connect/mergeProps */ "./node_modules/react-redux/es/connect/mergeProps.js"); /* harmony import */ var _utils_Subscription__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/Subscription */ "./node_modules/react-redux/es/utils/Subscription.js"); /* harmony import */ var _utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/useIsomorphicLayoutEffect */ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js"); /* harmony import */ var _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/shallowEqual */ "./node_modules/react-redux/es/utils/shallowEqual.js"); /* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/warning */ "./node_modules/react-redux/es/utils/warning.js"); /* harmony import */ var _Context__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Context */ "./node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/useSyncExternalStore */ "./node_modules/react-redux/es/utils/useSyncExternalStore.js"); const _excluded = ["reactReduxForwardedRef"]; /* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */ let useSyncExternalStore = _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_14__.notInitialized; const initializeConnect = fn => { useSyncExternalStore = fn; }; // Define some constant arrays just to avoid re-creating these const EMPTY_ARRAY = [null, 0]; const NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given // for logging in an error message const stringifyComponent = Comp => { try { return JSON.stringify(Comp); } catch (err) { return String(Comp); } }; // This is "just" a `useLayoutEffect`, but with two modifications: // - we need to fall back to `useEffect` in SSR to avoid annoying warnings // - we extract this to a separate function to avoid closing over values // and causing memory leaks function useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) { (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__.useIsomorphicLayoutEffect)(() => effectFunc(...effectArgs), dependencies); } // Effect callback, extracted: assign the latest props values to refs for later usage function captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown, childPropsFromStoreUpdate, notifyNestedSubs) { // We want to capture the wrapper props and child props we used for later comparisons lastWrapperProps.current = wrapperProps; renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update if (childPropsFromStoreUpdate.current) { childPropsFromStoreUpdate.current = null; notifyNestedSubs(); } } // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor, // check for updates after dispatched actions, and trigger re-renders. function subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch<any>, additionalSubscribeListener) { // If we're not subscribed to the store, nothing to do here if (!shouldHandleStateChanges) return () => {}; // Capture values for checking if and when this component unmounts let didUnsubscribe = false; let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component const checkForUpdates = () => { if (didUnsubscribe || !isMounted.current) { // Don't run stale listeners. // Redux doesn't guarantee unsubscriptions happen until next dispatch. return; } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it const latestStoreState = store.getState(); let newChildProps, error; try { // Actually run the selector with the most recent store state and wrapper props // to determine what the child props should be newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current); } catch (e) { error = e; lastThrownError = e; } if (!error) { lastThrownError = null; } // If the child props haven't changed, nothing to do here - cascade the subscription update if (newChildProps === lastChildProps.current) { if (!renderIsScheduled.current) { notifyNestedSubs(); } } else { // Save references to the new child props. Note that we track the "child props from store update" // as a ref instead of a useState/useReducer because we need a way to determine if that value has // been processed. If this went into useState/useReducer, we couldn't clear out the value without // forcing another re-render, which we don't want. lastChildProps.current = newChildProps; childPropsFromStoreUpdate.current = newChildProps; renderIsScheduled.current = true; // TODO This is hacky and not how `uSES` is meant to be used // Trigger the React `useSyncExternalStore` subscriber additionalSubscribeListener(); } }; // Actually subscribe to the nearest connected ancestor (or store) subscription.onStateChange = checkForUpdates; subscription.trySubscribe(); // Pull data from the store after first render in case the store has // changed since we began. checkForUpdates(); const unsubscribeWrapper = () => { didUnsubscribe = true; subscription.tryUnsubscribe(); subscription.onStateChange = null; if (lastThrownError) { // It's possible that we caught an error due to a bad mapState function, but the // parent re-rendered without this component and we're about to unmount. // This shouldn't happen as long as we do top-down subscriptions correctly, but // if we ever do those wrong, this throw will surface the error in our tests. // In that case, throw the error from here so it doesn't get lost. throw lastThrownError; } }; return unsubscribeWrapper; } // Reducer initial state creation for our update reducer const initStateUpdates = () => EMPTY_ARRAY; function strictEqual(a, b) { return a === b; } /** * Infers the type of props that a connector will inject into a component. */ let hasWarnedAboutDeprecatedPureOption = false; /** * Connects a React component to a Redux store. * * - Without arguments, just wraps the component, without changing the behavior / props * * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior * is to override ownProps (as stated in the docs), so what remains is everything that's * not a state or dispatch prop * * - When 3rd param is passed, we don't know if ownProps propagate and whether they * should be valid component props, because it depends on mergeProps implementation. * As such, it is the user's responsibility to extend ownProps interface from state or * dispatch props or both when applicable * * @param mapStateToProps A function that extracts values from state * @param mapDispatchToProps Setup for dispatching actions * @param mergeProps Optional callback to merge state and dispatch props together * @param options Options for configuring the connection * */ function connect(mapStateToProps, mapDispatchToProps, mergeProps, { // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence. // @ts-ignore pure, areStatesEqual = strictEqual, areOwnPropsEqual = _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__["default"], areStatePropsEqual = _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__["default"], areMergedPropsEqual = _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__["default"], // use React's forwardRef to expose a ref of the wrapped component forwardRef = false, // the context consumer to use context = _Context__WEBPACK_IMPORTED_MODULE_13__.ReactReduxContext } = {}) { if (true) { if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) { hasWarnedAboutDeprecatedPureOption = true; (0,_utils_warning__WEBPACK_IMPORTED_MODULE_12__["default"])('The `pure` option has been removed. `connect` is now always a "pure/memoized" component'); } } const Context = context; const initMapStateToProps = (0,_connect_mapStateToProps__WEBPACK_IMPORTED_MODULE_7__.mapStateToPropsFactory)(mapStateToProps); const initMapDispatchToProps = (0,_connect_mapDispatchToProps__WEBPACK_IMPORTED_MODULE_6__.mapDispatchToPropsFactory)(mapDispatchToProps); const initMergeProps = (0,_connect_mergeProps__WEBPACK_IMPORTED_MODULE_8__.mergePropsFactory)(mergeProps); const shouldHandleStateChanges = Boolean(mapStateToProps); const wrapWithConnect = WrappedComponent => { if ( true && !(0,react_is__WEBPACK_IMPORTED_MODULE_4__.isValidElementType)(WrappedComponent)) { throw new Error(`You must pass a component to the function returned by connect. Instead received ${stringifyComponent(WrappedComponent)}`); } const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component'; const displayName = `Connect(${wrappedComponentName})`; const selectorFactoryOptions = { shouldHandleStateChanges, displayName, wrappedComponentName, WrappedComponent, // @ts-ignore initMapStateToProps, // @ts-ignore initMapDispatchToProps, initMergeProps, areStatesEqual, areStatePropsEqual, areOwnPropsEqual, areMergedPropsEqual }; function ConnectFunction(props) { const [propsContext, reactReduxForwardedRef, wrapperProps] = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { // Distinguish between actual "data" props that were passed to the wrapper component, // and values needed to control behavior (forwarded refs, alternate context instances). // To maintain the wrapperProps object reference, memoize this destructuring. const { reactReduxForwardedRef } = props, wrapperProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); return [props.context, reactReduxForwardedRef, wrapperProps]; }, [props]); const ContextToUse = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext. // Memoize the check that determines which context instance we should use. return propsContext && propsContext.Consumer && // @ts-ignore (0,react_is__WEBPACK_IMPORTED_MODULE_4__.isContextConsumer)( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(propsContext.Consumer, null)) ? propsContext : Context; }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available const contextValue = react__WEBPACK_IMPORTED_MODULE_3__.useContext(ContextToUse); // The store _must_ exist as either a prop or in context. // We'll check to see if it _looks_ like a Redux store first. // This allows us to pass through a `store` prop that is just a plain value. const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch); const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store); if ( true && !didStoreComeFromProps && !didStoreComeFromContext) { throw new Error(`Could not find "store" in the context of ` + `"${displayName}". Either wrap the root component in a <Provider>, ` + `or pass a custom React context provider to <Provider> and the corresponding ` + `React context consumer to ${displayName} in connect options.`); } // Based on the previous check, one of these must be true const store = didStoreComeFromProps ? props.store : contextValue.store; const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState; const childPropsSelector = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { // The child props selector needs the store reference as an input. // Re-create this selector whenever the store changes. return (0,_connect_selectorFactory__WEBPACK_IMPORTED_MODULE_5__["default"])(store.dispatch, selectorFactoryOptions); }, [store]); const [subscription, notifyNestedSubs] = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component // connected to the store via props shouldn't use subscription from context, or vice versa. const subscription = (0,_utils_Subscription__WEBPACK_IMPORTED_MODULE_9__.createSubscription)(store, didStoreComeFromProps ? undefined : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in // the middle of the notification loop, where `subscription` will then be null. This can // probably be avoided if Subscription's listeners logic is changed to not call listeners // that have been unsubscribed in the middle of the notification loop. const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription); return [subscription, notifyNestedSubs]; }, [store, didStoreComeFromProps, contextValue]); // Determine what {store, subscription} value should be put into nested context, if necessary, // and memoize that value to avoid unnecessary context updates. const overriddenContextValue = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { if (didStoreComeFromProps) { // This component is directly subscribed to a store from props. // We don't want descendants reading from this store - pass down whatever // the existing context value is from the nearest connected ancestor. return contextValue; } // Otherwise, put this component's subscription instance into context, so that // connected descendants won't update until after this component is done return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, contextValue, { subscription }); }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic const lastChildProps = react__WEBPACK_IMPORTED_MODULE_3__.useRef(); const lastWrapperProps = react__WEBPACK_IMPORTED_MODULE_3__.useRef(wrapperProps); const childPropsFromStoreUpdate = react__WEBPACK_IMPORTED_MODULE_3__.useRef(); const renderIsScheduled = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false); const isProcessingDispatch = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false); const isMounted = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false); const latestSubscriptionCallbackError = react__WEBPACK_IMPORTED_MODULE_3__.useRef(); (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__.useIsomorphicLayoutEffect)(() => { isMounted.current = true; return () => { isMounted.current = false; }; }, []); const actualChildPropsSelector = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { const selector = () => { // Tricky logic here: // - This render may have been triggered by a Redux store update that produced new child props // - However, we may have gotten new wrapper props after that // If we have new child props, and the same wrapper props, we know we should use the new child props as-is. // But, if we have new wrapper props, those might change the child props, so we have to recalculate things. // So, we'll use the child props from store update only if the wrapper props are the same as last time. if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) { return childPropsFromStoreUpdate.current; } // TODO We're reading the store directly in render() here. Bad idea? // This will likely cause Bad Things (TM) to happen in Concurrent Mode. // Note that we do this because on renders _not_ caused by store updates, we need the latest store state // to determine what the child props should be. return childPropsSelector(store.getState(), wrapperProps); }; return selector; }, [store, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns // about useLayoutEffect in SSR, so we try to detect environment and fall back to // just useEffect instead to avoid the warning, since neither will run anyway. const subscribeForReact = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { const subscribe = reactListener => { if (!subscription) { return () => {}; } return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener); }; return subscribe; }, [subscription]); useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]); let actualChildProps; try { actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props, // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`. actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector); } catch (err) { if (latestSubscriptionCallbackError.current) { ; err.message += `\nThe error may be correlated with this previous error:\n${latestSubscriptionCallbackError.current.stack}\n\n`; } throw err; } (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__.useIsomorphicLayoutEffect)(() => { latestSubscriptionCallbackError.current = undefined; childPropsFromStoreUpdate.current = undefined; lastChildProps.current = actualChildProps; }); // Now that all that's done, we can finally try to actually render the child component. // We memoize the elements for the rendered child component as an optimization. const renderedWrappedComponent = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { return ( /*#__PURE__*/ // @ts-ignore react__WEBPACK_IMPORTED_MODULE_3__.createElement(WrappedComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, actualChildProps, { ref: reactReduxForwardedRef })) ); }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate. const renderedChild = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { if (shouldHandleStateChanges) { // If this component is subscribed to store updates, we need to pass its own // subscription instance down to our descendants. That means rendering the same // Context instance, and putting a different value into the context. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(ContextToUse.Provider, { value: overriddenContextValue }, renderedWrappedComponent); } return renderedWrappedComponent; }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]); return renderedChild; } const _Connect = react__WEBPACK_IMPORTED_MODULE_3__.memo(ConnectFunction); // Add a hacky cast to get the right output type const Connect = _Connect; Connect.WrappedComponent = WrappedComponent; Connect.displayName = ConnectFunction.displayName = displayName; if (forwardRef) { const _forwarded = react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function forwardConnectRef(props, ref) { // @ts-ignore return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(Connect, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { reactReduxForwardedRef: ref })); }); const forwarded = _forwarded; forwarded.displayName = displayName; forwarded.WrappedComponent = WrappedComponent; return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default()(forwarded, WrappedComponent); } return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default()(Connect, WrappedComponent); }; return wrapWithConnect; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (connect); /***/ }), /***/ "./node_modules/react-redux/es/connect/invalidArgFactory.js": /*!******************************************************************!*\ !*** ./node_modules/react-redux/es/connect/invalidArgFactory.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createInvalidArgFactory: () => (/* binding */ createInvalidArgFactory) /* harmony export */ }); function createInvalidArgFactory(arg, name) { return (dispatch, options) => { throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`); }; } /***/ }), /***/ "./node_modules/react-redux/es/connect/mapDispatchToProps.js": /*!*******************************************************************!*\ !*** ./node_modules/react-redux/es/connect/mapDispatchToProps.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ mapDispatchToPropsFactory: () => (/* binding */ mapDispatchToPropsFactory) /* harmony export */ }); /* harmony import */ var _utils_bindActionCreators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/bindActionCreators */ "./node_modules/react-redux/es/utils/bindActionCreators.js"); /* harmony import */ var _wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wrapMapToProps */ "./node_modules/react-redux/es/connect/wrapMapToProps.js"); /* harmony import */ var _invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./invalidArgFactory */ "./node_modules/react-redux/es/connect/invalidArgFactory.js"); function mapDispatchToPropsFactory(mapDispatchToProps) { return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsConstant)(dispatch => // @ts-ignore (0,_utils_bindActionCreators__WEBPACK_IMPORTED_MODULE_0__["default"])(mapDispatchToProps, dispatch)) : !mapDispatchToProps ? (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsConstant)(dispatch => ({ dispatch })) : typeof mapDispatchToProps === 'function' ? // @ts-ignore (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__.createInvalidArgFactory)(mapDispatchToProps, 'mapDispatchToProps'); } /***/ }), /***/ "./node_modules/react-redux/es/connect/mapStateToProps.js": /*!****************************************************************!*\ !*** ./node_modules/react-redux/es/connect/mapStateToProps.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ mapStateToPropsFactory: () => (/* binding */ mapStateToPropsFactory) /* harmony export */ }); /* harmony import */ var _wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapMapToProps */ "./node_modules/react-redux/es/connect/wrapMapToProps.js"); /* harmony import */ var _invalidArgFactory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./invalidArgFactory */ "./node_modules/react-redux/es/connect/invalidArgFactory.js"); function mapStateToPropsFactory(mapStateToProps) { return !mapStateToProps ? (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__.wrapMapToPropsConstant)(() => ({})) : typeof mapStateToProps === 'function' ? // @ts-ignore (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_1__.createInvalidArgFactory)(mapStateToProps, 'mapStateToProps'); } /***/ }), /***/ "./node_modules/react-redux/es/connect/mergeProps.js": /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/connect/mergeProps.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ defaultMergeProps: () => (/* binding */ defaultMergeProps), /* harmony export */ mergePropsFactory: () => (/* binding */ mergePropsFactory), /* harmony export */ wrapMergePropsFunc: () => (/* binding */ wrapMergePropsFunc) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/verifyPlainObject */ "./node_modules/react-redux/es/utils/verifyPlainObject.js"); /* harmony import */ var _invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./invalidArgFactory */ "./node_modules/react-redux/es/connect/invalidArgFactory.js"); function defaultMergeProps(stateProps, dispatchProps, ownProps) { // @ts-ignore return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, ownProps, stateProps, dispatchProps); } function wrapMergePropsFunc(mergeProps) { return function initMergePropsProxy(dispatch, { displayName, areMergedPropsEqual }) { let hasRunOnce = false; let mergedProps; return function mergePropsProxy(stateProps, dispatchProps, ownProps) { const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps); if (hasRunOnce) { if (!areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps; } else { hasRunOnce = true; mergedProps = nextMergedProps; if (true) (0,_utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_1__["default"])(mergedProps, displayName, 'mergeProps'); } return mergedProps; }; }; } function mergePropsFactory(mergeProps) { return !mergeProps ? () => defaultMergeProps : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__.createInvalidArgFactory)(mergeProps, 'mergeProps'); } /***/ }), /***/ "./node_modules/react-redux/es/connect/selectorFactory.js": /*!****************************************************************!*\ !*** ./node_modules/react-redux/es/connect/selectorFactory.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ finalPropsSelectorFactory), /* harmony export */ pureFinalPropsSelectorFactory: () => (/* binding */ pureFinalPropsSelectorFactory) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _verifySubselectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./verifySubselectors */ "./node_modules/react-redux/es/connect/verifySubselectors.js"); const _excluded = ["initMapStateToProps", "initMapDispatchToProps", "initMergeProps"]; function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, { areStatesEqual, areOwnPropsEqual, areStatePropsEqual }) { let hasRunAtLeastOnce = false; let state; let ownProps; let stateProps; let dispatchProps; let mergedProps; function handleFirstCall(firstState, firstOwnProps) { state = firstState; ownProps = firstOwnProps; stateProps = mapStateToProps(state, ownProps); dispatchProps = mapDispatchToProps(dispatch, ownProps); mergedProps = mergeProps(stateProps, dispatchProps, ownProps); hasRunAtLeastOnce = true; return mergedProps; } function handleNewPropsAndNewState() { stateProps = mapStateToProps(state, ownProps); if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps); mergedProps = mergeProps(stateProps, dispatchProps, ownProps); return mergedProps; } function handleNewProps() { if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps); if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps); mergedProps = mergeProps(stateProps, dispatchProps, ownProps); return mergedProps; } function handleNewState() { const nextStateProps = mapStateToProps(state, ownProps); const statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps); stateProps = nextStateProps; if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps); return mergedProps; } function handleSubsequentCalls(nextState, nextOwnProps) { const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps); const stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps); state = nextState; ownProps = nextOwnProps; if (propsChanged && stateChanged) return handleNewPropsAndNewState(); if (propsChanged) return handleNewProps(); if (stateChanged) return handleNewState(); return mergedProps; } return function pureFinalPropsSelector(nextState, nextOwnProps) { return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps); }; } // TODO: Add more comments // The selector returned by selectorFactory will memoize its results, // allowing connect's shouldComponentUpdate to return false if final // props have not changed. function finalPropsSelectorFactory(dispatch, _ref) { let { initMapStateToProps, initMapDispatchToProps, initMergeProps } = _ref, options = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, _excluded); const mapStateToProps = initMapStateToProps(dispatch, options); const mapDispatchToProps = initMapDispatchToProps(dispatch, options); const mergeProps = initMergeProps(dispatch, options); if (true) { (0,_verifySubselectors__WEBPACK_IMPORTED_MODULE_1__["default"])(mapStateToProps, mapDispatchToProps, mergeProps); } return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options); } /***/ }), /***/ "./node_modules/react-redux/es/connect/verifySubselectors.js": /*!*******************************************************************!*\ !*** ./node_modules/react-redux/es/connect/verifySubselectors.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ verifySubselectors) /* harmony export */ }); /* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/warning */ "./node_modules/react-redux/es/utils/warning.js"); function verify(selector, methodName) { if (!selector) { throw new Error(`Unexpected value for ${methodName} in connect.`); } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') { if (!Object.prototype.hasOwnProperty.call(selector, 'dependsOnOwnProps')) { (0,_utils_warning__WEBPACK_IMPORTED_MODULE_0__["default"])(`The selector for ${methodName} of connect did not specify a value for dependsOnOwnProps.`); } } } function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps) { verify(mapStateToProps, 'mapStateToProps'); verify(mapDispatchToProps, 'mapDispatchToProps'); verify(mergeProps, 'mergeProps'); } /***/ }), /***/ "./node_modules/react-redux/es/connect/wrapMapToProps.js": /*!***************************************************************!*\ !*** ./node_modules/react-redux/es/connect/wrapMapToProps.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getDependsOnOwnProps: () => (/* binding */ getDependsOnOwnProps), /* harmony export */ wrapMapToPropsConstant: () => (/* binding */ wrapMapToPropsConstant), /* harmony export */ wrapMapToPropsFunc: () => (/* binding */ wrapMapToPropsFunc) /* harmony export */ }); /* harmony import */ var _utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/verifyPlainObject */ "./node_modules/react-redux/es/utils/verifyPlainObject.js"); function wrapMapToPropsConstant( // * Note: // It seems that the dispatch argument // could be a dispatch function in some cases (ex: whenMapDispatchToPropsIsMissing) // and a state object in some others (ex: whenMapStateToPropsIsMissing) // eslint-disable-next-line no-unused-vars getConstant) { return function initConstantSelector(dispatch) { const constant = getConstant(dispatch); function constantSelector() { return constant; } constantSelector.dependsOnOwnProps = false; return constantSelector; }; } // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args // to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine // whether mapToProps needs to be invoked when props have changed. // // A length of one signals that mapToProps does not depend on props from the parent component. // A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and // therefore not reporting its length accurately.. // TODO Can this get pulled out so that we can subscribe directly to the store if we don't need ownProps? function getDependsOnOwnProps(mapToProps) { return mapToProps.dependsOnOwnProps ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1; } // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction, // this function wraps mapToProps in a proxy function which does several things: // // * Detects whether the mapToProps function being called depends on props, which // is used by selectorFactory to decide if it should reinvoke on props changes. // // * On first call, handles mapToProps if returns another function, and treats that // new function as the true mapToProps for subsequent calls. // // * On first call, verifies the first result is a plain object, in order to warn // the developer that their mapToProps function is not returning a valid result. // function wrapMapToPropsFunc(mapToProps, methodName) { return function initProxySelector(dispatch, { displayName }) { const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) { return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch, undefined); }; // allow detectFactoryAndVerify to get ownProps proxy.dependsOnOwnProps = true; proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) { proxy.mapToProps = mapToProps; proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps); let props = proxy(stateOrDispatch, ownProps); if (typeof props === 'function') { proxy.mapToProps = props; proxy.dependsOnOwnProps = getDependsOnOwnProps(props); props = proxy(stateOrDispatch, ownProps); } if (true) (0,_utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_0__["default"])(props, displayName, methodName); return props; }; return proxy; }; } /***/ }), /***/ "./node_modules/react-redux/es/exports.js": /*!************************************************!*\ !*** ./node_modules/react-redux/es/exports.js ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Provider: () => (/* reexport safe */ _components_Provider__WEBPACK_IMPORTED_MODULE_0__["default"]), /* harmony export */ ReactReduxContext: () => (/* reexport safe */ _components_Context__WEBPACK_IMPORTED_MODULE_2__.ReactReduxContext), /* harmony export */ connect: () => (/* reexport safe */ _components_connect__WEBPACK_IMPORTED_MODULE_1__["default"]), /* harmony export */ createDispatchHook: () => (/* reexport safe */ _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_3__.createDispatchHook), /* harmony export */ createSelectorHook: () => (/* reexport safe */ _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__.createSelectorHook), /* harmony export */ createStoreHook: () => (/* reexport safe */ _hooks_useStore__WEBPACK_IMPORTED_MODULE_5__.createStoreHook), /* harmony export */ shallowEqual: () => (/* reexport safe */ _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_6__["default"]), /* harmony export */ useDispatch: () => (/* reexport safe */ _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_3__.useDispatch), /* harmony export */ useSelector: () => (/* reexport safe */ _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__.useSelector), /* harmony export */ useStore: () => (/* reexport safe */ _hooks_useStore__WEBPACK_IMPORTED_MODULE_5__.useStore) /* harmony export */ }); /* harmony import */ var _components_Provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Provider */ "./node_modules/react-redux/es/components/Provider.js"); /* harmony import */ var _components_connect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/connect */ "./node_modules/react-redux/es/components/connect.js"); /* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Context */ "./node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./hooks/useDispatch */ "./node_modules/react-redux/es/hooks/useDispatch.js"); /* harmony import */ var _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useSelector */ "./node_modules/react-redux/es/hooks/useSelector.js"); /* harmony import */ var _hooks_useStore__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useStore */ "./node_modules/react-redux/es/hooks/useStore.js"); /* harmony import */ var _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/shallowEqual */ "./node_modules/react-redux/es/utils/shallowEqual.js"); /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./types */ "./node_modules/react-redux/es/types.js"); /***/ }), /***/ "./node_modules/react-redux/es/hooks/useDispatch.js": /*!**********************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useDispatch.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createDispatchHook: () => (/* binding */ createDispatchHook), /* harmony export */ useDispatch: () => (/* binding */ useDispatch) /* harmony export */ }); /* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/Context */ "./node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useStore */ "./node_modules/react-redux/es/hooks/useStore.js"); /** * Hook factory, which creates a `useDispatch` hook bound to a given context. * * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`. * @returns {Function} A `useDispatch` hook bound to the specified context. */ function createDispatchHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext) { const useStore = // @ts-ignore context === _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext ? _useStore__WEBPACK_IMPORTED_MODULE_1__.useStore : (0,_useStore__WEBPACK_IMPORTED_MODULE_1__.createStoreHook)(context); return function useDispatch() { const store = useStore(); // @ts-ignore return store.dispatch; }; } /** * A hook to access the redux `dispatch` function. * * @returns {any|function} redux store's `dispatch` function * * @example * * import React, { useCallback } from 'react' * import { useDispatch } from 'react-redux' * * export const CounterComponent = ({ value }) => { * const dispatch = useDispatch() * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), []) * return ( * <div> * <span>{value}</span> * <button onClick={increaseCounter}>Increase counter</button> * </div> * ) * } */ const useDispatch = /*#__PURE__*/createDispatchHook(); /***/ }), /***/ "./node_modules/react-redux/es/hooks/useReduxContext.js": /*!**************************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useReduxContext.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createReduxContextHook: () => (/* binding */ createReduxContextHook), /* harmony export */ useReduxContext: () => (/* binding */ useReduxContext) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/Context */ "./node_modules/react-redux/es/components/Context.js"); /** * Hook factory, which creates a `useReduxContext` hook bound to a given context. This is a low-level * hook that you should usually not need to call directly. * * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`. * @returns {Function} A `useReduxContext` hook bound to the specified context. */ function createReduxContextHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_1__.ReactReduxContext) { return function useReduxContext() { const contextValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(context); if ( true && !contextValue) { throw new Error('could not find react-redux context value; please ensure the component is wrapped in a <Provider>'); } return contextValue; }; } /** * A hook to access the value of the `ReactReduxContext`. This is a low-level * hook that you should usually not need to call directly. * * @returns {any} the value of the `ReactReduxContext` * * @example * * import React from 'react' * import { useReduxContext } from 'react-redux' * * export const CounterComponent = () => { * const { store } = useReduxContext() * return <div>{store.getState()}</div> * } */ const useReduxContext = /*#__PURE__*/createReduxContextHook(); /***/ }), /***/ "./node_modules/react-redux/es/hooks/useSelector.js": /*!**********************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useSelector.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createSelectorHook: () => (/* binding */ createSelectorHook), /* harmony export */ initializeUseSelector: () => (/* binding */ initializeUseSelector), /* harmony export */ useSelector: () => (/* binding */ useSelector) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _useReduxContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useReduxContext */ "./node_modules/react-redux/es/hooks/useReduxContext.js"); /* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components/Context */ "./node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/useSyncExternalStore */ "./node_modules/react-redux/es/utils/useSyncExternalStore.js"); let useSyncExternalStoreWithSelector = _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_3__.notInitialized; const initializeUseSelector = fn => { useSyncExternalStoreWithSelector = fn; }; const refEquality = (a, b) => a === b; /** * Hook factory, which creates a `useSelector` hook bound to a given context. * * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`. * @returns {Function} A `useSelector` hook bound to the specified context. */ function createSelectorHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_2__.ReactReduxContext) { const useReduxContext = context === _components_Context__WEBPACK_IMPORTED_MODULE_2__.ReactReduxContext ? _useReduxContext__WEBPACK_IMPORTED_MODULE_1__.useReduxContext : (0,_useReduxContext__WEBPACK_IMPORTED_MODULE_1__.createReduxContextHook)(context); return function useSelector(selector, equalityFnOrOptions = {}) { const { equalityFn = refEquality, stabilityCheck = undefined, noopCheck = undefined } = typeof equalityFnOrOptions === 'function' ? { equalityFn: equalityFnOrOptions } : equalityFnOrOptions; if (true) { if (!selector) { throw new Error(`You must pass a selector to useSelector`); } if (typeof selector !== 'function') { throw new Error(`You must pass a function as a selector to useSelector`); } if (typeof equalityFn !== 'function') { throw new Error(`You must pass a function as an equality function to useSelector`); } } const { store, subscription, getServerState, stabilityCheck: globalStabilityCheck, noopCheck: globalNoopCheck } = useReduxContext(); const firstRun = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(true); const wrappedSelector = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({ [selector.name](state) { const selected = selector(state); if (true) { const finalStabilityCheck = typeof stabilityCheck === 'undefined' ? globalStabilityCheck : stabilityCheck; if (finalStabilityCheck === 'always' || finalStabilityCheck === 'once' && firstRun.current) { const toCompare = selector(state); if (!equalityFn(selected, toCompare)) { let stack = undefined; try { throw new Error(); } catch (e) { ; ({ stack } = e); } console.warn('Selector ' + (selector.name || 'unknown') + ' returned a different result when called with the same parameters. This can lead to unnecessary rerenders.' + '\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization', { state, selected, selected2: toCompare, stack }); } } const finalNoopCheck = typeof noopCheck === 'undefined' ? globalNoopCheck : noopCheck; if (finalNoopCheck === 'always' || finalNoopCheck === 'once' && firstRun.current) { // @ts-ignore if (selected === state) { let stack = undefined; try { throw new Error(); } catch (e) { ; ({ stack } = e); } console.warn('Selector ' + (selector.name || 'unknown') + ' returned the root state when called. This can lead to unnecessary rerenders.' + '\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.', { stack }); } } if (firstRun.current) firstRun.current = false; } return selected; } }[selector.name], [selector, globalStabilityCheck, stabilityCheck]); const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, wrappedSelector, equalityFn); (0,react__WEBPACK_IMPORTED_MODULE_0__.useDebugValue)(selectedState); return selectedState; }; } /** * A hook to access the redux store's state. This hook takes a selector function * as an argument. The selector is called with the store state. * * This hook takes an optional equality comparison function as the second parameter * that allows you to customize the way the selected state is compared to determine * whether the component needs to be re-rendered. * * @param {Function} selector the selector function * @param {Function=} equalityFn the function that will be used to determine equality * * @returns {any} the selected state * * @example * * import React from 'react' * import { useSelector } from 'react-redux' * * export const CounterComponent = () => { * const counter = useSelector(state => state.counter) * return <div>{counter}</div> * } */ const useSelector = /*#__PURE__*/createSelectorHook(); /***/ }), /***/ "./node_modules/react-redux/es/hooks/useStore.js": /*!*******************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useStore.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createStoreHook: () => (/* binding */ createStoreHook), /* harmony export */ useStore: () => (/* binding */ useStore) /* harmony export */ }); /* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/Context */ "./node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _useReduxContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useReduxContext */ "./node_modules/react-redux/es/hooks/useReduxContext.js"); /** * Hook factory, which creates a `useStore` hook bound to a given context. * * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`. * @returns {Function} A `useStore` hook bound to the specified context. */ function createStoreHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext) { const useReduxContext = // @ts-ignore context === _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext ? _useReduxContext__WEBPACK_IMPORTED_MODULE_1__.useReduxContext : // @ts-ignore (0,_useReduxContext__WEBPACK_IMPORTED_MODULE_1__.createReduxContextHook)(context); return function useStore() { const { store } = useReduxContext(); // @ts-ignore return store; }; } /** * A hook to access the redux store. * * @returns {any} the redux store * * @example * * import React from 'react' * import { useStore } from 'react-redux' * * export const ExampleComponent = () => { * const store = useStore() * return <div>{store.getState()}</div> * } */ const useStore = /*#__PURE__*/createStoreHook(); /***/ }), /***/ "./node_modules/react-redux/es/index.js": /*!**********************************************!*\ !*** ./node_modules/react-redux/es/index.js ***! \**********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Provider: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.Provider), /* harmony export */ ReactReduxContext: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.ReactReduxContext), /* harmony export */ batch: () => (/* reexport safe */ _utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_2__.unstable_batchedUpdates), /* harmony export */ connect: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.connect), /* harmony export */ createDispatchHook: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.createDispatchHook), /* harmony export */ createSelectorHook: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.createSelectorHook), /* harmony export */ createStoreHook: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.createStoreHook), /* harmony export */ shallowEqual: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.shallowEqual), /* harmony export */ useDispatch: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.useDispatch), /* harmony export */ useSelector: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.useSelector), /* harmony export */ useStore: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.useStore) /* harmony export */ }); /* harmony import */ var use_sync_external_store_shim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-sync-external-store/shim */ "./node_modules/use-sync-external-store/shim/index.js"); /* harmony import */ var use_sync_external_store_shim_with_selector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! use-sync-external-store/shim/with-selector */ "./node_modules/use-sync-external-store/shim/with-selector.js"); /* harmony import */ var _utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/reactBatchedUpdates */ "./node_modules/react-redux/es/utils/reactBatchedUpdates.js"); /* harmony import */ var _utils_batch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/batch */ "./node_modules/react-redux/es/utils/batch.js"); /* harmony import */ var _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useSelector */ "./node_modules/react-redux/es/hooks/useSelector.js"); /* harmony import */ var _components_connect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/connect */ "./node_modules/react-redux/es/components/connect.js"); /* harmony import */ var _exports__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./exports */ "./node_modules/react-redux/es/exports.js"); // The primary entry point assumes we're working with standard ReactDOM/RN, but // older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x). // Because of that, the useSyncExternalStore compat shim is needed. (0,_hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__.initializeUseSelector)(use_sync_external_store_shim_with_selector__WEBPACK_IMPORTED_MODULE_1__.useSyncExternalStoreWithSelector); (0,_components_connect__WEBPACK_IMPORTED_MODULE_5__.initializeConnect)(use_sync_external_store_shim__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore); // Enable batched updates in our subscriptions for use // with standard React renderers (ReactDOM, React Native) (0,_utils_batch__WEBPACK_IMPORTED_MODULE_3__.setBatch)(_utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_2__.unstable_batchedUpdates); /***/ }), /***/ "./node_modules/react-redux/es/types.js": /*!**********************************************!*\ !*** ./node_modules/react-redux/es/types.js ***! \**********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /***/ }), /***/ "./node_modules/react-redux/es/utils/Subscription.js": /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/utils/Subscription.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createSubscription: () => (/* binding */ createSubscription) /* harmony export */ }); /* harmony import */ var _batch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./batch */ "./node_modules/react-redux/es/utils/batch.js"); // encapsulates the subscription logic for connecting a component to the redux store, as // well as nesting subscriptions of descendant components, so that we can ensure the // ancestor components re-render before descendants function createListenerCollection() { const batch = (0,_batch__WEBPACK_IMPORTED_MODULE_0__.getBatch)(); let first = null; let last = null; return { clear() { first = null; last = null; }, notify() { batch(() => { let listener = first; while (listener) { listener.callback(); listener = listener.next; } }); }, get() { let listeners = []; let listener = first; while (listener) { listeners.push(listener); listener = listener.next; } return listeners; }, subscribe(callback) { let isSubscribed = true; let listener = last = { callback, next: null, prev: last }; if (listener.prev) { listener.prev.next = listener; } else { first = listener; } return function unsubscribe() { if (!isSubscribed || first === null) return; isSubscribed = false; if (listener.next) { listener.next.prev = listener.prev; } else { last = listener.prev; } if (listener.prev) { listener.prev.next = listener.next; } else { first = listener.next; } }; } }; } const nullListeners = { notify() {}, get: () => [] }; function createSubscription(store, parentSub) { let unsubscribe; let listeners = nullListeners; // Reasons to keep the subscription active let subscriptionsAmount = 0; // Is this specific subscription subscribed (or only nested ones?) let selfSubscribed = false; function addNestedSub(listener) { trySubscribe(); const cleanupListener = listeners.subscribe(listener); // cleanup nested sub let removed = false; return () => { if (!removed) { removed = true; cleanupListener(); tryUnsubscribe(); } }; } function notifyNestedSubs() { listeners.notify(); } function handleChangeWrapper() { if (subscription.onStateChange) { subscription.onStateChange(); } } function isSubscribed() { return selfSubscribed; } function trySubscribe() { subscriptionsAmount++; if (!unsubscribe) { unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper); listeners = createListenerCollection(); } } function tryUnsubscribe() { subscriptionsAmount--; if (unsubscribe && subscriptionsAmount === 0) { unsubscribe(); unsubscribe = undefined; listeners.clear(); listeners = nullListeners; } } function trySubscribeSelf() { if (!selfSubscribed) { selfSubscribed = true; trySubscribe(); } } function tryUnsubscribeSelf() { if (selfSubscribed) { selfSubscribed = false; tryUnsubscribe(); } } const subscription = { addNestedSub, notifyNestedSubs, handleChangeWrapper, isSubscribed, trySubscribe: trySubscribeSelf, tryUnsubscribe: tryUnsubscribeSelf, getListeners: () => listeners }; return subscription; } /***/ }), /***/ "./node_modules/react-redux/es/utils/batch.js": /*!****************************************************!*\ !*** ./node_modules/react-redux/es/utils/batch.js ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getBatch: () => (/* binding */ getBatch), /* harmony export */ setBatch: () => (/* binding */ setBatch) /* harmony export */ }); // Default to a dummy "batch" implementation that just runs the callback function defaultNoopBatch(callback) { callback(); } let batch = defaultNoopBatch; // Allow injecting another batching function later const setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings const getBatch = () => batch; /***/ }), /***/ "./node_modules/react-redux/es/utils/bindActionCreators.js": /*!*****************************************************************!*\ !*** ./node_modules/react-redux/es/utils/bindActionCreators.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ bindActionCreators) /* harmony export */ }); function bindActionCreators(actionCreators, dispatch) { const boundActionCreators = {}; for (const key in actionCreators) { const actionCreator = actionCreators[key]; if (typeof actionCreator === 'function') { boundActionCreators[key] = (...args) => dispatch(actionCreator(...args)); } } return boundActionCreators; } /***/ }), /***/ "./node_modules/react-redux/es/utils/isPlainObject.js": /*!************************************************************!*\ !*** ./node_modules/react-redux/es/utils/isPlainObject.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ isPlainObject) /* harmony export */ }); /** * @param {any} obj The object to inspect. * @returns {boolean} True if the argument appears to be a plain object. */ function isPlainObject(obj) { if (typeof obj !== 'object' || obj === null) return false; let proto = Object.getPrototypeOf(obj); if (proto === null) return true; let baseProto = proto; while (Object.getPrototypeOf(baseProto) !== null) { baseProto = Object.getPrototypeOf(baseProto); } return proto === baseProto; } /***/ }), /***/ "./node_modules/react-redux/es/utils/reactBatchedUpdates.js": /*!******************************************************************!*\ !*** ./node_modules/react-redux/es/utils/reactBatchedUpdates.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ unstable_batchedUpdates: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.unstable_batchedUpdates) /* harmony export */ }); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ "react-dom"); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__); /***/ }), /***/ "./node_modules/react-redux/es/utils/shallowEqual.js": /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/utils/shallowEqual.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ shallowEqual) /* harmony export */ }); function is(x, y) { if (x === y) { return x !== 0 || y !== 0 || 1 / x === 1 / y; } else { return x !== x && y !== y; } } function shallowEqual(objA, objB) { if (is(objA, objB)) return true; if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) { return false; } const keysA = Object.keys(objA); const keysB = Object.keys(objB); if (keysA.length !== keysB.length) return false; for (let i = 0; i < keysA.length; i++) { if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { return false; } } return true; } /***/ }), /***/ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js": /*!************************************************************************!*\ !*** ./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ canUseDOM: () => (/* binding */ canUseDOM), /* harmony export */ useIsomorphicLayoutEffect: () => (/* binding */ useIsomorphicLayoutEffect) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); // React currently throws a warning when using useLayoutEffect on the server. // To get around it, we can conditionally useEffect on the server (no-op) and // useLayoutEffect in the browser. We need useLayoutEffect to ensure the store // subscription callback always has the selector from the latest render commit // available, otherwise a store update may happen between render and the effect, // which may cause missed updates; we also must ensure the store subscription // is created synchronously, otherwise a store update may occur before the // subscription is created and an inconsistent state may be observed // Matches logic in React's `shared/ExecutionEnvironment` file const canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined'); const useIsomorphicLayoutEffect = canUseDOM ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_0__.useEffect; /***/ }), /***/ "./node_modules/react-redux/es/utils/useSyncExternalStore.js": /*!*******************************************************************!*\ !*** ./node_modules/react-redux/es/utils/useSyncExternalStore.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ notInitialized: () => (/* binding */ notInitialized) /* harmony export */ }); const notInitialized = () => { throw new Error('uSES not initialized!'); }; /***/ }), /***/ "./node_modules/react-redux/es/utils/verifyPlainObject.js": /*!****************************************************************!*\ !*** ./node_modules/react-redux/es/utils/verifyPlainObject.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ verifyPlainObject) /* harmony export */ }); /* harmony import */ var _isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isPlainObject */ "./node_modules/react-redux/es/utils/isPlainObject.js"); /* harmony import */ var _warning__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./warning */ "./node_modules/react-redux/es/utils/warning.js"); function verifyPlainObject(value, displayName, methodName) { if (!(0,_isPlainObject__WEBPACK_IMPORTED_MODULE_0__["default"])(value)) { (0,_warning__WEBPACK_IMPORTED_MODULE_1__["default"])(`${methodName}() in ${displayName} must return a plain object. Instead received ${value}.`); } } /***/ }), /***/ "./node_modules/react-redux/es/utils/warning.js": /*!******************************************************!*\ !*** ./node_modules/react-redux/es/utils/warning.js ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ warning) /* harmony export */ }); /** * Prints a warning in the console if it exists. * * @param {String} message The warning message. * @returns {void} */ function warning(message) { /* eslint-disable no-console */ if (typeof console !== 'undefined' && typeof console.error === 'function') { console.error(message); } /* eslint-enable no-console */ try { // This error was thrown as a convenience so that if you enable // "break on all exceptions" in your console, // it would pause the execution at this line. throw new Error(message); /* eslint-disable no-empty */ } catch (e) {} /* eslint-enable no-empty */ } /***/ }), /***/ "./node_modules/react-transition-group/esm/Transition.js": /*!***************************************************************!*\ !*** ./node_modules/react-transition-group/esm/Transition.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ENTERED: () => (/* binding */ ENTERED), /* harmony export */ ENTERING: () => (/* binding */ ENTERING), /* harmony export */ EXITED: () => (/* binding */ EXITED), /* harmony export */ EXITING: () => (/* binding */ EXITING), /* harmony export */ UNMOUNTED: () => (/* binding */ UNMOUNTED), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-dom */ "react-dom"); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./config */ "./node_modules/react-transition-group/esm/config.js"); /* harmony import */ var _utils_PropTypes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/PropTypes */ "./node_modules/react-transition-group/esm/utils/PropTypes.js"); /* harmony import */ var _TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./TransitionGroupContext */ "./node_modules/react-transition-group/esm/TransitionGroupContext.js"); /* harmony import */ var _utils_reflow__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/reflow */ "./node_modules/react-transition-group/esm/utils/reflow.js"); var UNMOUNTED = 'unmounted'; var EXITED = 'exited'; var ENTERING = 'entering'; var ENTERED = 'entered'; var EXITING = 'exiting'; /** * The Transition component lets you describe a transition from one component * state to another _over time_ with a simple declarative API. Most commonly * it's used to animate the mounting and unmounting of a component, but can also * be used to describe in-place transition states as well. * * --- * * **Note**: `Transition` is a platform-agnostic base component. If you're using * transitions in CSS, you'll probably want to use * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition) * instead. It inherits all the features of `Transition`, but contains * additional features necessary to play nice with CSS transitions (hence the * name of the component). * * --- * * By default the `Transition` component does not alter the behavior of the * component it renders, it only tracks "enter" and "exit" states for the * components. It's up to you to give meaning and effect to those states. For * example we can add styles to a component when it enters or exits: * * ```jsx * import { Transition } from 'react-transition-group'; * * const duration = 300; * * const defaultStyle = { * transition: `opacity ${duration}ms ease-in-out`, * opacity: 0, * } * * const transitionStyles = { * entering: { opacity: 1 }, * entered: { opacity: 1 }, * exiting: { opacity: 0 }, * exited: { opacity: 0 }, * }; * * const Fade = ({ in: inProp }) => ( * <Transition in={inProp} timeout={duration}> * {state => ( * <div style={{ * ...defaultStyle, * ...transitionStyles[state] * }}> * I'm a fade Transition! * </div> * )} * </Transition> * ); * ``` * * There are 4 main states a Transition can be in: * - `'entering'` * - `'entered'` * - `'exiting'` * - `'exited'` * * Transition state is toggled via the `in` prop. When `true` the component * begins the "Enter" stage. During this stage, the component will shift from * its current transition state, to `'entering'` for the duration of the * transition and then to the `'entered'` stage once it's complete. Let's take * the following example (we'll use the * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook): * * ```jsx * function App() { * const [inProp, setInProp] = useState(false); * return ( * <div> * <Transition in={inProp} timeout={500}> * {state => ( * // ... * )} * </Transition> * <button onClick={() => setInProp(true)}> * Click to Enter * </button> * </div> * ); * } * ``` * * When the button is clicked the component will shift to the `'entering'` state * and stay there for 500ms (the value of `timeout`) before it finally switches * to `'entered'`. * * When `in` is `false` the same thing happens except the state moves from * `'exiting'` to `'exited'`. */ var Transition = /*#__PURE__*/function (_React$Component) { (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(Transition, _React$Component); function Transition(props, context) { var _this; _this = _React$Component.call(this, props, context) || this; var parentGroup = context; // In the context of a TransitionGroup all enters are really appears var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear; var initialStatus; _this.appearStatus = null; if (props.in) { if (appear) { initialStatus = EXITED; _this.appearStatus = ENTERING; } else { initialStatus = ENTERED; } } else { if (props.unmountOnExit || props.mountOnEnter) { initialStatus = UNMOUNTED; } else { initialStatus = EXITED; } } _this.state = { status: initialStatus }; _this.nextCallback = null; return _this; } Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) { var nextIn = _ref.in; if (nextIn && prevState.status === UNMOUNTED) { return { status: EXITED }; } return null; } // getSnapshotBeforeUpdate(prevProps) { // let nextStatus = null // if (prevProps !== this.props) { // const { status } = this.state // if (this.props.in) { // if (status !== ENTERING && status !== ENTERED) { // nextStatus = ENTERING // } // } else { // if (status === ENTERING || status === ENTERED) { // nextStatus = EXITING // } // } // } // return { nextStatus } // } ; var _proto = Transition.prototype; _proto.componentDidMount = function componentDidMount() { this.updateStatus(true, this.appearStatus); }; _proto.componentDidUpdate = function componentDidUpdate(prevProps) { var nextStatus = null; if (prevProps !== this.props) { var status = this.state.status; if (this.props.in) { if (status !== ENTERING && status !== ENTERED) { nextStatus = ENTERING; } } else { if (status === ENTERING || status === ENTERED) { nextStatus = EXITING; } } } this.updateStatus(false, nextStatus); }; _proto.componentWillUnmount = function componentWillUnmount() { this.cancelNextCallback(); }; _proto.getTimeouts = function getTimeouts() { var timeout = this.props.timeout; var exit, enter, appear; exit = enter = appear = timeout; if (timeout != null && typeof timeout !== 'number') { exit = timeout.exit; enter = timeout.enter; // TODO: remove fallback for next major appear = timeout.appear !== undefined ? timeout.appear : enter; } return { exit: exit, enter: enter, appear: appear }; }; _proto.updateStatus = function updateStatus(mounting, nextStatus) { if (mounting === void 0) { mounting = false; } if (nextStatus !== null) { // nextStatus will always be ENTERING or EXITING. this.cancelNextCallback(); if (nextStatus === ENTERING) { if (this.props.unmountOnExit || this.props.mountOnEnter) { var node = this.props.nodeRef ? this.props.nodeRef.current : react_dom__WEBPACK_IMPORTED_MODULE_3___default().findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749 // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`. // To make the animation happen, we have to separate each rendering and avoid being processed as batched. if (node) (0,_utils_reflow__WEBPACK_IMPORTED_MODULE_4__.forceReflow)(node); } this.performEnter(mounting); } else { this.performExit(); } } else if (this.props.unmountOnExit && this.state.status === EXITED) { this.setState({ status: UNMOUNTED }); } }; _proto.performEnter = function performEnter(mounting) { var _this2 = this; var enter = this.props.enter; var appearing = this.context ? this.context.isMounting : mounting; var _ref2 = this.props.nodeRef ? [appearing] : [react_dom__WEBPACK_IMPORTED_MODULE_3___default().findDOMNode(this), appearing], maybeNode = _ref2[0], maybeAppearing = _ref2[1]; var timeouts = this.getTimeouts(); var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED // if we are mounting and running this it means appear _must_ be set if (!mounting && !enter || _config__WEBPACK_IMPORTED_MODULE_5__["default"].disabled) { this.safeSetState({ status: ENTERED }, function () { _this2.props.onEntered(maybeNode); }); return; } this.props.onEnter(maybeNode, maybeAppearing); this.safeSetState({ status: ENTERING }, function () { _this2.props.onEntering(maybeNode, maybeAppearing); _this2.onTransitionEnd(enterTimeout, function () { _this2.safeSetState({ status: ENTERED }, function () { _this2.props.onEntered(maybeNode, maybeAppearing); }); }); }); }; _proto.performExit = function performExit() { var _this3 = this; var exit = this.props.exit; var timeouts = this.getTimeouts(); var maybeNode = this.props.nodeRef ? undefined : react_dom__WEBPACK_IMPORTED_MODULE_3___default().findDOMNode(this); // no exit animation skip right to EXITED if (!exit || _config__WEBPACK_IMPORTED_MODULE_5__["default"].disabled) { this.safeSetState({ status: EXITED }, function () { _this3.props.onExited(maybeNode); }); return; } this.props.onExit(maybeNode); this.safeSetState({ status: EXITING }, function () { _this3.props.onExiting(maybeNode); _this3.onTransitionEnd(timeouts.exit, function () { _this3.safeSetState({ status: EXITED }, function () { _this3.props.onExited(maybeNode); }); }); }); }; _proto.cancelNextCallback = function cancelNextCallback() { if (this.nextCallback !== null) { this.nextCallback.cancel(); this.nextCallback = null; } }; _proto.safeSetState = function safeSetState(nextState, callback) { // This shouldn't be necessary, but there are weird race conditions with // setState callbacks and unmounting in testing, so always make sure that // we can cancel any pending setState callbacks after we unmount. callback = this.setNextCallback(callback); this.setState(nextState, callback); }; _proto.setNextCallback = function setNextCallback(callback) { var _this4 = this; var active = true; this.nextCallback = function (event) { if (active) { active = false; _this4.nextCallback = null; callback(event); } }; this.nextCallback.cancel = function () { active = false; }; return this.nextCallback; }; _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) { this.setNextCallback(handler); var node = this.props.nodeRef ? this.props.nodeRef.current : react_dom__WEBPACK_IMPORTED_MODULE_3___default().findDOMNode(this); var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener; if (!node || doesNotHaveTimeoutOrListener) { setTimeout(this.nextCallback, 0); return; } if (this.props.addEndListener) { var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback], maybeNode = _ref3[0], maybeNextCallback = _ref3[1]; this.props.addEndListener(maybeNode, maybeNextCallback); } if (timeout != null) { setTimeout(this.nextCallback, timeout); } }; _proto.render = function render() { var status = this.state.status; if (status === UNMOUNTED) { return null; } var _this$props = this.props, children = _this$props.children, _in = _this$props.in, _mountOnEnter = _this$props.mountOnEnter, _unmountOnExit = _this$props.unmountOnExit, _appear = _this$props.appear, _enter = _this$props.enter, _exit = _this$props.exit, _timeout = _this$props.timeout, _addEndListener = _this$props.addEndListener, _onEnter = _this$props.onEnter, _onEntering = _this$props.onEntering, _onEntered = _this$props.onEntered, _onExit = _this$props.onExit, _onExiting = _this$props.onExiting, _onExited = _this$props.onExited, _nodeRef = _this$props.nodeRef, childProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(_this$props, ["children", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"]); return ( /*#__PURE__*/ // allows for nested Transitions react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__["default"].Provider, { value: null }, typeof children === 'function' ? children(status, childProps) : react__WEBPACK_IMPORTED_MODULE_2___default().cloneElement(react__WEBPACK_IMPORTED_MODULE_2___default().Children.only(children), childProps)) ); }; return Transition; }((react__WEBPACK_IMPORTED_MODULE_2___default().Component)); Transition.contextType = _TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__["default"]; Transition.propTypes = true ? { /** * A React reference to DOM element that need to transition: * https://stackoverflow.com/a/51127130/4671932 * * - When `nodeRef` prop is used, `node` is not passed to callback functions * (e.g. `onEnter`) because user already has direct access to the node. * - When changing `key` prop of `Transition` in a `TransitionGroup` a new * `nodeRef` need to be provided to `Transition` with changed `key` prop * (see * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)). */ nodeRef: prop_types__WEBPACK_IMPORTED_MODULE_7___default().shape({ current: typeof Element === 'undefined' ? (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any) : function (propValue, key, componentName, location, propFullName, secret) { var value = propValue[key]; return prop_types__WEBPACK_IMPORTED_MODULE_7___default().instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret); } }), /** * A `function` child can be used instead of a React element. This function is * called with the current transition status (`'entering'`, `'entered'`, * `'exiting'`, `'exited'`), which can be used to apply context * specific props to a component. * * ```jsx * <Transition in={this.state.in} timeout={150}> * {state => ( * <MyComponent className={`fade fade-${state}`} /> * )} * </Transition> * ``` */ children: prop_types__WEBPACK_IMPORTED_MODULE_7___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_7___default().func).isRequired, (prop_types__WEBPACK_IMPORTED_MODULE_7___default().element).isRequired]).isRequired, /** * Show the component; triggers the enter or exit states */ in: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool), /** * By default the child component is mounted immediately along with * the parent `Transition` component. If you want to "lazy mount" the component on the * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay * mounted, even on "exited", unless you also specify `unmountOnExit`. */ mountOnEnter: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool), /** * By default the child component stays mounted after it reaches the `'exited'` state. * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting. */ unmountOnExit: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool), /** * By default the child component does not perform the enter transition when * it first mounts, regardless of the value of `in`. If you want this * behavior, set both `appear` and `in` to `true`. * * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop * > only adds an additional enter transition. However, in the * > `<CSSTransition>` component that first enter transition does result in * > additional `.appear-*` classes, that way you can choose to style it * > differently. */ appear: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool), /** * Enable or disable enter transitions. */ enter: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool), /** * Enable or disable exit transitions. */ exit: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool), /** * The duration of the transition, in milliseconds. * Required unless `addEndListener` is provided. * * You may specify a single timeout for all transitions: * * ```jsx * timeout={500} * ``` * * or individually: * * ```jsx * timeout={{ * appear: 500, * enter: 300, * exit: 500, * }} * ``` * * - `appear` defaults to the value of `enter` * - `enter` defaults to `0` * - `exit` defaults to `0` * * @type {number | { enter?: number, exit?: number, appear?: number }} */ timeout: function timeout(props) { var pt = _utils_PropTypes__WEBPACK_IMPORTED_MODULE_8__.timeoutsShape; if (!props.addEndListener) pt = pt.isRequired; for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } return pt.apply(void 0, [props].concat(args)); }, /** * Add a custom transition end trigger. Called with the transitioning * DOM node and a `done` callback. Allows for more fine grained transition end * logic. Timeouts are still used as a fallback if provided. * * **Note**: when `nodeRef` prop is passed, `node` is not passed. * * ```jsx * addEndListener={(node, done) => { * // use the css transitionend event to mark the finish of a transition * node.addEventListener('transitionend', done, false); * }} * ``` */ addEndListener: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func), /** * Callback fired before the "entering" status is applied. An extra parameter * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount * * **Note**: when `nodeRef` prop is passed, `node` is not passed. * * @type Function(node: HtmlElement, isAppearing: bool) -> void */ onEnter: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func), /** * Callback fired after the "entering" status is applied. An extra parameter * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount * * **Note**: when `nodeRef` prop is passed, `node` is not passed. * * @type Function(node: HtmlElement, isAppearing: bool) */ onEntering: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func), /** * Callback fired after the "entered" status is applied. An extra parameter * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount * * **Note**: when `nodeRef` prop is passed, `node` is not passed. * * @type Function(node: HtmlElement, isAppearing: bool) -> void */ onEntered: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func), /** * Callback fired before the "exiting" status is applied. * * **Note**: when `nodeRef` prop is passed, `node` is not passed. * * @type Function(node: HtmlElement) -> void */ onExit: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func), /** * Callback fired after the "exiting" status is applied. * * **Note**: when `nodeRef` prop is passed, `node` is not passed. * * @type Function(node: HtmlElement) -> void */ onExiting: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func), /** * Callback fired after the "exited" status is applied. * * **Note**: when `nodeRef` prop is passed, `node` is not passed * * @type Function(node: HtmlElement) -> void */ onExited: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func) } : 0; // Name the function so it is clearer in the documentation function noop() {} Transition.defaultProps = { in: false, mountOnEnter: false, unmountOnExit: false, appear: false, enter: true, exit: true, onEnter: noop, onEntering: noop, onEntered: noop, onExit: noop, onExiting: noop, onExited: noop }; Transition.UNMOUNTED = UNMOUNTED; Transition.EXITED = EXITED; Transition.ENTERING = ENTERING; Transition.ENTERED = ENTERED; Transition.EXITING = EXITING; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Transition); /***/ }), /***/ "./node_modules/react-transition-group/esm/TransitionGroup.js": /*!********************************************************************!*\ !*** ./node_modules/react-transition-group/esm/TransitionGroup.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); /* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./TransitionGroupContext */ "./node_modules/react-transition-group/esm/TransitionGroupContext.js"); /* harmony import */ var _utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/ChildMapping */ "./node_modules/react-transition-group/esm/utils/ChildMapping.js"); var values = Object.values || function (obj) { return Object.keys(obj).map(function (k) { return obj[k]; }); }; var defaultProps = { component: 'div', childFactory: function childFactory(child) { return child; } }; /** * The `<TransitionGroup>` component manages a set of transition components * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition * components, `<TransitionGroup>` is a state machine for managing the mounting * and unmounting of components over time. * * Consider the example below. As items are removed or added to the TodoList the * `in` prop is toggled automatically by the `<TransitionGroup>`. * * Note that `<TransitionGroup>` does not define any animation behavior! * Exactly _how_ a list item animates is up to the individual transition * component. This means you can mix and match animations across different list * items. */ var TransitionGroup = /*#__PURE__*/function (_React$Component) { (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__["default"])(TransitionGroup, _React$Component); function TransitionGroup(props, context) { var _this; _this = _React$Component.call(this, props, context) || this; var handleExited = _this.handleExited.bind((0,_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__["default"])(_this)); // Initial children should all be entering, dependent on appear _this.state = { contextValue: { isMounting: true }, handleExited: handleExited, firstRender: true }; return _this; } var _proto = TransitionGroup.prototype; _proto.componentDidMount = function componentDidMount() { this.mounted = true; this.setState({ contextValue: { isMounting: false } }); }; _proto.componentWillUnmount = function componentWillUnmount() { this.mounted = false; }; TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) { var prevChildMapping = _ref.children, handleExited = _ref.handleExited, firstRender = _ref.firstRender; return { children: firstRender ? (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__.getInitialChildMapping)(nextProps, handleExited) : (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__.getNextChildMapping)(nextProps, prevChildMapping, handleExited), firstRender: false }; } // node is `undefined` when user provided `nodeRef` prop ; _proto.handleExited = function handleExited(child, node) { var currentChildMapping = (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__.getChildMapping)(this.props.children); if (child.key in currentChildMapping) return; if (child.props.onExited) { child.props.onExited(node); } if (this.mounted) { this.setState(function (state) { var children = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, state.children); delete children[child.key]; return { children: children }; }); } }; _proto.render = function render() { var _this$props = this.props, Component = _this$props.component, childFactory = _this$props.childFactory, props = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(_this$props, ["component", "childFactory"]); var contextValue = this.state.contextValue; var children = values(this.state.children).map(childFactory); delete props.appear; delete props.enter; delete props.exit; if (Component === null) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__["default"].Provider, { value: contextValue }, children); } return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__["default"].Provider, { value: contextValue }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(Component, props, children)); }; return TransitionGroup; }((react__WEBPACK_IMPORTED_MODULE_4___default().Component)); TransitionGroup.propTypes = true ? { /** * `<TransitionGroup>` renders a `<div>` by default. You can change this * behavior by providing a `component` prop. * If you use React v16+ and would like to avoid a wrapping `<div>` element * you can pass in `component={null}`. This is useful if the wrapping div * borks your css styles. */ component: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any), /** * A set of `<Transition>` components, that are toggled `in` and out as they * leave. the `<TransitionGroup>` will inject specific transition props, so * remember to spread them through if you are wrapping the `<Transition>` as * with our `<Fade>` example. * * While this component is meant for multiple `Transition` or `CSSTransition` * children, sometimes you may want to have a single transition child with * content that you want to be transitioned out and in when you change it * (e.g. routes, images etc.) In that case you can change the `key` prop of * the transition child as you change its content, this will cause * `TransitionGroup` to transition the child out and back in. */ children: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().node), /** * A convenience prop that enables or disables appear animations * for all children. Note that specifying this will override any defaults set * on individual children Transitions. */ appear: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool), /** * A convenience prop that enables or disables enter animations * for all children. Note that specifying this will override any defaults set * on individual children Transitions. */ enter: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool), /** * A convenience prop that enables or disables exit animations * for all children. Note that specifying this will override any defaults set * on individual children Transitions. */ exit: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool), /** * You may need to apply reactive updates to a child as it is exiting. * This is generally done by using `cloneElement` however in the case of an exiting * child the element has already been removed and not accessible to the consumer. * * If you do need to update a child as it leaves you can provide a `childFactory` * to wrap every child, even the ones that are leaving. * * @type Function(child: ReactElement) -> ReactElement */ childFactory: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func) } : 0; TransitionGroup.defaultProps = defaultProps; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TransitionGroup); /***/ }), /***/ "./node_modules/react-transition-group/esm/TransitionGroupContext.js": /*!***************************************************************************!*\ !*** ./node_modules/react-transition-group/esm/TransitionGroupContext.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (react__WEBPACK_IMPORTED_MODULE_0___default().createContext(null)); /***/ }), /***/ "./node_modules/react-transition-group/esm/config.js": /*!***********************************************************!*\ !*** ./node_modules/react-transition-group/esm/config.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ disabled: false }); /***/ }), /***/ "./node_modules/react-transition-group/esm/utils/ChildMapping.js": /*!***********************************************************************!*\ !*** ./node_modules/react-transition-group/esm/utils/ChildMapping.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getChildMapping: () => (/* binding */ getChildMapping), /* harmony export */ getInitialChildMapping: () => (/* binding */ getInitialChildMapping), /* harmony export */ getNextChildMapping: () => (/* binding */ getNextChildMapping), /* harmony export */ mergeChildMappings: () => (/* binding */ mergeChildMappings) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /** * Given `this.props.children`, return an object mapping key to child. * * @param {*} children `this.props.children` * @return {object} Mapping of key to child */ function getChildMapping(children, mapFn) { var mapper = function mapper(child) { return mapFn && (0,react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(child) ? mapFn(child) : child; }; var result = Object.create(null); if (children) react__WEBPACK_IMPORTED_MODULE_0__.Children.map(children, function (c) { return c; }).forEach(function (child) { // run the map function here instead so that the key is the computed one result[child.key] = mapper(child); }); return result; } /** * When you're adding or removing children some may be added or removed in the * same render pass. We want to show *both* since we want to simultaneously * animate elements in and out. This function takes a previous set of keys * and a new set of keys and merges them with its best guess of the correct * ordering. In the future we may expose some of the utilities in * ReactMultiChild to make this easy, but for now React itself does not * directly have this concept of the union of prevChildren and nextChildren * so we implement it here. * * @param {object} prev prev children as returned from * `ReactTransitionChildMapping.getChildMapping()`. * @param {object} next next children as returned from * `ReactTransitionChildMapping.getChildMapping()`. * @return {object} a key set that contains all keys in `prev` and all keys * in `next` in a reasonable order. */ function mergeChildMappings(prev, next) { prev = prev || {}; next = next || {}; function getValueForKey(key) { return key in next ? next[key] : prev[key]; } // For each key of `next`, the list of keys to insert before that key in // the combined list var nextKeysPending = Object.create(null); var pendingKeys = []; for (var prevKey in prev) { if (prevKey in next) { if (pendingKeys.length) { nextKeysPending[prevKey] = pendingKeys; pendingKeys = []; } } else { pendingKeys.push(prevKey); } } var i; var childMapping = {}; for (var nextKey in next) { if (nextKeysPending[nextKey]) { for (i = 0; i < nextKeysPending[nextKey].length; i++) { var pendingNextKey = nextKeysPending[nextKey][i]; childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey); } } childMapping[nextKey] = getValueForKey(nextKey); } // Finally, add the keys which didn't appear before any key in `next` for (i = 0; i < pendingKeys.length; i++) { childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]); } return childMapping; } function getProp(child, prop, props) { return props[prop] != null ? props[prop] : child.props[prop]; } function getInitialChildMapping(props, onExited) { return getChildMapping(props.children, function (child) { return (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(child, { onExited: onExited.bind(null, child), in: true, appear: getProp(child, 'appear', props), enter: getProp(child, 'enter', props), exit: getProp(child, 'exit', props) }); }); } function getNextChildMapping(nextProps, prevChildMapping, onExited) { var nextChildMapping = getChildMapping(nextProps.children); var children = mergeChildMappings(prevChildMapping, nextChildMapping); Object.keys(children).forEach(function (key) { var child = children[key]; if (!(0,react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(child)) return; var hasPrev = (key in prevChildMapping); var hasNext = (key in nextChildMapping); var prevChild = prevChildMapping[key]; var isLeaving = (0,react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering) if (hasNext && (!hasPrev || isLeaving)) { // console.log('entering', key) children[key] = (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(child, { onExited: onExited.bind(null, child), in: true, exit: getProp(child, 'exit', nextProps), enter: getProp(child, 'enter', nextProps) }); } else if (!hasNext && hasPrev && !isLeaving) { // item is old (exiting) // console.log('leaving', key) children[key] = (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(child, { in: false }); } else if (hasNext && hasPrev && (0,react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(prevChild)) { // item hasn't changed transition states // copy over the last transition props; // console.log('unchanged', key) children[key] = (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(child, { onExited: onExited.bind(null, child), in: prevChild.props.in, exit: getProp(child, 'exit', nextProps), enter: getProp(child, 'enter', nextProps) }); } }); return children; } /***/ }), /***/ "./node_modules/react-transition-group/esm/utils/PropTypes.js": /*!********************************************************************!*\ !*** ./node_modules/react-transition-group/esm/utils/PropTypes.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ classNamesShape: () => (/* binding */ classNamesShape), /* harmony export */ timeoutsShape: () => (/* binding */ timeoutsShape) /* harmony export */ }); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__); var timeoutsShape = true ? prop_types__WEBPACK_IMPORTED_MODULE_0___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_0___default().number), prop_types__WEBPACK_IMPORTED_MODULE_0___default().shape({ enter: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().number), exit: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().number), appear: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().number) }).isRequired]) : 0; var classNamesShape = true ? prop_types__WEBPACK_IMPORTED_MODULE_0___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), prop_types__WEBPACK_IMPORTED_MODULE_0___default().shape({ enter: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), exit: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), active: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string) }), prop_types__WEBPACK_IMPORTED_MODULE_0___default().shape({ enter: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), enterDone: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), enterActive: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), exit: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), exitDone: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string), exitActive: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string) })]) : 0; /***/ }), /***/ "./node_modules/react-transition-group/esm/utils/reflow.js": /*!*****************************************************************!*\ !*** ./node_modules/react-transition-group/esm/utils/reflow.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ forceReflow: () => (/* binding */ forceReflow) /* harmony export */ }); var forceReflow = function forceReflow(node) { return node.scrollTop; }; /***/ }), /***/ "./node_modules/react/cjs/react-jsx-runtime.development.js": /*!*****************************************************************!*\ !*** ./node_modules/react/cjs/react-jsx-runtime.development.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /** * @license React * react-jsx-runtime.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; var React = __webpack_require__(/*! react */ "react"); // ATTENTION // When adding new symbols to this file, // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' // The Symbol used to tag the ReactElement-like types. var REACT_ELEMENT_TYPE = Symbol.for('react.element'); var REACT_PORTAL_TYPE = Symbol.for('react.portal'); var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment'); var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode'); var REACT_PROFILER_TYPE = Symbol.for('react.profiler'); var REACT_PROVIDER_TYPE = Symbol.for('react.provider'); var REACT_CONTEXT_TYPE = Symbol.for('react.context'); var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref'); var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense'); var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list'); var REACT_MEMO_TYPE = Symbol.for('react.memo'); var REACT_LAZY_TYPE = Symbol.for('react.lazy'); var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen'); var MAYBE_ITERATOR_SYMBOL = Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; function getIteratorFn(maybeIterable) { if (maybeIterable === null || typeof maybeIterable !== 'object') { return null; } var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; if (typeof maybeIterator === 'function') { return maybeIterator; } return null; } var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; function error(format) { { { for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } printWarning('error', format, args); } } } function printWarning(level, format, args) { // When changing this logic, you might want to also // update consoleWithStackDev.www.js as well. { var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; var stack = ReactDebugCurrentFrame.getStackAddendum(); if (stack !== '') { format += '%s'; args = args.concat([stack]); } // eslint-disable-next-line react-internal/safe-string-coercion var argsWithFormat = args.map(function (item) { return String(item); }); // Careful: RN currently depends on this prefix argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it // breaks IE9: https://github.com/facebook/react/issues/13610 // eslint-disable-next-line react-internal/no-production-logging Function.prototype.apply.call(console[level], console, argsWithFormat); } } // ----------------------------------------------------------------------------- var enableScopeAPI = false; // Experimental Create Event Handle API. var enableCacheElement = false; var enableTransitionTracing = false; // No known bugs, but needs performance testing var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber // stuff. Intended to enable React core members to more easily debug scheduling // issues in DEV builds. var enableDebugTracing = false; // Track which Fiber(s) schedule render work. var REACT_MODULE_REFERENCE; { REACT_MODULE_REFERENCE = Symbol.for('react.module.reference'); } function isValidElementType(type) { if (typeof type === 'string' || typeof type === 'function') { return true; } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill). if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) { return true; } if (typeof type === 'object' && type !== null) { if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object // types supported by any Flight configuration anywhere since // we don't know which Flight build this will end up being used // with. type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) { return true; } } return false; } function getWrappedName(outerType, innerType, wrapperName) { var displayName = outerType.displayName; if (displayName) { return displayName; } var functionName = innerType.displayName || innerType.name || ''; return functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName; } // Keep in sync with react-reconciler/getComponentNameFromFiber function getContextName(type) { return type.displayName || 'Context'; } // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead. function getComponentNameFromType(type) { if (type == null) { // Host root, text node or just invalid type. return null; } { if (typeof type.tag === 'number') { error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.'); } } if (typeof type === 'function') { return type.displayName || type.name || null; } if (typeof type === 'string') { return type; } switch (type) { case REACT_FRAGMENT_TYPE: return 'Fragment'; case REACT_PORTAL_TYPE: return 'Portal'; case REACT_PROFILER_TYPE: return 'Profiler'; case REACT_STRICT_MODE_TYPE: return 'StrictMode'; case REACT_SUSPENSE_TYPE: return 'Suspense'; case REACT_SUSPENSE_LIST_TYPE: return 'SuspenseList'; } if (typeof type === 'object') { switch (type.$$typeof) { case REACT_CONTEXT_TYPE: var context = type; return getContextName(context) + '.Consumer'; case REACT_PROVIDER_TYPE: var provider = type; return getContextName(provider._context) + '.Provider'; case REACT_FORWARD_REF_TYPE: return getWrappedName(type, type.render, 'ForwardRef'); case REACT_MEMO_TYPE: var outerName = type.displayName || null; if (outerName !== null) { return outerName; } return getComponentNameFromType(type.type) || 'Memo'; case REACT_LAZY_TYPE: { var lazyComponent = type; var payload = lazyComponent._payload; var init = lazyComponent._init; try { return getComponentNameFromType(init(payload)); } catch (x) { return null; } } // eslint-disable-next-line no-fallthrough } } return null; } var assign = Object.assign; // Helpers to patch console.logs to avoid logging during side-effect free // replaying on render function. This currently only patches the object // lazily which won't cover if the log function was extracted eagerly. // We could also eagerly patch the method. var disabledDepth = 0; var prevLog; var prevInfo; var prevWarn; var prevError; var prevGroup; var prevGroupCollapsed; var prevGroupEnd; function disabledLog() {} disabledLog.__reactDisabledLog = true; function disableLogs() { { if (disabledDepth === 0) { /* eslint-disable react-internal/no-production-logging */ prevLog = console.log; prevInfo = console.info; prevWarn = console.warn; prevError = console.error; prevGroup = console.group; prevGroupCollapsed = console.groupCollapsed; prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099 var props = { configurable: true, enumerable: true, value: disabledLog, writable: true }; // $FlowFixMe Flow thinks console is immutable. Object.defineProperties(console, { info: props, log: props, warn: props, error: props, group: props, groupCollapsed: props, groupEnd: props }); /* eslint-enable react-internal/no-production-logging */ } disabledDepth++; } } function reenableLogs() { { disabledDepth--; if (disabledDepth === 0) { /* eslint-disable react-internal/no-production-logging */ var props = { configurable: true, enumerable: true, writable: true }; // $FlowFixMe Flow thinks console is immutable. Object.defineProperties(console, { log: assign({}, props, { value: prevLog }), info: assign({}, props, { value: prevInfo }), warn: assign({}, props, { value: prevWarn }), error: assign({}, props, { value: prevError }), group: assign({}, props, { value: prevGroup }), groupCollapsed: assign({}, props, { value: prevGroupCollapsed }), groupEnd: assign({}, props, { value: prevGroupEnd }) }); /* eslint-enable react-internal/no-production-logging */ } if (disabledDepth < 0) { error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.'); } } } var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; var prefix; function describeBuiltInComponentFrame(name, source, ownerFn) { { if (prefix === undefined) { // Extract the VM specific prefix used by each line. try { throw Error(); } catch (x) { var match = x.stack.trim().match(/\n( *(at )?)/); prefix = match && match[1] || ''; } } // We use the prefix to ensure our stacks line up with native stack frames. return '\n' + prefix + name; } } var reentry = false; var componentFrameCache; { var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; componentFrameCache = new PossiblyWeakMap(); } function describeNativeComponentFrame(fn, construct) { // If something asked for a stack inside a fake render, it should get ignored. if ( !fn || reentry) { return ''; } { var frame = componentFrameCache.get(fn); if (frame !== undefined) { return frame; } } var control; reentry = true; var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined. Error.prepareStackTrace = undefined; var previousDispatcher; { previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function // for warnings. ReactCurrentDispatcher.current = null; disableLogs(); } try { // This should throw. if (construct) { // Something should be setting the props in the constructor. var Fake = function () { throw Error(); }; // $FlowFixMe Object.defineProperty(Fake.prototype, 'props', { set: function () { // We use a throwing setter instead of frozen or non-writable props // because that won't throw in a non-strict mode function. throw Error(); } }); if (typeof Reflect === 'object' && Reflect.construct) { // We construct a different control for this case to include any extra // frames added by the construct call. try { Reflect.construct(Fake, []); } catch (x) { control = x; } Reflect.construct(fn, [], Fake); } else { try { Fake.call(); } catch (x) { control = x; } fn.call(Fake.prototype); } } else { try { throw Error(); } catch (x) { control = x; } fn(); } } catch (sample) { // This is inlined manually because closure doesn't do it for us. if (sample && control && typeof sample.stack === 'string') { // This extracts the first frame from the sample that isn't also in the control. // Skipping one frame that we assume is the frame that calls the two. var sampleLines = sample.stack.split('\n'); var controlLines = control.stack.split('\n'); var s = sampleLines.length - 1; var c = controlLines.length - 1; while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { // We expect at least one stack frame to be shared. // Typically this will be the root most one. However, stack frames may be // cut off due to maximum stack limits. In this case, one maybe cut off // earlier than the other. We assume that the sample is longer or the same // and there for cut off earlier. So we should find the root most frame in // the sample somewhere in the control. c--; } for (; s >= 1 && c >= 0; s--, c--) { // Next we find the first one that isn't the same which should be the // frame that called our sample function and the control. if (sampleLines[s] !== controlLines[c]) { // In V8, the first line is describing the message but other VMs don't. // If we're about to return the first line, and the control is also on the same // line, that's a pretty good indicator that our sample threw at same line as // the control. I.e. before we entered the sample frame. So we ignore this result. // This can happen if you passed a class to function component, or non-function. if (s !== 1 || c !== 1) { do { s--; c--; // We may still have similar intermediate frames from the construct call. // The next one that isn't the same should be our match though. if (c < 0 || sampleLines[s] !== controlLines[c]) { // V8 adds a "new" prefix for native classes. Let's remove it to make it prettier. var _frame = '\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled "<anonymous>" // but we have a user-provided "displayName" // splice it in to make the stack more readable. if (fn.displayName && _frame.includes('<anonymous>')) { _frame = _frame.replace('<anonymous>', fn.displayName); } { if (typeof fn === 'function') { componentFrameCache.set(fn, _frame); } } // Return the line we found. return _frame; } } while (s >= 1 && c >= 0); } break; } } } } finally { reentry = false; { ReactCurrentDispatcher.current = previousDispatcher; reenableLogs(); } Error.prepareStackTrace = previousPrepareStackTrace; } // Fallback to just using the name if we couldn't make it throw. var name = fn ? fn.displayName || fn.name : ''; var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ''; { if (typeof fn === 'function') { componentFrameCache.set(fn, syntheticFrame); } } return syntheticFrame; } function describeFunctionComponentFrame(fn, source, ownerFn) { { return describeNativeComponentFrame(fn, false); } } function shouldConstruct(Component) { var prototype = Component.prototype; return !!(prototype && prototype.isReactComponent); } function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { if (type == null) { return ''; } if (typeof type === 'function') { { return describeNativeComponentFrame(type, shouldConstruct(type)); } } if (typeof type === 'string') { return describeBuiltInComponentFrame(type); } switch (type) { case REACT_SUSPENSE_TYPE: return describeBuiltInComponentFrame('Suspense'); case REACT_SUSPENSE_LIST_TYPE: return describeBuiltInComponentFrame('SuspenseList'); } if (typeof type === 'object') { switch (type.$$typeof) { case REACT_FORWARD_REF_TYPE: return describeFunctionComponentFrame(type.render); case REACT_MEMO_TYPE: // Memo may contain any component type so we recursively resolve it. return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); case REACT_LAZY_TYPE: { var lazyComponent = type; var payload = lazyComponent._payload; var init = lazyComponent._init; try { // Lazy may contain any component type so we recursively resolve it. return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); } catch (x) {} } } } return ''; } var hasOwnProperty = Object.prototype.hasOwnProperty; var loggedTypeFailures = {}; var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; function setCurrentlyValidatingElement(element) { { if (element) { var owner = element._owner; var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); ReactDebugCurrentFrame.setExtraStackFrame(stack); } else { ReactDebugCurrentFrame.setExtraStackFrame(null); } } } function checkPropTypes(typeSpecs, values, location, componentName, element) { { // $FlowFixMe This is okay but Flow doesn't know it. var has = Function.call.bind(hasOwnProperty); for (var typeSpecName in typeSpecs) { if (has(typeSpecs, typeSpecName)) { var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to // fail the render phase where it didn't fail before. So we log it. // After these have been cleaned up, we'll let them throw. try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. if (typeof typeSpecs[typeSpecName] !== 'function') { // eslint-disable-next-line react-internal/prod-error-codes var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'); err.name = 'Invariant Violation'; throw err; } error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'); } catch (ex) { error$1 = ex; } if (error$1 && !(error$1 instanceof Error)) { setCurrentlyValidatingElement(element); error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1); setCurrentlyValidatingElement(null); } if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the // same error. loggedTypeFailures[error$1.message] = true; setCurrentlyValidatingElement(element); error('Failed %s type: %s', location, error$1.message); setCurrentlyValidatingElement(null); } } } } } var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare function isArray(a) { return isArrayImpl(a); } /* * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol * and Temporal.* types. See https://github.com/facebook/react/pull/22064. * * The functions in this module will throw an easier-to-understand, * easier-to-debug exception with a clear errors message message explaining the * problem. (Instead of a confusing exception thrown inside the implementation * of the `value` object). */ // $FlowFixMe only called in DEV, so void return is not possible. function typeName(value) { { // toStringTag is needed for namespaced types like Temporal.Instant var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag; var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; return type; } } // $FlowFixMe only called in DEV, so void return is not possible. function willCoercionThrow(value) { { try { testStringCoercion(value); return false; } catch (e) { return true; } } } function testStringCoercion(value) { // If you ended up here by following an exception call stack, here's what's // happened: you supplied an object or symbol value to React (as a prop, key, // DOM attribute, CSS property, string ref, etc.) and when React tried to // coerce it to a string using `'' + value`, an exception was thrown. // // The most common types that will cause this exception are `Symbol` instances // and Temporal objects like `Temporal.Instant`. But any object that has a // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this // exception. (Library authors do this to prevent users from using built-in // numeric operators like `+` or comparison operators like `>=` because custom // methods are needed to perform accurate arithmetic or comparison.) // // To fix the problem, coerce this object or symbol value to a string before // passing it to React. The most reliable way is usually `String(value)`. // // To find which value is throwing, check the browser or debugger console. // Before this exception was thrown, there should be `console.error` output // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the // problem and how that type was used: key, atrribute, input value prop, etc. // In most cases, this console output also shows the component and its // ancestor components where the exception happened. // // eslint-disable-next-line react-internal/safe-string-coercion return '' + value; } function checkKeyStringCoercion(value) { { if (willCoercionThrow(value)) { error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value)); return testStringCoercion(value); // throw (to help callers find troubleshooting comments) } } } var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; var RESERVED_PROPS = { key: true, ref: true, __self: true, __source: true }; var specialPropKeyWarningShown; var specialPropRefWarningShown; var didWarnAboutStringRefs; { didWarnAboutStringRefs = {}; } function hasValidRef(config) { { if (hasOwnProperty.call(config, 'ref')) { var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; if (getter && getter.isReactWarning) { return false; } } } return config.ref !== undefined; } function hasValidKey(config) { { if (hasOwnProperty.call(config, 'key')) { var getter = Object.getOwnPropertyDescriptor(config, 'key').get; if (getter && getter.isReactWarning) { return false; } } } return config.key !== undefined; } function warnIfStringRefCannotBeAutoConverted(config, self) { { if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) { var componentName = getComponentNameFromType(ReactCurrentOwner.current.type); if (!didWarnAboutStringRefs[componentName]) { error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref); didWarnAboutStringRefs[componentName] = true; } } } } function defineKeyPropWarningGetter(props, displayName) { { var warnAboutAccessingKey = function () { if (!specialPropKeyWarningShown) { specialPropKeyWarningShown = true; error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName); } }; warnAboutAccessingKey.isReactWarning = true; Object.defineProperty(props, 'key', { get: warnAboutAccessingKey, configurable: true }); } } function defineRefPropWarningGetter(props, displayName) { { var warnAboutAccessingRef = function () { if (!specialPropRefWarningShown) { specialPropRefWarningShown = true; error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName); } }; warnAboutAccessingRef.isReactWarning = true; Object.defineProperty(props, 'ref', { get: warnAboutAccessingRef, configurable: true }); } } /** * Factory method to create a new React element. This no longer adheres to * the class pattern, so do not use new to call it. Also, instanceof check * will not work. Instead test $$typeof field against Symbol.for('react.element') to check * if something is a React Element. * * @param {*} type * @param {*} props * @param {*} key * @param {string|object} ref * @param {*} owner * @param {*} self A *temporary* helper to detect places where `this` is * different from the `owner` when React.createElement is called, so that we * can warn. We want to get rid of owner and replace string `ref`s with arrow * functions, and as long as `this` and owner are the same, there will be no * change in behavior. * @param {*} source An annotation object (added by a transpiler or otherwise) * indicating filename, line number, and/or other information. * @internal */ var ReactElement = function (type, key, ref, self, source, owner, props) { var element = { // This tag allows us to uniquely identify this as a React Element $$typeof: REACT_ELEMENT_TYPE, // Built-in properties that belong on the element type: type, key: key, ref: ref, props: props, // Record the component responsible for creating this element. _owner: owner }; { // The validation flag is currently mutative. We put it on // an external backing store so that we can freeze the whole object. // This can be replaced with a WeakMap once they are implemented in // commonly used development environments. element._store = {}; // To make comparing ReactElements easier for testing purposes, we make // the validation flag non-enumerable (where possible, which should // include every environment we run tests in), so the test framework // ignores it. Object.defineProperty(element._store, 'validated', { configurable: false, enumerable: false, writable: true, value: false }); // self and source are DEV only properties. Object.defineProperty(element, '_self', { configurable: false, enumerable: false, writable: false, value: self }); // Two elements created in two different places should be considered // equal for testing purposes and therefore we hide it from enumeration. Object.defineProperty(element, '_source', { configurable: false, enumerable: false, writable: false, value: source }); if (Object.freeze) { Object.freeze(element.props); Object.freeze(element); } } return element; }; /** * https://github.com/reactjs/rfcs/pull/107 * @param {*} type * @param {object} props * @param {string} key */ function jsxDEV(type, config, maybeKey, source, self) { { var propName; // Reserved names are extracted var props = {}; var key = null; var ref = null; // Currently, key can be spread in as a prop. This causes a potential // issue if key is also explicitly declared (ie. <div {...props} key="Hi" /> // or <div key="Hi" {...props} /> ). We want to deprecate key spread, // but as an intermediary step, we will use jsxDEV for everything except // <div {...props} key="Hi" />, because we aren't currently able to tell if // key is explicitly declared to be undefined or not. if (maybeKey !== undefined) { { checkKeyStringCoercion(maybeKey); } key = '' + maybeKey; } if (hasValidKey(config)) { { checkKeyStringCoercion(config.key); } key = '' + config.key; } if (hasValidRef(config)) { ref = config.ref; warnIfStringRefCannotBeAutoConverted(config, self); } // Remaining properties are added to a new props object for (propName in config) { if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { props[propName] = config[propName]; } } // Resolve default props if (type && type.defaultProps) { var defaultProps = type.defaultProps; for (propName in defaultProps) { if (props[propName] === undefined) { props[propName] = defaultProps[propName]; } } } if (key || ref) { var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; if (key) { defineKeyPropWarningGetter(props, displayName); } if (ref) { defineRefPropWarningGetter(props, displayName); } } return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); } } var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; function setCurrentlyValidatingElement$1(element) { { if (element) { var owner = element._owner; var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); ReactDebugCurrentFrame$1.setExtraStackFrame(stack); } else { ReactDebugCurrentFrame$1.setExtraStackFrame(null); } } } var propTypesMisspellWarningShown; { propTypesMisspellWarningShown = false; } /** * Verifies the object is a ReactElement. * See https://reactjs.org/docs/react-api.html#isvalidelement * @param {?object} object * @return {boolean} True if `object` is a ReactElement. * @final */ function isValidElement(object) { { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } } function getDeclarationErrorAddendum() { { if (ReactCurrentOwner$1.current) { var name = getComponentNameFromType(ReactCurrentOwner$1.current.type); if (name) { return '\n\nCheck the render method of `' + name + '`.'; } } return ''; } } function getSourceInfoErrorAddendum(source) { { if (source !== undefined) { var fileName = source.fileName.replace(/^.*[\\\/]/, ''); var lineNumber = source.lineNumber; return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.'; } return ''; } } /** * Warn if there's no key explicitly set on dynamic arrays of children or * object keys are not valid. This allows us to keep track of children between * updates. */ var ownerHasKeyUseWarning = {}; function getCurrentComponentErrorInfo(parentType) { { var info = getDeclarationErrorAddendum(); if (!info) { var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; if (parentName) { info = "\n\nCheck the top-level render call using <" + parentName + ">."; } } return info; } } /** * Warn if the element doesn't have an explicit key assigned to it. * This element is in an array. The array could grow and shrink or be * reordered. All children that haven't already been validated are required to * have a "key" property assigned to it. Error statuses are cached so a warning * will only be shown once. * * @internal * @param {ReactElement} element Element that requires a key. * @param {*} parentType element's parent's type. */ function validateExplicitKey(element, parentType) { { if (!element._store || element._store.validated || element.key != null) { return; } element._store.validated = true; var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { return; } ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a // property, it may be the creator of the child that's responsible for // assigning it a key. var childOwner = ''; if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) { // Give the component that originally created this child. childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + "."; } setCurrentlyValidatingElement$1(element); error('Each child in a list should have a unique "key" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner); setCurrentlyValidatingElement$1(null); } } /** * Ensure that every element either is passed in a static location, in an * array with an explicit keys property defined, or in an object literal * with valid key property. * * @internal * @param {ReactNode} node Statically passed child of any type. * @param {*} parentType node's parent's type. */ function validateChildKeys(node, parentType) { { if (typeof node !== 'object') { return; } if (isArray(node)) { for (var i = 0; i < node.length; i++) { var child = node[i]; if (isValidElement(child)) { validateExplicitKey(child, parentType); } } } else if (isValidElement(node)) { // This element was passed in a valid location. if (node._store) { node._store.validated = true; } } else if (node) { var iteratorFn = getIteratorFn(node); if (typeof iteratorFn === 'function') { // Entry iterators used to provide implicit keys, // but now we print a separate warning for them later. if (iteratorFn !== node.entries) { var iterator = iteratorFn.call(node); var step; while (!(step = iterator.next()).done) { if (isValidElement(step.value)) { validateExplicitKey(step.value, parentType); } } } } } } } /** * Given an element, validate that its props follow the propTypes definition, * provided by the type. * * @param {ReactElement} element */ function validatePropTypes(element) { { var type = element.type; if (type === null || type === undefined || typeof type === 'string') { return; } var propTypes; if (typeof type === 'function') { propTypes = type.propTypes; } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here. // Inner props are checked in the reconciler. type.$$typeof === REACT_MEMO_TYPE)) { propTypes = type.propTypes; } else { return; } if (propTypes) { // Intentionally inside to avoid triggering lazy initializers: var name = getComponentNameFromType(type); checkPropTypes(propTypes, element.props, 'prop', name, element); } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) { propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers: var _name = getComponentNameFromType(type); error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown'); } if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) { error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.'); } } } /** * Given a fragment, validate that it can only be provided with fragment props * @param {ReactElement} fragment */ function validateFragmentProps(fragment) { { var keys = Object.keys(fragment.props); for (var i = 0; i < keys.length; i++) { var key = keys[i]; if (key !== 'children' && key !== 'key') { setCurrentlyValidatingElement$1(fragment); error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key); setCurrentlyValidatingElement$1(null); break; } } if (fragment.ref !== null) { setCurrentlyValidatingElement$1(fragment); error('Invalid attribute `ref` supplied to `React.Fragment`.'); setCurrentlyValidatingElement$1(null); } } } function jsxWithValidation(type, props, key, isStaticChildren, source, self) { { var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to // succeed and there will likely be errors in render. if (!validType) { var info = ''; if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports."; } var sourceInfo = getSourceInfoErrorAddendum(source); if (sourceInfo) { info += sourceInfo; } else { info += getDeclarationErrorAddendum(); } var typeString; if (type === null) { typeString = 'null'; } else if (isArray(type)) { typeString = 'array'; } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) { typeString = "<" + (getComponentNameFromType(type.type) || 'Unknown') + " />"; info = ' Did you accidentally export a JSX literal instead of a component?'; } else { typeString = typeof type; } error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info); } var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used. // TODO: Drop this when these are no longer allowed as the type argument. if (element == null) { return element; } // Skip key warning if the type isn't valid since our key validation logic // doesn't expect a non-string/function type and can throw confusing errors. // We don't want exception behavior to differ between dev and prod. // (Rendering will throw with a helpful message and as soon as the type is // fixed, the key warnings will appear.) if (validType) { var children = props.children; if (children !== undefined) { if (isStaticChildren) { if (isArray(children)) { for (var i = 0; i < children.length; i++) { validateChildKeys(children[i], type); } if (Object.freeze) { Object.freeze(children); } } else { error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.'); } } else { validateChildKeys(children, type); } } } if (type === REACT_FRAGMENT_TYPE) { validateFragmentProps(element); } else { validatePropTypes(element); } return element; } } // These two functions exist to still get child warnings in dev // even with the prod transform. This means that jsxDEV is purely // opt-in behavior for better messages but that we won't stop // giving you warnings if you use production apis. function jsxWithValidationStatic(type, props, key) { { return jsxWithValidation(type, props, key, true); } } function jsxWithValidationDynamic(type, props, key) { { return jsxWithValidation(type, props, key, false); } } var jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children. // for now we can ship identical prod functions var jsxs = jsxWithValidationStatic ; exports.Fragment = REACT_FRAGMENT_TYPE; exports.jsx = jsx; exports.jsxs = jsxs; })(); } /***/ }), /***/ "./node_modules/react/jsx-runtime.js": /*!*******************************************!*\ !*** ./node_modules/react/jsx-runtime.js ***! \*******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) {} else { module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ "./node_modules/react/cjs/react-jsx-runtime.development.js"); } /***/ }), /***/ "./node_modules/redux/es/redux.js": /*!****************************************!*\ !*** ./node_modules/redux/es/redux.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __DO_NOT_USE__ActionTypes: () => (/* binding */ ActionTypes), /* harmony export */ applyMiddleware: () => (/* binding */ applyMiddleware), /* harmony export */ bindActionCreators: () => (/* binding */ bindActionCreators), /* harmony export */ combineReducers: () => (/* binding */ combineReducers), /* harmony export */ compose: () => (/* binding */ compose), /* harmony export */ createStore: () => (/* binding */ createStore), /* harmony export */ legacy_createStore: () => (/* binding */ legacy_createStore) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ "./node_modules/@babel/runtime/helpers/esm/objectSpread2.js"); /** * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js * * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes * during build. * @param {number} code */ function formatProdErrorMessage(code) { return "Minified Redux error #" + code + "; visit https://redux.js.org/Errors?code=" + code + " for the full message or " + 'use the non-minified dev environment for full errors. '; } // Inlined version of the `symbol-observable` polyfill var $$observable = (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })(); /** * These are private action types reserved by Redux. * For any unknown actions, you must return the current state. * If the current state is undefined, you must return the initial state. * Do not reference these action types directly in your code. */ var randomString = function randomString() { return Math.random().toString(36).substring(7).split('').join('.'); }; var ActionTypes = { INIT: "@@redux/INIT" + randomString(), REPLACE: "@@redux/REPLACE" + randomString(), PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() { return "@@redux/PROBE_UNKNOWN_ACTION" + randomString(); } }; /** * @param {any} obj The object to inspect. * @returns {boolean} True if the argument appears to be a plain object. */ function isPlainObject(obj) { if (typeof obj !== 'object' || obj === null) return false; var proto = obj; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(obj) === proto; } // Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of function miniKindOf(val) { if (val === void 0) return 'undefined'; if (val === null) return 'null'; var type = typeof val; switch (type) { case 'boolean': case 'string': case 'number': case 'symbol': case 'function': { return type; } } if (Array.isArray(val)) return 'array'; if (isDate(val)) return 'date'; if (isError(val)) return 'error'; var constructorName = ctorName(val); switch (constructorName) { case 'Symbol': case 'Promise': case 'WeakMap': case 'WeakSet': case 'Map': case 'Set': return constructorName; } // other return type.slice(8, -1).toLowerCase().replace(/\s/g, ''); } function ctorName(val) { return typeof val.constructor === 'function' ? val.constructor.name : null; } function isError(val) { return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number'; } function isDate(val) { if (val instanceof Date) return true; return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function'; } function kindOf(val) { var typeOfVal = typeof val; if (true) { typeOfVal = miniKindOf(val); } return typeOfVal; } /** * @deprecated * * **We recommend using the `configureStore` method * of the `@reduxjs/toolkit` package**, which replaces `createStore`. * * Redux Toolkit is our recommended approach for writing Redux logic today, * including store setup, reducers, data fetching, and more. * * **For more details, please read this Redux docs page:** * **https://redux.js.org/introduction/why-rtk-is-redux-today** * * `configureStore` from Redux Toolkit is an improved version of `createStore` that * simplifies setup and helps avoid common bugs. * * You should not be using the `redux` core package by itself today, except for learning purposes. * The `createStore` method from the core `redux` package will not be removed, but we encourage * all users to migrate to using Redux Toolkit for all Redux code. * * If you want to use `createStore` without this visual deprecation warning, use * the `legacy_createStore` import instead: * * `import { legacy_createStore as createStore} from 'redux'` * */ function createStore(reducer, preloadedState, enhancer) { var _ref2; if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') { throw new Error( false ? 0 : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.'); } if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { enhancer = preloadedState; preloadedState = undefined; } if (typeof enhancer !== 'undefined') { if (typeof enhancer !== 'function') { throw new Error( false ? 0 : "Expected the enhancer to be a function. Instead, received: '" + kindOf(enhancer) + "'"); } return enhancer(createStore)(reducer, preloadedState); } if (typeof reducer !== 'function') { throw new Error( false ? 0 : "Expected the root reducer to be a function. Instead, received: '" + kindOf(reducer) + "'"); } var currentReducer = reducer; var currentState = preloadedState; var currentListeners = []; var nextListeners = currentListeners; var isDispatching = false; /** * This makes a shallow copy of currentListeners so we can use * nextListeners as a temporary list while dispatching. * * This prevents any bugs around consumers calling * subscribe/unsubscribe in the middle of a dispatch. */ function ensureCanMutateNextListeners() { if (nextListeners === currentListeners) { nextListeners = currentListeners.slice(); } } /** * Reads the state tree managed by the store. * * @returns {any} The current state tree of your application. */ function getState() { if (isDispatching) { throw new Error( false ? 0 : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.'); } return currentState; } /** * Adds a change listener. It will be called any time an action is dispatched, * and some part of the state tree may potentially have changed. You may then * call `getState()` to read the current state tree inside the callback. * * You may call `dispatch()` from a change listener, with the following * caveats: * * 1. The subscriptions are snapshotted just before every `dispatch()` call. * If you subscribe or unsubscribe while the listeners are being invoked, this * will not have any effect on the `dispatch()` that is currently in progress. * However, the next `dispatch()` call, whether nested or not, will use a more * recent snapshot of the subscription list. * * 2. The listener should not expect to see all state changes, as the state * might have been updated multiple times during a nested `dispatch()` before * the listener is called. It is, however, guaranteed that all subscribers * registered before the `dispatch()` started will be called with the latest * state by the time it exits. * * @param {Function} listener A callback to be invoked on every dispatch. * @returns {Function} A function to remove this change listener. */ function subscribe(listener) { if (typeof listener !== 'function') { throw new Error( false ? 0 : "Expected the listener to be a function. Instead, received: '" + kindOf(listener) + "'"); } if (isDispatching) { throw new Error( false ? 0 : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.'); } var isSubscribed = true; ensureCanMutateNextListeners(); nextListeners.push(listener); return function unsubscribe() { if (!isSubscribed) { return; } if (isDispatching) { throw new Error( false ? 0 : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.'); } isSubscribed = false; ensureCanMutateNextListeners(); var index = nextListeners.indexOf(listener); nextListeners.splice(index, 1); currentListeners = null; }; } /** * Dispatches an action. It is the only way to trigger a state change. * * The `reducer` function, used to create the store, will be called with the * current state tree and the given `action`. Its return value will * be considered the **next** state of the tree, and the change listeners * will be notified. * * The base implementation only supports plain object actions. If you want to * dispatch a Promise, an Observable, a thunk, or something else, you need to * wrap your store creating function into the corresponding middleware. For * example, see the documentation for the `redux-thunk` package. Even the * middleware will eventually dispatch plain object actions using this method. * * @param {Object} action A plain object representing “what changed”. It is * a good idea to keep actions serializable so you can record and replay user * sessions, or use the time travelling `redux-devtools`. An action must have * a `type` property which may not be `undefined`. It is a good idea to use * string constants for action types. * * @returns {Object} For convenience, the same action object you dispatched. * * Note that, if you use a custom middleware, it may wrap `dispatch()` to * return something else (for example, a Promise you can await). */ function dispatch(action) { if (!isPlainObject(action)) { throw new Error( false ? 0 : "Actions must be plain objects. Instead, the actual type was: '" + kindOf(action) + "'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples."); } if (typeof action.type === 'undefined') { throw new Error( false ? 0 : 'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.'); } if (isDispatching) { throw new Error( false ? 0 : 'Reducers may not dispatch actions.'); } try { isDispatching = true; currentState = currentReducer(currentState, action); } finally { isDispatching = false; } var listeners = currentListeners = nextListeners; for (var i = 0; i < listeners.length; i++) { var listener = listeners[i]; listener(); } return action; } /** * Replaces the reducer currently used by the store to calculate the state. * * You might need this if your app implements code splitting and you want to * load some of the reducers dynamically. You might also need this if you * implement a hot reloading mechanism for Redux. * * @param {Function} nextReducer The reducer for the store to use instead. * @returns {void} */ function replaceReducer(nextReducer) { if (typeof nextReducer !== 'function') { throw new Error( false ? 0 : "Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer)); } currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT. // Any reducers that existed in both the new and old rootReducer // will receive the previous state. This effectively populates // the new state tree with any relevant data from the old one. dispatch({ type: ActionTypes.REPLACE }); } /** * Interoperability point for observable/reactive libraries. * @returns {observable} A minimal observable of state changes. * For more information, see the observable proposal: * https://github.com/tc39/proposal-observable */ function observable() { var _ref; var outerSubscribe = subscribe; return _ref = { /** * The minimal observable subscription method. * @param {Object} observer Any object that can be used as an observer. * The observer object should have a `next` method. * @returns {subscription} An object with an `unsubscribe` method that can * be used to unsubscribe the observable from the store, and prevent further * emission of values from the observable. */ subscribe: function subscribe(observer) { if (typeof observer !== 'object' || observer === null) { throw new Error( false ? 0 : "Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'"); } function observeState() { if (observer.next) { observer.next(getState()); } } observeState(); var unsubscribe = outerSubscribe(observeState); return { unsubscribe: unsubscribe }; } }, _ref[$$observable] = function () { return this; }, _ref; } // When a store is created, an "INIT" action is dispatched so that every // reducer returns their initial state. This effectively populates // the initial state tree. dispatch({ type: ActionTypes.INIT }); return _ref2 = { dispatch: dispatch, subscribe: subscribe, getState: getState, replaceReducer: replaceReducer }, _ref2[$$observable] = observable, _ref2; } /** * Creates a Redux store that holds the state tree. * * **We recommend using `configureStore` from the * `@reduxjs/toolkit` package**, which replaces `createStore`: * **https://redux.js.org/introduction/why-rtk-is-redux-today** * * The only way to change the data in the store is to call `dispatch()` on it. * * There should only be a single store in your app. To specify how different * parts of the state tree respond to actions, you may combine several reducers * into a single reducer function by using `combineReducers`. * * @param {Function} reducer A function that returns the next state tree, given * the current state tree and the action to handle. * * @param {any} [preloadedState] The initial state. You may optionally specify it * to hydrate the state from the server in universal apps, or to restore a * previously serialized user session. * If you use `combineReducers` to produce the root reducer function, this must be * an object with the same shape as `combineReducers` keys. * * @param {Function} [enhancer] The store enhancer. You may optionally specify it * to enhance the store with third-party capabilities such as middleware, * time travel, persistence, etc. The only store enhancer that ships with Redux * is `applyMiddleware()`. * * @returns {Store} A Redux store that lets you read the state, dispatch actions * and subscribe to changes. */ var legacy_createStore = createStore; /** * Prints a warning in the console if it exists. * * @param {String} message The warning message. * @returns {void} */ function warning(message) { /* eslint-disable no-console */ if (typeof console !== 'undefined' && typeof console.error === 'function') { console.error(message); } /* eslint-enable no-console */ try { // This error was thrown as a convenience so that if you enable // "break on all exceptions" in your console, // it would pause the execution at this line. throw new Error(message); } catch (e) {} // eslint-disable-line no-empty } function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) { var reducerKeys = Object.keys(reducers); var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer'; if (reducerKeys.length === 0) { return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.'; } if (!isPlainObject(inputState)) { return "The " + argumentName + " has unexpected type of \"" + kindOf(inputState) + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\""); } var unexpectedKeys = Object.keys(inputState).filter(function (key) { return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]; }); unexpectedKeys.forEach(function (key) { unexpectedKeyCache[key] = true; }); if (action && action.type === ActionTypes.REPLACE) return; if (unexpectedKeys.length > 0) { return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored."); } } function assertReducerShape(reducers) { Object.keys(reducers).forEach(function (key) { var reducer = reducers[key]; var initialState = reducer(undefined, { type: ActionTypes.INIT }); if (typeof initialState === 'undefined') { throw new Error( false ? 0 : "The slice reducer for key \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined."); } if (typeof reducer(undefined, { type: ActionTypes.PROBE_UNKNOWN_ACTION() }) === 'undefined') { throw new Error( false ? 0 : "The slice reducer for key \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle '" + ActionTypes.INIT + "' or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null."); } }); } /** * Turns an object whose values are different reducer functions, into a single * reducer function. It will call every child reducer, and gather their results * into a single state object, whose keys correspond to the keys of the passed * reducer functions. * * @param {Object} reducers An object whose values correspond to different * reducer functions that need to be combined into one. One handy way to obtain * it is to use ES6 `import * as reducers` syntax. The reducers may never return * undefined for any action. Instead, they should return their initial state * if the state passed to them was undefined, and the current state for any * unrecognized action. * * @returns {Function} A reducer function that invokes every reducer inside the * passed object, and builds a state object with the same shape. */ function combineReducers(reducers) { var reducerKeys = Object.keys(reducers); var finalReducers = {}; for (var i = 0; i < reducerKeys.length; i++) { var key = reducerKeys[i]; if (true) { if (typeof reducers[key] === 'undefined') { warning("No reducer provided for key \"" + key + "\""); } } if (typeof reducers[key] === 'function') { finalReducers[key] = reducers[key]; } } var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same // keys multiple times. var unexpectedKeyCache; if (true) { unexpectedKeyCache = {}; } var shapeAssertionError; try { assertReducerShape(finalReducers); } catch (e) { shapeAssertionError = e; } return function combination(state, action) { if (state === void 0) { state = {}; } if (shapeAssertionError) { throw shapeAssertionError; } if (true) { var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache); if (warningMessage) { warning(warningMessage); } } var hasChanged = false; var nextState = {}; for (var _i = 0; _i < finalReducerKeys.length; _i++) { var _key = finalReducerKeys[_i]; var reducer = finalReducers[_key]; var previousStateForKey = state[_key]; var nextStateForKey = reducer(previousStateForKey, action); if (typeof nextStateForKey === 'undefined') { var actionType = action && action.type; throw new Error( false ? 0 : "When called with an action of type " + (actionType ? "\"" + String(actionType) + "\"" : '(unknown type)') + ", the slice reducer for key \"" + _key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined."); } nextState[_key] = nextStateForKey; hasChanged = hasChanged || nextStateForKey !== previousStateForKey; } hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length; return hasChanged ? nextState : state; }; } function bindActionCreator(actionCreator, dispatch) { return function () { return dispatch(actionCreator.apply(this, arguments)); }; } /** * Turns an object whose values are action creators, into an object with the * same keys, but with every function wrapped into a `dispatch` call so they * may be invoked directly. This is just a convenience method, as you can call * `store.dispatch(MyActionCreators.doSomething())` yourself just fine. * * For convenience, you can also pass an action creator as the first argument, * and get a dispatch wrapped function in return. * * @param {Function|Object} actionCreators An object whose values are action * creator functions. One handy way to obtain it is to use ES6 `import * as` * syntax. You may also pass a single function. * * @param {Function} dispatch The `dispatch` function available on your Redux * store. * * @returns {Function|Object} The object mimicking the original object, but with * every action creator wrapped into the `dispatch` call. If you passed a * function as `actionCreators`, the return value will also be a single * function. */ function bindActionCreators(actionCreators, dispatch) { if (typeof actionCreators === 'function') { return bindActionCreator(actionCreators, dispatch); } if (typeof actionCreators !== 'object' || actionCreators === null) { throw new Error( false ? 0 : "bindActionCreators expected an object or a function, but instead received: '" + kindOf(actionCreators) + "'. " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?"); } var boundActionCreators = {}; for (var key in actionCreators) { var actionCreator = actionCreators[key]; if (typeof actionCreator === 'function') { boundActionCreators[key] = bindActionCreator(actionCreator, dispatch); } } return boundActionCreators; } /** * Composes single-argument functions from right to left. The rightmost * function can take multiple arguments as it provides the signature for * the resulting composite function. * * @param {...Function} funcs The functions to compose. * @returns {Function} A function obtained by composing the argument functions * from right to left. For example, compose(f, g, h) is identical to doing * (...args) => f(g(h(...args))). */ function compose() { for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } if (funcs.length === 0) { return function (arg) { return arg; }; } if (funcs.length === 1) { return funcs[0]; } return funcs.reduce(function (a, b) { return function () { return a(b.apply(void 0, arguments)); }; }); } /** * Creates a store enhancer that applies middleware to the dispatch method * of the Redux store. This is handy for a variety of tasks, such as expressing * asynchronous actions in a concise manner, or logging every action payload. * * See `redux-thunk` package as an example of the Redux middleware. * * Because middleware is potentially asynchronous, this should be the first * store enhancer in the composition chain. * * Note that each middleware will be given the `dispatch` and `getState` functions * as named arguments. * * @param {...Function} middlewares The middleware chain to be applied. * @returns {Function} A store enhancer applying the middleware. */ function applyMiddleware() { for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) { middlewares[_key] = arguments[_key]; } return function (createStore) { return function () { var store = createStore.apply(void 0, arguments); var _dispatch = function dispatch() { throw new Error( false ? 0 : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.'); }; var middlewareAPI = { getState: store.getState, dispatch: function dispatch() { return _dispatch.apply(void 0, arguments); } }; var chain = middlewares.map(function (middleware) { return middleware(middlewareAPI); }); _dispatch = compose.apply(void 0, chain)(store.dispatch); return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])({}, store), {}, { dispatch: _dispatch }); }; }; } /***/ }), /***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js": /*!**********************************************************************************************!*\ !*** ./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js ***! \**********************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /** * @license React * use-sync-external-store-shim.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ if ( typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === 'function' ) { __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); } var React = __webpack_require__(/*! react */ "react"); var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; function error(format) { { { for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } printWarning('error', format, args); } } } function printWarning(level, format, args) { // When changing this logic, you might want to also // update consoleWithStackDev.www.js as well. { var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; var stack = ReactDebugCurrentFrame.getStackAddendum(); if (stack !== '') { format += '%s'; args = args.concat([stack]); } // eslint-disable-next-line react-internal/safe-string-coercion var argsWithFormat = args.map(function (item) { return String(item); }); // Careful: RN currently depends on this prefix argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it // breaks IE9: https://github.com/facebook/react/issues/13610 // eslint-disable-next-line react-internal/no-production-logging Function.prototype.apply.call(console[level], console, argsWithFormat); } } /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ function is(x, y) { return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare ; } var objectIs = typeof Object.is === 'function' ? Object.is : is; // dispatch for CommonJS interop named imports. var useState = React.useState, useEffect = React.useEffect, useLayoutEffect = React.useLayoutEffect, useDebugValue = React.useDebugValue; var didWarnOld18Alpha = false; var didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works // because of a very particular set of implementation details and assumptions // -- change any one of them and it will break. The most important assumption // is that updates are always synchronous, because concurrent rendering is // only available in versions of React that also have a built-in // useSyncExternalStore API. And we only use this shim when the built-in API // does not exist. // // Do not assume that the clever hacks used by this hook also work in general. // The point of this shim is to replace the need for hacks by other libraries. function useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of // React do not expose a way to check if we're hydrating. So users of the shim // will need to track that themselves and return the correct value // from `getSnapshot`. getServerSnapshot) { { if (!didWarnOld18Alpha) { if (React.startTransition !== undefined) { didWarnOld18Alpha = true; error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.'); } } } // Read the current snapshot from the store on every render. Again, this // breaks the rules of React, and only works here because of specific // implementation details, most importantly that updates are // always synchronous. var value = getSnapshot(); { if (!didWarnUncachedGetSnapshot) { var cachedValue = getSnapshot(); if (!objectIs(value, cachedValue)) { error('The result of getSnapshot should be cached to avoid an infinite loop'); didWarnUncachedGetSnapshot = true; } } } // Because updates are synchronous, we don't queue them. Instead we force a // re-render whenever the subscribed state changes by updating an some // arbitrary useState hook. Then, during render, we call getSnapshot to read // the current value. // // Because we don't actually use the state returned by the useState hook, we // can save a bit of memory by storing other stuff in that slot. // // To implement the early bailout, we need to track some things on a mutable // object. Usually, we would put that in a useRef hook, but we can stash it in // our useState hook instead. // // To force a re-render, we call forceUpdate({inst}). That works because the // new object always fails an equality check. var _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }), inst = _useState[0].inst, forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated // in the layout phase so we can access it during the tearing check that // happens on subscribe. useLayoutEffect(function () { inst.value = value; inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the // commit phase if there was an interleaved mutation. In concurrent mode // this can happen all the time, but even in synchronous mode, an earlier // effect may have mutated the store. if (checkIfSnapshotChanged(inst)) { // Force a re-render. forceUpdate({ inst: inst }); } }, [subscribe, value, getSnapshot]); useEffect(function () { // Check for changes right before subscribing. Subsequent changes will be // detected in the subscription handler. if (checkIfSnapshotChanged(inst)) { // Force a re-render. forceUpdate({ inst: inst }); } var handleStoreChange = function () { // TODO: Because there is no cross-renderer API for batching updates, it's // up to the consumer of this library to wrap their subscription event // with unstable_batchedUpdates. Should we try to detect when this isn't // the case and print a warning in development? // The store changed. Check if the snapshot changed since the last time we // read from the store. if (checkIfSnapshotChanged(inst)) { // Force a re-render. forceUpdate({ inst: inst }); } }; // Subscribe to the store and return a clean-up function. return subscribe(handleStoreChange); }, [subscribe]); useDebugValue(value); return value; } function checkIfSnapshotChanged(inst) { var latestGetSnapshot = inst.getSnapshot; var prevValue = inst.value; try { var nextValue = latestGetSnapshot(); return !objectIs(prevValue, nextValue); } catch (error) { return true; } } function useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) { // Note: The shim does not use getServerSnapshot, because pre-18 versions of // React do not expose a way to check if we're hydrating. So users of the shim // will need to track that themselves and return the correct value // from `getSnapshot`. return getSnapshot(); } var canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined'); var isServerEnvironment = !canUseDOM; var shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore; var useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim; exports.useSyncExternalStore = useSyncExternalStore$2; /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ if ( typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === 'function' ) { __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); } })(); } /***/ }), /***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js": /*!************************************************************************************************************!*\ !*** ./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js ***! \************************************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /** * @license React * use-sync-external-store-shim/with-selector.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ if ( typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === 'function' ) { __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); } var React = __webpack_require__(/*! react */ "react"); var shim = __webpack_require__(/*! use-sync-external-store/shim */ "./node_modules/use-sync-external-store/shim/index.js"); /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ function is(x, y) { return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare ; } var objectIs = typeof Object.is === 'function' ? Object.is : is; var useSyncExternalStore = shim.useSyncExternalStore; // for CommonJS interop. var useRef = React.useRef, useEffect = React.useEffect, useMemo = React.useMemo, useDebugValue = React.useDebugValue; // Same as useSyncExternalStore, but supports selector and isEqual arguments. function useSyncExternalStoreWithSelector(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) { // Use this to track the rendered snapshot. var instRef = useRef(null); var inst; if (instRef.current === null) { inst = { hasValue: false, value: null }; instRef.current = inst; } else { inst = instRef.current; } var _useMemo = useMemo(function () { // Track the memoized state using closure variables that are local to this // memoized instance of a getSnapshot function. Intentionally not using a // useRef hook, because that state would be shared across all concurrent // copies of the hook/component. var hasMemo = false; var memoizedSnapshot; var memoizedSelection; var memoizedSelector = function (nextSnapshot) { if (!hasMemo) { // The first time the hook is called, there is no memoized result. hasMemo = true; memoizedSnapshot = nextSnapshot; var _nextSelection = selector(nextSnapshot); if (isEqual !== undefined) { // Even if the selector has changed, the currently rendered selection // may be equal to the new selection. We should attempt to reuse the // current value if possible, to preserve downstream memoizations. if (inst.hasValue) { var currentSelection = inst.value; if (isEqual(currentSelection, _nextSelection)) { memoizedSelection = currentSelection; return currentSelection; } } } memoizedSelection = _nextSelection; return _nextSelection; } // We may be able to reuse the previous invocation's result. // We may be able to reuse the previous invocation's result. var prevSnapshot = memoizedSnapshot; var prevSelection = memoizedSelection; if (objectIs(prevSnapshot, nextSnapshot)) { // The snapshot is the same as last time. Reuse the previous selection. return prevSelection; } // The snapshot has changed, so we need to compute a new selection. // The snapshot has changed, so we need to compute a new selection. var nextSelection = selector(nextSnapshot); // If a custom isEqual function is provided, use that to check if the data // has changed. If it hasn't, return the previous selection. That signals // to React that the selections are conceptually equal, and we can bail // out of rendering. // If a custom isEqual function is provided, use that to check if the data // has changed. If it hasn't, return the previous selection. That signals // to React that the selections are conceptually equal, and we can bail // out of rendering. if (isEqual !== undefined && isEqual(prevSelection, nextSelection)) { return prevSelection; } memoizedSnapshot = nextSnapshot; memoizedSelection = nextSelection; return nextSelection; }; // Assigning this to a constant so that Flow knows it can't change. // Assigning this to a constant so that Flow knows it can't change. var maybeGetServerSnapshot = getServerSnapshot === undefined ? null : getServerSnapshot; var getSnapshotWithSelector = function () { return memoizedSelector(getSnapshot()); }; var getServerSnapshotWithSelector = maybeGetServerSnapshot === null ? undefined : function () { return memoizedSelector(maybeGetServerSnapshot()); }; return [getSnapshotWithSelector, getServerSnapshotWithSelector]; }, [getSnapshot, getServerSnapshot, selector, isEqual]), getSelection = _useMemo[0], getServerSelection = _useMemo[1]; var value = useSyncExternalStore(subscribe, getSelection, getServerSelection); useEffect(function () { inst.hasValue = true; inst.value = value; }, [value]); useDebugValue(value); return value; } exports.useSyncExternalStoreWithSelector = useSyncExternalStoreWithSelector; /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ if ( typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === 'function' ) { __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); } })(); } /***/ }), /***/ "./node_modules/use-sync-external-store/shim/index.js": /*!************************************************************!*\ !*** ./node_modules/use-sync-external-store/shim/index.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) {} else { module.exports = __webpack_require__(/*! ../cjs/use-sync-external-store-shim.development.js */ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"); } /***/ }), /***/ "./node_modules/use-sync-external-store/shim/with-selector.js": /*!********************************************************************!*\ !*** ./node_modules/use-sync-external-store/shim/with-selector.js ***! \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) {} else { module.exports = __webpack_require__(/*! ../cjs/use-sync-external-store-shim/with-selector.development.js */ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"); } /***/ }), /***/ "react": /*!************************!*\ !*** external "React" ***! \************************/ /***/ ((module) => { "use strict"; module.exports = window["React"]; /***/ }), /***/ "react-dom": /*!***************************!*\ !*** external "ReactDOM" ***! \***************************/ /***/ ((module) => { "use strict"; module.exports = window["ReactDOM"]; /***/ }), /***/ "@wordpress/components": /*!************************************!*\ !*** external ["wp","components"] ***! \************************************/ /***/ ((module) => { "use strict"; module.exports = window["wp"]["components"]; /***/ }), /***/ "@wordpress/element": /*!*********************************!*\ !*** external ["wp","element"] ***! \*********************************/ /***/ ((module) => { "use strict"; module.exports = window["wp"]["element"]; /***/ }), /***/ "@wordpress/i18n": /*!******************************!*\ !*** external ["wp","i18n"] ***! \******************************/ /***/ ((module) => { "use strict"; module.exports = window["wp"]["i18n"]; /***/ }), /***/ "@wordpress/primitives": /*!************************************!*\ !*** external ["wp","primitives"] ***! \************************************/ /***/ ((module) => { "use strict"; module.exports = window["wp"]["primitives"]; /***/ }), /***/ "@wordpress/url": /*!*****************************!*\ !*** external ["wp","url"] ***! \*****************************/ /***/ ((module) => { "use strict"; module.exports = window["wp"]["url"]; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js": /*!**************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***! \**************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _assertThisInitialized) /* harmony export */ }); function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! \*******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _defineProperty) /* harmony export */ }); /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); function _defineProperty(obj, key, value) { key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/extends.js": /*!************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***! \************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _extends) /* harmony export */ }); function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); } /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js": /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js ***! \******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _inheritsLoose) /* harmony export */ }); /* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(subClass, superClass); } /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/objectSpread2.js": /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js ***! \******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _objectSpread2) /* harmony export */ }); /* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defineProperty.js */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js": /*!*********************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js ***! \*********************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _objectWithoutPropertiesLoose) /* harmony export */ }); function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! \*******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _setPrototypeOf) /* harmony export */ }); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! \****************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toPrimitive) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); function toPrimitive(t, r) { if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! \******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toPropertyKey) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); /* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); function toPropertyKey(t) { var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : String(i); } /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": /*!***********************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! \***********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _typeof) /* harmony export */ }); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } /***/ }), /***/ "./node_modules/axios/lib/adapters/adapters.js": /*!*****************************************************!*\ !*** ./node_modules/axios/lib/adapters/adapters.js ***! \*****************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _http_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./http.js */ "./node_modules/axios/lib/helpers/null.js"); /* harmony import */ var _xhr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./xhr.js */ "./node_modules/axios/lib/adapters/xhr.js"); /* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); const knownAdapters = { http: _http_js__WEBPACK_IMPORTED_MODULE_0__["default"], xhr: _xhr_js__WEBPACK_IMPORTED_MODULE_1__["default"] } _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, 'name', {value}); } catch (e) { // eslint-disable-next-line no-empty } Object.defineProperty(fn, 'adapterName', {value}); } }); const renderReason = (reason) => `- ${reason}`; const isResolvedHandle = (adapter) => _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isFunction(adapter) || adapter === null || adapter === false; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ getAdapter: (adapters) => { adapters = _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isArray(adapters) ? adapters : [adapters]; const {length} = adapters; let nameOrAdapter; let adapter; const rejectedReasons = {}; for (let i = 0; i < length; i++) { nameOrAdapter = adapters[i]; let id; adapter = nameOrAdapter; if (!isResolvedHandle(nameOrAdapter)) { adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; if (adapter === undefined) { throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"](`Unknown adapter '${id}'`); } } if (adapter) { break; } rejectedReasons[id || '#' + i] = adapter; } if (!adapter) { const reasons = Object.entries(rejectedReasons) .map(([id, state]) => `adapter ${id} ` + (state === false ? 'is not supported by the environment' : 'is not available in the build') ); let s = length ? (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : 'as no adapter specified'; throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]( `There is no suitable adapter to dispatch the request ` + s, 'ERR_NOT_SUPPORT' ); } return adapter; }, adapters: knownAdapters }); /***/ }), /***/ "./node_modules/axios/lib/adapters/xhr.js": /*!************************************************!*\ !*** ./node_modules/axios/lib/adapters/xhr.js ***! \************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); /* harmony import */ var _helpers_cookies_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./../helpers/cookies.js */ "./node_modules/axios/lib/helpers/cookies.js"); /* harmony import */ var _helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../helpers/buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); /* harmony import */ var _core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); /* harmony import */ var _helpers_isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./../helpers/isURLSameOrigin.js */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); /* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../defaults/transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); /* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); /* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); /* harmony import */ var _helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../helpers/parseProtocol.js */ "./node_modules/axios/lib/helpers/parseProtocol.js"); /* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); /* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); /* harmony import */ var _helpers_speedometer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/speedometer.js */ "./node_modules/axios/lib/helpers/speedometer.js"); function progressEventReducer(listener, isDownloadStream) { let bytesNotified = 0; const _speedometer = (0,_helpers_speedometer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(50, 250); return e => { const loaded = e.loaded; const total = e.lengthComputable ? e.total : undefined; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; bytesNotified = loaded; const data = { loaded, total, progress: total ? (loaded / total) : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e }; data[isDownloadStream ? 'download' : 'upload'] = true; listener(data); }; } const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isXHRAdapterSupported && function (config) { return new Promise(function dispatchXhrRequest(resolve, reject) { let requestData = config.data; const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(config.headers).normalize(); let {responseType, withXSRFToken} = config; let onCanceled; function done() { if (config.cancelToken) { config.cancelToken.unsubscribe(onCanceled); } if (config.signal) { config.signal.removeEventListener('abort', onCanceled); } } let contentType; if (_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isFormData(requestData)) { if (_platform_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].hasStandardBrowserEnv || _platform_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].hasStandardBrowserWebWorkerEnv) { requestHeaders.setContentType(false); // Let the browser set it } else if ((contentType = requestHeaders.getContentType()) !== false) { // fix semicolon duplication issue for ReactNative FormData implementation const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); } } let request = new XMLHttpRequest(); // HTTP basic authentication if (config.auth) { const username = config.auth.username || ''; const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password)); } const fullPath = (0,_core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_4__["default"])(config.baseURL, config.url); request.open(config.method.toUpperCase(), (0,_helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_5__["default"])(fullPath, config.params, config.paramsSerializer), true); // Set the request timeout in MS request.timeout = config.timeout; function onloadend() { if (!request) { return; } // Prepare the response const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from( 'getAllResponseHeaders' in request && request.getAllResponseHeaders() ); const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; const response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders, config, request }; (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_6__["default"])(function _resolve(value) { resolve(value); done(); }, function _reject(err) { reject(err); done(); }, response); // Clean up request request = null; } if ('onloadend' in request) { // Use onloadend if available request.onloadend = onloadend; } else { // Listen for ready state to emulate onloadend request.onreadystatechange = function handleLoad() { if (!request || request.readyState !== 4) { return; } // The request errored out and we didn't get a response, this will be // handled by onerror instead // With one exception: request that using file: protocol, most browsers // will return status as 0 even though it's a successful request if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { return; } // readystate handler is calling before onerror or ontimeout handlers, // so we should call onloadend on the next 'tick' setTimeout(onloadend); }; } // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { if (!request) { return; } reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"]('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"].ECONNABORTED, config, request)); // Clean up request request = null; }; // Handle low level network errors request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"].ERR_NETWORK, config, request)); // Clean up request request = null; }; // Handle timeout request.ontimeout = function handleTimeout() { let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; const transitional = config.transitional || _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_8__["default"]; if (config.timeoutErrorMessage) { timeoutErrorMessage = config.timeoutErrorMessage; } reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"]( timeoutErrorMessage, transitional.clarifyTimeoutError ? _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"].ETIMEDOUT : _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"].ECONNABORTED, config, request)); // Clean up request request = null; }; // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. if(_platform_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].hasStandardBrowserEnv) { withXSRFToken && _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config)); if (withXSRFToken || (withXSRFToken !== false && (0,_helpers_isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_9__["default"])(fullPath))) { // Add xsrf header const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && _helpers_cookies_js__WEBPACK_IMPORTED_MODULE_10__["default"].read(config.xsrfCookieName); if (xsrfValue) { requestHeaders.set(config.xsrfHeaderName, xsrfValue); } } } // Remove Content-Type if data is undefined requestData === undefined && requestHeaders.setContentType(null); // Add headers to the request if ('setRequestHeader' in request) { _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { request.setRequestHeader(key, val); }); } // Add withCredentials to request if needed if (!_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isUndefined(config.withCredentials)) { request.withCredentials = !!config.withCredentials; } // Add responseType to request if needed if (responseType && responseType !== 'json') { request.responseType = config.responseType; } // Handle progress if needed if (typeof config.onDownloadProgress === 'function') { request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true)); } // Not all browsers support upload events if (typeof config.onUploadProgress === 'function' && request.upload) { request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress)); } if (config.cancelToken || config.signal) { // Handle cancellation // eslint-disable-next-line func-names onCanceled = cancel => { if (!request) { return; } reject(!cancel || cancel.type ? new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_11__["default"](null, config, request) : cancel); request.abort(); request = null; }; config.cancelToken && config.cancelToken.subscribe(onCanceled); if (config.signal) { config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled); } } const protocol = (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_12__["default"])(fullPath); if (protocol && _platform_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].protocols.indexOf(protocol) === -1) { reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"]('Unsupported protocol ' + protocol + ':', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"].ERR_BAD_REQUEST, config)); return; } // Send the request request.send(requestData || null); }); }); /***/ }), /***/ "./node_modules/axios/lib/axios.js": /*!*****************************************!*\ !*** ./node_modules/axios/lib/axios.js ***! \*****************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); /* harmony import */ var _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/Axios.js */ "./node_modules/axios/lib/core/Axios.js"); /* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); /* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); /* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); /* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); /* harmony import */ var _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cancel/CancelToken.js */ "./node_modules/axios/lib/cancel/CancelToken.js"); /* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); /* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./env/data.js */ "./node_modules/axios/lib/env/data.js"); /* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); /* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); /* harmony import */ var _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helpers/spread.js */ "./node_modules/axios/lib/helpers/spread.js"); /* harmony import */ var _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./helpers/isAxiosError.js */ "./node_modules/axios/lib/helpers/isAxiosError.js"); /* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); /* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); /* harmony import */ var _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./helpers/HttpStatusCode.js */ "./node_modules/axios/lib/helpers/HttpStatusCode.js"); /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance * * @returns {Axios} A new instance of Axios */ function createInstance(defaultConfig) { const context = new _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"](defaultConfig); const instance = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.request, context); // Copy axios.prototype to instance _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype, context, {allOwnKeys: true}); // Copy context to instance _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, context, null, {allOwnKeys: true}); // Factory for creating new instances instance.create = function create(instanceConfig) { return createInstance((0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(defaultConfig, instanceConfig)); }; return instance; } // Create the default instance to be exported const axios = createInstance(_defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"]); // Expose Axios class to allow class inheritance axios.Axios = _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"]; // Expose Cancel & CancelToken axios.CanceledError = _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__["default"]; axios.CancelToken = _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__["default"]; axios.isCancel = _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__["default"]; axios.VERSION = _env_data_js__WEBPACK_IMPORTED_MODULE_8__.VERSION; axios.toFormData = _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__["default"]; // Expose AxiosError class axios.AxiosError = _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__["default"]; // alias for CanceledError for backward compatibility axios.Cancel = axios.CanceledError; // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; axios.spread = _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__["default"]; // Expose isAxiosError axios.isAxiosError = _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__["default"]; // Expose mergeConfig axios.mergeConfig = _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"]; axios.AxiosHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__["default"]; axios.formToJSON = thing => (0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__["default"])(_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isHTMLForm(thing) ? new FormData(thing) : thing); axios.getAdapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__["default"].getAdapter; axios.HttpStatusCode = _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__["default"]; axios.default = axios; // this module should only have a default export /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (axios); /***/ }), /***/ "./node_modules/axios/lib/cancel/CancelToken.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! \******************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * * @param {Function} executor The executor function. * * @returns {CancelToken} */ class CancelToken { constructor(executor) { if (typeof executor !== 'function') { throw new TypeError('executor must be a function.'); } let resolvePromise; this.promise = new Promise(function promiseExecutor(resolve) { resolvePromise = resolve; }); const token = this; // eslint-disable-next-line func-names this.promise.then(cancel => { if (!token._listeners) return; let i = token._listeners.length; while (i-- > 0) { token._listeners[i](cancel); } token._listeners = null; }); // eslint-disable-next-line func-names this.promise.then = onfulfilled => { let _resolve; // eslint-disable-next-line func-names const promise = new Promise(resolve => { token.subscribe(resolve); _resolve = resolve; }).then(onfulfilled); promise.cancel = function reject() { token.unsubscribe(_resolve); }; return promise; }; executor(function cancel(message, config, request) { if (token.reason) { // Cancellation has already been requested return; } token.reason = new _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](message, config, request); resolvePromise(token.reason); }); } /** * Throws a `CanceledError` if cancellation has been requested. */ throwIfRequested() { if (this.reason) { throw this.reason; } } /** * Subscribe to the cancel signal */ subscribe(listener) { if (this.reason) { listener(this.reason); return; } if (this._listeners) { this._listeners.push(listener); } else { this._listeners = [listener]; } } /** * Unsubscribe from the cancel signal */ unsubscribe(listener) { if (!this._listeners) { return; } const index = this._listeners.indexOf(listener); if (index !== -1) { this._listeners.splice(index, 1); } } /** * Returns an object that contains a new `CancelToken` and a function that, when called, * cancels the `CancelToken`. */ static source() { let cancel; const token = new CancelToken(function executor(c) { cancel = c; }); return { token, cancel }; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CancelToken); /***/ }), /***/ "./node_modules/axios/lib/cancel/CanceledError.js": /*!********************************************************!*\ !*** ./node_modules/axios/lib/cancel/CanceledError.js ***! \********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /** * A `CanceledError` is an object that is thrown when an operation is canceled. * * @param {string=} message The message. * @param {Object=} config The config. * @param {Object=} request The request. * * @returns {CanceledError} The created error. */ function CanceledError(message, config, request) { // eslint-disable-next-line no-eq-null,eqeqeq _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(this, message == null ? 'canceled' : message, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_CANCELED, config, request); this.name = 'CanceledError'; } _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].inherits(CanceledError, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"], { __CANCEL__: true }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CanceledError); /***/ }), /***/ "./node_modules/axios/lib/cancel/isCancel.js": /*!***************************************************!*\ !*** ./node_modules/axios/lib/cancel/isCancel.js ***! \***************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ isCancel) /* harmony export */ }); function isCancel(value) { return !!(value && value.__CANCEL__); } /***/ }), /***/ "./node_modules/axios/lib/core/Axios.js": /*!**********************************************!*\ !*** ./node_modules/axios/lib/core/Axios.js ***! \**********************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); /* harmony import */ var _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InterceptorManager.js */ "./node_modules/axios/lib/core/InterceptorManager.js"); /* harmony import */ var _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dispatchRequest.js */ "./node_modules/axios/lib/core/dispatchRequest.js"); /* harmony import */ var _mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); /* harmony import */ var _buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); /* harmony import */ var _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/validator.js */ "./node_modules/axios/lib/helpers/validator.js"); /* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); const validators = _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].validators; /** * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance * * @return {Axios} A new instance of Axios */ class Axios { constructor(instanceConfig) { this.defaults = instanceConfig; this.interceptors = { request: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"](), response: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"]() }; } /** * Dispatch a request * * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) * @param {?Object} config * * @returns {Promise} The Promise to be fulfilled */ async request(configOrUrl, config) { try { return await this._request(configOrUrl, config); } catch (err) { if (err instanceof Error) { let dummy; Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); // slice off the Error: ... line const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; if (!err.stack) { err.stack = stack; // match without the 2 top stack lines } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { err.stack += '\n' + stack } } throw err; } } _request(configOrUrl, config) { /*eslint no-param-reassign:0*/ // Allow for axios('example/url'[, config]) a la fetch API if (typeof configOrUrl === 'string') { config = config || {}; config.url = configOrUrl; } else { config = configOrUrl || {}; } config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); const {transitional, paramsSerializer, headers} = config; if (transitional !== undefined) { _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(transitional, { silentJSONParsing: validators.transitional(validators.boolean), forcedJSONParsing: validators.transitional(validators.boolean), clarifyTimeoutError: validators.transitional(validators.boolean) }, false); } if (paramsSerializer != null) { if (_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isFunction(paramsSerializer)) { config.paramsSerializer = { serialize: paramsSerializer } } else { _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(paramsSerializer, { encode: validators.function, serialize: validators.function }, true); } } // Set config.method config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers let contextHeaders = headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].merge( headers.common, headers[config.method] ); headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach( ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { delete headers[method]; } ); config.headers = _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].concat(contextHeaders, headers); // filter out skipped interceptors const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); }); const responseInterceptorChain = []; this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; let i = 0; let len; if (!synchronousRequestInterceptors) { const chain = [_dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(this), undefined]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; promise = Promise.resolve(config); while (i < len) { promise = promise.then(chain[i++], chain[i++]); } return promise; } len = requestInterceptorChain.length; let newConfig = config; i = 0; while (i < len) { const onFulfilled = requestInterceptorChain[i++]; const onRejected = requestInterceptorChain[i++]; try { newConfig = onFulfilled(newConfig); } catch (error) { onRejected.call(this, error); break; } } try { promise = _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].call(this, newConfig); } catch (error) { return Promise.reject(error); } i = 0; len = responseInterceptorChain.length; while (i < len) { promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); } return promise; } getUri(config) { config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); const fullPath = (0,_buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__["default"])(config.baseURL, config.url); return (0,_helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__["default"])(fullPath, config.params, config.paramsSerializer); } } // Provide aliases for supported request methods _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ Axios.prototype[method] = function(url, config) { return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { method, url, data: (config || {}).data })); }; }); _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { /*eslint func-names:0*/ function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { method, headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {}, url, data })); }; } Axios.prototype[method] = generateHTTPMethod(); Axios.prototype[method + 'Form'] = generateHTTPMethod(true); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Axios); /***/ }), /***/ "./node_modules/axios/lib/core/AxiosError.js": /*!***************************************************!*\ !*** ./node_modules/axios/lib/core/AxiosError.js ***! \***************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /** * Create an Error with the specified message, config, error code, request and response. * * @param {string} message The error message. * @param {string} [code] The error code (for example, 'ECONNABORTED'). * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. * * @returns {Error} The created error. */ function AxiosError(message, code, config, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = (new Error()).stack; } this.message = message; this.name = 'AxiosError'; code && (this.code = code); config && (this.config = config); request && (this.request = request); response && (this.response = response); } _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].inherits(AxiosError, Error, { toJSON: function toJSON() { return { // Standard message: this.message, name: this.name, // Microsoft description: this.description, number: this.number, // Mozilla fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, // Axios config: _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toJSONObject(this.config), code: this.code, status: this.response && this.response.status ? this.response.status : null }; } }); const prototype = AxiosError.prototype; const descriptors = {}; [ 'ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names ].forEach(code => { descriptors[code] = {value: code}; }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype, 'isAxiosError', {value: true}); // eslint-disable-next-line func-names AxiosError.from = (error, code, config, request, response, customProps) => { const axiosError = Object.create(prototype); _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; }, prop => { return prop !== 'isAxiosError'; }); AxiosError.call(axiosError, error.message, code, config, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); return axiosError; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosError); /***/ }), /***/ "./node_modules/axios/lib/core/AxiosHeaders.js": /*!*****************************************************!*\ !*** ./node_modules/axios/lib/core/AxiosHeaders.js ***! \*****************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/parseHeaders.js */ "./node_modules/axios/lib/helpers/parseHeaders.js"); const $internals = Symbol('internals'); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } function normalizeValue(value) { if (value === false || value == null) { return value; } return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.map(normalizeValue) : String(value); } function parseTokens(str) { const tokens = Object.create(null); const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; let match; while ((match = tokensRE.exec(str))) { tokens[match[1]] = match[2]; } return tokens; } const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(filter)) { return filter.call(this, value, header); } if (isHeaderNameFilter) { value = header; } if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(value)) return; if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(filter)) { return value.indexOf(filter) !== -1; } if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(filter)) { return filter.test(value); } } function formatHeader(header) { return header.trim() .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { return char.toUpperCase() + str; }); } function buildAccessors(obj, header) { const accessorName = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toCamelCase(' ' + header); ['get', 'set', 'has'].forEach(methodName => { Object.defineProperty(obj, methodName + accessorName, { value: function(arg1, arg2, arg3) { return this[methodName].call(this, header, arg1, arg2, arg3); }, configurable: true }); }); } class AxiosHeaders { constructor(headers) { headers && this.set(headers); } set(header, valueOrRewrite, rewrite) { const self = this; function setHeader(_value, _header, _rewrite) { const lHeader = normalizeHeader(_header); if (!lHeader) { throw new Error('header name must be a non-empty string'); } const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, lHeader); if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { self[key || _header] = normalizeValue(_value); } } const setHeaders = (headers, _rewrite) => _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(header) || header instanceof this.constructor) { setHeaders(header, valueOrRewrite) } else if(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders((0,_helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"])(header), valueOrRewrite); } else { header != null && setHeader(valueOrRewrite, header, rewrite); } return this; } get(header, parser) { header = normalizeHeader(header); if (header) { const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); if (key) { const value = this[key]; if (!parser) { return value; } if (parser === true) { return parseTokens(value); } if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(parser)) { return parser.call(this, value, key); } if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(parser)) { return parser.exec(value); } throw new TypeError('parser must be boolean|regexp|function'); } } } has(header, matcher) { header = normalizeHeader(header); if (header) { const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); } return false; } delete(header, matcher) { const self = this; let deleted = false; function deleteHeader(_header) { _header = normalizeHeader(_header); if (_header) { const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, _header); if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { delete self[key]; deleted = true; } } } if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header)) { header.forEach(deleteHeader); } else { deleteHeader(header); } return deleted; } clear(matcher) { const keys = Object.keys(this); let i = keys.length; let deleted = false; while (i--) { const key = keys[i]; if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; } } return deleted; } normalize(format) { const self = this; const headers = {}; _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(headers, header); if (key) { self[key] = normalizeValue(value); delete self[header]; return; } const normalized = format ? formatHeader(header) : String(header).trim(); if (normalized !== header) { delete self[header]; } self[normalized] = normalizeValue(value); headers[normalized] = true; }); return this; } concat(...targets) { return this.constructor.concat(this, ...targets); } toJSON(asStrings) { const obj = Object.create(null); _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { value != null && value !== false && (obj[header] = asStrings && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.join(', ') : value); }); return obj; } [Symbol.iterator]() { return Object.entries(this.toJSON())[Symbol.iterator](); } toString() { return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); } get [Symbol.toStringTag]() { return 'AxiosHeaders'; } static from(thing) { return thing instanceof this ? thing : new this(thing); } static concat(first, ...targets) { const computed = new this(first); targets.forEach((target) => computed.set(target)); return computed; } static accessor(header) { const internals = this[$internals] = (this[$internals] = { accessors: {} }); const accessors = internals.accessors; const prototype = this.prototype; function defineAccessor(_header) { const lHeader = normalizeHeader(_header); if (!accessors[lHeader]) { buildAccessors(prototype, _header); accessors[lHeader] = true; } } _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); return this; } } AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); // reserved names hotfix _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` return { get: () => value, set(headerValue) { this[mapped] = headerValue; } } }); _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].freezeMethods(AxiosHeaders); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosHeaders); /***/ }), /***/ "./node_modules/axios/lib/core/InterceptorManager.js": /*!***********************************************************!*\ !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! \***********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); class InterceptorManager { constructor() { this.handlers = []; } /** * Add a new interceptor to the stack * * @param {Function} fulfilled The function to handle `then` for a `Promise` * @param {Function} rejected The function to handle `reject` for a `Promise` * * @return {Number} An ID used to remove interceptor later */ use(fulfilled, rejected, options) { this.handlers.push({ fulfilled, rejected, synchronous: options ? options.synchronous : false, runWhen: options ? options.runWhen : null }); return this.handlers.length - 1; } /** * Remove an interceptor from the stack * * @param {Number} id The ID that was returned by `use` * * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise */ eject(id) { if (this.handlers[id]) { this.handlers[id] = null; } } /** * Clear all interceptors from the stack * * @returns {void} */ clear() { if (this.handlers) { this.handlers = []; } } /** * Iterate over all the registered interceptors * * This method is particularly useful for skipping over any * interceptors that may have become `null` calling `eject`. * * @param {Function} fn The function to call for each interceptor * * @returns {void} */ forEach(fn) { _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this.handlers, function forEachHandler(h) { if (h !== null) { fn(h); } }); } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InterceptorManager); /***/ }), /***/ "./node_modules/axios/lib/core/buildFullPath.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/core/buildFullPath.js ***! \******************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ buildFullPath) /* harmony export */ }); /* harmony import */ var _helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/isAbsoluteURL.js */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); /* harmony import */ var _helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/combineURLs.js */ "./node_modules/axios/lib/helpers/combineURLs.js"); /** * Creates a new URL by combining the baseURL with the requestedURL, * only when the requestedURL is not already an absolute URL. * If the requestURL is absolute, this function returns the requestedURL untouched. * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine * * @returns {string} The combined full path */ function buildFullPath(baseURL, requestedURL) { if (baseURL && !(0,_helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__["default"])(requestedURL)) { return (0,_helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__["default"])(baseURL, requestedURL); } return requestedURL; } /***/ }), /***/ "./node_modules/axios/lib/core/dispatchRequest.js": /*!********************************************************!*\ !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! \********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ dispatchRequest) /* harmony export */ }); /* harmony import */ var _transformData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transformData.js */ "./node_modules/axios/lib/core/transformData.js"); /* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); /* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); /* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); /* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); /* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); /** * Throws a `CanceledError` if cancellation has been requested. * * @param {Object} config The config that is to be used for the request * * @returns {void} */ function throwIfCancellationRequested(config) { if (config.cancelToken) { config.cancelToken.throwIfRequested(); } if (config.signal && config.signal.aborted) { throw new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](null, config); } } /** * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request * * @returns {Promise} The Promise to be fulfilled */ function dispatchRequest(config) { throwIfCancellationRequested(config); config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(config.headers); // Transform request data config.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( config, config.transformRequest ); if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { config.headers.setContentType('application/x-www-form-urlencoded', false); } const adapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__["default"].getAdapter(config.adapter || _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].adapter); return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); // Transform response data response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( config, config.transformResponse, response ); response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(response.headers); return response; }, function onAdapterRejection(reason) { if (!(0,_cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__["default"])(reason)) { throwIfCancellationRequested(config); // Transform response data if (reason && reason.response) { reason.response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( config, config.transformResponse, reason.response ); reason.response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(reason.response.headers); } } return Promise.reject(reason); }); } /***/ }), /***/ "./node_modules/axios/lib/core/mergeConfig.js": /*!****************************************************!*\ !*** ./node_modules/axios/lib/core/mergeConfig.js ***! \****************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ mergeConfig) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); const headersToObject = (thing) => thing instanceof _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? thing.toJSON() : thing; /** * Config-specific merge-function which creates a new config-object * by merging two configuration objects together. * * @param {Object} config1 * @param {Object} config2 * * @returns {Object} New object resulting from merging config2 to config1 */ function mergeConfig(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; const config = {}; function getMergedValue(target, source, caseless) { if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(target) && _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge.call({caseless}, target, source); } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge({}, source); } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArray(source)) { return source.slice(); } return source; } // eslint-disable-next-line consistent-return function mergeDeepProperties(a, b, caseless) { if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { return getMergedValue(a, b, caseless); } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { return getMergedValue(undefined, a, caseless); } } // eslint-disable-next-line consistent-return function valueFromConfig2(a, b) { if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { return getMergedValue(undefined, b); } } // eslint-disable-next-line consistent-return function defaultToConfig2(a, b) { if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { return getMergedValue(undefined, b); } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { return getMergedValue(undefined, a); } } // eslint-disable-next-line consistent-return function mergeDirectKeys(a, b, prop) { if (prop in config2) { return getMergedValue(a, b); } else if (prop in config1) { return getMergedValue(undefined, a); } } const mergeMap = { url: valueFromConfig2, method: valueFromConfig2, data: valueFromConfig2, baseURL: defaultToConfig2, transformRequest: defaultToConfig2, transformResponse: defaultToConfig2, paramsSerializer: defaultToConfig2, timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, xsrfHeaderName: defaultToConfig2, onUploadProgress: defaultToConfig2, onDownloadProgress: defaultToConfig2, decompress: defaultToConfig2, maxContentLength: defaultToConfig2, maxBodyLength: defaultToConfig2, beforeRedirect: defaultToConfig2, transport: defaultToConfig2, httpAgent: defaultToConfig2, httpsAgent: defaultToConfig2, cancelToken: defaultToConfig2, socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) }; _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { const merge = mergeMap[prop] || mergeDeepProperties; const configValue = merge(config1[prop], config2[prop], prop); (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); }); return config; } /***/ }), /***/ "./node_modules/axios/lib/core/settle.js": /*!***********************************************!*\ !*** ./node_modules/axios/lib/core/settle.js ***! \***********************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ settle) /* harmony export */ }); /* harmony import */ var _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. * * @returns {object} The response. */ function settle(resolve, reject, response) { const validateStatus = response.config.validateStatus; if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { reject(new _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"]( 'Request failed with status code ' + response.status, [_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_REQUEST, _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response )); } } /***/ }), /***/ "./node_modules/axios/lib/core/transformData.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/core/transformData.js ***! \******************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ transformData) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); /* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); /** * Transform the data for a request or a response * * @param {Array|Function} fns A single function or Array of functions * @param {?Object} response The response object * * @returns {*} The resulting transformed data */ function transformData(fns, response) { const config = this || _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__["default"]; const context = response || config; const headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(context.headers); let data = context.data; _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].forEach(fns, function transform(fn) { data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); headers.normalize(); return data; } /***/ }), /***/ "./node_modules/axios/lib/defaults/index.js": /*!**************************************************!*\ !*** ./node_modules/axios/lib/defaults/index.js ***! \**************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); /* harmony import */ var _transitional_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); /* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); /* harmony import */ var _helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/toURLEncodedForm.js */ "./node_modules/axios/lib/helpers/toURLEncodedForm.js"); /* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); /* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); /** * It takes a string, tries to parse it, and if it fails, it returns the stringified version * of the input * * @param {any} rawValue - The value to be stringified. * @param {Function} parser - A function that parses a string into a JavaScript object. * @param {Function} encoder - A function that takes a value and returns a string. * * @returns {string} A stringified version of the rawValue. */ function stringifySafely(rawValue, parser, encoder) { if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].trim(rawValue); } catch (e) { if (e.name !== 'SyntaxError') { throw e; } } } return (encoder || JSON.stringify)(rawValue); } const defaults = { transitional: _transitional_js__WEBPACK_IMPORTED_MODULE_1__["default"], adapter: ['xhr', 'http'], transformRequest: [function transformRequest(data, headers) { const contentType = headers.getContentType() || ''; const hasJSONContentType = contentType.indexOf('application/json') > -1; const isObjectPayload = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(data); if (isObjectPayload && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHTMLForm(data)) { data = new FormData(data); } const isFormData = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(data); if (isFormData) { return hasJSONContentType ? JSON.stringify((0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__["default"])(data)) : data; } if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBuffer(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isStream(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFile(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(data) ) { return data; } if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBufferView(data)) { return data.buffer; } if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(data)) { headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } let isFileList; if (isObjectPayload) { if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return (0,_helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__["default"])(data, this.formSerializer).toString(); } if ((isFileList = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { const _FormData = this.env && this.env.FormData; return (0,_helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__["default"])( isFileList ? {'files[]': data} : data, _FormData && new _FormData(), this.formSerializer ); } } if (isObjectPayload || hasJSONContentType ) { headers.setContentType('application/json', false); return stringifySafely(data); } return data; }], transformResponse: [function transformResponse(data) { const transitional = this.transitional || defaults.transitional; const forcedJSONParsing = transitional && transitional.forcedJSONParsing; const JSONRequested = this.responseType === 'json'; if (data && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { const silentJSONParsing = transitional && transitional.silentJSONParsing; const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].from(e, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].ERR_BAD_RESPONSE, this, null, this.response); } throw e; } } } return data; }], /** * A timeout in milliseconds to abort a request. If set to 0 (default) a * timeout is not created. */ timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.FormData, Blob: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': undefined } } }; _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { defaults.headers[method] = {}; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaults); /***/ }), /***/ "./node_modules/axios/lib/defaults/transitional.js": /*!*********************************************************!*\ !*** ./node_modules/axios/lib/defaults/transitional.js ***! \*********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }); /***/ }), /***/ "./node_modules/axios/lib/env/data.js": /*!********************************************!*\ !*** ./node_modules/axios/lib/env/data.js ***! \********************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ VERSION: () => (/* binding */ VERSION) /* harmony export */ }); const VERSION = "1.6.7"; /***/ }), /***/ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js": /*!****************************************************************!*\ !*** ./node_modules/axios/lib/helpers/AxiosURLSearchParams.js ***! \****************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); /** * It encodes a string by replacing all characters that are not in the unreserved set with * their percent-encoded equivalents * * @param {string} str - The string to encode. * * @returns {string} The encoded string. */ function encode(str) { const charMap = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', '%00': '\x00' }; return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } /** * It takes a params object and converts it to a FormData object * * @param {Object<string, any>} params - The parameters to be converted to a FormData object. * @param {Object<string, any>} options - The options object passed to the Axios constructor. * * @returns {void} */ function AxiosURLSearchParams(params, options) { this._pairs = []; params && (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, this, options); } const prototype = AxiosURLSearchParams.prototype; prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString(encoder) { const _encode = encoder ? function(value) { return encoder.call(this, value, encode); } : encode; return this._pairs.map(function each(pair) { return _encode(pair[0]) + '=' + _encode(pair[1]); }, '').join('&'); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosURLSearchParams); /***/ }), /***/ "./node_modules/axios/lib/helpers/HttpStatusCode.js": /*!**********************************************************!*\ !*** ./node_modules/axios/lib/helpers/HttpStatusCode.js ***! \**********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); const HttpStatusCode = { Continue: 100, SwitchingProtocols: 101, Processing: 102, EarlyHints: 103, Ok: 200, Created: 201, Accepted: 202, NonAuthoritativeInformation: 203, NoContent: 204, ResetContent: 205, PartialContent: 206, MultiStatus: 207, AlreadyReported: 208, ImUsed: 226, MultipleChoices: 300, MovedPermanently: 301, Found: 302, SeeOther: 303, NotModified: 304, UseProxy: 305, Unused: 306, TemporaryRedirect: 307, PermanentRedirect: 308, BadRequest: 400, Unauthorized: 401, PaymentRequired: 402, Forbidden: 403, NotFound: 404, MethodNotAllowed: 405, NotAcceptable: 406, ProxyAuthenticationRequired: 407, RequestTimeout: 408, Conflict: 409, Gone: 410, LengthRequired: 411, PreconditionFailed: 412, PayloadTooLarge: 413, UriTooLong: 414, UnsupportedMediaType: 415, RangeNotSatisfiable: 416, ExpectationFailed: 417, ImATeapot: 418, MisdirectedRequest: 421, UnprocessableEntity: 422, Locked: 423, FailedDependency: 424, TooEarly: 425, UpgradeRequired: 426, PreconditionRequired: 428, TooManyRequests: 429, RequestHeaderFieldsTooLarge: 431, UnavailableForLegalReasons: 451, InternalServerError: 500, NotImplemented: 501, BadGateway: 502, ServiceUnavailable: 503, GatewayTimeout: 504, HttpVersionNotSupported: 505, VariantAlsoNegotiates: 506, InsufficientStorage: 507, LoopDetected: 508, NotExtended: 510, NetworkAuthenticationRequired: 511, }; Object.entries(HttpStatusCode).forEach(([key, value]) => { HttpStatusCode[value] = key; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HttpStatusCode); /***/ }), /***/ "./node_modules/axios/lib/helpers/bind.js": /*!************************************************!*\ !*** ./node_modules/axios/lib/helpers/bind.js ***! \************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ bind) /* harmony export */ }); function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; } /***/ }), /***/ "./node_modules/axios/lib/helpers/buildURL.js": /*!****************************************************!*\ !*** ./node_modules/axios/lib/helpers/buildURL.js ***! \****************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ buildURL) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); /** * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their * URI encoded counterparts * * @param {string} val The value to be encoded. * * @returns {string} The encoded value. */ function encode(val) { return encodeURIComponent(val). replace(/%3A/gi, ':'). replace(/%24/g, '$'). replace(/%2C/gi, ','). replace(/%20/g, '+'). replace(/%5B/gi, '['). replace(/%5D/gi, ']'); } /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options * * @returns {string} The formatted url */ function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; } const _encode = options && options.encode || encode; const serializeFn = options && options.serialize; let serializedParams; if (serializeFn) { serializedParams = serializeFn(params, options); } else { serializedParams = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(params) ? params.toString() : new _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__["default"](params, options).toString(_encode); } if (serializedParams) { const hashmarkIndex = url.indexOf("#"); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; } return url; } /***/ }), /***/ "./node_modules/axios/lib/helpers/combineURLs.js": /*!*******************************************************!*\ !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! \*******************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ combineURLs) /* harmony export */ }); /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL * * @returns {string} The combined URL */ function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; } /***/ }), /***/ "./node_modules/axios/lib/helpers/cookies.js": /*!***************************************************!*\ !*** ./node_modules/axios/lib/helpers/cookies.js ***! \***************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? // Standard browser envs support document.cookie { write(name, value, expires, path, domain, secure) { const cookie = [name + '=' + encodeURIComponent(value)]; _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(path) && cookie.push('path=' + path); _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(domain) && cookie.push('domain=' + domain); secure === true && cookie.push('secure'); document.cookie = cookie.join('; '); }, read(name) { const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return (match ? decodeURIComponent(match[3]) : null); }, remove(name) { this.write(name, '', Date.now() - 86400000); } } : // Non-standard browser env (web workers, react-native) lack needed support. { write() {}, read() { return null; }, remove() {} }); /***/ }), /***/ "./node_modules/axios/lib/helpers/formDataToJSON.js": /*!**********************************************************!*\ !*** ./node_modules/axios/lib/helpers/formDataToJSON.js ***! \**********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /** * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] * * @param {string} name - The name of the property to get. * * @returns An array of strings. */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].matchAll(/\w+|\[(\w*)]/g, name).map(match => { return match[0] === '[]' ? '' : match[1] || match[0]; }); } /** * Convert an array to an object. * * @param {Array<any>} arr - The array to convert to an object. * * @returns An object with the same keys and values as the array. */ function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); let i; const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; } return obj; } /** * It takes a FormData object and returns a JavaScript object * * @param {string} formData The FormData object to convert to JSON. * * @returns {Object<string, any> | null} The converted object. */ function formDataToJSON(formData) { function buildPath(path, value, target, index) { let name = path[index++]; if (name === '__proto__') return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path.length; name = !name && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target) ? target.length : name; if (isLast) { if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; } return !isNumericKey; } if (!target[name] || !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(target[name])) { target[name] = []; } const result = buildPath(path, value, target[name], index); if (result && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target[name])) { target[name] = arrayToObject(target[name]); } return !isNumericKey; } if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(formData) && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(formData.entries)) { const obj = {}; _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEachEntry(formData, (name, value) => { buildPath(parsePropPath(name), value, obj, 0); }); return obj; } return null; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formDataToJSON); /***/ }), /***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": /*!*********************************************************!*\ !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! \*********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ isAbsoluteURL) /* harmony export */ }); /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test * * @returns {boolean} True if the specified URL is absolute, otherwise false */ function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } /***/ }), /***/ "./node_modules/axios/lib/helpers/isAxiosError.js": /*!********************************************************!*\ !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! \********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ isAxiosError) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ function isAxiosError(payload) { return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(payload) && (payload.isAxiosError === true); } /***/ }), /***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": /*!***********************************************************!*\ !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! \***********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? // Standard browser envs have full support of the APIs needed to test // whether the request URL is of the same origin as current location. (function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement('a'); let originURL; /** * Parse a URL to discover its components * * @param {String} url The URL to be parsed * @returns {Object} */ function resolveURL(url) { let href = url; if (msie) { // IE needs attribute set twice to normalize properties urlParsingNode.setAttribute('href', href); href = urlParsingNode.href; } urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils return { href: urlParsingNode.href, protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', host: urlParsingNode.host, search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', hostname: urlParsingNode.hostname, port: urlParsingNode.port, pathname: (urlParsingNode.pathname.charAt(0) === '/') ? urlParsingNode.pathname : '/' + urlParsingNode.pathname }; } originURL = resolveURL(window.location.href); /** * Determine if a URL shares the same origin as the current location * * @param {String} requestURL The URL to test * @returns {boolean} True if URL shares the same origin, otherwise false */ return function isURLSameOrigin(requestURL) { const parsed = (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(requestURL)) ? resolveURL(requestURL) : requestURL; return (parsed.protocol === originURL.protocol && parsed.host === originURL.host); }; })() : // Non standard browser envs (web workers, react-native) lack needed support. (function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; })()); /***/ }), /***/ "./node_modules/axios/lib/helpers/null.js": /*!************************************************!*\ !*** ./node_modules/axios/lib/helpers/null.js ***! \************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); // eslint-disable-next-line strict /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (null); /***/ }), /***/ "./node_modules/axios/lib/helpers/parseHeaders.js": /*!********************************************************!*\ !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! \********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); // RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers const ignoreDuplicateOf = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toObjectSet([ 'age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent' ]); /** * Parse headers into an object * * ``` * Date: Wed, 27 Aug 2014 08:58:49 GMT * Content-Type: application/json * Connection: keep-alive * Transfer-Encoding: chunked * ``` * * @param {String} rawHeaders Headers needing to be parsed * * @returns {Object} Headers parsed into an object */ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (rawHeaders => { const parsed = {}; let key; let val; let i; rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); key = line.substring(0, i).trim().toLowerCase(); val = line.substring(i + 1).trim(); if (!key || (parsed[key] && ignoreDuplicateOf[key])) { return; } if (key === 'set-cookie') { if (parsed[key]) { parsed[key].push(val); } else { parsed[key] = [val]; } } else { parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); return parsed; }); /***/ }), /***/ "./node_modules/axios/lib/helpers/parseProtocol.js": /*!*********************************************************!*\ !*** ./node_modules/axios/lib/helpers/parseProtocol.js ***! \*********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ parseProtocol) /* harmony export */ }); function parseProtocol(url) { const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); return match && match[1] || ''; } /***/ }), /***/ "./node_modules/axios/lib/helpers/speedometer.js": /*!*******************************************************!*\ !*** ./node_modules/axios/lib/helpers/speedometer.js ***! \*******************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * Calculate data maxRate * @param {Number} [samplesCount= 10] * @param {Number} [min= 1000] * @returns {Function} */ function speedometer(samplesCount, min) { samplesCount = samplesCount || 10; const bytes = new Array(samplesCount); const timestamps = new Array(samplesCount); let head = 0; let tail = 0; let firstSampleTS; min = min !== undefined ? min : 1000; return function push(chunkLength) { const now = Date.now(); const startedAt = timestamps[tail]; if (!firstSampleTS) { firstSampleTS = now; } bytes[head] = chunkLength; timestamps[head] = now; let i = tail; let bytesCount = 0; while (i !== head) { bytesCount += bytes[i++]; i = i % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { tail = (tail + 1) % samplesCount; } if (now - firstSampleTS < min) { return; } const passed = startedAt && now - startedAt; return passed ? Math.round(bytesCount * 1000 / passed) : undefined; }; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (speedometer); /***/ }), /***/ "./node_modules/axios/lib/helpers/spread.js": /*!**************************************************!*\ !*** ./node_modules/axios/lib/helpers/spread.js ***! \**************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ spread) /* harmony export */ }); /** * Syntactic sugar for invoking a function and expanding an array for arguments. * * Common use case would be to use `Function.prototype.apply`. * * ```js * function f(x, y, z) {} * var args = [1, 2, 3]; * f.apply(null, args); * ``` * * With `spread` this example can be re-written. * * ```js * spread(function(x, y, z) {})([1, 2, 3]); * ``` * * @param {Function} callback * * @returns {Function} */ function spread(callback) { return function wrap(arr) { return callback.apply(null, arr); }; } /***/ }), /***/ "./node_modules/axios/lib/helpers/toFormData.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/helpers/toFormData.js ***! \******************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); /* harmony import */ var _platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/node/classes/FormData.js */ "./node_modules/axios/lib/helpers/null.js"); // temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored /** * Determines if the given thing is a array or js object. * * @param {string} thing - The object or array to be visited. * * @returns {boolean} */ function isVisitable(thing) { return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(thing) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(thing); } /** * It removes the brackets from the end of a string * * @param {string} key - The key of the parameter. * * @returns {string} the key without the brackets. */ function removeBrackets(key) { return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]') ? key.slice(0, -2) : key; } /** * It takes a path, a key, and a boolean, and returns a string * * @param {string} path - The path to the current key. * @param {string} key - The key of the current object being iterated over. * @param {string} dots - If true, the key will be rendered with dots instead of brackets. * * @returns {string} The path to the current key. */ function renderKey(path, key, dots) { if (!path) return key; return path.concat(key).map(function each(token, i) { // eslint-disable-next-line no-param-reassign token = removeBrackets(token); return !dots && i ? '[' + token + ']' : token; }).join(dots ? '.' : ''); } /** * If the array is an array and none of its elements are visitable, then it's a flat array. * * @param {Array<any>} arr - The array to check * * @returns {boolean} */ function isFlatArray(arr) { return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(arr) && !arr.some(isVisitable); } const predicates = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"], {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); /** * Convert a data object to FormData * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] * @param {Function} [options.visitor] * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] * * @returns {Object} **/ /** * It converts an object into a FormData object * * @param {Object<any, any>} obj - The object to convert to form data. * @param {string} formData - The FormData object to append to. * @param {Object<string, any>} options * * @returns */ function toFormData(obj, formData, options) { if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { throw new TypeError('target must be an object'); } // eslint-disable-next-line no-param-reassign formData = formData || new (_platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"] || FormData)(); // eslint-disable-next-line no-param-reassign options = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(options, { metaTokens: true, dots: false, indexes: false }, false, function defined(option, source) { // eslint-disable-next-line no-eq-null,eqeqeq return !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(source[option]); }); const metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define const visitor = options.visitor || defaultVisitor; const dots = options.dots; const indexes = options.indexes; const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; const useBlob = _Blob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isSpecCompliantForm(formData); if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(visitor)) { throw new TypeError('visitor must be a function'); } function convertValue(value) { if (value === null) return ''; if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isDate(value)) { return value.toISOString(); } if (!useBlob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(value)) { throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Blob is not supported. Use a Buffer instead.'); } if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isTypedArray(value)) { return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); } return value; } /** * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array<String|Number>} path * @this {FormData} * * @returns {boolean} return true to visit the each prop of the value recursively */ function defaultVisitor(value, key, path) { let arr = value; if (value && !path && typeof value === 'object') { if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign key = metaTokens ? key : key.slice(0, -2); // eslint-disable-next-line no-param-reassign value = JSON.stringify(value); } else if ( (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) && isFlatArray(value)) || ((_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]')) && (arr = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toArray(value)) )) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); arr.forEach(function each(el, index) { !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && formData.append( // eslint-disable-next-line no-nested-ternary indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), convertValue(el) ); }); return false; } } if (isVisitable(value)) { return true; } formData.append(renderKey(path, key, dots), convertValue(value)); return false; } const stack = []; const exposedHelpers = Object.assign(predicates, { defaultVisitor, convertValue, isVisitable }); function build(value, path) { if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(value)) return; if (stack.indexOf(value) !== -1) { throw Error('Circular reference detected in ' + path.join('.')); } stack.push(value); _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(value, function each(el, key) { const result = !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && visitor.call( formData, el, _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(key) ? key.trim() : key, path, exposedHelpers ); if (result === true) { build(el, path ? path.concat(key) : [key]); } }); stack.pop(); } if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { throw new TypeError('data must be an object'); } build(obj); return formData; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toFormData); /***/ }), /***/ "./node_modules/axios/lib/helpers/toURLEncodedForm.js": /*!************************************************************!*\ !*** ./node_modules/axios/lib/helpers/toURLEncodedForm.js ***! \************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toURLEncodedForm) /* harmony export */ }); /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); /* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); /* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); function toURLEncodedForm(data, options) { return (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, new _platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path, helpers) { if (_platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNode && _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isBuffer(value)) { this.append(key, value.toString('base64')); return false; } return helpers.defaultVisitor.apply(this, arguments); } }, options)); } /***/ }), /***/ "./node_modules/axios/lib/helpers/validator.js": /*!*****************************************************!*\ !*** ./node_modules/axios/lib/helpers/validator.js ***! \*****************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../env/data.js */ "./node_modules/axios/lib/env/data.js"); /* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); const validators = {}; // eslint-disable-next-line func-names ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { validators[type] = function validator(thing) { return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); const deprecatedWarnings = {}; /** * Transitional option validator * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info * * @returns {function} */ validators.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { return '[Axios v' + _env_data_js__WEBPACK_IMPORTED_MODULE_0__.VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); } // eslint-disable-next-line func-names return (value, opt, opts) => { if (validator === false) { throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]( formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_DEPRECATED ); } if (version && !deprecatedWarnings[opt]) { deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console console.warn( formatMessage( opt, ' has been deprecated since v' + version + ' and will be removed in the near future' ) ); } return validator ? validator(value, opt, opts) : true; }; }; /** * Assert object's properties type * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown * * @returns {object} */ function assertOptions(options, schema, allowUnknown) { if (typeof options !== 'object') { throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('options must be an object', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); let i = keys.length; while (i-- > 0) { const opt = keys[i]; const validator = schema[opt]; if (validator) { const value = options[opt]; const result = value === undefined || validator(value, opt, options); if (result !== true) { throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('option ' + opt + ' must be ' + result, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); } continue; } if (allowUnknown !== true) { throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('Unknown option ' + opt, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION); } } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ assertOptions, validators }); /***/ }), /***/ "./node_modules/axios/lib/platform/browser/classes/Blob.js": /*!*****************************************************************!*\ !*** ./node_modules/axios/lib/platform/browser/classes/Blob.js ***! \*****************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof Blob !== 'undefined' ? Blob : null); /***/ }), /***/ "./node_modules/axios/lib/platform/browser/classes/FormData.js": /*!*********************************************************************!*\ !*** ./node_modules/axios/lib/platform/browser/classes/FormData.js ***! \*********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof FormData !== 'undefined' ? FormData : null); /***/ }), /***/ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js": /*!****************************************************************************!*\ !*** ./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js ***! \****************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof URLSearchParams !== 'undefined' ? URLSearchParams : _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./node_modules/axios/lib/platform/browser/index.js": /*!**********************************************************!*\ !*** ./node_modules/axios/lib/platform/browser/index.js ***! \**********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./classes/URLSearchParams.js */ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js"); /* harmony import */ var _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classes/FormData.js */ "./node_modules/axios/lib/platform/browser/classes/FormData.js"); /* harmony import */ var _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./classes/Blob.js */ "./node_modules/axios/lib/platform/browser/classes/Blob.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ isBrowser: true, classes: { URLSearchParams: _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"], FormData: _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"], Blob: _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__["default"] }, protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] }); /***/ }), /***/ "./node_modules/axios/lib/platform/common/utils.js": /*!*********************************************************!*\ !*** ./node_modules/axios/lib/platform/common/utils.js ***! \*********************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ hasBrowserEnv: () => (/* binding */ hasBrowserEnv), /* harmony export */ hasStandardBrowserEnv: () => (/* binding */ hasStandardBrowserEnv), /* harmony export */ hasStandardBrowserWebWorkerEnv: () => (/* binding */ hasStandardBrowserWebWorkerEnv) /* harmony export */ }); const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; /** * Determine if we're running in a standard browser environment * * This allows axios to run in a web worker, and react-native. * Both environments support XMLHttpRequest, but not fully standard globals. * * web workers: * typeof window -> undefined * typeof document -> undefined * * react-native: * navigator.product -> 'ReactNative' * nativescript * navigator.product -> 'NativeScript' or 'NS' * * @returns {boolean} */ const hasStandardBrowserEnv = ( (product) => { return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 })(typeof navigator !== 'undefined' && navigator.product); /** * Determine if we're running in a standard browser webWorker environment * * Although the `isStandardBrowserEnv` method indicates that * `allows axios to run in a web worker`, the WebWorker will still be * filtered out due to its judgment standard * `typeof window !== 'undefined' && typeof document !== 'undefined'`. * This leads to a problem when axios post `FormData` in webWorker */ const hasStandardBrowserWebWorkerEnv = (() => { return ( typeof WorkerGlobalScope !== 'undefined' && // eslint-disable-next-line no-undef self instanceof WorkerGlobalScope && typeof self.importScripts === 'function' ); })(); /***/ }), /***/ "./node_modules/axios/lib/platform/index.js": /*!**************************************************!*\ !*** ./node_modules/axios/lib/platform/index.js ***! \**************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node/index.js */ "./node_modules/axios/lib/platform/browser/index.js"); /* harmony import */ var _common_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common/utils.js */ "./node_modules/axios/lib/platform/common/utils.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ ..._common_utils_js__WEBPACK_IMPORTED_MODULE_0__, ..._node_index_js__WEBPACK_IMPORTED_MODULE_1__["default"] }); /***/ }), /***/ "./node_modules/axios/lib/utils.js": /*!*****************************************!*\ !*** ./node_modules/axios/lib/utils.js ***! \*****************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); // utils is a library of generic helper functions non-specific to axios const {toString} = Object.prototype; const {getPrototypeOf} = Object; const kindOf = (cache => thing => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); })(Object.create(null)); const kindOfTest = (type) => { type = type.toLowerCase(); return (thing) => kindOf(thing) === type } const typeOfTest = type => thing => typeof thing === type; /** * Determine if a value is an Array * * @param {Object} val The value to test * * @returns {boolean} True if value is an Array, otherwise false */ const {isArray} = Array; /** * Determine if a value is undefined * * @param {*} val The value to test * * @returns {boolean} True if the value is undefined, otherwise false */ const isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * * @param {*} val The value to test * * @returns {boolean} True if value is a Buffer, otherwise false */ function isBuffer(val) { return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); } /** * Determine if a value is an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ const isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ function isArrayBufferView(val) { let result; if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { result = ArrayBuffer.isView(val); } else { result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); } return result; } /** * Determine if a value is a String * * @param {*} val The value to test * * @returns {boolean} True if value is a String, otherwise false */ const isString = typeOfTest('string'); /** * Determine if a value is a Function * * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ const isFunction = typeOfTest('function'); /** * Determine if a value is a Number * * @param {*} val The value to test * * @returns {boolean} True if value is a Number, otherwise false */ const isNumber = typeOfTest('number'); /** * Determine if a value is an Object * * @param {*} thing The value to test * * @returns {boolean} True if value is an Object, otherwise false */ const isObject = (thing) => thing !== null && typeof thing === 'object'; /** * Determine if a value is a Boolean * * @param {*} thing The value to test * @returns {boolean} True if value is a Boolean, otherwise false */ const isBoolean = thing => thing === true || thing === false; /** * Determine if a value is a plain Object * * @param {*} val The value to test * * @returns {boolean} True if value is a plain Object, otherwise false */ const isPlainObject = (val) => { if (kindOf(val) !== 'object') { return false; } const prototype = getPrototypeOf(val); return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); } /** * Determine if a value is a Date * * @param {*} val The value to test * * @returns {boolean} True if value is a Date, otherwise false */ const isDate = kindOfTest('Date'); /** * Determine if a value is a File * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFile = kindOfTest('File'); /** * Determine if a value is a Blob * * @param {*} val The value to test * * @returns {boolean} True if value is a Blob, otherwise false */ const isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream * * @param {*} val The value to test * * @returns {boolean} True if value is a Stream, otherwise false */ const isStream = (val) => isObject(val) && isFunction(val.pipe); /** * Determine if a value is a FormData * * @param {*} thing The value to test * * @returns {boolean} True if value is an FormData, otherwise false */ const isFormData = (thing) => { let kind; return thing && ( (typeof FormData === 'function' && thing instanceof FormData) || ( isFunction(thing.append) && ( (kind = kindOf(thing)) === 'formdata' || // detect form-data instance (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') ) ) ) } /** * Determine if a value is a URLSearchParams object * * @param {*} val The value to test * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ const isURLSearchParams = kindOfTest('URLSearchParams'); /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim * * @returns {String} The String freed of excess whitespace */ const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); /** * Iterate over an Array or an Object invoking a function for each item. * * If `obj` is an Array callback will be called passing * the value, index, and complete array for each item. * * If 'obj' is an Object callback will be called passing * the value, key, and complete object for each property. * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item * * @param {Boolean} [allOwnKeys = false] * @returns {any} */ function forEach(obj, fn, {allOwnKeys = false} = {}) { // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } let i; let l; // Force an array if not already something iterable if (typeof obj !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; fn.call(null, obj[key], key, obj); } } } function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); let i = keys.length; let _key; while (i-- > 0) { _key = keys[i]; if (key === _key.toLowerCase()) { return _key; } } return null; } const _global = (() => { /*eslint no-undef:0*/ if (typeof globalThis !== "undefined") return globalThis; return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) })(); const isContextDefined = (context) => !isUndefined(context) && context !== _global; /** * Accepts varargs expecting each argument to be an object, then * immutably merges the properties of each object and returns result. * * When multiple objects contain the same key the later object in * the arguments list will take precedence. * * Example: * * ```js * var result = merge({foo: 123}, {foo: 456}); * console.log(result.foo); // outputs 456 * ``` * * @param {Object} obj1 Object to merge * * @returns {Object} Result of all merge properties */ function merge(/* obj1, obj2, obj3, ... */) { const {caseless} = isContextDefined(this) && this || {}; const result = {}; const assignValue = (val, key) => { const targetKey = caseless && findKey(result, key) || key; if (isPlainObject(result[targetKey]) && isPlainObject(val)) { result[targetKey] = merge(result[targetKey], val); } else if (isPlainObject(val)) { result[targetKey] = merge({}, val); } else if (isArray(val)) { result[targetKey] = val.slice(); } else { result[targetKey] = val; } } for (let i = 0, l = arguments.length; i < l; i++) { arguments[i] && forEach(arguments[i], assignValue); } return result; } /** * Extends object a by mutably adding to it the properties of object b. * * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to * * @param {Boolean} [allOwnKeys] * @returns {Object} The resulting value of object a */ const extend = (a, b, thisArg, {allOwnKeys}= {}) => { forEach(b, (val, key) => { if (thisArg && isFunction(val)) { a[key] = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__["default"])(val, thisArg); } else { a[key] = val; } }, {allOwnKeys}); return a; } /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM * * @returns {string} content value without BOM */ const stripBOM = (content) => { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } return content; } /** * Inherit the prototype methods from one constructor into another * @param {function} constructor * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] * * @returns {void} */ const inherits = (constructor, superConstructor, props, descriptors) => { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; Object.defineProperty(constructor, 'super', { value: superConstructor.prototype }); props && Object.assign(constructor.prototype, props); } /** * Resolve object with deep prototype chain to a flat object * @param {Object} sourceObj source object * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] * * @returns {Object} */ const toFlatObject = (sourceObj, destObj, filter, propFilter) => { let props; let i; let prop; const merged = {}; destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq if (sourceObj == null) return destObj; do { props = Object.getOwnPropertyNames(sourceObj); i = props.length; while (i-- > 0) { prop = props[i]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; } /** * Determines whether a string ends with the characters of a specified string * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] * * @returns {boolean} */ const endsWith = (str, searchString, position) => { str = String(str); if (position === undefined || position > str.length) { position = str.length; } position -= searchString.length; const lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; } /** * Returns new array from array like object or null if failed * * @param {*} [thing] * * @returns {?Array} */ const toArray = (thing) => { if (!thing) return null; if (isArray(thing)) return thing; let i = thing.length; if (!isNumber(i)) return null; const arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; } return arr; } /** * Checking if the Uint8Array exists and if it does, it returns a function that checks if the * thing passed in is an instance of Uint8Array * * @param {TypedArray} * * @returns {Array} */ // eslint-disable-next-line func-names const isTypedArray = (TypedArray => { // eslint-disable-next-line func-names return thing => { return TypedArray && thing instanceof TypedArray; }; })(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); /** * For each entry in the object, call the function with the key and value. * * @param {Object<any, any>} obj - The object to iterate over. * @param {Function} fn - The function to call for each entry. * * @returns {void} */ const forEachEntry = (obj, fn) => { const generator = obj && obj[Symbol.iterator]; const iterator = generator.call(obj); let result; while ((result = iterator.next()) && !result.done) { const pair = result.value; fn.call(obj, pair[0], pair[1]); } } /** * It takes a regular expression and a string, and returns an array of all the matches * * @param {string} regExp - The regular expression to match against. * @param {string} str - The string to search. * * @returns {Array<boolean>} */ const matchAll = (regExp, str) => { let matches; const arr = []; while ((matches = regExp.exec(str)) !== null) { arr.push(matches); } return arr; } /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ const isHTMLForm = kindOfTest('HTMLFormElement'); const toCamelCase = str => { return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { return p1.toUpperCase() + p2; } ); }; /* Creating a function that will check if an object has a property. */ const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); /** * Determine if a value is a RegExp object * * @param {*} val The value to test * * @returns {boolean} True if value is a RegExp object, otherwise false */ const isRegExp = kindOfTest('RegExp'); const reduceDescriptors = (obj, reducer) => { const descriptors = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors, (descriptor, name) => { let ret; if ((ret = reducer(descriptor, name, obj)) !== false) { reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); } /** * Makes all methods read-only * @param {Object} obj */ const freezeMethods = (obj) => { reduceDescriptors(obj, (descriptor, name) => { // skip restricted props in strict mode if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { return false; } const value = obj[name]; if (!isFunction(value)) return; descriptor.enumerable = false; if ('writable' in descriptor) { descriptor.writable = false; return; } if (!descriptor.set) { descriptor.set = () => { throw Error('Can not rewrite read-only method \'' + name + '\''); }; } }); } const toObjectSet = (arrayOrString, delimiter) => { const obj = {}; const define = (arr) => { arr.forEach(value => { obj[value] = true; }); } isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; } const noop = () => {} const toFiniteNumber = (value, defaultValue) => { value = +value; return Number.isFinite(value) ? value : defaultValue; } const ALPHA = 'abcdefghijklmnopqrstuvwxyz' const DIGIT = '0123456789'; const ALPHABET = { DIGIT, ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT } const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { let str = ''; const {length} = alphabet; while (size--) { str += alphabet[Math.random() * length|0] } return str; } /** * If the thing is a FormData object, return true, otherwise return false. * * @param {unknown} thing - The thing to check. * * @returns {boolean} */ function isSpecCompliantForm(thing) { return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); } const toJSONObject = (obj) => { const stack = new Array(10); const visit = (source, i) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if(!('toJSON' in source)) { stack[i] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { const reducedValue = visit(value, i + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); stack[i] = undefined; return target; } } return source; } return visit(obj, 0); } const isAsyncFn = kindOfTest('AsyncFunction'); const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ isArray, isArrayBuffer, isBuffer, isFormData, isArrayBufferView, isString, isNumber, isBoolean, isObject, isPlainObject, isUndefined, isDate, isFile, isBlob, isRegExp, isFunction, isStream, isURLSearchParams, isTypedArray, isFileList, forEach, merge, extend, trim, stripBOM, inherits, toFlatObject, kindOf, kindOfTest, endsWith, toArray, forEachEntry, matchAll, isHTMLForm, hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection reduceDescriptors, freezeMethods, toObjectSet, toCamelCase, noop, toFiniteNumber, findKey, global: _global, isContextDefined, ALPHABET, generateString, isSpecCompliantForm, toJSONObject, isAsyncFn, isThenable }); /***/ }), /***/ "./node_modules/clsx/dist/clsx.mjs": /*!*****************************************!*\ !*** ./node_modules/clsx/dist/clsx.mjs ***! \*****************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ clsx: () => (/* binding */ clsx), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f)}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clsx); /***/ }), /***/ "./node_modules/stylis/src/Enum.js": /*!*****************************************!*\ !*** ./node_modules/stylis/src/Enum.js ***! \*****************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ CHARSET: () => (/* binding */ CHARSET), /* harmony export */ COMMENT: () => (/* binding */ COMMENT), /* harmony export */ COUNTER_STYLE: () => (/* binding */ COUNTER_STYLE), /* harmony export */ DECLARATION: () => (/* binding */ DECLARATION), /* harmony export */ DOCUMENT: () => (/* binding */ DOCUMENT), /* harmony export */ FONT_FACE: () => (/* binding */ FONT_FACE), /* harmony export */ FONT_FEATURE_VALUES: () => (/* binding */ FONT_FEATURE_VALUES), /* harmony export */ IMPORT: () => (/* binding */ IMPORT), /* harmony export */ KEYFRAMES: () => (/* binding */ KEYFRAMES), /* harmony export */ LAYER: () => (/* binding */ LAYER), /* harmony export */ MEDIA: () => (/* binding */ MEDIA), /* harmony export */ MOZ: () => (/* binding */ MOZ), /* harmony export */ MS: () => (/* binding */ MS), /* harmony export */ NAMESPACE: () => (/* binding */ NAMESPACE), /* harmony export */ PAGE: () => (/* binding */ PAGE), /* harmony export */ RULESET: () => (/* binding */ RULESET), /* harmony export */ SUPPORTS: () => (/* binding */ SUPPORTS), /* harmony export */ VIEWPORT: () => (/* binding */ VIEWPORT), /* harmony export */ WEBKIT: () => (/* binding */ WEBKIT) /* harmony export */ }); var MS = '-ms-' var MOZ = '-moz-' var WEBKIT = '-webkit-' var COMMENT = 'comm' var RULESET = 'rule' var DECLARATION = 'decl' var PAGE = '@page' var MEDIA = '@media' var IMPORT = '@import' var CHARSET = '@charset' var VIEWPORT = '@viewport' var SUPPORTS = '@supports' var DOCUMENT = '@document' var NAMESPACE = '@namespace' var KEYFRAMES = '@keyframes' var FONT_FACE = '@font-face' var COUNTER_STYLE = '@counter-style' var FONT_FEATURE_VALUES = '@font-feature-values' var LAYER = '@layer' /***/ }), /***/ "./node_modules/stylis/src/Middleware.js": /*!***********************************************!*\ !*** ./node_modules/stylis/src/Middleware.js ***! \***********************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ middleware: () => (/* binding */ middleware), /* harmony export */ namespace: () => (/* binding */ namespace), /* harmony export */ prefixer: () => (/* binding */ prefixer), /* harmony export */ rulesheet: () => (/* binding */ rulesheet) /* harmony export */ }); /* harmony import */ var _Enum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enum.js */ "./node_modules/stylis/src/Enum.js"); /* harmony import */ var _Utility_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utility.js */ "./node_modules/stylis/src/Utility.js"); /* harmony import */ var _Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Tokenizer.js */ "./node_modules/stylis/src/Tokenizer.js"); /* harmony import */ var _Serializer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Serializer.js */ "./node_modules/stylis/src/Serializer.js"); /* harmony import */ var _Prefixer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Prefixer.js */ "./node_modules/stylis/src/Prefixer.js"); /** * @param {function[]} collection * @return {function} */ function middleware (collection) { var length = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.sizeof)(collection) return function (element, index, children, callback) { var output = '' for (var i = 0; i < length; i++) output += collection[i](element, index, children, callback) || '' return output } } /** * @param {function} callback * @return {function} */ function rulesheet (callback) { return function (element) { if (!element.root) if (element = element.return) callback(element) } } /** * @param {object} element * @param {number} index * @param {object[]} children * @param {function} callback */ function prefixer (element, index, children, callback) { if (element.length > -1) if (!element.return) switch (element.type) { case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.DECLARATION: element.return = (0,_Prefixer_js__WEBPACK_IMPORTED_MODULE_2__.prefix)(element.value, element.length, children) return case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.KEYFRAMES: return (0,_Serializer_js__WEBPACK_IMPORTED_MODULE_3__.serialize)([(0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.copy)(element, {value: (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(element.value, '@', '@' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT)})], callback) case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.RULESET: if (element.length) return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.combine)(element.props, function (value) { switch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(value, /(::plac\w+|:read-\w+)/)) { // :read-(only|write) case ':read-only': case ':read-write': return (0,_Serializer_js__WEBPACK_IMPORTED_MODULE_3__.serialize)([(0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.copy)(element, {props: [(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /:(read-\w+)/, ':' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MOZ + '$1')]})], callback) // :placeholder case '::placeholder': return (0,_Serializer_js__WEBPACK_IMPORTED_MODULE_3__.serialize)([ (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.copy)(element, {props: [(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /:(plac\w+)/, ':' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + 'input-$1')]}), (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.copy)(element, {props: [(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /:(plac\w+)/, ':' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MOZ + '$1')]}), (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.copy)(element, {props: [(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /:(plac\w+)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'input-$1')]}) ], callback) } return '' }) } } /** * @param {object} element * @param {number} index * @param {object[]} children */ function namespace (element) { switch (element.type) { case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.RULESET: element.props = element.props.map(function (value) { return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.combine)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_4__.tokenize)(value), function (value, index, children) { switch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, 0)) { // \f case 12: return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.substr)(value, 1, (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.strlen)(value)) // \0 ( + > ~ case 0: case 40: case 43: case 62: case 126: return value // : case 58: if (children[++index] === 'global') children[index] = '', children[++index] = '\f' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.substr)(children[index], index = 1, -1) // \s case 32: return index === 1 ? '' : value default: switch (index) { case 0: element = value return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.sizeof)(children) > 1 ? '' : value case index = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.sizeof)(children) - 1: case 2: return index === 2 ? value + element + element : value + element default: return value } } }) }) } } /***/ }), /***/ "./node_modules/stylis/src/Parser.js": /*!*******************************************!*\ !*** ./node_modules/stylis/src/Parser.js ***! \*******************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ comment: () => (/* binding */ comment), /* harmony export */ compile: () => (/* binding */ compile), /* harmony export */ declaration: () => (/* binding */ declaration), /* harmony export */ parse: () => (/* binding */ parse), /* harmony export */ ruleset: () => (/* binding */ ruleset) /* harmony export */ }); /* harmony import */ var _Enum_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Enum.js */ "./node_modules/stylis/src/Enum.js"); /* harmony import */ var _Utility_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utility.js */ "./node_modules/stylis/src/Utility.js"); /* harmony import */ var _Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tokenizer.js */ "./node_modules/stylis/src/Tokenizer.js"); /** * @param {string} value * @return {object[]} */ function compile (value) { return (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.dealloc)(parse('', null, null, null, [''], value = (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.alloc)(value), 0, [0], value)) } /** * @param {string} value * @param {object} root * @param {object?} parent * @param {string[]} rule * @param {string[]} rules * @param {string[]} rulesets * @param {number[]} pseudo * @param {number[]} points * @param {string[]} declarations * @return {object} */ function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) { var index = 0 var offset = 0 var length = pseudo var atrule = 0 var property = 0 var previous = 0 var variable = 1 var scanning = 1 var ampersand = 1 var character = 0 var type = '' var props = rules var children = rulesets var reference = rule var characters = type while (scanning) switch (previous = character, character = (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.next)()) { // ( case 40: if (previous != 108 && (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.charat)(characters, length - 1) == 58) { if ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.indexof)(characters += (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.replace)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.delimit)(character), '&', '&\f'), '&\f') != -1) ampersand = -1 break } // " ' [ case 34: case 39: case 91: characters += (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.delimit)(character) break // \t \n \r \s case 9: case 10: case 13: case 32: characters += (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.whitespace)(previous) break // \ case 92: characters += (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.escaping)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.caret)() - 1, 7) continue // / case 47: switch ((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.peek)()) { case 42: case 47: ;(0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.append)(comment((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.commenter)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.next)(), (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.caret)()), root, parent), declarations) break default: characters += '/' } break // { case 123 * variable: points[index++] = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(characters) * ampersand // } ; \0 case 125 * variable: case 59: case 0: switch (character) { // \0 } case 0: case 125: scanning = 0 // ; case 59 + offset: if (ampersand == -1) characters = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.replace)(characters, /\f/g, '') if (property > 0 && ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(characters) - length)) (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.append)(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration((0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.replace)(characters, ' ', '') + ';', rule, parent, length - 2), declarations) break // @ ; case 59: characters += ';' // { rule/at-rule default: ;(0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.append)(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets) if (character === 123) if (offset === 0) parse(characters, root, reference, reference, props, rulesets, length, points, children) else switch (atrule === 99 && (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.charat)(characters, 3) === 110 ? 100 : atrule) { // d l m s case 100: case 108: case 109: case 115: parse(value, reference, reference, rule && (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.append)(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children) break default: parse(characters, reference, reference, reference, [''], children, 0, points, children) } } index = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo break // : case 58: length = 1 + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(characters), property = previous default: if (variable < 1) if (character == 123) --variable else if (character == 125 && variable++ == 0 && (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.prev)() == 125) continue switch (characters += (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.from)(character), character * variable) { // & case 38: ampersand = offset > 0 ? 1 : (characters += '\f', -1) break // , case 44: points[index++] = ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(characters) - 1) * ampersand, ampersand = 1 break // @ case 64: // - if ((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.peek)() === 45) characters += (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.delimit)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.next)()) atrule = (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.peek)(), offset = length = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(type = characters += (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.identifier)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.caret)())), character++ break // - case 45: if (previous === 45 && (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.strlen)(characters) == 2) variable = 0 } } return rulesets } /** * @param {string} value * @param {object} root * @param {object?} parent * @param {number} index * @param {number} offset * @param {string[]} rules * @param {number[]} points * @param {string} type * @param {string[]} props * @param {string[]} children * @param {number} length * @return {object} */ function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) { var post = offset - 1 var rule = offset === 0 ? rules : [''] var size = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.sizeof)(rule) for (var i = 0, j = 0, k = 0; i < index; ++i) for (var x = 0, y = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.substr)(value, post + 1, post = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.abs)(j = points[i])), z = value; x < size; ++x) if (z = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.trim)(j > 0 ? rule[x] + ' ' + y : (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.replace)(y, /&\f/g, rule[x]))) props[k++] = z return (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.node)(value, root, parent, offset === 0 ? _Enum_js__WEBPACK_IMPORTED_MODULE_2__.RULESET : type, props, children, length) } /** * @param {number} value * @param {object} root * @param {object?} parent * @return {object} */ function comment (value, root, parent) { return (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.node)(value, root, parent, _Enum_js__WEBPACK_IMPORTED_MODULE_2__.COMMENT, (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.from)((0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.char)()), (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.substr)(value, 2, -2), 0) } /** * @param {string} value * @param {object} root * @param {object?} parent * @param {number} length * @return {object} */ function declaration (value, root, parent, length) { return (0,_Tokenizer_js__WEBPACK_IMPORTED_MODULE_0__.node)(value, root, parent, _Enum_js__WEBPACK_IMPORTED_MODULE_2__.DECLARATION, (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.substr)(value, 0, length), (0,_Utility_js__WEBPACK_IMPORTED_MODULE_1__.substr)(value, length + 1, -1), length) } /***/ }), /***/ "./node_modules/stylis/src/Prefixer.js": /*!*********************************************!*\ !*** ./node_modules/stylis/src/Prefixer.js ***! \*********************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ prefix: () => (/* binding */ prefix) /* harmony export */ }); /* harmony import */ var _Enum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enum.js */ "./node_modules/stylis/src/Enum.js"); /* harmony import */ var _Utility_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utility.js */ "./node_modules/stylis/src/Utility.js"); /** * @param {string} value * @param {number} length * @param {object[]} children * @return {string} */ function prefix (value, length, children) { switch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.hash)(value, length)) { // color-adjust case 5103: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + 'print-' + value + value // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function) case 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break case 5572: case 6356: case 5844: case 3191: case 6645: case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite, case 6391: case 5879: case 5623: case 6135: case 4599: case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width) case 4215: case 6389: case 5109: case 5365: case 5621: case 3829: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + value // tab-size case 4789: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MOZ + value + value // appearance, user-select, transform, hyphens, text-size-adjust case 5349: case 4246: case 4810: case 6968: case 2756: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MOZ + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + value + value // writing-mode case 5936: switch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, length + 11)) { // vertical-l(r) case 114: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /[svh]\w+-[tblr]{2}/, 'tb') + value // vertical-r(l) case 108: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /[svh]\w+-[tblr]{2}/, 'tb-rl') + value // horizontal(-)tb case 45: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /[svh]\w+-[tblr]{2}/, 'lr') + value // default: fallthrough to below } // flex, flex-direction, scroll-snap-type, writing-mode case 6828: case 4268: case 2903: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + value + value // order case 6165: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'flex-' + value + value // align-items case 5187: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(\w+).+(:[^]+)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + 'box-$1$2' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'flex-$1$2') + value // align-self case 5443: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'flex-item-' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /flex-|-self/g, '') + (!(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(value, /flex-|baseline/) ? _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'grid-row-' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /flex-|-self/g, '') : '') + value // align-content case 4675: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'flex-line-pack' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /align-content|flex-|-self/g, '') + value // flex-shrink case 5548: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'shrink', 'negative') + value // flex-basis case 5292: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'basis', 'preferred-size') + value // flex-grow case 6060: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + 'box-' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, '-grow', '') + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'grow', 'positive') + value // transition case 4554: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /([^-])(transform)/g, '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$2') + value // cursor case 6187: return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(zoom-|grab)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$1'), /(image-set)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$1'), value, '') + value // background, background-image case 5495: case 3959: return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(image-set\([^]*)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$1' + '$`$1') // justify-content case 4968: return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(.+:)(flex-)?(.*)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + 'box-pack:$3' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + value + value // justify-self case 4200: if (!(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(value, /flex-|baseline/)) return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'grid-column-align' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.substr)(value, length) + value break // grid-template-(columns|rows) case 2592: case 3360: return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'template-', '') + value // grid-(row|column)-start case 4384: case 3616: if (children && children.some(function (element, index) { return length = index, (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(element.props, /grid-\w+-end/) })) { return ~(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.indexof)(value + (children = children[length].value), 'span') ? value : (_Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, '-start', '') + value + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + 'grid-row-span:' + (~(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.indexof)(children, 'span') ? (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(children, /\d+/) : +(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(children, /\d+/) - +(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(value, /\d+/)) + ';') } return _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, '-start', '') + value // grid-(row|column)-end case 4896: case 4128: return (children && children.some(function (element) { return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.match)(element.props, /grid-\w+-start/) })) ? value : _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, '-end', '-span'), 'span ', '') + value // (margin|padding)-inline-(start|end) case 4095: case 3583: case 4068: case 2532: return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(.+)-inline(.+)/, _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$1$2') + value // (min|max)?(width|height|inline-size|block-size) case 8116: case 7059: case 5753: case 5535: case 5445: case 5701: case 4933: case 4677: case 5533: case 5789: case 5021: case 4765: // stretch, max-content, min-content, fill-available if ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.strlen)(value) - 1 - length > 6) switch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, length + 1)) { // (m)ax-content, (m)in-content case 109: // - if ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, length + 4) !== 45) break // (f)ill-available, (f)it-content case 102: return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(.+:)(.+)-([^]+)/, '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$2-$3' + '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MOZ + ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, length + 3) == 108 ? '$3' : '$2-$3')) + value // (s)tretch case 115: return ~(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.indexof)(value, 'stretch') ? prefix((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'stretch', 'fill-available'), length, children) + value : value } break // grid-(column|row) case 5152: case 5920: return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (_Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + a + ':' + b + f) + (c ? (_Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value }) // position: sticky case 4949: // stick(y)? if ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, length + 6) === 121) return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, ':', ':' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT) + value break // display: (flex|inline-flex|grid|inline-grid) case 6444: switch ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, 14) === 45 ? 18 : 11)) { // (inline-)?fle(x) case 120: return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, /(.+:)([^;\s!]+)(;|(\s+)?!.+)?/, '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + ((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.WEBKIT + '$2$3' + '$1' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS + '$2box$3') + value // (inline-)?gri(d) case 100: return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, ':', ':' + _Enum_js__WEBPACK_IMPORTED_MODULE_1__.MS) + value } break // scroll-margin, scroll-margin-(top|right|bottom|left) case 5719: case 2647: case 2135: case 3927: case 2391: return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.replace)(value, 'scroll-', 'scroll-snap-') + value } return value } /***/ }), /***/ "./node_modules/stylis/src/Serializer.js": /*!***********************************************!*\ !*** ./node_modules/stylis/src/Serializer.js ***! \***********************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ serialize: () => (/* binding */ serialize), /* harmony export */ stringify: () => (/* binding */ stringify) /* harmony export */ }); /* harmony import */ var _Enum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enum.js */ "./node_modules/stylis/src/Enum.js"); /* harmony import */ var _Utility_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utility.js */ "./node_modules/stylis/src/Utility.js"); /** * @param {object[]} children * @param {function} callback * @return {string} */ function serialize (children, callback) { var output = '' var length = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.sizeof)(children) for (var i = 0; i < length; i++) output += callback(children[i], i, children, callback) || '' return output } /** * @param {object} element * @param {number} index * @param {object[]} children * @param {function} callback * @return {string} */ function stringify (element, index, children, callback) { switch (element.type) { case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.LAYER: if (element.children.length) break case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.IMPORT: case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.DECLARATION: return element.return = element.return || element.value case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.COMMENT: return '' case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}' case _Enum_js__WEBPACK_IMPORTED_MODULE_1__.RULESET: element.value = element.props.join(',') } return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.strlen)(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : '' } /***/ }), /***/ "./node_modules/stylis/src/Tokenizer.js": /*!**********************************************!*\ !*** ./node_modules/stylis/src/Tokenizer.js ***! \**********************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ alloc: () => (/* binding */ alloc), /* harmony export */ caret: () => (/* binding */ caret), /* harmony export */ char: () => (/* binding */ char), /* harmony export */ character: () => (/* binding */ character), /* harmony export */ characters: () => (/* binding */ characters), /* harmony export */ column: () => (/* binding */ column), /* harmony export */ commenter: () => (/* binding */ commenter), /* harmony export */ copy: () => (/* binding */ copy), /* harmony export */ dealloc: () => (/* binding */ dealloc), /* harmony export */ delimit: () => (/* binding */ delimit), /* harmony export */ delimiter: () => (/* binding */ delimiter), /* harmony export */ escaping: () => (/* binding */ escaping), /* harmony export */ identifier: () => (/* binding */ identifier), /* harmony export */ length: () => (/* binding */ length), /* harmony export */ line: () => (/* binding */ line), /* harmony export */ next: () => (/* binding */ next), /* harmony export */ node: () => (/* binding */ node), /* harmony export */ peek: () => (/* binding */ peek), /* harmony export */ position: () => (/* binding */ position), /* harmony export */ prev: () => (/* binding */ prev), /* harmony export */ slice: () => (/* binding */ slice), /* harmony export */ token: () => (/* binding */ token), /* harmony export */ tokenize: () => (/* binding */ tokenize), /* harmony export */ tokenizer: () => (/* binding */ tokenizer), /* harmony export */ whitespace: () => (/* binding */ whitespace) /* harmony export */ }); /* harmony import */ var _Utility_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utility.js */ "./node_modules/stylis/src/Utility.js"); var line = 1 var column = 1 var length = 0 var position = 0 var character = 0 var characters = '' /** * @param {string} value * @param {object | null} root * @param {object | null} parent * @param {string} type * @param {string[] | string} props * @param {object[] | string} children * @param {number} length */ function node (value, root, parent, type, props, children, length) { return {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''} } /** * @param {object} root * @param {object} props * @return {object} */ function copy (root, props) { return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.assign)(node('', null, null, '', null, null, 0), root, {length: -root.length}, props) } /** * @return {number} */ function char () { return character } /** * @return {number} */ function prev () { character = position > 0 ? (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(characters, --position) : 0 if (column--, character === 10) column = 1, line-- return character } /** * @return {number} */ function next () { character = position < length ? (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(characters, position++) : 0 if (column++, character === 10) column = 1, line++ return character } /** * @return {number} */ function peek () { return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.charat)(characters, position) } /** * @return {number} */ function caret () { return position } /** * @param {number} begin * @param {number} end * @return {string} */ function slice (begin, end) { return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.substr)(characters, begin, end) } /** * @param {number} type * @return {number} */ function token (type) { switch (type) { // \0 \t \n \r \s whitespace token case 0: case 9: case 10: case 13: case 32: return 5 // ! + , / > @ ~ isolate token case 33: case 43: case 44: case 47: case 62: case 64: case 126: // ; { } breakpoint token case 59: case 123: case 125: return 4 // : accompanied token case 58: return 3 // " ' ( [ opening delimit token case 34: case 39: case 40: case 91: return 2 // ) ] closing delimit token case 41: case 93: return 1 } return 0 } /** * @param {string} value * @return {any[]} */ function alloc (value) { return line = column = 1, length = (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.strlen)(characters = value), position = 0, [] } /** * @param {any} value * @return {any} */ function dealloc (value) { return characters = '', value } /** * @param {number} type * @return {string} */ function delimit (type) { return (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.trim)(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type))) } /** * @param {string} value * @return {string[]} */ function tokenize (value) { return dealloc(tokenizer(alloc(value))) } /** * @param {number} type * @return {string} */ function whitespace (type) { while (character = peek()) if (character < 33) next() else break return token(type) > 2 || token(character) > 3 ? '' : ' ' } /** * @param {string[]} children * @return {string[]} */ function tokenizer (children) { while (next()) switch (token(character)) { case 0: (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.append)(identifier(position - 1), children) break case 2: ;(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.append)(delimit(character), children) break default: ;(0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.append)((0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.from)(character), children) } return children } /** * @param {number} index * @param {number} count * @return {string} */ function escaping (index, count) { while (--count && next()) // not 0-9 A-F a-f if (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97)) break return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32)) } /** * @param {number} type * @return {number} */ function delimiter (type) { while (next()) switch (character) { // ] ) " ' case type: return position // " ' case 34: case 39: if (type !== 34 && type !== 39) delimiter(character) break // ( case 40: if (type === 41) delimiter(type) break // \ case 92: next() break } return position } /** * @param {number} type * @param {number} index * @return {number} */ function commenter (type, index) { while (next()) // // if (type + character === 47 + 10) break // /* else if (type + character === 42 + 42 && peek() === 47) break return '/*' + slice(index, position - 1) + '*' + (0,_Utility_js__WEBPACK_IMPORTED_MODULE_0__.from)(type === 47 ? type : next()) } /** * @param {number} index * @return {string} */ function identifier (index) { while (!token(peek())) next() return slice(index, position) } /***/ }), /***/ "./node_modules/stylis/src/Utility.js": /*!********************************************!*\ !*** ./node_modules/stylis/src/Utility.js ***! \********************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ abs: () => (/* binding */ abs), /* harmony export */ append: () => (/* binding */ append), /* harmony export */ assign: () => (/* binding */ assign), /* harmony export */ charat: () => (/* binding */ charat), /* harmony export */ combine: () => (/* binding */ combine), /* harmony export */ from: () => (/* binding */ from), /* harmony export */ hash: () => (/* binding */ hash), /* harmony export */ indexof: () => (/* binding */ indexof), /* harmony export */ match: () => (/* binding */ match), /* harmony export */ replace: () => (/* binding */ replace), /* harmony export */ sizeof: () => (/* binding */ sizeof), /* harmony export */ strlen: () => (/* binding */ strlen), /* harmony export */ substr: () => (/* binding */ substr), /* harmony export */ trim: () => (/* binding */ trim) /* harmony export */ }); /** * @param {number} * @return {number} */ var abs = Math.abs /** * @param {number} * @return {string} */ var from = String.fromCharCode /** * @param {object} * @return {object} */ var assign = Object.assign /** * @param {string} value * @param {number} length * @return {number} */ function hash (value, length) { return charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0 } /** * @param {string} value * @return {string} */ function trim (value) { return value.trim() } /** * @param {string} value * @param {RegExp} pattern * @return {string?} */ function match (value, pattern) { return (value = pattern.exec(value)) ? value[0] : value } /** * @param {string} value * @param {(string|RegExp)} pattern * @param {string} replacement * @return {string} */ function replace (value, pattern, replacement) { return value.replace(pattern, replacement) } /** * @param {string} value * @param {string} search * @return {number} */ function indexof (value, search) { return value.indexOf(search) } /** * @param {string} value * @param {number} index * @return {number} */ function charat (value, index) { return value.charCodeAt(index) | 0 } /** * @param {string} value * @param {number} begin * @param {number} end * @return {string} */ function substr (value, begin, end) { return value.slice(begin, end) } /** * @param {string} value * @return {number} */ function strlen (value) { return value.length } /** * @param {any[]} value * @return {number} */ function sizeof (value) { return value.length } /** * @param {any} value * @param {any[]} array * @return {any} */ function append (value, array) { return array.push(value), value } /** * @param {string[]} array * @param {function} callback * @return {string} */ function combine (array, callback) { return array.map(callback).join('') } /***/ }), /***/ "./assets/json/almaira.json": /*!**********************************!*\ !*** ./assets/json/almaira.json ***! \**********************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[{"id":"85","title":"Jewellery Shop","free_paid":"paid","slug":"jewellery-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/almaira/jewellery-shop.png","demo_url":"https://wpthemes.themehunk.com/diamond-jewellery-shop","api_url":"https://wpthemes.themehunk.com/diamond-jewellery-shop/wp-json/wp/v2/themehunk-site/3245?theme=almaira","builder_theme":"almaira","category":["all","woocommerce","business","ecommerce","pro"],"plugin":{"lead-form-builder":"Lead Form Builder","woocommerce":"Woocommerce","th-advance-product-search":"TH Advance Product Search"}},{"id":"86","title":"Cloth Store","free_paid":"paid","slug":"cloth-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/almaira/cloth-store.png","demo_url":"https://wpthemes.themehunk.com/almaira-pro/","api_url":"https://wpthemes.themehunk.com/almaira-pro/wp-json/wp/v2/themehunk-site/3245?theme=almaira","builder_theme":"almaira","category":["all","business","woocommerce","ecommerce","pro"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","lead-form-builder":"Lead Form Builder"}},{"id":"87","title":"Digital Store","free_paid":"paid","slug":"digital-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/almaira/digital-store.png","demo_url":"https://wpthemes.themehunk.com/almaira-electro/","api_url":"https://wpthemes.themehunk.com/almaira-electro/wp-json/wp/v2/themehunk-site/3245?theme=almaira","builder_theme":"almaira","category":["all","business","woocommerce","ecommerce","pro"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","lead-form-builder":"Lead Form Builder"}},{"id":"88","title":"Lifestyle Apparel","free_paid":"paid","slug":"lifestyle-apparel","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/almaira/lifestyle-apparel.png","demo_url":"https://wpthemes.themehunk.com/almaira-pro-shop/","api_url":"https://wpthemes.themehunk.com/almaira-pro-shop/wp-json/wp/v2/themehunk-site/3245?theme=almaira","builder_theme":"almaira","category":["all","business","woocommerce","ecommerce","pro"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","lead-form-builder":"Lead Form Builder"}},{"id":"112","title":"Watches Shop","free_paid":"paid","slug":"watches-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/almaira/watches-shop.png","demo_url":"https://wpthemes.themehunk.com/watches/","api_url":"https://wpthemes.themehunk.com/watches/wp-json/wp/v2/themehunk-site/3245?theme=almaira","builder_theme":"almaira","category":["all","woocommerce","business","ecommerce","pro"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","lead-form-builder":"Lead Form Builder"}},{"id":"146","title":"Garment Shop","free_paid":"free","slug":"free-almaira-garment-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/almaira/free/free-almaira-garment-shop.png","demo_url":"https://wpthemes.themehunk.com/almaira-shop-light-scheme/","api_url":"https://wpthemes.themehunk.com/almaira-shop-light-scheme/wp-json/wp/v2/themehunk-site/3245?theme=almaira","builder_theme":"almaira","category":["all","business","multipurpose","woocommerce","ecommerce","free"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","lead-form-builder":"Lead Form Builder"}},{"id":"147","title":"Costume Shop","free_paid":"free","slug":"free-almaira-costume-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/almaira/free/free-almaira-costume-shop.png","demo_url":"https://wpthemes.themehunk.com/almaira-shop-dark-scheme/","api_url":"https://wpthemes.themehunk.com/almaira-shop-dark-scheme/wp-json/wp/v2/themehunk-site/3245?theme=almaira","builder_theme":"almaira","category":["all","business","multipurpose","woocommerce","ecommerce","free"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","lead-form-builder":"Lead Form Builder"}},{"id":"151","title":"Footwear Store","free_paid":"paid","slug":"free-almaira-footwear-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/almaira/free/free-almaira-footwear-store.png","demo_url":"https://wpthemes.themehunk.com/almaira-shop-boxed/","api_url":"https://wpthemes.themehunk.com/almaira-shop-boxed/wp-json/wp/v2/themehunk-site/3245?theme=almaira","builder_theme":"almaira","category":["all","multipurpose","woocommerce","business","ecommerce","pro"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","lead-form-builder":"Lead Form Builder"}}]'); /***/ }), /***/ "./assets/json/gogo.json": /*!*******************************!*\ !*** ./assets/json/gogo.json ***! \*******************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[{"id":"67","title":"Gym & Fitness","free_paid":"paid","slug":"gym-fitness","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/gogo/gym-fitness.png","demo_url":"https://wpthemes.themehunk.com/fitness/","api_url":"http://wpthemes.themehunk.com/fitness/wp-json/wp/v2/themehunk-site/3245?theme=gogo","builder_theme":"gogo","category":["all","pro","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder"},"tags":["gym","fitness","bodybuilding","crossfit","fitness center","fitness gym","fitness theme","gym fitness","martial arts","personal trainer","sports","training","yoga"]},{"id":"68","title":"One Page Agency","free_paid":"paid","slug":"one-page-agency","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/gogo/one-page-agency.png","demo_url":"https://wpthemes.themehunk.com/gogopro/","api_url":"http://wpthemes.themehunk.com/gogopro/wp-json/wp/v2/themehunk-site/3245?theme=gogo","builder_theme":"gogo","category":["all","pro","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder"},"tags":["agency","app","application","business","consultancy","creative","digital","marketing","modern","portfolio","services","technology"]},{"id":"69","title":"Yoga Fitness Center","free_paid":"paid","slug":"yoga-fitness-center","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/gogo/yoga-fitness-center.png","demo_url":"https://wpthemes.themehunk.com/yoga/","api_url":"http://wpthemes.themehunk.com/yoga/wp-json/wp/v2/themehunk-site/3245?theme=gogo","builder_theme":"gogo","category":["all","pro","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder"},"tags":["spa","beauty","cosmetic","hair","health care","makeup","massage","medical","physiotherapy","salons","skin","therapy","treatment","wellness center","yoga"]},{"id":"70","title":"Kids Play School","free_paid":"paid","slug":"kids-play-school","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/gogo/kids-play-school.png","demo_url":"https://wpthemes.themehunk.com/kids-play-school/","api_url":"http://wpthemes.themehunk.com/kids-play-school/wp-json/wp/v2/themehunk-site/3245?theme=gogo","builder_theme":"gogo","category":["all","pro","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder"},"tags":["kids school","baby","child","children","children care","course","day care","education","infant","kids","kindergarten","nursery","preschool","school","teacher"]},{"id":"71","title":"Business Corporate","free_paid":"paid","slug":"business-corporate","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/gogo/business-corporate.png","demo_url":"https://wpthemes.themehunk.com/gogo-demo1/","api_url":"http://wpthemes.themehunk.com/gogo-demo1/wp-json/wp/v2/themehunk-site/3245?theme=gogo","builder_theme":"gogo","category":["all","pro","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder","woocommerce":"Woocommerce"},"tags":["agency","app","application","business","consultancy","creative","digital","marketing","modern","portfolio","services","technology"]},{"id":"72","title":"Online Marketing Services","free_paid":"free","slug":"online-marketing-services","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/gogo/online-marketing-services.png","demo_url":"https://wpthemes.themehunk.com/gogo/","api_url":"http://wpthemes.themehunk.com/gogo/wp-json/wp/v2/themehunk-site/3245?theme=gogo","builder_theme":"gogo","category":["all","free","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder","woocommerce":"Woocommerce"},"tags":["accountant","attorney","business","ca","corporate","ecommerce","justice","law","law firm","lawyer","legal services","portfolio"]},{"id":"73","title":"Chartered Accountant","free_paid":"paid","slug":"chartered-accountant","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/gogo/chartered-accountant.png","demo_url":"https://wpthemes.themehunk.com/chartered-accountant/","api_url":"http://wpthemes.themehunk.com/chartered-accountant/wp-json/wp/v2/themehunk-site/3245?theme=gogo","builder_theme":"gogo","category":["all","pro","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder"},"tags":["chartered accountant","accountant","attorney","business","ca","corporate","ecommerce","justice","law","law firm","lawyer","legal services","portfolio"]},{"id":"114","title":"Kinder Garten","free_paid":"paid","slug":"kinder-garten","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/gogo/kinder-garten.png","demo_url":"https://wpthemes.themehunk.com/gogo-kinder-garten/","api_url":"http://wpthemes.themehunk.com/gogo-kinder-garten/wp-json/wp/v2/themehunk-site/3245?theme=gogo","builder_theme":"gogo","category":["all","pro","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder"},"tags":["art school","baby","child","children","children care","course","day care","education","infant","kids","kindergarten","nursery","preschool","school","teacher"]}]'); /***/ }), /***/ "./assets/json/gutenberg.json": /*!************************************!*\ !*** ./assets/json/gutenberg.json ***! \************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[{"id":"226","title":"Fashion shop Gutenberg","free_paid":"free","slug":"fashion-gutenberg","thumb":"https://themehunk.com/wp-content/uploads/2015/07/fashion-gutenberg.png","demo_url":"https://wpthemes.themehunk.com/fashion-gutenberg/","api_url":"https://wpthemes.themehunk.com/fashion-gutenberg/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"gutenberg","category":["all","free","woocommmerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","getwid":"Getwid","unlimited-blocks":"Unlimited Blocks"},"tags":["fashion","clothing","shopping","accessories","electronics","furniture","jewelry","shopping"]},{"id":"227","title":"Grocery Shop Gutenberg","free_paid":"free","slug":"grocery-shop-gutenberg","thumb":"https://themehunk.com/wp-content/uploads/2015/07/grocery-gutenberg.png","demo_url":"https://wpthemes.themehunk.com/grocery-gutenberg/","api_url":"https://wpthemes.themehunk.com/grocery-gutenberg/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"gutenberg","category":["all","free","woocommmerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","getwid":"Getwid","unlimited-blocks":"Unlimited Blocks"},"tags":["food","grocery","health products","healthy","natural","organic","organic food","organic shop","herbal","agriculture","vegetables","winery","farm"]},{"id":"262","title":"Electro Gutenberg","free_paid":"paid","slug":"electro-gutenberg","thumb":"https://themehunk.com/wp-content/uploads/2023/03/electro-9-3202.png","demo_url":"https://wpthemes.themehunk.com/electro-gutenberg/","api_url":"https://wpthemes.themehunk.com/electro-gutenberg/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"gutenberg","category":["all","pro","woocommmerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","unlimited-blocks":"Unlimited Blocks"},"tags":["store","shop","fashion","clothing","electronics","furniture","jewelry","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]},{"id":"263","title":"Furniture Shop Gutenberg","free_paid":"paid","slug":"furniture-gutenberg","thumb":"https://themehunk.com/wp-content/uploads/2023/03/furniture-gutenberg-9-233.png","demo_url":"https://wpthemes.themehunk.com/furniture-gutenberg","api_url":"https://wpthemes.themehunk.com/furniture-gutenberg/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"gutenberg","category":["all","pro","woocommmerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","unlimited-blocks":"Unlimited Blocks"},"tags":["store","shop","fashion","clothing","shopping"," accessories","furniture","shopping"]},{"id":"264","title":"Multivendor Marketplace Gutenberg","free_paid":"paid","slug":"multivendor-marketplace-gutenberg","thumb":"https://themehunk.com/wp-content/uploads/2023/04/marketplace-0013.png","demo_url":"https://wpthemes.themehunk.com/multivendor-marketplace-gutenberg/","api_url":"https://wpthemes.themehunk.com/multivendor-marketplace-gutenberg/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"gutenberg","category":["all","pro","woocommmerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","wc-multivendor-marketplace":"WCFM Marketplace","wc-frontend-manager":"WCFM Frontend Manager","wc-multivendor-membership":"WCFM Membership","unlimited-blocks":"Unlimited Blocks"},"tags":["store","shop","fashion","clothing","multivendor","electronics","furniture","jewelry","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]}]'); /***/ }), /***/ "./assets/json/open-mart.json": /*!************************************!*\ !*** ./assets/json/open-mart.json ***! \************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[{"id":"157","title":"Open Mart Shop","free_paid":"paid","slug":"open-mart-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/open-mart/open-mart/open-mart.png","demo_url":"https://wpthemes.themehunk.com/open-mart/","api_url":"https://wpthemes.themehunk.com/open-mart/wp-json/wp/v2/themehunk-site/3245?theme=open-mart","builder_theme":"open-mart","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","lead-form-builder":"Lead Form Builder"},"tags":["mart","food market","grocery market","grocery","grocery shop","grocery store","online vegetables","organic food","shop","super market","supermarket grocery"]},{"id":"158","title":"Electro Mart","free_paid":"paid","slug":"electromart","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/open-mart/electromart/electromart.png","demo_url":"https://wpthemes.themehunk.com/electromart/","api_url":"https://wpthemes.themehunk.com/electromart/wp-json/wp/v2/themehunk-site/3245?theme=open-mart","builder_theme":"open-mart","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","lead-form-builder":"Lead Form Builder"},"tags":["accessories","ecommerce","electronics shop","electronics store","elementor","shop","shopping","store","technology","tools store"]},{"id":"159","title":"Fashion Mart","free_paid":"free","slug":"fashion-mart","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/open-mart/free/openmart-lite.png","demo_url":"https://wpthemes.themehunk.com/openmart-lite/","api_url":"https://wpthemes.themehunk.com/openmart-lite/wp-json/wp/v2/themehunk-site/3245?theme=open-mart","builder_theme":"open-mart","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","lead-form-builder":"Lead Form Builder"},"tags":["accessories","ecommerce","electronics shop","electronics store","elementor","shop","shopping","store","technology","tools store"]},{"id":"160","title":"Grocery Mart","free_paid":"free","slug":"grocerymart","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/open-mart/free/grocerymart.png","demo_url":"https://wpthemes.themehunk.com/grocerymart/","api_url":"https://wpthemes.themehunk.com/grocerymart/wp-json/wp/v2/themehunk-site/3245?theme=open-mart","builder_theme":"open-mart","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","lead-form-builder":"Lead Form Builder"},"tags":["food","food market","grocery market","grocery","grocery shop","grocery store","online vegetables","organic food","shop","super market","supermarket grocery"]},{"id":"161","title":"Kids Collection","free_paid":"paid","slug":"kids-collection","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/open-mart/free/kids-collection.png","demo_url":"https://wpthemes.themehunk.com/kids-collection/","api_url":"https://wpthemes.themehunk.com/kids-collection/wp-json/wp/v2/themehunk-site/3245?theme=open-mart","builder_theme":"open-mart","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","lead-form-builder":"Lead Form Builder"},"tags":["baby","baby clothing","baby fashion","baby shop","baby store","children","kids","kids clothing","kids store","shop","store","toys"]},{"id":"162","title":"Shoes and Footwear Shop","free_paid":"paid","slug":"shoes-and-footwear-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/open-mart/footwear/shoes-footwear.png","demo_url":"https://wpthemes.themehunk.com/shoes-footwear/","api_url":"https://wpthemes.themehunk.com/shoes-footwear/wp-json/wp/v2/themehunk-site/3245?theme=open-mart","builder_theme":"open-mart","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["athletic theme","clothing","cosmetics","fashion","fitness","gym","modern","shoes theme","shoes","shoes theme","sport"]},{"id":"163","title":"Jewelry Store","free_paid":"paid","slug":"jewelry-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/open-mart/Jewelry/jewelry-store.png","demo_url":"https://wpthemes.themehunk.com/jewelry-store/","api_url":"https://wpthemes.themehunk.com/jewelry-store/wp-json/wp/v2/themehunk-site/3245?theme=open-mart","builder_theme":"open-mart","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["diamond jewelry","earrings","elementor","elementor jewelry","gemstone","goldsmith","handcrafted","handmade jewelry","jewellery","jewelry","luxury jewelry","multivendorx","necklaces"]},{"id":"164","title":"Furniture Mart","free_paid":"paid","slug":"furniture-mart","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/open-mart/furniture-mart/furniture-mart.png","demo_url":"https://wpthemes.themehunk.com/furniture-mart/","api_url":"https://wpthemes.themehunk.com/furniture-mart/wp-json/wp/v2/themehunk-site/3245?theme=open-mart","builder_theme":"open-mart","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["craftsman","decor","elementor","furniture","furniture catalog","furniture portfolio","furniture shop","furniture store","home decor","interior decoration","lighting","woocommerce","woodworker"]},{"id":"165","title":"Computer Shop","free_paid":"paid","slug":"computer-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/open-mart/computer-shop/computer-shop.png","demo_url":"https://wpthemes.themehunk.com/computer-shop/","api_url":"https://wpthemes.themehunk.com/computer-shop/wp-json/wp/v2/themehunk-site/3245?theme=open-mart","builder_theme":"open-mart","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["computer store","electronics theme","home decor theme","mega store","mobile store","wordpress ecommerce"]}]'); /***/ }), /***/ "./assets/json/openshop-pro.json": /*!***************************************!*\ !*** ./assets/json/openshop-pro.json ***! \***************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[{"id":"89","title":"Fashion Shop","free_paid":"paid","slug":"fashion-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/fashion-shop.png","demo_url":"https://wpthemes.themehunk.com/open-shop-pro-demo2","api_url":"https://wpthemes.themehunk.com/open-shop-pro-demo2/wp-json/wp/v2/themehunk-site/3245?theme=openshop-pro","builder_theme":"openshop-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["baby shop","clothes","clothing store","dress","ecommerce","fashion shop","fashion store","jewelry","shoes","shop","sportswear","store","watches"]},{"id":"90","title":"Digital Marketplace","free_paid":"paid","slug":"digital-marketplace","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/digital-marketplace.png","demo_url":"https://wpthemes.themehunk.com/open-shop-pro/","api_url":"https://wpthemes.themehunk.com/open-shop-pro/wp-json/wp/v2/themehunk-site/3245?theme=openshop-pro","builder_theme":"openshop-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["audio marketplace","digital downloads","digital marketplace","digital shop","digital store","easy digital downloads","front end submission","marketplace","multivendor"]},{"id":"115","title":"Covid Safety Shop","free_paid":"paid","slug":"covid-safety-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/covid-safety-shop.png","demo_url":"https://wpthemes.themehunk.com/covid-safety-shop/","api_url":"https://wpthemes.themehunk.com/covid-safety-shop/wp-json/wp/v2/themehunk-site/3245?theme=openshop-pro","builder_theme":"openshop-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["clinic","dispensary","doctor","drugstore","ecommerce","healthcare","lab","medical","medical equipment","medical shop","medical store","medicine","pharmacy"]},{"id":"116","title":"Grocery Store","free_paid":"paid","slug":"grocery-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/openshop-grocery-store.png","demo_url":"https://wpthemes.themehunk.com/openshop-grocery-store/","api_url":"https://wpthemes.themehunk.com/openshop-grocery-store/wp-json/wp/v2/themehunk-site/3245?theme=openshop-pro","builder_theme":"openshop-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["farming","food","food market","grocery market","grocery","grocery shop","grocery store","online vegetables","organic food","shop","super market","supermarket grocery"]},{"id":"117","title":"Cosmetics","free_paid":"paid","slug":"cosmetics","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/cosmetics.png","demo_url":"https://wpthemes.themehunk.com/cosmetics/","api_url":"https://wpthemes.themehunk.com/cosmetics/wp-json/wp/v2/themehunk-site/3245?theme=openshop-pro","builder_theme":"openshop-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["beauty","beauty cosmetic","beauty products","beauty shop","beauty store","cosmetic","cosmetic store","cosmetics shop","ecommerce shop","elementor","salon","skincare","spa","wellness"]},{"id":"118","title":"Floral Shop","free_paid":"paid","slug":"floral-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/floral-shop.png ","demo_url":"https://wpthemes.themehunk.com/floral-shop/","api_url":"https://wpthemes.themehunk.com/floral-shop/wp-json/wp/v2/themehunk-site/3245?theme=openshop-pro","builder_theme":"openshop-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["bouquet","floral","floral design","floral shop","floriculture","florist","florist shop","flower arrangement","flower decoration","flower shop","flowers","garden","gardening","plant","shop"]},{"id":"119","title":"Pizza Shop","free_paid":"paid","slug":"pizza-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/pizza-shop.png ","demo_url":"https://wpthemes.themehunk.com/pizza-shop/","api_url":"https://wpthemes.themehunk.com/pizza-shop/wp-json/wp/v2/themehunk-site/3245?theme=openshop-pro","builder_theme":"openshop-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["barbeque","burger","fast food","fast food restaurant","food","food restaurant","food theme","italian restaurant","pizza","pizza restaurant","pizzeria","restaurant","restaurant menu","restaurant theme","snack"]},{"id":"120","title":"Swim wear","free_paid":"paid","slug":"swim-wear","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/swimwear.png ","demo_url":"https://wpthemes.themehunk.com/swimwear/","api_url":"https://wpthemes.themehunk.com/swimwear/wp-json/wp/v2/themehunk-site/3245?theme=openshop-pro","builder_theme":"openshop-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["swimwear","bikini","clean","health","modern","multipurpose","online store","responsive","summer shop","swimwear","swimwear store","lingerie","lingerie shop"]},{"id":"133","title":"Furniture Shop","free_paid":"paid","slug":"furniture-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/furniture-shop.png ","demo_url":"https://wpthemes.themehunk.com/furniture-shop/","api_url":"https://wpthemes.themehunk.com/furniture-shop/wp-json/wp/v2/themehunk-site/3245?theme=openshop-pro","builder_theme":"openshop-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["carpenter","furniture","store","shop","fashion","clothing ","shopping","accessories","shopping"]},{"id":"141","title":"Fashion & Accessories Outlet","free_paid":"free","slug":"fashion-accessories-outlet","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/free/free-openshop-fashion-outlet.png","demo_url":"https://wpthemes.themehunk.com/open-shop/","api_url":"https://wpthemes.themehunk.com/open-shop/wp-json/wp/v2/themehunk-site/3245?theme=open-shop","builder_theme":"openshop-pro","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","fashion","clothing","multivendor","electronics","furniture","jewelry","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]},{"id":"142","title":"Cosmetic & Beauty Shop","free_paid":"free","slug":"cosmetic-beauty-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/free/free-openshop-cosmetic-shop.png","demo_url":"https://wpthemes.themehunk.com/open-shop-dark/","api_url":"https://wpthemes.themehunk.com/open-shop-dark/wp-json/wp/v2/themehunk-site/3245?theme=open-shop","builder_theme":"openshop-pro","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["beauty","beauty cosmetic","beauty products","beauty shop","beauty store","cosmetic","cosmetic store","cosmetics shop","ecommerce shop","elementor","salon","skincare","spa","wellness"]},{"id":"143","title":"Vegetable and Fruit Shop","free_paid":"paid","slug":"vegetable-and-fruit-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/openshop-pro/free/free-openshop-corner-store.png","demo_url":"https://wpthemes.themehunk.com/grocery-lite/","api_url":"https://wpthemes.themehunk.com/grocery-lite/wp-json/wp/v2/themehunk-site/3245?theme=open-shop","builder_theme":"openshop-pro","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["food","food market","grocery market","grocery","grocery shop","grocery store","online vegetables","organic food","shop","super market","supermarket grocery"]}]'); /***/ }), /***/ "./assets/json/plugins.json": /*!**********************************!*\ !*** ./assets/json/plugins.json ***! \**********************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[{"woocommerce":"woocommerce/woocommerce.php","unlimited-blocks":"unlimited-blocks/unlimited-blocks.php","elementor":"elementor/elementor.php","pagelayer":"pagelayer/pagelayer.php","brizy":"brizy/brizy.php","megamenu":"megamenu/megamenu.php","wc-multivendor-membership":"wc-multivendor-membership/wc-multivendor-membership.php","wc-multivendor-marketplace":"wc-multivendor-marketplace/wc-multivendor-marketplace.php","wc-frontend-manager":"wc-frontend-manager/wc_frontend_manager.php","getwid":"getwid/getwid.php","th-advance-product-search":"th-advance-product-search/th-advance-product-search.php","th-all-in-one-woo-cart":"th-all-in-one-woo-cart/th-all-in-one-woo-cart.php","th-product-compare":"th-product-compare/th-product-compare.php","beaver-builder-lite-version":"beaver-builder-lite-version/fl-builder.php","contact-form-7":"contact-form-7/wp-contact-form-7.php","lead-form-builder":"lead-form-builder/lead-form-builder.php","wp-popup-builder":"wp-popup-builder/wp-popup-builder.php","motopress-hotel-booking-lite":"motopress-hotel-booking-lite/motopress-hotel-booking.php","real-estate-listing-realtyna-wpl":"real-estate-listing-realtyna-wpl/WPL.php","bmi-calculator-shortcode":"bmi-calculator-shortcode/bmi-calculator-shortcode.php","yith-woocommerce-wishlist":"yith-woocommerce-wishlist/init.php","yith-woocommerce-compare":"yith-woocommerce-compare/init.php","give":"give/give.php","restaurant-cafe-addon-for-elementor":"restaurant-cafe-addon-for-elementor/restaurant-cafe-addon-for-elementor.php","dokan-lite":"dokan-lite/dokan.php","easy-appointments":"easy-appointments/main.php","woocommerce-conversion-tracking":"woocommerce-conversion-tracking/conversion-tracking.php","mage-eventpress":"mage-eventpress/woocommerce-event-press.php","dc-woocommerce-multi-vendor":"dc-woocommerce-multi-vendor/dc_product_vendor.php","affiliate-coupons":"affiliate-coupons/affiliate-coupons.php","wemail":"wemail/wemail.php","charitable":"charitable/charitable.php","rencontre":"rencontre/rencontre.php","easy-property-listings":"easy-property-listings/easy-property-listings.php","ecalypse-rental-starter":"ecalypse-rental-starter/ecalypse-rental-starter.php","cryptocurrency-price-ticker-widget":"cryptocurrency-price-ticker-widget/cryptocurrency-price-ticker-widget.php","animentor-lottie-bodymovin-elementor":"animentor-lottie-bodymovin-elementor/animentor-lottie-bodymovin-elementor.php","tickera-event-ticketing-system":"tickera-event-ticketing-system/tickera.php","ymm-search":"ymm-search/ymm-search.php","themehunk-customizer":"themehunk-customizer/themehunk-customizer.php","hunk-companion":"hunk-companion/hunk-companion.php"}]'); /***/ }), /***/ "./assets/json/portfolioline.json": /*!****************************************!*\ !*** ./assets/json/portfolioline.json ***! \****************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[{"id":"99","title":"Portfolio","free_paid":"paid","slug":"portfolio","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/portfolioline/portfolio.png","demo_url":"https://wpthemes.themehunk.com/portfolioline-pro/","api_url":"https://wpthemes.themehunk.com/portfolioline-pro/wp-json/wp/v2/themehunk-site/3245?theme=portfolioline","builder_theme":"portfolioline","category":["all","pro","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder"},"tags":["agency","app","application","business","consultancy","creative","digital","marketing","modern","portfolio","services","technology"]},{"id":"130","title":"Photography Portfolio","free_paid":"paid","slug":"photography-portfolio","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/portfolioline/portfoliolinepro-dark.png","demo_url":"https://wpthemes.themehunk.com/portfoliolinepro-dark/","api_url":"https://wpthemes.themehunk.com/portfoliolinepro-dark/wp-json/wp/v2/themehunk-site/3245?theme=portfolioline","builder_theme":"portfolioline","category":["all","pro","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder"},"tags":["agency","app","application","business","consultancy","creative","digital","marketing","modern","portfolio","services","technology"]},{"id":"184","title":"Portfoliolite","free_paid":"free","slug":"portfoliolite","thumb":"https://themehunk.com/wp-content/uploads/2015/07/portfoliolite-demo.png","demo_url":"https://wpthemes.themehunk.com/portfoliolite/","api_url":"https://wpthemes.themehunk.com/portfoliolite/wp-json/wp/v2/themehunk-site/3245?theme=portfolioline","builder_theme":"portfolioline","category":["all","free","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder"},"tags":["agency","app","application","business","consultancy","creative","digital","marketing","modern","portfolio","services","technology"]},{"id":"185","title":"Portfoliolite Dark","free_paid":"paid","slug":"portfoliolite-dark","thumb":"https://themehunk.com/wp-content/uploads/2015/07/portfoliolite-dark-demo.png","demo_url":"https://wpthemes.themehunk.com/portfoliolite-dark/","api_url":"https://wpthemes.themehunk.com/portfoliolite-dark/wp-json/wp/v2/themehunk-site/3245?theme=portfolioline","builder_theme":"portfolioline","category":["all","pro","landing-page","business","portfolio"],"plugin":{"lead-form-builder":"Lead Form Builder"},"tags":["agency","app","application","business","consultancy","creative","digital","marketing","modern","portfolio","services","technology"]}]'); /***/ }), /***/ "./assets/json/th-shop-mania.json": /*!****************************************!*\ !*** ./assets/json/th-shop-mania.json ***! \****************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[{"id":"206","title":"Fashion shop","free_paid":"free","slug":"fashion-shop-mania","thumb":"https://themehunk.com/wp-content/uploads/2022/01/demo2-1.png","demo_url":"https://wpthemes.themehunk.com/fashion-shop/","api_url":"https://wpthemes.themehunk.com/fashion-shop/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","free","eCommerce","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","grocery","vegetabless","fruits","dry fruits","food","cafe"]},{"id":"207","title":"Fashion store","free_paid":"free","slug":"fashion-store","thumb":"https://themehunk.com/wp-content/uploads/2022/01/demo1.png","demo_url":"https://wpthemes.themehunk.com/fashion-store/","api_url":"https://wpthemes.themehunk.com/fashion-store/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","fashion","clothing","jewelry","shopping","cosmetics","accessories","shoes","glasses","watch","gift"]},{"id":"208","title":"Grocery Mania","free_paid":"paid","slug":"mania-grocery","thumb":"https://themehunk.com/wp-content/uploads/2022/01/grocery-mania.png","demo_url":"https://wpthemes.themehunk.com/mania-grocery/","api_url":"https://wpthemes.themehunk.com/mania-grocery/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","grocery","vegetabless","fruits","dry fruits","food","cafe"]},{"id":"210","title":"Mania Medical","free_paid":"paid","slug":"mania-medical","thumb":"https://themehunk.com/wp-content/uploads/2022/02/mania-medical.png","demo_url":"https://wpthemes.themehunk.com/mania-medical/","api_url":"https://wpthemes.themehunk.com/mania-medical/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","landing-page"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["medical","medicine","medical website","medical centers","dentists","polyclinics","hospitals","clinics","doctors","nurses"]},{"id":"212","title":"Cosmetic Mania","free_paid":"free","slug":"cosmetic-mania","thumb":"https://themehunk.com/wp-content/uploads/2022/02/cosmetic-mania.png","demo_url":"https://wpthemes.themehunk.com/cosmetic-mania/","api_url":"https://wpthemes.themehunk.com/cosmetic-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["beauty","beauty cosmetic","beauty products","beauty shop","beauty store","cosmetic","cosmetic store","cosmetics shop","salon","skincare","spa","wellness"]},{"id":"213","title":"Suits Mania","free_paid":"free","slug":"suit-and-blazer-shop","thumb":"https://themehunk.com/wp-content/uploads/2022/02/suits-mania.png","demo_url":"https://wpthemes.themehunk.com/suitsandblazer/","api_url":"https://wpthemes.themehunk.com/suitsandblazer/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["Suit","Blazer","clothing","fashion","design","store","shop","dress","fashion suit","fashion-dress"]},{"id":"220","title":"Electro Mania","free_paid":"free","slug":"electro-mania","thumb":"https://themehunk.com/wp-content/uploads/2022/01/electro-mania-image.png","demo_url":"https://wpthemes.themehunk.com/electro-mania/","api_url":"https://wpthemes.themehunk.com/electro-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","latest","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","fashion","clothing","multivendor","electronics","furniture","jewelry","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]},{"id":"230","title":"Gym Mania","free_paid":"paid","slug":"fitness-equipment","thumb":"https://themehunk.com/wp-content/uploads/2015/07/gym-mania-template.png","demo_url":"https://wpthemes.themehunk.com/gym-and-fitness-equipment-store-mania/","api_url":"https://wpthemes.themehunk.com/gym-and-fitness-equipment-store-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","business","multivendor","gym"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["gym","fitness","bodybuilding","crossfit","fitness center","fitness gym","fitness theme","gym fitness","martial arts","personal trainer","sports","training","yoga"]},{"id":"234","title":"Multivendor Mania","free_paid":"paid","slug":"multivendor-mania","thumb":"https://themehunk.com/wp-content/uploads/2015/07/multivendor-th-shop-mania.png","demo_url":"https://wpthemes.themehunk.com/multivendor-mania/","api_url":"https://wpthemes.themehunk.com/multivendor-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce","multivendor"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","wc-multivendor-marketplace":"WCFM Marketplace","wc-frontend-manager":"WCFM Frontend Manager","wc-multivendor-membership":"WCFM Membership"},"tags":["store","shop","fashion","clothing","multivendor","electronics","furniture","jewelry","shopping","cosmetics","accessories","shoes","glasses","food","grocery","watch","gift","marketplace"]},{"id":"238","title":"Video gaming & eSports store","free_paid":"paid","slug":"video-gaming-esports-store","thumb":"https://themehunk.com/wp-content/uploads/2015/07/video-gaming-and-estore.png","demo_url":"https://wpthemes.themehunk.com/gaming-mania/","api_url":"https://wpthemes.themehunk.com/gaming-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","landing-page"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["sports","gaming","game","studio","entertainment","video game","online gaming"]},{"id":"239","title":"Online Food Delivery ","free_paid":"paid","slug":"online-food-delivery","thumb":"https://themehunk.com/wp-content/uploads/2015/07/food-delivery.png","demo_url":"https://wpthemes.themehunk.com/food-delivery-mania/","api_url":"https://wpthemes.themehunk.com/food-delivery-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","restaurant-cafe-addon-for-elementor":"Restaurant & Cafe Addon"},"tags":["food","pizza","pizza delivery","burger delivery","food delivery","sweets","donuts","cake","bakery"]},{"id":"240","title":"Vape Shop","free_paid":"paid","slug":"vape-shop","thumb":"https://themehunk.com/wp-content/uploads/2015/07/vape-shop.png","demo_url":"https://wpthemes.themehunk.com/vape-mania/","api_url":"https://wpthemes.themehunk.com/vape-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","landing-page"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["vape","vaporizers","snuff","e-liquids","vaping","cigars","cigarettes","tobacco","vape stores","hookah clubs","craft breweries"]},{"id":"242","title":"Craft and Handmade Market","free_paid":"paid","slug":"craft-and-handmade-market","thumb":"https://themehunk.com/wp-content/uploads/2015/07/craft-and-handmade.png","demo_url":"https://wpthemes.themehunk.com/handmade-marketplace/","api_url":"https://wpthemes.themehunk.com/handmade-marketplace/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multivendor","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","wc-multivendor-marketplace":"WCFM Marketplace","wc-frontend-manager":"WCFM Frontend Manager","wc-multivendor-membership":"WCFM Membership"},"tags":["crafts","art shop","handmade crafts","handmade","craft store","handmade shop","crafting","handmade","creative artist portfolios","caricature artists","tattoo artists"]},{"id":"243","title":"Sneaker and Shoes Store","free_paid":"paid","slug":"sneaker-and-shoes-store","thumb":"https://themehunk.com/wp-content/uploads/2015/07/sneaker-ans-shoes-store.png","demo_url":"https://wpthemes.themehunk.com/sneaker-mania/","api_url":"https://wpthemes.themehunk.com/sneaker-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["sneaker","shoes","shoes store","shoes shop","clothing","fashion","accessories","gadgets"]},{"id":"244","title":"Interior Design & Furniture Store","free_paid":"paid","slug":"interior-design-furniture-store","thumb":"https://themehunk.com/wp-content/uploads/2015/07/furniture-mania-template.png","demo_url":"https://wpthemes.themehunk.com/furniture-mania/","api_url":"https://wpthemes.themehunk.com/furniture-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","fashion","clothing","","shopping","accessories","shopping","furniture","interior","interior design","interior designer","portfolios"]},{"id":"245","title":"Single Product","free_paid":"paid","slug":"single-product","thumb":"https://themehunk.com/wp-content/uploads/2015/07/demo-single-product-cmp.png","demo_url":"https://wpthemes.themehunk.com/single-product/","api_url":"https://wpthemes.themehunk.com/single-product/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","landing-page","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","fashion","clothing","shopping","accessories"]},{"id":"246","title":"Electro Mania","free_paid":"paid","slug":"electro-mania-v2","thumb":"https://themehunk.com/wp-content/uploads/2022/06/electro-mania-v2-large.png","demo_url":"https://wpthemes.themehunk.com/electro-mania-v2/","api_url":"https://wpthemes.themehunk.com/electro-mania-v2/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multivendor","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","fashion","clothing","multivendor","electronics","mobile","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]},{"id":"247","title":"Fashion Store","free_paid":"paid","slug":"fashion-store","thumb":"https://themehunk.com/wp-content/uploads/2022/06/fashion-mania-v2-5.png","demo_url":"https://wpthemes.themehunk.com/fashion-mania-v2/","api_url":"https://wpthemes.themehunk.com/fashion-mania-v2/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","fashion","clothing","jewelry","shopping","cosmetics","accessories","shoes","glasses","watch","gift"]},{"id":"248","title":"Grocery & Food Store","free_paid":"paid","slug":"grocery-mania-v2","thumb":"https://themehunk.com/wp-content/uploads/2022/07/grocery-mania-6494.png","demo_url":"https://wpthemes.themehunk.com/grocery-mania-v2","api_url":"https://wpthemes.themehunk.com/grocery-mania-v2/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","megamenu":"Max Mega Menu"},"tags":["store","shop","grocery","vegetabless","fruits","dry fruits","food","cafe"]},{"id":"249","title":"Book Store Mania","free_paid":"paid","slug":"bookstore-mania","thumb":"https://themehunk.com/wp-content/uploads/2022/07/book-store-maina-314.png","demo_url":"https://wpthemes.themehunk.com/bookstore-mania","api_url":"https://wpthemes.themehunk.com/bookstore-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","landing-page"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["bookstore","book shop","book store","publishers","authors","writters","eBooks","audio","video game","online course"]},{"id":"251","title":"Multivendor Market Store","free_paid":"paid","slug":"market-mania","thumb":"https://themehunk.com/wp-content/uploads/2022/08/market-mania-3710.png","demo_url":"https://wpthemes.themehunk.com/market-mania","api_url":"https://wpthemes.themehunk.com/market-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","wc-multivendor-marketplace":"WCFM Marketplace","wc-frontend-manager":"WCFM Frontend Manager","wc-multivendor-membership":"WCFM Membership"},"tags":["multivendor","marketplace","fashion","clothing","multivendor","electronics","furniture","jewelry","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]},{"id":"252","title":"Amaze Mania Multi Vendor","free_paid":"paid","slug":"amaze-mania","thumb":"https://themehunk.com/wp-content/uploads/2022/09/amaze-mania-7031.png","demo_url":"https://wpthemes.themehunk.com/amaze-mania","api_url":"https://wpthemes.themehunk.com/amaze-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","latest","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","wc-multivendor-marketplace":"WCFM Marketplace","wc-frontend-manager":"WCFM Frontend Manager","wc-multivendor-membership":"WCFM Membership"},"tags":["store","shop","fashion","clothing","multivendor","electronics","mobile","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]},{"id":"253","title":"Toys Mania","free_paid":"paid","slug":"toys-mania","thumb":"https://themehunk.com/wp-content/uploads/2015/07/toys-mania-ex.png","demo_url":"https://wpthemes.themehunk.com/toys-mania","api_url":"https://wpthemes.themehunk.com/toys-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","business","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["toys","baby","babysitting","children clothes","kids clothing","kids fashion","kindergarten","school","shop","store"]},{"id":"254","title":"Organic Food","free_paid":"paid","slug":"organic-food","thumb":"https://themehunk.com/wp-content/uploads/2022/11/organic-food-425.png","demo_url":"https://wpthemes.themehunk.com/organic-food/","api_url":"https://wpthemes.themehunk.com/organic-food/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["food","grocery","health products","healthy","natural","organic","organic food","organic shop","herbal","agriculture","vegetables","winery","farm"]},{"id":"255","title":"Charity Mania","free_paid":"paid","slug":"charity-mania","thumb":"https://themehunk.com/wp-content/uploads/2022/11/charity-313.png","demo_url":"https://wpthemes.themehunk.com/charity-mania/","api_url":"https://wpthemes.themehunk.com/charity-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","charity","event"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","charitable":"Charitable"},"tags":["charity","fundraising","non profit","ngo","church","non profit charity","donation","crowdfunding"]},{"id":"256","title":"Football Clubs","free_paid":"paid","slug":"football-shop-mania","thumb":"https://themehunk.com/wp-content/uploads/2022/11/football-club-1.png","demo_url":"https://wpthemes.themehunk.com/football-shop-mania/","api_url":"https://wpthemes.themehunk.com/football-shop-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","sports","event"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["athletes","sportsmen","super bowl","trainers","coaches","runners","sportsmen","lifestyle shop","sports shop","sports store"]},{"id":"257","title":"Christmas Shop","free_paid":"paid","slug":"christmas-shop","thumb":"https://themehunk.com/wp-content/uploads/2022/12/christmas-shop-7392.png","demo_url":"https://wpthemes.themehunk.com/christmas-shop/","api_url":"https://wpthemes.themehunk.com/christmas-shop/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","business","event"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["christmas","Gifts","events","shopping","cosmetics","accessories","fashion"]},{"id":"258","title":"Plus Size Shop","free_paid":"paid","slug":"plus-size-shop","thumb":"https://themehunk.com/wp-content/uploads/2022/12/plus-size-shop-1.png","demo_url":"https://wpthemes.themehunk.com/plus-size-shop/","api_url":"https://wpthemes.themehunk.com/plus-size-shop/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","fashion","clothing","shopping","accessories","furniture","shopping","plus size","plus size shop","plus size store"]},{"id":"260","title":"Drinking Water Delivery","free_paid":"paid","slug":"drinking-water-delivery","thumb":"https://themehunk.com/wp-content/uploads/2023/01/drinking-water-43.png","demo_url":"https://wpthemes.themehunk.com/drinking-water-delivery","api_url":"https://wpthemes.themehunk.com/drinking-water-delivery/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","landing-page"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["water","water delivery","service","landing-page","business","shop","store"]},{"id":"261","title":"Event Ticketing","free_paid":"paid","slug":"wordpress-event-ticketing","thumb":"https://themehunk.com/wp-content/uploads/2023/03/event-ticket-booking-2.png","demo_url":"https://wpthemes.themehunk.com/wordpress-event-ticketing","api_url":"https://wpthemes.themehunk.com/wordpress-event-ticketing/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multipurpose","business","music"],"plugin":{"elementor":"Elementor","lead-form-builder":"Lead Form Builder","tickera-event-ticketing-system":"Tickera u2013 WordPress Event Ticketing"},"tags":["landing-page","agency","music","booking","tickets","events"]},{"id":"265","title":"Church WordPress Template","free_paid":"paid","slug":"church","thumb":"https://themehunk.com/wp-content/uploads/2023/04/church-7032.png","demo_url":"https://wpthemes.themehunk.com/church","api_url":"https://wpthemes.themehunk.com/church/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","community","multipurpose"],"plugin":{"elementor":"Elementor","lead-form-builder":"Lead Form Builder"},"tags":["charity","ngo","church","wedding","college","university","coach","event","dating"]},{"id":"266","title":"Transportation and Logistics","free_paid":"paid","slug":"transportation-and-logistics","thumb":"https://themehunk.com/wp-content/uploads/2023/05/logistics-823.png","demo_url":"https://wpthemes.themehunk.com/transportation-and-logistics","api_url":"https://wpthemes.themehunk.com/transportation-and-logistics/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","multivendor","business","travel"],"plugin":{"elementor":"Elementor","lead-form-builder":"Lead Form Builder"},"tags":["landing-page","agency","travel","logistics","transportation","transport","real estate","It company"]},{"id":"267","title":"Big Market Multivendor","free_paid":"paid","slug":"big-market","thumb":"https://themehunk.com/wp-content/uploads/2023/06/big-market-323.png","demo_url":"https://wpthemes.themehunk.com/big-market","api_url":"https://wpthemes.themehunk.com/big-market/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce","multivendor"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","dc-woocommerce-multi-vendor":"MultiVendorX"},"tags":["store","shop","fashion","clothing","multivendor","electronics","furniture","jewelry","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]},{"id":"268","title":"Tea Shop","free_paid":"paid","slug":"tea-shop","thumb":"https://themehunk.com/wp-content/uploads/2023/06/tea-shop-2.png","demo_url":"https://wpthemes.themehunk.com/tea-shop","api_url":"https://wpthemes.themehunk.com/tea-shop/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","ecommerce","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","tea shop","coffee shop","fashion","clothing ","shopping","accessories"]},{"id":"269","title":"Auto Parts","free_paid":"paid","slug":"auto-parts","thumb":"https://themehunk.com/wp-content/uploads/2023/01/auto-parts-12.png","demo_url":"https://wpthemes.themehunk.com/auto-parts","api_url":"https://wpthemes.themehunk.com/auto-parts/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","woocommerce","ecommerce","multivendor"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","ymm-search":"YMM Search"},"tags":["auto parts store","parts store","tools shop","electronics store","tire shop","auto parts multivendor","automotive shop","marketplace","multivendor","bike parts","Automobile shop"]},{"id":"270","title":"Clothing Store","free_paid":"paid","slug":"clothing","thumb":"https://themehunk.com/wp-content/uploads/2023/07/clothing-template-32.png","demo_url":"https://wpthemes.themehunk.com/clothing/","api_url":"https://wpthemes.themehunk.com/clothing/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","ecommerce","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","fashion","clothing","shopping","accessories"]},{"id":"271","title":"God idols","free_paid":"paid","slug":"god-idols","thumb":"https://themehunk.com/wp-content/uploads/2024/01/hindu-god-70.png","demo_url":"https://wpthemes.themehunk.com/god-idols/","api_url":"https://wpthemes.themehunk.com/god-idols/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","ecommerce","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","wp-popup-builder":"WP Popup Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","god idols","accessories",""]},{"id":"272","title":"Store Mania","free_paid":"paid","slug":"store-mania","thumb":"https://themehunk.com/wp-content/uploads/2024/01/store-mania-8080.webp","demo_url":"https://wpthemes.themehunk.com/store-mania/","api_url":"https://wpthemes.themehunk.com/store-mania/wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","ecommerce","woocommerce","multivendor"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","wp-popup-builder":"WP Popup Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist","wc-multivendor-marketplace":"WCFM Marketplace","wc-frontend-manager":"WCFM Frontend Manager","wc-multivendor-membership":"WCFM Membership"},"tags":["store","shop","fashion","multivendor","shopping","accessories"]},{"id":"280","title":"Hair Extensions","free_paid":"paid","slug":"hair-extensions-mania","thumb":"https://themehunk.com/wp-content/uploads/2024/03/hair-extensions-7133.png","demo_url":"https://wpthemes.themehunk.com/hair-extensions-mania/","api_url":"https://wpthemes.themehunk.com/hair-extensions-mania//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","latest","ecommerce","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","hair beauty","hair extensions","shopping","accessories"]},{"id":"282","title":"Perfume Mania","free_paid":"paid","slug":"perfume-mania","thumb":"https://themehunk.com/wp-content/uploads/2024/04/perfume-8011.png","demo_url":"https://wpthemes.themehunk.com/perfume-mania/","api_url":"https://wpthemes.themehunk.com/perfume-mania//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","latest","ecommerce","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","perfume beauty","perfume","shopping","accessories"]},{"id":"291","title":"Nyka Mania","free_paid":"paid","slug":"nyka-mania","thumb":"https://themehunk.com/wp-content/uploads/2024/04/nyka-12132.png","demo_url":"https://wpthemes.themehunk.com/nyka-mania/","api_url":"https://wpthemes.themehunk.com/nyka-mania//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","ecommerce","woocommerce","multivendor"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist","megamenu":"Max Mega Menu"},"tags":["store","shop","nyka","multivendor","shopping","accessories"]},{"id":"292","title":"Craft Beer","free_paid":"paid","slug":"craft-beer","thumb":"https://themehunk.com/wp-content/uploads/2024/04/craft-beer-801.webp","demo_url":"https://wpthemes.themehunk.com/craft-beer/","api_url":"https://wpthemes.themehunk.com/craft-beer//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","latest","pro","ecommerce","woocommerce","multipurpose"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","craft","multivendor","shopping"]},{"id":"293","title":"Ceramic Shop","free_paid":"paid","slug":"ceramic-shop","thumb":"https://themehunk.com/wp-content/uploads/2024/05/ceramic-703132.png","demo_url":"https://wpthemes.themehunk.com/ceramic-shop/","api_url":"https://wpthemes.themehunk.com/ceramic-shop//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","latest","ecommerce","woocommerce","multipurpose"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","ceramic","shopping"]},{"id":"294","title":"Esty","free_paid":"paid","slug":"esty","thumb":"https://themehunk.com/wp-content/uploads/2024/05/esty-830.png","demo_url":"https://wpthemes.themehunk.com/esty/","api_url":"https://wpthemes.themehunk.com/esty//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","latest","ecommerce","woocommerce","multipurpose","multivendor"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist","wc-multivendor-marketplace":"WCFM Marketplace","wc-frontend-manager":"WCFM Frontend Manager","wc-multivendor-membership":"WCFM Membership"},"tags":["store","shop","multipurpose","shopping","etsy"]},{"id":"297","title":"Aquarium Mania","free_paid":"paid","slug":"aquarium-mania","thumb":"https://themehunk.com/wp-content/uploads/2024/06/aquarium-323.png","demo_url":"https://wpthemes.themehunk.com/aquarium-mania","api_url":"https://wpthemes.themehunk.com/aquarium-mania//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","latest","ecommerce","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","multipurpose","shopping","aquarium"]},{"id":"298","title":"Electric Scooter","free_paid":"paid","slug":"electric-scooter-single-product","thumb":"https://themehunk.com/wp-content/uploads/2024/06/ev-bike-322.png","demo_url":"https://wpthemes.themehunk.com/electric-scooter-single-product","api_url":"https://wpthemes.themehunk.com/electric-scooter-single-product//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","latest","ecommerce","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","multipurpose","single","electric","ev-scooter"]},{"id":"299","title":"Wallmart","free_paid":"paid","slug":"wallmart","thumb":"https://themehunk.com/wp-content/uploads/2024/06/walmart-temp-814.png","demo_url":"https://wpthemes.themehunk.com/wallmart","api_url":"https://wpthemes.themehunk.com/wallmart//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","pro","latest","ecommerce","woocommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","multipurpose","walmart","multivendor","electric"]},{"id":"300","title":"Smart Watch","free_paid":"paid","slug":"smart-watch","thumb":"https://www.themehunk.com/wp-content/uploads/2024/07/smart-watch-3244.png","demo_url":"https://wpthemes.themehunk.com/smart-watch","api_url":"https://wpthemes.themehunk.com/smart-watch//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","latest","paid","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","electronic","watch","smart-watch","accessories"]},{"id":"304","title":"Skin Care","free_paid":"paid","slug":"skin-care","thumb":"https://www.themehunk.com/wp-content/uploads/2024/07/skin-care-83-23.png","demo_url":"https://wpthemes.themehunk.com/skin-care","api_url":"https://wpthemes.themehunk.com/skin-care//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","latest","paid","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","fashion","cosmetics","shopping","skin-care"]},{"id":"305","title":"Drone","free_paid":"paid","slug":"drone","thumb":"https://www.themehunk.com/wp-content/uploads/2024/07/drone-38222.png","demo_url":"https://wpthemes.themehunk.com/drone","api_url":"https://wpthemes.themehunk.com/drone//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","latest","paid","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","dron","electronics","ai","accessories"]},{"id":"308","title":"Handyman Services","free_paid":"paid","slug":"handyman-services","thumb":"https://themehunk.com/wp-content/uploads/2024/07/handyman-8031.png","demo_url":"https://wpthemes.themehunk.com/handyman-services","api_url":"https://wpthemes.themehunk.com/handyman-services//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","latest","paid","woocommerce","ecommerce","services"],"plugin":{"elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","Services","Handyman","product","Handyman Services"]},{"id":"309","title":"Car Accessories","free_paid":"paid","slug":"car-accessories","thumb":"https://themehunk.com/wp-content/uploads/2024/08/car-accessories-382.png","demo_url":"https://wpthemes.themehunk.com/car-accessories","api_url":"https://wpthemes.themehunk.com/car-accessories//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","latest","paid","woocommerce","ecommerce","accessories"],"plugin":{"elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","car","Accessories","Car Accessories","motor"]},{"id":"306","title":"Air Purifier","free_paid":"paid","slug":"drone","thumb":"https://themehunk.com/wp-content/uploads/2024/07/air-purifier-392.png","demo_url":"https://wpthemes.themehunk.com/air-purifier","api_url":"https://wpthemes.themehunk.com/air-purifier//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","latest","paid","woocommerce","ecommerce","services"],"plugin":{"woocommerce":"Woocommerce","elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","yith-woocommerce-wishlist":"YITH WooCommerce Wishlist"},"tags":["store","shop","air purifier","product","purifier","air"]},{"id":"307","title":"Maintenance Services","free_paid":"paid","slug":"maintenance-services","thumb":"https://themehunk.com/wp-content/uploads/2024/07/maintenance-38013.png","demo_url":"https://wpthemes.themehunk.com/maintenance-services","api_url":"https://wpthemes.themehunk.com/maintenance-services//wp-json/wp/v2/themehunk-site/3245?theme=th-shop-mania","builder_theme":"th-shop-mania","category":["all","latest","paid","woocommerce","ecommerce","services"],"plugin":{"elementor":"Elementor","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","Services","maintenance","product","maintenance services"]}]'); /***/ }), /***/ "./assets/json/top-store-pro.json": /*!****************************************!*\ !*** ./assets/json/top-store-pro.json ***! \****************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[{"id":"122","title":"Electronics, Mobile & Tech Store","free_paid":"paid","slug":"electronics-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/electronics-store.png","demo_url":"https://wpthemes.themehunk.com/topstore-pro/","api_url":"https://wpthemes.themehunk.com/topstore-pro/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","fashion","clothing","multivendor","electronics","furniture","jewelry","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]},{"id":"123","title":"Watch Store","free_paid":"paid","slug":"watch-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/watch-store.png","demo_url":"https://wpthemes.themehunk.com/topstore-watches/","api_url":"https://wpthemes.themehunk.com/topstore-watches/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["watch","watches","jewellery","jewelry","necklaces"]},{"id":"124","title":"Tools Shop","free_paid":"paid","slug":"tools-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/tools-shop.png","demo_url":"https://wpthemes.themehunk.com/tools-shop/","api_url":"https://wpthemes.themehunk.com/tools-shop/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["tools","accessories","auto parts","auto shop","bike parts","car repair","equipment","garage","motorcycle shop","spare parts","tools","tools shop","tuning shop"]},{"id":"125","title":"Pet Store","free_paid":"paid","slug":"pet-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/pet-store.png","demo_url":"https://wpthemes.themehunk.com/pet-world/","api_url":"https://wpthemes.themehunk.com/pet-world/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder","wp-popup-builder":"WP Popup Builder"},"tags":["pet","animal","dairy","shopping"]},{"id":"126","title":"Plant Store","free_paid":"paid","slug":"plant-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/plant-store.png","demo_url":"https://wpthemes.themehunk.com/plant-store/","api_url":"https://wpthemes.themehunk.com/plant-store/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["flower","garden","garden theme","indoor plant","interior","plant","plant store theme","tree","gardening","garden shop"]},{"id":"127","title":"Grocery Shop","free_paid":"paid","slug":"grocery-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/grocery-shop.png","demo_url":"https://wpthemes.themehunk.com/top-store-pro-grocery/","api_url":"https://wpthemes.themehunk.com/top-store-pro-grocery/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","grocery","vegetabless","fruits","dry fruits","food","cafe"]},{"id":"129","title":"Bag Store","free_paid":"paid","slug":"bag-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/bag-store.png","demo_url":"https://wpthemes.themehunk.com/bag-store/","api_url":"https://wpthemes.themehunk.com/bag-store/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["bag store","bag shop","clothing","accessories","shopping","shoes","glasses"]},{"id":"134","title":"Bike Store","free_paid":"paid","slug":"bike-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/bike-store.png","demo_url":"https://wpthemes.themehunk.com/bike-store/","api_url":"https://wpthemes.themehunk.com/bike-store/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["bicycle","bike","business","clean","creative","auto parts"]},{"id":"136","title":"Gift Store","free_paid":"paid","slug":"gift-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/gift-store.png","demo_url":"https://wpthemes.themehunk.com/gift-store/","api_url":"https://wpthemes.themehunk.com/gift-store/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["gift","gift store","auto parts","cosmetic","dokan","electronics","fashion,","jewelry","landing-page","marketplace","medical","music shop"]},{"id":"137","title":"Art Store","free_paid":"paid","slug":"art-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/art-store.png","demo_url":"https://wpthemes.themehunk.com/art-store/","api_url":"https://wpthemes.themehunk.com/art-store/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["art","artist","artist portfolio","artwork","fine art","gallery","creative","photography"]},{"id":"138","title":"Electronics Shop","free_paid":"free","slug":"electronics-shop","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/free/free-topstore-electronics.png","demo_url":"https://wpthemes.themehunk.com/topstore/","api_url":"https://wpthemes.themehunk.com/topstore/wp-json/wp/v2/themehunk-site/3245?theme=top-store","builder_theme":"top-store-pro","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","fashion","clothing","multivendor","electronics","furniture","jewelry","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]},{"id":"139","title":"Fast Food & Pizza Restaurants","free_paid":"free","slug":"fast-food-pizza-restaurants","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/free/free-topstore-darkscheme.png","demo_url":"https://wpthemes.themehunk.com/topstore-darkscheme/","api_url":"https://wpthemes.themehunk.com/topstore-darkscheme/wp-json/wp/v2/themehunk-site/3245?theme=top-store","builder_theme":"top-store-pro","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["restaurants","food","pizza","fast food","hotel","burger"]},{"id":"140","title":"Food and Grocery Store","free_paid":"free","slug":"food-grocery-store","thumb":"https://themehunk.com/wp-content/uploads/templates-demo/top-store-pro/free/free-topstore-grocery.png","demo_url":"https://wpthemes.themehunk.com/topstore-grocery/","api_url":"https://wpthemes.themehunk.com/topstore-grocery/wp-json/wp/v2/themehunk-site/3245?theme=top-store","builder_theme":"top-store-pro","category":["all","free","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","grocery","vegetabless","fruits","dry fruits","food","cafe","food store"]},{"id":"166","title":"Multi Vendor","free_paid":"paid","slug":"multi-vendor","thumb":"http://themehunk.com/wp-content/uploads/sites-demo/top-store/multi-vendor/multi-vendor.png","demo_url":"https://wpthemes.themehunk.com/top-store-multi-vendor/","api_url":"https://wpthemes.themehunk.com/top-store-multi-vendor/wp-json/wp/v2/themehunk-site/3245?theme=top-store-pro","builder_theme":"top-store-pro","category":["all","pro","woocommerce","ecommerce"],"plugin":{"woocommerce":"Woocommerce","th-advance-product-search":"TH Product Search","th-all-in-one-woo-cart":"TH Woo Cart","th-product-compare":"TH Product Compare","lead-form-builder":"Lead Form Builder"},"tags":["store","shop","fashion","clothing","multivendor","electronics","furniture","jewelry","shopping","cosmetics","accessories","shoes","glasses","food","grocery","cake","watch","gift"]}]'); /***/ }), /***/ "./assets/lottie/loading.json": /*!************************************!*\ !*** ./assets/lottie/loading.json ***! \************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('{"nm":"Comp 2","ddd":0,"h":300,"w":300,"meta":{"g":"@lottiefiles/toolkit-js 0.26.1"},"layers":[{"ty":0,"nm":"Comp 1","sr":1,"st":62,"op":152,"ip":62,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[100,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[150,175,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":200,"h":100,"refId":"comp_0","ind":1},{"ty":0,"nm":"Comp 1","sr":1,"st":30,"op":120,"ip":30,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[100,50,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.069,"y":0.995},"s":[100,100,100],"t":62},{"o":{"x":0.333,"y":0},"i":{"x":0.833,"y":1},"s":[80,80,100],"t":76},{"s":[80,80,100],"t":94}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.182,"y":1},"s":[150,175,0],"t":62,"ti":[0,8.58333301544189,0],"to":[0,-8.58333301544189,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.182,"y":0.182},"s":[150,123.5,0],"t":76,"ti":[0,0,0],"to":[0,0,0]},{"s":[150,123.5,0],"t":94}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":62},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[60],"t":76},{"s":[60],"t":94}],"ix":11}},"ef":[],"w":200,"h":100,"refId":"comp_0","ind":2},{"ty":0,"nm":"Comp 1","sr":1,"st":-2,"op":88,"ip":-2,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[100,50,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.069,"y":0.995},"s":[100,100,100],"t":30},{"o":{"x":0.333,"y":0},"i":{"x":0.833,"y":1},"s":[80,80,100],"t":44},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[80,80,100],"t":62},{"s":[50,50,100],"t":76}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.182,"y":1},"s":[150,175,0],"t":30,"ti":[0,8.58333301544189,0],"to":[0,-8.58333301544189,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.182,"y":0.182},"s":[150,123.5,0],"t":44,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0},"i":{"x":0.182,"y":1},"s":[150,123.5,0],"t":62,"ti":[0,6.16666650772095,0],"to":[0,-6.16666650772095,0]},{"s":[150,86.5,0],"t":76}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":30},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[60],"t":44},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[60],"t":62},{"s":[0],"t":76}],"ix":11}},"ef":[],"w":200,"h":100,"refId":"comp_0","ind":3},{"ty":0,"nm":"Comp 1","sr":1,"st":-33,"op":57,"ip":-33,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[100,50,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.069,"y":0.995},"s":[100,100,100],"t":-1},{"o":{"x":0.333,"y":0},"i":{"x":0.833,"y":1},"s":[80,80,100],"t":13},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[80,80,100],"t":31},{"s":[50,50,100],"t":45}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.182,"y":1},"s":[150,175,0],"t":-1,"ti":[0,8.58333301544189,0],"to":[0,-8.58333301544189,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.182,"y":0.182},"s":[150,123.5,0],"t":13,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0},"i":{"x":0.182,"y":1},"s":[150,123.5,0],"t":31,"ti":[0,6.16666650772095,0],"to":[0,-6.16666650772095,0]},{"s":[150,86.5,0],"t":45}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":-1},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[60],"t":13},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[60],"t":31},{"s":[0],"t":45}],"ix":11}},"ef":[],"w":200,"h":100,"refId":"comp_0","ind":4},{"ty":0,"nm":"Comp 1","sr":1,"st":-76,"op":14,"ip":-76,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[100,50,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.069,"y":0.995},"s":[100,100,100],"t":-35},{"o":{"x":0.333,"y":0},"i":{"x":0.833,"y":1},"s":[80,80,100],"t":-21},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[80,80,100],"t":-1},{"s":[50,50,100],"t":13}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.182,"y":1},"s":[150,175,0],"t":-35,"ti":[0,8.58333301544189,0],"to":[0,-8.58333301544189,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.182,"y":0.182},"s":[150,123.5,0],"t":-21,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0},"i":{"x":0.182,"y":1},"s":[150,123.5,0],"t":-1,"ti":[0,6.16666650772095,0],"to":[0,-6.16666650772095,0]},{"s":[150,86.5,0],"t":13}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":-35},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[60],"t":-21},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[60],"t":-1},{"s":[0],"t":13}],"ix":11}},"ef":[],"w":200,"h":100,"refId":"comp_0","ind":5}],"v":"5.1.6","fr":31,"op":94,"ip":0,"assets":[{"nm":"","id":"comp_0","layers":[{"ty":4,"nm":"Shape Layer 3","sr":1,"st":0,"op":118,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-30,-6.544,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.651,"y":0.998},"s":[0,75.476,100],"t":9},{"o":{"x":0.379,"y":0.013},"i":{"x":0.524,"y":0.97},"s":[110,75.476,100],"t":21},{"s":[100,75.476,100],"t":29}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[81,59.26,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle 1","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":2,"ix":4},"s":{"a":0,"k":[85.26,14.271],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8824,0.8118,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[12.63,-8.364],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":"Shape Layer 2","sr":1,"st":0,"op":166,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-30,-6.544,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.651,"y":0.997},"s":[0,75.476,100],"t":3},{"o":{"x":0.379,"y":0.027},"i":{"x":0.524,"y":0.94},"s":[90,75.476,100],"t":15},{"s":[85,75.476,100],"t":23}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[81,41.26,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle 1","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":2,"ix":4},"s":{"a":0,"k":[85.26,14.271],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8824,0.8118,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[12.63,-8.364],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":"Shape Layer 1","sr":1,"st":0,"op":166,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-66.789,-32.789,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.044,"y":0.991},"s":[0,0,100],"t":0},{"s":[93,93,100],"t":12}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[48.961,49.211,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle 1","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"s":{"a":0,"k":[38.422,38.422],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8824,0.8118,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[-66.789,-32.789],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3}]}]}'); /***/ }), /***/ "./assets/lottie/progress.json": /*!*************************************!*\ !*** ./assets/lottie/progress.json ***! \*************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('{"nm":"Comp 1","ddd":0,"h":5,"w":350,"meta":{"g":"LottieFiles AE 3.4.3","tc":"#00000000"},"layers":[{"ty":4,"nm":"Shape Layer 1","sr":1,"st":0,"op":900.000036657751,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[108.95,71.43,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[175,2.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle 1","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"s":{"a":0,"k":[319.365,7.076],"ix":2}},{"ty":"gf","bm":0,"hd":false,"mn":"ADBE Vector Graphic - G-Fill","nm":"Gradient Fill 1","e":{"a":0,"k":[584.472,6.137],"ix":6},"g":{"p":7,"k":{"a":0,"k":[0,0.40784313725490196,0.23137254901960785,0.9882352941176471,0.088,0.7058823529411765,0.5764705882352941,1,0.271,0.396078431372549,0.01568627450980392,1,0.519,0.7058823529411765,0.5764705882352941,1,0.648,0.40784313725490196,0.23137254901960785,0.9882352941176471,0.754,0.7058823529411765,0.5764705882352941,1,1,0.396078431372549,0.01568627450980392,1],"ix":9}},"t":2,"a":{"a":0,"k":0,"ix":8},"h":{"a":0,"k":0,"ix":7},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[173.468,0],"t":0},{"o":{"x":0.167,"y":0.167},"i":{"x":0.667,"y":1},"s":[-391.267,0],"t":83},{"s":[173.468,0],"t":178.000007250089}],"ix":5},"r":1,"o":{"a":0,"k":100,"ix":10}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0.433,0.038],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1}],"v":"4.8.0","fr":29.9700012207031,"op":179.000007290819,"ip":0,"assets":[]}'); /***/ }), /***/ "./assets/lottie/success.json": /*!************************************!*\ !*** ./assets/lottie/success.json ***! \************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('{"v":"5.7.1","fr":30,"ip":0,"op":60,"w":300,"h":300,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[151,151,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-22.5,-7.5],[0,0]],"o":[[0,0],[22.5,7.5],[0,0]],"v":[[61,78.5],[78,100.5],[94,115.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.431372578939,0.725720753389,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":28.254,"s":[0]},{"t":51,"s":[100]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":17,"s":[0]},{"t":46.2109375,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":17,"op":617,"st":17,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":203,"ix":10},"p":{"a":0,"k":[251.408,59.449,0],"ix":2},"a":{"a":0,"k":[-103.936,89.696,0],"ix":1},"s":{"a":0,"k":[91.456,89.381,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[29.459,25.084],[5,-25.75],[5.75,-0.75]],"o":[[0,0],[-25.25,-21.5],[-5.515,28.405],[-5.75,0.75]],"v":[[-75,68.75],[-107.25,86.5],[-94,84],[-128.75,113]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.713725490196,0.211764720842,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":28.254,"s":[0]},{"t":51,"s":[100]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":17,"s":[0]},{"t":46.2109375,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":17,"op":617,"st":17,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-21,347,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[20.5,4.5],[0,0],[18.25,9.25],[3.5,-3.25]],"o":[[0,0],[-20.5,-4.5],[0,0],[-18.25,-9.25],[-3.5,3.25]],"v":[[90.75,-122.25],[83.5,-110.5],[81.25,-97.25],[69.75,-93.25],[61,-75.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.745098039216,0.643137254902,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":28.254,"s":[0]},{"t":51,"s":[100]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":17,"s":[0]},{"t":46.2109375,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":17,"op":617,"st":17,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[147,146,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[109.756,101.856,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[33.75,1]],"o":[[0,0],[-33.75,-1]],"v":[[-57.75,-75.75],[-90.75,-107.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.431372578939,0.513725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-1.5,-0.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":28.254,"s":[0]},{"t":51,"s":[100]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":17,"s":[0]},{"t":46.2109375,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":17,"op":617,"st":17,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"checkmark/success Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150.06,150.061,0],"ix":2},"a":{"a":0,"k":[99,99,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":12,"s":[27,27,100]},{"t":21,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.831,1.409],[0,0],[-0.622,2.004],[-1.844,1.043],[-2.083,-0.474],[-1.215,-1.74],[0,0],[-0.949,0.537],[0,0],[-2.041,-0.632],[-1.075,-1.826],[0.463,-2.047],[1.756,-1.181]],"o":[[-1.424,0.805],[0,0],[-0.93,-1.899],[0.622,-2.006],[1.844,-1.042],[2.084,0.474],[0,0],[0.553,0.939],[0,0],[1.921,-0.899],[2.042,0.631],[1.076,1.823],[-0.463,2.047],[0,0]],"v":[[-26.138,30.587],[-30.199,29.498],[-58.899,-19.189],[-59.378,-25.261],[-55.542,-30.001],[-49.433,-30.884],[-44.302,-27.441],[-23.618,7.647],[-20.911,8.371],[47.571,-30.344],[53.736,-30.76],[58.584,-26.94],[59.537,-20.918],[56.086,-15.898]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[99.943,103.024],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[83.631,83.631],"ix":3},"r":{"a":0,"k":-12.6,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-47.479,-12.722],[12.721,-47.478],[47.478,12.722],[-12.723,47.478]],"o":[[47.479,12.722],[-12.723,47.479],[-47.478,-12.723],[12.721,-47.479]],"v":[[23.036,-85.967],[85.969,23.035],[-23.035,85.967],[-85.966,-23.035]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0.901960790157,0.901960790157,0.901960790157,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[0.901960790157,0.901960790157,0.901960790157,1]},{"t":29,"s":[0.262745112181,0.823529422283,0.588235318661,1]}],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[98.939,98.939],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"large-circles/success Outlines","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":42,"s":[100]},{"t":52,"s":[2]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[148,146,0],"ix":2},"a":{"a":0,"k":[95.5,98,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.009,0.009,0.333],"y":[1.621,1.621,0]},"t":17,"s":[62,62,100]},{"t":50,"s":[124,124,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.209,1.338],[-1.337,-6.209],[6.209,-1.337],[1.338,6.209]],"o":[[6.208,-1.337],[1.338,6.209],[-6.209,1.338],[-1.337,-6.209]],"v":[[-2.421,-11.243],[11.242,-2.422],[2.421,11.241],[-11.243,2.421]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.745000023935,0.642999985639,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[173.998,145.423],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[71,71],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.209,1.337],[-1.338,-6.209],[6.209,-1.338],[1.338,6.209]],"o":[[6.209,-1.338],[1.337,6.209],[-6.209,1.337],[-1.337,-6.208]],"v":[[-2.421,-11.242],[11.242,-2.422],[2.422,11.242],[-11.243,2.422]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.430999995213,0.725,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[63.997,183.011],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.209,1.337],[-1.337,-6.208],[6.209,-1.337],[1.338,6.209]],"o":[[6.209,-1.337],[1.338,6.209],[-6.209,1.338],[-1.337,-6.209]],"v":[[-2.421,-11.243],[11.242,-2.423],[2.421,11.242],[-11.243,2.421]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.713999968884,0.211999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[103.291,12.83],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.208,1.337],[-1.337,-6.209],[6.209,-1.338],[1.338,6.209]],"o":[[6.209,-1.337],[1.338,6.209],[-6.209,1.337],[-1.337,-6.209]],"v":[[-2.423,-11.242],[11.241,-2.422],[2.421,11.242],[-11.243,2.422]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.430999995213,0.725,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[178.004,59.795],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[67,67],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.209,1.337],[-1.338,-6.208],[6.209,-1.337],[1.338,6.209]],"o":[[6.209,-1.337],[1.337,6.209],[-6.209,1.338],[-1.337,-6.209]],"v":[[-2.421,-11.243],[11.243,-2.423],[2.422,11.242],[-11.243,2.421]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.430999995213,0.513999968884,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[12.829,84.352],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[68,68],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":17,"op":617,"st":17,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"checkmark/success Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150.073,150.073,0],"ix":2},"a":{"a":0,"k":[99,99,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.203,0.203,0.667],"y":[0.507,0.507,1]},"o":{"x":[0.915,0.915,0.333],"y":[0.651,0.651,0]},"t":50,"s":[93.357,93.357,100]},{"t":59,"s":[121.357,121.357,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.831,1.409],[0,0],[-0.622,2.004],[-1.844,1.043],[-2.083,-0.474],[-1.215,-1.74],[0,0],[-0.949,0.537],[0,0],[-2.041,-0.632],[-1.075,-1.826],[0.463,-2.047],[1.756,-1.181]],"o":[[-1.424,0.805],[0,0],[-0.93,-1.899],[0.622,-2.006],[1.844,-1.042],[2.084,0.474],[0,0],[0.553,0.939],[0,0],[1.921,-0.899],[2.042,0.631],[1.076,1.823],[-0.463,2.047],[0,0]],"v":[[-26.138,30.587],[-30.199,29.498],[-58.899,-19.189],[-59.378,-25.261],[-55.542,-30.001],[-49.433,-30.884],[-44.302,-27.441],[-23.618,7.647],[-20.911,8.371],[47.571,-30.344],[53.736,-30.76],[58.584,-26.94],[59.537,-20.918],[56.086,-15.898]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[98.943,102.024],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-47.479,-12.722],[12.721,-47.478],[47.478,12.722],[-12.723,47.478]],"o":[[47.479,12.722],[-12.723,47.479],[-47.478,-12.723],[12.721,-47.479]],"v":[[23.036,-85.967],[85.969,23.035],[-23.035,85.967],[-85.966,-23.035]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.452748945648,0.901960784314,0.712987563189,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[98.939,98.939],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":50,"op":650,"st":50,"bm":0}],"markers":[]}'); /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/amd options */ /******/ (() => { /******/ __webpack_require__.amdO = {}; /******/ })(); /******/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/global */ /******/ (() => { /******/ __webpack_require__.g = (function() { /******/ if (typeof globalThis === 'object') return globalThis; /******/ try { /******/ return this || new Function('return this')(); /******/ } catch (e) { /******/ if (typeof window === 'object') return window; /******/ } /******/ })(); /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be in strict mode. (() => { "use strict"; /*!**********************!*\ !*** ./src/index.js ***! \**********************/ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _App__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App */ "./src/App.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./store */ "./src/store.js"); const el = document.getElementById('root'); const root = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createRoot)(el); root.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(react_redux__WEBPACK_IMPORTED_MODULE_2__.Provider, { store: _store__WEBPACK_IMPORTED_MODULE_3__["default"] }, " ", (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_App__WEBPACK_IMPORTED_MODULE_1__["default"], null))); })(); /******/ })() ; //# sourceMappingURL=index.js.map