diff --git a/frontEnd/.firebaserc b/frontEnd/.firebaserc new file mode 100644 index 00000000..8329b97a --- /dev/null +++ b/frontEnd/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "twitter-clone-7e6e4" + } +} diff --git a/frontEnd/.gitignore b/frontEnd/.gitignore new file mode 100644 index 00000000..dbb58ffb --- /dev/null +++ b/frontEnd/.gitignore @@ -0,0 +1,66 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +firebase-debug.log* +firebase-debug.*.log* + +# Firebase cache +.firebase/ + +# Firebase config + +# Uncomment this if you'd like others to create their own Firebase project. +# For a team working on the same Firebase project(s), it is recommended to leave +# it commented so all members can deploy to the same project(s) in .firebaserc. +# .firebaserc + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env diff --git a/frontEnd/api/requirements.txt b/frontEnd/api/requirements.txt new file mode 100644 index 00000000..2b35a909 --- /dev/null +++ b/frontEnd/api/requirements.txt @@ -0,0 +1,56 @@ +appdirs==1.4.4 +autopep8==1.5.3 +awscli==1.18.57 +beautifulsoup4==4.9.1 +bleach==3.1.5 +boto3==1.12.36 +botocore==1.16.7 +certifi==2020.4.5.1 +chardet==3.0.4 +colorama==0.4.3 +cycler==0.10.0 +distlib==0.3.1 +docutils==0.15.2 +filelock==3.0.12 +idna==2.9 +jmespath==0.9.5 +keyring==21.2.1 +kiwisolver==1.2.0 +matplot==0.1.9 +matplotlib==3.2.1 +numpy==1.18.2 +opencv-python==4.2.0.34 +packaging==20.3 +pandas==1.0.3 +Pillow==7.1.1 +pipenv==2020.6.2 +pkginfo==1.5.0.1 +py-dateutil==2.2 +pyasn1==0.4.8 +pycodestyle==2.6.0 +Pygments==2.6.1 +pyloco==0.0.139 +pyparsing==2.4.7 +python-dateutil==2.8.1 +pytz==2020.1 +pywin32-ctypes==0.2.0 +PyYAML==5.3.1 +readme-renderer==26.0 +requests==2.23.0 +requests-toolbelt==0.9.1 +rsa==3.4.2 +s3transfer==0.3.3 +SimpleWebSocketServer==0.1.1 +six==1.14.0 +soupsieve==2.0.1 +toml==0.10.1 +tqdm==4.46.0 +twine==3.1.1 +typing==3.7.4.1 +urllib3==1.25.8 +ushlex==0.99.1 +virtualenv==20.0.27 +virtualenv-clone==0.5.4 +webencodings==0.5.1 +websocket-client==0.57.0 +Werkzeug==1.0.1 diff --git a/frontEnd/database.rules.json b/frontEnd/database.rules.json new file mode 100644 index 00000000..179b30e6 --- /dev/null +++ b/frontEnd/database.rules.json @@ -0,0 +1,6 @@ +{ + "rules": { + ".read": "now < 1603782000000", // 2020-10-27 + ".write": "now < 1603782000000", // 2020-10-27 + } +} \ No newline at end of file diff --git a/frontEnd/firebase.json b/frontEnd/firebase.json new file mode 100644 index 00000000..73d88406 --- /dev/null +++ b/frontEnd/firebase.json @@ -0,0 +1,54 @@ +{ + "database": { + "rules": "database.rules.json" + }, + "firestore": { + "rules": "firestore.rules", + "indexes": "firestore.indexes.json" + }, + "functions": { + "predeploy": [ + "npm --prefix \"$RESOURCE_DIR\" run lint" + ] + }, + "hosting": { + "public": "public", + "ignore": [ + "firebase.json", + "**/.*", + "**/node_modules/**" + ], + "rewrites": [ + { + "source": "**", + "destination": "/index.html" + } + ] + }, + "storage": { + "rules": "storage.rules" + }, + "emulators": { + "functions": { + "port": 5001 + }, + "firestore": { + "port": 8080 + }, + "database": { + "port": 9000 + }, + "hosting": { + "port": 5000 + }, + "pubsub": { + "port": 8085 + }, + "ui": { + "enabled": true + } + }, + "remoteconfig": { + "template": "remoteconfig.template.json" + } +} diff --git a/frontEnd/firestore.indexes.json b/frontEnd/firestore.indexes.json new file mode 100644 index 00000000..415027e5 --- /dev/null +++ b/frontEnd/firestore.indexes.json @@ -0,0 +1,4 @@ +{ + "indexes": [], + "fieldOverrides": [] +} diff --git a/frontEnd/firestore.rules b/frontEnd/firestore.rules new file mode 100644 index 00000000..8a3b44a6 --- /dev/null +++ b/frontEnd/firestore.rules @@ -0,0 +1,9 @@ +rules_version = '2'; +service cloud.firestore { + match /databases/{database}/documents { + match /{document=**} { + allow read, write: if + request.time < timestamp.date(2020, 10, 27); + } + } +} \ No newline at end of file diff --git a/frontEnd/functions/.eslintrc.json b/frontEnd/functions/.eslintrc.json new file mode 100644 index 00000000..6b6beb65 --- /dev/null +++ b/frontEnd/functions/.eslintrc.json @@ -0,0 +1,123 @@ +{ + "parserOptions": { + // Required for certain syntax usages + "ecmaVersion": 2017 + }, + "plugins": [ + "promise" + ], + "extends": "eslint:recommended", + "rules": { + // Removed rule "disallow the use of console" from recommended eslint rules + "no-console": "off", + + // Removed rule "disallow multiple spaces in regular expressions" from recommended eslint rules + "no-regex-spaces": "off", + + // Removed rule "disallow the use of debugger" from recommended eslint rules + "no-debugger": "off", + + // Removed rule "disallow unused variables" from recommended eslint rules + "no-unused-vars": "off", + + // Removed rule "disallow mixed spaces and tabs for indentation" from recommended eslint rules + "no-mixed-spaces-and-tabs": "off", + + // Removed rule "disallow the use of undeclared variables unless mentioned in /*global */ comments" from recommended eslint rules + "no-undef": "off", + + // Warn against template literal placeholder syntax in regular strings + "no-template-curly-in-string": 1, + + // Warn if return statements do not either always or never specify values + "consistent-return": 1, + + // Warn if no return statements in callbacks of array methods + "array-callback-return": 1, + + // Require the use of === and !== + "eqeqeq": 2, + + // Disallow the use of alert, confirm, and prompt + "no-alert": 2, + + // Disallow the use of arguments.caller or arguments.callee + "no-caller": 2, + + // Disallow null comparisons without type-checking operators + "no-eq-null": 2, + + // Disallow the use of eval() + "no-eval": 2, + + // Warn against extending native types + "no-extend-native": 1, + + // Warn against unnecessary calls to .bind() + "no-extra-bind": 1, + + // Warn against unnecessary labels + "no-extra-label": 1, + + // Disallow leading or trailing decimal points in numeric literals + "no-floating-decimal": 2, + + // Warn against shorthand type conversions + "no-implicit-coercion": 1, + + // Warn against function declarations and expressions inside loop statements + "no-loop-func": 1, + + // Disallow new operators with the Function object + "no-new-func": 2, + + // Warn against new operators with the String, Number, and Boolean objects + "no-new-wrappers": 1, + + // Disallow throwing literals as exceptions + "no-throw-literal": 2, + + // Require using Error objects as Promise rejection reasons + "prefer-promise-reject-errors": 2, + + // Enforce “for” loop update clause moving the counter in the right direction + "for-direction": 2, + + // Enforce return statements in getters + "getter-return": 2, + + // Disallow await inside of loops + "no-await-in-loop": 2, + + // Disallow comparing against -0 + "no-compare-neg-zero": 2, + + // Warn against catch clause parameters from shadowing variables in the outer scope + "no-catch-shadow": 1, + + // Disallow identifiers from shadowing restricted names + "no-shadow-restricted-names": 2, + + // Enforce return statements in callbacks of array methods + "callback-return": 2, + + // Require error handling in callbacks + "handle-callback-err": 2, + + // Warn against string concatenation with __dirname and __filename + "no-path-concat": 1, + + // Prefer using arrow functions for callbacks + "prefer-arrow-callback": 1, + + // Return inside each then() to create readable and reusable Promise chains. + // Forces developers to return console logs and http calls in promises. + "promise/always-return": 2, + + //Enforces the use of catch() on un-returned promises + "promise/catch-or-return": 2, + + // Warn against nested then() or catch() statements + "promise/no-nesting": 1 + } +} diff --git a/frontEnd/functions/.gitignore b/frontEnd/functions/.gitignore new file mode 100644 index 00000000..40b878db --- /dev/null +++ b/frontEnd/functions/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/frontEnd/functions/index.js b/frontEnd/functions/index.js new file mode 100644 index 00000000..8e038d24 --- /dev/null +++ b/frontEnd/functions/index.js @@ -0,0 +1,9 @@ +const functions = require('firebase-functions'); + +// // Create and Deploy Your First Cloud Functions +// // https://firebase.google.com/docs/functions/write-firebase-functions +// +// exports.helloWorld = functions.https.onRequest((request, response) => { +// functions.logger.info("Hello logs!", {structuredData: true}); +// response.send("Hello from Firebase!"); +// }); diff --git a/frontEnd/functions/package-lock.json b/frontEnd/functions/package-lock.json new file mode 100644 index 00000000..d17b3b82 --- /dev/null +++ b/frontEnd/functions/package-lock.json @@ -0,0 +1,2965 @@ +{ + "name": "functions", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@firebase/app-types": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.1.tgz", + "integrity": "sha512-L/ZnJRAq7F++utfuoTKX4CLBG5YR7tFO3PLzG1/oXXKEezJ0kRL3CMRoueBEmTCzVb/6SIs2Qlaw++uDgi5Xyg==" + }, + "@firebase/auth-interop-types": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.5.tgz", + "integrity": "sha512-88h74TMQ6wXChPA6h9Q3E1Jg6TkTHep2+k63OWg3s0ozyGVMeY+TTOti7PFPzq5RhszQPQOoCi59es4MaRvgCw==" + }, + "@firebase/component": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.1.19.tgz", + "integrity": "sha512-L0S3g8eqaerg8y0zox3oOHSTwn/FE8RbcRHiurnbESvDViZtP5S5WnhuAPd7FnFxa8ElWK0z1Tr3ikzWDv1xdQ==", + "requires": { + "@firebase/util": "0.3.2", + "tslib": "^1.11.1" + } + }, + "@firebase/database": { + "version": "0.6.13", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.6.13.tgz", + "integrity": "sha512-NommVkAPzU7CKd1gyehmi3lz0K78q0KOfiex7Nfy7MBMwknLm7oNqKovXSgQV1PCLvKXvvAplDSFhDhzIf9obA==", + "requires": { + "@firebase/auth-interop-types": "0.1.5", + "@firebase/component": "0.1.19", + "@firebase/database-types": "0.5.2", + "@firebase/logger": "0.2.6", + "@firebase/util": "0.3.2", + "faye-websocket": "0.11.3", + "tslib": "^1.11.1" + } + }, + "@firebase/database-types": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.5.2.tgz", + "integrity": "sha512-ap2WQOS3LKmGuVFKUghFft7RxXTyZTDr0Xd8y2aqmWsbJVjgozi0huL/EUMgTjGFrATAjcf2A7aNs8AKKZ2a8g==", + "requires": { + "@firebase/app-types": "0.6.1" + } + }, + "@firebase/logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.2.6.tgz", + "integrity": "sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw==" + }, + "@firebase/util": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.3.2.tgz", + "integrity": "sha512-Dqs00++c8rwKky6KCKLLY2T1qYO4Q+X5t+lF7DInXDNF4ae1Oau35bkD+OpJ9u7l1pEv7KHowP6CUKuySCOc8g==", + "requires": { + "tslib": "^1.11.1" + } + }, + "@google-cloud/common": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-2.4.0.tgz", + "integrity": "sha512-zWFjBS35eI9leAHhjfeOYlK5Plcuj/77EzstnrJIZbKgF/nkqjcQuGiMCpzCwOfPyUbz8ZaEOYgbHa759AKbjg==", + "optional": true, + "requires": { + "@google-cloud/projectify": "^1.0.0", + "@google-cloud/promisify": "^1.0.0", + "arrify": "^2.0.0", + "duplexify": "^3.6.0", + "ent": "^2.2.0", + "extend": "^3.0.2", + "google-auth-library": "^5.5.0", + "retry-request": "^4.0.0", + "teeny-request": "^6.0.0" + } + }, + "@google-cloud/firestore": { + "version": "3.8.6", + "resolved": "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-3.8.6.tgz", + "integrity": "sha512-ox80NbrM1MLJgvAAUd1quFLx/ie/nSjrk1PtscSicpoYDlKb9e6j7pHrVpbopBMyliyfNl3tLJWaDh+x+uCXqw==", + "optional": true, + "requires": { + "deep-equal": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "google-gax": "^1.15.3", + "readable-stream": "^3.4.0", + "through2": "^3.0.0" + } + }, + "@google-cloud/paginator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-2.0.3.tgz", + "integrity": "sha512-kp/pkb2p/p0d8/SKUu4mOq8+HGwF8NPzHWkj+VKrIPQPyMRw8deZtrO/OcSiy9C/7bpfU5Txah5ltUNfPkgEXg==", + "optional": true, + "requires": { + "arrify": "^2.0.0", + "extend": "^3.0.2" + } + }, + "@google-cloud/projectify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-1.0.4.tgz", + "integrity": "sha512-ZdzQUN02eRsmTKfBj9FDL0KNDIFNjBn/d6tHQmA/+FImH5DO6ZV8E7FzxMgAUiVAUq41RFAkb25p1oHOZ8psfg==", + "optional": true + }, + "@google-cloud/promisify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-1.0.4.tgz", + "integrity": "sha512-VccZDcOql77obTnFh0TbNED/6ZbbmHDf8UMNnzO1d5g9V0Htfm4k5cllY8P1tJsRKC3zWYGRLaViiupcgVjBoQ==", + "optional": true + }, + "@google-cloud/storage": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-4.7.0.tgz", + "integrity": "sha512-f0guAlbeg7Z0m3gKjCfBCu7FG9qS3M3oL5OQQxlvGoPtK7/qg3+W+KQV73O2/sbuS54n0Kh2mvT5K2FWzF5vVQ==", + "optional": true, + "requires": { + "@google-cloud/common": "^2.1.1", + "@google-cloud/paginator": "^2.0.0", + "@google-cloud/promisify": "^1.0.0", + "arrify": "^2.0.0", + "compressible": "^2.0.12", + "concat-stream": "^2.0.0", + "date-and-time": "^0.13.0", + "duplexify": "^3.5.0", + "extend": "^3.0.2", + "gaxios": "^3.0.0", + "gcs-resumable-upload": "^2.2.4", + "hash-stream-validation": "^0.2.2", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "onetime": "^5.1.0", + "p-limit": "^2.2.0", + "pumpify": "^2.0.0", + "readable-stream": "^3.4.0", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "through2": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "gaxios": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-3.2.0.tgz", + "integrity": "sha512-+6WPeVzPvOshftpxJwRi2Ozez80tn/hdtOUag7+gajDHRJvAblKxTFSSMPtr2hmnLy7p0mvYz0rMXLBl8pSO7Q==", + "optional": true, + "requires": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.3.0" + } + } + } + }, + "@grpc/grpc-js": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.0.5.tgz", + "integrity": "sha512-Hm+xOiqAhcpT9RYM8lc15dbQD7aQurM7ZU8ulmulepiPlN7iwBXXwP3vSBUimoFoApRqz7pSIisXU8pZaCB4og==", + "optional": true, + "requires": { + "semver": "^6.2.0" + } + }, + "@grpc/proto-loader": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.5.5.tgz", + "integrity": "sha512-WwN9jVNdHRQoOBo9FDH7qU+mgfjPc8GygPYms3M+y3fbQLfnCe/Kv/E01t7JRgnrsOHH8euvSbed3mIalXhwqQ==", + "optional": true, + "requires": { + "lodash.camelcase": "^4.3.0", + "protobufjs": "^6.8.6" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", + "optional": true + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "optional": true + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "optional": true + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", + "optional": true + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "optional": true, + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", + "optional": true + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", + "optional": true + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", + "optional": true + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", + "optional": true + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", + "optional": true + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "optional": true + }, + "@types/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.33", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", + "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==", + "requires": { + "@types/node": "*" + } + }, + "@types/express": { + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.3.tgz", + "integrity": "sha512-I8cGRJj3pyOLs/HndoP+25vOqhqWkAZsWMEmq1qXy/b/M3ppufecUwaK2/TVDVxcV61/iSdhykUjQQ2DLSrTdg==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.13.tgz", + "integrity": "sha512-RgDi5a4nuzam073lRGKTUIaL3eF2+H7LJvJ8eUnCI0wA6SNjXc44DCmWNiTLs/AZ7QlsFWZiw/gTG3nSQGL0fA==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/fs-extra": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.1.tgz", + "integrity": "sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@types/lodash": { + "version": "4.14.161", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.161.tgz", + "integrity": "sha512-EP6O3Jkr7bXvZZSZYlsgt5DIjiGr0dXP1/jVEwVLTFgg0d+3lWVQkRavYVQszV7dYUwvg0B8R0MBDpcmXg7XIA==", + "dev": true + }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", + "optional": true + }, + "@types/mime": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", + "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==" + }, + "@types/node": { + "version": "8.10.64", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.64.tgz", + "integrity": "sha512-/EwBIb+imu8Qi/A3NF9sJ9iuKo7yV+pryqjmeRqaU0C4wBAOhas5mdvoYeJ5PCKrh6thRSJHdoasFqh3BQGILA==" + }, + "@types/qs": { + "version": "6.9.5", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz", + "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==" + }, + "@types/range-parser": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" + }, + "@types/serve-static": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.5.tgz", + "integrity": "sha512-6M64P58N+OXjU432WoLLBQxbA0LRGBCRm7aAGQJ+SMC1IMl0dgRVi9EFfoDcS2a7Xogygk/eGN94CfwU9UF7UQ==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/mime": "*" + } + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "optional": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "agent-base": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz", + "integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==", + "optional": true, + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", + "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "optional": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "optional": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "available-typed-arrays": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", + "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", + "optional": true, + "requires": { + "array-filter": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "optional": true + }, + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", + "optional": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "optional": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "optional": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "optional": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "optional": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "optional": true + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "optional": true + }, + "date-and-time": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-0.13.1.tgz", + "integrity": "sha512-/Uge9DJAT+s+oAcDxtBhyR8+sKjUnZbYmyhbmWjTHNtX7B7oWD8YyYdeXcBRbwSj6hVvj+IQegJam7m7czhbFw==", + "optional": true + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "requires": { + "ms": "2.1.2" + } + }, + "deep-equal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.3.tgz", + "integrity": "sha512-Spqdl4H+ky45I9ByyJtXteOm9CaIrPmnIPmOhrkKGNYWeDgCvJ8jNYVCTjChxW4FqGuZnLHADc8EKRMX6+CgvA==", + "optional": true, + "requires": { + "es-abstract": "^1.17.5", + "es-get-iterator": "^1.1.0", + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.2", + "is-regex": "^1.0.5", + "isarray": "^2.0.5", + "object-is": "^1.1.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2", + "which-boxed-primitive": "^1.0.1", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.2" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "dicer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", + "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", + "requires": { + "streamsearch": "0.1.2" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "optional": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "optional": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true + } + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "optional": true, + "requires": { + "once": "^1.4.0" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "optional": true + }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-get-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz", + "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==", + "optional": true, + "requires": { + "es-abstract": "^1.17.4", + "has-symbols": "^1.0.1", + "is-arguments": "^1.0.4", + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "eslint-plugin-promise": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", + "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "dev": true, + "requires": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "optional": true + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "optional": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fast-text-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", + "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==", + "optional": true + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "firebase-admin": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-8.13.0.tgz", + "integrity": "sha512-krXj5ncWMJBhCpXSn9UFY6zmDWjFjqgx+1e9ATXKFYndEjmKtNBuJzqdrAdDh7aTUR7X6+0TPx4Hbc08kd0lwQ==", + "requires": { + "@firebase/database": "^0.6.0", + "@google-cloud/firestore": "^3.0.0", + "@google-cloud/storage": "^4.1.2", + "@types/node": "^8.10.59", + "dicer": "^0.3.0", + "jsonwebtoken": "^8.5.1", + "node-forge": "^0.7.6" + } + }, + "firebase-functions": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/firebase-functions/-/firebase-functions-3.11.0.tgz", + "integrity": "sha512-i1uMhZ/M6i5SCI3ulKo7EWX0/LD+I5o6N+sk0HbOWfzyWfOl0iJTvQkR3BVDcjrlhPVC4xG1bDTLxd+DTkLqaw==", + "requires": { + "@types/express": "4.17.3", + "cors": "^2.8.5", + "express": "^4.17.1", + "lodash": "^4.17.14" + } + }, + "firebase-functions-test": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/firebase-functions-test/-/firebase-functions-test-0.2.2.tgz", + "integrity": "sha512-SlHLnpKRn5nMsg4Y0CUTGs/R8NatghJCYZGw3fHzaS/5xDqwWPWuxmdHHc+MSuxrSrUROEwOrDTwrbjmRaSNjw==", + "dev": true, + "requires": { + "@types/lodash": "^4.14.104", + "lodash": "^4.17.5" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "optional": true + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "gaxios": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz", + "integrity": "sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==", + "optional": true, + "requires": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.3.0" + } + }, + "gcp-metadata": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.5.0.tgz", + "integrity": "sha512-ZQf+DLZ5aKcRpLzYUyBS3yo3N0JSa82lNDO8rj3nMSlovLcz2riKFBsYgDzeXcv75oo5eqB2lx+B14UvPoCRnA==", + "optional": true, + "requires": { + "gaxios": "^2.1.0", + "json-bigint": "^0.3.0" + } + }, + "gcs-resumable-upload": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-2.3.3.tgz", + "integrity": "sha512-sf896I5CC/1AxeaGfSFg3vKMjUq/r+A3bscmVzZm10CElyRanN0XwPu/MxeIO4LSP+9uF6yKzXvNsaTsMXUG6Q==", + "optional": true, + "requires": { + "abort-controller": "^3.0.0", + "configstore": "^5.0.0", + "gaxios": "^2.0.0", + "google-auth-library": "^5.0.0", + "pumpify": "^2.0.0", + "stream-events": "^1.0.4" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "google-auth-library": { + "version": "5.10.1", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.10.1.tgz", + "integrity": "sha512-rOlaok5vlpV9rSiUu5EpR0vVpc+PhN62oF4RyX/6++DG1VsaulAFEMlDYBLjJDDPI6OcNOCGAKy9UVB/3NIDXg==", + "optional": true, + "requires": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "fast-text-encoding": "^1.0.0", + "gaxios": "^2.1.0", + "gcp-metadata": "^3.4.0", + "gtoken": "^4.1.0", + "jws": "^4.0.0", + "lru-cache": "^5.0.0" + } + }, + "google-gax": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-1.15.3.tgz", + "integrity": "sha512-3JKJCRumNm3x2EksUTw4P1Rad43FTpqrtW9jzpf3xSMYXx+ogaqTM1vGo7VixHB4xkAyATXVIa3OcNSh8H9zsQ==", + "optional": true, + "requires": { + "@grpc/grpc-js": "~1.0.3", + "@grpc/proto-loader": "^0.5.1", + "@types/fs-extra": "^8.0.1", + "@types/long": "^4.0.0", + "abort-controller": "^3.0.0", + "duplexify": "^3.6.0", + "google-auth-library": "^5.0.0", + "is-stream-ended": "^0.1.4", + "lodash.at": "^4.6.0", + "lodash.has": "^4.5.2", + "node-fetch": "^2.6.0", + "protobufjs": "^6.8.9", + "retry-request": "^4.0.0", + "semver": "^6.0.0", + "walkdir": "^0.4.0" + } + }, + "google-p12-pem": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.4.tgz", + "integrity": "sha512-S4blHBQWZRnEW44OcR7TL9WR+QCqByRvhNDZ/uuQfpxywfupikf/miba8js1jZi6ZOGv5slgSuoshCWh6EMDzg==", + "optional": true, + "requires": { + "node-forge": "^0.9.0" + }, + "dependencies": { + "node-forge": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.2.tgz", + "integrity": "sha512-naKSScof4Wn+aoHU6HBsifh92Zeicm1GDQKd1vp3Y/kOi8ub0DozCa9KpvYNCXslFHYRmLNiqRopGdTGwNLpNw==", + "optional": true + } + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "optional": true + }, + "gtoken": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-4.1.4.tgz", + "integrity": "sha512-VxirzD0SWoFUo5p8RDP8Jt2AGyOmyYcT/pOUgDKJCK+iSw0TMqwrVfY37RXTNmoKwrzmDHSk0GMT9FsgVmnVSA==", + "optional": true, + "requires": { + "gaxios": "^2.1.0", + "google-p12-pem": "^2.0.0", + "jws": "^4.0.0", + "mime": "^2.2.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "hash-stream-validation": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz", + "integrity": "sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ==", + "optional": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-parser-js": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", + "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==" + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "optional": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "optional": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "optional": true + }, + "is-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.0.tgz", + "integrity": "sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==", + "optional": true + }, + "is-boolean-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz", + "integrity": "sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==", + "optional": true + }, + "is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", + "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==", + "optional": true + }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=" + }, + "is-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "optional": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "optional": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", + "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==", + "optional": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "optional": true + }, + "is-stream-ended": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==", + "optional": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "optional": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typed-array": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.3.tgz", + "integrity": "sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ==", + "optional": true, + "requires": { + "available-typed-arrays": "^1.0.0", + "es-abstract": "^1.17.4", + "foreach": "^2.0.5", + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "optional": true + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "optional": true + }, + "is-weakset": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", + "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==", + "optional": true + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "optional": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-bigint": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz", + "integrity": "sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==", + "optional": true, + "requires": { + "bignumber.js": "^9.0.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "optional": true, + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "optional": true, + "requires": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "lodash.at": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.at/-/lodash.at-4.6.0.tgz", + "integrity": "sha1-k83OZk8KGZTqM9181A4jr9EbD/g=", + "optional": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "optional": true + }, + "lodash.has": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", + "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=", + "optional": true + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "optional": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "optional": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "optional": true, + "requires": { + "semver": "^6.0.0" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "optional": true + }, + "mime-db": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", + "optional": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + }, + "dependencies": { + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + } + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "optional": true + }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" + }, + "object-is": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", + "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", + "optional": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz", + "integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "optional": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "optional": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "optional": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "optional": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "protobufjs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.1.tgz", + "integrity": "sha512-pb8kTchL+1Ceg4lFd5XUpK8PdWacbvV5SK2ULH2ebrYtl4GjJmS24m6CKME67jzV53tbJxHlnNOSqQHbTsR9JQ==", + "optional": true, + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": "^13.7.0", + "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "13.13.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.21.tgz", + "integrity": "sha512-tlFWakSzBITITJSxHV4hg4KvrhR/7h3xbJdSFbYJBVzKubrASbnnIFuSgolUh7qKGo/ZeJPKUfbZ0WS6Jp14DQ==", + "optional": true + } + } + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", + "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", + "optional": true, + "requires": { + "duplexify": "^4.1.1", + "inherits": "^2.0.3", + "pump": "^3.0.0" + }, + "dependencies": { + "duplexify": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", + "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", + "optional": true, + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "optional": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + } + } + }, + "retry-request": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.1.3.tgz", + "integrity": "sha512-QnRZUpuPNgX0+D1xVxul6DbJ9slvo4Rm6iV/dn63e048MvGbUZiKySVt6Tenp04JqmchxjiLltGerOJys7kJYQ==", + "optional": true, + "requires": { + "debug": "^4.1.1" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "optional": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "side-channel": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", + "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", + "optional": true, + "requires": { + "es-abstract": "^1.18.0-next.0", + "object-inspect": "^1.8.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz", + "integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==", + "optional": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snakeize": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", + "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=", + "optional": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", + "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", + "optional": true, + "requires": { + "stubs": "^3.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "optional": true + }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true + } + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", + "optional": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "teeny-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.3.tgz", + "integrity": "sha512-TZG/dfd2r6yeji19es1cUIwAlVD8y+/svB1kAC2Y0bjEyysrfbO8EZvJBRwIE6WkwmUoB7uvWLwTIhJbMXZ1Dw==", + "optional": true, + "requires": { + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.2.0", + "stream-events": "^1.0.5", + "uuid": "^7.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "optional": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "optional": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "optional": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "optional": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "optional": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "optional": true + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "walkdir": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz", + "integrity": "sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==", + "optional": true + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz", + "integrity": "sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==", + "optional": true, + "requires": { + "is-bigint": "^1.0.0", + "is-boolean-object": "^1.0.0", + "is-number-object": "^1.0.3", + "is-string": "^1.0.4", + "is-symbol": "^1.0.2" + } + }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "optional": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-typed-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.2.tgz", + "integrity": "sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ==", + "optional": true, + "requires": { + "available-typed-arrays": "^1.0.2", + "es-abstract": "^1.17.5", + "foreach": "^2.0.5", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.1", + "is-typed-array": "^1.1.3" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "optional": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "optional": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "optional": true + } + } +} diff --git a/frontEnd/functions/package.json b/frontEnd/functions/package.json new file mode 100644 index 00000000..b06d519d --- /dev/null +++ b/frontEnd/functions/package.json @@ -0,0 +1,26 @@ +{ + "name": "functions", + "description": "Cloud Functions for Firebase", + "scripts": { + "lint": "eslint .", + "serve": "firebase emulators:start --only functions", + "shell": "firebase functions:shell", + "start": "npm run shell", + "deploy": "firebase deploy --only functions", + "logs": "firebase functions:log" + }, + "engines": { + "node": "10" + }, + "main": "index.js", + "dependencies": { + "firebase-admin": "^8.10.0", + "firebase-functions": "^3.6.1" + }, + "devDependencies": { + "eslint": "^5.12.0", + "eslint-plugin-promise": "^4.0.1", + "firebase-functions-test": "^0.2.0" + }, + "private": true +} diff --git a/frontEnd/node_modules/.bin/loose-envify b/frontEnd/node_modules/.bin/loose-envify new file mode 100644 index 00000000..0939216f --- /dev/null +++ b/frontEnd/node_modules/.bin/loose-envify @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../loose-envify/cli.js" "$@" + ret=$? +else + node "$basedir/../loose-envify/cli.js" "$@" + ret=$? +fi +exit $ret diff --git a/frontEnd/node_modules/.bin/loose-envify.cmd b/frontEnd/node_modules/.bin/loose-envify.cmd new file mode 100644 index 00000000..6238bbb2 --- /dev/null +++ b/frontEnd/node_modules/.bin/loose-envify.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\loose-envify\cli.js" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\loose-envify\cli.js" %* +) \ No newline at end of file diff --git a/frontEnd/node_modules/.yarn-integrity b/frontEnd/node_modules/.yarn-integrity new file mode 100644 index 00000000..0194e7dc --- /dev/null +++ b/frontEnd/node_modules/.yarn-integrity @@ -0,0 +1,110 @@ +{ + "systemParams": "win32-x64-72", + "modulesFolders": [ + "node_modules" + ], + "flags": [], + "linkedModules": [], + "topLevelPatterns": [ + "@material-ui/core@^4.11.0", + "@material-ui/icons@^4.9.1", + "react-twitter-embed@^3.0.3" + ], + "lockfileEntries": { + "@babel/runtime@^7.3.1": "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736", + "@babel/runtime@^7.4.4": "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736", + "@babel/runtime@^7.5.5": "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736", + "@babel/runtime@^7.8.3": "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736", + "@babel/runtime@^7.8.7": "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736", + "@emotion/hash@^0.8.0": "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413", + "@material-ui/core@^4.11.0": "https://registry.yarnpkg.com/@material-ui/core/-/core-4.11.0.tgz#b69b26e4553c9e53f2bfaf1053e216a0af9be15a", + "@material-ui/icons@^4.9.1": "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.9.1.tgz#fdeadf8cb3d89208945b33dbc50c7c616d0bd665", + "@material-ui/styles@^4.10.0": "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.10.0.tgz#2406dc23aa358217aa8cc772e6237bd7f0544071", + "@material-ui/system@^4.9.14": "https://registry.yarnpkg.com/@material-ui/system/-/system-4.9.14.tgz#4b00c48b569340cefb2036d0596b93ac6c587a5f", + "@material-ui/types@^5.1.0": "https://registry.yarnpkg.com/@material-ui/types/-/types-5.1.0.tgz#efa1c7a0b0eaa4c7c87ac0390445f0f88b0d88f2", + "@material-ui/utils@^4.10.2": "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.10.2.tgz#3fd5470ca61b7341f1e0468ac8f29a70bf6df321", + "@material-ui/utils@^4.9.6": "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.10.2.tgz#3fd5470ca61b7341f1e0468ac8f29a70bf6df321", + "@types/prop-types@*": "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7", + "@types/react-transition-group@^4.2.0": "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.0.tgz#882839db465df1320e4753e6e9f70ca7e9b4d46d", + "@types/react@*": "https://registry.yarnpkg.com/@types/react/-/react-16.9.49.tgz#09db021cf8089aba0cdb12a49f8021a69cce4872", + "airbnb-prop-types@^2.16.0": "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz#b96274cefa1abb14f623f804173ee97c13971dc2", + "array.prototype.find@^2.1.1": "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.1.tgz#3baca26108ca7affb08db06bf0be6cb3115a969c", + "clsx@^1.0.4": "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188", + "css-vendor@^2.0.8": "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d", + "csstype@^2.5.2": "https://registry.yarnpkg.com/csstype/-/csstype-2.6.13.tgz#a6893015b90e84dd6e85d0e3b442a1e84f2dbe0f", + "csstype@^3.0.2": "https://registry.yarnpkg.com/csstype/-/csstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8", + "define-properties@^1.1.3": "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1", + "dom-helpers@^5.0.1": "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b", + "enzyme-adapter-react-16@^1.11.0": "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.5.tgz#7a6f0093d3edd2f7025b36e7fbf290695473ee04", + "enzyme-adapter-utils@^1.13.1": "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.1.tgz#59c1b734b0927543e3d8dc477299ec957feb312d", + "enzyme-shallow-equal@^1.0.4": "https://registry.yarnpkg.com/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz#b9256cb25a5f430f9bfe073a84808c1d74fced2e", + "es-abstract@^1.17.0-next.1": "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a", + "es-abstract@^1.17.4": "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a", + "es-abstract@^1.17.5": "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a", + "es-abstract@^1.18.0-next.0": "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.0.tgz#b302834927e624d8e5837ed48224291f2c66e6fc", + "es-to-primitive@^1.2.1": "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a", + "exenv@^1.2.2": "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d", + "function-bind@^1.1.1": "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d", + "function.prototype.name@^1.1.2": "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.2.tgz#5cdf79d7c05db401591dfde83e3b70c5123e9a45", + "functions-have-names@^1.2.0": "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.1.tgz#a981ac397fa0c9964551402cdc5533d7a4d52f91", + "has-symbols@^1.0.1": "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8", + "has@^1.0.3": "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796", + "hoist-non-react-statics@^3.3.2": "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45", + "hyphenate-style-name@^1.0.3": "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d", + "is-callable@^1.1.4": "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9", + "is-callable@^1.2.0": "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9", + "is-date-object@^1.0.1": "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e", + "is-in-browser@^1.0.2": "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835", + "is-in-browser@^1.1.3": "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835", + "is-negative-zero@^2.0.0": "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461", + "is-regex@^1.1.0": "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9", + "is-regex@^1.1.1": "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9", + "is-symbol@^1.0.2": "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937", + "js-tokens@^3.0.0 || ^4.0.0": "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499", + "jss-plugin-camel-case@^10.0.3": "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.4.0.tgz#46c75ff7fd61c304984c21af5817823f0f501ceb", + "jss-plugin-default-unit@^10.0.3": "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.4.0.tgz#2b10f01269eaea7f36f0f5fd1cfbfcc76ed42854", + "jss-plugin-global@^10.0.3": "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.4.0.tgz#19449425a94e4e74e113139b629fd44d3577f97d", + "jss-plugin-nested@^10.0.3": "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.4.0.tgz#017d0c02c0b6b454fd9d7d3fc33470a15eea9fd1", + "jss-plugin-props-sort@^10.0.3": "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.4.0.tgz#7110bf0b6049cc2080b220b506532bf0b70c0e07", + "jss-plugin-rule-value-function@^10.0.3": "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.4.0.tgz#7cff4a91e84973536fa49b6ebbdbf7f339b01c82", + "jss-plugin-vendor-prefixer@^10.0.3": "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.4.0.tgz#2a78f3c5d57d1e024fe7ad7c41de34d04e72ecc0", + "jss@10.4.0": "https://registry.yarnpkg.com/jss/-/jss-10.4.0.tgz#473a6fbe42e85441020a07e9519dac1e8a2e79ca", + "jss@^10.0.3": "https://registry.yarnpkg.com/jss/-/jss-10.4.0.tgz#473a6fbe42e85441020a07e9519dac1e8a2e79ca", + "loose-envify@^1.1.0": "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf", + "loose-envify@^1.4.0": "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf", + "object-assign@^4.1.1": "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863", + "object-inspect@^1.7.0": "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0", + "object-inspect@^1.8.0": "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0", + "object-is@^1.1.2": "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6", + "object-keys@^1.0.12": "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e", + "object-keys@^1.1.1": "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e", + "object.assign@^4.1.0": "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd", + "object.entries@^1.1.2": "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add", + "object.fromentries@^2.0.2": "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9", + "object.values@^1.1.1": "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e", + "popper.js@1.16.1-lts": "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1-lts.tgz#cf6847b807da3799d80ee3d6d2f90df8a3f50b05", + "prop-types-exact@^1.2.0": "https://registry.yarnpkg.com/prop-types-exact/-/prop-types-exact-1.2.0.tgz#825d6be46094663848237e3925a98c6e944e9869", + "prop-types@^15.6.2": "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5", + "prop-types@^15.7.2": "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5", + "react-is@^16.13.1": "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4", + "react-is@^16.7.0": "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4", + "react-is@^16.8.0": "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4", + "react-is@^16.8.1": "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4", + "react-is@^16.8.6": "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4", + "react-proptype-conditional-require@^1.0.4": "https://registry.yarnpkg.com/react-proptype-conditional-require/-/react-proptype-conditional-require-1.0.4.tgz#69c2d5741e6df5e08f230f36bbc2944ee1222555", + "react-test-renderer@^16.0.0-0": "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.13.1.tgz#de25ea358d9012606de51e012d9742e7f0deabc1", + "react-transition-group@^4.4.0": "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9", + "react-twitter-embed@^3.0.3": "https://registry.yarnpkg.com/react-twitter-embed/-/react-twitter-embed-3.0.3.tgz#a534132d4bbec812a63e3899dc716de2bfc3cec2", + "reflect.ownkeys@^0.2.0": "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460", + "regenerator-runtime@^0.13.4": "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55", + "scheduler@^0.19.1": "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196", + "scriptjs@^2.5.9": "https://registry.yarnpkg.com/scriptjs/-/scriptjs-2.5.9.tgz#343915cd2ec2ed9bfdde2b9875cd28f59394b35f", + "semver@^5.7.0": "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7", + "semver@^5.7.1": "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7", + "string.prototype.trimend@^1.0.1": "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913", + "string.prototype.trimstart@^1.0.1": "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54", + "tiny-warning@^1.0.2": "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + }, + "files": [], + "artifacts": {} +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/LICENSE b/frontEnd/node_modules/@babel/runtime/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +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. diff --git a/frontEnd/node_modules/@babel/runtime/README.md b/frontEnd/node_modules/@babel/runtime/README.md new file mode 100644 index 00000000..72e8daa3 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/README.md @@ -0,0 +1,19 @@ +# @babel/runtime + +> babel's modular runtime helpers + +See our website [@babel/runtime](https://babeljs.io/docs/en/next/babel-runtime.html) for more information. + +## Install + +Using npm: + +```sh +npm install --save @babel/runtime +``` + +or using yarn: + +```sh +yarn add @babel/runtime +``` diff --git a/frontEnd/node_modules/@babel/runtime/helpers/AsyncGenerator.js b/frontEnd/node_modules/@babel/runtime/helpers/AsyncGenerator.js new file mode 100644 index 00000000..5e237306 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/AsyncGenerator.js @@ -0,0 +1,100 @@ +var AwaitValue = require("./AwaitValue"); + +function AsyncGenerator(gen) { + var front, back; + + function send(key, arg) { + return new Promise(function (resolve, reject) { + var request = { + key: key, + arg: arg, + resolve: resolve, + reject: reject, + next: null + }; + + if (back) { + back = back.next = request; + } else { + front = back = request; + resume(key, arg); + } + }); + } + + function resume(key, arg) { + try { + var result = gen[key](arg); + var value = result.value; + var wrappedAwait = value instanceof AwaitValue; + Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { + if (wrappedAwait) { + resume(key === "return" ? "return" : "next", arg); + return; + } + + settle(result.done ? "return" : "normal", arg); + }, function (err) { + resume("throw", err); + }); + } catch (err) { + settle("throw", err); + } + } + + function settle(type, value) { + switch (type) { + case "return": + front.resolve({ + value: value, + done: true + }); + break; + + case "throw": + front.reject(value); + break; + + default: + front.resolve({ + value: value, + done: false + }); + break; + } + + front = front.next; + + if (front) { + resume(front.key, front.arg); + } else { + back = null; + } + } + + this._invoke = send; + + if (typeof gen["return"] !== "function") { + this["return"] = undefined; + } +} + +if (typeof Symbol === "function" && Symbol.asyncIterator) { + AsyncGenerator.prototype[Symbol.asyncIterator] = function () { + return this; + }; +} + +AsyncGenerator.prototype.next = function (arg) { + return this._invoke("next", arg); +}; + +AsyncGenerator.prototype["throw"] = function (arg) { + return this._invoke("throw", arg); +}; + +AsyncGenerator.prototype["return"] = function (arg) { + return this._invoke("return", arg); +}; + +module.exports = AsyncGenerator; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/AwaitValue.js b/frontEnd/node_modules/@babel/runtime/helpers/AwaitValue.js new file mode 100644 index 00000000..f9f41841 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/AwaitValue.js @@ -0,0 +1,5 @@ +function _AwaitValue(value) { + this.wrapped = value; +} + +module.exports = _AwaitValue; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js b/frontEnd/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js new file mode 100644 index 00000000..b0b41ddd --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js @@ -0,0 +1,30 @@ +function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { + var desc = {}; + Object.keys(descriptor).forEach(function (key) { + desc[key] = descriptor[key]; + }); + desc.enumerable = !!desc.enumerable; + desc.configurable = !!desc.configurable; + + if ('value' in desc || desc.initializer) { + desc.writable = true; + } + + desc = decorators.slice().reverse().reduce(function (desc, decorator) { + return decorator(target, property, desc) || desc; + }, desc); + + if (context && desc.initializer !== void 0) { + desc.value = desc.initializer ? desc.initializer.call(context) : void 0; + desc.initializer = undefined; + } + + if (desc.initializer === void 0) { + Object.defineProperty(target, property, desc); + desc = null; + } + + return desc; +} + +module.exports = _applyDecoratedDescriptor; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/arrayLikeToArray.js b/frontEnd/node_modules/@babel/runtime/helpers/arrayLikeToArray.js new file mode 100644 index 00000000..d620194e --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/arrayLikeToArray.js @@ -0,0 +1,11 @@ +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} + +module.exports = _arrayLikeToArray; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/arrayWithHoles.js b/frontEnd/node_modules/@babel/runtime/helpers/arrayWithHoles.js new file mode 100644 index 00000000..5a62a8ce --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/arrayWithHoles.js @@ -0,0 +1,5 @@ +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +module.exports = _arrayWithHoles; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js b/frontEnd/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js new file mode 100644 index 00000000..694681cb --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js @@ -0,0 +1,7 @@ +var arrayLikeToArray = require("./arrayLikeToArray"); + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return arrayLikeToArray(arr); +} + +module.exports = _arrayWithoutHoles; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/assertThisInitialized.js b/frontEnd/node_modules/@babel/runtime/helpers/assertThisInitialized.js new file mode 100644 index 00000000..98d29498 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/assertThisInitialized.js @@ -0,0 +1,9 @@ +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +module.exports = _assertThisInitialized; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js b/frontEnd/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js new file mode 100644 index 00000000..c37ecf2c --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js @@ -0,0 +1,58 @@ +function _asyncGeneratorDelegate(inner, awaitWrap) { + var iter = {}, + waiting = false; + + function pump(key, value) { + waiting = true; + value = new Promise(function (resolve) { + resolve(inner[key](value)); + }); + return { + done: false, + value: awaitWrap(value) + }; + } + + ; + + if (typeof Symbol === "function" && Symbol.iterator) { + iter[Symbol.iterator] = function () { + return this; + }; + } + + iter.next = function (value) { + if (waiting) { + waiting = false; + return value; + } + + return pump("next", value); + }; + + if (typeof inner["throw"] === "function") { + iter["throw"] = function (value) { + if (waiting) { + waiting = false; + throw value; + } + + return pump("throw", value); + }; + } + + if (typeof inner["return"] === "function") { + iter["return"] = function (value) { + if (waiting) { + waiting = false; + return value; + } + + return pump("return", value); + }; + } + + return iter; +} + +module.exports = _asyncGeneratorDelegate; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/asyncIterator.js b/frontEnd/node_modules/@babel/runtime/helpers/asyncIterator.js new file mode 100644 index 00000000..ef5db274 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/asyncIterator.js @@ -0,0 +1,19 @@ +function _asyncIterator(iterable) { + var method; + + if (typeof Symbol !== "undefined") { + if (Symbol.asyncIterator) { + method = iterable[Symbol.asyncIterator]; + if (method != null) return method.call(iterable); + } + + if (Symbol.iterator) { + method = iterable[Symbol.iterator]; + if (method != null) return method.call(iterable); + } + } + + throw new TypeError("Object is not async iterable"); +} + +module.exports = _asyncIterator; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/asyncToGenerator.js b/frontEnd/node_modules/@babel/runtime/helpers/asyncToGenerator.js new file mode 100644 index 00000000..f5db93df --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/asyncToGenerator.js @@ -0,0 +1,37 @@ +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } +} + +function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + + _next(undefined); + }); + }; +} + +module.exports = _asyncToGenerator; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js b/frontEnd/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js new file mode 100644 index 00000000..59f797af --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js @@ -0,0 +1,7 @@ +var AwaitValue = require("./AwaitValue"); + +function _awaitAsyncGenerator(value) { + return new AwaitValue(value); +} + +module.exports = _awaitAsyncGenerator; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classCallCheck.js b/frontEnd/node_modules/@babel/runtime/helpers/classCallCheck.js new file mode 100644 index 00000000..f389f2e8 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classCallCheck.js @@ -0,0 +1,7 @@ +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +module.exports = _classCallCheck; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classNameTDZError.js b/frontEnd/node_modules/@babel/runtime/helpers/classNameTDZError.js new file mode 100644 index 00000000..8c1bdf55 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classNameTDZError.js @@ -0,0 +1,5 @@ +function _classNameTDZError(name) { + throw new Error("Class \"" + name + "\" cannot be referenced in computed property keys."); +} + +module.exports = _classNameTDZError; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js new file mode 100644 index 00000000..fab91057 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js @@ -0,0 +1,28 @@ +function _classPrivateFieldDestructureSet(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + + var descriptor = privateMap.get(receiver); + + if (descriptor.set) { + if (!("__destrObj" in descriptor)) { + descriptor.__destrObj = { + set value(v) { + descriptor.set.call(receiver, v); + } + + }; + } + + return descriptor.__destrObj; + } else { + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + + return descriptor; + } +} + +module.exports = _classPrivateFieldDestructureSet; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js new file mode 100644 index 00000000..106c3cd9 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js @@ -0,0 +1,15 @@ +function _classPrivateFieldGet(receiver, privateMap) { + var descriptor = privateMap.get(receiver); + + if (!descriptor) { + throw new TypeError("attempted to get private field on non-instance"); + } + + if (descriptor.get) { + return descriptor.get.call(receiver); + } + + return descriptor.value; +} + +module.exports = _classPrivateFieldGet; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js new file mode 100644 index 00000000..64ed79df --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js @@ -0,0 +1,9 @@ +function _classPrivateFieldBase(receiver, privateKey) { + if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { + throw new TypeError("attempted to use private field on non-instance"); + } + + return receiver; +} + +module.exports = _classPrivateFieldBase; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js new file mode 100644 index 00000000..a1a6417a --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js @@ -0,0 +1,7 @@ +var id = 0; + +function _classPrivateFieldKey(name) { + return "__private_" + id++ + "_" + name; +} + +module.exports = _classPrivateFieldKey; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js new file mode 100644 index 00000000..c92f97a8 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js @@ -0,0 +1,21 @@ +function _classPrivateFieldSet(receiver, privateMap, value) { + var descriptor = privateMap.get(receiver); + + if (!descriptor) { + throw new TypeError("attempted to set private field on non-instance"); + } + + if (descriptor.set) { + descriptor.set.call(receiver, value); + } else { + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + + descriptor.value = value; + } + + return value; +} + +module.exports = _classPrivateFieldSet; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js new file mode 100644 index 00000000..a3432b9a --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js @@ -0,0 +1,9 @@ +function _classPrivateMethodGet(receiver, privateSet, fn) { + if (!privateSet.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + + return fn; +} + +module.exports = _classPrivateMethodGet; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js new file mode 100644 index 00000000..38472848 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js @@ -0,0 +1,5 @@ +function _classPrivateMethodSet() { + throw new TypeError("attempted to reassign private method"); +} + +module.exports = _classPrivateMethodSet; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js b/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js new file mode 100644 index 00000000..c2b67664 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js @@ -0,0 +1,13 @@ +function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + + if (descriptor.get) { + return descriptor.get.call(receiver); + } + + return descriptor.value; +} + +module.exports = _classStaticPrivateFieldSpecGet; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js b/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js new file mode 100644 index 00000000..8799fbb3 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js @@ -0,0 +1,19 @@ +function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + + if (descriptor.set) { + descriptor.set.call(receiver, value); + } else { + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + + descriptor.value = value; + } + + return value; +} + +module.exports = _classStaticPrivateFieldSpecSet; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js b/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js new file mode 100644 index 00000000..f9b0d003 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js @@ -0,0 +1,9 @@ +function _classStaticPrivateMethodGet(receiver, classConstructor, method) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + + return method; +} + +module.exports = _classStaticPrivateMethodGet; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js b/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js new file mode 100644 index 00000000..89042da5 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js @@ -0,0 +1,5 @@ +function _classStaticPrivateMethodSet() { + throw new TypeError("attempted to set read only static private field"); +} + +module.exports = _classStaticPrivateMethodSet; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/construct.js b/frontEnd/node_modules/@babel/runtime/helpers/construct.js new file mode 100644 index 00000000..e6cccf07 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/construct.js @@ -0,0 +1,22 @@ +var setPrototypeOf = require("./setPrototypeOf"); + +var isNativeReflectConstruct = require("./isNativeReflectConstruct"); + +function _construct(Parent, args, Class) { + if (isNativeReflectConstruct()) { + module.exports = _construct = Reflect.construct; + } else { + module.exports = _construct = function _construct(Parent, args, Class) { + var a = [null]; + a.push.apply(a, args); + var Constructor = Function.bind.apply(Parent, a); + var instance = new Constructor(); + if (Class) setPrototypeOf(instance, Class.prototype); + return instance; + }; + } + + return _construct.apply(null, arguments); +} + +module.exports = _construct; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/createClass.js b/frontEnd/node_modules/@babel/runtime/helpers/createClass.js new file mode 100644 index 00000000..f9d48410 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/createClass.js @@ -0,0 +1,17 @@ +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +module.exports = _createClass; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js b/frontEnd/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js new file mode 100644 index 00000000..fbb37435 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js @@ -0,0 +1,60 @@ +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + +function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + + var F = function F() {}; + + return { + s: F, + n: function n() { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }, + e: function e(_e) { + throw _e; + }, + f: F + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + var normalCompletion = true, + didErr = false, + err; + return { + s: function s() { + it = o[Symbol.iterator](); + }, + n: function n() { + var step = it.next(); + normalCompletion = step.done; + return step; + }, + e: function e(_e2) { + didErr = true; + err = _e2; + }, + f: function f() { + try { + if (!normalCompletion && it["return"] != null) it["return"](); + } finally { + if (didErr) throw err; + } + } + }; +} + +module.exports = _createForOfIteratorHelper; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js new file mode 100644 index 00000000..547d4b99 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js @@ -0,0 +1,28 @@ +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + it = o[Symbol.iterator](); + return it.next.bind(it); +} + +module.exports = _createForOfIteratorHelperLoose; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/createSuper.js b/frontEnd/node_modules/@babel/runtime/helpers/createSuper.js new file mode 100644 index 00000000..fcf12837 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/createSuper.js @@ -0,0 +1,24 @@ +var getPrototypeOf = require("./getPrototypeOf"); + +var isNativeReflectConstruct = require("./isNativeReflectConstruct"); + +var possibleConstructorReturn = require("./possibleConstructorReturn"); + +function _createSuper(Derived) { + var hasNativeReflectConstruct = isNativeReflectConstruct(); + return function _createSuperInternal() { + var Super = getPrototypeOf(Derived), + result; + + if (hasNativeReflectConstruct) { + var NewTarget = getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + + return possibleConstructorReturn(this, result); + }; +} + +module.exports = _createSuper; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/decorate.js b/frontEnd/node_modules/@babel/runtime/helpers/decorate.js new file mode 100644 index 00000000..77c0b980 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/decorate.js @@ -0,0 +1,400 @@ +var toArray = require("./toArray"); + +var toPropertyKey = require("./toPropertyKey"); + +function _decorate(decorators, factory, superClass, mixins) { + var api = _getDecoratorsApi(); + + if (mixins) { + for (var i = 0; i < mixins.length; i++) { + api = mixins[i](api); + } + } + + var r = factory(function initialize(O) { + api.initializeInstanceElements(O, decorated.elements); + }, superClass); + var decorated = api.decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators); + api.initializeClassElements(r.F, decorated.elements); + return api.runClassFinishers(r.F, decorated.finishers); +} + +function _getDecoratorsApi() { + _getDecoratorsApi = function _getDecoratorsApi() { + return api; + }; + + var api = { + elementsDefinitionOrder: [["method"], ["field"]], + initializeInstanceElements: function initializeInstanceElements(O, elements) { + ["method", "field"].forEach(function (kind) { + elements.forEach(function (element) { + if (element.kind === kind && element.placement === "own") { + this.defineClassElement(O, element); + } + }, this); + }, this); + }, + initializeClassElements: function initializeClassElements(F, elements) { + var proto = F.prototype; + ["method", "field"].forEach(function (kind) { + elements.forEach(function (element) { + var placement = element.placement; + + if (element.kind === kind && (placement === "static" || placement === "prototype")) { + var receiver = placement === "static" ? F : proto; + this.defineClassElement(receiver, element); + } + }, this); + }, this); + }, + defineClassElement: function defineClassElement(receiver, element) { + var descriptor = element.descriptor; + + if (element.kind === "field") { + var initializer = element.initializer; + descriptor = { + enumerable: descriptor.enumerable, + writable: descriptor.writable, + configurable: descriptor.configurable, + value: initializer === void 0 ? void 0 : initializer.call(receiver) + }; + } + + Object.defineProperty(receiver, element.key, descriptor); + }, + decorateClass: function decorateClass(elements, decorators) { + var newElements = []; + var finishers = []; + var placements = { + "static": [], + prototype: [], + own: [] + }; + elements.forEach(function (element) { + this.addElementPlacement(element, placements); + }, this); + elements.forEach(function (element) { + if (!_hasDecorators(element)) return newElements.push(element); + var elementFinishersExtras = this.decorateElement(element, placements); + newElements.push(elementFinishersExtras.element); + newElements.push.apply(newElements, elementFinishersExtras.extras); + finishers.push.apply(finishers, elementFinishersExtras.finishers); + }, this); + + if (!decorators) { + return { + elements: newElements, + finishers: finishers + }; + } + + var result = this.decorateConstructor(newElements, decorators); + finishers.push.apply(finishers, result.finishers); + result.finishers = finishers; + return result; + }, + addElementPlacement: function addElementPlacement(element, placements, silent) { + var keys = placements[element.placement]; + + if (!silent && keys.indexOf(element.key) !== -1) { + throw new TypeError("Duplicated element (" + element.key + ")"); + } + + keys.push(element.key); + }, + decorateElement: function decorateElement(element, placements) { + var extras = []; + var finishers = []; + + for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) { + var keys = placements[element.placement]; + keys.splice(keys.indexOf(element.key), 1); + var elementObject = this.fromElementDescriptor(element); + var elementFinisherExtras = this.toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject); + element = elementFinisherExtras.element; + this.addElementPlacement(element, placements); + + if (elementFinisherExtras.finisher) { + finishers.push(elementFinisherExtras.finisher); + } + + var newExtras = elementFinisherExtras.extras; + + if (newExtras) { + for (var j = 0; j < newExtras.length; j++) { + this.addElementPlacement(newExtras[j], placements); + } + + extras.push.apply(extras, newExtras); + } + } + + return { + element: element, + finishers: finishers, + extras: extras + }; + }, + decorateConstructor: function decorateConstructor(elements, decorators) { + var finishers = []; + + for (var i = decorators.length - 1; i >= 0; i--) { + var obj = this.fromClassDescriptor(elements); + var elementsAndFinisher = this.toClassDescriptor((0, decorators[i])(obj) || obj); + + if (elementsAndFinisher.finisher !== undefined) { + finishers.push(elementsAndFinisher.finisher); + } + + if (elementsAndFinisher.elements !== undefined) { + elements = elementsAndFinisher.elements; + + for (var j = 0; j < elements.length - 1; j++) { + for (var k = j + 1; k < elements.length; k++) { + if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) { + throw new TypeError("Duplicated element (" + elements[j].key + ")"); + } + } + } + } + } + + return { + elements: elements, + finishers: finishers + }; + }, + fromElementDescriptor: function fromElementDescriptor(element) { + var obj = { + kind: element.kind, + key: element.key, + placement: element.placement, + descriptor: element.descriptor + }; + var desc = { + value: "Descriptor", + configurable: true + }; + Object.defineProperty(obj, Symbol.toStringTag, desc); + if (element.kind === "field") obj.initializer = element.initializer; + return obj; + }, + toElementDescriptors: function toElementDescriptors(elementObjects) { + if (elementObjects === undefined) return; + return toArray(elementObjects).map(function (elementObject) { + var element = this.toElementDescriptor(elementObject); + this.disallowProperty(elementObject, "finisher", "An element descriptor"); + this.disallowProperty(elementObject, "extras", "An element descriptor"); + return element; + }, this); + }, + toElementDescriptor: function toElementDescriptor(elementObject) { + var kind = String(elementObject.kind); + + if (kind !== "method" && kind !== "field") { + throw new TypeError('An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "' + kind + '"'); + } + + var key = toPropertyKey(elementObject.key); + var placement = String(elementObject.placement); + + if (placement !== "static" && placement !== "prototype" && placement !== "own") { + throw new TypeError('An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "' + placement + '"'); + } + + var descriptor = elementObject.descriptor; + this.disallowProperty(elementObject, "elements", "An element descriptor"); + var element = { + kind: kind, + key: key, + placement: placement, + descriptor: Object.assign({}, descriptor) + }; + + if (kind !== "field") { + this.disallowProperty(elementObject, "initializer", "A method descriptor"); + } else { + this.disallowProperty(descriptor, "get", "The property descriptor of a field descriptor"); + this.disallowProperty(descriptor, "set", "The property descriptor of a field descriptor"); + this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor"); + element.initializer = elementObject.initializer; + } + + return element; + }, + toElementFinisherExtras: function toElementFinisherExtras(elementObject) { + var element = this.toElementDescriptor(elementObject); + + var finisher = _optionalCallableProperty(elementObject, "finisher"); + + var extras = this.toElementDescriptors(elementObject.extras); + return { + element: element, + finisher: finisher, + extras: extras + }; + }, + fromClassDescriptor: function fromClassDescriptor(elements) { + var obj = { + kind: "class", + elements: elements.map(this.fromElementDescriptor, this) + }; + var desc = { + value: "Descriptor", + configurable: true + }; + Object.defineProperty(obj, Symbol.toStringTag, desc); + return obj; + }, + toClassDescriptor: function toClassDescriptor(obj) { + var kind = String(obj.kind); + + if (kind !== "class") { + throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "' + kind + '"'); + } + + this.disallowProperty(obj, "key", "A class descriptor"); + this.disallowProperty(obj, "placement", "A class descriptor"); + this.disallowProperty(obj, "descriptor", "A class descriptor"); + this.disallowProperty(obj, "initializer", "A class descriptor"); + this.disallowProperty(obj, "extras", "A class descriptor"); + + var finisher = _optionalCallableProperty(obj, "finisher"); + + var elements = this.toElementDescriptors(obj.elements); + return { + elements: elements, + finisher: finisher + }; + }, + runClassFinishers: function runClassFinishers(constructor, finishers) { + for (var i = 0; i < finishers.length; i++) { + var newConstructor = (0, finishers[i])(constructor); + + if (newConstructor !== undefined) { + if (typeof newConstructor !== "function") { + throw new TypeError("Finishers must return a constructor."); + } + + constructor = newConstructor; + } + } + + return constructor; + }, + disallowProperty: function disallowProperty(obj, name, objectType) { + if (obj[name] !== undefined) { + throw new TypeError(objectType + " can't have a ." + name + " property."); + } + } + }; + return api; +} + +function _createElementDescriptor(def) { + var key = toPropertyKey(def.key); + var descriptor; + + if (def.kind === "method") { + descriptor = { + value: def.value, + writable: true, + configurable: true, + enumerable: false + }; + } else if (def.kind === "get") { + descriptor = { + get: def.value, + configurable: true, + enumerable: false + }; + } else if (def.kind === "set") { + descriptor = { + set: def.value, + configurable: true, + enumerable: false + }; + } else if (def.kind === "field") { + descriptor = { + configurable: true, + writable: true, + enumerable: true + }; + } + + var element = { + kind: def.kind === "field" ? "field" : "method", + key: key, + placement: def["static"] ? "static" : def.kind === "field" ? "own" : "prototype", + descriptor: descriptor + }; + if (def.decorators) element.decorators = def.decorators; + if (def.kind === "field") element.initializer = def.value; + return element; +} + +function _coalesceGetterSetter(element, other) { + if (element.descriptor.get !== undefined) { + other.descriptor.get = element.descriptor.get; + } else { + other.descriptor.set = element.descriptor.set; + } +} + +function _coalesceClassElements(elements) { + var newElements = []; + + var isSameElement = function isSameElement(other) { + return other.kind === "method" && other.key === element.key && other.placement === element.placement; + }; + + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + var other; + + if (element.kind === "method" && (other = newElements.find(isSameElement))) { + if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) { + if (_hasDecorators(element) || _hasDecorators(other)) { + throw new ReferenceError("Duplicated methods (" + element.key + ") can't be decorated."); + } + + other.descriptor = element.descriptor; + } else { + if (_hasDecorators(element)) { + if (_hasDecorators(other)) { + throw new ReferenceError("Decorators can't be placed on different accessors with for " + "the same property (" + element.key + ")."); + } + + other.decorators = element.decorators; + } + + _coalesceGetterSetter(element, other); + } + } else { + newElements.push(element); + } + } + + return newElements; +} + +function _hasDecorators(element) { + return element.decorators && element.decorators.length; +} + +function _isDataDescriptor(desc) { + return desc !== undefined && !(desc.value === undefined && desc.writable === undefined); +} + +function _optionalCallableProperty(obj, name) { + var value = obj[name]; + + if (value !== undefined && typeof value !== "function") { + throw new TypeError("Expected '" + name + "' to be a function"); + } + + return value; +} + +module.exports = _decorate; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/defaults.js b/frontEnd/node_modules/@babel/runtime/helpers/defaults.js new file mode 100644 index 00000000..55ba1feb --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/defaults.js @@ -0,0 +1,16 @@ +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } + + return obj; +} + +module.exports = _defaults; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js b/frontEnd/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js new file mode 100644 index 00000000..5d80ea1e --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js @@ -0,0 +1,24 @@ +function _defineEnumerableProperties(obj, descs) { + for (var key in descs) { + var desc = descs[key]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, key, desc); + } + + if (Object.getOwnPropertySymbols) { + var objectSymbols = Object.getOwnPropertySymbols(descs); + + for (var i = 0; i < objectSymbols.length; i++) { + var sym = objectSymbols[i]; + var desc = descs[sym]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, sym, desc); + } + } + + return obj; +} + +module.exports = _defineEnumerableProperties; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/defineProperty.js b/frontEnd/node_modules/@babel/runtime/helpers/defineProperty.js new file mode 100644 index 00000000..32a8d73f --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/defineProperty.js @@ -0,0 +1,16 @@ +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +module.exports = _defineProperty; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js new file mode 100644 index 00000000..65361d96 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js @@ -0,0 +1,97 @@ +import AwaitValue from "./AwaitValue"; +export default function AsyncGenerator(gen) { + var front, back; + + function send(key, arg) { + return new Promise(function (resolve, reject) { + var request = { + key: key, + arg: arg, + resolve: resolve, + reject: reject, + next: null + }; + + if (back) { + back = back.next = request; + } else { + front = back = request; + resume(key, arg); + } + }); + } + + function resume(key, arg) { + try { + var result = gen[key](arg); + var value = result.value; + var wrappedAwait = value instanceof AwaitValue; + Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { + if (wrappedAwait) { + resume(key === "return" ? "return" : "next", arg); + return; + } + + settle(result.done ? "return" : "normal", arg); + }, function (err) { + resume("throw", err); + }); + } catch (err) { + settle("throw", err); + } + } + + function settle(type, value) { + switch (type) { + case "return": + front.resolve({ + value: value, + done: true + }); + break; + + case "throw": + front.reject(value); + break; + + default: + front.resolve({ + value: value, + done: false + }); + break; + } + + front = front.next; + + if (front) { + resume(front.key, front.arg); + } else { + back = null; + } + } + + this._invoke = send; + + if (typeof gen["return"] !== "function") { + this["return"] = undefined; + } +} + +if (typeof Symbol === "function" && Symbol.asyncIterator) { + AsyncGenerator.prototype[Symbol.asyncIterator] = function () { + return this; + }; +} + +AsyncGenerator.prototype.next = function (arg) { + return this._invoke("next", arg); +}; + +AsyncGenerator.prototype["throw"] = function (arg) { + return this._invoke("throw", arg); +}; + +AsyncGenerator.prototype["return"] = function (arg) { + return this._invoke("return", arg); +}; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/AwaitValue.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/AwaitValue.js new file mode 100644 index 00000000..5237e18f --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/AwaitValue.js @@ -0,0 +1,3 @@ +export default function _AwaitValue(value) { + this.wrapped = value; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js new file mode 100644 index 00000000..84b59617 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js @@ -0,0 +1,28 @@ +export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { + var desc = {}; + Object.keys(descriptor).forEach(function (key) { + desc[key] = descriptor[key]; + }); + desc.enumerable = !!desc.enumerable; + desc.configurable = !!desc.configurable; + + if ('value' in desc || desc.initializer) { + desc.writable = true; + } + + desc = decorators.slice().reverse().reduce(function (desc, decorator) { + return decorator(target, property, desc) || desc; + }, desc); + + if (context && desc.initializer !== void 0) { + desc.value = desc.initializer ? desc.initializer.call(context) : void 0; + desc.initializer = undefined; + } + + if (desc.initializer === void 0) { + Object.defineProperty(target, property, desc); + desc = null; + } + + return desc; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js new file mode 100644 index 00000000..edbeb8ee --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js @@ -0,0 +1,9 @@ +export default function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js new file mode 100644 index 00000000..be734fc3 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js @@ -0,0 +1,3 @@ +export default function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js new file mode 100644 index 00000000..e736ad87 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js @@ -0,0 +1,4 @@ +import arrayLikeToArray from "./arrayLikeToArray"; +export default function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return arrayLikeToArray(arr); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js new file mode 100644 index 00000000..bbf849ca --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js @@ -0,0 +1,7 @@ +export default function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js new file mode 100644 index 00000000..eb56fe59 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js @@ -0,0 +1,56 @@ +export default function _asyncGeneratorDelegate(inner, awaitWrap) { + var iter = {}, + waiting = false; + + function pump(key, value) { + waiting = true; + value = new Promise(function (resolve) { + resolve(inner[key](value)); + }); + return { + done: false, + value: awaitWrap(value) + }; + } + + ; + + if (typeof Symbol === "function" && Symbol.iterator) { + iter[Symbol.iterator] = function () { + return this; + }; + } + + iter.next = function (value) { + if (waiting) { + waiting = false; + return value; + } + + return pump("next", value); + }; + + if (typeof inner["throw"] === "function") { + iter["throw"] = function (value) { + if (waiting) { + waiting = false; + throw value; + } + + return pump("throw", value); + }; + } + + if (typeof inner["return"] === "function") { + iter["return"] = function (value) { + if (waiting) { + waiting = false; + return value; + } + + return pump("return", value); + }; + } + + return iter; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/asyncIterator.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/asyncIterator.js new file mode 100644 index 00000000..e03fa978 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/asyncIterator.js @@ -0,0 +1,17 @@ +export default function _asyncIterator(iterable) { + var method; + + if (typeof Symbol !== "undefined") { + if (Symbol.asyncIterator) { + method = iterable[Symbol.asyncIterator]; + if (method != null) return method.call(iterable); + } + + if (Symbol.iterator) { + method = iterable[Symbol.iterator]; + if (method != null) return method.call(iterable); + } + } + + throw new TypeError("Object is not async iterable"); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js new file mode 100644 index 00000000..2a25f543 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js @@ -0,0 +1,35 @@ +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } +} + +export default function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + + _next(undefined); + }); + }; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js new file mode 100644 index 00000000..462f99cd --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js @@ -0,0 +1,4 @@ +import AwaitValue from "./AwaitValue"; +export default function _awaitAsyncGenerator(value) { + return new AwaitValue(value); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classCallCheck.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classCallCheck.js new file mode 100644 index 00000000..2f1738a3 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classCallCheck.js @@ -0,0 +1,5 @@ +export default function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js new file mode 100644 index 00000000..f7b6dd57 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js @@ -0,0 +1,3 @@ +export default function _classNameTDZError(name) { + throw new Error("Class \"" + name + "\" cannot be referenced in computed property keys."); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js new file mode 100644 index 00000000..1f265bc8 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js @@ -0,0 +1,26 @@ +export default function _classPrivateFieldDestructureSet(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + + var descriptor = privateMap.get(receiver); + + if (descriptor.set) { + if (!("__destrObj" in descriptor)) { + descriptor.__destrObj = { + set value(v) { + descriptor.set.call(receiver, v); + } + + }; + } + + return descriptor.__destrObj; + } else { + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + + return descriptor; + } +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js new file mode 100644 index 00000000..f8287f11 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js @@ -0,0 +1,13 @@ +export default function _classPrivateFieldGet(receiver, privateMap) { + var descriptor = privateMap.get(receiver); + + if (!descriptor) { + throw new TypeError("attempted to get private field on non-instance"); + } + + if (descriptor.get) { + return descriptor.get.call(receiver); + } + + return descriptor.value; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js new file mode 100644 index 00000000..5b10916f --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js @@ -0,0 +1,7 @@ +export default function _classPrivateFieldBase(receiver, privateKey) { + if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { + throw new TypeError("attempted to use private field on non-instance"); + } + + return receiver; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js new file mode 100644 index 00000000..5b7e5ac0 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js @@ -0,0 +1,4 @@ +var id = 0; +export default function _classPrivateFieldKey(name) { + return "__private_" + id++ + "_" + name; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js new file mode 100644 index 00000000..fb4e5d2b --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js @@ -0,0 +1,19 @@ +export default function _classPrivateFieldSet(receiver, privateMap, value) { + var descriptor = privateMap.get(receiver); + + if (!descriptor) { + throw new TypeError("attempted to set private field on non-instance"); + } + + if (descriptor.set) { + descriptor.set.call(receiver, value); + } else { + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + + descriptor.value = value; + } + + return value; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js new file mode 100644 index 00000000..38b9d584 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js @@ -0,0 +1,7 @@ +export default function _classPrivateMethodGet(receiver, privateSet, fn) { + if (!privateSet.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + + return fn; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js new file mode 100644 index 00000000..2bbaf3a7 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js @@ -0,0 +1,3 @@ +export default function _classPrivateMethodSet() { + throw new TypeError("attempted to reassign private method"); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js new file mode 100644 index 00000000..75a9b7ce --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js @@ -0,0 +1,11 @@ +export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + + if (descriptor.get) { + return descriptor.get.call(receiver); + } + + return descriptor.value; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js new file mode 100644 index 00000000..163279f2 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js @@ -0,0 +1,17 @@ +export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + + if (descriptor.set) { + descriptor.set.call(receiver, value); + } else { + if (!descriptor.writable) { + throw new TypeError("attempted to set read only private field"); + } + + descriptor.value = value; + } + + return value; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js new file mode 100644 index 00000000..da9b1e57 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js @@ -0,0 +1,7 @@ +export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) { + if (receiver !== classConstructor) { + throw new TypeError("Private static access of wrong provenance"); + } + + return method; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js new file mode 100644 index 00000000..d5ab60a9 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js @@ -0,0 +1,3 @@ +export default function _classStaticPrivateMethodSet() { + throw new TypeError("attempted to set read only static private field"); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/construct.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/construct.js new file mode 100644 index 00000000..10681545 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/construct.js @@ -0,0 +1,18 @@ +import setPrototypeOf from "./setPrototypeOf"; +import isNativeReflectConstruct from "./isNativeReflectConstruct"; +export default function _construct(Parent, args, Class) { + if (isNativeReflectConstruct()) { + _construct = Reflect.construct; + } else { + _construct = function _construct(Parent, args, Class) { + var a = [null]; + a.push.apply(a, args); + var Constructor = Function.bind.apply(Parent, a); + var instance = new Constructor(); + if (Class) setPrototypeOf(instance, Class.prototype); + return instance; + }; + } + + return _construct.apply(null, arguments); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/createClass.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/createClass.js new file mode 100644 index 00000000..d6cf4122 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/createClass.js @@ -0,0 +1,15 @@ +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +export default function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js new file mode 100644 index 00000000..a4f8b41e --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js @@ -0,0 +1,57 @@ +import unsupportedIterableToArray from "./unsupportedIterableToArray"; +export default function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + + var F = function F() {}; + + return { + s: F, + n: function n() { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }, + e: function e(_e) { + throw _e; + }, + f: F + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + var normalCompletion = true, + didErr = false, + err; + return { + s: function s() { + it = o[Symbol.iterator](); + }, + n: function n() { + var step = it.next(); + normalCompletion = step.done; + return step; + }, + e: function e(_e2) { + didErr = true; + err = _e2; + }, + f: function f() { + try { + if (!normalCompletion && it["return"] != null) it["return"](); + } finally { + if (didErr) throw err; + } + } + }; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js new file mode 100644 index 00000000..535c7a4a --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js @@ -0,0 +1,25 @@ +import unsupportedIterableToArray from "./unsupportedIterableToArray"; +export default function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + it = o[Symbol.iterator](); + return it.next.bind(it); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/createSuper.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/createSuper.js new file mode 100644 index 00000000..70404e41 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/createSuper.js @@ -0,0 +1,19 @@ +import getPrototypeOf from "./getPrototypeOf"; +import isNativeReflectConstruct from "./isNativeReflectConstruct"; +import possibleConstructorReturn from "./possibleConstructorReturn"; +export default function _createSuper(Derived) { + var hasNativeReflectConstruct = isNativeReflectConstruct(); + return function _createSuperInternal() { + var Super = getPrototypeOf(Derived), + result; + + if (hasNativeReflectConstruct) { + var NewTarget = getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + + return possibleConstructorReturn(this, result); + }; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/decorate.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/decorate.js new file mode 100644 index 00000000..b6acd1ff --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/decorate.js @@ -0,0 +1,396 @@ +import toArray from "./toArray"; +import toPropertyKey from "./toPropertyKey"; +export default function _decorate(decorators, factory, superClass, mixins) { + var api = _getDecoratorsApi(); + + if (mixins) { + for (var i = 0; i < mixins.length; i++) { + api = mixins[i](api); + } + } + + var r = factory(function initialize(O) { + api.initializeInstanceElements(O, decorated.elements); + }, superClass); + var decorated = api.decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators); + api.initializeClassElements(r.F, decorated.elements); + return api.runClassFinishers(r.F, decorated.finishers); +} + +function _getDecoratorsApi() { + _getDecoratorsApi = function _getDecoratorsApi() { + return api; + }; + + var api = { + elementsDefinitionOrder: [["method"], ["field"]], + initializeInstanceElements: function initializeInstanceElements(O, elements) { + ["method", "field"].forEach(function (kind) { + elements.forEach(function (element) { + if (element.kind === kind && element.placement === "own") { + this.defineClassElement(O, element); + } + }, this); + }, this); + }, + initializeClassElements: function initializeClassElements(F, elements) { + var proto = F.prototype; + ["method", "field"].forEach(function (kind) { + elements.forEach(function (element) { + var placement = element.placement; + + if (element.kind === kind && (placement === "static" || placement === "prototype")) { + var receiver = placement === "static" ? F : proto; + this.defineClassElement(receiver, element); + } + }, this); + }, this); + }, + defineClassElement: function defineClassElement(receiver, element) { + var descriptor = element.descriptor; + + if (element.kind === "field") { + var initializer = element.initializer; + descriptor = { + enumerable: descriptor.enumerable, + writable: descriptor.writable, + configurable: descriptor.configurable, + value: initializer === void 0 ? void 0 : initializer.call(receiver) + }; + } + + Object.defineProperty(receiver, element.key, descriptor); + }, + decorateClass: function decorateClass(elements, decorators) { + var newElements = []; + var finishers = []; + var placements = { + "static": [], + prototype: [], + own: [] + }; + elements.forEach(function (element) { + this.addElementPlacement(element, placements); + }, this); + elements.forEach(function (element) { + if (!_hasDecorators(element)) return newElements.push(element); + var elementFinishersExtras = this.decorateElement(element, placements); + newElements.push(elementFinishersExtras.element); + newElements.push.apply(newElements, elementFinishersExtras.extras); + finishers.push.apply(finishers, elementFinishersExtras.finishers); + }, this); + + if (!decorators) { + return { + elements: newElements, + finishers: finishers + }; + } + + var result = this.decorateConstructor(newElements, decorators); + finishers.push.apply(finishers, result.finishers); + result.finishers = finishers; + return result; + }, + addElementPlacement: function addElementPlacement(element, placements, silent) { + var keys = placements[element.placement]; + + if (!silent && keys.indexOf(element.key) !== -1) { + throw new TypeError("Duplicated element (" + element.key + ")"); + } + + keys.push(element.key); + }, + decorateElement: function decorateElement(element, placements) { + var extras = []; + var finishers = []; + + for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) { + var keys = placements[element.placement]; + keys.splice(keys.indexOf(element.key), 1); + var elementObject = this.fromElementDescriptor(element); + var elementFinisherExtras = this.toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject); + element = elementFinisherExtras.element; + this.addElementPlacement(element, placements); + + if (elementFinisherExtras.finisher) { + finishers.push(elementFinisherExtras.finisher); + } + + var newExtras = elementFinisherExtras.extras; + + if (newExtras) { + for (var j = 0; j < newExtras.length; j++) { + this.addElementPlacement(newExtras[j], placements); + } + + extras.push.apply(extras, newExtras); + } + } + + return { + element: element, + finishers: finishers, + extras: extras + }; + }, + decorateConstructor: function decorateConstructor(elements, decorators) { + var finishers = []; + + for (var i = decorators.length - 1; i >= 0; i--) { + var obj = this.fromClassDescriptor(elements); + var elementsAndFinisher = this.toClassDescriptor((0, decorators[i])(obj) || obj); + + if (elementsAndFinisher.finisher !== undefined) { + finishers.push(elementsAndFinisher.finisher); + } + + if (elementsAndFinisher.elements !== undefined) { + elements = elementsAndFinisher.elements; + + for (var j = 0; j < elements.length - 1; j++) { + for (var k = j + 1; k < elements.length; k++) { + if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) { + throw new TypeError("Duplicated element (" + elements[j].key + ")"); + } + } + } + } + } + + return { + elements: elements, + finishers: finishers + }; + }, + fromElementDescriptor: function fromElementDescriptor(element) { + var obj = { + kind: element.kind, + key: element.key, + placement: element.placement, + descriptor: element.descriptor + }; + var desc = { + value: "Descriptor", + configurable: true + }; + Object.defineProperty(obj, Symbol.toStringTag, desc); + if (element.kind === "field") obj.initializer = element.initializer; + return obj; + }, + toElementDescriptors: function toElementDescriptors(elementObjects) { + if (elementObjects === undefined) return; + return toArray(elementObjects).map(function (elementObject) { + var element = this.toElementDescriptor(elementObject); + this.disallowProperty(elementObject, "finisher", "An element descriptor"); + this.disallowProperty(elementObject, "extras", "An element descriptor"); + return element; + }, this); + }, + toElementDescriptor: function toElementDescriptor(elementObject) { + var kind = String(elementObject.kind); + + if (kind !== "method" && kind !== "field") { + throw new TypeError('An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "' + kind + '"'); + } + + var key = toPropertyKey(elementObject.key); + var placement = String(elementObject.placement); + + if (placement !== "static" && placement !== "prototype" && placement !== "own") { + throw new TypeError('An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "' + placement + '"'); + } + + var descriptor = elementObject.descriptor; + this.disallowProperty(elementObject, "elements", "An element descriptor"); + var element = { + kind: kind, + key: key, + placement: placement, + descriptor: Object.assign({}, descriptor) + }; + + if (kind !== "field") { + this.disallowProperty(elementObject, "initializer", "A method descriptor"); + } else { + this.disallowProperty(descriptor, "get", "The property descriptor of a field descriptor"); + this.disallowProperty(descriptor, "set", "The property descriptor of a field descriptor"); + this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor"); + element.initializer = elementObject.initializer; + } + + return element; + }, + toElementFinisherExtras: function toElementFinisherExtras(elementObject) { + var element = this.toElementDescriptor(elementObject); + + var finisher = _optionalCallableProperty(elementObject, "finisher"); + + var extras = this.toElementDescriptors(elementObject.extras); + return { + element: element, + finisher: finisher, + extras: extras + }; + }, + fromClassDescriptor: function fromClassDescriptor(elements) { + var obj = { + kind: "class", + elements: elements.map(this.fromElementDescriptor, this) + }; + var desc = { + value: "Descriptor", + configurable: true + }; + Object.defineProperty(obj, Symbol.toStringTag, desc); + return obj; + }, + toClassDescriptor: function toClassDescriptor(obj) { + var kind = String(obj.kind); + + if (kind !== "class") { + throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "' + kind + '"'); + } + + this.disallowProperty(obj, "key", "A class descriptor"); + this.disallowProperty(obj, "placement", "A class descriptor"); + this.disallowProperty(obj, "descriptor", "A class descriptor"); + this.disallowProperty(obj, "initializer", "A class descriptor"); + this.disallowProperty(obj, "extras", "A class descriptor"); + + var finisher = _optionalCallableProperty(obj, "finisher"); + + var elements = this.toElementDescriptors(obj.elements); + return { + elements: elements, + finisher: finisher + }; + }, + runClassFinishers: function runClassFinishers(constructor, finishers) { + for (var i = 0; i < finishers.length; i++) { + var newConstructor = (0, finishers[i])(constructor); + + if (newConstructor !== undefined) { + if (typeof newConstructor !== "function") { + throw new TypeError("Finishers must return a constructor."); + } + + constructor = newConstructor; + } + } + + return constructor; + }, + disallowProperty: function disallowProperty(obj, name, objectType) { + if (obj[name] !== undefined) { + throw new TypeError(objectType + " can't have a ." + name + " property."); + } + } + }; + return api; +} + +function _createElementDescriptor(def) { + var key = toPropertyKey(def.key); + var descriptor; + + if (def.kind === "method") { + descriptor = { + value: def.value, + writable: true, + configurable: true, + enumerable: false + }; + } else if (def.kind === "get") { + descriptor = { + get: def.value, + configurable: true, + enumerable: false + }; + } else if (def.kind === "set") { + descriptor = { + set: def.value, + configurable: true, + enumerable: false + }; + } else if (def.kind === "field") { + descriptor = { + configurable: true, + writable: true, + enumerable: true + }; + } + + var element = { + kind: def.kind === "field" ? "field" : "method", + key: key, + placement: def["static"] ? "static" : def.kind === "field" ? "own" : "prototype", + descriptor: descriptor + }; + if (def.decorators) element.decorators = def.decorators; + if (def.kind === "field") element.initializer = def.value; + return element; +} + +function _coalesceGetterSetter(element, other) { + if (element.descriptor.get !== undefined) { + other.descriptor.get = element.descriptor.get; + } else { + other.descriptor.set = element.descriptor.set; + } +} + +function _coalesceClassElements(elements) { + var newElements = []; + + var isSameElement = function isSameElement(other) { + return other.kind === "method" && other.key === element.key && other.placement === element.placement; + }; + + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + var other; + + if (element.kind === "method" && (other = newElements.find(isSameElement))) { + if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) { + if (_hasDecorators(element) || _hasDecorators(other)) { + throw new ReferenceError("Duplicated methods (" + element.key + ") can't be decorated."); + } + + other.descriptor = element.descriptor; + } else { + if (_hasDecorators(element)) { + if (_hasDecorators(other)) { + throw new ReferenceError("Decorators can't be placed on different accessors with for " + "the same property (" + element.key + ")."); + } + + other.decorators = element.decorators; + } + + _coalesceGetterSetter(element, other); + } + } else { + newElements.push(element); + } + } + + return newElements; +} + +function _hasDecorators(element) { + return element.decorators && element.decorators.length; +} + +function _isDataDescriptor(desc) { + return desc !== undefined && !(desc.value === undefined && desc.writable === undefined); +} + +function _optionalCallableProperty(obj, name) { + var value = obj[name]; + + if (value !== undefined && typeof value !== "function") { + throw new TypeError("Expected '" + name + "' to be a function"); + } + + return value; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/defaults.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/defaults.js new file mode 100644 index 00000000..3de1d8ec --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/defaults.js @@ -0,0 +1,14 @@ +export default function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } + + return obj; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js new file mode 100644 index 00000000..7981acd4 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js @@ -0,0 +1,22 @@ +export default function _defineEnumerableProperties(obj, descs) { + for (var key in descs) { + var desc = descs[key]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, key, desc); + } + + if (Object.getOwnPropertySymbols) { + var objectSymbols = Object.getOwnPropertySymbols(descs); + + for (var i = 0; i < objectSymbols.length; i++) { + var sym = objectSymbols[i]; + var desc = descs[sym]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, sym, desc); + } + } + + return obj; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/defineProperty.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/defineProperty.js new file mode 100644 index 00000000..7cf6e59f --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/defineProperty.js @@ -0,0 +1,14 @@ +export default function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/extends.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/extends.js new file mode 100644 index 00000000..b9b138d8 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/extends.js @@ -0,0 +1,17 @@ +export default function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/get.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/get.js new file mode 100644 index 00000000..a369d4d1 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/get.js @@ -0,0 +1,20 @@ +import superPropBase from "./superPropBase"; +export default function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && Reflect.get) { + _get = Reflect.get; + } else { + _get = function _get(target, property, receiver) { + var base = superPropBase(target, property); + if (!base) return; + var desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.get) { + return desc.get.call(receiver); + } + + return desc.value; + }; + } + + return _get(target, property, receiver || target); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js new file mode 100644 index 00000000..5abafe38 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js @@ -0,0 +1,6 @@ +export default function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/inherits.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/inherits.js new file mode 100644 index 00000000..035648d0 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/inherits.js @@ -0,0 +1,15 @@ +import setPrototypeOf from "./setPrototypeOf"; +export default function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) setPrototypeOf(subClass, superClass); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js new file mode 100644 index 00000000..32017e66 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js @@ -0,0 +1,5 @@ +export default function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js new file mode 100644 index 00000000..26fdea08 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js @@ -0,0 +1,9 @@ +export default function _initializerDefineProperty(target, property, descriptor, context) { + if (!descriptor) return; + Object.defineProperty(target, property, { + enumerable: descriptor.enumerable, + configurable: descriptor.configurable, + writable: descriptor.writable, + value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 + }); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js new file mode 100644 index 00000000..30d518cf --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js @@ -0,0 +1,3 @@ +export default function _initializerWarningHelper(descriptor, context) { + throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/instanceof.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/instanceof.js new file mode 100644 index 00000000..8c43b717 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/instanceof.js @@ -0,0 +1,7 @@ +export default function _instanceof(left, right) { + if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { + return !!right[Symbol.hasInstance](left); + } else { + return left instanceof right; + } +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js new file mode 100644 index 00000000..c2df7b64 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js @@ -0,0 +1,5 @@ +export default function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js new file mode 100644 index 00000000..d39be9ef --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js @@ -0,0 +1,53 @@ +import _typeof from "../../helpers/esm/typeof"; + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +export default function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { + return { + "default": obj + }; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + + newObj["default"] = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js new file mode 100644 index 00000000..7b1bc821 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js @@ -0,0 +1,3 @@ +export default function _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js new file mode 100644 index 00000000..9829e0fb --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js @@ -0,0 +1,12 @@ +export default function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + + try { + Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); + return true; + } catch (e) { + return false; + } +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/iterableToArray.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/iterableToArray.js new file mode 100644 index 00000000..6cd6ae35 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/iterableToArray.js @@ -0,0 +1,3 @@ +export default function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js new file mode 100644 index 00000000..6402595d --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js @@ -0,0 +1,26 @@ +export default function _iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js new file mode 100644 index 00000000..025c0ea5 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js @@ -0,0 +1,12 @@ +export default function _iterableToArrayLimitLoose(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + + for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { + _arr.push(_step.value); + + if (i && _arr.length === i) break; + } + + return _arr; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/jsx.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/jsx.js new file mode 100644 index 00000000..3a98cec8 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/jsx.js @@ -0,0 +1,46 @@ +var REACT_ELEMENT_TYPE; +export default function _createRawReactElement(type, props, key, children) { + if (!REACT_ELEMENT_TYPE) { + REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol["for"] && Symbol["for"]("react.element") || 0xeac7; + } + + var defaultProps = type && type.defaultProps; + var childrenLength = arguments.length - 3; + + if (!props && childrenLength !== 0) { + props = { + children: void 0 + }; + } + + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = new Array(childrenLength); + + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 3]; + } + + props.children = childArray; + } + + if (props && defaultProps) { + for (var propName in defaultProps) { + if (props[propName] === void 0) { + props[propName] = defaultProps[propName]; + } + } + } else if (!props) { + props = defaultProps || {}; + } + + return { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key === undefined ? null : '' + key, + ref: null, + props: props, + _owner: null + }; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js new file mode 100644 index 00000000..91d5c62b --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js @@ -0,0 +1,9 @@ +import arrayLikeToArray from "./arrayLikeToArray"; +export default function _maybeArrayLike(next, arr, i) { + if (arr && !Array.isArray(arr) && typeof arr.length === "number") { + var len = arr.length; + return arrayLikeToArray(arr, i !== void 0 && i < len ? i : len); + } + + return next(arr, i); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js new file mode 100644 index 00000000..d6cd8643 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js @@ -0,0 +1,5 @@ +export default function _newArrowCheck(innerThis, boundThis) { + if (innerThis !== boundThis) { + throw new TypeError("Cannot instantiate an arrow function"); + } +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js new file mode 100644 index 00000000..b349d006 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js @@ -0,0 +1,3 @@ +export default function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js new file mode 100644 index 00000000..82d82961 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js @@ -0,0 +1,3 @@ +export default function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js new file mode 100644 index 00000000..82b67d2c --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js @@ -0,0 +1,3 @@ +export default function _objectDestructuringEmpty(obj) { + if (obj == null) throw new TypeError("Cannot destructure undefined"); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/objectSpread.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/objectSpread.js new file mode 100644 index 00000000..0e189fbe --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/objectSpread.js @@ -0,0 +1,19 @@ +import defineProperty from "./defineProperty"; +export default function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? Object(arguments[i]) : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + defineProperty(target, key, source[key]); + }); + } + + return target; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/objectSpread2.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/objectSpread2.js new file mode 100644 index 00000000..1da08661 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/objectSpread2.js @@ -0,0 +1,35 @@ +import defineProperty from "./defineProperty"; + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; +} + +export default function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js new file mode 100644 index 00000000..2af6091d --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js @@ -0,0 +1,19 @@ +import objectWithoutPropertiesLoose from "./objectWithoutPropertiesLoose"; +export default function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = objectWithoutPropertiesLoose(source, excluded); + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js new file mode 100644 index 00000000..c36815ce --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js @@ -0,0 +1,14 @@ +export default 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; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/package.json b/frontEnd/node_modules/@babel/runtime/helpers/esm/package.json new file mode 100644 index 00000000..aead43de --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js new file mode 100644 index 00000000..be7b7a44 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js @@ -0,0 +1,9 @@ +import _typeof from "../../helpers/esm/typeof"; +import assertThisInitialized from "./assertThisInitialized"; +export default function _possibleConstructorReturn(self, call) { + if (call && (_typeof(call) === "object" || typeof call === "function")) { + return call; + } + + return assertThisInitialized(self); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/readOnlyError.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/readOnlyError.js new file mode 100644 index 00000000..45d01d72 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/readOnlyError.js @@ -0,0 +1,3 @@ +export default function _readOnlyError(name) { + throw new Error("\"" + name + "\" is read-only"); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/set.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/set.js new file mode 100644 index 00000000..fb20af78 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/set.js @@ -0,0 +1,51 @@ +import superPropBase from "./superPropBase"; +import defineProperty from "./defineProperty"; + +function set(target, property, value, receiver) { + if (typeof Reflect !== "undefined" && Reflect.set) { + set = Reflect.set; + } else { + set = function set(target, property, value, receiver) { + var base = superPropBase(target, property); + var desc; + + if (base) { + desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.set) { + desc.set.call(receiver, value); + return true; + } else if (!desc.writable) { + return false; + } + } + + desc = Object.getOwnPropertyDescriptor(receiver, property); + + if (desc) { + if (!desc.writable) { + return false; + } + + desc.value = value; + Object.defineProperty(receiver, property, desc); + } else { + defineProperty(receiver, property, value); + } + + return true; + }; + } + + return set(target, property, value, receiver); +} + +export default function _set(target, property, value, receiver, isStrict) { + var s = set(target, property, value, receiver || target); + + if (!s && isStrict) { + throw new Error('failed to set property'); + } + + return value; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js new file mode 100644 index 00000000..e6ef03e5 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js @@ -0,0 +1,8 @@ +export default function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js new file mode 100644 index 00000000..cadd9bb5 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js @@ -0,0 +1,7 @@ +export default function _skipFirstGeneratorNext(fn) { + return function () { + var it = fn.apply(this, arguments); + it.next(); + return it; + }; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/slicedToArray.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/slicedToArray.js new file mode 100644 index 00000000..69686080 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/slicedToArray.js @@ -0,0 +1,7 @@ +import arrayWithHoles from "./arrayWithHoles"; +import iterableToArrayLimit from "./iterableToArrayLimit"; +import unsupportedIterableToArray from "./unsupportedIterableToArray"; +import nonIterableRest from "./nonIterableRest"; +export default function _slicedToArray(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js new file mode 100644 index 00000000..883f9e32 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js @@ -0,0 +1,7 @@ +import arrayWithHoles from "./arrayWithHoles"; +import iterableToArrayLimitLoose from "./iterableToArrayLimitLoose"; +import unsupportedIterableToArray from "./unsupportedIterableToArray"; +import nonIterableRest from "./nonIterableRest"; +export default function _slicedToArrayLoose(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/superPropBase.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/superPropBase.js new file mode 100644 index 00000000..eace947c --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/superPropBase.js @@ -0,0 +1,9 @@ +import getPrototypeOf from "./getPrototypeOf"; +export default function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = getPrototypeOf(object); + if (object === null) break; + } + + return object; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js new file mode 100644 index 00000000..421f18ab --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js @@ -0,0 +1,11 @@ +export default function _taggedTemplateLiteral(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + return Object.freeze(Object.defineProperties(strings, { + raw: { + value: Object.freeze(raw) + } + })); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js new file mode 100644 index 00000000..c8f081e9 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js @@ -0,0 +1,8 @@ +export default function _taggedTemplateLiteralLoose(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + strings.raw = raw; + return strings; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/tdz.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/tdz.js new file mode 100644 index 00000000..d5d0adc8 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/tdz.js @@ -0,0 +1,3 @@ +export default function _tdzError(name) { + throw new ReferenceError(name + " is not defined - temporal dead zone"); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/temporalRef.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/temporalRef.js new file mode 100644 index 00000000..6d167a30 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/temporalRef.js @@ -0,0 +1,5 @@ +import undef from "./temporalUndefined"; +import err from "./tdz"; +export default function _temporalRef(val, name) { + return val === undef ? err(name) : val; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js new file mode 100644 index 00000000..1a357173 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js @@ -0,0 +1 @@ +export default function _temporalUndefined() {} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/toArray.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/toArray.js new file mode 100644 index 00000000..7d4a65d1 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/toArray.js @@ -0,0 +1,7 @@ +import arrayWithHoles from "./arrayWithHoles"; +import iterableToArray from "./iterableToArray"; +import unsupportedIterableToArray from "./unsupportedIterableToArray"; +import nonIterableRest from "./nonIterableRest"; +export default function _toArray(arr) { + return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest(); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js new file mode 100644 index 00000000..67439c92 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js @@ -0,0 +1,7 @@ +import arrayWithoutHoles from "./arrayWithoutHoles"; +import iterableToArray from "./iterableToArray"; +import unsupportedIterableToArray from "./unsupportedIterableToArray"; +import nonIterableSpread from "./nonIterableSpread"; +export default function _toConsumableArray(arr) { + return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/toPrimitive.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/toPrimitive.js new file mode 100644 index 00000000..72a4a097 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/toPrimitive.js @@ -0,0 +1,13 @@ +import _typeof from "../../helpers/esm/typeof"; +export default function _toPrimitive(input, hint) { + if (_typeof(input) !== "object" || input === null) return input; + var prim = input[Symbol.toPrimitive]; + + if (prim !== undefined) { + var res = prim.call(input, hint || "default"); + if (_typeof(res) !== "object") return res; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + + return (hint === "string" ? String : Number)(input); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js new file mode 100644 index 00000000..7b53a4de --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js @@ -0,0 +1,6 @@ +import _typeof from "../../helpers/esm/typeof"; +import toPrimitive from "./toPrimitive"; +export default function _toPropertyKey(arg) { + var key = toPrimitive(arg, "string"); + return _typeof(key) === "symbol" ? key : String(key); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/typeof.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/typeof.js new file mode 100644 index 00000000..eb444f73 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/typeof.js @@ -0,0 +1,15 @@ +export default 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); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js new file mode 100644 index 00000000..078d0488 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js @@ -0,0 +1,9 @@ +import arrayLikeToArray from "./arrayLikeToArray"; +export default function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js new file mode 100644 index 00000000..6d6d9811 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js @@ -0,0 +1,6 @@ +import AsyncGenerator from "./AsyncGenerator"; +export default function _wrapAsyncGenerator(fn) { + return function () { + return new AsyncGenerator(fn.apply(this, arguments)); + }; +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js new file mode 100644 index 00000000..5c55d058 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js @@ -0,0 +1,37 @@ +import getPrototypeOf from "./getPrototypeOf"; +import setPrototypeOf from "./setPrototypeOf"; +import isNativeFunction from "./isNativeFunction"; +import construct from "./construct"; +export default function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? new Map() : undefined; + + _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (Class === null || !isNativeFunction(Class)) return Class; + + if (typeof Class !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + + if (typeof _cache !== "undefined") { + if (_cache.has(Class)) return _cache.get(Class); + + _cache.set(Class, Wrapper); + } + + function Wrapper() { + return construct(Class, arguments, getPrototypeOf(this).constructor); + } + + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return setPrototypeOf(Wrapper, Class); + }; + + return _wrapNativeSuper(Class); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js b/frontEnd/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js new file mode 100644 index 00000000..c8854500 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js @@ -0,0 +1,69 @@ +import _typeof from "../../helpers/esm/typeof"; +import wrapNativeSuper from "./wrapNativeSuper"; +import getPrototypeOf from "./getPrototypeOf"; +import possibleConstructorReturn from "./possibleConstructorReturn"; +import inherits from "./inherits"; +export default function _wrapRegExp(re, groups) { + _wrapRegExp = function _wrapRegExp(re, groups) { + return new BabelRegExp(re, undefined, groups); + }; + + var _RegExp = wrapNativeSuper(RegExp); + + var _super = RegExp.prototype; + + var _groups = new WeakMap(); + + function BabelRegExp(re, flags, groups) { + var _this = _RegExp.call(this, re, flags); + + _groups.set(_this, groups || _groups.get(re)); + + return _this; + } + + inherits(BabelRegExp, _RegExp); + + BabelRegExp.prototype.exec = function (str) { + var result = _super.exec.call(this, str); + + if (result) result.groups = buildGroups(result, this); + return result; + }; + + BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { + if (typeof substitution === "string") { + var groups = _groups.get(this); + + return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { + return "$" + groups[name]; + })); + } else if (typeof substitution === "function") { + var _this = this; + + return _super[Symbol.replace].call(this, str, function () { + var args = []; + args.push.apply(args, arguments); + + if (_typeof(args[args.length - 1]) !== "object") { + args.push(buildGroups(args, _this)); + } + + return substitution.apply(this, args); + }); + } else { + return _super[Symbol.replace].call(this, str, substitution); + } + }; + + function buildGroups(result, re) { + var g = _groups.get(re); + + return Object.keys(g).reduce(function (groups, name) { + groups[name] = result[g[name]]; + return groups; + }, Object.create(null)); + } + + return _wrapRegExp.apply(this, arguments); +} \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/extends.js b/frontEnd/node_modules/@babel/runtime/helpers/extends.js new file mode 100644 index 00000000..1816877e --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/extends.js @@ -0,0 +1,19 @@ +function _extends() { + module.exports = _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} + +module.exports = _extends; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/get.js b/frontEnd/node_modules/@babel/runtime/helpers/get.js new file mode 100644 index 00000000..31ffc656 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/get.js @@ -0,0 +1,23 @@ +var superPropBase = require("./superPropBase"); + +function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && Reflect.get) { + module.exports = _get = Reflect.get; + } else { + module.exports = _get = function _get(target, property, receiver) { + var base = superPropBase(target, property); + if (!base) return; + var desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.get) { + return desc.get.call(receiver); + } + + return desc.value; + }; + } + + return _get(target, property, receiver || target); +} + +module.exports = _get; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/getPrototypeOf.js b/frontEnd/node_modules/@babel/runtime/helpers/getPrototypeOf.js new file mode 100644 index 00000000..5fc9a169 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/getPrototypeOf.js @@ -0,0 +1,8 @@ +function _getPrototypeOf(o) { + module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +module.exports = _getPrototypeOf; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/inherits.js b/frontEnd/node_modules/@babel/runtime/helpers/inherits.js new file mode 100644 index 00000000..6b4f286d --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/inherits.js @@ -0,0 +1,18 @@ +var setPrototypeOf = require("./setPrototypeOf"); + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) setPrototypeOf(subClass, superClass); +} + +module.exports = _inherits; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/inheritsLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/inheritsLoose.js new file mode 100644 index 00000000..c3f7cdb4 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/inheritsLoose.js @@ -0,0 +1,7 @@ +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} + +module.exports = _inheritsLoose; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/initializerDefineProperty.js b/frontEnd/node_modules/@babel/runtime/helpers/initializerDefineProperty.js new file mode 100644 index 00000000..4caa5ca6 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/initializerDefineProperty.js @@ -0,0 +1,11 @@ +function _initializerDefineProperty(target, property, descriptor, context) { + if (!descriptor) return; + Object.defineProperty(target, property, { + enumerable: descriptor.enumerable, + configurable: descriptor.configurable, + writable: descriptor.writable, + value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 + }); +} + +module.exports = _initializerDefineProperty; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/initializerWarningHelper.js b/frontEnd/node_modules/@babel/runtime/helpers/initializerWarningHelper.js new file mode 100644 index 00000000..50ec82cd --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/initializerWarningHelper.js @@ -0,0 +1,5 @@ +function _initializerWarningHelper(descriptor, context) { + throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); +} + +module.exports = _initializerWarningHelper; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/instanceof.js b/frontEnd/node_modules/@babel/runtime/helpers/instanceof.js new file mode 100644 index 00000000..efe134c1 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/instanceof.js @@ -0,0 +1,9 @@ +function _instanceof(left, right) { + if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { + return !!right[Symbol.hasInstance](left); + } else { + return left instanceof right; + } +} + +module.exports = _instanceof; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/interopRequireDefault.js b/frontEnd/node_modules/@babel/runtime/helpers/interopRequireDefault.js new file mode 100644 index 00000000..f713d130 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/interopRequireDefault.js @@ -0,0 +1,7 @@ +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} + +module.exports = _interopRequireDefault; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/interopRequireWildcard.js b/frontEnd/node_modules/@babel/runtime/helpers/interopRequireWildcard.js new file mode 100644 index 00000000..68fd84c6 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/interopRequireWildcard.js @@ -0,0 +1,55 @@ +var _typeof = require("../helpers/typeof"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { + return { + "default": obj + }; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + + newObj["default"] = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +module.exports = _interopRequireWildcard; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/isNativeFunction.js b/frontEnd/node_modules/@babel/runtime/helpers/isNativeFunction.js new file mode 100644 index 00000000..e2dc3ed7 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/isNativeFunction.js @@ -0,0 +1,5 @@ +function _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; +} + +module.exports = _isNativeFunction; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js b/frontEnd/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js new file mode 100644 index 00000000..4dc5853e --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js @@ -0,0 +1,14 @@ +function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + + try { + Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); + return true; + } catch (e) { + return false; + } +} + +module.exports = _isNativeReflectConstruct; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/iterableToArray.js b/frontEnd/node_modules/@babel/runtime/helpers/iterableToArray.js new file mode 100644 index 00000000..954244b9 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/iterableToArray.js @@ -0,0 +1,5 @@ +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} + +module.exports = _iterableToArray; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js b/frontEnd/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js new file mode 100644 index 00000000..548e6393 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js @@ -0,0 +1,28 @@ +function _iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +module.exports = _iterableToArrayLimit; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js new file mode 100644 index 00000000..e1a959f4 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js @@ -0,0 +1,14 @@ +function _iterableToArrayLimitLoose(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + + for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { + _arr.push(_step.value); + + if (i && _arr.length === i) break; + } + + return _arr; +} + +module.exports = _iterableToArrayLimitLoose; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/jsx.js b/frontEnd/node_modules/@babel/runtime/helpers/jsx.js new file mode 100644 index 00000000..4b1ee549 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/jsx.js @@ -0,0 +1,49 @@ +var REACT_ELEMENT_TYPE; + +function _createRawReactElement(type, props, key, children) { + if (!REACT_ELEMENT_TYPE) { + REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol["for"] && Symbol["for"]("react.element") || 0xeac7; + } + + var defaultProps = type && type.defaultProps; + var childrenLength = arguments.length - 3; + + if (!props && childrenLength !== 0) { + props = { + children: void 0 + }; + } + + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = new Array(childrenLength); + + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 3]; + } + + props.children = childArray; + } + + if (props && defaultProps) { + for (var propName in defaultProps) { + if (props[propName] === void 0) { + props[propName] = defaultProps[propName]; + } + } + } else if (!props) { + props = defaultProps || {}; + } + + return { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key === undefined ? null : '' + key, + ref: null, + props: props, + _owner: null + }; +} + +module.exports = _createRawReactElement; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/maybeArrayLike.js b/frontEnd/node_modules/@babel/runtime/helpers/maybeArrayLike.js new file mode 100644 index 00000000..0a09c435 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/maybeArrayLike.js @@ -0,0 +1,12 @@ +var arrayLikeToArray = require("./arrayLikeToArray"); + +function _maybeArrayLike(next, arr, i) { + if (arr && !Array.isArray(arr) && typeof arr.length === "number") { + var len = arr.length; + return arrayLikeToArray(arr, i !== void 0 && i < len ? i : len); + } + + return next(arr, i); +} + +module.exports = _maybeArrayLike; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/newArrowCheck.js b/frontEnd/node_modules/@babel/runtime/helpers/newArrowCheck.js new file mode 100644 index 00000000..9b59f58c --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/newArrowCheck.js @@ -0,0 +1,7 @@ +function _newArrowCheck(innerThis, boundThis) { + if (innerThis !== boundThis) { + throw new TypeError("Cannot instantiate an arrow function"); + } +} + +module.exports = _newArrowCheck; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/nonIterableRest.js b/frontEnd/node_modules/@babel/runtime/helpers/nonIterableRest.js new file mode 100644 index 00000000..5b3a52ee --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/nonIterableRest.js @@ -0,0 +1,5 @@ +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +module.exports = _nonIterableRest; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/nonIterableSpread.js b/frontEnd/node_modules/@babel/runtime/helpers/nonIterableSpread.js new file mode 100644 index 00000000..65457a22 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/nonIterableSpread.js @@ -0,0 +1,5 @@ +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +module.exports = _nonIterableSpread; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js b/frontEnd/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js new file mode 100644 index 00000000..1d5c04a7 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js @@ -0,0 +1,5 @@ +function _objectDestructuringEmpty(obj) { + if (obj == null) throw new TypeError("Cannot destructure undefined"); +} + +module.exports = _objectDestructuringEmpty; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/objectSpread.js b/frontEnd/node_modules/@babel/runtime/helpers/objectSpread.js new file mode 100644 index 00000000..ad8036e3 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/objectSpread.js @@ -0,0 +1,22 @@ +var defineProperty = require("./defineProperty"); + +function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? Object(arguments[i]) : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + defineProperty(target, key, source[key]); + }); + } + + return target; +} + +module.exports = _objectSpread; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/objectSpread2.js b/frontEnd/node_modules/@babel/runtime/helpers/objectSpread2.js new file mode 100644 index 00000000..f067f3ec --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/objectSpread2.js @@ -0,0 +1,37 @@ +var defineProperty = require("./defineProperty"); + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +module.exports = _objectSpread2; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/objectWithoutProperties.js b/frontEnd/node_modules/@babel/runtime/helpers/objectWithoutProperties.js new file mode 100644 index 00000000..253d33c9 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/objectWithoutProperties.js @@ -0,0 +1,22 @@ +var objectWithoutPropertiesLoose = require("./objectWithoutPropertiesLoose"); + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = objectWithoutPropertiesLoose(source, excluded); + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +module.exports = _objectWithoutProperties; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js new file mode 100644 index 00000000..a58c56b0 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js @@ -0,0 +1,16 @@ +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; +} + +module.exports = _objectWithoutPropertiesLoose; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js b/frontEnd/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js new file mode 100644 index 00000000..84f7bf63 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js @@ -0,0 +1,13 @@ +var _typeof = require("../helpers/typeof"); + +var assertThisInitialized = require("./assertThisInitialized"); + +function _possibleConstructorReturn(self, call) { + if (call && (_typeof(call) === "object" || typeof call === "function")) { + return call; + } + + return assertThisInitialized(self); +} + +module.exports = _possibleConstructorReturn; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/readOnlyError.js b/frontEnd/node_modules/@babel/runtime/helpers/readOnlyError.js new file mode 100644 index 00000000..4e61e3fd --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/readOnlyError.js @@ -0,0 +1,5 @@ +function _readOnlyError(name) { + throw new Error("\"" + name + "\" is read-only"); +} + +module.exports = _readOnlyError; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/set.js b/frontEnd/node_modules/@babel/runtime/helpers/set.js new file mode 100644 index 00000000..97fa8c35 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/set.js @@ -0,0 +1,54 @@ +var superPropBase = require("./superPropBase"); + +var defineProperty = require("./defineProperty"); + +function set(target, property, value, receiver) { + if (typeof Reflect !== "undefined" && Reflect.set) { + set = Reflect.set; + } else { + set = function set(target, property, value, receiver) { + var base = superPropBase(target, property); + var desc; + + if (base) { + desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.set) { + desc.set.call(receiver, value); + return true; + } else if (!desc.writable) { + return false; + } + } + + desc = Object.getOwnPropertyDescriptor(receiver, property); + + if (desc) { + if (!desc.writable) { + return false; + } + + desc.value = value; + Object.defineProperty(receiver, property, desc); + } else { + defineProperty(receiver, property, value); + } + + return true; + }; + } + + return set(target, property, value, receiver); +} + +function _set(target, property, value, receiver, isStrict) { + var s = set(target, property, value, receiver || target); + + if (!s && isStrict) { + throw new Error('failed to set property'); + } + + return value; +} + +module.exports = _set; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/setPrototypeOf.js b/frontEnd/node_modules/@babel/runtime/helpers/setPrototypeOf.js new file mode 100644 index 00000000..d86e2fc3 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/setPrototypeOf.js @@ -0,0 +1,10 @@ +function _setPrototypeOf(o, p) { + module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +module.exports = _setPrototypeOf; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js b/frontEnd/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js new file mode 100644 index 00000000..e1d6c86b --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js @@ -0,0 +1,9 @@ +function _skipFirstGeneratorNext(fn) { + return function () { + var it = fn.apply(this, arguments); + it.next(); + return it; + }; +} + +module.exports = _skipFirstGeneratorNext; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/slicedToArray.js b/frontEnd/node_modules/@babel/runtime/helpers/slicedToArray.js new file mode 100644 index 00000000..4255ab98 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/slicedToArray.js @@ -0,0 +1,13 @@ +var arrayWithHoles = require("./arrayWithHoles"); + +var iterableToArrayLimit = require("./iterableToArrayLimit"); + +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + +var nonIterableRest = require("./nonIterableRest"); + +function _slicedToArray(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); +} + +module.exports = _slicedToArray; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js new file mode 100644 index 00000000..73040133 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js @@ -0,0 +1,13 @@ +var arrayWithHoles = require("./arrayWithHoles"); + +var iterableToArrayLimitLoose = require("./iterableToArrayLimitLoose"); + +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + +var nonIterableRest = require("./nonIterableRest"); + +function _slicedToArrayLoose(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); +} + +module.exports = _slicedToArrayLoose; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/superPropBase.js b/frontEnd/node_modules/@babel/runtime/helpers/superPropBase.js new file mode 100644 index 00000000..bbb34a2d --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/superPropBase.js @@ -0,0 +1,12 @@ +var getPrototypeOf = require("./getPrototypeOf"); + +function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = getPrototypeOf(object); + if (object === null) break; + } + + return object; +} + +module.exports = _superPropBase; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js b/frontEnd/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js new file mode 100644 index 00000000..bdcc1e9d --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js @@ -0,0 +1,13 @@ +function _taggedTemplateLiteral(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + return Object.freeze(Object.defineProperties(strings, { + raw: { + value: Object.freeze(raw) + } + })); +} + +module.exports = _taggedTemplateLiteral; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js b/frontEnd/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js new file mode 100644 index 00000000..beced541 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js @@ -0,0 +1,10 @@ +function _taggedTemplateLiteralLoose(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + strings.raw = raw; + return strings; +} + +module.exports = _taggedTemplateLiteralLoose; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/tdz.js b/frontEnd/node_modules/@babel/runtime/helpers/tdz.js new file mode 100644 index 00000000..6075e8d3 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/tdz.js @@ -0,0 +1,5 @@ +function _tdzError(name) { + throw new ReferenceError(name + " is not defined - temporal dead zone"); +} + +module.exports = _tdzError; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/temporalRef.js b/frontEnd/node_modules/@babel/runtime/helpers/temporalRef.js new file mode 100644 index 00000000..8aa5e5e5 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/temporalRef.js @@ -0,0 +1,9 @@ +var temporalUndefined = require("./temporalUndefined"); + +var tdz = require("./tdz"); + +function _temporalRef(val, name) { + return val === temporalUndefined ? tdz(name) : val; +} + +module.exports = _temporalRef; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/temporalUndefined.js b/frontEnd/node_modules/@babel/runtime/helpers/temporalUndefined.js new file mode 100644 index 00000000..416d9b3a --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/temporalUndefined.js @@ -0,0 +1,3 @@ +function _temporalUndefined() {} + +module.exports = _temporalUndefined; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/toArray.js b/frontEnd/node_modules/@babel/runtime/helpers/toArray.js new file mode 100644 index 00000000..f1138229 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/toArray.js @@ -0,0 +1,13 @@ +var arrayWithHoles = require("./arrayWithHoles"); + +var iterableToArray = require("./iterableToArray"); + +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + +var nonIterableRest = require("./nonIterableRest"); + +function _toArray(arr) { + return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest(); +} + +module.exports = _toArray; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/toConsumableArray.js b/frontEnd/node_modules/@babel/runtime/helpers/toConsumableArray.js new file mode 100644 index 00000000..ec51d2ec --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/toConsumableArray.js @@ -0,0 +1,13 @@ +var arrayWithoutHoles = require("./arrayWithoutHoles"); + +var iterableToArray = require("./iterableToArray"); + +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + +var nonIterableSpread = require("./nonIterableSpread"); + +function _toConsumableArray(arr) { + return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); +} + +module.exports = _toConsumableArray; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/toPrimitive.js b/frontEnd/node_modules/@babel/runtime/helpers/toPrimitive.js new file mode 100644 index 00000000..cd1d383f --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/toPrimitive.js @@ -0,0 +1,16 @@ +var _typeof = require("../helpers/typeof"); + +function _toPrimitive(input, hint) { + if (_typeof(input) !== "object" || input === null) return input; + var prim = input[Symbol.toPrimitive]; + + if (prim !== undefined) { + var res = prim.call(input, hint || "default"); + if (_typeof(res) !== "object") return res; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + + return (hint === "string" ? String : Number)(input); +} + +module.exports = _toPrimitive; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/toPropertyKey.js b/frontEnd/node_modules/@babel/runtime/helpers/toPropertyKey.js new file mode 100644 index 00000000..108b083e --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/toPropertyKey.js @@ -0,0 +1,10 @@ +var _typeof = require("../helpers/typeof"); + +var toPrimitive = require("./toPrimitive"); + +function _toPropertyKey(arg) { + var key = toPrimitive(arg, "string"); + return _typeof(key) === "symbol" ? key : String(key); +} + +module.exports = _toPropertyKey; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/typeof.js b/frontEnd/node_modules/@babel/runtime/helpers/typeof.js new file mode 100644 index 00000000..cad12330 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/typeof.js @@ -0,0 +1,17 @@ +function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + module.exports = _typeof = function _typeof(obj) { + return typeof obj; + }; + } else { + module.exports = _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); +} + +module.exports = _typeof; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js b/frontEnd/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js new file mode 100644 index 00000000..3d3e12aa --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js @@ -0,0 +1,12 @@ +var arrayLikeToArray = require("./arrayLikeToArray"); + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); +} + +module.exports = _unsupportedIterableToArray; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js b/frontEnd/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js new file mode 100644 index 00000000..11554f3d --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js @@ -0,0 +1,9 @@ +var AsyncGenerator = require("./AsyncGenerator"); + +function _wrapAsyncGenerator(fn) { + return function () { + return new AsyncGenerator(fn.apply(this, arguments)); + }; +} + +module.exports = _wrapAsyncGenerator; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/wrapNativeSuper.js b/frontEnd/node_modules/@babel/runtime/helpers/wrapNativeSuper.js new file mode 100644 index 00000000..3d4bd7a0 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/wrapNativeSuper.js @@ -0,0 +1,43 @@ +var getPrototypeOf = require("./getPrototypeOf"); + +var setPrototypeOf = require("./setPrototypeOf"); + +var isNativeFunction = require("./isNativeFunction"); + +var construct = require("./construct"); + +function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? new Map() : undefined; + + module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (Class === null || !isNativeFunction(Class)) return Class; + + if (typeof Class !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + + if (typeof _cache !== "undefined") { + if (_cache.has(Class)) return _cache.get(Class); + + _cache.set(Class, Wrapper); + } + + function Wrapper() { + return construct(Class, arguments, getPrototypeOf(this).constructor); + } + + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return setPrototypeOf(Wrapper, Class); + }; + + return _wrapNativeSuper(Class); +} + +module.exports = _wrapNativeSuper; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/helpers/wrapRegExp.js b/frontEnd/node_modules/@babel/runtime/helpers/wrapRegExp.js new file mode 100644 index 00000000..fcf91d83 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/helpers/wrapRegExp.js @@ -0,0 +1,76 @@ +var _typeof = require("../helpers/typeof"); + +var wrapNativeSuper = require("./wrapNativeSuper"); + +var getPrototypeOf = require("./getPrototypeOf"); + +var possibleConstructorReturn = require("./possibleConstructorReturn"); + +var inherits = require("./inherits"); + +function _wrapRegExp(re, groups) { + module.exports = _wrapRegExp = function _wrapRegExp(re, groups) { + return new BabelRegExp(re, undefined, groups); + }; + + var _RegExp = wrapNativeSuper(RegExp); + + var _super = RegExp.prototype; + + var _groups = new WeakMap(); + + function BabelRegExp(re, flags, groups) { + var _this = _RegExp.call(this, re, flags); + + _groups.set(_this, groups || _groups.get(re)); + + return _this; + } + + inherits(BabelRegExp, _RegExp); + + BabelRegExp.prototype.exec = function (str) { + var result = _super.exec.call(this, str); + + if (result) result.groups = buildGroups(result, this); + return result; + }; + + BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { + if (typeof substitution === "string") { + var groups = _groups.get(this); + + return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { + return "$" + groups[name]; + })); + } else if (typeof substitution === "function") { + var _this = this; + + return _super[Symbol.replace].call(this, str, function () { + var args = []; + args.push.apply(args, arguments); + + if (_typeof(args[args.length - 1]) !== "object") { + args.push(buildGroups(args, _this)); + } + + return substitution.apply(this, args); + }); + } else { + return _super[Symbol.replace].call(this, str, substitution); + } + }; + + function buildGroups(result, re) { + var g = _groups.get(re); + + return Object.keys(g).reduce(function (groups, name) { + groups[name] = result[g[name]]; + return groups; + }, Object.create(null)); + } + + return _wrapRegExp.apply(this, arguments); +} + +module.exports = _wrapRegExp; \ No newline at end of file diff --git a/frontEnd/node_modules/@babel/runtime/package.json b/frontEnd/node_modules/@babel/runtime/package.json new file mode 100644 index 00000000..c42e79a3 --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/package.json @@ -0,0 +1,23 @@ +{ + "name": "@babel/runtime", + "version": "7.11.2", + "description": "babel's modular runtime helpers", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-runtime" + }, + "homepage": "https://babeljs.io/", + "author": "Sebastian McKenzie ", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "devDependencies": { + "@babel/helpers": "^7.10.4" + }, + "gitHead": "bc7a811fce3ceeea393229299c1cdb63858608e6" +} diff --git a/frontEnd/node_modules/@babel/runtime/regenerator/index.js b/frontEnd/node_modules/@babel/runtime/regenerator/index.js new file mode 100644 index 00000000..9fd4158a --- /dev/null +++ b/frontEnd/node_modules/@babel/runtime/regenerator/index.js @@ -0,0 +1 @@ +module.exports = require("regenerator-runtime"); diff --git a/frontEnd/node_modules/@emotion/hash/CHANGELOG.md b/frontEnd/node_modules/@emotion/hash/CHANGELOG.md new file mode 100644 index 00000000..562e812f --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/CHANGELOG.md @@ -0,0 +1,25 @@ +# @emotion/hash + +## 0.8.0 + +### Minor Changes + +- [`446e756`](https://github.com/emotion-js/emotion/commit/446e75661c4aa01e51d1466472a212940c19cd82) [#1775](https://github.com/emotion-js/emotion/pull/1775) Thanks [@kripod](https://github.com/kripod)! - Optimized hashing for performance while also reducing the size of the function. + +## 0.7.4 + +### Patch Changes + +- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file + +## 0.7.3 + +### Patch Changes + +- [c81c0033](https://github.com/emotion-js/emotion/commit/c81c0033c490210077da0e9c3f9fa1a22fcd9c96) [#1503](https://github.com/emotion-js/emotion/pull/1503) Thanks [@Andarist](https://github.com/Andarist)! - Add TS types to util packages - hash, memoize & weak-memoize + +## 0.7.2 + +### Patch Changes + +- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@mitchellhamilton](https://github.com/mitchellhamilton)! - Update build tool diff --git a/frontEnd/node_modules/@emotion/hash/LICENSE b/frontEnd/node_modules/@emotion/hash/LICENSE new file mode 100644 index 00000000..56e808de --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Emotion team and other contributors + +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. diff --git a/frontEnd/node_modules/@emotion/hash/README.md b/frontEnd/node_modules/@emotion/hash/README.md new file mode 100644 index 00000000..1a0693af --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/README.md @@ -0,0 +1,11 @@ +# @emotion/hash + +> A MurmurHash2 implementation + +```jsx +import hash from '@emotion/hash' + +hash('some-string') // 12fj1d +``` + +The source of this is from https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js. diff --git a/frontEnd/node_modules/@emotion/hash/dist/hash.browser.cjs.js b/frontEnd/node_modules/@emotion/hash/dist/hash.browser.cjs.js new file mode 100644 index 00000000..53896450 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/dist/hash.browser.cjs.js @@ -0,0 +1,59 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +/* 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); +} + +exports.default = murmur2; diff --git a/frontEnd/node_modules/@emotion/hash/dist/hash.browser.esm.js b/frontEnd/node_modules/@emotion/hash/dist/hash.browser.esm.js new file mode 100644 index 00000000..c1c6eb32 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/dist/hash.browser.esm.js @@ -0,0 +1,55 @@ +/* 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); +} + +export default murmur2; diff --git a/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.dev.js b/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.dev.js new file mode 100644 index 00000000..53896450 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.dev.js @@ -0,0 +1,59 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +/* 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); +} + +exports.default = murmur2; diff --git a/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.js b/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.js new file mode 100644 index 00000000..3b823b54 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.js @@ -0,0 +1,7 @@ +'use strict'; + +if (process.env.NODE_ENV === "production") { + module.exports = require("./hash.cjs.prod.js"); +} else { + module.exports = require("./hash.cjs.dev.js"); +} diff --git a/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.js.flow b/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.js.flow new file mode 100644 index 00000000..71889637 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.js.flow @@ -0,0 +1,3 @@ +// @flow +export * from "../src/index.js"; +export { default } from "../src/index.js"; diff --git a/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.prod.js b/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.prod.js new file mode 100644 index 00000000..8a685a30 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/dist/hash.cjs.prod.js @@ -0,0 +1,21 @@ +"use strict"; + +function murmur2(str) { + for (var k, h = 0, i = 0, len = str.length; len >= 4; ++i, len -= 4) k = 1540483477 * (65535 & (k = 255 & str.charCodeAt(i) | (255 & str.charCodeAt(++i)) << 8 | (255 & str.charCodeAt(++i)) << 16 | (255 & str.charCodeAt(++i)) << 24)) + (59797 * (k >>> 16) << 16), + h = 1540483477 * (65535 & (k ^= k >>> 24)) + (59797 * (k >>> 16) << 16) ^ 1540483477 * (65535 & h) + (59797 * (h >>> 16) << 16); + switch (len) { + case 3: + h ^= (255 & str.charCodeAt(i + 2)) << 16; + + case 2: + h ^= (255 & str.charCodeAt(i + 1)) << 8; + + case 1: + h = 1540483477 * (65535 & (h ^= 255 & str.charCodeAt(i))) + (59797 * (h >>> 16) << 16); + } + return (((h = 1540483477 * (65535 & (h ^= h >>> 13)) + (59797 * (h >>> 16) << 16)) ^ h >>> 15) >>> 0).toString(36); +} + +Object.defineProperty(exports, "__esModule", { + value: !0 +}), exports.default = murmur2; diff --git a/frontEnd/node_modules/@emotion/hash/dist/hash.esm.js b/frontEnd/node_modules/@emotion/hash/dist/hash.esm.js new file mode 100644 index 00000000..c1c6eb32 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/dist/hash.esm.js @@ -0,0 +1,55 @@ +/* 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); +} + +export default murmur2; diff --git a/frontEnd/node_modules/@emotion/hash/package.json b/frontEnd/node_modules/@emotion/hash/package.json new file mode 100644 index 00000000..1007935f --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/package.json @@ -0,0 +1,28 @@ +{ + "name": "@emotion/hash", + "version": "0.8.0", + "description": "A MurmurHash2 implementation", + "main": "dist/hash.cjs.js", + "module": "dist/hash.esm.js", + "types": "types/index.d.ts", + "license": "MIT", + "repository": "https://github.com/emotion-js/emotion/tree/master/packages/hash", + "publishConfig": { + "access": "public" + }, + "files": [ + "src", + "dist", + "types" + ], + "scripts": { + "test:typescript": "dtslint types" + }, + "devDependencies": { + "dtslint": "^0.3.0" + }, + "browser": { + "./dist/hash.cjs.js": "./dist/hash.browser.cjs.js", + "./dist/hash.esm.js": "./dist/hash.browser.esm.js" + } +} diff --git a/frontEnd/node_modules/@emotion/hash/src/index.js b/frontEnd/node_modules/@emotion/hash/src/index.js new file mode 100644 index 00000000..23ca1794 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/src/index.js @@ -0,0 +1,64 @@ +// @flow +/* eslint-disable */ +// Inspired by https://github.com/garycourt/murmurhash-js +// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86 + +export default function murmur2(str: string) { + // '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); +} diff --git a/frontEnd/node_modules/@emotion/hash/types/index.d.ts b/frontEnd/node_modules/@emotion/hash/types/index.d.ts new file mode 100644 index 00000000..872aa0be --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/types/index.d.ts @@ -0,0 +1 @@ +export default function murmurhash2_32_gc(str: string): string diff --git a/frontEnd/node_modules/@emotion/hash/types/tests.ts b/frontEnd/node_modules/@emotion/hash/types/tests.ts new file mode 100644 index 00000000..fe6444e8 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/types/tests.ts @@ -0,0 +1,15 @@ +import hash from '@emotion/hash' + +// $ExpectType string +hash('color: hotpink;') + +// $ExpectError +hash() +// $ExpectError +const hashed2: number = hash('color: hotpink;') +// $ExpectError +hash(42) +// $ExpectError +hash({}) +// $ExpectError +hash('color: hotpink;', 'background-color: #fff;') diff --git a/frontEnd/node_modules/@emotion/hash/types/tsconfig.json b/frontEnd/node_modules/@emotion/hash/types/tsconfig.json new file mode 100644 index 00000000..9ff7ed28 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/types/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "baseUrl": "../", + "forceConsistentCasingInFileNames": true, + "lib": [ + "es6", + "dom" + ], + "module": "commonjs", + "noEmit": true, + "noImplicitAny": true, + "noImplicitThis": true, + "strict": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "target": "es5", + "typeRoots": [ + "../" + ], + "types": [] + }, + "include": [ + "./*.ts", + "./*.tsx" + ] +} diff --git a/frontEnd/node_modules/@emotion/hash/types/tslint.json b/frontEnd/node_modules/@emotion/hash/types/tslint.json new file mode 100644 index 00000000..b9706ef7 --- /dev/null +++ b/frontEnd/node_modules/@emotion/hash/types/tslint.json @@ -0,0 +1,25 @@ +{ + "extends": "dtslint/dtslint.json", + "rules": { + "array-type": [ + true, + "generic" + ], + "import-spacing": false, + "semicolon": false, + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-module", + "check-rest-spread", + "check-type", + "check-typecast", + "check-type-operator", + "check-preblock" + ], + + "no-unnecessary-generics": false + } +} diff --git a/frontEnd/node_modules/@material-ui/core/Accordion/Accordion.d.ts b/frontEnd/node_modules/@material-ui/core/Accordion/Accordion.d.ts new file mode 100644 index 00000000..d541d1b7 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Accordion/Accordion.d.ts @@ -0,0 +1,57 @@ +import * as React from 'react'; +import { StandardProps } from '..'; +import { TransitionProps } from '../transitions/transition'; +import { PaperProps } from '../Paper'; + +export interface AccordionProps extends StandardProps { + /** + * The content of the accordion. + */ + children: NonNullable; + /** + * If `true`, expands the accordion by default. + */ + defaultExpanded?: boolean; + /** + * If `true`, the accordion will be displayed in a disabled state. + */ + disabled?: boolean; + /** + * If `true`, expands the accordion, otherwise collapse it. + * Setting this prop enables control over the accordion. + */ + expanded?: boolean; + /** + * Callback fired when the expand/collapse state is changed. + * + * @param {object} event The event source of the callback. + * @param {boolean} expanded The `expanded` state of the accordion. + */ + onChange?: (event: React.ChangeEvent<{}>, expanded: boolean) => void; + /** + * The component used for the collapse effect. + * [Follow this guide](/components/transitions/#transitioncomponent-prop) to learn more about the requirements for this component. + */ + TransitionComponent?: React.ComponentType< + TransitionProps & { children?: React.ReactElement } + >; + /** + * Props applied to the [`Transition`](http://reactcommunity.org/react-transition-group/transition#Transition-props) element. + */ + TransitionProps?: TransitionProps; +} + +export type AccordionClassKey = 'root' | 'rounded' | 'expanded' | 'disabled'; + +/** + * + * Demos: + * + * - [Accordion](https://material-ui.com/components/accordion/) + * + * API: + * + * - [Accordion API](https://material-ui.com/api/accordion/) + * - inherits [Paper API](https://material-ui.com/api/paper/) + */ +export default function Accordion(props: AccordionProps): JSX.Element; diff --git a/frontEnd/node_modules/@material-ui/core/Accordion/Accordion.js b/frontEnd/node_modules/@material-ui/core/Accordion/Accordion.js new file mode 100644 index 00000000..a169ab97 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Accordion/Accordion.js @@ -0,0 +1,255 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray")); + +var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _reactIs = require("react-is"); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _utils = require("@material-ui/utils"); + +var _Collapse = _interopRequireDefault(require("../Collapse")); + +var _Paper = _interopRequireDefault(require("../Paper")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _AccordionContext = _interopRequireDefault(require("./AccordionContext")); + +var _useControlled3 = _interopRequireDefault(require("../utils/useControlled")); + +var styles = function styles(theme) { + var transition = { + duration: theme.transitions.duration.shortest + }; + return { + /* Styles applied to the root element. */ + root: { + position: 'relative', + transition: theme.transitions.create(['margin'], transition), + '&:before': { + position: 'absolute', + left: 0, + top: -1, + right: 0, + height: 1, + content: '""', + opacity: 1, + backgroundColor: theme.palette.divider, + transition: theme.transitions.create(['opacity', 'background-color'], transition) + }, + '&:first-child': { + '&:before': { + display: 'none' + } + }, + '&$expanded': { + margin: '16px 0', + '&:first-child': { + marginTop: 0 + }, + '&:last-child': { + marginBottom: 0 + }, + '&:before': { + opacity: 0 + } + }, + '&$expanded + &': { + '&:before': { + display: 'none' + } + }, + '&$disabled': { + backgroundColor: theme.palette.action.disabledBackground + } + }, + + /* Styles applied to the root element if `square={false}`. */ + rounded: { + borderRadius: 0, + '&:first-child': { + borderTopLeftRadius: theme.shape.borderRadius, + borderTopRightRadius: theme.shape.borderRadius + }, + '&:last-child': { + borderBottomLeftRadius: theme.shape.borderRadius, + borderBottomRightRadius: theme.shape.borderRadius, + // Fix a rendering issue on Edge + '@supports (-ms-ime-align: auto)': { + borderBottomLeftRadius: 0, + borderBottomRightRadius: 0 + } + } + }, + + /* Styles applied to the root element if `expanded={true}`. */ + expanded: {}, + + /* Styles applied to the root element if `disabled={true}`. */ + disabled: {} + }; +}; + +exports.styles = styles; +var Accordion = /*#__PURE__*/React.forwardRef(function Accordion(props, ref) { + var childrenProp = props.children, + classes = props.classes, + className = props.className, + _props$defaultExpande = props.defaultExpanded, + defaultExpanded = _props$defaultExpande === void 0 ? false : _props$defaultExpande, + _props$disabled = props.disabled, + disabled = _props$disabled === void 0 ? false : _props$disabled, + expandedProp = props.expanded, + onChange = props.onChange, + _props$square = props.square, + square = _props$square === void 0 ? false : _props$square, + _props$TransitionComp = props.TransitionComponent, + TransitionComponent = _props$TransitionComp === void 0 ? _Collapse.default : _props$TransitionComp, + TransitionProps = props.TransitionProps, + other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "defaultExpanded", "disabled", "expanded", "onChange", "square", "TransitionComponent", "TransitionProps"]); + + var _useControlled = (0, _useControlled3.default)({ + controlled: expandedProp, + default: defaultExpanded, + name: 'Accordion', + state: 'expanded' + }), + _useControlled2 = (0, _slicedToArray2.default)(_useControlled, 2), + expanded = _useControlled2[0], + setExpandedState = _useControlled2[1]; + + var handleChange = React.useCallback(function (event) { + setExpandedState(!expanded); + + if (onChange) { + onChange(event, !expanded); + } + }, [expanded, onChange, setExpandedState]); + + var _React$Children$toArr = React.Children.toArray(childrenProp), + _React$Children$toArr2 = (0, _toArray2.default)(_React$Children$toArr), + summary = _React$Children$toArr2[0], + children = _React$Children$toArr2.slice(1); + + var contextValue = React.useMemo(function () { + return { + expanded: expanded, + disabled: disabled, + toggle: handleChange + }; + }, [expanded, disabled, handleChange]); + return /*#__PURE__*/React.createElement(_Paper.default, (0, _extends2.default)({ + className: (0, _clsx.default)(classes.root, className, expanded && classes.expanded, disabled && classes.disabled, !square && classes.rounded), + ref: ref, + square: square + }, other), /*#__PURE__*/React.createElement(_AccordionContext.default.Provider, { + value: contextValue + }, summary), /*#__PURE__*/React.createElement(TransitionComponent, (0, _extends2.default)({ + in: expanded, + timeout: "auto" + }, TransitionProps), /*#__PURE__*/React.createElement("div", { + "aria-labelledby": summary.props.id, + id: summary.props['aria-controls'], + role: "region" + }, children))); +}); +process.env.NODE_ENV !== "production" ? Accordion.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The content of the accordion. + */ + children: (0, _utils.chainPropTypes)(_propTypes.default.node.isRequired, function (props) { + var summary = React.Children.toArray(props.children)[0]; + + if ((0, _reactIs.isFragment)(summary)) { + return new Error("Material-UI: The Accordion doesn't accept a Fragment as a child. " + 'Consider providing an array instead.'); + } + + if (! /*#__PURE__*/React.isValidElement(summary)) { + return new Error('Material-UI: Expected the first child of Accordion to be a valid element.'); + } + + return null; + }), + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * If `true`, expands the accordion by default. + */ + defaultExpanded: _propTypes.default.bool, + + /** + * If `true`, the accordion will be displayed in a disabled state. + */ + disabled: _propTypes.default.bool, + + /** + * If `true`, expands the accordion, otherwise collapse it. + * Setting this prop enables control over the accordion. + */ + expanded: _propTypes.default.bool, + + /** + * Callback fired when the expand/collapse state is changed. + * + * @param {object} event The event source of the callback. + * @param {boolean} expanded The `expanded` state of the accordion. + */ + onChange: _propTypes.default.func, + + /** + * If `true`, rounded corners are disabled. + */ + square: _propTypes.default.bool, + + /** + * The component used for the collapse effect. + * [Follow this guide](/components/transitions/#transitioncomponent-prop) to learn more about the requirements for this component. + */ + TransitionComponent: _propTypes.default.elementType, + + /** + * Props applied to the [`Transition`](http://reactcommunity.org/react-transition-group/transition#Transition-props) element. + */ + TransitionProps: _propTypes.default.object +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiAccordion' +})(Accordion); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Accordion/AccordionContext.js b/frontEnd/node_modules/@material-ui/core/Accordion/AccordionContext.js new file mode 100644 index 00000000..e036a23a --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Accordion/AccordionContext.js @@ -0,0 +1,23 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var React = _interopRequireWildcard(require("react")); + +/** + * @ignore - internal component. + * @type {React.Context<{} | {expanded: boolean, disabled: boolean, toggle: () => void}>} + */ +var AccordionContext = /*#__PURE__*/React.createContext({}); + +if (process.env.NODE_ENV !== 'production') { + AccordionContext.displayName = 'AccordionContext'; +} + +var _default = AccordionContext; +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Accordion/index.d.ts b/frontEnd/node_modules/@material-ui/core/Accordion/index.d.ts new file mode 100644 index 00000000..72fa8857 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Accordion/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './Accordion'; +export * from './Accordion'; diff --git a/frontEnd/node_modules/@material-ui/core/Accordion/index.js b/frontEnd/node_modules/@material-ui/core/Accordion/index.js new file mode 100644 index 00000000..580088ee --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Accordion/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _Accordion.default; + } +}); + +var _Accordion = _interopRequireDefault(require("./Accordion")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Accordion/package.json b/frontEnd/node_modules/@material-ui/core/Accordion/package.json new file mode 100644 index 00000000..8c619471 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Accordion/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/Accordion/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AccordionActions/AccordionActions.d.ts b/frontEnd/node_modules/@material-ui/core/AccordionActions/AccordionActions.d.ts new file mode 100644 index 00000000..f6f4c3ce --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionActions/AccordionActions.d.ts @@ -0,0 +1,28 @@ +import * as React from 'react'; +import { StandardProps } from '..'; + +export interface AccordionActionsProps + extends StandardProps, AccordionActionsClassKey> { + /** + * The content of the component. + */ + children?: React.ReactNode; + /** + * If `true`, the actions do not have additional margin. + */ + disableSpacing?: boolean; +} + +export type AccordionActionsClassKey = 'root' | 'spacing'; + +/** + * + * Demos: + * + * - [Accordion](https://material-ui.com/components/accordion/) + * + * API: + * + * - [AccordionActions API](https://material-ui.com/api/accordion-actions/) + */ +export default function AccordionActions(props: AccordionActionsProps): JSX.Element; diff --git a/frontEnd/node_modules/@material-ui/core/AccordionActions/AccordionActions.js b/frontEnd/node_modules/@material-ui/core/AccordionActions/AccordionActions.js new file mode 100644 index 00000000..4e9d07cf --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionActions/AccordionActions.js @@ -0,0 +1,84 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var styles = { + /* Styles applied to the root element. */ + root: { + display: 'flex', + alignItems: 'center', + padding: 8, + justifyContent: 'flex-end' + }, + + /* Styles applied to the root element if `disableSpacing={false}`. */ + spacing: { + '& > :not(:first-child)': { + marginLeft: 8 + } + } +}; +exports.styles = styles; +var AccordionActions = /*#__PURE__*/React.forwardRef(function AccordionActions(props, ref) { + var classes = props.classes, + className = props.className, + _props$disableSpacing = props.disableSpacing, + disableSpacing = _props$disableSpacing === void 0 ? false : _props$disableSpacing, + other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "disableSpacing"]); + return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({ + className: (0, _clsx.default)(classes.root, className, !disableSpacing && classes.spacing), + ref: ref + }, other)); +}); +process.env.NODE_ENV !== "production" ? AccordionActions.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The content of the component. + */ + children: _propTypes.default.node, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * If `true`, the actions do not have additional margin. + */ + disableSpacing: _propTypes.default.bool +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiAccordionActions' +})(AccordionActions); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AccordionActions/index.d.ts b/frontEnd/node_modules/@material-ui/core/AccordionActions/index.d.ts new file mode 100644 index 00000000..f5b4b351 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionActions/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './AccordionActions'; +export * from './AccordionActions'; diff --git a/frontEnd/node_modules/@material-ui/core/AccordionActions/index.js b/frontEnd/node_modules/@material-ui/core/AccordionActions/index.js new file mode 100644 index 00000000..b66c0c33 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionActions/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _AccordionActions.default; + } +}); + +var _AccordionActions = _interopRequireDefault(require("./AccordionActions")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AccordionActions/package.json b/frontEnd/node_modules/@material-ui/core/AccordionActions/package.json new file mode 100644 index 00000000..01179a0a --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionActions/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/AccordionActions/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AccordionDetails/AccordionDetails.d.ts b/frontEnd/node_modules/@material-ui/core/AccordionDetails/AccordionDetails.d.ts new file mode 100644 index 00000000..9ec9ddd2 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionDetails/AccordionDetails.d.ts @@ -0,0 +1,24 @@ +import * as React from 'react'; +import { StandardProps } from '..'; + +export interface AccordionDetailsProps + extends StandardProps, AccordionDetailsClassKey> { + /** + * The content of the accordion details. + */ + children?: React.ReactNode; +} + +export type AccordionDetailsClassKey = 'root'; + +/** + * + * Demos: + * + * - [Accordion](https://material-ui.com/components/accordion/) + * + * API: + * + * - [AccordionDetails API](https://material-ui.com/api/accordion-details/) + */ +export default function AccordionDetails(props: AccordionDetailsProps): JSX.Element; diff --git a/frontEnd/node_modules/@material-ui/core/AccordionDetails/AccordionDetails.js b/frontEnd/node_modules/@material-ui/core/AccordionDetails/AccordionDetails.js new file mode 100644 index 00000000..dfc454d9 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionDetails/AccordionDetails.js @@ -0,0 +1,71 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var styles = function styles(theme) { + return { + /* Styles applied to the root element. */ + root: { + display: 'flex', + padding: theme.spacing(1, 2, 2) + } + }; +}; + +exports.styles = styles; +var AccordionDetails = /*#__PURE__*/React.forwardRef(function AccordionDetails(props, ref) { + var classes = props.classes, + className = props.className, + other = (0, _objectWithoutProperties2.default)(props, ["classes", "className"]); + return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({ + className: (0, _clsx.default)(classes.root, className), + ref: ref + }, other)); +}); +process.env.NODE_ENV !== "production" ? AccordionDetails.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The content of the accordion details. + */ + children: _propTypes.default.node, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiAccordionDetails' +})(AccordionDetails); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AccordionDetails/index.d.ts b/frontEnd/node_modules/@material-ui/core/AccordionDetails/index.d.ts new file mode 100644 index 00000000..cca795ad --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionDetails/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './AccordionDetails'; +export * from './AccordionDetails'; diff --git a/frontEnd/node_modules/@material-ui/core/AccordionDetails/index.js b/frontEnd/node_modules/@material-ui/core/AccordionDetails/index.js new file mode 100644 index 00000000..12fbb724 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionDetails/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _AccordionDetails.default; + } +}); + +var _AccordionDetails = _interopRequireDefault(require("./AccordionDetails")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AccordionDetails/package.json b/frontEnd/node_modules/@material-ui/core/AccordionDetails/package.json new file mode 100644 index 00000000..1c2048c4 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionDetails/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/AccordionDetails/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AccordionSummary/AccordionSummary.d.ts b/frontEnd/node_modules/@material-ui/core/AccordionSummary/AccordionSummary.d.ts new file mode 100644 index 00000000..adff3c43 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionSummary/AccordionSummary.d.ts @@ -0,0 +1,54 @@ +import * as React from 'react'; +import { ExtendButtonBase, ExtendButtonBaseTypeMap } from '../ButtonBase'; +import { IconButtonProps } from '../IconButton'; +import { OverrideProps } from '../OverridableComponent'; + +export type AccordionSummaryTypeMap< + P = {}, + D extends React.ElementType = 'div' +> = ExtendButtonBaseTypeMap<{ + props: P & { + /** + * The content of the accordion summary. + */ + children?: React.ReactNode; + /** + * The icon to display as the expand indicator. + */ + expandIcon?: React.ReactNode; + /** + * Props applied to the `IconButton` element wrapping the expand icon. + */ + IconButtonProps?: Partial; + }; + defaultComponent: D; + classKey: AccordionSummaryClassKey; +}>; + +/** + * + * Demos: + * + * - [Accordion](https://material-ui.com/components/accordion/) + * + * API: + * + * - [AccordionSummary API](https://material-ui.com/api/accordion-summary/) + * - inherits [ButtonBase API](https://material-ui.com/api/button-base/) + */ +declare const AccordionSummary: ExtendButtonBase; + +export type AccordionSummaryClassKey = + | 'root' + | 'expanded' + | 'focused' + | 'disabled' + | 'content' + | 'expandIcon'; + +export type AccordionSummaryProps< + D extends React.ElementType = AccordionSummaryTypeMap['defaultComponent'], + P = {} +> = OverrideProps, D>; + +export default AccordionSummary; diff --git a/frontEnd/node_modules/@material-ui/core/AccordionSummary/AccordionSummary.js b/frontEnd/node_modules/@material-ui/core/AccordionSummary/AccordionSummary.js new file mode 100644 index 00000000..d6fb6dc1 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionSummary/AccordionSummary.js @@ -0,0 +1,215 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _ButtonBase = _interopRequireDefault(require("../ButtonBase")); + +var _IconButton = _interopRequireDefault(require("../IconButton")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _AccordionContext = _interopRequireDefault(require("../Accordion/AccordionContext")); + +/* eslint-disable jsx-a11y/aria-role */ +var styles = function styles(theme) { + var transition = { + duration: theme.transitions.duration.shortest + }; + return { + /* Styles applied to the root element. */ + root: { + display: 'flex', + minHeight: 8 * 6, + transition: theme.transitions.create(['min-height', 'background-color'], transition), + padding: theme.spacing(0, 2), + '&:hover:not($disabled)': { + cursor: 'pointer' + }, + '&$expanded': { + minHeight: 64 + }, + '&$focused': { + backgroundColor: theme.palette.action.focus + }, + '&$disabled': { + opacity: theme.palette.action.disabledOpacity + } + }, + + /* Pseudo-class applied to the root element, children wrapper element and `IconButton` component if `expanded={true}`. */ + expanded: {}, + + /* Pseudo-class applied to the root element if `focused={true}`. */ + focused: {}, + + /* Pseudo-class applied to the root element if `disabled={true}`. */ + disabled: {}, + + /* Styles applied to the children wrapper element. */ + content: { + display: 'flex', + flexGrow: 1, + transition: theme.transitions.create(['margin'], transition), + margin: '12px 0', + '&$expanded': { + margin: '20px 0' + } + }, + + /* Styles applied to the `IconButton` component when `expandIcon` is supplied. */ + expandIcon: { + transform: 'rotate(0deg)', + transition: theme.transitions.create('transform', transition), + '&:hover': { + // Disable the hover effect for the IconButton, + // because a hover effect should apply to the entire Expand button and + // not only to the IconButton. + backgroundColor: 'transparent' + }, + '&$expanded': { + transform: 'rotate(180deg)' + } + } + }; +}; + +exports.styles = styles; +var AccordionSummary = /*#__PURE__*/React.forwardRef(function AccordionSummary(props, ref) { + var children = props.children, + classes = props.classes, + className = props.className, + expandIcon = props.expandIcon, + IconButtonProps = props.IconButtonProps, + onBlur = props.onBlur, + onClick = props.onClick, + onFocusVisible = props.onFocusVisible, + other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "expandIcon", "IconButtonProps", "onBlur", "onClick", "onFocusVisible"]); + + var _React$useState = React.useState(false), + focusedState = _React$useState[0], + setFocusedState = _React$useState[1]; + + var handleFocusVisible = function handleFocusVisible(event) { + setFocusedState(true); + + if (onFocusVisible) { + onFocusVisible(event); + } + }; + + var handleBlur = function handleBlur(event) { + setFocusedState(false); + + if (onBlur) { + onBlur(event); + } + }; + + var _React$useContext = React.useContext(_AccordionContext.default), + _React$useContext$dis = _React$useContext.disabled, + disabled = _React$useContext$dis === void 0 ? false : _React$useContext$dis, + expanded = _React$useContext.expanded, + toggle = _React$useContext.toggle; + + var handleChange = function handleChange(event) { + if (toggle) { + toggle(event); + } + + if (onClick) { + onClick(event); + } + }; + + return /*#__PURE__*/React.createElement(_ButtonBase.default, (0, _extends2.default)({ + focusRipple: false, + disableRipple: true, + disabled: disabled, + component: "div", + "aria-expanded": expanded, + className: (0, _clsx.default)(classes.root, className, disabled && classes.disabled, expanded && classes.expanded, focusedState && classes.focused), + onFocusVisible: handleFocusVisible, + onBlur: handleBlur, + onClick: handleChange, + ref: ref + }, other), /*#__PURE__*/React.createElement("div", { + className: (0, _clsx.default)(classes.content, expanded && classes.expanded) + }, children), expandIcon && /*#__PURE__*/React.createElement(_IconButton.default, (0, _extends2.default)({ + className: (0, _clsx.default)(classes.expandIcon, expanded && classes.expanded), + edge: "end", + component: "div", + tabIndex: null, + role: null, + "aria-hidden": true + }, IconButtonProps), expandIcon)); +}); +process.env.NODE_ENV !== "production" ? AccordionSummary.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The content of the accordion summary. + */ + children: _propTypes.default.node, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * The icon to display as the expand indicator. + */ + expandIcon: _propTypes.default.node, + + /** + * Props applied to the `IconButton` element wrapping the expand icon. + */ + IconButtonProps: _propTypes.default.object, + + /** + * @ignore + */ + onBlur: _propTypes.default.func, + + /** + * @ignore + */ + onClick: _propTypes.default.func, + + /** + * @ignore + */ + onFocusVisible: _propTypes.default.func +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiAccordionSummary' +})(AccordionSummary); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AccordionSummary/index.d.ts b/frontEnd/node_modules/@material-ui/core/AccordionSummary/index.d.ts new file mode 100644 index 00000000..601ebf54 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionSummary/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './AccordionSummary'; +export * from './AccordionSummary'; diff --git a/frontEnd/node_modules/@material-ui/core/AccordionSummary/index.js b/frontEnd/node_modules/@material-ui/core/AccordionSummary/index.js new file mode 100644 index 00000000..771ce0f3 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionSummary/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _AccordionSummary.default; + } +}); + +var _AccordionSummary = _interopRequireDefault(require("./AccordionSummary")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AccordionSummary/package.json b/frontEnd/node_modules/@material-ui/core/AccordionSummary/package.json new file mode 100644 index 00000000..2017e8f9 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AccordionSummary/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/AccordionSummary/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AppBar/AppBar.d.ts b/frontEnd/node_modules/@material-ui/core/AppBar/AppBar.d.ts new file mode 100644 index 00000000..70b73cd4 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AppBar/AppBar.d.ts @@ -0,0 +1,39 @@ +import { PropTypes, StandardProps } from '..'; +import { PaperProps } from '../Paper'; + +export interface AppBarProps extends StandardProps { + /** + * The color of the component. It supports those theme colors that make sense for this component. + */ + color?: PropTypes.Color | 'transparent'; + /** + * The positioning type. The behavior of the different options is described + * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning). + * Note: `sticky` is not universally supported and will fall back to `static` when unavailable. + */ + position?: 'fixed' | 'absolute' | 'sticky' | 'static' | 'relative'; +} + +export type AppBarClassKey = + | 'root' + | 'positionFixed' + | 'positionAbsolute' + | 'positionSticky' + | 'positionStatic' + | 'positionRelative' + | 'colorDefault' + | 'colorPrimary' + | 'colorSecondary'; + +/** + * + * Demos: + * + * - [App Bar](https://material-ui.com/components/app-bar/) + * + * API: + * + * - [AppBar API](https://material-ui.com/api/app-bar/) + * - inherits [Paper API](https://material-ui.com/api/paper/) + */ +export default function AppBar(props: AppBarProps): JSX.Element; diff --git a/frontEnd/node_modules/@material-ui/core/AppBar/AppBar.js b/frontEnd/node_modules/@material-ui/core/AppBar/AppBar.js new file mode 100644 index 00000000..ca942fae --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AppBar/AppBar.js @@ -0,0 +1,168 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _capitalize = _interopRequireDefault(require("../utils/capitalize")); + +var _Paper = _interopRequireDefault(require("../Paper")); + +var styles = function styles(theme) { + var backgroundColorDefault = theme.palette.type === 'light' ? theme.palette.grey[100] : theme.palette.grey[900]; + return { + /* Styles applied to the root element. */ + root: { + display: 'flex', + flexDirection: 'column', + width: '100%', + boxSizing: 'border-box', + // Prevent padding issue with the Modal and fixed positioned AppBar. + zIndex: theme.zIndex.appBar, + flexShrink: 0 + }, + + /* Styles applied to the root element if `position="fixed"`. */ + positionFixed: { + position: 'fixed', + top: 0, + left: 'auto', + right: 0, + '@media print': { + // Prevent the app bar to be visible on each printed page. + position: 'absolute' + } + }, + + /* Styles applied to the root element if `position="absolute"`. */ + positionAbsolute: { + position: 'absolute', + top: 0, + left: 'auto', + right: 0 + }, + + /* Styles applied to the root element if `position="sticky"`. */ + positionSticky: { + // ⚠️ sticky is not supported by IE 11. + position: 'sticky', + top: 0, + left: 'auto', + right: 0 + }, + + /* Styles applied to the root element if `position="static"`. */ + positionStatic: { + position: 'static' + }, + + /* Styles applied to the root element if `position="relative"`. */ + positionRelative: { + position: 'relative' + }, + + /* Styles applied to the root element if `color="default"`. */ + colorDefault: { + backgroundColor: backgroundColorDefault, + color: theme.palette.getContrastText(backgroundColorDefault) + }, + + /* Styles applied to the root element if `color="primary"`. */ + colorPrimary: { + backgroundColor: theme.palette.primary.main, + color: theme.palette.primary.contrastText + }, + + /* Styles applied to the root element if `color="secondary"`. */ + colorSecondary: { + backgroundColor: theme.palette.secondary.main, + color: theme.palette.secondary.contrastText + }, + + /* Styles applied to the root element if `color="inherit"`. */ + colorInherit: { + color: 'inherit' + }, + + /* Styles applied to the root element if `color="transparent"`. */ + colorTransparent: { + backgroundColor: 'transparent', + color: 'inherit' + } + }; +}; + +exports.styles = styles; +var AppBar = /*#__PURE__*/React.forwardRef(function AppBar(props, ref) { + var classes = props.classes, + className = props.className, + _props$color = props.color, + color = _props$color === void 0 ? 'primary' : _props$color, + _props$position = props.position, + position = _props$position === void 0 ? 'fixed' : _props$position, + other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "color", "position"]); + return /*#__PURE__*/React.createElement(_Paper.default, (0, _extends2.default)({ + square: true, + component: "header", + elevation: 4, + className: (0, _clsx.default)(classes.root, classes["position".concat((0, _capitalize.default)(position))], classes["color".concat((0, _capitalize.default)(color))], className, position === 'fixed' && 'mui-fixed'), + ref: ref + }, other)); +}); +process.env.NODE_ENV !== "production" ? AppBar.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The content of the component. + */ + children: _propTypes.default.node, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * The color of the component. It supports those theme colors that make sense for this component. + */ + color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary', 'transparent']), + + /** + * The positioning type. The behavior of the different options is described + * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning). + * Note: `sticky` is not universally supported and will fall back to `static` when unavailable. + */ + position: _propTypes.default.oneOf(['absolute', 'fixed', 'relative', 'static', 'sticky']) +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiAppBar' +})(AppBar); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AppBar/index.d.ts b/frontEnd/node_modules/@material-ui/core/AppBar/index.d.ts new file mode 100644 index 00000000..db3a04f5 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AppBar/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './AppBar'; +export * from './AppBar'; diff --git a/frontEnd/node_modules/@material-ui/core/AppBar/index.js b/frontEnd/node_modules/@material-ui/core/AppBar/index.js new file mode 100644 index 00000000..b2cd21f5 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AppBar/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _AppBar.default; + } +}); + +var _AppBar = _interopRequireDefault(require("./AppBar")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/AppBar/package.json b/frontEnd/node_modules/@material-ui/core/AppBar/package.json new file mode 100644 index 00000000..51f7ae14 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/AppBar/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/AppBar/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Avatar/Avatar.d.ts b/frontEnd/node_modules/@material-ui/core/Avatar/Avatar.d.ts new file mode 100644 index 00000000..5d654146 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Avatar/Avatar.d.ts @@ -0,0 +1,69 @@ +import * as React from 'react'; +import { OverridableComponent, OverrideProps } from '../OverridableComponent'; + +export interface AvatarTypeMap

{ + props: P & { + /** + * Used in combination with `src` or `srcSet` to + * provide an alt attribute for the rendered `img` element. + */ + alt?: string; + /** + * Used to render icon or text elements inside the Avatar if `src` is not set. + * This can be an element, or just a string. + */ + children?: React.ReactNode; + /** + * Attributes applied to the `img` element if the component is used to display an image. + * It can be used to listen for the loading error event. + */ + imgProps?: React.ImgHTMLAttributes; + /** + * The `sizes` attribute for the `img` element. + */ + sizes?: string; + /** + * The `src` attribute for the `img` element. + */ + src?: string; + /** + * The `srcSet` attribute for the `img` element. + * Use this attribute for responsive image display. + */ + srcSet?: string; + /** + * The shape of the avatar. + */ + variant?: 'circle' | 'rounded' | 'square'; + }; + defaultComponent: D; + classKey: AvatarClassKey; +} + +/** + * + * Demos: + * + * - [Avatars](https://material-ui.com/components/avatars/) + * + * API: + * + * - [Avatar API](https://material-ui.com/api/avatar/) + */ +declare const Avatar: OverridableComponent; + +export type AvatarClassKey = + | 'root' + | 'colorDefault' + | 'circle' + | 'rounded' + | 'square' + | 'img' + | 'fallback'; + +export type AvatarProps< + D extends React.ElementType = AvatarTypeMap['defaultComponent'], + P = {} +> = OverrideProps, D>; + +export default Avatar; diff --git a/frontEnd/node_modules/@material-ui/core/Avatar/Avatar.js b/frontEnd/node_modules/@material-ui/core/Avatar/Avatar.js new file mode 100644 index 00000000..904ee91c --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Avatar/Avatar.js @@ -0,0 +1,244 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _Person = _interopRequireDefault(require("../internal/svg-icons/Person")); + +var styles = function styles(theme) { + return { + /* Styles applied to the root element. */ + root: { + position: 'relative', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: 0, + width: 40, + height: 40, + fontFamily: theme.typography.fontFamily, + fontSize: theme.typography.pxToRem(20), + lineHeight: 1, + borderRadius: '50%', + overflow: 'hidden', + userSelect: 'none' + }, + + /* Styles applied to the root element if not `src` or `srcSet`. */ + colorDefault: { + color: theme.palette.background.default, + backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[600] + }, + + /* Styles applied to the root element if `variant="circle"`. */ + circle: {}, + + /* Styles applied to the root element if `variant="rounded"`. */ + rounded: { + borderRadius: theme.shape.borderRadius + }, + + /* Styles applied to the root element if `variant="square"`. */ + square: { + borderRadius: 0 + }, + + /* Styles applied to the img element if either `src` or `srcSet` is defined. */ + img: { + width: '100%', + height: '100%', + textAlign: 'center', + // Handle non-square image. The property isn't supported by IE 11. + objectFit: 'cover', + // Hide alt text. + color: 'transparent', + // Hide the image broken icon, only works on Chrome. + textIndent: 10000 + }, + + /* Styles applied to the fallback icon */ + fallback: { + width: '75%', + height: '75%' + } + }; +}; + +exports.styles = styles; + +function useLoaded(_ref) { + var src = _ref.src, + srcSet = _ref.srcSet; + + var _React$useState = React.useState(false), + loaded = _React$useState[0], + setLoaded = _React$useState[1]; + + React.useEffect(function () { + if (!src && !srcSet) { + return undefined; + } + + setLoaded(false); + var active = true; + var image = new Image(); + image.src = src; + image.srcSet = srcSet; + + image.onload = function () { + if (!active) { + return; + } + + setLoaded('loaded'); + }; + + image.onerror = function () { + if (!active) { + return; + } + + setLoaded('error'); + }; + + return function () { + active = false; + }; + }, [src, srcSet]); + return loaded; +} + +var Avatar = /*#__PURE__*/React.forwardRef(function Avatar(props, ref) { + var alt = props.alt, + childrenProp = props.children, + classes = props.classes, + className = props.className, + _props$component = props.component, + Component = _props$component === void 0 ? 'div' : _props$component, + imgProps = props.imgProps, + sizes = props.sizes, + src = props.src, + srcSet = props.srcSet, + _props$variant = props.variant, + variant = _props$variant === void 0 ? 'circle' : _props$variant, + other = (0, _objectWithoutProperties2.default)(props, ["alt", "children", "classes", "className", "component", "imgProps", "sizes", "src", "srcSet", "variant"]); + var children = null; // Use a hook instead of onError on the img element to support server-side rendering. + + var loaded = useLoaded({ + src: src, + srcSet: srcSet + }); + var hasImg = src || srcSet; + var hasImgNotFailing = hasImg && loaded !== 'error'; + + if (hasImgNotFailing) { + children = /*#__PURE__*/React.createElement("img", (0, _extends2.default)({ + alt: alt, + src: src, + srcSet: srcSet, + sizes: sizes, + className: classes.img + }, imgProps)); + } else if (childrenProp != null) { + children = childrenProp; + } else if (hasImg && alt) { + children = alt[0]; + } else { + children = /*#__PURE__*/React.createElement(_Person.default, { + className: classes.fallback + }); + } + + return /*#__PURE__*/React.createElement(Component, (0, _extends2.default)({ + className: (0, _clsx.default)(classes.root, classes.system, classes[variant], className, !hasImgNotFailing && classes.colorDefault), + ref: ref + }, other), children); +}); +process.env.NODE_ENV !== "production" ? Avatar.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * Used in combination with `src` or `srcSet` to + * provide an alt attribute for the rendered `img` element. + */ + alt: _propTypes.default.string, + + /** + * Used to render icon or text elements inside the Avatar if `src` is not set. + * This can be an element, or just a string. + */ + children: _propTypes.default.node, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: _propTypes.default + /* @typescript-to-proptypes-ignore */ + .elementType, + + /** + * Attributes applied to the `img` element if the component is used to display an image. + * It can be used to listen for the loading error event. + */ + imgProps: _propTypes.default.object, + + /** + * The `sizes` attribute for the `img` element. + */ + sizes: _propTypes.default.string, + + /** + * The `src` attribute for the `img` element. + */ + src: _propTypes.default.string, + + /** + * The `srcSet` attribute for the `img` element. + * Use this attribute for responsive image display. + */ + srcSet: _propTypes.default.string, + + /** + * The shape of the avatar. + */ + variant: _propTypes.default.oneOf(['circle', 'rounded', 'square']) +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiAvatar' +})(Avatar); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Avatar/index.d.ts b/frontEnd/node_modules/@material-ui/core/Avatar/index.d.ts new file mode 100644 index 00000000..0f9f50f3 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Avatar/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './Avatar'; +export * from './Avatar'; diff --git a/frontEnd/node_modules/@material-ui/core/Avatar/index.js b/frontEnd/node_modules/@material-ui/core/Avatar/index.js new file mode 100644 index 00000000..7e788e9c --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Avatar/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _Avatar.default; + } +}); + +var _Avatar = _interopRequireDefault(require("./Avatar")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Avatar/package.json b/frontEnd/node_modules/@material-ui/core/Avatar/package.json new file mode 100644 index 00000000..ec96a075 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Avatar/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/Avatar/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Backdrop/Backdrop.d.ts b/frontEnd/node_modules/@material-ui/core/Backdrop/Backdrop.d.ts new file mode 100644 index 00000000..b67c50f6 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Backdrop/Backdrop.d.ts @@ -0,0 +1,44 @@ +import * as React from 'react'; +import { Omit, StandardProps } from '..'; +import { FadeProps } from '../Fade'; +import { TransitionProps } from '../transitions/transition'; + +export interface BackdropProps + extends StandardProps< + React.HTMLAttributes & Partial>, + BackdropClassKey + > { + /** + * The content of the component. + */ + children?: React.ReactNode; + /** + * If `true`, the backdrop is invisible. + * It can be used when rendering a popover or a custom select component. + */ + invisible?: boolean; + /** + * If `true`, the backdrop is open. + */ + open: boolean; + /** + * The duration for the transition, in milliseconds. + * You may specify a single timeout for all transitions, or individually with an object. + */ + transitionDuration?: TransitionProps['timeout']; +} + +export type BackdropClassKey = 'root' | 'invisible'; + +/** + * + * Demos: + * + * - [Backdrop](https://material-ui.com/components/backdrop/) + * + * API: + * + * - [Backdrop API](https://material-ui.com/api/backdrop/) + * - inherits [Fade API](https://material-ui.com/api/fade/) + */ +export default function Backdrop(props: BackdropProps): JSX.Element; diff --git a/frontEnd/node_modules/@material-ui/core/Backdrop/Backdrop.js b/frontEnd/node_modules/@material-ui/core/Backdrop/Backdrop.js new file mode 100644 index 00000000..fdb69122 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Backdrop/Backdrop.js @@ -0,0 +1,117 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _Fade = _interopRequireDefault(require("../Fade")); + +var styles = { + /* Styles applied to the root element. */ + root: { + // Improve scrollable dialog support. + zIndex: -1, + 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' + }, + + /* Styles applied to the root element if `invisible={true}`. */ + invisible: { + backgroundColor: 'transparent' + } +}; +exports.styles = styles; +var Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(props, ref) { + var children = props.children, + classes = props.classes, + className = props.className, + _props$invisible = props.invisible, + invisible = _props$invisible === void 0 ? false : _props$invisible, + open = props.open, + transitionDuration = props.transitionDuration, + _props$TransitionComp = props.TransitionComponent, + TransitionComponent = _props$TransitionComp === void 0 ? _Fade.default : _props$TransitionComp, + other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "invisible", "open", "transitionDuration", "TransitionComponent"]); + return /*#__PURE__*/React.createElement(TransitionComponent, (0, _extends2.default)({ + in: open, + timeout: transitionDuration + }, other), /*#__PURE__*/React.createElement("div", { + className: (0, _clsx.default)(classes.root, className, invisible && classes.invisible), + "aria-hidden": true, + ref: ref + }, children)); +}); +process.env.NODE_ENV !== "production" ? Backdrop.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The content of the component. + */ + children: _propTypes.default.node, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * If `true`, the backdrop is invisible. + * It can be used when rendering a popover or a custom select component. + */ + invisible: _propTypes.default.bool, + + /** + * If `true`, the backdrop is open. + */ + open: _propTypes.default.bool.isRequired, + + /** + * The duration for the transition, in milliseconds. + * You may specify a single timeout for all transitions, or individually with an object. + */ + transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({ + appear: _propTypes.default.number, + enter: _propTypes.default.number, + exit: _propTypes.default.number + })]) +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiBackdrop' +})(Backdrop); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Backdrop/index.d.ts b/frontEnd/node_modules/@material-ui/core/Backdrop/index.d.ts new file mode 100644 index 00000000..bb384d56 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Backdrop/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './Backdrop'; +export * from './Backdrop'; diff --git a/frontEnd/node_modules/@material-ui/core/Backdrop/index.js b/frontEnd/node_modules/@material-ui/core/Backdrop/index.js new file mode 100644 index 00000000..adddfd8b --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Backdrop/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _Backdrop.default; + } +}); + +var _Backdrop = _interopRequireDefault(require("./Backdrop")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Backdrop/package.json b/frontEnd/node_modules/@material-ui/core/Backdrop/package.json new file mode 100644 index 00000000..c6a7e26b --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Backdrop/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/Backdrop/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Badge/Badge.d.ts b/frontEnd/node_modules/@material-ui/core/Badge/Badge.d.ts new file mode 100644 index 00000000..e30b1a0e --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Badge/Badge.d.ts @@ -0,0 +1,85 @@ +import * as React from 'react'; +import { OverridableComponent, OverrideProps } from '../OverridableComponent'; + +export interface BadgeOrigin { + vertical: 'top' | 'bottom'; + horizontal: 'left' | 'right'; +} + +export interface BadgeTypeMap

{ + props: P & { + /** + * The anchor of the badge. + */ + anchorOrigin?: BadgeOrigin; + /** + * Wrapped shape the badge should overlap. + */ + overlap?: 'rectangle' | 'circle'; + /** + * The content rendered within the badge. + */ + badgeContent?: React.ReactNode; + /** + * The badge will be added relative to this node. + */ + children?: React.ReactNode; + /** + * The color of the component. It supports those theme colors that make sense for this component. + */ + color?: 'primary' | 'secondary' | 'default' | 'error'; + /** + * If `true`, the badge will be invisible. + */ + invisible?: boolean; + /** + * Max count to show. + */ + max?: number; + /** + * Controls whether the badge is hidden when `badgeContent` is zero. + */ + showZero?: boolean; + /** + * The variant to use. + */ + variant?: 'standard' | 'dot'; + }; + defaultComponent: D; + classKey: BadgeClassKey; +} + +export type BadgeClassKey = + | 'root' + | 'badge' + | 'colorPrimary' + | 'colorSecondary' + | 'colorError' + | 'dot' + | 'anchorOriginTopRightRectangle' + | 'anchorOriginBottomRightRectangle' + | 'anchorOriginTopLeftRectangle' + | 'anchorOriginBottomLeftRectangle' + | 'anchorOriginTopRightCircle' + | 'anchorOriginBottomRightCircle' + | 'anchorOriginTopLeftCircle' + | 'invisible'; +/** + * + * Demos: + * + * - [Avatars](https://material-ui.com/components/avatars/) + * - [Badges](https://material-ui.com/components/badges/) + * + * API: + * + * - [Badge API](https://material-ui.com/api/badge/) + */ +declare const Badge: OverridableComponent; + +export type BadgeProps< + D extends React.ElementType = BadgeTypeMap['defaultComponent'], + P = {} +> = OverrideProps, D>; + +export default Badge; diff --git a/frontEnd/node_modules/@material-ui/core/Badge/Badge.js b/frontEnd/node_modules/@material-ui/core/Badge/Badge.js new file mode 100644 index 00000000..12f21549 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Badge/Badge.js @@ -0,0 +1,312 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _capitalize = _interopRequireDefault(require("../utils/capitalize")); + +var RADIUS_STANDARD = 10; +var RADIUS_DOT = 4; + +var styles = function styles(theme) { + return { + /* Styles applied to the root element. */ + root: { + position: 'relative', + display: 'inline-flex', + // For correct alignment with the text. + verticalAlign: 'middle', + flexShrink: 0 + }, + + /* Styles applied to the badge `span` element. */ + badge: { + display: 'flex', + flexDirection: 'row', + flexWrap: 'wrap', + justifyContent: 'center', + alignContent: 'center', + alignItems: 'center', + position: 'absolute', + boxSizing: 'border-box', + fontFamily: theme.typography.fontFamily, + fontWeight: theme.typography.fontWeightMedium, + fontSize: theme.typography.pxToRem(12), + minWidth: RADIUS_STANDARD * 2, + lineHeight: 1, + padding: '0 6px', + height: RADIUS_STANDARD * 2, + borderRadius: RADIUS_STANDARD, + zIndex: 1, + // Render the badge on top of potential ripples. + transition: theme.transitions.create('transform', { + easing: theme.transitions.easing.easeInOut, + duration: theme.transitions.duration.enteringScreen + }) + }, + + /* Styles applied to the root element if `color="primary"`. */ + colorPrimary: { + backgroundColor: theme.palette.primary.main, + color: theme.palette.primary.contrastText + }, + + /* Styles applied to the root element if `color="secondary"`. */ + colorSecondary: { + backgroundColor: theme.palette.secondary.main, + color: theme.palette.secondary.contrastText + }, + + /* Styles applied to the root element if `color="error"`. */ + colorError: { + backgroundColor: theme.palette.error.main, + color: theme.palette.error.contrastText + }, + + /* Styles applied to the root element if `variant="dot"`. */ + dot: { + borderRadius: RADIUS_DOT, + height: RADIUS_DOT * 2, + minWidth: RADIUS_DOT * 2, + padding: 0 + }, + + /* Styles applied to the root element if `anchorOrigin={{ 'top', 'right' }} overlap="rectangle"`. */ + anchorOriginTopRightRectangle: { + top: 0, + right: 0, + transform: 'scale(1) translate(50%, -50%)', + transformOrigin: '100% 0%', + '&$invisible': { + transform: 'scale(0) translate(50%, -50%)' + } + }, + + /* Styles applied to the root element if `anchorOrigin={{ 'bottom', 'right' }} overlap="rectangle"`. */ + anchorOriginBottomRightRectangle: { + bottom: 0, + right: 0, + transform: 'scale(1) translate(50%, 50%)', + transformOrigin: '100% 100%', + '&$invisible': { + transform: 'scale(0) translate(50%, 50%)' + } + }, + + /* Styles applied to the root element if `anchorOrigin={{ 'top', 'left' }} overlap="rectangle"`. */ + anchorOriginTopLeftRectangle: { + top: 0, + left: 0, + transform: 'scale(1) translate(-50%, -50%)', + transformOrigin: '0% 0%', + '&$invisible': { + transform: 'scale(0) translate(-50%, -50%)' + } + }, + + /* Styles applied to the root element if `anchorOrigin={{ 'bottom', 'left' }} overlap="rectangle"`. */ + anchorOriginBottomLeftRectangle: { + bottom: 0, + left: 0, + transform: 'scale(1) translate(-50%, 50%)', + transformOrigin: '0% 100%', + '&$invisible': { + transform: 'scale(0) translate(-50%, 50%)' + } + }, + + /* Styles applied to the root element if `anchorOrigin={{ 'top', 'right' }} overlap="circle"`. */ + anchorOriginTopRightCircle: { + top: '14%', + right: '14%', + transform: 'scale(1) translate(50%, -50%)', + transformOrigin: '100% 0%', + '&$invisible': { + transform: 'scale(0) translate(50%, -50%)' + } + }, + + /* Styles applied to the root element if `anchorOrigin={{ 'bottom', 'right' }} overlap="circle"`. */ + anchorOriginBottomRightCircle: { + bottom: '14%', + right: '14%', + transform: 'scale(1) translate(50%, 50%)', + transformOrigin: '100% 100%', + '&$invisible': { + transform: 'scale(0) translate(50%, 50%)' + } + }, + + /* Styles applied to the root element if `anchorOrigin={{ 'top', 'left' }} overlap="circle"`. */ + anchorOriginTopLeftCircle: { + top: '14%', + left: '14%', + transform: 'scale(1) translate(-50%, -50%)', + transformOrigin: '0% 0%', + '&$invisible': { + transform: 'scale(0) translate(-50%, -50%)' + } + }, + + /* Styles applied to the root element if `anchorOrigin={{ 'bottom', 'left' }} overlap="circle"`. */ + anchorOriginBottomLeftCircle: { + bottom: '14%', + left: '14%', + transform: 'scale(1) translate(-50%, 50%)', + transformOrigin: '0% 100%', + '&$invisible': { + transform: 'scale(0) translate(-50%, 50%)' + } + }, + + /* Pseudo-class to the badge `span` element if `invisible={true}`. */ + invisible: { + transition: theme.transitions.create('transform', { + easing: theme.transitions.easing.easeInOut, + duration: theme.transitions.duration.leavingScreen + }) + } + }; +}; + +exports.styles = styles; +var Badge = /*#__PURE__*/React.forwardRef(function Badge(props, ref) { + var _props$anchorOrigin = props.anchorOrigin, + anchorOrigin = _props$anchorOrigin === void 0 ? { + vertical: 'top', + horizontal: 'right' + } : _props$anchorOrigin, + badgeContent = props.badgeContent, + children = props.children, + classes = props.classes, + className = props.className, + _props$color = props.color, + color = _props$color === void 0 ? 'default' : _props$color, + _props$component = props.component, + ComponentProp = _props$component === void 0 ? 'span' : _props$component, + invisibleProp = props.invisible, + _props$max = props.max, + max = _props$max === void 0 ? 99 : _props$max, + _props$overlap = props.overlap, + overlap = _props$overlap === void 0 ? 'rectangle' : _props$overlap, + _props$showZero = props.showZero, + showZero = _props$showZero === void 0 ? false : _props$showZero, + _props$variant = props.variant, + variant = _props$variant === void 0 ? 'standard' : _props$variant, + other = (0, _objectWithoutProperties2.default)(props, ["anchorOrigin", "badgeContent", "children", "classes", "className", "color", "component", "invisible", "max", "overlap", "showZero", "variant"]); + var invisible = invisibleProp; + + if (invisibleProp == null && (badgeContent === 0 && !showZero || badgeContent == null && variant !== 'dot')) { + invisible = true; + } + + var displayValue = ''; + + if (variant !== 'dot') { + displayValue = badgeContent > max ? "".concat(max, "+") : badgeContent; + } + + return /*#__PURE__*/React.createElement(ComponentProp, (0, _extends2.default)({ + className: (0, _clsx.default)(classes.root, className), + ref: ref + }, other), children, /*#__PURE__*/React.createElement("span", { + className: (0, _clsx.default)(classes.badge, classes["".concat(anchorOrigin.horizontal).concat((0, _capitalize.default)(anchorOrigin.vertical), "}")], classes["anchorOrigin".concat((0, _capitalize.default)(anchorOrigin.vertical)).concat((0, _capitalize.default)(anchorOrigin.horizontal)).concat((0, _capitalize.default)(overlap))], color !== 'default' && classes["color".concat((0, _capitalize.default)(color))], invisible && classes.invisible, variant === 'dot' && classes.dot) + }, displayValue)); +}); +process.env.NODE_ENV !== "production" ? Badge.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The anchor of the badge. + */ + anchorOrigin: _propTypes.default.shape({ + horizontal: _propTypes.default.oneOf(['left', 'right']).isRequired, + vertical: _propTypes.default.oneOf(['bottom', 'top']).isRequired + }), + + /** + * The content rendered within the badge. + */ + badgeContent: _propTypes.default.node, + + /** + * The badge will be added relative to this node. + */ + children: _propTypes.default.node, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * The color of the component. It supports those theme colors that make sense for this component. + */ + color: _propTypes.default.oneOf(['default', 'error', 'primary', 'secondary']), + + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: _propTypes.default + /* @typescript-to-proptypes-ignore */ + .elementType, + + /** + * If `true`, the badge will be invisible. + */ + invisible: _propTypes.default.bool, + + /** + * Max count to show. + */ + max: _propTypes.default.number, + + /** + * Wrapped shape the badge should overlap. + */ + overlap: _propTypes.default.oneOf(['circle', 'rectangle']), + + /** + * Controls whether the badge is hidden when `badgeContent` is zero. + */ + showZero: _propTypes.default.bool, + + /** + * The variant to use. + */ + variant: _propTypes.default.oneOf(['dot', 'standard']) +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiBadge' +})(Badge); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Badge/index.d.ts b/frontEnd/node_modules/@material-ui/core/Badge/index.d.ts new file mode 100644 index 00000000..dcb875af --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Badge/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './Badge'; +export * from './Badge'; diff --git a/frontEnd/node_modules/@material-ui/core/Badge/index.js b/frontEnd/node_modules/@material-ui/core/Badge/index.js new file mode 100644 index 00000000..9361f1bf --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Badge/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _Badge.default; + } +}); + +var _Badge = _interopRequireDefault(require("./Badge")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Badge/package.json b/frontEnd/node_modules/@material-ui/core/Badge/package.json new file mode 100644 index 00000000..2687a90a --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Badge/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/Badge/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/BottomNavigation/BottomNavigation.d.ts b/frontEnd/node_modules/@material-ui/core/BottomNavigation/BottomNavigation.d.ts new file mode 100644 index 00000000..6c30b0c9 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/BottomNavigation/BottomNavigation.d.ts @@ -0,0 +1,49 @@ +import * as React from 'react'; +import { OverridableComponent, OverrideProps } from '../OverridableComponent'; + +export interface BottomNavigationTypeMap

{ + props: P & { + /** + * The content of the component. + */ + children?: React.ReactNode; + /** + * Callback fired when the value changes. + * + * @param {object} event The event source of the callback. + * @param {any} value We default to the index of the child. + */ + onChange?: (event: React.ChangeEvent<{}>, value: any) => void; + /** + * If `true`, all `BottomNavigationAction`s will show their labels. + * By default, only the selected `BottomNavigationAction` will show its label. + */ + showLabels?: boolean; + /** + * The value of the currently selected `BottomNavigationAction`. + */ + value?: any; + }; + defaultComponent: D; + classKey: BottomNavigationClassKey; +} +/** + * + * Demos: + * + * - [Bottom Navigation](https://material-ui.com/components/bottom-navigation/) + * + * API: + * + * - [BottomNavigation API](https://material-ui.com/api/bottom-navigation/) + */ +declare const BottomNavigation: OverridableComponent; + +export type BottomNavigationClassKey = 'root'; + +export type BottomNavigationProps< + D extends React.ElementType = BottomNavigationTypeMap['defaultComponent'], + P = {} +> = OverrideProps, D>; + +export default BottomNavigation; diff --git a/frontEnd/node_modules/@material-ui/core/BottomNavigation/BottomNavigation.js b/frontEnd/node_modules/@material-ui/core/BottomNavigation/BottomNavigation.js new file mode 100644 index 00000000..ab34024d --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/BottomNavigation/BottomNavigation.js @@ -0,0 +1,127 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _reactIs = require("react-is"); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var styles = function styles(theme) { + return { + /* Styles applied to the root element. */ + root: { + display: 'flex', + justifyContent: 'center', + height: 56, + backgroundColor: theme.palette.background.paper + } + }; +}; + +exports.styles = styles; +var BottomNavigation = /*#__PURE__*/React.forwardRef(function BottomNavigation(props, ref) { + var children = props.children, + classes = props.classes, + className = props.className, + _props$component = props.component, + Component = _props$component === void 0 ? 'div' : _props$component, + onChange = props.onChange, + _props$showLabels = props.showLabels, + showLabels = _props$showLabels === void 0 ? false : _props$showLabels, + value = props.value, + other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "component", "onChange", "showLabels", "value"]); + return /*#__PURE__*/React.createElement(Component, (0, _extends2.default)({ + className: (0, _clsx.default)(classes.root, className), + ref: ref + }, other), React.Children.map(children, function (child, childIndex) { + if (! /*#__PURE__*/React.isValidElement(child)) { + return null; + } + + if (process.env.NODE_ENV !== 'production') { + if ((0, _reactIs.isFragment)(child)) { + console.error(["Material-UI: The BottomNavigation component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n')); + } + } + + var childValue = child.props.value === undefined ? childIndex : child.props.value; + return /*#__PURE__*/React.cloneElement(child, { + selected: childValue === value, + showLabel: child.props.showLabel !== undefined ? child.props.showLabel : showLabels, + value: childValue, + onChange: onChange + }); + })); +}); +process.env.NODE_ENV !== "production" ? BottomNavigation.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The content of the component. + */ + children: _propTypes.default.node, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: _propTypes.default + /* @typescript-to-proptypes-ignore */ + .elementType, + + /** + * Callback fired when the value changes. + * + * @param {object} event The event source of the callback. + * @param {any} value We default to the index of the child. + */ + onChange: _propTypes.default.func, + + /** + * If `true`, all `BottomNavigationAction`s will show their labels. + * By default, only the selected `BottomNavigationAction` will show its label. + */ + showLabels: _propTypes.default.bool, + + /** + * The value of the currently selected `BottomNavigationAction`. + */ + value: _propTypes.default.any +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiBottomNavigation' +})(BottomNavigation); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/BottomNavigation/index.d.ts b/frontEnd/node_modules/@material-ui/core/BottomNavigation/index.d.ts new file mode 100644 index 00000000..24a0304d --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/BottomNavigation/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './BottomNavigation'; +export * from './BottomNavigation'; diff --git a/frontEnd/node_modules/@material-ui/core/BottomNavigation/index.js b/frontEnd/node_modules/@material-ui/core/BottomNavigation/index.js new file mode 100644 index 00000000..9d35929f --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/BottomNavigation/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _BottomNavigation.default; + } +}); + +var _BottomNavigation = _interopRequireDefault(require("./BottomNavigation")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/BottomNavigation/package.json b/frontEnd/node_modules/@material-ui/core/BottomNavigation/package.json new file mode 100644 index 00000000..f54f4d7c --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/BottomNavigation/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/BottomNavigation/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/BottomNavigationAction.d.ts b/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/BottomNavigationAction.d.ts new file mode 100644 index 00000000..72dbf68c --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/BottomNavigationAction.d.ts @@ -0,0 +1,64 @@ +import * as React from 'react'; +import { ButtonBaseTypeMap, ExtendButtonBase, ExtendButtonBaseTypeMap } from '../ButtonBase'; +import { OverrideProps } from '../OverridableComponent'; + +export type BottomNavigationActionTypeMap< + P, + D extends React.ElementType +> = ExtendButtonBaseTypeMap<{ + props: P & { + /** + * This prop isn't supported. + * Use the `component` prop if you need to change the children structure. + */ + children?: React.ReactNode; + /** + * The icon element. + */ + icon?: React.ReactNode; + /** + * The label element. + */ + label?: React.ReactNode; + onChange?: (event: React.ChangeEvent<{}>, value: any) => void; + onClick?: React.ReactEventHandler; + selected?: boolean; + /** + * If `true`, the `BottomNavigationAction` will show its label. + * By default, only the selected `BottomNavigationAction` + * inside `BottomNavigation` will show its label. + */ + showLabel?: boolean; + /** + * You can provide your own value. Otherwise, we fallback to the child position index. + */ + value?: any; + }; + defaultComponent: D; + classKey: BottomNavigationActionClassKey; +}>; + +/** + * + * Demos: + * + * - [Bottom Navigation](https://material-ui.com/components/bottom-navigation/) + * + * API: + * + * - [BottomNavigationAction API](https://material-ui.com/api/bottom-navigation-action/) + * - inherits [ButtonBase API](https://material-ui.com/api/button-base/) + */ +declare const BottomNavigationAction: ExtendButtonBase>; + +export type BottomNavigationActionClassKey = 'root' | 'selected' | 'iconOnly' | 'wrapper' | 'label'; + +export type BottomNavigationActionProps< + D extends React.ElementType = ButtonBaseTypeMap['defaultComponent'], + P = {} +> = OverrideProps, D>; + +export default BottomNavigationAction; diff --git a/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/BottomNavigationAction.js b/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/BottomNavigationAction.js new file mode 100644 index 00000000..90f30f58 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/BottomNavigationAction.js @@ -0,0 +1,181 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _ButtonBase = _interopRequireDefault(require("../ButtonBase")); + +var _unsupportedProp = _interopRequireDefault(require("../utils/unsupportedProp")); + +var styles = function styles(theme) { + return { + /* Styles applied to the root element. */ + root: { + transition: theme.transitions.create(['color', 'padding-top'], { + duration: theme.transitions.duration.short + }), + padding: '6px 12px 8px', + minWidth: 80, + maxWidth: 168, + color: theme.palette.text.secondary, + flex: '1', + '&$iconOnly': { + paddingTop: 16 + }, + '&$selected': { + paddingTop: 6, + color: theme.palette.primary.main + } + }, + + /* Pseudo-class applied to the root element if selected. */ + selected: {}, + + /* Pseudo-class applied to the root element if `showLabel={false}` and not selected. */ + iconOnly: {}, + + /* Styles applied to the span element that wraps the icon and label. */ + wrapper: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + width: '100%', + flexDirection: 'column' + }, + + /* Styles applied to the label's span element. */ + label: { + fontFamily: theme.typography.fontFamily, + fontSize: theme.typography.pxToRem(12), + opacity: 1, + transition: 'font-size 0.2s, opacity 0.2s', + transitionDelay: '0.1s', + '&$iconOnly': { + opacity: 0, + transitionDelay: '0s' + }, + '&$selected': { + fontSize: theme.typography.pxToRem(14) + } + } + }; +}; + +exports.styles = styles; +var BottomNavigationAction = /*#__PURE__*/React.forwardRef(function BottomNavigationAction(props, ref) { + var classes = props.classes, + className = props.className, + icon = props.icon, + label = props.label, + onChange = props.onChange, + onClick = props.onClick, + selected = props.selected, + showLabel = props.showLabel, + value = props.value, + other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "icon", "label", "onChange", "onClick", "selected", "showLabel", "value"]); + + var handleChange = function handleChange(event) { + if (onChange) { + onChange(event, value); + } + + if (onClick) { + onClick(event); + } + }; + + return /*#__PURE__*/React.createElement(_ButtonBase.default, (0, _extends2.default)({ + ref: ref, + className: (0, _clsx.default)(classes.root, className, selected ? classes.selected : !showLabel && classes.iconOnly), + focusRipple: true, + onClick: handleChange + }, other), /*#__PURE__*/React.createElement("span", { + className: classes.wrapper + }, icon, /*#__PURE__*/React.createElement("span", { + className: (0, _clsx.default)(classes.label, selected ? classes.selected : !showLabel && classes.iconOnly) + }, label))); +}); +process.env.NODE_ENV !== "production" ? BottomNavigationAction.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * This prop isn't supported. + * Use the `component` prop if you need to change the children structure. + */ + children: _unsupportedProp.default, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * The icon element. + */ + icon: _propTypes.default.node, + + /** + * The label element. + */ + label: _propTypes.default.node, + + /** + * @ignore + */ + onChange: _propTypes.default.func, + + /** + * @ignore + */ + onClick: _propTypes.default.func, + + /** + * @ignore + */ + selected: _propTypes.default.bool, + + /** + * If `true`, the `BottomNavigationAction` will show its label. + * By default, only the selected `BottomNavigationAction` + * inside `BottomNavigation` will show its label. + */ + showLabel: _propTypes.default.bool, + + /** + * You can provide your own value. Otherwise, we fallback to the child position index. + */ + value: _propTypes.default.any +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiBottomNavigationAction' +})(BottomNavigationAction); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/index.d.ts b/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/index.d.ts new file mode 100644 index 00000000..13c31891 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './BottomNavigationAction'; +export * from './BottomNavigationAction'; diff --git a/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/index.js b/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/index.js new file mode 100644 index 00000000..0d6858b9 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _BottomNavigationAction.default; + } +}); + +var _BottomNavigationAction = _interopRequireDefault(require("./BottomNavigationAction")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/package.json b/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/package.json new file mode 100644 index 00000000..8673f03f --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/BottomNavigationAction/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/BottomNavigationAction/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Box/Box.d.ts b/frontEnd/node_modules/@material-ui/core/Box/Box.d.ts new file mode 100644 index 00000000..2eb664df --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Box/Box.d.ts @@ -0,0 +1,46 @@ +import * as React from 'react'; +import { + borders, + ComposedStyleFunction, + display, + flexbox, + grid, + palette, + positions, + shadows, + sizing, + spacing, + typography, + PropsFor, +} from '@material-ui/system'; +import { Omit } from '..'; + +type BoxStyleFunction = ComposedStyleFunction< + [ + typeof borders, + typeof display, + typeof flexbox, + typeof grid, + typeof palette, + typeof positions, + typeof shadows, + typeof sizing, + typeof spacing, + typeof typography + ] +>; + +type SystemProps = PropsFor; +type ElementProps = Omit, keyof SystemProps>; + +export interface BoxProps extends ElementProps, SystemProps { + // styled API + component?: React.ElementType; + clone?: boolean; + // workaround for https://github.com/mui-org/material-ui/pull/15611 + css?: SystemProps; +} + +declare const Box: React.ComponentType; + +export default Box; diff --git a/frontEnd/node_modules/@material-ui/core/Box/Box.js b/frontEnd/node_modules/@material-ui/core/Box/Box.js new file mode 100644 index 00000000..7bb4f67b --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Box/Box.js @@ -0,0 +1,24 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styleFunction = void 0; + +var _system = require("@material-ui/system"); + +var _styled = _interopRequireDefault(require("../styles/styled")); + +var styleFunction = (0, _system.css)((0, _system.compose)(_system.borders, _system.display, _system.flexbox, _system.grid, _system.positions, _system.palette, _system.shadows, _system.sizing, _system.spacing, _system.typography)); +/** + * @ignore - do not document. + */ + +exports.styleFunction = styleFunction; +var Box = (0, _styled.default)('div')(styleFunction, { + name: 'MuiBox' +}); +var _default = Box; +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Box/index.d.ts b/frontEnd/node_modules/@material-ui/core/Box/index.d.ts new file mode 100644 index 00000000..38ce2fc4 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Box/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './Box'; +export * from './Box'; diff --git a/frontEnd/node_modules/@material-ui/core/Box/index.js b/frontEnd/node_modules/@material-ui/core/Box/index.js new file mode 100644 index 00000000..97d26db7 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Box/index.js @@ -0,0 +1,21 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _Box.default; + } +}); +Object.defineProperty(exports, "styleFunction", { + enumerable: true, + get: function get() { + return _Box.styleFunction; + } +}); + +var _Box = _interopRequireWildcard(require("./Box")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Box/package.json b/frontEnd/node_modules/@material-ui/core/Box/package.json new file mode 100644 index 00000000..15ef729e --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Box/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/Box/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Breadcrumbs/BreadcrumbCollapsed.js b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/BreadcrumbCollapsed.js new file mode 100644 index 00000000..91bfdbef --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/BreadcrumbCollapsed.js @@ -0,0 +1,80 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _colorManipulator = require("../styles/colorManipulator"); + +var _MoreHoriz = _interopRequireDefault(require("../internal/svg-icons/MoreHoriz")); + +var _ButtonBase = _interopRequireDefault(require("../ButtonBase")); + +var styles = function styles(theme) { + return { + root: { + display: 'flex', + marginLeft: theme.spacing(0.5), + marginRight: theme.spacing(0.5), + backgroundColor: theme.palette.grey[100], + color: theme.palette.grey[700], + borderRadius: 2, + cursor: 'pointer', + '&:hover, &:focus': { + backgroundColor: theme.palette.grey[200] + }, + '&:active': { + boxShadow: theme.shadows[0], + backgroundColor: (0, _colorManipulator.emphasize)(theme.palette.grey[200], 0.12) + } + }, + icon: { + width: 24, + height: 16 + } + }; +}; +/** + * @ignore - internal component. + */ + + +function BreadcrumbCollapsed(props) { + var classes = props.classes, + other = (0, _objectWithoutProperties2.default)(props, ["classes"]); + return /*#__PURE__*/React.createElement(_ButtonBase.default, (0, _extends2.default)({ + component: "li", + className: classes.root, + focusRipple: true + }, other), /*#__PURE__*/React.createElement(_MoreHoriz.default, { + className: classes.icon + })); +} + +process.env.NODE_ENV !== "production" ? BreadcrumbCollapsed.propTypes = { + /** + * @ignore + */ + classes: _propTypes.default.object.isRequired +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'PrivateBreadcrumbCollapsed' +})(BreadcrumbCollapsed); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Breadcrumbs/Breadcrumbs.d.ts b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/Breadcrumbs.d.ts new file mode 100644 index 00000000..db07d6b7 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/Breadcrumbs.d.ts @@ -0,0 +1,58 @@ +import * as React from 'react'; +import { OverridableComponent, OverrideProps } from '../OverridableComponent'; + +export interface BreadcrumbsTypeMap

{ + props: P & { + /** + * The breadcrumb children. + */ + children?: React.ReactNode; + /** + * Override the default label for the expand button. + * + * For localization purposes, you can use the provided [translations](/guides/localization/). + */ + expandText?: string; + /** + * If max items is exceeded, the number of items to show after the ellipsis. + */ + itemsAfterCollapse?: number; + /** + * If max items is exceeded, the number of items to show before the ellipsis. + */ + itemsBeforeCollapse?: number; + /** + * Specifies the maximum number of breadcrumbs to display. When there are more + * than the maximum number, only the first `itemsBeforeCollapse` and last `itemsAfterCollapse` + * will be shown, with an ellipsis in between. + */ + maxItems?: number; + /** + * Custom separator node. + */ + separator?: React.ReactNode; + }; + defaultComponent: D; + classKey: BreadcrumbsClassKey; +} + +/** + * + * Demos: + * + * - [Breadcrumbs](https://material-ui.com/components/breadcrumbs/) + * + * API: + * + * - [Breadcrumbs API](https://material-ui.com/api/breadcrumbs/) + */ +declare const Breadcrumbs: OverridableComponent; + +export type BreadcrumbsClassKey = 'root' | 'ol' | 'li' | 'separator'; + +export type BreadcrumbsProps< + D extends React.ElementType = BreadcrumbsTypeMap['defaultComponent'], + P = {} +> = OverrideProps, D>; + +export default Breadcrumbs; diff --git a/frontEnd/node_modules/@material-ui/core/Breadcrumbs/Breadcrumbs.js b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/Breadcrumbs.js new file mode 100644 index 00000000..43d2cce2 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/Breadcrumbs.js @@ -0,0 +1,213 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _reactIs = require("react-is"); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _Typography = _interopRequireDefault(require("../Typography")); + +var _BreadcrumbCollapsed = _interopRequireDefault(require("./BreadcrumbCollapsed")); + +var styles = { + /* Styles applied to the root element. */ + root: {}, + + /* Styles applied to the ol element. */ + ol: { + display: 'flex', + flexWrap: 'wrap', + alignItems: 'center', + padding: 0, + margin: 0, + listStyle: 'none' + }, + + /* Styles applied to the li element. */ + li: {}, + + /* Styles applied to the separator element. */ + separator: { + display: 'flex', + userSelect: 'none', + marginLeft: 8, + marginRight: 8 + } +}; +exports.styles = styles; + +function insertSeparators(items, className, separator) { + return items.reduce(function (acc, current, index) { + if (index < items.length - 1) { + acc = acc.concat(current, /*#__PURE__*/React.createElement("li", { + "aria-hidden": true, + key: "separator-".concat(index), + className: className + }, separator)); + } else { + acc.push(current); + } + + return acc; + }, []); +} + +var Breadcrumbs = /*#__PURE__*/React.forwardRef(function Breadcrumbs(props, ref) { + var children = props.children, + classes = props.classes, + className = props.className, + _props$component = props.component, + Component = _props$component === void 0 ? 'nav' : _props$component, + _props$expandText = props.expandText, + expandText = _props$expandText === void 0 ? 'Show path' : _props$expandText, + _props$itemsAfterColl = props.itemsAfterCollapse, + itemsAfterCollapse = _props$itemsAfterColl === void 0 ? 1 : _props$itemsAfterColl, + _props$itemsBeforeCol = props.itemsBeforeCollapse, + itemsBeforeCollapse = _props$itemsBeforeCol === void 0 ? 1 : _props$itemsBeforeCol, + _props$maxItems = props.maxItems, + maxItems = _props$maxItems === void 0 ? 8 : _props$maxItems, + _props$separator = props.separator, + separator = _props$separator === void 0 ? '/' : _props$separator, + other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "component", "expandText", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "separator"]); + + var _React$useState = React.useState(false), + expanded = _React$useState[0], + setExpanded = _React$useState[1]; + + var renderItemsBeforeAndAfter = function renderItemsBeforeAndAfter(allItems) { + var handleClickExpand = function handleClickExpand(event) { + setExpanded(true); // The clicked element received the focus but gets removed from the DOM. + // Let's keep the focus in the component after expanding. + + var focusable = event.currentTarget.parentNode.querySelector('a[href],button,[tabindex]'); + + if (focusable) { + focusable.focus(); + } + }; // This defends against someone passing weird input, to ensure that if all + // items would be shown anyway, we just show all items without the EllipsisItem + + + if (itemsBeforeCollapse + itemsAfterCollapse >= allItems.length) { + if (process.env.NODE_ENV !== 'production') { + console.error(['Material-UI: You have provided an invalid combination of props to the Breadcrumbs.', "itemsAfterCollapse={".concat(itemsAfterCollapse, "} + itemsBeforeCollapse={").concat(itemsBeforeCollapse, "} >= maxItems={").concat(maxItems, "}")].join('\n')); + } + + return allItems; + } + + return [].concat((0, _toConsumableArray2.default)(allItems.slice(0, itemsBeforeCollapse)), [/*#__PURE__*/React.createElement(_BreadcrumbCollapsed.default, { + "aria-label": expandText, + key: "ellipsis", + onClick: handleClickExpand + })], (0, _toConsumableArray2.default)(allItems.slice(allItems.length - itemsAfterCollapse, allItems.length))); + }; + + var allItems = React.Children.toArray(children).filter(function (child) { + if (process.env.NODE_ENV !== 'production') { + if ((0, _reactIs.isFragment)(child)) { + console.error(["Material-UI: The Breadcrumbs component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n')); + } + } + + return /*#__PURE__*/React.isValidElement(child); + }).map(function (child, index) { + return /*#__PURE__*/React.createElement("li", { + className: classes.li, + key: "child-".concat(index) + }, child); + }); + return /*#__PURE__*/React.createElement(_Typography.default, (0, _extends2.default)({ + ref: ref, + component: Component, + color: "textSecondary", + className: (0, _clsx.default)(classes.root, className) + }, other), /*#__PURE__*/React.createElement("ol", { + className: classes.ol + }, insertSeparators(expanded || maxItems && allItems.length <= maxItems ? allItems : renderItemsBeforeAndAfter(allItems), classes.separator, separator))); +}); +process.env.NODE_ENV !== "production" ? Breadcrumbs.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The breadcrumb children. + */ + children: _propTypes.default.node, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: _propTypes.default + /* @typescript-to-proptypes-ignore */ + .elementType, + + /** + * Override the default label for the expand button. + * + * For localization purposes, you can use the provided [translations](/guides/localization/). + */ + expandText: _propTypes.default.string, + + /** + * If max items is exceeded, the number of items to show after the ellipsis. + */ + itemsAfterCollapse: _propTypes.default.number, + + /** + * If max items is exceeded, the number of items to show before the ellipsis. + */ + itemsBeforeCollapse: _propTypes.default.number, + + /** + * Specifies the maximum number of breadcrumbs to display. When there are more + * than the maximum number, only the first `itemsBeforeCollapse` and last `itemsAfterCollapse` + * will be shown, with an ellipsis in between. + */ + maxItems: _propTypes.default.number, + + /** + * Custom separator node. + */ + separator: _propTypes.default.node +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiBreadcrumbs' +})(Breadcrumbs); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Breadcrumbs/index.d.ts b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/index.d.ts new file mode 100644 index 00000000..d447c988 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './Breadcrumbs'; +export * from './Breadcrumbs'; diff --git a/frontEnd/node_modules/@material-ui/core/Breadcrumbs/index.js b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/index.js new file mode 100644 index 00000000..9edf5eb3 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _Breadcrumbs.default; + } +}); + +var _Breadcrumbs = _interopRequireDefault(require("./Breadcrumbs")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Breadcrumbs/package.json b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/package.json new file mode 100644 index 00000000..ce5abf66 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Breadcrumbs/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/Breadcrumbs/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Button/Button.d.ts b/frontEnd/node_modules/@material-ui/core/Button/Button.d.ts new file mode 100644 index 00000000..c8b13a3c --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Button/Button.d.ts @@ -0,0 +1,111 @@ +import { PropTypes } from '..'; +import { ExtendButtonBase, ExtendButtonBaseTypeMap } from '../ButtonBase'; +import { OverrideProps } from '../OverridableComponent'; + +export type ButtonTypeMap< + P = {}, + D extends React.ElementType = 'button' +> = ExtendButtonBaseTypeMap<{ + props: P & { + /** + * The content of the button. + */ + children?: React.ReactNode; + /** + * The color of the component. It supports those theme colors that make sense for this component. + */ + color?: PropTypes.Color; + /** + * If `true`, the button will be disabled. + */ + disabled?: boolean; + /** + * If `true`, no elevation is used. + */ + disableElevation?: boolean; + /** + * If `true`, the keyboard focus ripple will be disabled. + */ + disableFocusRipple?: boolean; + /** + * Element placed after the children. + */ + endIcon?: React.ReactNode; + /** + * If `true`, the button will take up the full width of its container. + */ + fullWidth?: boolean; + /** + * The URL to link to when the button is clicked. + * If defined, an `a` element will be used as the root node. + */ + href?: string; + /** + * The size of the button. + * `small` is equivalent to the dense button styling. + */ + size?: 'small' | 'medium' | 'large'; + /** + * Element placed before the children. + */ + startIcon?: React.ReactNode; + /** + * The variant to use. + */ + variant?: 'text' | 'outlined' | 'contained'; + }; + defaultComponent: D; + classKey: ButtonClassKey; +}>; + +/** + * + * Demos: + * + * - [Button Group](https://material-ui.com/components/button-group/) + * - [Buttons](https://material-ui.com/components/buttons/) + * + * API: + * + * - [Button API](https://material-ui.com/api/button/) + * - inherits [ButtonBase API](https://material-ui.com/api/button-base/) + */ +declare const Button: ExtendButtonBase; + +export type ButtonProps< + D extends React.ElementType = ButtonTypeMap['defaultComponent'], + P = {} +> = OverrideProps, D>; + +export type ButtonClassKey = + | 'root' + | 'label' + | 'text' + | 'textPrimary' + | 'textSecondary' + | 'outlined' + | 'outlinedPrimary' + | 'outlinedSecondary' + | 'contained' + | 'containedPrimary' + | 'containedSecondary' + | 'disableElevation' + | 'focusVisible' + | 'disabled' + | 'colorInherit' + | 'textSizeSmall' + | 'textSizeLarge' + | 'outlinedSizeSmall' + | 'outlinedSizeLarge' + | 'containedSizeSmall' + | 'containedSizeLarge' + | 'sizeSmall' + | 'sizeLarge' + | 'fullWidth' + | 'startIcon' + | 'endIcon' + | 'iconSizeSmall' + | 'iconSizeMedium' + | 'iconSizeLarge'; + +export default Button; diff --git a/frontEnd/node_modules/@material-ui/core/Button/Button.js b/frontEnd/node_modules/@material-ui/core/Button/Button.js new file mode 100644 index 00000000..33efd849 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Button/Button.js @@ -0,0 +1,461 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _colorManipulator = require("../styles/colorManipulator"); + +var _ButtonBase = _interopRequireDefault(require("../ButtonBase")); + +var _capitalize = _interopRequireDefault(require("../utils/capitalize")); + +var styles = function styles(theme) { + return { + /* Styles applied to the root element. */ + root: (0, _extends2.default)({}, theme.typography.button, { + boxSizing: 'border-box', + minWidth: 64, + padding: '6px 16px', + borderRadius: theme.shape.borderRadius, + color: theme.palette.text.primary, + transition: theme.transitions.create(['background-color', 'box-shadow', 'border'], { + duration: theme.transitions.duration.short + }), + '&:hover': { + textDecoration: 'none', + backgroundColor: (0, _colorManipulator.fade)(theme.palette.text.primary, theme.palette.action.hoverOpacity), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: 'transparent' + }, + '&$disabled': { + backgroundColor: 'transparent' + } + }, + '&$disabled': { + color: theme.palette.action.disabled + } + }), + + /* Styles applied to the span element that wraps the children. */ + label: { + width: '100%', + // Ensure the correct width for iOS Safari + display: 'inherit', + alignItems: 'inherit', + justifyContent: 'inherit' + }, + + /* Styles applied to the root element if `variant="text"`. */ + text: { + padding: '6px 8px' + }, + + /* Styles applied to the root element if `variant="text"` and `color="primary"`. */ + textPrimary: { + color: theme.palette.primary.main, + '&:hover': { + backgroundColor: (0, _colorManipulator.fade)(theme.palette.primary.main, theme.palette.action.hoverOpacity), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: 'transparent' + } + } + }, + + /* Styles applied to the root element if `variant="text"` and `color="secondary"`. */ + textSecondary: { + color: theme.palette.secondary.main, + '&:hover': { + backgroundColor: (0, _colorManipulator.fade)(theme.palette.secondary.main, theme.palette.action.hoverOpacity), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: 'transparent' + } + } + }, + + /* Styles applied to the root element if `variant="outlined"`. */ + outlined: { + padding: '5px 15px', + border: "1px solid ".concat(theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'), + '&$disabled': { + border: "1px solid ".concat(theme.palette.action.disabledBackground) + } + }, + + /* Styles applied to the root element if `variant="outlined"` and `color="primary"`. */ + outlinedPrimary: { + color: theme.palette.primary.main, + border: "1px solid ".concat((0, _colorManipulator.fade)(theme.palette.primary.main, 0.5)), + '&:hover': { + border: "1px solid ".concat(theme.palette.primary.main), + backgroundColor: (0, _colorManipulator.fade)(theme.palette.primary.main, theme.palette.action.hoverOpacity), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: 'transparent' + } + } + }, + + /* Styles applied to the root element if `variant="outlined"` and `color="secondary"`. */ + outlinedSecondary: { + color: theme.palette.secondary.main, + border: "1px solid ".concat((0, _colorManipulator.fade)(theme.palette.secondary.main, 0.5)), + '&:hover': { + border: "1px solid ".concat(theme.palette.secondary.main), + backgroundColor: (0, _colorManipulator.fade)(theme.palette.secondary.main, theme.palette.action.hoverOpacity), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: 'transparent' + } + }, + '&$disabled': { + border: "1px solid ".concat(theme.palette.action.disabled) + } + }, + + /* Styles applied to the root element if `variant="contained"`. */ + contained: { + color: theme.palette.getContrastText(theme.palette.grey[300]), + backgroundColor: theme.palette.grey[300], + boxShadow: theme.shadows[2], + '&:hover': { + backgroundColor: theme.palette.grey.A100, + boxShadow: theme.shadows[4], + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + boxShadow: theme.shadows[2], + backgroundColor: theme.palette.grey[300] + }, + '&$disabled': { + backgroundColor: theme.palette.action.disabledBackground + } + }, + '&$focusVisible': { + boxShadow: theme.shadows[6] + }, + '&:active': { + boxShadow: theme.shadows[8] + }, + '&$disabled': { + color: theme.palette.action.disabled, + boxShadow: theme.shadows[0], + backgroundColor: theme.palette.action.disabledBackground + } + }, + + /* Styles applied to the root element if `variant="contained"` and `color="primary"`. */ + containedPrimary: { + color: theme.palette.primary.contrastText, + backgroundColor: theme.palette.primary.main, + '&:hover': { + backgroundColor: theme.palette.primary.dark, + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: theme.palette.primary.main + } + } + }, + + /* Styles applied to the root element if `variant="contained"` and `color="secondary"`. */ + containedSecondary: { + color: theme.palette.secondary.contrastText, + backgroundColor: theme.palette.secondary.main, + '&:hover': { + backgroundColor: theme.palette.secondary.dark, + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: theme.palette.secondary.main + } + } + }, + + /* Styles applied to the root element if `disableElevation={true}`. */ + disableElevation: { + boxShadow: 'none', + '&:hover': { + boxShadow: 'none' + }, + '&$focusVisible': { + boxShadow: 'none' + }, + '&:active': { + boxShadow: 'none' + }, + '&$disabled': { + boxShadow: 'none' + } + }, + + /* Pseudo-class applied to the ButtonBase root element if the button is keyboard focused. */ + focusVisible: {}, + + /* Pseudo-class applied to the root element if `disabled={true}`. */ + disabled: {}, + + /* Styles applied to the root element if `color="inherit"`. */ + colorInherit: { + color: 'inherit', + borderColor: 'currentColor' + }, + + /* Styles applied to the root element if `size="small"` and `variant="text"`. */ + textSizeSmall: { + padding: '4px 5px', + fontSize: theme.typography.pxToRem(13) + }, + + /* Styles applied to the root element if `size="large"` and `variant="text"`. */ + textSizeLarge: { + padding: '8px 11px', + fontSize: theme.typography.pxToRem(15) + }, + + /* Styles applied to the root element if `size="small"` and `variant="outlined"`. */ + outlinedSizeSmall: { + padding: '3px 9px', + fontSize: theme.typography.pxToRem(13) + }, + + /* Styles applied to the root element if `size="large"` and `variant="outlined"`. */ + outlinedSizeLarge: { + padding: '7px 21px', + fontSize: theme.typography.pxToRem(15) + }, + + /* Styles applied to the root element if `size="small"` and `variant="contained"`. */ + containedSizeSmall: { + padding: '4px 10px', + fontSize: theme.typography.pxToRem(13) + }, + + /* Styles applied to the root element if `size="large"` and `variant="contained"`. */ + containedSizeLarge: { + padding: '8px 22px', + fontSize: theme.typography.pxToRem(15) + }, + + /* Styles applied to the root element if `size="small"`. */ + sizeSmall: {}, + + /* Styles applied to the root element if `size="large"`. */ + sizeLarge: {}, + + /* Styles applied to the root element if `fullWidth={true}`. */ + fullWidth: { + width: '100%' + }, + + /* Styles applied to the startIcon element if supplied. */ + startIcon: { + display: 'inherit', + marginRight: 8, + marginLeft: -4, + '&$iconSizeSmall': { + marginLeft: -2 + } + }, + + /* Styles applied to the endIcon element if supplied. */ + endIcon: { + display: 'inherit', + marginRight: -4, + marginLeft: 8, + '&$iconSizeSmall': { + marginRight: -2 + } + }, + + /* Styles applied to the icon element if supplied and `size="small"`. */ + iconSizeSmall: { + '& > *:first-child': { + fontSize: 18 + } + }, + + /* Styles applied to the icon element if supplied and `size="medium"`. */ + iconSizeMedium: { + '& > *:first-child': { + fontSize: 20 + } + }, + + /* Styles applied to the icon element if supplied and `size="large"`. */ + iconSizeLarge: { + '& > *:first-child': { + fontSize: 22 + } + } + }; +}; + +exports.styles = styles; +var Button = /*#__PURE__*/React.forwardRef(function Button(props, ref) { + var children = props.children, + classes = props.classes, + className = props.className, + _props$color = props.color, + color = _props$color === void 0 ? 'default' : _props$color, + _props$component = props.component, + component = _props$component === void 0 ? 'button' : _props$component, + _props$disabled = props.disabled, + disabled = _props$disabled === void 0 ? false : _props$disabled, + _props$disableElevati = props.disableElevation, + disableElevation = _props$disableElevati === void 0 ? false : _props$disableElevati, + _props$disableFocusRi = props.disableFocusRipple, + disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi, + endIconProp = props.endIcon, + focusVisibleClassName = props.focusVisibleClassName, + _props$fullWidth = props.fullWidth, + fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth, + _props$size = props.size, + size = _props$size === void 0 ? 'medium' : _props$size, + startIconProp = props.startIcon, + _props$type = props.type, + type = _props$type === void 0 ? 'button' : _props$type, + _props$variant = props.variant, + variant = _props$variant === void 0 ? 'text' : _props$variant, + other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "color", "component", "disabled", "disableElevation", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"]); + var startIcon = startIconProp && /*#__PURE__*/React.createElement("span", { + className: (0, _clsx.default)(classes.startIcon, classes["iconSize".concat((0, _capitalize.default)(size))]) + }, startIconProp); + var endIcon = endIconProp && /*#__PURE__*/React.createElement("span", { + className: (0, _clsx.default)(classes.endIcon, classes["iconSize".concat((0, _capitalize.default)(size))]) + }, endIconProp); + return /*#__PURE__*/React.createElement(_ButtonBase.default, (0, _extends2.default)({ + className: (0, _clsx.default)(classes.root, classes[variant], className, color === 'inherit' ? classes.colorInherit : color !== 'default' && classes["".concat(variant).concat((0, _capitalize.default)(color))], size !== 'medium' && [classes["".concat(variant, "Size").concat((0, _capitalize.default)(size))], classes["size".concat((0, _capitalize.default)(size))]], disableElevation && classes.disableElevation, disabled && classes.disabled, fullWidth && classes.fullWidth), + component: component, + disabled: disabled, + focusRipple: !disableFocusRipple, + focusVisibleClassName: (0, _clsx.default)(classes.focusVisible, focusVisibleClassName), + ref: ref, + type: type + }, other), /*#__PURE__*/React.createElement("span", { + className: classes.label + }, startIcon, children, endIcon)); +}); +process.env.NODE_ENV !== "production" ? Button.propTypes = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The content of the button. + */ + children: _propTypes.default.node, + + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + classes: _propTypes.default.object, + + /** + * @ignore + */ + className: _propTypes.default.string, + + /** + * The color of the component. It supports those theme colors that make sense for this component. + */ + color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary']), + + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: _propTypes.default + /* @typescript-to-proptypes-ignore */ + .elementType, + + /** + * If `true`, the button will be disabled. + */ + disabled: _propTypes.default.bool, + + /** + * If `true`, no elevation is used. + */ + disableElevation: _propTypes.default.bool, + + /** + * If `true`, the keyboard focus ripple will be disabled. + */ + disableFocusRipple: _propTypes.default.bool, + + /** + * If `true`, the ripple effect will be 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 `focusVisibleClassName`. + */ + disableRipple: _propTypes.default.bool, + + /** + * Element placed after the children. + */ + endIcon: _propTypes.default.node, + + /** + * @ignore + */ + focusVisibleClassName: _propTypes.default.string, + + /** + * If `true`, the button will take up the full width of its container. + */ + fullWidth: _propTypes.default.bool, + + /** + * The URL to link to when the button is clicked. + * If defined, an `a` element will be used as the root node. + */ + href: _propTypes.default.string, + + /** + * The size of the button. + * `small` is equivalent to the dense button styling. + */ + size: _propTypes.default.oneOf(['large', 'medium', 'small']), + + /** + * Element placed before the children. + */ + startIcon: _propTypes.default.node, + + /** + * @ignore + */ + type: _propTypes.default.oneOfType([_propTypes.default.oneOf(['button', 'reset', 'submit']), _propTypes.default.string]), + + /** + * The variant to use. + */ + variant: _propTypes.default.oneOf(['contained', 'outlined', 'text']) +} : void 0; + +var _default = (0, _withStyles.default)(styles, { + name: 'MuiButton' +})(Button); + +exports.default = _default; \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Button/index.d.ts b/frontEnd/node_modules/@material-ui/core/Button/index.d.ts new file mode 100644 index 00000000..d5d56683 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Button/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './Button'; +export * from './Button'; diff --git a/frontEnd/node_modules/@material-ui/core/Button/index.js b/frontEnd/node_modules/@material-ui/core/Button/index.js new file mode 100644 index 00000000..62c40781 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Button/index.js @@ -0,0 +1,15 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _Button.default; + } +}); + +var _Button = _interopRequireDefault(require("./Button")); \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/Button/package.json b/frontEnd/node_modules/@material-ui/core/Button/package.json new file mode 100644 index 00000000..7fefb370 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/Button/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": false, + "module": "../esm/Button/index.js", + "typings": "./index.d.ts" +} \ No newline at end of file diff --git a/frontEnd/node_modules/@material-ui/core/ButtonBase/ButtonBase.d.ts b/frontEnd/node_modules/@material-ui/core/ButtonBase/ButtonBase.d.ts new file mode 100644 index 00000000..abca5b99 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/ButtonBase/ButtonBase.d.ts @@ -0,0 +1,113 @@ +import * as React from 'react'; +import { TouchRippleProps } from './TouchRipple'; +import { OverrideProps, OverridableComponent, OverridableTypeMap } from '../OverridableComponent'; + +export interface ButtonBaseTypeMap

{ + props: P & { + /** + * A ref for imperative actions. + * It currently only supports `focusVisible()` action. + */ + action?: React.Ref; + /** + * @ignore + * + * Use that prop to pass a ref to the native button component. + * @deprecated Use `ref` instead. + */ + buttonRef?: React.Ref; + /** + * If `true`, the ripples will be centered. + * They won't start at the cursor interaction position. + */ + centerRipple?: boolean; + /** + * The content of the component. + */ + children?: React.ReactNode; + /** + * If `true`, the base button will be disabled. + */ + disabled?: boolean; + /** + * If `true`, the ripple effect will be 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 `focusVisibleClassName`. + */ + disableRipple?: boolean; + /** + * If `true`, the touch ripple effect will be disabled. + */ + disableTouchRipple?: boolean; + /** + * If `true`, the base button will have a keyboard focus ripple. + */ + focusRipple?: boolean; + /** + * This prop can help a person know which element has the keyboard focus. + * The class name will be applied when the element gain the focus through a 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/master/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?: string; + /** + * Callback fired when the component is focused with a keyboard. + * We trigger a `onFocus` callback too. + */ + onFocusVisible?: React.FocusEventHandler; + // @types/react is stricter + tabIndex?: string | number; + /** + * Props applied to the `TouchRipple` element. + */ + TouchRippleProps?: Partial; + }; + defaultComponent: D; + classKey: ButtonBaseClassKey; +} + +/** + * utility to create component types that inherit props from ButtonBase. + * This component has an additional overload if the `href` prop is set which + * can make extension quite tricky + */ +export interface ExtendButtonBaseTypeMap { + props: M['props'] & ButtonBaseTypeMap['props']; + defaultComponent: M['defaultComponent']; + classKey: M['classKey']; +} + +export type ExtendButtonBase = (( + props: { href: string } & OverrideProps, 'a'> +) => JSX.Element) & + OverridableComponent>; + +/** + * `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. + * Demos: + * + * - [Buttons](https://material-ui.com/components/buttons/) + * + * API: + * + * - [ButtonBase API](https://material-ui.com/api/button-base/) + */ +declare const ButtonBase: ExtendButtonBase; + +export type ButtonBaseProps< + D extends React.ElementType = ButtonBaseTypeMap['defaultComponent'], + P = {} +> = OverrideProps, D>; + +export type ButtonBaseClassKey = 'root' | 'disabled' | 'focusVisible'; + +export interface ButtonBaseActions { + focusVisible(): void; +} + +export default ButtonBase; diff --git a/frontEnd/node_modules/@material-ui/core/ButtonBase/ButtonBase.js b/frontEnd/node_modules/@material-ui/core/ButtonBase/ButtonBase.js new file mode 100644 index 00000000..94b4ac53 --- /dev/null +++ b/frontEnd/node_modules/@material-ui/core/ButtonBase/ButtonBase.js @@ -0,0 +1,521 @@ +"use strict"; + +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.styles = void 0; + +var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); + +var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); + +var React = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var ReactDOM = _interopRequireWildcard(require("react-dom")); + +var _clsx = _interopRequireDefault(require("clsx")); + +var _utils = require("@material-ui/utils"); + +var _useForkRef = _interopRequireDefault(require("../utils/useForkRef")); + +var _useEventCallback = _interopRequireDefault(require("../utils/useEventCallback")); + +var _withStyles = _interopRequireDefault(require("../styles/withStyles")); + +var _useIsFocusVisible2 = _interopRequireDefault(require("../utils/useIsFocusVisible")); + +var _TouchRipple = _interopRequireDefault(require("./TouchRipple")); + +var styles = { + /* Styles applied to the root element. */ + root: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + position: 'relative', + 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', + '-moz-appearance': 'none', + // Reset + '-webkit-appearance': 'none', + // Reset + textDecoration: 'none', + // So we take precedent over the style of a native element. + color: 'inherit', + '&::-moz-focus-inner': { + borderStyle: 'none' // Remove Firefox dotted outline. + + }, + '&$disabled': { + pointerEvents: 'none', + // Disable link interactions + cursor: 'default' + }, + '@media print': { + colorAdjust: 'exact' + } + }, + + /* Pseudo-class applied to the root element if `disabled={true}`. */ + disabled: {}, + + /* Pseudo-class applied to the root element if keyboard focused. */ + focusVisible: {} +}; +/** + * `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. + */ + +exports.styles = styles; +var ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) { + var action = props.action, + buttonRefProp = props.buttonRef, + _props$centerRipple = props.centerRipple, + centerRipple = _props$centerRipple === void 0 ? false : _props$centerRipple, + children = props.children, + classes = props.classes, + className = props.className, + _props$component = props.component, + component = _props$component === void 0 ? 'button' : _props$component, + _props$disabled = props.disabled, + disabled = _props$disabled === void 0 ? false : _props$disabled, + _props$disableRipple = props.disableRipple, + disableRipple = _props$disableRipple === void 0 ? false : _props$disableRipple, + _props$disableTouchRi = props.disableTouchRipple, + disableTouchRipple = _props$disableTouchRi === void 0 ? false : _props$disableTouchRi, + _props$focusRipple = props.focusRipple, + focusRipple = _props$focusRipple === void 0 ? false : _props$focusRipple, + focusVisibleClassName = props.focusVisibleClassName, + onBlur = props.onBlur, + onClick = props.onClick, + onFocus = props.onFocus, + onFocusVisible = props.onFocusVisible, + onKeyDown = props.onKeyDown, + onKeyUp = props.onKeyUp, + onMouseDown = props.onMouseDown, + onMouseLeave = props.onMouseLeave, + onMouseUp = props.onMouseUp, + onTouchEnd = props.onTouchEnd, + onTouchMove = props.onTouchMove, + onTouchStart = props.onTouchStart, + onDragLeave = props.onDragLeave, + _props$tabIndex = props.tabIndex, + tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex, + TouchRippleProps = props.TouchRippleProps, + _props$type = props.type, + type = _props$type === void 0 ? 'button' : _props$type, + other = (0, _objectWithoutProperties2.default)(props, ["action", "buttonRef", "centerRipple", "children", "classes", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "onBlur", "onClick", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "onDragLeave", "tabIndex", "TouchRippleProps", "type"]); + var buttonRef = React.useRef(null); + + function getButtonNode() { + // #StrictMode ready + return ReactDOM.findDOMNode(buttonRef.current); + } + + var rippleRef = React.useRef(null); + + var _React$useState = React.useState(false), + focusVisible = _React$useState[0], + setFocusVisible = _React$useState[1]; + + if (disabled && focusVisible) { + setFocusVisible(false); + } + + var _useIsFocusVisible = (0, _useIsFocusVisible2.default)(), + isFocusVisible = _useIsFocusVisible.isFocusVisible, + onBlurVisible = _useIsFocusVisible.onBlurVisible, + focusVisibleRef = _useIsFocusVisible.ref; + + React.useImperativeHandle(action, function () { + return { + focusVisible: function focusVisible() { + setFocusVisible(true); + buttonRef.current.focus(); + } + }; + }, []); + React.useEffect(function () { + if (focusVisible && focusRipple && !disableRipple) { + rippleRef.current.pulsate(); + } + }, [disableRipple, focusRipple, focusVisible]); + + function useRippleHandler(rippleAction, eventCallback) { + var skipRippleAction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : disableTouchRipple; + return (0, _useEventCallback.default)(function (event) { + if (eventCallback) { + eventCallback(event); + } + + var ignore = skipRippleAction; + + if (!ignore && rippleRef.current) { + rippleRef.current[rippleAction](event); + } + + return true; + }); + } + + var handleMouseDown = useRippleHandler('start', onMouseDown); + var handleDragLeave = useRippleHandler('stop', onDragLeave); + var handleMouseUp = useRippleHandler('stop', onMouseUp); + var handleMouseLeave = useRippleHandler('stop', function (event) { + if (focusVisible) { + event.preventDefault(); + } + + if (onMouseLeave) { + onMouseLeave(event); + } + }); + var handleTouchStart = useRippleHandler('start', onTouchStart); + var handleTouchEnd = useRippleHandler('stop', onTouchEnd); + var handleTouchMove = useRippleHandler('stop', onTouchMove); + var handleBlur = useRippleHandler('stop', function (event) { + if (focusVisible) { + onBlurVisible(event); + setFocusVisible(false); + } + + if (onBlur) { + onBlur(event); + } + }, false); + var handleFocus = (0, _useEventCallback.default)(function (event) { + // Fix for https://github.com/facebook/react/issues/7769 + if (!buttonRef.current) { + buttonRef.current = event.currentTarget; + } + + if (isFocusVisible(event)) { + setFocusVisible(true); + + if (onFocusVisible) { + onFocusVisible(event); + } + } + + if (onFocus) { + onFocus(event); + } + }); + + var isNonNativeButton = function isNonNativeButton() { + var button = getButtonNode(); + return component && component !== 'button' && !(button.tagName === 'A' && button.href); + }; + /** + * IE 11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat + */ + + + var keydownRef = React.useRef(false); + var handleKeyDown = (0, _useEventCallback.default)(function (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; + event.persist(); + rippleRef.current.stop(event, function () { + 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); + } + } + }); + var handleKeyUp = (0, _useEventCallback.default)(function (event) { + // calling preventDefault in keyUp on a + + - + + + - + + + ``` + +### Docs + +- [blog] Post survey results 2020 (#21555) @mnajdova +- [docs] Add new gold sponsor @oliviertassinari +- [docs] CodeFund is shutting down (#21632) @oliviertassinari +- [docs] Enable next.material-ui.com sub-domain @oliviertassinari +- [docs] Fix ad issues @oliviertassinari +- [docs] Fix version in localized urls (#21442) @tchmnn +- [docs] Sync translations (#21445) @oliviertassinari +- [docs] Sync translations (#21535) @oliviertassinari + +### Core + +- [core] Batch small changes (#21419) @oliviertassinari +- [core] Fix react next patch and prevent regression (#21482) @eps1lon + +## 4.10.2 +###### *June 11, 2020* + +⚠️ This release marks the end of the active development on the v4.x versions, after 18 months of development. +We are moving all ongoing efforts to v5 (`next` branch) ✨. +This means a feature freeze on v4. The development of this version will be limited to important bug fixes, security patches, and easing the upgrade path to v5. + +You can follow our progress on the [v5 milestone](https://github.com/mui-org/material-ui/milestone/35). We will make the documentation of the v5 alpha releases available under https://next.material-ui.com/, starting next week (weekly releases, as usual). + +Big thanks to the 19 contributors who made this release possible. Here are some highlights ✨: + +- Introduce a new Timeline component (#21331) @mnajdova. + timeline + You can find the component in the [lab](http://material-ui.com/components/timeline/). + +- Simplify the theme overrides with TypeScript for the components in the lab (#21279) @CarsonF. + + In order to benefit from the [CSS overrides](/customization/globals/#css) with the theme and the lab components, TypeScript users need to import the following types. Internally, it uses [module augmentation](/guides/typescript/#customization-of-theme) to extend the default theme structure with the extension components available in the lab. + + ```tsx + // 1. augment the theme + import type '@material-ui/lab/themeAugmentation'; + + // 2. override + const theme = createMuiTheme({ + overrides: { + MuiTimeline: { + root: { + backgroundColor: 'red', + }, + }, + }, + }); + ``` + +- Minify error messages in production (#21214) @eps1lon. + + Using the [React error decoder](https://reactjs.org/docs/error-decoder.html/) as inspiration, the exceptions thrown by Material-UI in production are now minified. + You will be redirected to the documentation to [decode the error](https://material-ui.com/production-error/?code=4&args%5B%5D=500). + +### `@material-ui/core@v4.10.2` + +- [Checkbox] Fix custom icon fontSize prop support (#21362) @kn1ves +- [Dialog] Fix dialog children being announced as clickable (#21285) @eps1lon +- [Select] Improve native validation, autofill, and testability (#21192) @netochaves +- [Stepper] Always pass state props to connector (#21370) @baterson +- [Stepper] Only render label container if a label exists (#21322) @Floriferous + +### `@material-ui/lab@v4.0.0-alpha.56` + +- [Autocomplete] Fix scroll reset after unselect the only option (#21280) @svikhristyuk +- [Autocomplete] Prevent default event for disabled options (#21390) @GregoryAndrievskiy +- [SpeedDial] Improve tooltip work break (#21359) @SugiKent +- [Timeline] Introduce new component (#21331) @mnajdova +- [TypeScript] Allow lab components to have overrides in theme (#21279) @CarsonF + +### `@material-ui/utils@v4.10.2` + +- [core] Minify error messages in production (#21214) @eps1lon + +### Docs + +- [docs] Add palette TypeScript override example (#21319) @WillSquire +- [docs] Always consider code as left-to-right (#21386) @eps1lon +- [docs] Correct the name of a prop in the Table docs (#21384) @fedde-s +- [docs] Improve CONTRIBUTING.md (#21303) @pedrooa +- [docs] Improve ad display (#21246) @oliviertassinari +- [docs] Improve legibility of required star (#21369) @eps1lon +- [docs] List all the Tab components under the API section (#21241) @emretapci +- [docs] Move more prop docs into IntelliSense (#21002) @eps1lon +- [docs] Move more prop docs into IntelliSense (#21368) @eps1lon +- [docs] Move more prop docs into IntelliSense (#21375) @eps1lon +- [docs] Sync translations (#21336) @oliviertassinari +- [docs] Update builderbook.org image in showcase (#21360) @klyburke +- [docs] Update builderbook.org showcase (#21274) @klyburke +- [docs] Update minimum TypeScript version to 3.2 (#21197) @NMinhNguyen +- [docs] Use rem in responsive font sizes chart (#21373) @thewidgetsmith + +### Core + +- [test] Speed up slow TablePagination tests (#21374) @eps1lon +- [test] Type-test event handlers on ListItem (#21298) @eps1lon +- [core] Batch small changes (#21335) @oliviertassinari +- [core] Don't ship type tests (#21300) @eps1lon +- [core] Minify error messages in production (#21214) @eps1lon +- [core] Switch from `$ExpectError` to `@ts-expect-error` (#21308) @eps1lon +- [core] Use custom $ExpectType assertion (#21309) @eps1lon + +## 4.10.1 +###### *June 1, 2020* + +Big thanks to the 21 contributors who made this release possible. + +### `@material-ui/core@v4.10.1` + +- [CircularProgress] Fix IE 11 wobbling (#21248) @AmirAhrari +- [l10n] Improve Ukrainian translation (#21239) @goodwin64 +- [LinearProgress] Set aria-valuemin and aria-valuemax (#21195) @eps1lon +- [List] Add ‘alignItemsFlexStart’ to ListItemIconClassKey #21256) @YoonjiJang +- [Slider] Fix missing type definitions (#21244) @konekoya +- [Stepper] Add focus ripple to StepButton (#21223) @mnajdova +- [SvgIcon] Add displayName in react-devtools (#21134) @gndplayground +- [Table] Add React node support to TablePagination.labelRowsPerPage (#21226) @oliviertassinari +- [TextField] Fix missing autofill events (#21237) @maksimgm +- [Tooltip] Improve arrow customization (#21203) @mnajdova +- [Transition] Prevent passing undefined argument to callbacks (#21158) @iamhosseindhv + +### `@material-ui/lab@v4.0.0-alpha.55` + +- [Autocomplete] Document how to use a 3rd party input (#21257) @maksimgm +- [Autocomplete] Fix dynamic changes of multiple={boolean} (#21194) @weizhi9958 +- [Autocomplete] Improve getOptionLabel usage warning (#21207) @rhuanbarreto +- [Skeleton] Improve component (#21255) @oliviertassinari +- [Skeleton] Improve contrast on light themes (#21122) @eps1lon +- [Pagination] Fix selected item style (#21252) @svikhristyuk + +### Docs + +- [docs] Adapt CONTRIBUTING.md for https instead of SSH git clone (#21187) @cjoecker +- [docs] Add Progress value label examples (#21190) @cjoecker +- [docs] Document the onClick handler on Button (#21234) @hoop71 +- [docs] English improvements in api.md (#21159) @dandv +- [docs] Fix typo in default palette value (#21243) @dbgb +- [docs] Fix typo, principals -> principles (#21160) @dandv +- [docs] Improve ad display (#21219) @oliviertassinari +- [docs] Mention laying out radio buttons horizontally (#21186) @dandv +- [docs] Replace typefaces with fontsource (#21153) @DecliningLotus +- [docs] Simplify CONTRIBUTING.md (#21196) @NMinhNguyen +- [docs] Small grammar fix (#21161) @dandv +- [docs] Sync translations (#21275) @oliviertassinari +- [docs] Track pixel ratio (#21209) @eps1lon + +### Core + +- [TrapFocus] Make an unstable version public (#21201) @dmtrKovalenko +- [test] Track size of `@material-ui/utils` (#21240) @eps1lon +- [core] Batch small changes (#21156) @oliviertassinari +- [core] Batch small changes (#21249) @oliviertassinari + +## 4.10.0 +###### *May 23, 2020* + +Big thanks to the 30 contributors who made this release possible. + +Here are some highlights ✨: + +- 🦴 Allow Skeleton to infer its dimensions from the children (#21097) @mikew. + In the following example, the skeleton will take the size of the avatar. + ```jsx + + ``` + Follow [the docs to learn more](http://material-ui.com/components/skeleton/#inferring-dimensions). +- ♿️ Add tabs accessibility docs section (#20965) @eps1lon. + The behavior of the [keyboard navigation](http://material-ui.com/components/tabs/#keyboard-navigation) can be customized with the `selectionFollowsFocus` prop. +- ℹ Improve tooltip arrow customizability (#21095) @sakulstra. + The arrow background color and border can now be customized independently. + +- 🔘 Add vertical support to the ToggleButton component (#21051) @xiaomaini +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.10.0` + +- [AppBar] Fix z-index issue on Firefox (#21063) @pedrooa +- [Avatar] Fix group positioning (#21141) @CarsonF +- [Button] Fix disableFocusRipple prop description (#21116) @umairfarooq44 +- [CircularProgress] Improve custom bar demo (#21005) @id0Sch +- [l10n] Add new keys to Finnish (fi-FI) locale (#21087) @SampsaKaskela +- [l10n] Prepare iteration on number formatting (#20656) @oliviertassinari +- [Popper] Remove duplicate handleOpen call from effect (#21106) @inomdzhon +- [Select] Fix possible crash when clicking on the label (#21047) @eps1lon +- [Slide] Fix double negation in CSS translate (#21115) @scristall +- [Snackbar] Explain how to place the snackbar (#21052) @dandv +- [Snackbar] Fix double click issue on demos (#21059) @joshwooding +- [Tabs] Add a11y docs section (#20965) @eps1lon +- [theme] Fix types, reject undefined coefficient in darken, lighten (#21006) @dellink +- [Tooltip] Add PopperComponent prop (#21039) @joshwooding +- [Tooltip] Improve arrow customizability (#21095) @sakulstra + +### `@material-ui/styles@v4.10.0` + +- [styles] Increase counter only for non global styles (#21003) @jantimon + +### `@material-ui/lab@v4.0.0-alpha.54` + +- [Autocomplete] Improve value type inference (#20949) @kanoshin +- [Autocomplete] Fix autoHighlight for dynamic options (#21090) @mstykow +- [Autocomplete] Fix iOS double tap (#21060) @kaplantm +- [Pagination] Document difference with TablePagination (#21107) @hoop71 +- [Skeleton] Allow children to influence width and height (#21097) @mikew +- [Skeleton] Reduce SkeletonChildren test flakyness (#21121) @eps1lon +- [TabPanel] Allow flow content (#21017) @eps1lon +- [ToggleButton] Add orientation prop (#21051) @xiaomaini +- [TreeView] Add test for undesired behavior (#21043) @eps1lon + +### Docs + +- [docs] Add CssBaseline to auto dark mode example (#21094) @fantasyui-com +- [docs] Add new twitter quotes to the homepage (#21061) @mbrookes +- [docs] Fix anchor link to using inline vs. classes (#21151) @dandv +- [docs] Fix autocomplete attributes (#21138) @socsieng +- [docs] Fix typo in Modal accessibility description (#21062) @arthur-melo +- [docs] Improve mui-treasury integration (#21054) @siriwatknp +- [docs] Improve text based sizing for larger font scales (#21131) @eps1lon +- [docs] Keep the same header between locales (#21041) @jaironalves +- [docs] Minor fixes in theming, link to Context (#21149) @dandv +- [docs] Recommend no-restricted-imports to catch treeshake issues (#21035) @eps1lon +- [docs] Reduce confusion around higher order component (#21056) @ravshansbox +- [docs] Show font smoothing override (#21057) @mattstobbs +- [docs] Sort ways to support MUI; clarify clsx (#21150) @dandv +- [docs] Sync translations (#21155) @oliviertassinari + +### Core + +- [core] Add issue template for material design issues (#21120) @eps1lon +- [core] Batch small changes (#20980) @oliviertassinari +- [core] Explicitly declare children (#21014) @eps1lon +- [core] Narrow type definition for useControlled hook (#21027) @EdwardSalter +- [core] Small changes (#21064) @oliviertassinari +- [Security] Bump handlebars from 4.5.3 to 4.7.6 (#21033) @dependabot-preview +- [test] Fix react next patch (#21109) @eps1lon +- [test] Improve isolation of tests using mount() (#21034) @eps1lon +- [test] Isolate transition tests (#21032) @eps1lon +- [test] Migrate some tests to testing-library (#21058) @joshwooding + +## 4.9.14 +###### *May 11, 2020* + +Big thanks to the 19 contributors who made this release possible. + +Here are some highlights ✨: + +- 🗂 An experimental extension of the Tab API (#20806) @eps1lon. +- ⚛️ An improved version of unstable strict mode support (#20952, #20985) @eps1lon @DrewVartanian. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.9.14` + +- [l10n] Add Hindi (hi-IN) locale (#20916) @chandan-singh +- [Popper] Fix keepMounted visibility (#20937) @weslenng +- [Select] Focus labelled element on click (#20833) @qkdreyer +- [Slider] Fix center label in IE 11 (#20942) @Uneetpatel7 +- [Tabs] Add `selectionFollowsFocus` (#20936) @eps1lon +- [Tabs] Forward aria-label* attributes to tablist (#20986) @eps1lon +- [TextField] Fix typography inheritance issue (#20908) @esseswann +- [theme] Fix missing args to createMuiStrictModeTheme (#20985) @DrewVartanian +- [theme] Add support #rrggbbaa pattern in hexToRgb function (#20931) @dellink +- [theme] Fix override breakpoints (#20901) @JasonHK +- [Tooltip] Fix arrow placement overlap (#20900) @esseswann + +### `@material-ui/styles@v4.9.14` + +- [styles] Return simpler type from ComponentCreator (#20854) @vlazh + +### `@material-ui/system@v4.9.14` + +- [system] Add csstype as dependency to material-ui-system (#20922) @govizlora + +### `@material-ui/lab@v4.0.0-alpha.53` + +- [Autocomplete] Add new handleHomeEndKeys prop (#20910) @p00000001 +- [Autocomplete] Fix Google Map demo warnings (#20983) @oliviertassinari +- [Autocomplete] Fix onHighlightChange when filtering (#20923) @marcosvega91 +- [Tabs] Add new experimental Tabs API (#20806) @eps1lon +- [ToggleButton] Reduce gap with ButtonGroup (#20967) @rehanmohiuddin + +### `@material-ui/types@v5.1.0` + +- [types] Add OverridableStringUnion helper (#20901) @JasonHK + +### Docs + +- [docs] Add missing spot do DiamondSponsors (#20958) @eps1lon +- [docs] Fix leaking lazy stylesheets (#20903) @eps1lon +- [docs] Label accessibility for native select (#20876) @mkesavan13 +- [docs] Reduce likelyhood of overflow in ToC (#20961) @eps1lon +- [docs] Remove redirection to v0 (#17637) (#20902) @dellink +- [docs] Sychronize translations (#20982) @oliviertassinari + +### Core + +- [test] Improve assertion mismatch messages (#20964) @eps1lon +- [test] Migrate all Table components to testing-library (#20914) @marcosvega91 +- [test] Migrate CircularProgress and Collapse to testing-library (#20789) @marcosvega91 +- [test] Prepare patch for `react@next` (#20966) @eps1lon +- [test] Use actual element over document.activeElement (#20945) @eps1lon +- [core] Remove unstable_StrictMode transition components (#20952) @eps1lon +- [core] Fix typo in internal ScrollbarSize (#20934) @liujiajun +- [core] Fix typo in test description (#20943) @kunal-mandalia + +## 4.9.13 +###### *May 4, 2020* + +Big thanks to the 27 contributors who made this release possible. + +Here are some highlights ✨: + +- 💎 A new diamond sponsor: [Sencha](https://sencha.com/), thank you! +- ⚛️ More tests migrated from enzyme to testing-library @marcosvega91. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.9.13` + +- [AvatarGroup] Improve limit display (#20793) @let-aurn +- [ClickAwayListener] Remove misleading code comment (#20743) @eps1lon +- [l10n] Improve es-ES locale (#20794) @eloyrubinos +- [Modal] Should propagate event if disableEscapeKeyDown (#20786) @weslenng +- [Pagination] Refactor boundaryCount (#20826) @mbrookes +- [Select] Fix height overflow (#20822) @esseswann +- [Slider] Fix RTL support (#20851) @weslenng +- [Tabs] Implement keyboard navigation (#20781) @eps1lon +- [Tabs] Improve customizability of the scroll buttons (#20783) @netochaves +- [TextField] Fix caret color in autofill dark theme (#20857) @CarsonF +- [Tooltip] Fix disableTouchListener behavior (#20807) @weslenng +- [unstable_TrapFocus] Guard against dropped memo cache (#20848) @eps1lon + +### `@material-ui/styles@v4.9.13` + +- [styles] Fix wording in indexCounter comment (#20874) @iamclaytonray +- [styles] Improve component props inference of styled (#20830) @vlazh + +### `@material-ui/system@v4.9.13` + +- [system] Improve breakpoints types (#20753) @nodeTempest + +### `@material-ui/lab@v4.0.0-alpha.52` + +- [Autocomplete] Display loading feedback with freeSolo (#20869) @weslenng +- [Autocomplete] Fix support for limitTags={0} (#20850) @tykdn +- [Skeleton] Fix z-index elevation issue (#20803) @luminaxster +- [SpeedDial] Fix direct dependency on react-transition-group (#20847) @squirly +- [TreeView] Add onIconClick and onLabelClick (#20657) @tonyhallett + +### Docs + +- [sponsors] Add diamond Sencha (#20875) @oliviertassinari +- [docs] Add collapsible table demo (#19795) @LorenzHenk +- [docs] Fix "Find the source" link in localization.md (#20791) @ValentinH +- [docs] Fix emojis/html being included in toc (#20841) @eps1lon +- [docs] Fix groups name in autocomplete virtualization example (#20898) @Uneetpatel7 +- [docs] Fix header and row shift on pagination click (#20873) @ankitasingh170190 +- [docs] Fix incorrect signature of createStyles (#20866) @eps1lon +- [docs] Fix table zebra customization demo (#20870) @rkrueger11 +- [docs] Fix typo in Select type definitions (#20817) @qkdreyer +- [docs] Implement keyboard navigation for demo toolbar (#20798) @eps1lon +- [docs] Improve svgr documentation (#20893) @tavantzo +- [docs] Make CSS interoperability examples easier to use (#20860) @weisk +- [docs] Use mathematical interval notation for breakpoints (#20843) @eps1lon +- [examples] Add next.js SSG clarification comment (#20810) @sospedra + +### Core + +- [test] Migrate colorManipulator from assert to expect (#20792) @marcosvega91 +- [test] Migrate from assert to expect (#20799) @oliviertassinari +- [test] Replace all assert with expect (#20853) @marcosvega91 +- [core] Batch small changes (#20823) @oliviertassinari +- [core] Batch small changes (#20877) @oliviertassinari + +## 4.9.12 +###### *Apr 27, 2020* + +Big thanks to the 32 contributors who made this release possible. + +Here are some highlights ✨: + +- ⚛️ A first module written in TypeScript (#20685) @eps1lon. +- 🇧🇷 A documentation fully translated in Brazilian (@jaironalves). +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.9.12` + +- [ButtonBase] Fix ripple size when clientX or clientY is 0 (#20654) @jin60641 +- [ButtonGroup] Add disableElevation prop (#20747) @Andrew5569 +- [ClickAwayListener] Fix support of leading edge (#20647) @oliviertassinari +- [ExpansionPanel] Increase contrast for focus state (#20720) @petermikitsh +- [l10n] Document how far Material-UI should go (#20737) @eloyrubinos +- [l10n] Improve az-AZ locale (#20659) @rommelmamedov +- [l10n] Improve bg-BG locale (#20668) @panayotoff +- [l10n] Improve cs-CZ locale (#20670) @char0n +- [l10n] Improve de-DE locale (#20684) @eps1lon +- [l10n] Improve et-EE locale (#20682) @villuv +- [l10n] Improve hu-HU locale (#20658) @vgaborabs +- [l10n] Improve it-IT locale (#20674) @Angelk90 +- [l10n] Improve pl-PL locale (#20672) @eXtreme +- [l10n] Improve pt-BR locale (#20734) @jaironalves +- [l10n] Improve pt-PT locale (#20673) @hrafaelveloso +- [l10n] Improve ro-RO locale (#20681) @raduchiriac +- [l10n] Improve tr-TR locale (#20754) @yunusemredilber +- [l10n] Port locale to TypeScript (#20685) @eps1lon +- [Modal] Prevent focus steal from other windows (#20694) @eps1lon +- [Popper] Add ref type definition (#20688) @takakobem +- [Select] Fix height inconsistency between input and select (#20780) @esseswann +- [Select] Pass onClick to menuItem (#20739) @marcosvega91 +- [Slider] Fix focus after click (#20651) @davidcalhoun +- [Snackbar] Improve consecutive demos (#20721) @calbatr0ss +- [Tabs] Use a native element for the tabpanel role (#20648) @oliviertassinari +- [TextField] Fix required outlined label space with no asterisk (#20715) @eps1lon +- [TextField] Use aria-hidden on required asterisk (#20742) @alorek +- [Tooltip] Fix flip invalid CSS property error (#20745) @j-mendez +- [useScrollTrigger] Fix out of sync trigger (#20678, #20680) @ohlr @marcosvega91. + +### `@material-ui/lab@v4.0.0-alpha.51` + +#### Breaking changes + +- [Autocomplete] Remove startAfter props (#20729) @marcosvega91 + +#### Change + +- [Autocomplete] Add new onHighlightChange callback (#20691) @marcosvega91 +- [Autocomplete] Fix "fixed tags" demo (#20687) @kthyer +- [Autocomplete] Fix popup open logic when non empty (#20732) @marcosvega91 +- [Autocomplete] Remove dead code (#20663) @oliviertassinari +- [TreeView] Update firstCharMap when a TreeItem is removed (#20085) @tonyhallett + +### `@material-ui/utils@v4.9.12` + +- [core] Avoid test with instanceof HTMLElement (#20646) @oliviertassinari + +### Docs + +- [docs] Add "Persian" to the list of RTL languages (#20679) @mirismaili +- [docs] Add "reset focus" control to demo tools (#20724) @eps1lon +- [docs] Allow default actions of nested elements (#20777) @eps1lon +- [docs] Batch small changes (#20644) @oliviertassinari +- [docs] English fix: fewer boilerplate -> less boilerplate (#20775) @dandv +- [docs] Fix dropped iframe content in firefox (#20686) @eps1lon +- [docs] Fix typo in vision.md (#20649) @Flavyoo +- [docs] Fix warning and crash in dev mode (#20623) @oliviertassinari +- [docs] Improve infrastructure (#20751) @oliviertassinari +- [docs] Modernize DemoFrame (#20664) @eps1lon +- [docs] Never transition preview if not shown (#20784) @eps1lon +- [docs] Parse markdown on mount (#20601) @eps1lon +- [docs] Replace react-frame-component with concurrent safe impl (#20677) @eps1lon +- [docs] Sync translations (#20779) @oliviertassinari +- [material-ui-docs] Fix missing/extraneous dependencies (#20771) @eps1lon + +### Core + +- [AppBar] Migrate to testing-library (#20693) @marcosvega91 +- [Avatar] Migrate to testing-library (#20697) @marcosvega91 +- [Badge] Migrate to testing-library (#20710) @marcosvega91 +- [BottomNavigation] Migrate to testing-library (#20728) @marcosvega91 +- [Box] Migrate to testing-library (#20736) @marcosvega91 +- [Card] Migrate to testing-library (#20773) @marcosvega91 +- [core] Bump `@material-ui/react-transition-group` (#20699) @eps1lon +- [core] Force visibility on a few components in ink save print mode (#20749) @coktopus +- [test] Improve textToHash test (#20770) @eps1lon +- [test] Relax lint rules in test (#20702) @eps1lon + +## 4.9.11 +###### *Apr 18, 2020* + +Big thanks to the 25 contributors who made this release possible. + +### `@material-ui/core@v4.9.11` + +- [Backdrop] Document Fade inherited component (#20500) @Josh-Weston +- [Checkbox] Add test showcase for checked checkbox (#20571) @eps1lon +- [ExpansionPanel] Unify paddings with ListItem and similar components (#20586) @esseswann +- [l10n] Improve persian (fa-IR) locale (#20543) @ali4heydari +- [List] Fix ListItemIcon `children` type from element to Node (#20577) @alielkhateeb +- [Popper] Fix support for TypeScript 3.2 (#20550) @NMinhNguyen +- [react] Add createMuiStrictModeTheme (#20523) @eps1lon +- [SwitchBase] Prepare v5 removal of the second argument of onChange (#20541) @samuliasmala +- [Tabs] Fix the types of the color props (#20595) @sirajalam049 +- [TextareaAutosize] Fix height inconsistency for empty last row (#20575) @benwiley4000 +- [TextField] Fix long label scrollbar (#20535) @Uzwername +- [theme] Allow palette tonalOffset light and dark values (#20567) @TidyIQ + +### `@material-ui/lab@v4.0.0-alpha.50` + +- [Autocomplete] Add fullWidth prop (#20538) @Uzwername +- [Autocomplete] Add test cases for createFilterOptions (#20499) @netochaves +- [Autocomplete] Fix autoHighlight behavior (#20606) @qkdreyer +- [Autocomplete] Fix correcy core peer-dependency @oliviertassinari +- [Autocomplete] Fix missing startAfter type (#20542) @dohomi +- [Autocomplete] Fix reset input on blur for freeSolo mode too (#20603) @goffioul +- [Pagination] Fix missing renderItem types (#20592) @ankitasingh170190 + +### Docs + +- [blog] Q1 2020 Update (#20536) @oliviertassinari +- [docs] Add link for help on creating a custom transition (#20524) @zeckdude +- [docs] Correct "row" to "col" in Table (#20566) @sdpaulsen +- [docs] Fix command to start docs server (#20612) @plug-n-play +- [docs] Fix filerOption typo in autocomplete (#20572) @qkdreyer +- [docs] Fix punctuation and english grammar (#20596) @samisnotinsane +- [docs] Fix small typo in Container (#20589) @plug-n-play +- [docs] Improve a11y of the chip array example (#20294) @m4theushw +- [docs] Refactor markdown parsing (#20549) @eps1lon +- [docs] Remove old workarounds (#20587) @eps1lon +- [docs] Remove unnecessary webpack loaders (#20563) @eps1lon +- [docs] Sync translations (#20498) @oliviertassinari +- [docs] Use reactStrictMode over custom switch (#20522) @eps1lon + +### Core + +- [test] Add StrictMode compat layer test (#20547) @eps1lon +- [test] Use method calls over property access expressions (#20545) @eps1lon + +## 4.9.10 +###### *Apr 11, 2020* + +Big thanks to the 20 contributors who made this release possible. + +Here are some highlights ✨: + +- ⚛️ Migrate more descriptions of the props to TypeScript (#20342) @eps1lon. + + The coverage has increased from 50 to 75 components. We are working on migrating the 48 missing components. + +- 🦋 Fix support for portals and dropped events with ClickAwayListener (#20406, #20409) @NMinhNguyen, @seare-kidane. +- ♿️ Fix 3 accessibility issues (#20489, #20432, #20475) @arturbien, @ShehryarShoukat96. +- And many more 🐛 bug fixes and 📚 improvements. + +Over the last 3 months, we have focused exclusively on making patch releases. +We have done 11 so far. We have optimized for stability. +In the coming weeks, we will initiate our work on the [next major: v5](https://github.com/mui-org/material-ui/issues/20012). +You can expect the following: + +- A feature freeze on v4. +- The introduction of deprecation messages in the next v4 minors. These messages will help developers upgrade to v5. +- A progressive bug fixes freeze on v4, to the exception of security issues and important bugs. +- At least 6 months of work on v5 to get to a stable release (probably more). You can follow our [milestone](https://github.com/mui-org/material-ui/milestone/35). We will look for hiring a new full-time member on the core team to move faster. + +### `@material-ui/core@v4.9.10` + +- [Breadcrumbs] Keep focus in the component after expanding (#20489) @ShehryarShoukat96 +- [ButtonBase] Warn with wrong component prop (#20401) @oliviertassinari +- [ClickAwayListener] Fix support for portal (#20406) @NMinhNguyen +- [ClickAwayListener] Fix support for removed DOM node (#20409) @seare-kidane +- [CssBaseline] Add limitation for ScopedCssBaseline (#20481) @newrice +- [CssBaseline] Fix typings for `@global` override (#20454) @eps1lon +- [Dialog] Fix TypeScript type for `children` (#20450) @NMinhNguyen +- [Popper] Fix links to popper.js (#20464) @eps1lon +- [Popper] Fix outdated TypeScript props docs (#20465) @eps1lon +- [Popper] Fix popper.js deprecation npm warning (#20433) @oliviertassinari +- [Select] Add aria-disabled attribute (#20432) @arturbien +- [Select] Add new test for onChange (#20444) @arturbien +- [Slider] Allow individual mark customization (#17057) @mstrugo +- [Table] Add role if the default role of elements can't be used (#20475) @arturbien +- [TextareaAutosize] Update rows/rowMax to use number for better clarity (#20469) @esemeniuc +- [theme] Fix typings to pass array for spacing (#20486) @denys-pavlenko +- [theme] Fix typings for theme.spacing (#20435) @m4theushw +- [theme] Support string args in theme.spacing (#20408) @m4theushw +- [TypeScript] Move more prop docs into IntelliSense (#20342) @eps1lon +- [TypeScript] Fix support for TypeScript 3.2 (#20443) @NMinhNguyen +- [TypeScript] Fix TypeScript type for optional `children` (#20458) @NMinhNguyen + +### `@material-ui/styles@4.9.10` + +- [TypeScript] Fix support for TypeScript 3.2 (#20443) @NMinhNguyen + +### `@material-ui/system@4.9.10` + +- [TypeScript] Fix support for TypeScript 3.2 (#20443) @NMinhNguyen + +### `@material-ui/types@5.0.1` + +- [TypeScript] Fix support for TypeScript 3.2 (#20443) @NMinhNguyen + +### `@material-ui/lab@v4.0.0-alpha.49` + +- [Alert] Fix support for nested elements (#20490) @developerKumar +- [Autocomplete] Improve virtualization example (#20496) @galkadaw +- [Autocomplete] Warn when mixing controlled/uncontrolled inputValue states (#20403) @vileppanen +- [Rating] Warn if precision prop is below 0.1 (#20491) @AlexAndriyanenko +- [ToggleButton] Don't set default for disableRipple prop (#20493) @cp + +### Docs + +- [examples] Fix Next.js AMP support (#20463) @timneutkens +- [examples] Fix Next.js prop-type (#20474) @Izhaki +- [docs] Material-UI Developer Survey 2020 @oliviertassinari +- [docs] Add Component name section to API docs (#20434) @Josh-Weston +- [docs] Fix various issues with heading structure (#20389) @eps1lon +- [docs] Synchronize translations (#20405) @oliviertassinari + +### Core + +- [core] Introduce useId hook (#20407) @NMinhNguyen +- [test] Fix broken tests in `react@next` (#20472) @eps1lon +- [test] Use .checkPropTypes instead of render + propTypes (#20451) @eps1lon + +## 4.9.9 +###### *Apr 4, 2020* + +Big thanks to the 20 contributors who made this release possible. + +### `@material-ui/core@v4.9.9` + +- [Card] Fix TypeScript not recognizing "component" prop (#20179) @rart +- [Chip] Fix input integration (#20368) @chaudharykiran +- [Drawer] Fix clipped scroll overflow (#20396) @maksimgm +- [ExpansionPanel] Use theme.spacing in summary (#20344) @eps1lon +- [MenuItem] Fix prop ListItemClasses (#20377) @netochaves +- [Select] Fix onChange fired with current value (#20361) @ksrb +- [Select] Fix validator.w3.org error (#20356) @mfsjr +- [Slide] Fix `direction` as optional in TypeScript (#20338) @maksimgm +- [styles] Fix missing export of ThemeProviderProps (#20390) @TomekStaszkiewicz +- [TextField] Fix line-height and height that cut text (#20363) @fyodorovandrei + +### `@material-ui/lab@v4.0.0-alpha.48` + +- [Autocomplete] Fix blurOnSelect consistency for keyboard (#20314) @alexbarkin +- [Autocomplete] Fix multiselect regression (#20315) @oliviertassinari +- [Autocomplete] Go back to the initial groupBy tradeoff (#20376) @oliviertassinari +- [TreeView] Allow TreeItem to have conditional child (#20238) @tonyhallett +- [TreeView] Correct visibleNodes on re-render (#20157) @tonyhallett +- [TreeView] Fix move focus when pressing a modifier key + letter (#20309) @m4theushw + +### Docs + +- [examples] Move Copyright into its own component (#20383) @HaNdTriX +- [blog] Introducing Material-UI for Sketch (#20295) @oliviertassinari +- [docs] Batch small changes (#20312) @oliviertassinari +- [docs] Explain mini-theme example (#20339) @maksimgm +- [docs] Fix Tidelift UTM parameters (#20348) @phated +- [docs] Fix grammer: a -> they (#20336) @nainardev +- [docs] Fix masked text field bug (#20397) @mattcorner +- [docs] Improve _app usage in nextjs examples (#20381) @HaNdTriX +- [docs] Improve analytics (#20337) @oliviertassinari +- [docs] Sync translations (#20316) @oliviertassinari +- [docs] Next.js: Remove unused config files (#20382) @HaNdTriX + +### Core + +- [core] Add TextField `focused` prop (#20276) @dmtrKovalenko +- [core] Add missing test case for restricted-path-imports (#20350) @NMinhNguyen +- [core] Batch of small changes (#20349) @oliviertassinari +- [core] Export core utils modules from barrel (#20354) @NMinhNguyen +- [core] Improve out-of-date PR story (#20341) @eps1lon +- [core] Remove createSvgIcon duplication (#20308) @oliviertassinari + +## 4.9.8 +###### *Mar 28, 2020* + +Big thanks to the 24 contributors who made this release possible. + +Here are some highlights ✨: + +- ⚛️ Improve the DX, migrate a couple of props' descriptions to TypeScript (#20298, #20171, #20264) @eps1lon. + + ![typescript](https://user-images.githubusercontent.com/3165635/77828342-1f376080-711b-11ea-8c9d-c1c245fb17b0.png) + + The coverage has increase from 17 to 50 components. We are working on migrating the 94 missing components. +- ⚛️ Improve the DX, add debug information when using hooks (#19515) @eps1lon. + + For instance, with the `useMediaQuery` hook + + ![useMediaQuery](https://user-images.githubusercontent.com/3165635/77828448-bf8d8500-711b-11ea-881a-e9cc09c7d9ee.png) + +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.9.8` + +- [DX] Add debug values to various hooks (#19515) @eps1lon +- [ListItem] Add component prop to primaryTypographyProps and… (#19155) @fyodore82 +- [MenuList] Include disabled items in keyboard navigation (#19967) @scottander +- [MenuList] Remove if-statement that is always true (#20270) @CptWesley +- [Popover] Fix resize event leak (#20272) @skmail +- [Select] Fix disabled color to the icon (#20287) @HenryLie +- [SvgIcon] Remove wrong role (#20307) @oliviertassinari +- [theme] Warn when palette structure is wrong (#20253) @oliviertassinari +- [Tooltip] Fix TextField integration (#20252) @ShehryarShoukat96 +- [Tooltip] Remove superfluous argument in handleBlur call (#20271) @CptWesley +- [TypeScript] Enable module augmentation of CommonColors (#20212) @eps1lon +- [TypeScript] Add JSDOC to ListItem TypeScript props (#20171) @eps1lon +- [TypeScript] Fix Checkbox and Radio type propType (#20293) @eps1lon +- [TypeScript] Fix incorrect typings regarding transition components a… (#20306) @eps1lon +- [TypeScript] Link to demos and API in IntelliSense (#20078) @eps1lon +- [TypeScript] Mark context value as nullable for optional providers (#20278) @ianschmitz +- [TypeScript] Move more prop docs into IntelliSense (#20298) @eps1lon +- [TypeScript] Add more props documentation to IntelliSense (#20264) @eps1lon + +### `@material-ui/lab@v4.0.0-alpha.47` + +- [Autocomplete] Add limitTags prop (#20209) @netochaves +- [Autocomplete] Add startAfter option (#20305) @netochaves +- [Autocomplete] Warn when value does not match options (#20235) @igorbrasileiro +- [Pagination] Add RTL support (#20247) @HenryLie +- [TreeView] Correct single-select aria-selected (#20102) @tonyhallett +- [TreeView] Disable all selection when disableSelection (#20146) @tonyhallett +- [TreeView] Fix focus steal (#20232) @tonyhallett +- [TreeView] fix inconsistent focus for programmatically focused treeitem (#20237) @tonyhallett + +### Docs + +- [docs] Add a new site to showcase (google-keep clone) (#20260) @anselm94 +- [docs] Add color preview to default theme tree (#20082) @mlizchap +- [docs] Add demo link (#20262) @esemeniuc +- [docs] Extract landing-only modules (#20187) @eps1lon +- [docs] Fix TablePagination props swap descriptions (#20274) @johncalvinroberts +- [docs] Fix a few WAVE errors (#20304) @oliviertassinari +- [docs] Fix icons + locale (#20213) @oliviertassinari +- [docs] Fix popover anchor playground crash (#20265) @Zaynex +- [docs] Fix wording in backdrop.md (#20190) @matt-savvy +- [docs] Improve demo error boundary (#20177) @eps1lon +- [docs] Improve doc for textField and buttons (#20207) @DDDDDanica +- [docs] Improve loading experience (#20005) @eps1lon +- [docs] Improve material icons installation instructions (#20290) @ArianKrasniqi +- [docs] Mark toolbar for assistive technology (#20158) @eps1lon +- [docs] Page size tracking fixes (#20199) @eps1lon +- [docs] Sync translations (#20210) @oliviertassinari + +### Core + +- [test] Improve regression test suite debugging (#20194) @eps1lon +- [ci] Retry mergable state for 30 minutes (#20269) @eps1lon +- [core] Automatically apply "PR: needs rebase" PR label (#20169) @eps1lon +- [core] Batch small changes (#20255) @oliviertassinari +- [core] Fix docs:start which should start next.js server (#20202) @ro7584 +- [core] Fix maintenance workflow failing on fork PRs (#20195) @eps1lon +- [core] Format all ts files (#20233) @eps1lon + +## 4.9.7 +###### *Mar 19, 2020* + +### `@material-ui/core@v4.9.7` + +- [core] Patch correct dependencies (10bc98f) + +## 4.9.6 +###### *Mar 18, 2020* + +Big thanks to the 39 contributors who made this release possible. + +Here are some highlights ✨: + +- ⚛️ Improve the DX in Visual Studio Code (#20079, #19962, #19280) @eps1lon @jedwards1211. + - Preview the colors in right in the editor + ![](https://user-images.githubusercontent.com/12292047/76473891-2b70ad80-63fa-11ea-8afe-38ceee43eeaa.png) + ![](https://user-images.githubusercontent.com/12292047/76473890-2ad81700-63fa-11ea-9bb3-005f79a195e7.png) + - Preview the purpose of each theme.spacing arguments right in the editor + ![](https://user-images.githubusercontent.com/12292047/75786858-31192400-5d66-11ea-9382-94dd74c42985.png) + - Leverage code snippets to save time with [this extension](https://marketplace.visualstudio.com/items?itemName=vscodeshift.material-ui-snippets). +- 🔍 12 patches on the Autocomplete component. +- 💄 Polish on the Pagination component (#19933, #19964, #19966, #19987) @pvdstel @eps1lon @mbrookes. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.9.6` + +- [Chip] Prevent event default when onDelete is triggered (#20051) @eps1lon +- [Container] Reset display block (#19971) @oliviertassinari +- [DatePicker] Fix codesandbox demo (#19926) @netochaves +- [Drawer] Add a comment for clarity on the styling of height of the toolbar (#19934) @smerriman18 +- [Grid] Fix row-reverse typo (#20048) @jhthompson +- [Link] Fix color mismatch with Typography component (#19949) Weslen do Nascimento +- [ListItemText] Fix display block issue (#20039) @psdr03 +- [Select] Simplify the demos (remove ref) (#20076) @captain-yossarian +- [TablePagination] Out of range warning when "count={-1}" (#19874) @dbarabashdev +- [TextField] Avoid outline label CSS leak (#19937) @ivoiv +- [TextField] Fix outlined render gap if label = empty string (#19722) @captain-yossarian +- [TextField] Minimize usage of z-index (#19547)" (#20016) @piotros +- [theme] Describe what each argument of theme.spacing affects (#19962) @eps1lon +- [theme] Array reject on spacing transformation fixed (#19900) Weslen do Nascimento +- [Tooltip] Fix useMemo dependency (#19899) @NMinhNguyen +- [Tooltip] Reduce enterDelay to 100ms (#19898) @oliviertassinari + +### `@material-ui/styles@v4.9.6` + +- [styles] Fix theme default props overriden by Component default (#20091) @adridavid +- [styles] Name anonymous function type (#19996) @eps1lon + +### `@material-ui/system@v4.9.6` + +- [theme] Array reject on spacing transformation fixed (#19900) Weslen do Nascimento + +### `@material-ui/utils@v4.9.6` + +- [core] Fix deepmerge of DOM elements (#20100) @ValentinH + +### `@material-ui/lab@v4.0.0-alpha.46` + +#### Breaking Changes + +- [Autocomplete] Improvement popup open logic (#19901) @haseebdaone + +#### Changes + +- [Autocomplete] Add more details in the onChange event (#19959) @akharkhonov +- [Autocomplete] Add scrollbar support in IE11 (#19969) @SergeyUstinovich +- [Autocomplete] Better synchronize the highlight with the value (#19923) @captain-yossarian +- [Autocomplete] Document listbox limitation (#20101) @zatine +- [Autocomplete] Fix clearOnEscape + multiple combination (#20065) @chaudharykiran +- [Autocomplete] Fix GitHub's demo behavior (#19928) @hasanozacar +- [Autocomplete] Fix typo in prop description (#20086) @vince1995 +- [Autocomplete] Make categories more obvious (#20142) @embeddedt +- [Autocomplete] Simplify error for wrong getOptionLabel (#20103) @oliviertassinari +- [Autocomplete] Update onChange API @oliviertassinari +- [Autocomplete] Use getOptionLabel over stringify (#19974) @a-type +- [AvatarGroup] Add max avatar prop (#19853) @GFynbo +- [Pagination] Add TypeScript types (#19933) @pvdstel +- [Pagination] Fix prop forwarding of `onChange` and `page` (#19964) @eps1lon +- [Pagination] Leverage `@default` over default values (#19966) @eps1lon +- [Pagination] Remove children prop (#19987) @mbrookes +- [Rating] Fix text alignment inheritance (#20055) @mlizchap +- [Skeleton] Fix SkeletonClassKey type (#20047) @100terres +- [Skeleton] Improve wave dark mode support (#20112) @oliviertassinari + +### Docs + +- [docs] Add radio error demo (#19599) @mbrookes +- [docs] Bump next to latest (#19995) @eps1lon +- [docs] Display color preview in IntelliSense (#20079) @eps1lon +- [docs] Document typescript:transpile script (#19951) @eps1lon +- [docs] Fix @material-ui/styles release version number (#19939) @jkjustjoshing +- [docs] Fix OutlinedLabel typo (#20006) @ljcooke +- [docs] Fix SEO issues (#20108) @oliviertassinari +- [docs] Fix Sketch link (#19944) @mbrookes +- [docs] Fix grammar in autocomplete doc (#20066) @dandv +- [docs] Fix incorrect type for fontWeight @eps1lon +- [docs] Fix missing OutlinedLabel#label link in Select API docs (#19993) @eps1lon +- [docs] Flexbox, add element for show the good effect (#19956) @tbredillet +- [docs] Flexbox: update item number (#19954) @tbredillet +- [docs] Improve font size scaling of some demos (#19950) @eps1lon +- [docs] Remove premium support offerings (#19972) @mbrookes +- [docs] Simplify checkbox examples (#20052) @tacigar +- [docs] Simplify some demos (#19608) @mbrookes +- [docs] Track bundle size of pages (#19978) @eps1lon +- [docs] Upgrade to next 9 (#18441) @eps1lon +- [docs] Simplify drawer examples (#20040) @TommyJackson85 +- [examples] Fix typo in gatsby readme (#19998) @eps1lon + +### Core + +- [test] Match against messages not args on console methods (#20046) @eps1lon +- [test] Resize screenshots with sharp (#19979) @oliviertassinari +- [test] Run snapshot tests on the a11y tree (#20019) @eps1lon +- [ci] Fix azure not running (#20127) @eps1lon +- [ci] Fix incorre pr number for experimental scripts (#20021) @eps1lon +- [ci] Let failed types-next jobs pass (#20007) @eps1lon +- [ci] Let failed types-next jobs pass (#20017) @eps1lon +- [core] Add missing properties to TypeAction (#20075) @timonweber +- [core] Add spacing after prettier command (#20073) @dandv +- [core] Batch small changes (#20111) @oliviertassinari +- [core] Fix typos in code comments (#19999) @eps1lon +- [core] Improve the DX when iterating on components (#20128) @oliviertassinari +- [core] Use Babel 7 version of transform-react-constant-elements (#20015) @merceyz +- [security] Bump acorn from 5.7.3 to 5.7.4 (#20105) @dependabot-preview +- [core] Batch small changes (#19896) @oliviertassinari +- [core] Update type defs to use OverridableComponent (#20110) @theGirrafish +- [core] Fix docs:api cleaning the wrong directory #20164 @ro7584 + +## 4.9.5 +###### *Feb 29, 2020* + +Big thanks to the 15 contributors who made this release possible. + +Here are some highlights ✨: + +- 💄 Add selection (and multi-selection) support to tree view (#18357) @joshwooding +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.9.5` + +- [ButtonBase] Fix when changing enableRipple prop from false to true (#19667) @dmtrKovalenko +- [l10n] Add Armenian (hy-AM) locale (#19844) @vgevorgyan +- [l10n] Add Hebrew (he-IL) locale (#19850) @boazberman +- [Popper] Fix deep merge of PopperProps (#19851) @valgrindMaster +- [RadioGroup] Random default name (#19890) @dfernandez-asapp +- [Slider] Add explicit types for slider callbacks (#19867) @deymundson +- [Step] Add missing expanded prop to step TypeScript (#19873) @countableSet + +### `@material-ui/lab@v4.0.0-alpha.45` + +- [Autocomplete] Fix list of countries (#19862) @FottyM +- [TreeView] Fix conditional nodes support (#19849) @joshwooding +- [Treeview] Add node selection support (#18357) @joshwooding + +### Docs + +- [docs] Fix broken link to jss-nested plugin (#19837) @Izhaki +- [docs] Fix typo on supported-platforms.md (#19841) @vferdiansyah +- [docs] Move store to a subfolder (#19822) @oliviertassinari + +### Core + +- [ci] Enable re-run of azure pipelines (#19823) @eps1lon +- [ci] Fix heap out of memory in azure pipelines (#19825) @eps1lon +- [core] Migrate to import * as React from 'react' (#19802) @TrySound +- [test] Fix defaultProps overriding props (#19858) @eps1lon +- [test] Test against typescript nightlies (#19857) @eps1lon + +## 4.9.4 +###### *Feb 23, 2020* + +Big thanks to the 18 contributors who made this release possible. + +Here are some highlights ✨: + +- ♿️ Improve the accessibility support of the Breadcrumbs and ButtonBase (#19724, #19784) @captain-yossarian. +- 💄 Polish the new Pagination component (#19758) @zettca. +- 🐛 Fix Preact support of the swipeable drawer (#19782) @TommyJackson85. +- 💅 Introduce a small delay in the appearance of the tooltip (#19766) @Ritorna. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.9.4` + +- [Breadcrumbs] Fix expand/collapsed Breadcrumbs via keyboard (#19724) @captain-yossarian +- [ButtonBase] Fix space handling for non native button elements (#19784) @captain-yossarian +- [CardMedia] Fix propTypes to allow `component` prop (#19790) @stevenmusumeche +- [CssBaseline] Change of children type to ReactNode (#19770) @dfernandez-asapp +- [Framer] Release v1.1.0 (#19800) @mbrookes +- [SwipeableDrawer] Improve Preact support (#19782) @TommyJackson85 +- [SwipeableDrawer] Support global theme changes (#19771) @TommyJackson85 +- [TextareaAutosize] Prevent "Maximum update depth exceeded" (#19743) @SofianeDjellouli +- [theme] Built-in convertLength method (#19720) @oliviertassinari +- [Tooltip] Add enterNextDelay prop (#19766) @Ritorna + +### `@material-ui/lab@v4.0.0-alpha.44` + +- [Autocomplete] Built-in fullWidth (#19805) @oliviertassinari +- [Autocomplete] Fix stuck with open popup (#19794) @hasanozacar +- [Autocomplete] Warn when using wrong getOptionSelected (#19699) @ahmad-reza619 +- [AvatarGroup] Add spacing prop (#19761) @GFynbo +- [Pagination] Fix activatedOpacity typo (#19758) @zettca + +### Docs + +- [docs] Fix typo in Autocomplete (#19775) @aurnik +- [docs] Add Data Driven Forms to the list of libraries (#19747) @rvsia +- [docs] Improve wording of bundle size guide (#19768) @larsenwork +- [docs] Sync translations.json @oliviertassinari +- [docs] Update the translations (#19741) @mbrookes + +### Core + +- [core] Export ThemeOptions (#19789) @dbarabashdev +- [core] Small fixes (#19803) @oliviertassinari +- [core] Update getDisplayName to handle React.memo (#19762) @dantman + +## 4.9.3 +###### *Feb 16, 2020* + +Big thanks to the 18 contributors who made this release possible. + +### `@material-ui/core@v4.9.3` + +- [l10n] Add Estonian (et-EE) locale (#19707) @villuv +- [ScopedCssBaseline] Allow css to be only applied on children (#19669) @TomPradat + +### `@material-ui/system@v4.9.3` + +- [system] Add boxSizing to sizing styled system (#19684) @mesteche + +### `@material-ui/lab@v4.0.0-alpha.43` + +- [Autocomplete] Improve freeSolo UX (#19663) @itelofilho +- [Autocomplete] Make options required (#19648) @alexandesigner +- [Pagination] Second iteration (#19612) @oliviertassinari + +### Docs + +- [TreeView] Add recursive demo (#19636) @captain-yossarian +- [docs] Encourage mui-rff (#19676) @lookfirst +- [docs] Fix missing import in auto-dark theme palette example (#19694) @vinyldarkscratch +- [docs] Fix typo in sticky footer template (#19695) @bryndyment +- [docs] List default attributes first (#19693) @amcasey +- [docs] Revamp the notifications (#19615) @mbrookes +- [docs] Revert sidebar scrolling (#19678) @kristenmills +- [docs] Switch to cross-fetch (#19644) @eps1lon +- [docs] Update codemod documentation (#19661) @larsenwork +- [docs] What's the lab about? (#19611) @jcafiero + +### Core + +- [core] Export TypographyVariant type (#19598) @aleccaputo +- [core] Host normalize-scroll-left (#19638) @oliviertassinari +- [core] Misc dependency fixes (#19643) @eps1lon +- [core] Batch small changes (#19639) @oliviertassinari +- [core] Batch small changes (#19717) @oliviertassinari + +## 4.9.2 +###### *Feb 9, 2020* + +Big thanks to the 24 contributors who made this release possible. + +### `@material-ui/core@v4.9.2` + +- [AppBar] Add color transparent support (#19393) @lexskir +- [Divider] Fix height for vertical divider in a flexbox (#19614) @captain-yossarian +- [Modal] Fix zoom out on iOS (#19548) @TommyJackson85 +- [MobileStepper] Fix TypeScript props not aligning with prop-types (#19594) @illusionalsagacity +- [Tabs] Add missing updateScrollButtons type in TabActions (#19570) @notsidney +- [TextField] Fix blurry text on label (#19547) @chybisov +- [TextField] Fix label notch for custom htmlFontSize (#19558) @kusmierz +- [Typography] Add missing classes to TypographyClassKey (#19588) @galechus +- [l10n] Add Hungarian (hu-HU) locale (#19566) @vgaborabs +- [l10n] Add Icelandic (is-IS) locale (#19538) @axelbjornsson + +### `@material-ui/lab@v4.0.0-alpha.42` + +- [Autocomplete] Fix unexpected clearing (#19511) @captain-yossarian +- [Autocomplete] Support limiting the amount of options (#19539) @govizlora +- [Pagination] Introduce new component (#19049) @mbrookes + +### Docs + +- [docs] Add ToggleButton demo for not accepting null value (#19582) @LorenzHenk +- [docs] Add blocks section to related-projects (#19562) @alexandre-lelain +- [docs] Add generic props usage examples (#19341) @fyodore82 +- [docs] Add links to sandbox option in examples readme files (#19592) @garethx +- [docs] Add new starting template (#19604) @dunky11 +- [docs] Add post-update to examples so they run on CodeSandbox (#19605) @garethx +- [docs] Fix typo in the Avatar docs (#19544) @UltimateForm +- [docs] Improve entry points for issue repros (#19501) @eps1lon +- [docs] Link a VSCode extension for working with Material-UI (#19280) @jedwards1211 +- [docs] Notification blog post @oliviertassinari +- [docs] Refactor EnchancedTable demo (#19560) @ahmad-reza619 +- [docs] The error style rule is a pseudo-class (#19555) @TommyJackson85 +- [docs] Update link to example for adding a new demo (#19590) @LorenzHenk + +### Core + +- [company] Polish the job post (#19593) @oliviertassinari +- [core] Ignore `@date-ui/` updates (#19633) @eps1lon + +## 4.9.1 +###### *Feb 2, 2020* + +Big thanks to the 39 contributors who made this release possible. + +Here are some highlights ✨: + +- 🐛 Clean and synchronize the material icons with Google (#19483, #19485) @timmydoza. +- 🐛 Fix outline input regressions (#19389, #19409, #19495) @Alexeyun1k, @kusmierz, @cadrimiranda. +- 🐛 Fix IME support of the Autocomplete, important for Chinese, Japanese, and Korean (#19499) @teramotodaiki. +- 📚 Improve the Style Library Interoperability docs section (#19457) @oliviertassinari. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.9.1` + +- [Container] Fix mismatch between Container and Toolbar gutters (#19505) @koistya +- [FormControl] Add `fullWidth` prop to `FormControl` context (#19369) @EsoterikStare +- [l10n] Add Catalan (ca-ES) locale (#19428) @yyuri +- [l10n] Add Finnish (fi-FI) locale (#19471) @SampsaKaskela +- [l10n] Add Vietnamese (vi-VN) locale (#19439) @imcvampire +- [ListItemAvatar] Add "children" prop (#19509) @srghma +- [Select] Right click opens select menu (#19434) @fyodore82 +- [Slider] Support marks={false} (#19350) @embeddedt +- [SwitchBase] Fix ignoring disabled from FormControl (#19319) @rostislavbobo +- [TablePagination] Support unknown total count (#19494) @Domino987 +- [TextField] Declare global mui-auto-fill(-cancel) keyframes (#19497) @martinjlowm +- [TextField] Fix label notch for custom htmlFontSize (#19409) @kusmierz +- [TextField] Handle leaky global styles of Bootstrap (#19495) @cadrimiranda +- [TextField] Prevent overriding legend display styles (#19389) @Alexeyun1k +- [TextField] Reduce helper text height to match spec (#19390) @suliskh + +### `@material-ui/icons@v4.9.1` + +- [icons] Remove extraneous path (#19483) @timmydoza +- [icons] Synchronize components with Google (#19485) @oliviertassinari + +### `@material-ui/system@v4.9.1` + +- [system] Add grid support (#17326) @Lavoaster + +### `@material-ui/lab@v4.0.0-alpha.41` + +- [Alert] Improve dark theme coloring (#19105) @ahtcx +- [Autocomplete] Fix autoSelect logic (#19384) @SerhiiBilyk +- [Autocomplete] Should not fire change until IME is confirmed (#19499) @teramotodaiki +- [Autocomplete] Update docs for defaultValue prop (#19431) @willwill96 +- [Rating] Fix readOnly + precision combination (#19414) @TommyJackson85 + +### Framer + +- [framer] Support Framer color tokens for ThemeProvider (#19451) @iKettles + +### Docs + +- [example] Add @types/node dependency (#19383) @AlexanderVishnevsky +- [blog] 2019 in review and beyond (#19478) @oliviertassinari +- [blog] Improve the layout (#19385) @oliviertassinari +- [docs] Add SwipeableTextMobileStepper demo (#18503) @eps1lon +- [docs] Add cinemaPlus to showcase (#19502) @georgesimos +- [docs] Fix /versions GitHub API rate limitation (#19223) @hiteshkundal +- [docs] Fix a small typo ("idea" ==> "ID") (#19366) @markdoliner +- [docs] Fix some typos and correct a grammar mistake (#19324) @konekoya +- [docs] Fix typo (#19492) @Blechkelle +- [docs] Fix typo in Autocomplete CSS API (#19503) @DenrizSusam +- [docs] Improve Style Library Interoperability (#19457) @oliviertassinari +- [docs] Include more info on RMUIF v2.2.0 (#19410) @phoqe +- [docs] Increase button variant demos consistency (#19392) @theswerd +- [docs] Refresh the home page (#19430) @mbrookes +- [docs] Remove `@ts-ignore` usage (#19504) @eps1lon +- [docs] Replace switch with checkbox and radio (#19440) @rostislavbobo +- [docs] Separate ButtonGroup and Fab pages from Button page (#19381) @mbrookes +- [docs] Update the translations (#19514) @mbrookes +- [docs] makeStyles doesn't have access to the component's name (#19474) @hesto2 + +### Core + +- [test] Check exhaustive deps of useEnhancedEffect (#19417) @eps1lon +- [test] Misc polish (#19425) @eps1lon +- [test] Test type libs in docs (#19375) @eps1lon +- [test] Exclude inaccessible elements by default in browser tests (#19380) @eps1lon +- [core] Batch small changes (#19416) @oliviertassinari +- [core] cross-os jsonlint (#19377) @eps1lon +- [core] Fix mixins not being assignable as JSS styles (#19491) @ririvas +- [core] Misc dependency fixes (#19412) @eps1lon + +## 4.9.0 +###### *Jan 22, 2020* + +Big thanks to the 43 contributors who made this release possible. + +Here are some highlights ✨: + +- 🐛 Change the outlined input notch implementation to rely 100% on CSS (#17680) @eps1lon. +- 🔍 11 patches on the Autocomplete component. +- 📚 Simplify the usage of "copy demo" action (#19291) @theswerd. +- 📚 Warn when defaultValue changes (#19070) @m4theushw. +- 💅 Slight updates to better match the Material Design spec (#19277, #19342) @elmeerr. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.9.0` + +- [Breadcrumbs] Remove private separator component (#19234) @hiteshkundal +- [ButtonBase] Fix potential memory leak for multi-touch devices (#19333) @eps1lon +- [DialogContentText] Fix component prop (#19102) @fyodore82 +- [l10n] Add Bulgarian (pg-BG) locale (#19138) @panayotoff +- [l10n] Improve it-IT locale (#19143) @keul +- [RadioGroup] Fix useRadioGroup.d.ts (#19001) @NMinhNguyen +- [Slider] Add a custom scale support (#19158) @netochaves +- [Slider] Center the value label (#19330) @LorenzHenk +- [StepButton] Fix prop-types warning regarding `expanded` (#19332) @eps1lon +- [Stepper] Add support for expanding all the steps (#19200) @hiteshkundal +- [Tab] Remove font-size media-query (#19342) @elmeerr +- [TableRow] Improve hover/selected styles (#19277) @elmeerr +- [TextField] Fix outline offscreen label strikethrough (#17680) @eps1lon +- [TextField] Improve transitions (#19228) @oliviertassinari +- [TextField] Support padding for helperText (#19198) @hiteshkundal +- [Tooltip] Fix popper.js re-instantiation (#19304) @netochaves + +### `@material-ui/styles@v4.9.0` + +- [styles] Overload function signature instead of conditional (#19320) @eps1lon + +### `@material-ui/types@v5.0.0` + +#### Breaking Changes + +- [types] Overload function signature instead of conditional (#19320) @eps1lon + Or, And, IsAny and IsEmptyInterface have been removed. +- [types] Remove CoerceEmptyInterface (#19259) @eps1lon + +### `@material-ui/lab@v4.0.0-alpha.40` + +- [Alert] Improve Transition demo (#19283) @theswerd +- [Alert] Use alert severity in demos (#19123) @sviande +- [Rating] Add default value prop (#19103) @oliviertassinari +- [Skeleton] Use span element (#19278) @oliviertassinari +- [Autocomplete] Add missing 'clear' to onInputChange typing (#19286) @mvestergaard +- [Autocomplete] Decrease padding when icon buttons aren't rendered (#19257) @jedwards1211 +- [Autocomplete] Document how to disable chrome autofill (#19126) @goleary +- [Autocomplete] Don't delete tag if exists (in freesolo mode) (#19215) @adica +- [Autocomplete] Extend support to textarea (#19232) @justtol +- [Autocomplete] Fix group labels hiding items during keybd navigation (#19305) @aisamu +- [Autocomplete] Fix misleading warning (#19177) @embeddedt +- [Autocomplete] Fix option grouping (#19121) @liangchunn +- [Autocomplete] Improve typings (#18854) @testarossaaaaa +- [Autocomplete] Polish CustomizedHook demo (#19287) @JeremiAnastaziak +- [Autocomplete] Add selectOnFocus prop (#19281) @Bebersohl + +### Docs + +- [blog] December 2019 Update (#19119) @oliviertassinari +- [docs] Add "material-ui-confirm" to the related projects (#19237) @jonatanklosko +- [docs] Add a new site to showcase (hifivework) (#19129) @lau-sam +- [docs] Add a new site to showcase (tradenba) (#19307) @zachrdz +- [docs] Add links to mui-treasury (#19334) @siriwatknp +- [docs] Fix "Edit this page" link (#19170) @neletdev +- [docs] Fix a tiny mistake in Chips playground (#19172) @OrBin +- [docs] Fix broken TypeScript hash link in CONTRIBUTING.md (#19236) @hiteshkundal +- [docs] Fix link in switches.md (#19256) @TurnerB24 +- [docs] Fix typo in the accessible table demo (#19321) @carbonid1 +- [docs] Improve EnhancedTable.tsx demo (#19266) @sdgluck +- [docs] Improve draggable dialog demo (#19339) @konekoya +- [docs] Improve the demos copy experience (#19291) @theswerd +- [docs] Improve the documentation of the dark theme (#19122) @m4theushw +- [docs] Improve transition documentation (#19201) @hiteshkundal +- [docs] Improve typography documentation (#19216) @kevin-lindsay-1 +- [docs] Merge brand.png and logo.png @oliviertassinari +- [docs] Minor typo (#19219) @sourabhbagrecha +- [docs] Minor typo fix in testing docs (#19146) @Ardeshir81 +- [docs] Remove Glamor link (#19178) @terryBaz +- [docs] Update the translations (#19111) @mbrookes +- [docs] Use button in backdrop demo (#19282) @theswerd +- [docs] Use reasonable unitless line-height for Box (#19260) @minikomi + +### Core + +- [test] Improve visual regression tests (#19175) @oliviertassinari +- [core] Batch small changes (#19097) @oliviertassinari +- [core] Batch small changes (#19174) @oliviertassinari +- [core] Distinguish JSSProperties and CSSProperties (#19263) @eps1lon +- [core] Fix TypographyStyle not allowing media queries and allowing unsafe undefined access (#19269) @eps1lon +- [core] Ignore a few flaky visual tests (#19226) @oliviertassinari +- [core] Remove unecessary exports from styles/transitions.js (#19337) @JonKrone +- [core] Simplify types of styled (#19243) @eps1lon +- [core] Use node 10 in every CI/CD pipeline (#19301) @eps1lon +- [core] Warn when defaultValue changes (#19070) @m4theushw +- [build] Clarify transform-runtime, runtime version (#18512) @eps1lon + +## 4.8.3 +###### *Jan 6, 2020* + +Big thanks to the 19 contributors who made this release possible. + +Here are some highlights since 4.8.0 ✨: + +- 💄 Introduce a new Alert component in the lab (#18702) @dimitropoulos. +- 💄 Improve skeleton animation, add wave support (#18913, #19014) @bowann, @oliviertassinari. +- 🔍 13 patches on the Autocomplete component. +- 🌎 Add 6 new locales (ko-KR, az-AZ, cs-CZ, sk-SK, uk-UA, pt-PT). +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.8.3` + +- [Badge] Improve demos (#18981) @ypresto +- [Collapse] Add `hidden` class key to Collapse typings (#19044) @pvdstel +- [Grid] Update TypeScript classes definitions (#19050) @Rikpat +- [Popover] Fix position when changing state or updated (#19046) @SandraMarcelaHerreraArriaga +- [Snackbar] Improve accessibility (#19043) @oliviertassinari +- [theme] Support breakpoints.between(a, b) with number (#19003) @ulises-lara + +### `@material-ui/lab@v4.0.0-alpha.39` + +- [Alert] Introduce new component (#18702) @dimitropoulos +- [Autocomplete] Fix disabled + multiple combination support (#19041) @cvanem +- [Autocomplete] Fix form submit with freeSolo and multiple (#19072) @haseebdaone +- [Autocomplete] Warn when mixing uncontrolled and controlled (#19060) @m4theushw +- [Rating] Fix hover state stuck (#19071) @fyodore82 + +### Docs + +- [example] Make sure next.js Links can accept url objects as href (#19073) @Janpot +- [docs] Add company page (#18964) @oliviertassinari +- [docs] Add hexToRgb rename to v3 to v4 changelog (#19058) @zettca +- [docs] Disable in-context translations (#19056) @mbrookes +- [docs] Fix grammar (#19062) @RDIL +- [docs] Improve Next.js usage (#19075) @chrisweb +- [docs] Improve theme.breakpoints description (#19065) @littleee + +### Core + +- [core] Fix missing type peer deps (#17211) @eps1lon + +## 4.8.2 +###### *Dec 30, 2019* + +Big thanks to the 22 contributors who made this release possible. + +### `@material-ui/core@v4.8.2` + +- [Badge] Fix doc about anchorOrigin (#18982) @ypresto +- [DialogContent] Add missing `dividers` class types (#18984) @NickCis +- [RadioGroup] Add useRadioGroup Hook (#18920) @NMinhNguyen +- [Slider] Fix discrete mark highlighting (#18993) @ulises-lara +- [Slider] Improve the pointer event logic (#19010) @oliviertassinari +- [TablePagination] Fix duplicate key error (#18988) @afzalsayed96 +- [TableSortLabel] Relax IconComponent prop requirements in TypeScript (#18936) @Igorbek +- [TableSortLabel] Sort asc by default (#19013) @oliviertassinari +- [l10n] Add Portuguese (pt-PT) locale (#18987) @hrafaelveloso + +### `@material-ui/styles@v4.8.2` + +- [styles] Fix jss StyleSheet attach() call (#19042) @mceIdo + +### `@material-ui/lab@v4.0.0-alpha.38` + +#### Breaking Changes + +- [Skeleton] Add wave animation support (#19014) @oliviertassinari + + ```diff + - + + + ``` + +#### Change + +- [Autocomplete] Fix option height border-box (#19000) @MariyaVdovenko +- [Autocomplete] Zero (0) integer key display throws (#18994) @hoop71 +- [Rating] Clear value if selected value is clicked (#18999) @ivowork +- [Rating] Add a demo with different icons (#19004) @hoop71 + +### Docs + +- [docs] Add TS demo for MenuPopupState (#18998) @eps1lon +- [docs] Add yarn install instructions in CONTRIBUTING.md (#18970) @hiteshkundal +- [docs] Clarify not all components have 'component' prop (#19015) @JamieS1211 +- [docs] Fix syntax error in palette customization example (#19008) @mumairofficial +- [docs] Fix typo in toggle-button.md (#19002) @noahbenham +- [docs] Update showcase lists (#19039) @typekev +- [docs] Fix url address in modules/watrerfall/Batcher.js (#18997) @hiteshkundal + +### Core + +- [core] Don't force a remote when listing prettier changes (#18794) @Janpot +- [core] Bump handlebars from 4.1.2 to 4.5.3 (#18989) @dependabot-preview +- [core] Batch small changes (#19016) @oliviertassinari +- [core] Batch small changes (#19012) @mbrookes + +## 4.8.1 +###### *Dec 24, 2019* + +Big thanks to the 24 contributors who made this release possible. + +### `@material-ui/core@v4.8.1` + +- [Drawer] Fix PaperProps className merge (#18866) @kristenmills +- [InputBase] Add rowsMin to typings (#18922) @lcswillems +- [Paper] Add a variant prop (#18824) @netochaves +- [Popover] Fix bug open animation (#18896) @KevinAsher +- [Select] Fix bug on focus in controlled open (#18857) @netochaves +- [TextField] onBlur event argument can be undefined (#18867) @abnersajr +- [Typography] Improve custom component types support (#18868) @fyodore82 +- [theme] Add warning, success and info colors to the palette (#18820) @r3dm1ke +- [l10n] Add Korean (ko-KR) locale (#18952) @inspiredjw +- [l10n] Add Azerbaijan (az-AZ) locale (#18859) @rommelmamedov +- [l10n] Add Czech (cs-CZ) and Slovak (sk-SK) locales (#18876) @char0n +- [l10n] Add Ukrainian (uk-UA) locale (#18832) @EvgenBabenko + +### `@material-ui/lab@v4.0.0-alpha.37` + +- [Skeleton] Delay the animation by 500ms (#18913) @bowann +- [TreeView] Improve RTL support (#18855) @eladex +- [TreeView] Support input in item child (#18894) @eggbread +- [Autocomplete] Add ListboxProps prop (#18887) @ChrisWiles +- [Autocomplete] Add blurOnSelect prop (#18827) @m4theushw +- [Autocomplete] Add forcePopupIcon prop (#18886) @SandraMarcelaHerreraArriaga +- [Autocomplete] Call onInputChange before onChange (#18897) @MarinePicaut +- [Autocomplete] Fix padding to make visual height consistent (#18851) @takutolehr +- [Autocomplete] Pass ListboxProps (#18916) @ChrisWiles +- [Autocomplete] Prevent focusing control / opening dropdown on clear (#18889) @Monbrey +- [Autocomplete] Support `ChipProps` prop (#18917) @ChrisWiles + +### Docs + +- [docs] Fix grammar issues in Babel plugin unwrap-createstyles (#18856) @RDIL +- [docs] Update the translations (#18865) @mbrookes + +### Core + +- [core] Batch small changes (#18961) @oliviertassinari + +## 4.8.0 +###### *Dec 14, 2019* + +Big thanks to the 29 contributors who made this release possible. + +Here are some highlights ✨: + +- 💄 Add orientation support to the button group (#18762) @SandraMarcelaHerreraArriaga. +- 💄 Add stacking support to the avatar (#18707) @oliviertassinari. +- 💄 Add disable elevation support to the button (#18744) @netochaves. +- 💄 Add size small support to the radio and checkbox (#18688) @SandraMarcelaHerreraArriaga. +- 🌎 Add 3 new locales (id-Id, ro-RO, nl-NL) @fuadinaqi, @raduchiriac, @JimKoene. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.8.0` + +- [Avatar] Add missing 'fallback' AvatarClassKey (#18717) @kLabz +- [ButtonGroup] Add orientation prop (#18762) @SandraMarcelaHerreraArriaga +- [Button] disableElevation prop (#18744) @netochaves +- [ClickAwayListener] Fix preventDefault logic (#18768) @jayknott +- [Container] Add disableGutters prop (#15872) @divyanshutomar +- [Drawer] Fix PaperProps className merge conflict (#18740) @siriwatknp +- [Modal] Fix scroll jump issue (#18808) @cvara +- [Popper] Fix position when changing state or updated (#18813) @Amagon96 +- [Radio][Checkbox] Add size="small" support (#18688) @SandraMarcelaHerreraArriaga +- [Select] Fix incorrect auto-sizing of native select (#18787) @IvanFrescas +- [Select] Fix listbox closing on Space keyUp (#18754) @eps1lon +- [Table] Add TableContainer component (#18699) @r3dm1ke +- [TextField] Fix missing size prop in TypeScript types @sarpt +- [TextareaAutosize] Add rowsMin prop (#18804) @lcswillems +- [ToggleButton] Add size prop type definition (#18778) @sarfata +- [Tooltip] Add `popperArrow` to `TooltipClassKey` (#18772) @umidbekkarimov +- [Typography] Fix lineHeight for h1-h5 (#18663) @LorenzHenk +- [l10n] Add Indonesian (id-Id) locale (#18817) @fuadinaqi +- [l10n] Add Romanian (roRO) locale (#18825) @raduchiriac +- [l10n] Add dutch translations (#18758) @JimKoene +- [useMediaQuery] Support custom window (#18741) @siriwatknp + +### `@material-ui/lab@v4.0.0-alpha.36` + +- [AvatarGroup] Introduce new component (#18707) @oliviertassinari +- [Autocomplete] Fix double change event issue (#18786) @tplai +- [Autocomplete] Add reason to onInputChange callback (#18796) @Tybot204 +- [Autocomplete] Expand virtualized example to have grouped items (#18763) @Janpot + +### Docs + +- [blog] November 2019 Update (#18805) @oliviertassinari +- [docs] Change `readOnly` to `disabled` in text-fields.md example (#18792) @sterjoski +- [docs] Fix chip outlined variant (#18806) @scotttrinh +- [docs] Improve Avatar fallback description (#18720) @mbrookes +- [docs] Improve homepage accessibility (#18745) @mbrookes +- [docs] Improve table of contents cmd+click (#18765) @Janpot +- [docs] Remove unused dependencies (#18753) @eps1lon +- [docs] Revert hiding duplicate link (#18767) @mbrookes +- [docs] Simplify MiniDrawer demo (#18814) @shc023 + +### Core + +- [core] Fix @material-ui/lab homepage url (#18823) @francisrod01 +- [core] Batch small changes (#18780) @oliviertassinari + +## 4.7.2 +###### *Dec 7, 2019* + +Big thanks to the 18 contributors who made this release possible. + +### `@material-ui/core@v4.7.2` + +- [Tooltip] Add missing classes type definitions (#18645) @dufia +- [Tooltip] Fix arrow placement in RTL languages (#18706) @mosijava +- [Tooltip] Fix onMouseOver event leak (#18687) @r3dm1ke +- [ClickAwayListener] Support other documents (#18701) @Izhaki +- [Avatar] Fallback images when fails to load (#18711) @netochaves +- [Chip] Support text-overflow ellipsis by default (#18708) @suliskh +- [Container] Add missing default theme props Type (#18654) @max10rogerio +- [Modal] Document the 'Focus trap' limitation (#18643) @PutziSan +- [Portal] Support any children node (#18692) @luffywuliao +- [TablePagination] Fix responsive display issue (#18668) @r3dm1ke +- [TextField] InputAdornment shouldn't wrap (#18641) @TrejGun +- [l10n] Add Polish translation (#18685) @eXtreme +- [theme] Fix wrong ResponsiveFontSizesOptions type (#18661) @pstadler +- [useMediaQuery] Fix hydrationCompleted true before hydrated (#18683) @toddmazierski + +### `@material-ui/lab@v4.0.0-alpha.35` + +- [Autocomplete] Add getOptionSelected prop (#18695) @DarkKnight1992 +- [Autocomplete] Add size prop (#18624) @oliviertassinari +- [Autocomplete] Prevent tag overflow (#18662) @fbarbare + +### Docs + +- [docs] Break up blog template into smaller sections (#18627) @mbrookes +- [docs] Update the translations (#18644) @mbrookes +- [docs] `ssrMatchMedia` required for client rending as well (#18680) @moshest + +### Core + +- [core] Batch changes (#18629) @oliviertassinari + +## 4.7.1 +###### *Dec 1, 2019* + +Big thanks to the 27 contributors who made this release possible. + +Here are some highlights ✨: + +- 🌎 Improve localization support. +- ✨ Export all the types from barrel index (#18306) @merceyz. +- 🔍 8 patches on the Autocomplete component. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.7.1` + +- [Backdrop] Comment on z-index use case (#18589) @meebix +- [Select] Improve response, react to mouse down (#17978) @SarthakC +- [l10n] Add Italian translation (#18507) @Angelk90 +- [l10n] Add Turkish translation (#18509) @yunusemredilber +- [l10n] Add svSE translations (Swedish) (#18591) @dluco- +- [l10n] Fix German translation (#18498) @cmfcmf +- [styles] Fix ThemeProvider requiring full theme (#18500) @eps1lon +- [useMediaQuery] Fix ssrMatchMedia requiring listener mixin (#18501) @eps1lon + +### `@material-ui/lab@v4.0.0-alpha.34` + +- [Skeleton] Fix non-breakable space (#18548) @gmltA +- [Rating] Improve mobile support (#18603) @aleccaputo +- [Autocomplete] Document value equality check (#18516) @ChawinTan +- [Autocomplete] Fix CSS specificity issue (#18578) @mr-bjerre +- [Autocomplete] Fix selecting undefined on updated options (#18611) @jellyedwards +- [Autocomplete] Fix typo in test (#18506) @TrejGun +- [Autocomplete] Improve icons display (#18520) @oliviertassinari +- [Autocomplete] Only call .focus() when necessary (#18584) @Davidasg180 +- [Autocomplete] Only trigger onInputChange when the value changes (#18571) @sclavijo93 +- [Autocomplete] Show loading text when there are no options (#18570) @sclavijo93 + +### Docs + +- [docs] Add monday.com to in-house ads (#18598) @mbrookes +- [docs] Fix bug in Popper component's Scroll playground example (#18562) @maprihoda +- [docs] Fix typo in media query docs (#18617) @rajnish307 +- [docs] Fix yarn start command (#18565) @andrestone +- [docs] Improve the SvgIcon documentation (#18560) @oliviertassinari +- [docs] Reduce confusion in picker link (#18566) @BGehrels +- [docs] Include mention to Persian in localization.md (#18513) @uxitten +- [docs] Update v3 migration guide for ExpansionPanel (#18612) @NMinhNguyen + +### Core + +- [test] Assert accessible name (#18609) @eps1lon +- [test] Improve merging tests for createMuiTheme (#18543) @eedrah +- [misc] Batch small changes (#18614) @mbrookes +- [core] Add react-is dependency (#18551) @HeadFox +- [core] Batch small changes (#18539) @oliviertassinari +- [core] Bump `@babel/*` deps (#18552) @eps1lon +- [core] Export everything from the second level (#18306) @merceyz +- [core] Fix dependabot not ignoring babel-plugin-preval (#18553) @eps1lon +- [core] Ignore url-loader >= 3 updates (#18639) @eps1lon + +## 3.9.4 +###### *Nov 28, 2019* + +### `@material-ui/core@v3.9.4` + +- [Portal] Fix circular PortalProps Types (#18602) + + Fix TypeScript 3.7 support + +## 4.7.0 +###### *Nov 22, 2019* + +Big thanks to the 27 contributors who made this release possible. + +Here are some highlights ✨: + +- 🌎 Add localization support (#18219) @soltanloo. +- 🔍 8 patches on the Autocomplete component. +- 💄 Add tooltip arrow support (#18323) @goleary. +- 📚 Display the demos on a white background (#18396) @oliviertassinari. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.7.0` + +- [l10n] Add localization (#18219) @soltanloo +- [l10n] Improve Russian translation (#18422) @gmltA +- [Avatar] Tip about what srcset can be used for (#18366) @uxitten +- [CardMedia] Use propTypes for "at least one"-check (#18384) @eps1lon +- [Chip] Document accessibility (#18271) @eps1lon +- [Collapse] Add support for unitless collapsedHeight (#18461) @weslenng +- [Grid] Infer `displayName` (#18481) @NMinhNguyen +- [HiddenCss] Fix warning when using custom breakpoints (#18382) @eps1lon +- [Modal] Prefer to lock scroll on body than html element (#18445) @andreasheim +- [Popper] Use context for RTL support (#18381) @MisterQH +- [Slider] Increase interaction area (#18429) @oliviertassinari +- [Slider] Make the slider work as intended when max%step !== 0 (#18438) @macfire10 +- [Snackbar] Fix timer restarting when parent component re-render (#18361) @weslenng +- [Tooltip] Add `arrow` prop (#18323) @goleary +- [Tooltip] Use hysteresis with the enterDelay (#18458) @oliviertassinari +- [getContrastText] Throw descriptive exception when passing falsy argument (#18383) @eps1lon + +### `@material-ui/lab@v4.0.0-alpha.33` + +- [Skeleton] Keep the size 1:1 to replaced text content (#18451) @macfire10 +- [SpeedDialIcon] Fix test for react 16.12 (#18379) @eps1lon +- [TreeView] Fix control state error (#18341) @joshwooding +- [Autocomplete] Add popperDisablePortal to classes (#18346) @nullberri +- [Autocomplete] Add tag keyboard navigation test (#18355) @oliviertassinari +- [Autocomplete] Better handle native browsers' autofill and autocomplete (#18376) @IanSmith89 +- [Autocomplete] Fix CreateFilterOptions definition (#18419) @alaumh +- [Autocomplete] Fix bug on disableOpenOnFocus prop (#18380) @netochaves +- [Autocomplete] Fix usage of Home/End keys (#18338) @weslenng +- [Autocomplete] Fix virtualization demo (#18455) @mandrin17299 +- [Autocomplete] Ignore object keys in default filter (#18480) @eggbread +- [lab] Bump material-ui/core version (#18354) @renatoagds + +### Docs + +- [docs] Add related project links (#18035) @MaximKudriavtsev +- [docs] Fix grammar in app-bar.md (#18362) @smilevideo +- [docs] Fix some markdown spec issue (#18428) @eps1lon +- [docs] Fix typo in autocomplete docs (#18343) @thomasdashney +- [docs] Fix useMediaQuery ssr implementation example (#18325) @carloscuesta +- [docs] Increase the contrast of the demos (#18396) @oliviertassinari +- [docs] Reduce .html response size (#18356) @oliviertassinari +- [docs] Remove outdated showcase (#18364) @LorenzHenk +- [docs] Update the translations (#18339) @mbrookes + +### Core + +- [GitHub] Fix fragment on link in PR template (#18370) @twgardner2 +- [Security] Bump https-proxy-agent from 2.2.2 to 2.2.4 (#18440) @dependabot-preview +- [core] Add displayName to contexts (#18468) @eps1lon +- [core] Batch changes (#18395) @oliviertassinari +- [core] Ignore babel-plugin-preval updates (#18415) @dependabot-preview +- [framer] Update after publication (#18340) @mbrookes +- [test] Check a11y tree inclusion in CI only (#18433) @eps1lon +- [test] Improve coverage (#18385) @eps1lon +- [utils] Simplify refType (#18437) @NMinhNguyen + +## 4.6.1 +###### *Nov 12, 2019* + +Big thanks to the 19 contributors who made this release possible. + +Here are some highlights ✨: + +- 🔍 12 patches on the Autocomplete component. +- 👨‍🎤 Add Framer X support (#17797) @mbrookes. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.6.1` + +- Add Framer X wrapper components (#17797) @mbrookes +- [ButtonBase] Fix space calling onClick on keyDown instead of keyUp (#18319) @eps1lon +- [ButtonBase] Test keyboard events of child elements (#18318) @eps1lon +- [ButtonGroup] Fix typings for disabled classes property (#18274) @xZliman +- [Select] Fix id not being present when native (#18257) @eps1lon +- [TextField] Add demo for color prop (#18220) @Studio384 +- [core] Fix createMuiTheme side-effect (#18247) @FabianSellmann +- [core] Increase specificity to get correct style (#18238) @oliviertassinari + +### `@material-ui/lab@v4.0.0-alpha.32` + +#### Breaking Changes + +- [Autocomplete] Fix Multiple tag delete action (#18153) @tkanzakic + +```diff +diff --git a/docs/src/pages/components/autocomplete/FixedTags.js b/docs/src/pages/components/autocomplete/FixedTags.js +index 757d66a97..a4f36edd5 100644 +--- a/docs/src/pages/components/autocomplete/FixedTags.js ++++ b/docs/src/pages/components/autocomplete/FixedTags.js +@@ -11,17 +11,9 @@ export default function FixedTags() { + options={top100Films} + getOptionLabel={option => option.title} + defaultValue={[top100Films[6], top100Films[13]]} +- renderTags={(value, { className, onDelete }) => ++ renderTags={(value, getTagProps) => + value.map((option, index) => ( +- ++ + )) + } + style={{ width: 500 }} +``` + +#### Changes + +- [TreeView] Add controlled API to TreeView (#18165) @joshwooding +- [TreeView] Support empty array (#18259) @tomasbruckner +- [Rating] Add random name when none is provided (#18284) @Vitao18 +- [SpeedDial] Fix crash when using custom style in FabProps (#18320) @weslenng +- [Autocomplete] Add closeIcon and popupIcon props (#18266) @AbdallahElroby +- [Autocomplete] Add controllable input value API (#18285) @oliviertassinari +- [Autocomplete] Add hook customization demo (#18242) @oliviertassinari +- [Autocomplete] Fix Enter key clearing selected option (#18229) @chapmanio +- [Autocomplete] Fix popup placement (#18289) @andreasheim +- [Autocomplete] Fix the errors reported by Wave (#18283) @oliviertassinari +- [Autocomplete] Improve accessibility (#18204) @oliviertassinari +- [Autocomplete] Improve focus logic (#18286) @oliviertassinari +- [Autocomplete] Remove aria-activedescendant (#18281) @oliviertassinari +- [Autocomplete] Fix missing inputValue (#18268) @AbdallahElroby +- [Autocomplete] Handle Opera fullscreen mode (#18275) @xZliman + +### Docs + +- [blog] October 2019 Product Update (#18239) @oliviertassinari +- [examples] Fix Gatsby broken example (#18321) @weslenng +- [docs] Fix error in Select options (#18224) @eedrah +- [docs] Fix show all rows in table pagination (#18260) @markusf1 +- [docs] Improve demo clarity by using form elements (#18241) @jcuenod +- [docs] Replace alert with console.info (#18316) @eps1lon +- [docs] Replace react-inspector with custom TreeView implementation (#17662) @eps1lon + +### Core + +- [core] Add funding entry to manifests (#18250) @eps1lon +- [core] Remove nodemod (#18222) @oliviertassinari +- [test] Misc cleanup (#18261) @eps1lon +- [core] Batch changes (#18264) @oliviertassinari + +## 4.6.0 +###### *Nov 5, 2019* + +Big thanks to the 26 contributors who made this release possible. + +Here are some highlights ✨: + +- 🔍 8 patches on the Autocomplete component that was released last week. + +The positive feedback we had this early version of the component is encouraging. +Developers should be able to rely on it in production within a couple of weeks (from a bug perspective). +We will take more time to stabilize the API, a couple of months. + +- 📚 Split the TextField demos into smaller demos (#17483) @joshwooding +- 💄 Add a color prop to the TextField (#17891) @ValentinH +- 💄 Add square and rounded variant to the Avatar (#18116) @mattdotam +- 🐛 Fix Chip <> Avatar rendering issue (#18156) + +By chance, it's the third year in a row we release on november 5th. +The number of contributors involved, for a similar one-week period, has grown from 12 contributors (2017) to 16 contributors (2018) to 26 contributors (2019). +We are proud of the community. Let's keep this trend going 🚀. + +### `@material-ui/core@v4.6.0` + +- [Avatar] Add square variant and documentation (#18116) @mattdotam +- [Button] Fix horizontal padding on small button with icon (#18118) @vkasraj +- [Chip] Add ripple when clickable (#17829) @Tarun047 +- [Chip] Fix Avatar CSS issue (#18156) @oliviertassinari +- [Drawer] Improve "ResponsiveDrawer" demo (#18045) @gorjan-mishevski +- [ExpansionPanel] Use context instead of cloneElement (#18085) @eps1lon +- [InputBase] Fix onChange event handler callback of inputProps (#18131) @sjsingh85 +- [OutlinedInput] Simplify customizations (#18127) @gregjoeval +- [Slider] Improve UX for pointing device with limited accuracy (#18174) @oliviertassinari +- [Slider] Increase hover hitbox for thumb (#18074) @eps1lon +- [SwipeableDrawer] Only trigger a swipe when appropriate (#17993) @leMaik +- [TextField] Add support for "secondary" color (#17891) @ValentinH +- [TextField] Fix label not being associated with native select (#18141) @eps1lon +- [TextField] Fix typo in FromControl warning (#18129) @xuanvan229 +- [types] Fix IsEmptyInterface with optional members (#18148) @amcasey +- [types] Simplify some of the conditional types (#18128) @amcasey + +### `@material-ui/styles@v4.6.0` + +- [styles] Fix props based styles callback not including defaultProps (#18125) @salmanm + +### `@material-ui/lab@v4.0.0-alpha.31` + +- [Autocomplete] Add disabled prop (#18195) @m4theushw +- [Autocomplete] Fix aria-controls and aria-activedescendant (#18142) @eps1lon +- [Autocomplete] Fix crash with freeSolo and rich options (#18161) @oziniak +- [Autocomplete] Fix disableListWrapp affecting initial focus (#18162) @eps1lon +- [Autocomplete] Fix display in modal (#18160) @oliviertassinari +- [Autocomplete] Fix multiple blur/focus crash (#18117) @itayyehezkel +- [Autocomplete] Fix typo + types (#18096) @NaridaL +- [Autocomplete] Rename autoHightlight prop to autoHighlight (#18137) @tkanzakic +- [TreeView] Change when node map is built (#18154) @joshwooding +- [SpeedDial] Fix fab items alignment (#18084) @itayyehezkel + +### Docs + +- [docs] Add ScaffoldHub to ads and example projects (#18071) @mbrookes +- [docs] Add TagSpaces to the showcase (#18144) @uggrock +- [docs] Add warning disabled button in Safari (#18072) @itayyehezkel +- [docs] Break up TextField demos (#17483) @joshwooding +- [docs] Fix typo (#18090) @mtsmfm +- [docs] Fix various a11y issues reported by lighthouse (#18146) @eps1lon +- [docs] Force usage of block language (#18069) @mtsmfm +- [docs] Improve TypeScript support of Next.js examples (#18088) @Tokenyet +- [docs] Move "TextField" section higher in the "Selects" page (#17643) @croraf +- [docs] Rename interface headCell to HeadCell (#18093) @EngMoathOmar +- [docs] Update notification v4.5.2 @oliviertassinari + +### Core + +- [test] Build all `@material-ui/*` packages for Codesandbox CI (#18100) @eps1lon +- [test] Fix tests failing on subsequent runs in watchmode (#18076) @eps1lon +- [test] Fix tests polluting DOM (#18163) @eps1lon +- [core] Batch small changes (#18041) @oliviertassinari +- [core] Batch small changes (#18155) @oliviertassinari + +## 4.5.2 +###### *Oct 28, 2019* + +Big thanks to the 48 contributors who made this release possible! + +Here are some highlights ✨: + +- 🔍 Introduce a new Autocomplete component in the lab to support the autocomplete, combobox and multi-select use cases (#17037) @dreamsinspace. + + This [new component](https://material-ui.com/components/autocomplete/) will replace the [third-party integration examples](https://material-ui.com/components/integrated-autocomplete/) once it graduates from the lab to the core. + It was one of the [most requested features](https://twitter.com/MaterialUI/status/1148901411180163073) (by number of 👍 on the corresponding issue). + +- 📚 Show the JSX by default for small examples (#17831) @mbrookes. +- ♿️ Improve Gatsby's Modal support (#17972) @sreetej1998. +- 🐛 Better support Preact (#18027) @glromeo. +- 💅 Improve Chrome autofill dark theme support (#17863) @MAkerboom. +- 📚 Add new context menu demo (#17839) @SarthakC. + +### `@material-ui/core@v4.5.2` + +- [Avatar] Revert #17694, correct the API docs, add tests (#18026) @mbrookes +- [Checkbox] Add TS demo for FormControlLabelPosition (#17964) @burtyish +- [Dialog] Fix labelledby and describedby placement (#18032) @eps1lon +- [Dialog] Reduce margins (#17867) @rahulkotha18 +- [ExpansionPanelSummary] Test in StrictMode (#17873) @eps1lon +- [FormControlLabel] Add missing CSS class keys to TS (#17963) @itayyehezkel +- [Link] Warn when using plain function component in `component` (#17825) @Nikhil-Pavan-Sai +- [ListSubheader] Reduce specificity of typescript type (#17715) @sakulstra +- [Menu] Add new context menu demo (#17839) @SarthakC +- [Modal] Fix tabIndex customization (#17939) @Cyrus-d +- [Modal] Improve Gatsby support (#17972) @sreetej1998 +- [Popper] Revert position fix (#17914) @rahulkotha18 +- [Select] Add labelId to implement proper labelling (#17892) @eps1lon +- [Select] Better support Preact (#18027) @glromeo +- [Select] Document how values are compared (#17912) @DustinRobison +- [Slider] Apply the disabled pseudo class on the thumb too (#18011) @hoop71 +- [Slider] Format value passed to ValueLabelComponent (#17985) @hoop71 +- [SnackbarContent] Convert unit tests to testing-library (#17942) @emilyuhde +- [Snackbar] Change default role from 'alertdialog' to 'alert' (#17897) @emilyuhde +- [SwipeableDrawer] Change close swipe behavior and fix touch bug (#17941) @leMaik +- [Switch] Fix hover style on mobile (#18034) @SarthakC +- [Tab] Run tests in StrictMode (#18037) @eps1lon +- [TablePagination] Support display of all rows (#17885) @SarthakC +- [Table] Demo multiple group headers (#17933) @rayy-lo +- [Table] Fix sticky header interaction with checkboxes (#17968) @Lavoaster +- [Table] Improve RTL virtualized demo support (#18038) @FabianKielmann +- [TextField] Improve Chrome autofill dark theme support (#17863) @MAkerboom +- [TextareaAutoSize] Add ref prop (#17835) @Tarun047 + +### `@material-ui/styles@v4.5.2` + +- [styles] Allow ref on withTheme components in TS (#17695) @ianschmitz + +### `@material-ui/system@v4.5.2` + +- [system] Support style.transform return React.CSSProperties (#18030) @yoyooyooo + +### `@material-ui/lab@v4.0.0-alpha.30` + +- [Autocomplete] Introduce new component (#17037) @dreamsinspace + +### Docs + +- [docs] Add TS demo for DynamicCSS (#17994) @netochaves +- [docs] Add TS demo for DynamicCSSVariables (#17983) @netochaves +- [docs] Add TS demo for MaterialTable (#17938) @schapka +- [docs] Add TS demo for WithWidth (#17930) @burtyish +- [docs] Add TS demos for SimpleNoSsr and FrameDeferring (#17913) @ganes1410 +- [docs] Add TS demos for SplitButton in components/buttons (#17862) @rahmatrhd +- [docs] Add demo for actions in ExpansionPanelSummary (#17969) @ayliao +- [docs] Add demo for prominent app bar (#17894) @burtyish +- [docs] Add notification about the date picker survey @oliviertassinari +- [docs] Clarify aria role of Switch (#17870) @eps1lon +- [docs] Document mui-rff (#17943) @lookfirst +- [docs] Explain checks in Contributing (#18033) @eps1lon +- [docs] Fix "Unknown" typo (#17911) @qmertesdorf-terratrue +- [docs] Fix RTL-toggle tooltip bug in app bar (#17865) @flurmbo +- [docs] Fix a typo while reading the doc :) (#18040) @daemonsy +- [docs] Fix grammar in docs (#17889) @DDDDDanica +- [docs] Fix typo in Paperbase theme (#17984) @DavidMoraisFerreira +- [docs] Fix typos and grammar in getting started (#17880) @tonyjmartinez +- [docs] Improve TabelCell description (#17979) @uxitten +- [docs] Improve fixed app bar placement section (#17896) @adeelibr +- [docs] Lazy load landing page images (#17827) @eps1lon +- [docs] Optimize images (#18025) @MichaelDeBoey +- [docs] Prevent layout shift when rendering ads (#17893) @Janpot +- [docs] README: change material design link to use material.io (#17967) @RDIL +- [docs] Remove unused styles in EnhancedTable demo (#17902) @FeynmanDNA +- [docs] Replace negative actions from fab examples (#17926) @nuragic +- [docs] September 2019 Update (#17852) @oliviertassinari +- [docs] Show the JSX by default for small examples (#17831) @mbrookes +- [docs] Update the translations (#18042) @mbrookes +- [docs] Workaround next.js AMP support limitation (#18020) @fbnklmnvds +- [docs] document use of theme.mixins.toolbar & when using Appbar variant fixed (#17878) @adeelibr + +### Core + +- [core] Batch small changes (#17910) @oliviertassinari +- [core] Custom deepmerge implementation (#17982) @oliviertassinari +- [core] Ignore meta, ctrl and alt in keyboard modality detection (#17924) @adeelibr +- [core] Reduce eslint-disables (#17841) @eps1lon +- [core] Remove redundant production check (#17929) @ellisio +- [test] Add codesandbox CI config (#17874) @eps1lon +- [test] Add silent option to CodeSandbox CI config (#18024) @CompuIves +- [test] Only build component packages for codesandbox (#17976) @eps1lon +- [test] Reduce ByRole calls (#18015) @eps1lon +- [test] Run tests periodically with `react@next` (#18008) @eps1lon +- [test] Use Performance implementation of vendors (#18073) @eps1lon + +## 4.5.1 +###### *Oct 12, 2019* + +Big thanks to the 28 contributors who made this release possible! + +Here are some highlights ✨: + +- 📚 Change imports from @material-ui/styles to @material-ui/core/styles (#17447) @mnemanja + + The presence of two almost identical import paths has been a source of confusion: `@material-ui/styles` and `@material-ui/core/styles`. + Starting with v4.5.1, the documentation mentions `@material-ui/core/styles` as much as possible. + + ```diff + -import { makeStyles } from '@material-ui/styles'; + +import { makeStyles } from '@material-ui/core/styles'; + ``` + + This change removes the need to install the `@material-ui/styles` package directly. + It prevents the duplication of `@material-ui/styles` in bundles and avoids confusion. + You can [learn more about the difference](https://material-ui.com/styles/basics/#material-ui-core-styles-vs-material-ui-styles) in the documentation. +- ♿️ Improve the accessibility of the table and select components (#17696, #17773) @adeelibr, @eps1lon. +- 📊 Launch a [developer survey](https://www.surveymonkey.com/r/5XHDL76) as a precursor to a major DatePicker enhancement effort. +- 💄 Add support for different [slider track mode](https://material-ui.com/components/slider/#track) (#17714) @slipmat. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.5.1` + +- [AppBar] Fix display of elevation with position static (#17819) @sreetej1998 +- [Avatar] Allow to set src and children (#17694) @lcswillems +- [BottomNavigationAction] Test in StrictMode (#17837) @eps1lon +- [ButtonBase] Document how to use cursor not-allowed (#17778) @slipmat +- [Button] Add missing class keys for icon sizing (#17677) @mvestergaard +- [Button] Fix duplicate class names (#17690) @netochaves +- [Dialog] Forward the id in example (#17678) @ricsam +- [Modal] Remove mentions of legacy classes (#17798) @eps1lon +- [Popover] Add root class (#17817) @jayesh-kaza +- [Popper] Fix placement update logic (#17781) @hoop71 +- [Portal] Remove redundant circular PortalProps import (#17676) @le0nik +- [Select] Fix opening select requiring double enter with NVDA (#17773) @eps1lon +- [Select] Simplify blur logic (#17299) @eps1lon +- [Select] Add missing y to setDisplaNode (#17716) @sakulstra +- [Select] Warn for unmatched value (#17691) @asownder95 +- [Slider] Add support for removed and inverted track (#17714) @slipmat +- [Slider] Fix drag interruption when leaving browser (#17765) @hoop71 +- [Table] Add aria-label & caption in table demos (#17696) @adeelibr + +### `@material-ui/icons@v4.5.1` + +- [icons] Introduce a new GitHub brand icon + +### `@material-ui/lab@v4.0.0-alpha.29` + +- [SpeedDial] Pass event and reason to onOpen, onClose (#17783) @lsnch + +### `@material-ui/system@v4.5.1` + +- [system] Fallback to value if theme's value is an array and index missing (#17661) @stasiukanya + +### Docs + +- [docs] Add Customization/Components TS demo (#17788) @limatgans +- [docs] Add Media Query TS demo (#17766) @lksilva +- [docs] Add TS demos for guides/interoperability (#17804) @limatgans +- [docs] Add classNames TS demo (#17771) @lksilva +- [docs] Add component demos in ts (#17790) @lksilva +- [docs] Add dynamic class name TS demo (#17793) @lksilva +- [docs] Add useWidth TS demo (#17770) @lksilva +- [docs] Added TS Demos for component/toggle-button (#17822) @limatgans +- [docs] Better strict mode switch (#17684) @eps1lon +- [docs] Change imports from @material-ui/styles to @material-ui/core/styles (#17447) @mnemanja +- [docs] Extend size-snapshot (#17633) @eps1lon +- [docs] Fix react-number-format example for FormattedInputs (#17675) @s-yadav +- [docs] Fix typo (#17698) @Ceejaymar +- [docs] Fix typo and improve consistency (#17821) @stasiukanya +- [docs] Fix typo in versions.md (#17782) @raymondsze +- [docs] Fixed typo in Components/Modal (#17704) @lzhuor +- [docs] Improve contributing guidelines (#17653) @oliviertassinari +- [docs] Mentioned CSS required for disabling transitions (#17802) @burtyish +- [docs] Migrate Globals demo to TypeScript (#17785) @limatgans +- [docs] Migrate Palette demo to TypeScript (#17683) @limatgans +- [docs] Prepare the DatePicker developer survey notification (#17805) @oliviertassinari +- [docs] Update "Who's using" (#17830) @mbrookes +- [docs] Update notification @oliviertassinari +- [docs] Update useMediaQuery example to avoid confusion with print (#17642) @epeicher + +### Core + +- [ci] Fix size comparison sort order (#17800) @eps1lon +- [core] Batch small changes (#17673) @oliviertassinari +- [core] Batch small changes (#17807) @oliviertassinari +- [test] Fix test_browser timing out (#17763) @eps1lon +- [test] Use testing-library for ToggleButton* tests (#17768) @eps1lon + +## 4.5.0 +###### *Oct 2, 2019* + +Big thanks to the 20 contributors who made this release possible! + +Here are some highlights ✨: + +- 💄 Add startIcon and endIcon props for the button (#17600) @mbrookes + + ```jsx + import DeleteIcon from '@material-ui/icons/Delete'; + + + ``` + +- 🔐 Add support for Chrome autofill (#17436, #17552) @croraf +- 💅 Adjust table styles to match spec (#17388) @kybarg +- 💅 Adjust menu styles to match spec (#17332) @damir-sirola +- 💅 Adjust chip styles to match spec (#17584) @oliviertassinari +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.5.0` + +- [theme] Allow an arbitrary number of elevations (#17659) @millnitzluan +- [ButtonGroup] Fix missing divider if background color is set (#17648) @neon98 +- [ButtonGroup] Support text variant (#17529) @Dhruvi16 +- [Button] Add startIcon / endIcon props (#17600) @mbrookes +- [Button] Improve horizontal padding (#17640) @mbrookes +- [Button] Increase elevation on hover when contained (#17537) @eps1lon +- [CardMedia] Add separate rules for Image components (#17591) @neon98 +- [Chip] Update style to match the specification (#17584) @oliviertassinari +- [InputBase] Fix remaining issues with Chrome autofill (#17552) @croraf +- [MenuItem] Update size on desktop to match spec (#17332) @damir-sirola +- [Menu] Fix menu being focused instead of item when opening (#17506) @eps1lon +- [Menulist] Add autoFocusItem for initial focus control (#17571) @eps1lon +- [SwipeableDrawer] Calculate transition duration based on swipe speed (#17533) @dan8f +- [Table] Adjust table styles to the latest specs (#17388) @kybarg +- [Tabs] Add new updateScrollButtonState() action (#17649) @neon98 +- [TextareaAutosize] Improve line computation and avoid infinite loop (#17652) @neon98 + +### `@material-ui/lab@v4.0.0-alpha.28` + +- [Slider] Remove from the lab (#17528) @oliviertassinari + + ```diff + -import { Slider } from '@material-ui/lab'; + +import { Slider } from '@material-ui/core'; + ``` + +### `@material-ui/system@v4.5.0` + +- [system] Fix props being required from `style` function (#17534) @abukurov + +### `@material-ui/codemod@v4.5.0` + +- [styles] Bump jss dependencies to v10.0.0 stable (#17536) @eps1lon + +### `@material-ui/codemod@v4.5.0` + +- [codemod] Fix build importing esm version of babel/runtime (#17561) @merceyz + +### Docs + +- [docs] Batch small fixes (#17527) @oliviertassinari +- [docs] Fix CHANGELOG format @oliviertassinari +- [docs] Fix calculation of height for empty rows (#17657) @Teloah +- [docs] Improve /styles vs /core/styles description (#16473) @bigtone1284 +- [docs] Improve CSP nonce docs (#17594) @johnnyreilly +- [docs] Improve Contributing.md (#17597) @croraf +- [docs] Improve bundle size option 2 advantage wording (#17577) @ilanbm +- [docs] Improve testing readme (#17557) @eps1lon +- [docs] Move GOVERNANCE.md and ROADMAP.md files from root (#17531) @croraf +- [docs] Remove already moved SUPPORT.md file (#17525) @croraf +- [docs] Remove an un-used className in template Blog (#17587) @FeynmanDNA +- [docs] Reword icons page (#17558) @croraf +- [examples] Fix CRA start script (#17598) @lychyi + +### Core + +- [core] Fix missing peer dependency warning (#17632) @eps1lon +- [core] Re-export all the styles modules from core (#17419) @merceyz +- [core] Warn if anchor element is not visible (#17599) @eAmin +- [dependencies] Put dependabot config in vcs (#17651) @eps1lon +- [test] Bump `@testing-library/dom` (#17573) @eps1lon +- [test] Isolate each test case using testing-library (#17394) @eps1lon +- [ci] Use azure aws tasks instead of aws-sdk (#17631) @eps1lon +- [Select] Make internal tests public (#17538) @eps1lon + +## 4.4.3 +###### *Sep 22, 2019* + +Big thanks to the 23 contributors who made this release possible! +This is a stability release. + +### `@material-ui/core@v4.4.3` + +- [TextField] Handle Chrome autofill (#17436) @croraf +- [ButtonBase] Fix blurry text issue (#17453) @chibis0v +- [CircularProgress] Fix centering (#17482) @fiws +- [Chip] Load the right version of Avatar (#17469) @Maxim-Mazurok +- [TablePagination] Merge root classes properly (#17467) @DavidHenri008 +- [Box] Fix demo item name (#17523) @Skaronator +- [Breadcrumbs] Improve API docs (#17468) @eps1lon +- [Menu] Isolate more integration tests (#17490) @eps1lon +- [SelectInput] Use `@testing-library` for test (#17390) @eps1lon + +### `@material-ui/styles@v4.4.3` + +- [styles] Bump jss dependencies to 10.0.0-alpha.25 (#17520) @eps1lon +- [core] Replace warning with manual console.error (#17404) @eps1lon + +### `@material-ui/lab@v4.0.0-alpha.27` + +- [TreeItem] Use the ‘endIcon’ prop where appropriate (#17488) @Chocolatl +- [Skeleton] Make default CSS display mode to block (#17406) @ahtcx +- [SpeedDial] Rework part of the logic (#17301) @hashwin + +### `@material-ui/icons@v4.4.3` + +- [docs] Update README.md + +### `@material-ui/system@v4.4.3` + +- [core] Replace warning with manual console.error (#17404) @eps1lon + +### Docs + +- [examples] Add a Gatsby Theme example (#17411) @hupe1980 +- [docs] Add a customization example with ToggleButton (#17401) @nrkroeker +- [docs] Add a note in disabled tooltip (#17421) @konekoya +- [docs] Add a support page (#17437) @oliviertassinari +- [docs] Add demo for vertical dividers (#17457) @nrkroeker +- [docs] Add synonyms for brand icons (#17455) @mbrookes +- [docs] August Update (#17439) @oliviertassinari +- [docs] Batch small changes (#17435) @oliviertassinari +- [docs] CONTRIBUTING.md reword branch structure, remove Build, Yarn Link (#17501) @croraf +- [docs] Clarify props spread for ListItem when button flag is set (#17466) @rossmmurray +- [docs] Fix Popper demo link typo (#17522) @mbrookes +- [docs] Fix a typo in CONTRIBUTING.md (#17400) @konekoya +- [docs] Fix english language link (#17526) @croraf +- [docs] Fix heading format in CONTRIBUTING.md (#17460) @paras151 +- [docs] Improve in-site search (#17450) @eps1lon +- [docs] Improve the documentation covering react-router (#17343) @MelMacaluso +- [docs] Move BACKERS.md file (#17508) @croraf +- [docs] Remove Access to premium modules from the support page (#17489) @oliviertassinari +- [docs] Spelling mistake (#17500) @jehuamanna +- [docs] Update translations (#17509, #17438) @mbrookes +- [docs] Use Button for language menu (#17487) @mbrookes +- [docs] Use Suspense for lazy loading algolia (#17451) @eps1lon +- [docs] Wrong URL for spacing in PT (#17502) @renatoagds + +### Core + +- [core] Prevent empty useEffect in production (#17420) @merceyz +- [core] Replace warning with manual console.error (#17404) @eps1lon +- [core] Warn when changing between controlled uncontrolled (#17422) @kmhigashioka + +## 4.4.2 +###### *Sep 11, 2019* + +Big thanks to the 7 contributors who made this release possible! +This is a quick release after v4.4.1 to solve 3 regressions. + +### `@material-ui/core@v4.4.2` + +- [Grid] Remove lab import @oliviertassinari +- [Radio] Add zIndex to SwitchBase (#17389) @andokai +- [TextField] Fix incorrect focus handler types for FormControl (#17378) @eps1lon +- [StepButton] Fix overlap with StepContent (#17374) @rossmmurray + +### Docs + +- [docs] Add material-ui-flat-pagination to related projects (#17372) @szmslab +- [docs] Add tubular-react in related project (#17371) @geoperez +- [docs] Add tubular-react to tables related projects (#17382) @geoperez +- [docs] Fix color tool crash (#17380) @jsjain + +### Core + +- [core] Bump `@babel/*` deps (#17363) @eps1lon + +## 4.4.1 +###### *Sep 8, 2019* + +Big thanks to the 21 contributors who made this release possible! + +Here are some highlights ✨: + +- 💄 Introduce 10 new brand icons and 61 new official Material Design icons (#17257, #17274) @colemars and @mbrookes. +- ⚛️ Move a few descriptions of the props to TypeScript (#17300) @merceyz. + This change allows the IDEs to display the props' descriptions in place, without having to go to the documentation. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.4.1` + +- [Badge] Improve shape of 2 digit badge (#17247) @mbrookes +- [Cars] Fix export issue for consistency (#17354) @yikkok-yong +- [Modal] Support theme default props (#17337) @ianschmitz +- [Rating] Fix a few issues (#17270) @oliviertassinari +- [Select] Changes the default input based on variant prop (#17304) @netochaves +- [Select] Follow spec with placement of dropdown icon (#17303) @lonssi +- [Slider] Add getAriaLabel prop (#17240) @city41 +- [SvgIcon] Fix color type definition including default (#17288) @merceyz +- [Table] Fix sticky header table with buttons/inputs (#17285) @Studio384 +- [TextareaAutosize] Show scrollbar when rowsMax is exceeded (#17310) @Shubhamchinda +- [useMediaQuery] Workaround Safari wrong implementation of matchMedia (#17315) @momentpaul + +### `@material-ui/icons@v4.4.1` + +- [icons] Add social icons (#17274) @mbrookes +- [icons] Refresh material icons (#17259) @colemars +- [icons] Update script to use latest json file (#17257) @colemars + +### `@material-ui/styles@v4.4.1` + +- [styles] Fix global classnames being disabled in deserialized themes (#17345) @eps1lon +- [styles] Support augmenting a default theme type (#16777) @merceyz + +### `@material-ui/lab@v4.0.0-alpha.26` + +- [lab] Generate proptypes from type definitions (#17300) @merceyz +- [ToggleButton] Improve accessibility (#17290) @mbrookes +- [ToggleButton] Update TypeScript class keys (#17278) @ljvanschie + +### Docs + +- [misc] Batch small changes (#17316) @oliviertassinari +- [docs] Fix CHANGELOG.md (#17331) @skirunman +- [docs] Add new synonyms for Material Icons (#17272) @mbrookes +- [docs] Add script to merge MD icon tags with synonyms (#17312) @mbrookes +- [docs] Batch small changes (#17268) @oliviertassinari +- [docs] Fix more SEO issue report @oliviertassinari +- [docs] Add typescript version of paperbase theme (#17213) @eps1lon +- [docs] Improve /customization/typography/ (#17307) @meebix +- [docs] Improve grammar in snackbars (#17296) @chaseholdren +- [docs] Notification for v4.4.0 @oliviertassinari +- [docs] Only server-side render the popular languages (#17249) @oliviertassinari +- [docs] Reduce the use of "our", "We"... (#17347) @mbrookes +- [docs] Remove section about modal performance (#17284) @eps1lon +- [docs] Remove unnecessary any cast (#17292) @eps1lon +- [docs] Remove wrong alternate languages (#17311) @oliviertassinari +- [docs] Sync JavaScript version with TypeScript @oliviertassinari +- [docs] Update translations (#17351) @mbrookes +- [docs] Update translations.json (#17266) @mbrookes + +### Core + +- [core] Add ref type to every component (#17286) @eps1lon +- [core] Fix typo contaniners -> containers (#17280) @charlax +- [core] Fix various dependency issues (#17317) @eps1lon +- [core] Generify props with component property (#16487) @ypresto +- [core] Guard against bad Symbol polyfills (#17336) @briandelancey + +## 4.4.0 +###### *Aug 31, 2019* + +Big thanks to the 29 contributors who made this release possible! + +Here are some highlights ✨: + +- ✨ Add fixed Table header Support (#17139) @egerardus. +- 🌳 Accept any label in TreeView (#17080) @oliviertassinari. +- 🏝 Add standalone ToggleButton mode (#17187) @simshaun. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.4.0` + +- [Backdrop] Render children inside div (#17115) @dominictwlee +- [Button] Fix typo in demo text (#17230) @jasonkylefrank +- [Button] Remove code leftover from < v4 (#17232) @sakulstra +- [ButtonGroup] Fix border color when disabled and contained (#17109) @ryanburr +- [CardActionArea] Fix 'border-radius' (#17221) @stasiukanya +- [CircularProgress] Document String format for size prop (#17081) @devsumanmdn +- [Drawer] Include ref when variant=persistent (#17090) (#17091) @ZachStoltz +- [Menu] Include 'list' in class key (#17205) @rbrishabh +- [MenuItem] Add missing dense classkey (#17103) @JapuDCret +- [Popover] Fix anchorEl positioning within popup window (#17128) @zekehernandez +- [Popover] Fix update position action (#17097) @netochaves +- [RadioGroup] Make value accept any (#17132) @cmeeren +- [Slider] Avoid mutating user's value prop (#17085) @elmeerr +- [Switch] Fix rendering in IE 11 and Safari (#17095) @rbrishabh +- [Table] Add sticky header support (#17139) @egerardus +- [TextField] Specs alignment (#17192) @elmeerr +- [TextField] Update outlined label when prop changes (#17217) @Shubhamchinda +- [Tooltip] Fix interactive + enterDelay combination (#17174) @kiransiluveru +- [Typography] noWrap requires display block (#17206) @rbrishabh +- [Badge] Add alignment options to badges (#17204) @ahtcx +- [LinearProgress] Make color adapt to theme type (#17219) @ahtcx + +### `@material-ui/lab@v4.0.0-alpha.25` + +- [ToggleButton] Improve customizability (#17187) @simshaun +- [TreeView] Support node label (#17080) @oliviertassinari +- [Rating] Add Custom prop-type to prop name (#17078) @netochaves +- [Rating] Improve signature in docs (#17093) @cmeeren + +### Docs + +- [docs] Better document the ref props in the API (#17198) @oliviertassinari +- [docs] Fix edit dependencies extraction (#17120) @Shubhamchinda +- [docs] Fix page rendering on Crowdin (#17135) @mbrookes +- [docs] Fix popover demo event.target is null (#17104) @spaceexperiment +- [docs] Fix typo in modal demo (#17122) @Shubhamchinda +- [docs] Implement in-context translation (#17040) @mbrookes +- [docs] Improve custom styles of the demos (#17118) @uxitten +- [docs] Improve enhanced table variable name (#17141) @keiohtani +- [docs] Improve style of the demos (#17218) @uxitten +- [docs] Minor Update to remove "n°" notations (#17200) @skube +- [docs] Missing degree/option symbol (#17189) @skube +- [docs] New translations (#17134) @mbrookes +- [docs] Remove unecessary createStyles in TypeScript Tabs demo (#17164) @Imballinst +- [docs] Require less strict tsconfig (#17214) @eps1lon +- [examples] Fix warning in next.js example (#17133) @Janpot +- [examples] Fix warnings Container in _app.js with Next.js (#17181) @saltyshiomix + +## 4.3.3 +###### *Aug 21, 2019* + +Big thanks to the 22 contributors who made this release possible! + +Here are some highlights ✨: + +- 🔍 Introduce a [material icons search](https://material-ui.com/components/material-icons/) (#16956). +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.3.3` + +- [AppBar] Add back to top demo (#17062) @oliviertassinari +- [CardHeader] Remove mention of children from API docs (#17045) @cmeeren +- [Dialog] Add support for a Dialog without a DialogTitle (#16980) @megos +- [Divider] Add vertical support (#17063) @oliviertassinari +- [Grid] Better support custom theme spacing values (#17005) @Workvictor +- [Modal] Add transition documentation (#17059) @oliviertassinari +- [Select] Hide SVG icon for native multiple select (#16992) @craigmjackson +- [Slider] Fix mouse enter edge case for Firefox (#16986) @Astrantia +- [Slider] Hide mark labels to screen readers (#17024) @Patil2099 +- [Tabs] Fix issue where scrollable tabs auto move to selected tab (#16961) @wereHamster +- [TextareaAutosize] Export component in barrel index.js (#17003) @Shubhamchinda +- [TextareaAutosize] Update spelling in props (umber to number) (#16982) @melwyn001 +- [Tooltip] Fix word wrapping (#17020) @pranshuchittora +- [Tooltip] Improve arrow demo (#17058) @Patil2099 + +### `@material-ui/lab@v4.0.0-alpha.24` + +- [Rating] Improve rendering of arbitrary precision (#17013) @Patil2099 +- [TreeView] Lazy render the tree items (#17046) @Shubhamchinda +- [Skeleton] Add missing exports from the barrel (#16960) @mejackreed + +### `@material-ui/styles@v4.3.3` + +- [styles] Better support right-to-left (#17019) @AminZibayi + +### Docs + +- [docs] Add Typescript example for switch label position (#16959) @nowNick +- [docs] Adjust React + Material-UI + Firebase for v2.0 (#16988) @Phoqe +- [docs] Improve instructions for Babel import plugins (#16993) @lookfirst +- [docs] Make it easier to find material icons (#16956) @oliviertassinari +- [docs] Add synonyms for Material icons (#17021) @mbrookes +- [docs] Migration guide to v4: include change to dense Lists (#17074) @zekehernandez +- [docs] Prefer SVG over font icons in the demos (#17056) @troussos +- [docs] Small changes (#17060) @oliviertassinari +- [example] Remove unused MuiLink declaration (#16991) @colemars + +### Core + +- [core] Classes to hooks (#17061) @oliviertassinari +- [core] Upgrade the dependencies (#16990) @oliviertassinari +- [core] yarn docs:export support for Windows (#17009) @vabole + +## 4.3.2 +###### *Aug 10, 2019* + +Big thanks to the 22 contributors who made this release possible! + +Here are some highlights ✨: + +- 🦴 Introduce a new Skeleton component in the lab (#16786). +- 📦 Reduce bundle size by -10%,-20% of the small helpers like useMediaQuery, Portal, and TextareaAutosize (#16842) @NMinhNguyen. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.3.2` + +- [Box] Forward props into cloned element (#16882) @RostyslavKravchenko +- [ButtonGroup] Allow override of the variant prop (#16946) @nvwebd +- [ButtonGroup] Separate button colors (#16876) @CyanoFresh +- [CssBaseline] Add backdrop base styles (#16880) @yordis +- [Fab] Accept FabProps in theme.props (#16877) @aditya1906 +- [FormControl] Warn if rendered mulitple inputs (#16923) @lemes +- [Popper] Fix ScrollPlayground.js demo (#16948) @pinktig +- [Slider] Update TypeScript demo to cast types to values (#16957) @allypally +- [Stepper] Improve the description of the icon prop (#16916) @mbrookes +- [TextField] How to leverage CSS input validation (#16903) @jonkelling +- [Textfield] Add left property to prevent scrollbars on IE 11 (#16936) @beaudry +- [ToggleButton] Fix horizontal shift (#16861) @wereHamster +- [Transition] Forward isAppearing to onEnter, onEntering, onEntered (#16917) @millerrafi + +### `@material-ui/lab@v4.0.0-alpha.23` + +- [TreeView] Fix the height of the customization demo (#16874) @mbrookes +- [Skeleton] New component (#16786) @oliviertassinari + +### `@material-ui/system@v4.3.3` + +- [system] Avoid `!important` in `borderColor` prop (#16875) @rogerclotet + +### Docs + +- [blog] July 2019 update (#16872) @oliviertassinari +- [docs] Add Material-UI with React course in learning (#16869) @deekshasharma +- [docs] Add error boundary to demos (#16871) @oliviertassinari +- [docs] Add react compatibility in supported platforms (#16863) @pranshuchittora +- [docs] Batch small changes (#16951) @oliviertassinari +- [docs] Fix build on windows (#16870) @merceyz +- [docs] Fix grammatical error in components docs (#16886) @Dasbachc +- [docs] Hide header in DefaultTheme demo (#16937) @rogerclotet +- [docs] Migrate WithTheme demo to Typescript (#16941) @rogerclotet +- [docs] Batch small changes (#16864) @oliviertassinari +- [docs] Batch small changes (#16883) @oliviertassinari + +### Core + +- [benchmark] Fix not running (#16900) @ypresto +- [ci] Ignore dependabot branches (#16893) @eps1lon +- [core] Generate PropTypes from type definitions (#16642) @merceyz +- [core] Optimise destructuring for useState, useReducer (#16842) @NMinhNguyen +- yarn docs:api @oliviertassinari + +## 4.3.1 +###### *Aug 03, 2019* + +Big thanks to the 18 contributors who made this release possible! + +### `@material-ui/core@v4.3.1` + +- [Container] Add missing class key to overrides interface (#16783) @Und3Rdo9 +- [Dialog] Test with testing-library (#16780) @eps1lon +- [Grid] Add 'root' to GridClassKey typing (#16799) @hendrikskevin +- [Modal] Fix Modal default open with disablePortal behavior (#16850) @lmuller18 +- [Popper] Fix handlePopperRefRef.current is not a function (#16807) @darkowic +- [Radio][Switch][Checkbox] Document the `required` prop (#16809) @pranshuchittora +- [Slider] Fix small typo (#16825) @ninjaPixel +- [TextareaAutosize] Add missing export for TextareaAutosize (#16815) @tuxracer +- [Tooltip] Fix tooltips's demo arrow dimensions (#16838) @fillipe-ramos +- [Tooltip] Remove the title attribute when open (#16804) @jamesgeorge007 +- [Transition] Change the default behavior, 0ms duration if prop missing (#16839) @jamesgeorge007 + +### `@material-ui/lab@v4.0.0-alpha.22` + +- [TreeView] Iterate on the component (#16814) @mbrookes +- [TreeView] Add customization demo (#16785) @oliviertassinari + +### Docs + +- [docs] Add missing `(` to withStyle docs (#16816) @SneakyFish5 +- [docs] Fix typo in description of Slider (#16824) @LorenzHenk +- [docs] Improve the issue template (#16836) @pranshuchittora +- [docs] Link react-most-wanted (#16856) @TarikHuber +- [docs] Migrate all public class component to function components (#16693) @bpas247 +- [docs] Small fix for box.md and migration.md (#16806) @DDDDDanica +- [docs] Update `@material-ui/pickers` (#16823) @eps1lon + +## 4.3.0 +###### *July 28, 2019* + +Big thanks to the 23 contributors who made this release possible! + +Here are some highlights ✨: + +- 🌳 Introduce a new Tree View component in the (#14827) @joshwooding. + + This is a first step toward a feature rich tree view component. + We will keep iterate on it to add customization demos, filter, drag and drop, and checkboxes. + You can find the documentation under [this URL](https://material-ui.com/components/tree-view/). +- 💄 Support vertical tabs (#16628) @josephpung. + + You can learn more about it following [this URL](https://material-ui.com/components/tabs/#vertical-tabs). +- 📚 Remove the prop-types from TypeScript demos (#16521) @merceyz. + + The runtime prop-types are often redundant with the static type checks. + We have removed them from the TypeScript demos. +- ⚛️ Add two codemods to improve the imports (#16192) @jedwards1211. + + If you are not familiar with codemods, [check the library out](https://github.com/facebook/codemod). This is a tool tool to assist you with large-scale codebase refactors. + We introduce two new codemods in this release: + + - `optimal-imports`: Material-UI supports tree shaking for modules at 1 level depth maximum. + You shouldn't import any module at a higher level depth. + + ```diff + -import createMuiTheme from '@material-ui/core/styles/createMuiTheme'; + +import { createMuiTheme } from '@material-ui/core/styles'; + ``` + - `top-level-imports`: Converts all @material-ui/core submodule imports to the root module. + + ```diff + -import createMuiTheme from '@material-ui/core/styles/createMuiTheme'; + +import { createMuiTheme } from '@material-ui/core'; + ``` + +- 💄 Support small switch (#16620) @darkowic. + + You can learn more about it following [this URL](https://material-ui.com/components/switches/#sizes). +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.3.0` + +- [FilledInput] Add hiddenLabel prop (#16671) @oliviertassinari +- [Menu] Use strict mode compatible testing API (#16582) @eps1lon +- [Modal] Fix focus not being contained (#16585) @eps1lon +- [Modal] Prevent backdrop to stay open (#16694) @ValentinH +- [Popper] Fix scroll jump when content contains autofocus input (#16740) (#16751) @alirezamirian +- [Portal] Prepare deprecation of onRendered (#16597) @oliviertassinari +- [SelectInput] Fix layout issue with displayEmpty (#16743) @ypresto +- [Select] Implement WAI-ARIA dropdown without label (#16739) @eps1lon +- [useMediaQuery] Improve useWidth demo (#16611) @siriwatknp +- [Step] Add `completed` class key to TypeScript definitions (#16662) @pranshuchittora +- [Stepper] Add cutomization example (#16769) @oliviertassinari +- [Switch] Support small size (#16620) @darkowic +- [Tabs] Improve accessibility (#16384) @mbrookes +- [Tabs] Support vertical tabs (#16628) @josephpung +- [TextField] Rename interface FormControl to FormControlState (#16748) @B3zo0 +- [TextareaAutosize] Fix infinite render loop (#16635) @oliviertassinari +- [TextareaAutosize] Fix infinite render loop (#16708) @mcdougal + +### `@material-ui/lab@v4.0.0-alpha.21` + +- [TreeView] Add new component (#14827) @joshwooding + +### `@material-ui/styles@@4.3.0` + +- [styles] Add typings for font-face (#16639) @merceyz + +### `@material-ui/codemod@v4.3.0` + +- [codemod] Add codemods for optimal tree-shakeable imports (#16192) @jedwards1211 + +### `@material-ui/system@v4.3.2` + +- [core] Import esm babel helpers (#16701) @TrySound + +### Docs + +- [docs] Add CSS to api for TextField (#16659) @m2mathew +- [docs] Apply v1 redirection first @oliviertassinari +- [docs] Batch changes (#16621) @oliviertassinari +- [docs] Display correct version of Material-UI (#16680) @eps1lon +- [docs] Document the global class names (#16770) @oliviertassinari +- [docs] Fix SEO reported by Ahrefs (#16765) @oliviertassinari +- [docs] Fix Typo in modal.md (#16744) @jeffshek +- [docs] Fix dependabot badge (#16725) @eps1lon +- [docs] Fix reset colors crashing app (#16750) @eps1lon +- [docs] Fix typo in typography.md (#16654) @hexium310 +- [docs] Generate prop-types from TypeScript demos (#16521) @merceyz +- [docs] Grammar fix for global class names docs (#16778) @joshwooding +- [docs] Improve SEO (#16724) @oliviertassinari +- [docs] Improve favicon (#16632) @oliviertassinari +- [docs] Improve generated markdown (#16771) @merceyz +- [docs] Link page layouts to premium themes (#16690) @mbrookes +- [docs] Move dependencies/scripts from root into workspace (#16640) @eps1lon +- [docs] Prevent password field blur when adornment clicked (#16672) @ee92 +- [docs] Redirects old v1.5.0 url to v1 subdomain (#16658) @m2mathew +- [docs] Reduce bundle size (#16046) @eps1lon +- [docs] Remove bbb from showcase (#16687) @mbrookes +- [docs] Remove unused imports (#16623) @merceyz +- [docs] Reword unsupported material components notes (#16660) @m2mathew +- [docs] Solve docs 301 redirections (#16705) @oliviertassinari +- [docs] Update translations (#16684) @mbrookes +- [docs] Upgrade next to v9 (#16546) @eps1lon +- [docs] Revert upgrade to next 9 (#16755) @eps1lon +- [docs] Workaround to describe aria-sort (#16767) @mbrookes +- [examples] Remove version next version from the description (#16678) @straxico + +## Core + +- [test] Fix empty visual rergression screenshots (#16702) @eps1lon +- [test] Fix failing test_browser in edge (#16688) @eps1lon +- [core] Batch changes (#16691) @oliviertassinari +- [core] Batch small changes (#16766) @oliviertassinari +- [core] Deduplicate packages (#16608) @merceyz +- [core] Fix type definition for createMuiTheme SpacingOptions (#16624) @dominictwlee +- [core] Import esm babel helpers (#16701) @TrySound +- [core] Introduce dependabot (#16679) @eps1lon +- [core] Remove old JSS v9 animationName property (#16779) @merceyz +- [core] Upgrade babel-plugin-optimize-clsx (#16636) @merceyz +- [core] Upgrade dependencies from yarn audit (#16625) @merceyz +- [core] Upgrade jss (#16668) @TrySound +- [core] Bump babel dependencies to latest (#16699) @eps1lon +- [ci] Merge test_browser and test_production (#16731) @eps1lon +- [ci] Use custom frozen lockfile check (#16677) @eps1lon + +## 4.2.1 +###### *July 17, 2019* + +Big thanks to the 25 contributors who made this release possible! + +Here are some highlights ✨: + +- ♿️ Improve Dialog header accessibility (#16576) @dayander. +- ⚛️ Fix more strict mode warnings (#16525) @eps1lon. +- 🐛 Fix menu dense support (#16510) @sumedhan. +- ⭐️ Introduce a new Rating component in the lab. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.2.1` + +- [Autocomplete] Use placeholder prop (#16568) @himanshupathakpwd +- [DialogTitle] Update default element from h6 to h2 (#16576) @dayander +- [Grid] Generify props with component property (#16590) @JipingWang +- [InputBase] Fix inconsistent filled state (#16526) @eps1lon +- [InputBase] Improve documentation for custom `inputComponent` (#16399) @eps1lon +- [Input] Add missing class keys in TypeScript (#16529) @dskiba +- [MenuItem] Fix dense prop support (#16510) @sumedhan +- [Modal] Use computed key to restore style (#16540) @neeschit +- [Popper] Refactor to more commonly known react patterns (#16613) @eps1lon +- [Ripple] Use custom transition logic (#16525) @eps1lon +- [Slide] Remove gutter (#16533) @User195 +- [TouchRipple] Convert to function component (#16522) @joshwooding +- [Transition] The ref forwarding works (#16531) @oliviertassinari +- [useMediaQuery] Accept function as argument & more (#16343) @merceyz + +### `@material-ui/styles@v4.2.1` + +- [styles] Make theme optional for `styled` components (#16379) (#16478) @akomm +- [core] Upgrade deepmerge (#16520) @TrySound + +### `@material-ui/system@v4.3.1` + +- [core] Upgrade deepmerge (#16520) @TrySound + +### `@material-ui/lab@v4.0.0-alpha.20` + +- [Rating] Add a new component (#16455) @oliviertassinari +- [SpeedDialAction] Convert to hook (#16386) @adeelibr + +### Docs + +- [docs] Add density guide to customizations (#16410) @eps1lon +- [docs] Add sidebar alias to Drawer demo description (#16535) @mbrookes +- [docs] Fix dead link (#16567) @sharils +- [docs] Fix typo (#16561) @siowyisheng +- [docs] Fix typo in advanced styles guide (#16593) @elquimista +- [docs] Fix typo: change lakes to lacks (#16553) @davinakano +- [docs] Remove from nextjs-with-typescript example (#16555) @virzak +- [docs] Remove duplicate alts (#16564) @williammalone +- [docs] Update migration v3 guide, slider in core (#16589) @elquimista +- [docs] Update typo in docs - portals (#16592) @siowyisheng +- [docs] Use LinkProps from next in examples (#16583) @Janpot +- [example] Fix "@zeit/next-typescript" dependency missing (#16603) @nb256 +- [examples] Update to support Next.js v9 (#16519) @Janpot +- [blog] June 2019 Update (#16516) @oliviertassinari + +### Core + +- [core] Fix docs:typescript:check (#16607) @merceyz +- [core] Fix incorrect usage of HtmlHTMLAttributes (#16579) @whitneyit +- [core] Re-export missing typings (#16490) @merceyz +- [core] Remove all .defaultProps usages (#16542) @joshwooding +- [core] Restrict setRef usage to ref callback (#16539) @eps1lon +- [core] Upgrade convert-css-length (#16530) @TrySound +- [core] Upgrade deepmerge (#16520) @TrySound +- [core] Use useFormControl instead of withFormControlState (#16503) @eps1lon +- [core] Batch small changes (#16532) @oliviertassinari +- [test] Run queries on document.body (#16538) @eps1lon +- [test] react-test-renderer coverage (#16523) @dondi +- [ci] Create canaries (#16587) @eps1lon + +## 4.2.0 +###### *July 6, 2019* + +Big thanks to the 24 contributors who made this release possible! + +Here are some highlights ✨: + +- ♿️ Fix the persisting aria-hidden logic of the Modal (#16392) @eps1lon. +- 💄 Move the Slider component to the core (#16416). +- 💄 Introduce a new TextareaAutosize component (#16362). +- ⚛️ Migrate a few components to testing-library. +- 🚀 Remove two dependencies (react-event-listener and debounce). +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.2.0` + +- [Tabs] Use the correct window reference (#16497) @NMinhNguyen +- [Breadcrumbs] Add li to BreadcrumbsClassKey type (#16425) @le0nik +- [ButtonBase] Fix anchors with href having a button role (#16397) @eps1lon +- [ButtonBase] Improve test coverage (#16361) @eps1lon +- [CardMedia] Change prop requirements to conform html picture semantics (#16396) @maeertin +- [ClickAwayListener] Don't miss any click away events (#16446) @NMinhNguyen +- [FormControl] Add useFormControlState (#16467) @eps1lon +- [ListItemIcon] Add margin to line up when using flex-start (#16398) @slim-hmidi +- [ListItemSecondaryAction] Add missing types for props spread (#16411) @nsams +- [MenuItem] Fix type deceleration not using MenuItemClassKey (#16358) @merceyz +- [Menu] Fix autoFocus to work correctly with keepMounted (#16450) @ryancogswell +- [Modal] Fix persisting aria-hidden (#16392) @eps1lon +- [Modal] Make the modal demo style more "agnostic" (#16385) @oliviertassinari +- [Select] Fix node reference (#16401) @ffjanhoeck +- [Slider] Fix small step regression (#16395) @alitaheri +- [Slider] Fix textAlign prop affecting Slider rail (#16440) @mohan-cao +- [Slider] Move to core (#16416) @oliviertassinari +- [Tabs] Migrate to hooks (#16427) @oliviertassinari +- [TextareaAutosize] Fix one possible case of infinite render loop (#16387) @ZYinMD +- [TextareaAutosize] New public component (#16362) @oliviertassinari +- [Tooltip] Fix arrow demos (#16412) @Favna + +### `@material-ui/styles@v4.2.0` + +- [styles] Add test for removing styles via `overrides` (#16420) @eps1lon +- [styles] Handle props of type any in styled (#16356) @merceyz +- [styles] Support augmenting CSS properties (#16333) @merceyz + +### `@material-ui/lab@v4.0.0-alpha.19` + +- [Slider] Move to core (#16416) @oliviertassinari + +### Docs + +- [docs] Fix typo in TypeScript doc (#16365) @DDDDDanica +- [docs] Add missing page title for translations (#16375) @jaironalves +- [docs] Correct spelling imporant -> important (#16388) @rlfarman +- [docs] Fix typo in customizing components (#16404) @YipinXiong +- [docs] Fix typo in docs server (#16406) @thanasis00 +- [docs] Fixed link to Button API in FAQ (#16370) @kxlow +- [docs] Improve example of Custom Pagination Actions Table (#16472) @bigtone1284 +- [docs] Minor improvements (#16423) @eps1lon +- [docs] Reduce the headers font-size (#16433) @oliviertassinari +- [docs] Remove compose helper (#16429) @oliviertassinari +- [docs] Remove outdated references to the @next release (#16428) @davidoffyuy +- [docs] Replace hardcoded content with translation (#16380) @eps1lon +- [docs] Small ad information icon (#16438) @oliviertassinari +- [docs] Update displayEmpty prop description in Select API docs (#16376) @bigtone1284 +- [docs] Update testing guide (#16368) @eps1lon +- [docs] Use full text of the code of conduct (#16417) @mbrookes +- [docs] [TableCell] Fix padding and size property descriptions (#16378) @the-question + +### Core + +- [test] Simpler createClientRender (#16461) @eps1lon +- [ci] Move TypeScript tests into separate job (#16405) @eps1lon +- [ci] Persist/Report only if previous steps succeeded (#16432) @eps1lon +- [core] Improve test coverage (#16453) @eps1lon +- [core] Speed-up typechecking (#16413) @merceyz + +## 4.1.3 + +###### *June 25, 2019* + +Big thanks to the 4 contributors who made this release possible! +This is a quick release after a regression that occurred in 4.1.2. + +### `@material-ui/core@v4.1.3` + +- [core] Revert strict mode compatible transition components (#16348) @eps1lon +- [theme] Validate fontSize in createTypography (#16321) @merceyz + +### `@material-ui/lab@v4.0.0-alpha.18` + +- [Slider] Fix label contrast color (#16350) @oliviertassinari + +### Docs + +- [docs] Improve colors reliably (#16324) @oliviertassinari +- [docs] Migrate batch of demos to hooks/typescript (#16334) @merceyz +- [docs] Some fixes to the Link component page (#16345) @kyarik +- [docs] Use latest size snapshot from master (#16342) @eps1lon + +## 4.1.2 +###### *June 23, 2019* + +Big thanks to the 30 contributors who made this release possible! + +Here are some highlights ✨: + +- ♿️ Fix Select and Menu keyboard behavior (#16323). +- 🚀 Reduce the Modal bundle size by -22% (5 kB) (#15839, #16254, #16262). +- 💄 Remove noise from the material.io generated icons (#16258). +- ⚛️ Extend StrictMode compatiblity to 25 more components (#16283). +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.1.2` + +- [ButtonBase] Fix dragging issue (#16250) @LukasMirbt +- [Dialog] Prepare deprecation of withMobileDialog (#14992) @oliviertassinari +- [Divider] Add aria role if it's not implicit (#16256) @eps1lon +- [Grow][Zoom] Remove transform value when entered (#16297) @gijsbotje +- [MenuList] Fix keyboard a11y when no item is focused when opening (#16323) @eps1lon +- [Menu] Add missing `autoFocus` TypeScript types (#16289) @BassT +- [Modal] Fix aria-hidden restore logic (#15839) @mackersD +- [Modal] Migrate to hooks (#16254) @oliviertassinari +- [Modal] Refactor tests to remove internal accesses (#16262) @oliviertassinari +- [Select] Fix autowidth not working with open controlled (#16214) @jobpaardekooper +- [Select] Fix display when no value is selected (#16294) @ianschmitz +- [Select] Fix forward ref logic (#16296) @ffjanhoeck +- [Select] Fix specificity issue (#16137) @aditya1906 +- [Slide] Remove the transform property once open (#16281) @gijsbotje +- [Snackbar] Fix type definition of autoHideDuration prop (#16257) @brunomonteirosud +- [TextField] Fix media hover specificity issue (#16266) @arminydy +- [TextField] Reduce specificity of notchedOutline (#16304) @romanr +- [Textarea] Update height when maxRows prop changes (#16298) @tasinet +- [TouchRipple] Fix ripple staying on fast updates (#16291) @eps1lon + +### `@material-ui/icons@v4.2.1` + +- [icons] Remove noise from Google source (#16258) @oliviertassinari + +### `@material-ui/system@v4.3.0` + +- [system] Add support for marginX, marginY, paddingX, and paddingY (#16169) @dimitropoulos +- [system] Add visibility property to display (#16231) @aditya1906 + +### `@material-ui/lab@v4.0.0-alpha.17` + +- [Slider] Fix onChangeCommitted firing on mouseenter (#16329) @cdcasey +- [Slider] Fix various tick mark issues (#16275) @eps1lon +- [Slider] Mitigate floating point errors (#16252) @joaosilvalopes + +### `@material-ui/styles@v4.1.2` + +- [styles] Make StyleRules backwards compatible (#16200) @merceyz +- [styles] Only run the check on the client-side (#16284) @oliviertassinari +- [styles] Remove withTheme type from makeStyles options (#16217) @merceyz + +### Docs + +- [docs] Add docs for Overflow, TextOverflow, WhiteSpace (#16170) @aditya1906 +- [docs] Batch of fixes (#16229) @oliviertassinari +- [docs] Better react-router-dom version comment (#16335) @kyarik +- [docs] Convert SideEffects to hooks (#16197) @eps1lon +- [docs] Fix IE 11 rendering issue on the pickers page (#16246) @oliviertassinari +- [docs] Fix code example (#16279) @maslowproject +- [docs] Fix links that point to the next branch (#16326) @Maxim-Mazurok +- [docs] Fix outdated react-transition-group docs link (#16274) @eps1lon +- [docs] Improve codevariant switch perf (#16211) @eps1lon +- [docs] Include and explain value type change in migration guide (#16226) @eps1lon +- [docs] Instapaper, fix contained+secondary button border (#16236) @patelnav +- [docs] Material Sense is only using v3 (#16267) @josiahbryan +- [docs] Migrate batch of demos to hooks/typescript (#16322) @merceyz +- [docs] Remove import if there are no specifiers left (#16199) @merceyz +- [docs] Fix a typo emooji -> emoji (#16286) @sabrinaluo +- [example] Hooks are standards now, no need to mention it (#16288) @obedparla +- [examples] Fix the styled-jsx integration of the Next.js examples (#16268) @lifeiscontent + +### Core + +- [types] Explicitly use react types (#16230) @kdy1 +- [test] Introduce @testing-library/react (#15732) @eps1lon +- [core] Add MuiCardActionArea prop (#16235) @aditya1906 +- [core] Add missing MuiTableHead and MuiTableBody type to theme.props (#16220) @merceyz +- [core] Add missing exports from styles in core (#16311) @fzaninotto +- [core] Change <> to (#16225) @aditya1906 +- [core] Extend StrictMode compatiblity (#16283) @eps1lon +- [core] Move size tracking to azure pipelines (#16182) @eps1lon +- [core] Remove string from SpacingArgument in theme.spacing (#16290) @merceyz +- [ci] Build packages in parallel for size snapshot (#16261) @eps1lon +- [ci] Run azure on master (#16207) @eps1lon +- [ci] Use sinon browser build (#16208) @eps1lon + +## 4.1.1 +###### *June 13, 2019* + +Big thanks to the 10 contributors who made this release possible! + +Here are some highlights ✨: + +- 🐛 Fix react-hot-loader regression (#16195). +- 🐛 Fix TypeScript icons regression (#16139) @MayhemYDG. +- 🐛 Fix withWidth regression (#16196). +- 💄 Add Slider range support (#15703). +- And many more 📚 improvements. + +### `@material-ui/core@v4.1.1` + +- [ButtonBase] Fix riple not stoping on mouse up (#16142) @joaosilvalopes +- [useMediaQuery] Defensive logic against matchMedia not available (#16196) @oliviertassinari +- [Typography] Fix variantMapping rejecting partial type (#16187) @eps1lon + +### `@material-ui/styles@v4.1.1` + +- [styles] Fix react-hot-loader regression (#16195) @oliviertassinari + +### `@material-ui/icons@v4.2.0` + +- [icons] Fix generated index.d.ts (#16139) @MayhemYDG +- [icons] Update and clean the icons (#16166) @oliviertassinari + +### `@material-ui/lab@v4.0.0-alpha.16` + +- [Slider] Support range (#15703) @oliviertassinari + +### `@material-ui/system@v4.2.0` + +- [system] Add overflow, textOverflow, whiteSpace properties (#16129) @aditya1906 +- [system] Add remaining flexbox properties (#16164) @aditya1906 + +### Docs + +- [docs] Add 700 font weight support (#16141) @aditya1906 +- [docs] Change http to https part 2 (#16171) @aditya1906 +- [docs] Fix build on windows (#16154) @merceyz +- [docs] Fix small typos in v3->v4 migration guide (#16174) @charlax +- [docs] Improve the CssBaseline description (#16148) @levigunz +- [docs] Lowercase text to demo text-transform (#16160) @blmoore +- [docs] Pseudo-class: the style rules that require an increase of specificity (#16120) @oliviertassinari +- [docs] Remove `CSS to MUI webpack Loader` (#16175) @sabrinaluo +- [docs] import Omit Type from @material-ui/types (#16157) @aditya1906 + +### Core + +- [core] Add TypeScript types for styled (#16133) @merceyz +- [core] Fix withStyles not including props (#16134) @merceyz +- [core] Fix yarn docs:api removing
tags on windows (#16165) @merceyz +- [core] Remove bootstrap v4-alpha (#16177) @aditya1906 + +## 4.1.0 +###### *June 10, 2019* + +A big thanks to the 26 contributors who made this release possible! + +Here are some highlights ✨: + +- 💄 A new ButtonGroup component (#15744) @mbrookes. +- 💄 New system props (flex, fontStyle, letterSpacing, lineHeight) (#16045, #16109) @ljvanschie, @aditya1906. +- 📚 Fix the documentation notification spam (#16070). +- 💄 A new fontWeightBold typography theme value (#16036) @aditya1906. +- 🚀 Reduce TypeScript compile time when using the icons (#16083) @phryneas. +- And many more 🐛 bug fixes and 📚 improvements. + +### `@material-ui/core@v4.1.0` + +- [ButtonGroup] New component (#15744) @mbrookes +- [TextField] Improve dense height to better match the specification (#16087) @Ritorna +- [Popper] Add popperRef prop (#16069) @oliviertassinari +- [theme] Add fontWeightBold to theme.typography (#16036) @aditya1906 +- [LinearProgress] Fix direction issue in RTL (#16009) @mkermani144 +- [Dialog] Fix double scroll issue (#16108) @williamsdyyz +- [Popper] Fix anchorEl prop types (#16004) @dan8f +- [Snackbar] Fix wrong event call (#16070) @oliviertassinari +- [SwipeableDrawer] Convert to function component (#15947) @joshwooding +- [Tab] Improve the textColor description (#16085) @sPaCeMoNk3yIam +- [withWidth] Migrate to hooks (#15678) @jacobbogers + +### `@material-ui/system@v4.1.0` + +- [system] Add flex to FlexboxProps type definitions (#16045) @ljvanschie +- [system] Add fontStyle, letterSpacing, lineHeight props (#16109) @aditya1906 +- [system] Fix breakpoints TypeScript types (#15720) @Kujawadl + +### `@material-ui/styles@v4.1.0` + +- [styles] Allow CSS properties to be functions (#15546) @merceyz +- [styles] Fix styled type definition not including properties (#15548) @merceyz +- [styles] Upgrade jss (#16121) @eps1lon + +### `@material-ui/icons@v4.1.0` + +- [icons] Simplify generated index.d.ts to reduce TS compile time (#16083) @phryneas + +### Docs + +- [blog] May 2019 Update (#16117) @oliviertassinari +- [docs] Minor typo correction (#16115) @tonytino +- [docs] Add AdaptingHook TypeScript demo (#16131) @merceyz +- [docs] Add global override demos (#16067) @oliviertassinari +- [docs] Add redirect for typography migration (#16077) @eps1lon +- [docs] Add system example for prop + theme key (#16099) @peteruithoven +- [docs] Batch of small fixes (#16061) @oliviertassinari +- [docs] Bump material-table and @material-ui/pickers versions (#16039) @eps1lon +- [docs] Change http to https (#16056) @aditya1906 +- [docs] Fix bundle doc typos (#16054) @DDDDDanica +- [docs] Fix chip array removal (#16086) @joaosilvalopes +- [docs] Fix grammar in migration doc (#16064) @DDDDDanica +- [docs] Fix some warnings/regressions (#16106) @eps1lon +- [docs] Fix spelling and usage of MuiCssBaseline (#16098) @tschaub +- [docs] Fix typo in the Gatsby example (#16130) @bernardwang +- [docs] Make demos linkable (#16063) @eps1lon +- [docs] Migrate Popover demo to Hooks (#16074) @nikhilem +- [docs] Migrate batch of demos to hooks/typescript (#16003) @merceyz +- [docs] Move the themes to themes.material-ui.com (#15983) @oliviertassinari +- [docs] Remove duplicate font icons instruction (#16066) @hubgit +- [docs] Remove extraneous link to migration helper (#16082) @charlax +- [docs] Remove unsupported textDense styles (#16057) @sadika9 +- [docs] Revert unreleased changes to the useMediaQuery API (#16127) @oliviertassinari +- [docs] Update translations (#16125) @mbrookes +- [docs] Upgrade notistack and migrate the demo to hooks (#16124) @merceyz +- [docs] Use immediate export in MenuAppBar.js (#16032) @aditya1906 +- [docs] Use immediate export when there is no HOC part 2 (#16038) @merceyz + +### Core + +- [core] Fix incorrect typings for hexToRgb (#16059) @whitneyit +- [core] Fix type definition for theme.spacing (#16031) @merceyz +- [core] Remove direct type dependency to jss/csstype (#16071) @eps1lon +- [core] Remove export of describeConformance (#16048) @eps1lon +- [core] Use only up to second level path imports (#16002) @eps1lon +- [test] Bump karma-webpack (#16119) @eps1lon + +## 4.0.2 +###### *June 3, 2019* + +A big thanks to the 30 contributors who made this release possible! + +Here are some highlights ✨: + +- 🐛 A second stability release after the release of v4.0.0. +- 💄 Add a new size="small" prop to the Chip component (#15751) @mbrookes. +- 🐛 Fix three IE 11 issues (#15921, #15952, #15967) @eps1lon, @rupert-ong, @ryancogswell +- And many more 📚 improvements. + +### `@material-ui/core@v4.0.2` + +- [Box] Fix prop-types and TypeScript warnings (#15884) @eps1lon +- [Breadcrumbs] Add theme props and override TypeScript definitions (#15950) @chrislambe +- [Chip] Add size prop for small option (#15751) @mbrookes +- [Container] Document the classes API (#15919) @divyanshutomar +- [Dialog] Improve scroll=body CSS logic (#15896) @DominikSerafin +- [Link] Better support of component="button" (#15863) @ianschmitz +- [Popover] Convert to function component (#15623) @joshwooding +- [Portal] Synchronously call onRendered (#15943) @Arlevoy +- [Radio] Fix dot misalignment in IE11 (#15952) @rupert-ong +- [theme] Return default value for spacing when no args provided (#15891) @mbrookes +- [TrapFocus] Fix error restoring focus when activeElement is null (#15967) @ryancogswell +- [core] Export useMediaQuery & useScrollTrigger in index.js (#15958) @adeelibr +- [core] Migrate extend ButtonBaseProps typings (#15869) @joshwooding + +### `@material-ui/styles@v4.0.2` + +- [styles] Remove warning when component with no displayName is provided (#15913) @eps1lon +- [styles] Fix createStyles for TypeScript v3.5 (#15990) @merceyz + +### `@material-ui/system@v4.0.2` + +- [system] Fix typing for flexDirection prop (#15987) @rhmoller + +### `@material-ui/lab@v4.0.0-alpha.15` + +- [lab] Consume correct core utils in lab (#15995) @TrySound + +### `@material-ui/codemod@v4.0.2` + +- [codemod] Improve theme codemod to handle destructured theme.spacing (#15916) @sviande + +### Docs + +- [docs] Add React + Material-UI + Firebase as an example project (#15915) @Phoqe +- [docs] Batch of fixes (#15996) @oliviertassinari +- [docs] Fix a typo within pricing page layout example (#15978) @sdornan +- [docs] Fix broken JSS links (#15972) @timkindberg +- [docs] Fix most lighthouse a11y issues in input demos (#15780) @eps1lon +- [docs] Fix typo (#15975) @rick-software +- [docs] Fix wrong variable name (styles => useStyles) (#15908) @hiromoon +- [docs] Icon TypeScript demos (#15965) @goldins +- [docs] Improve dark mode (#15944) @eps1lon +- [docs] Improve interactive performance (#15874) @eps1lon +- [docs] Improve lighthouse a11y score in demos (#15901) @eps1lon +- [docs] Mention Virtuoso as a possible virtualization integration (#15934) @petyosi +- [docs] Migrate Grid demos to hooks (#15970) @merceyz +- [docs] Migrate Hidden demos to hooks (#15989) @merceyz +- [docs] SignIn -> SignUp typo (#15966) @Hatko +- [docs] Update FUNDING.yml with Tidelift string (#15981) @jeffstern +- [docs] Update the translations (#15991) @mbrookes +- [docs] v4 Migration doc slight clean up (#15886) @mlenser +- [example] Fix ssr example to work on Windows (#15949) @petervaldesii +- [example] Fix theme palette value (#15977) @vaidehi27 +- [docs] Fix syntax error in v3 migration guide (#16010) @zhuangya +- [docs] Use immediate export when there is no HOC (#16005) @merceyz + +### Core + +- [core] Add dependency react>=16.3.0 requested by @emotion/core and react-js (#15982) @marco-silva0000 +- [core] Fix IE 11 crashes related to Object.assign (#15921) @eps1lon +- [core] Minor fixes (#15875) @joshwooding +- [core] Remove export of internal test-utils (#15895) @eps1lon +- [core] Update babel-plugin-optimize-clsx (#15894) @merceyz +- [core] Upgrade rollup and related plugins (#15939) @merceyz +- [ci] Move static tests into separate job (#15890) @eps1lon +- [core] Upgrade dependencies with esm support (#16000) @TrySound + +## 4.0.1 +###### *May 27, 2019* + +A big thanks to the 23 contributors who made this release possible! + +Here are some highlights ✨: + +- 🐛 A stability release after the release of v4.0.0. +- 🤖 A new codemod to migrate the theme.spacing.unit API (#15782) @joshwooding. +- 🐛 Fix IE 11 crash (#15856) @aditya1906. +- 📚 Clean up the documentation after the next -> master migration. + +### `@material-ui/core@v4.0.1` + +- [Buttons] Consolidate ripple props type declarations (#15843) @lychyi +- [IconButton] Add disable ripple props (#15864) @lychyi +- [ListItemText] Update classes type definitions (#15822) @davjo664 +- [Tabs] Hide scrollbar on MacOS (#15762) @Umerbhat +- [Tooltip] Fix alignment issues (#15811) @pkmnct +- [styles] Add MuiLink to ComponentsPropsList (#15814) @stuartgrigg + +### `@material-ui/icons@v4.0.1` + +- [icons] Fix the TypeScript definition of createSvgIcon (#15861) @alexkirsz + +### `@material-ui/codemod@v4.0.1` + +- [codemod] Create spacing api codemod (#15782) @joshwooding + +### `@material-ui/styles@v4.0.1` + +- [styles] Fix Symbol() usage in IE11 (#15856) @aditya1906 + +### `@material-ui/lab@v4.0.0-alpha.14` + +- [lab] Add missing clsx calls (#15809) @merceyz + +### Docs + +- [docs] Add SECURITY.md (#15804) @oliviertassinari +- [docs] Add Transitions header in the dialogs page (#15847) @prasook-jain +- [docs] Add extendedFab migration (#15866) @chanand +- [docs] Add missing Breadcrumbs CSS API (#15813) @joshwooding +- [docs] Correctly fix the Google Ad issue @oliviertassinari +- [docs] Fix Boolan -> Boolean (#15880) @jaironalves +- [docs] Fix Link import (#15871) @bennyn +- [docs] Fix deploy command @oliviertassinari +- [docs] Fix empty v4 blog post link (#15831) @drac +- [docs] Fix typo in styles advanced guide (#15844) @mgvparas +- [docs] Follow the documentation, my bad @oliviertassinari +- [docs] Global at rule is called font-face (#15865) @aditya1906 +- [docs] Hide the Ad fallback to Google (#15815) @oliviertassinari +- [docs] Improve SEO structure @oliviertassinari +- [docs] Improve lighthouse performance score (#15758) @eps1lon +- [docs] Let's take our time, we don't need to rush v5 (#15826) @oliviertassinari +- [docs] Minor fixes (#15836) @mbrookes +- [docs] Minor improvements to codesandbox demos and examples (#15857) @eps1lon +- [docs] Move links to the master branch (#15830) @oliviertassinari +- [docs] Redirect next.material-ui.com to material-ui.com (#15838) @mbrookes +- [docs] Update Installation.md for v4.0.0 (#15818) @hinsxd +- [docs] Update the translations (#15807) @mbrookes +- [docs] Update the v4 blog post (#15862) @mbrookes +- [docs] Update translations (#15841) @mbrookes +- [docs] Use makeStyles from core in layout examples (#15845) @divyanshutomar +- [docs] Fix typo in README (#15817) @ammaristotle +- [example] Update gatsby-plugin-material-ui dependency (#15810) @hupe1980 + +### Core + +- [core] Add cross-env to docs:size-why (#15816) @merceyz +- [core] Change the top package name so we get the number of dependents packages @oliviertassinari +- [core] Fix not appearing in github used/dependents (#15859) @eps1lon +- [core] Prepare focus visible polyfill in ref phase (#15851) @eps1lon +- [core] Remove babel-node for server/shared modules (#15764) @cvanem +- [core] Remove dependency on workspace (#15849) @eps1lon +- Create FUNDING.yml @oliviertassinari +- [test] Remove FontAwesome from screenshot tests (#15853) @eps1lon + +## 4.0.0 +###### *May 23, 2019* + +[Material-UI v4 is out 🎉](https://medium.com/material-ui/material-ui-v4-is-out-4b7587d1e701) + +Some statistics with v4 compared to the release of v1 one year ago: + +- From 300k downloads/month to 2M downloads/month on npm +- From 90k users/month to 350k users/month on the documentation + +### `@material-ui/lab@v4.0.0-alpha.13` + +- [ToggleButtonGroup] Added missing size prop to type declarations (#15785) @CoolCyberBrain + +### `@material-ui/system@v4.0.0` + +- [system] Add missing TypeScript types for flexbox and shadows (#15781) @willbamford + +### Docs + +- [docs] Add remaining TypeScript component demos (#15755) @eps1lon +- [docs] Fix Nav components subsections to be open by default (#15749) @mbrookes +- [docs] Fix some gramma in testing doc (#15776) @DDDDDanica +- [docs] Fix some grammar in right to left guide (#15789) @DDDDDanica +- [docs] Fix typo (#15792) @retyui +- [docs] Material-UI v4 is out (#15766) @oliviertassinari +- [docs] Reference the article with it's full name in icon doc (#15796) @DDDDDanica +- [docs] Revert the marked change (#15797) @oliviertassinari + +### Core + +- [core] Change cssutils responsiveProperty unit type (#15783) @eddiemonge + +## 4.0.0-rc.0 +###### *May 20, 2019* + +A big thanks to the 17 contributors who made this release possible! + +We have done the very last breaking changes (nothing significant). +The release of v4 is imminent, stay tuned! + +### `@material-ui/core@v4.0.0-rc.0` + +### Breaking changes + +- [ClickAwayListener] Fix scrollbar interaction (#15743) @Umerbhat + + ```diff + - + + + ``` + + We recommend the default value since `mouseup` will be triggered by clicks + on scrollbars. + +- [Tabs] Hide scrollbar buttons when possible (#15676) @whitneymarkov + + ```diff + - + + + ``` + +- [Tabs] Remove deprecated fullWidth and scrollable props (#15670) @mbrookes + + ```diff + - + + + ``` + +### Changes + +- [ButtonBase] Convert to function component (#15716) @eps1lon +- [CssBaseline] Fix wrong default font weight (#15747) @oliviertassinari +- [InputBase] Convert to function component (#15446) @adeelibr +- [Popups] Allow Element as anchor el (#15707) @eps1lon +- [Portal] Fix disablePortal not working (#15701) @imdaveead +- [Radio] Animate the check state change (#15671) @imdaveead +- [Tabs] Remove deprecated fullWidth and scrollable props (#15670) @mbrookes +- [Tabs] Update rendering of auto-scrollable buttons (#15676) @whitneymarkov +- [Tabs] Update onChange docs to match types (#15672) @jharrilim +- [ToggleButtonGroup] Add size prop (#15644) @isaacblinder + +### `@material-ui/icons@v4.0.0-rc.0` + +- [icons] Forward ref (#15683) @eps1lon + +### `@material-ui/lab@v4.0.0-alpha.12` + +- [SpeedDial] Convert to function component (#15737) @jeongsd + +### Docs + +- [docs] Add showcase criteria (#15686) @cvanem +- [docs] Document if a component is StrictMode compatible (#15718) @eps1lon +- [docs] Fix "enebles" typo on Palette page (#15719) @sbward +- [docs] Fix a typo (#15709) @designorant +- [docs] Fix Algolia top level duplication (#15738) @oliviertassinari +- [docs] Fix typo and formatting in app-bar demo (#15723) @flying-sheep +- [docs] Overhaul bundle size guide (#15739) @eps1lon +- [docs] Persist the side nav scroll (#15704) @oliviertassinari +- [docs] Port blog to next (#15711) @mbrookes +- [docs] Simplify /related-projects (#15702) @pinturic +- [docs] Use pickers from material-ui namespace (#15691) @eps1lon +- [docs] Warn about ButtonBase#disableRipple and a11y (#15740) @eps1lon +- [docs] Add ClickAwayListener breaking change (#15753) @eps1lon +- [docs] Core a11y improvements (#15748) @eps1lon +- [docs] Fix some apostrophe in TypeScript doc (#15757) @DDDDDanica + +### Core + +- [test] Colocate shadow root test for focus visible with implementation (#15712) @eps1lon +- [test] Extend StrictMode tests (#15714) @eps1lon +- [core] Add missing fontStyle type to TypographyStyle (#15733) @merceyz + +## 4.0.0-beta.2 +###### *May 13, 2019* + +A big thanks to the 13 contributors who made this release possible! + +This is a stability release preparing v4. + +### `@material-ui/core@v4.0.0-beta.2` + +- [Box] Add export to barrel (index.js) (#15602) @ljvanschie +- [ButtonBase] Extend error message for invalid `component` prop (#15627) @eps1lon +- [Select] Add to docs that options must be direct descendants (#15619) @bh1505 +- [SwipeableDrawer] Remove internal accesses in the tests (#15469) @joshwooding +- [Tabs] scrollButtons have an empty button error in compliance tools (#15646) @elnikolinho +- [useScrollTrigger] Enhance trigger, improve tests (#15634) @cvanem + +### `@material-ui/styles@v4.0.0-beta.2` + +- [styles] Fix warning false positive (#15595) @oliviertassinari +- [styles] Keep MuiThemeProvider for backward compatibility (#15650) @oliviertassinari + +### `@material-ui/system@v4.0.0-beta.2` + +- [system] Fix css function rejecting certain prop types (#15611) @eps1lon + +### `@material-ui/lab@v4.0.0-alpha.11` + +- [SpeedDial] Fix classname override logic (#15652) @janhesters + +### Docs + +- [docs] Add custom default props handler (#15473) @eps1lon +- [docs] Add next page link (#15656) @mbrookes +- [docs] Add QuintoAndar in the showcase (#15622) @oliviertassinari +- [docs] Fix dead David DM badges in README (#15667) @mbrookes +- [docs] Fix few grammar issues (#15643) @DDDDDanica +- [docs] Fix plural spelling (#15613) @cvanem +- [docs] Fix some dev-only warnings (#15640) @eps1lon +- [docs] Fix the adapting makeStyles based on props example syntax (#15621) @devarsh +- [docs] Improve installation instructions for running the docs locally (#15608) @andreawaxman +- [docs] Improve v3 migration guide (#15615) @eps1lon +- [docs] Link edit page button to github editor (#15659) @mbrookes +- [docs] Miscellaneous polish (#15665) @eps1lon +- [docs] Reorganize the structure (#15603) @mbrookes +- [docs] Update the translations (#15653) @mbrookes + +### Core + +- [core] Drop partial chrome 41 support (#15630) @eps1lon +- [core] Optimize clsx usage (#15589) @merceyz +- [core] Remove react-event-listener from function components (#15633) @joshwooding +- [core] Upgrade the dev dependencies (#15590) @oliviertassinari + +## 4.0.0-beta.1 +###### *May 5, 2019* + +A big thanks to the 19 contributors who made this release possible! + +Here are some highlights ✨: + +- 🐛 Many bug fixes based on people migrating from v3 to v4. +- 💄 Responsive font sizes (#14573) @n-batalha. +- 💄 AppBar scroll behavior (#15522) @cvanem. +- ♿️ Better Button and Tooltip keyboard behavior (#15398, #15484) @eps1lon. +- And many more 🔍 TypeScript fixes and 📚 documentation improvements. + +### `@material-ui/core@v4.0.0-beta.1` + +### Bug fixes / Breaking changes + +- [ListItem][ExpansionPanel] Follow the style convention (#15534) @oliviertassinari + Fix a CSS override issue. +- [Tooltip] Display only on keyboard focus (#15398) @eps1lon + Fix an accessibility issue. + +### Changes + +- [AppBar] Hide and Elevate on Scroll (#15522) @cvanem +- [Box] Add to core index TypeScript definitions (#15576) @ljvanschie +- [ButtonBase] Use fork of focus-visible polyfill (#15484) @eps1lon +- [Menu] Add 'variant' prop TypeScript declaration (#15556) @kunimart +- [MenuList] Ignore disableListWrap for text focus navigation (#15555) @ryancogswell +- [Portal] Migrate to React hooks (#15399) @gautam-pahuja +- [TableCell] Fix TypeScript declaration of the 'padding' prop (#15516) @kunimart +- [TableCell] Update TypeScript definitions (#15541) @ljvanschie +- [TablePagination] Use OverridableComponent in TypeScript declarations (#15517) @kunimart +- [Tabs] Fix aria-label issue on the demos (#15507) @amangalvedhekar +- [theme] Responsive font sizes (#14573) @n-batalha +- [Transition] Fix false-positive ref warning (#15526) @eps1lon +- [Badge] Handle undefined badgeContent rendering empty bubble (#15581) @Naismith + +### `@material-ui/styles@v4.0.0-beta.1` + +- [styles] Create a new JSS instance with injectFirst (#15560) @oliviertassinari +- [core] Set default theme type for makeStyles (#15549) @merceyz +- [core] Set default theme type for useTheme (#15538) @merceyz + +### `@material-ui/types@v4.0.0-beta.2` + +- [types] Add @material-ui/types package (#15577) @eps1lon + +### `@material-ui/system@v4.0.0-beta.1` + +- [system] Test types (#15575) @eps1lon + +### `@material-ui/lab@v4.0.0-alpha.10` + +- [Slider] Save focus after click (#15439) @jztang + +### Docs + +- [example] Fix TypeScript compilation error (#15550) @emmtqg +- [docs] Add DelayingApperance TypeScript demo (#15551) @merceyz +- [docs] Convert react-autosuggest demo to TypeScript (#15485) @nareshbhatia +- [docs] Document v4 theme.spacing.unit deprecation (#15571) @cvanem +- [docs] Extract inherited component from test (#15562) @eps1lon +- [docs] Fix Draggable Dialog interactions with the content (#15552) @devdanco +- [docs] Fix outdated links & demos (#15521) @oliviertassinari +- [docs] Fix typechecking (#15501) @merceyz +- [docs] Fix typography demo in dark mode (#15591) @jztang +- [docs] Improve v3 migration guide (#15527) @janhesters +- [docs] Migrate more demos to hooks (#15494) @merceyz +- [docs] Remove NoSsr where possible (#15510) @oliviertassinari +- [docs] Simplify wording for customization demo descriptions (#15539) @mbrookes +- [docs] Update Changelog (#15567) @oliviertassinari +- [docs] Updated v3 Migration guide (#15518) @vkasraj + +### Core + +- [core] Add additional warnings when attaching ref to function elements (#15519) @eps1lon +- [core] Add ref prop to transition components (#15520) @eps1lon +- [core] Better handle theme.overrides pseudo-classes (#15578) @oliviertassinari +- [core] Fix createStyles not being defined (#15547) @pvdstel + +## 4.0.0-beta.0 +###### *Apr 28, 2019* + +A big thanks to the 21 contributors who made this release possible! + +Here are some highlights ✨: + +- ♿️ Significantly improve the keyboard behavior of the menu (#15360, #15495) @ryancogswell. +- 💅 Generate global class names (#15140) @oliviertassinari. +- 📦 Add example integration with Preact (#15401). +- 🔥 Continue the TypeScript and hook demos migration @merceyz, @bh1505, @donigianrp, @eluchsinger, @eps1lon, @lksilva. +- 🎀 4 more core components migrated from Classes to Hooks @joshwooding. +- 📦 Reduce the cost of using the Modal by -74% standalone (#15466). +- And many more 🐛 bug fixes and 💄 improvements. + +The library has entered the beta phase of v4. +We are grateful to all the contributors that have helped us so far. +We will focus or effort on the stability of the library for the next two weeks. +We don't plan more breaking changes, at the exception of changes that are required to fix bugs or that have minor impacts. +We hope we can release v4 on May 15th, one year after v1. + +Please try the beta out! You can find an [upgrade guide](https://material-ui.com/guides/migration-v3/) to ease the transition. +You will learn more about v4 in the final release blog post and our plans for the future. + +### `@material-ui/core@v4.0.0-beta.0` + +#### Breaking Changes + +- [styles] Generate global class names (#15140) @oliviertassinari + Remove the dangerouslyUseGlobalCSS options (makes it the default behavior). +- [Modal] -74% bundle size reduction when used standalone (#15466) @oliviertassinari + Remove the classes customization API for the Modal component. +- [core] Remove RootRef usage (#15347) @joshwooding + The Modal and Dialog child needs to be able to hold a ref. + + ```diff + class Component extends React.Component { + render() { + return

+ } + } + -const MyComponent = props =>
+ +const MyComponent = React.forwardRef((props, ref) =>
); + + +
+ ``` + +- [ClickAwayListener] Hide react-event-listener (#15420) @oliviertassinari +- [Slide] Convert to function component (#15344) @joshwooding + The child needs to be able to hold a ref. + + ```diff + class Component extends React.Component { + render() { + return
+ } + } + -const MyComponent = props =>
+ +const MyComponent = React.forwardRef((props, ref) =>
); + + +
+ ``` + +#### Changes + +- [TextField] Update labelWidth for outline variant if required is updated (#15386) @dmiller9911 +- [Breadcrumbs] Fix types and enable component generic props (#15414) @Atralbus +- [TextField] Pass rowsMin prop to underlying abstractions (#15411) @pachuka +- [SelectInput] Convert to function component (#15410) @joshwooding +- [Link] Improve TypeScript integration with react-router (#15412) @pachuka +- [ButtonBase] Remove dead style (#15503) @koshea +- [Menu] Improve performance and add support for variants (#15360) @ryancogswell +- [MenuList] Add text keyboard focus navigation (#15495) @ryancogswell +- [Modal] -74% bundle size reduction (#15466) @oliviertassinari +- [Paper] Fix color inheritance issue using nested themes (#15465) @mustafahlvc +- [Popper] Convert to function component (#15405) @joshwooding +- [Radio][Checkbox] Revert breaking changes (#15483) @oliviertassinari +- [Select] Display 0 as a valid value, fix a propType warning (#15468) @Princezhm +- [Slider] Add Customized Slider Demo (#15478) @bh1505 +- [Snackbar] Convert to function component (#15504) @adeelibr +- [Textarea] Fix cursor jump (#15436) @oliviertassinari +- [Textarea] Remove rowsMin prop (#15430) @pachuka + +### `@material-ui/styles@v4.0.0-beta.0` + +- [styles] Add type test for withStyles + ref (#15383) @eps1lon +- [styles] Warn if @material-ui/styles is duplicated (#15422) @oliviertassinari +- [styles] Generate global class names (#15140) @oliviertassinari + +### Docs + +- [docs] Add Button + react-router TypeScript demo (#15382) @eps1lon +- [docs] Add CustomizedSwitches TypeScript demo (#15424) @donigianrp +- [docs] Add Interactive List TypeScript demos (#15416) @lksilva +- [docs] Add Nested List and Switch List Secondary TypeScript demos (#15493) @bh1505 +- [docs] Add ref vs dom node prop explanation (#15458) @eps1lon +- [docs] Add Selected List Item to TypeScript demos (#15417) @lksilva +- [docs] Add SkipNav (#15409) @mbrookes +- [docs] Add some Selection-Controls TypeScript demos (#15408) @bh1505 +- [docs] Add switches TypeScript demo (#15384) @JarkEMones +- [docs] Add TypeScript demo for hook+props based styling (#15459) @eps1lon +- [docs] Document Tooltip breaking changes (#15403) @joshwooding +- [docs] Fix modal demo jumping on cursor move (#15462) @eps1lon +- [docs] Improve CSS Grid documentation (#15477) @dmwyatt +- [docs] Improved demo transpiling (#15438) @merceyz +- [docs] material-table demo: persist the changes (#15392) @mbrn +- [docs] Migrate Divider demos to hooks (#15490) @merceyz +- [docs] Migrate Drawer demos to hooks (#15487) @merceyz +- [docs] Migrate List demos to hooks (#15488) @merceyz +- [docs] Migrate Paper demos to hooks (#15489) @merceyz +- [docs] Migrate picker demos to hooks (#15390) @merceyz +- [docs] Migrate Table demos to hooks (#15486) @merceyz +- [docs] Migrate TextField demos to hooks (#15434) @merceyz +- [docs] Remove unused imports and declarations (#15479) @merceyz +- [docs] Separate out selection controls to own pages (#15427) @mbrookes +- [docs] Small grammar fix for Menu (#15475) @mbrookes +- [docs] Transfer List TypeScript Demo (#15419) @eluchsinger +- [example] Add preact-next example (#15401) @oliviertassinari +- [example] Fix gatsby-next (#15406) @TheHolyWaffle + +### Core + +- [core] Fix the CI fail (#15428) @oliviertassinari +- [ci] Fail when demos are only available in TS (#15460) @eps1lon +- [core] Fix useLayoutEffect warnings on the server (#15463) @eps1lon +- [core] Minor nitpicks (#15432) @joshwooding +- [core] Use terser for minification in umd bundle (#15491) @eps1lon +- [test] Conform components forward ref to root component (#15425) @eps1lon +- [test] Fix a flaky test (#15445) @oliviertassinari +- [test] Keep track of the bundle size of TrapFocus (#15453) @oliviertassinari + +## 4.0.0-alpha.8 +###### *Apr 17, 2019* + +A big thanks to the 27 contributors who made this release possible! + +Here are some highlights ✨: + +- 🔥 Many new TypeScript & hook demos @donigianrp, @sperry94, @jasondashwang, @cahilfoley, @bh1505 and @kenzhemir +- 🎀 5 more core components migrated from Classes to Hooks @joshwooding, @oliviertassiari. +- 📐 Update the List to better match the Material Design specification. +- 🎁 Add new TransferList component @mbrookes. +- And many more 🐛 bug fixes and 💄 improvements. + +We hope the next release can be 4.0.0-beta.0. +Here are the last breaking changes we want to introduce: + +- Remove the `dangerouslyUseGlobalCSS` option (make it the default behavior) (#15140) +- Require the Slide and Modal child element to be able to hold a ref (#15344, #15347) +- Hide the EventListener dependency of ClickAwayListener (#15126) + +We have done a lot of changes in the alpha phase. +The beta phase will be used to stabilize the library, we might have introduced bugs. +We will encourage people to try the beta out. We hope the migration will be smooth [with the upgrade guide](https://material-ui.com/guides/migration-v3/). + +We hope 2-3 weeks of beta will be enough. We plan on releasing v4 stable in May. + +### `@material-ui/core@v4.0.0-alpha.8` + +#### Breaking Changes + +- [Paper] Reduce the default elevation (#15243) @oliviertassinari + Change the default Paper elevation to match the Card and the Expansion Panel: + + ```diff + - + + + ``` + +- [List] Update to match the specification (#15339) @oliviertassinari + Rework the list components to match the specification: + + - The usage of the `ListItemAvatar` component is required when using an avatar + - The usage of the `ListItemIcon` component is required when using a left checkbox + - The `edge` property should be set on the icon buttons. + +- [actions] Rename disableActionSpacing to disableSpacing (#15355) @oliviertassinari + + - [CardActions] Rename the `disableActionSpacing` prop `disableSpacing`. + - [CardActions] Remove the `disableActionSpacing` CSS class. + - [CardActions] Rename the `action` CSS class `spacing`. + - [DialogActions] Rename the `disableActionSpacing` prop `disableSpacing`. + - [DialogActions] Rename the `action` CSS class `spacing`. + - [ExpansionPanelActions] Rename the `action` CSS class `spacing`. + +- [Tooltip] Convert to function component (#15291) @joshwooding + The child of the `Tooltip` needs to be able to hold a ref + + ```diff + class Component extends React.Component { + render() { + return
+ } + } + -const MyComponent = props =>
+ +const MyComponent = React.forwardRef((props, ref) =>
); + + +
+ ``` + +#### Changes + +- [ScrollbarSize] Convert to function component (#15233) @joshwooding +- [InputBase] Fix placeholder bug in Edge (#15267) @rodrigolabs +- [TransferList] Add new component (#15232) @mbrookes +- [withMobileDialog] Improve types (#15276) @eps1lon +- [Collapse] Convert to function component (#15248) @joshwooding +- [DialogContent] Add divider prop type for TypeScript (#15273) @sperry94 +- [Tab] Remove outdated classes from the definitions (#15297) @zheeeng +- [Tooltip] Suppress disabled button warning when controlled (#15304) @tasinet +- [typescript] Generic props for FormControl, FormLabel, List (#15292) +- [Select] Fix incorrect event.target type in onChange (#15272) @sperry94 +- [Popper] Fix to defer setting of exited state to Transition component (#15250) @Sharakai +- [Modal] Fix to defer setting of exited state to Transition component (#15266) @Sharakai +- [InputBase] Fix onFilled/onEmpty being called during render (#15319) @eps1lon +- [Tooltip] Convert to function component (#15291) @joshwooding +- [Ripple] Convert to function component (#15345) @joshwooding +- [Textarea] Refactor the implementation (#15331) @oliviertassinari +- [Modal] Add reason parameter to onClose function signature (#15373) @JarkEMones +- [Box] Test props to attributes forwarding (#15365) @eps1lon +- [Container] Add component prop for TypeScript (#15369) @Amere +- [Popper] Fix popperOptions prop (#15359) @jaipe + +### `@material-ui/styles@v4.0.0-alpha.8` + +- Fix dependency duplication issue @oliviertassinari +- [styles] Improve typings for makeStyles (#15366) @geirsagberg + +### `@material-ui/system@v4.0.0-alpha.8` + +- [system] Add types (#15357) @eps1lon + +### `@material-ui/docs@v4.0.0-alpha.8` + +- [NProgressBar] Add types (#15380) @eps1lon + +### Docs + +- [docs] Fix layout glitch when changing sort-by in showcases (#15255) @thomasnordquist +- [docs] Add Checkbox TypeScript demo (#15222) @donigianrp +- [docs] Add CheckboxLabel TypeScript demo (#15237) @donigianrp +- [docs] Adding Most Stepper TypeScript Demos (#15223) @sperry94 +- [docs] Add CustomInputBase TypeScript demo (#15209) @jasondashwang +- [docs] Add most Drawer TypeScript demos (#15119) @cahilfoley +- [docs] Slight grammar changes to color.md (#15257) @raybooysen +- [docs] Document sharing makeStyles between components (#15234) @johnraz +- [docs] Improve the @material-ui/styles documentation (#15236) @oliviertassinari +- [docs] Add CheckboxesGroup TypeScript demo (#15228) @donigianrp +- [docs] Delete legacy lab/layout (#15285) @mbrookes +- [docs] Proof the Styles section (#15268) @mbrookes +- [docs] Enable react profiling in production (#15282) @eps1lon +- [docs] Improve table demos (#15281) @eps1lon +- [docs] Add ClippedDrawer TypeScript demo (#15284) @cahilfoley +- [docs] Add most Dialog TypeScript demos (#15271) @sperry94 +- [docs] Who's using Material-UI? (#15301) @mbrookes +- [examples] Fix HTML end tag (#15293) @raybooysen +- [docs] Update version filter (#15307) @mbrookes +- [docs] Removed styled-components in gatsby-next dependencies (#15313) @tatchi +- [docs] Improve ServerStyleSheets documentation (#15287) @raymondsze +- [docs] Add Select TypeScript demos (#15288) @cahilfoley +- [docs] Fix placeholder position in react-select demo (#15332) @merceyz +- [docs] Add some List TypeScript demos (#15323) @bh1505 +- [docs] Disable the table of content on a few pages (#15338) @oliviertassinari +- [docs] Document ref forwarding (requirements) (#15298) @eps1lon +- [example] Add Reason example (#15340) @Tevinthuku +- [docs] Migrate docs' breadcrumbs page to hooks (#15349) @kenzhemir +- [docs] Provide a definition to root element and component (#15337) @oliviertassinari +- [docs] update FAQ doc (#15356) @gautam-pahuja +- [docs] Expand demo by default instead of duplicating the code (#15364) @eps1lon +- [docs] Promote material-table (#15367) @oliviertassinari +- [docs] Improve the customization demos (#15368) @oliviertassinari +- [docs] Use tsx syntax highlighting (#15385) @eps1lon + +### Core + +- [core] Allow docs:dev access over local network (#15259) @eps1lon +- [core] Type ref for components (#15199) @eps1lon +- [core] Dedupe lockfile (#15260) @eps1lon +- [core] Ref cleanup (#15261) @eps1lon +- [test] Add undesired withStyles + generic props component behavior (#15215) @eps1lon +- [Transition] Update transition tests (#15249) @joshwooding +- [core] Switch from buttonRef to ref usage (#15296) @eps1lon +- [core] Synchronise value and checked prop typing (#15245) @joshwooding +- [test] Use skip instead of testComponentPropWith: false (#15309) @eps1lon +- [core] Reduce calls to actions props (#15312) @eps1lon +- [test] Use actual React.memo (#15321) @eps1lon +- [core] Add `strict` option to createMount (#15317) @eps1lon +- [core] Use implicit children spread (#15354) @oliviertassinari +- [core] Reduce calls to actions prop (#15370) @eps1lon +- [core] Upgrade react-transition-group (#15375) @eps1lon +- [test] Add missing styles tests (#15376) @ellisio +- [test] Add hoc + overrideable component workaround (#15381) @ellisio +- [utils] Fix lazy and memo components issuing forward ref warnings (#15322) @eps1lon + +## 4.0.0-alpha.7 +###### *Apr 8, 2019* + +A big thanks to the 24 contributors who made this release possible! + +Here are some highlights ✨: + +- 🔥 Many new TypeScript & hook demos @Dudrie, @jasondashwang, @sperry94, @Adherentman, @gabrielgene and @Tevinthuku +- 🎀 6 more core components migrated from Classes to Hooks @joshwooding. +- 📐 Update the selection controls and Snackbar to better match the Material Design specification. +- And many more 🐛 bug fixes and 💄 improvements. + +### `@material-ui/core@v4.0.0-alpha.7` + +#### Breaking Changes + +- [Switch][Radio][Checkbox] Improve specification compliance (#15097) @oliviertassinari + + Refactore the implementation to make it easier to override the styles. + Rename the class names to match the specification wording: + + ```diff + -icon + -bar + +thumb + +track + ``` + +- [Snackbar] Match the new specification (#15122) @oliviertassinari + + - Change the dimensions + - Change the default transition to from `Slide` to `Grow`. + +- [TextField] Fix height inconsistency (#15217) @gautam-relayr + + Remove the `inputType` class from `InputBase`. + +#### Changes + +- [Box] Add remaining props to type declaration (#15101) @iamsoorena +- [theme] Prepare the deprecation of theme.mixins.gutters (#15124) @oliviertassinari +- [Switch] Add demo for labels on both sides (#14900) @s7dhansh +- [Zoom] Convert to function component (#15133) @joshwooding +- [Tab] Remove internal indicator prop types (#15143) @sperry94 +- [Grid] Add root class (#15163) @eps1lon +- [Grow] Convert to function component (#15134) @joshwooding +- [CardMedia] Move object-fit to the core (#15166) @gebigoma +- [core] Forward ref in Collapse, Popper and SwipeableDrawer (#15170) @eps1lon +- [Popover] Fix the warning when anchorReference="anchorPosition" (#15182) @xaviergonz +- [styles] Fix getLuminance for hsl (#14391) @strayiker +- [Select] Trigger the open callbacks even when uncontrolled (#15176) @rreznichenko +- [Popover] Add warning when non-ref-holding component is used in Paper (#15181) @eps1lon +- [TablePaginationActions] Convert to function component (#15189) @joshwooding +- [TextField] Add links to Input and Select (#15148) @MrHen +- [CardMedia] Allow generic component in TypeScript (#15098) @Domino987 +- [Button] Improve types with regard to react-router (#15193) @eps1lon +- [NoSsr] Convert to function component (#15167) @joshwooding +- [ClickAwayListener] Remove findDOMNode usage (#15179) @eps1lon +- [FormControl] Convert to function component (#15208) @joshwooding +- [SwitchBase] Convert to function component (#15188) @joshwooding + +### `@material-ui/styles@v4.0.0-alpha.7` + +- [styles] Fix types of ServerStyleSheets.collect (#15156) @evenchange4 +- [styles] Add injectFirst to StylesOptions interface (#15192) @stefanorie +- [styles] Memoize theme to prevent re-rendering (#15201) @jhrdina + +### Docs + +- [docs] SimplePortal example using Hooks (#15125) @ralvs +- [example] Simplify ssr examples (#15127) @oliviertassinari +- [docs] Add Grid List TypeScript demos (#15118) @Dudrie +- [docs] Polish Snackbar demos (#15129) @eps1lon +- [docs] More Table TypeScript demos (#15086) @jasondashwang +- [docs] Add most Progress TypeScript demos (#15104) @sperry94 +- [docs] Flatten /layout/layout (#15120) @oliviertassinari +- [docs] Migrate docs' App Bar page to hooks (#15121) @gabrielgene +- [docs] Migrate docs' Tooltips page to hooks (#15137) @gabrielgene +- [docs] Use Date type instead of any for MUI pickers demo (#15144) @gabrielgene +- [docs] Add virtualized List example (#15149) @joshwooding +- [docs] Update Style Library Interoperability + Container forwardRef (#15147) @oliviertassinari +- [docs] Run the TypeScript demos (#15159) @oliviertassinari +- [docs] Add Breadcrumbs TypeScript demos (#15139) @Adherentman +- [docs] Fix anchor link (#15174) @eps1lon +- [docs] Convert customized select component to use hooks (#15177) @Tevinthuku +- [docs] Add ExpansionPanels TypeScript Demo (#15162) @Adherentman +- [docs] Add ref forwarding to API docs (#15135) @eps1lon +- [docs] Add ImgMediaCard TypeScript demo (#15130) @jasondashwang +- [docs] Link 'React Material-UI Cookbook' (#15211) @oliviertassinari +- [docs] Fix the docs in dev mode for IE 11 (#15230) @oliviertassinari +- [docs] New translations (#15235) @mbrookes +- [examples] Update all the examples + page layout examples (#15219) @nareshbhatia +- [docs] Tidy up moved / deleted translations and update the Crowdin config (#15247) @mbrookes + +### Core + +- [test] Forward ref behavior (#15131) @eps1lon +- [core] Use explicit html entity (#15132) @eps1lon +- [test] Decouple root class from root component (#15168) @eps1lon +- [core] Polish `type` type of button related components (#15158) @eps1lon +- [DialogContentText] Test conformance (#15206) @eps1lon + +## 4.0.0-alpha.6 +###### *Mar 30, 2019* + +A big thanks to the 20 contributors who made this release possible! + +Here are some highlights ✨: + +- 🔥 Many new TypeScript & hook demos @eluchsinger, @sperry94, @Dudrie. +- 🎀 5 more core components migrated from Classes to Hooks @joshwooding. +- ⚛️ A simpler server-side rendering API (#15030). +- 💅 Better typography defaults (#15100) @oliviertassinari +- And many more 🐛 bug fixes and 💄 improvements. + +### `@material-ui/core@v4.0.0-alpha.6` + +#### Breaking Changes + +- [Typography] Better defaults (#15100) @oliviertassinari + + - Change the default variant from `body2` to `body1`. + A font size of 16px is a better default than 14px. + Bootstrap, material.io or even our documentation use 16px as a default font size. + 14px like Ant Design is understandable as Chinese users have a different alphabet. + We document 12px as the default font size for Japanese. + - Remove the default color from the typography variants. + The color should inherit most of the time. It's the default behavior of the web. + - Rename `color="default"` to `color="initial"` following the logic of #13028. + The usage of *default* should be avoided, it lakes semantic. + +- [Container] Move to the core (#15062) @oliviertassinari + +#### Changes + +- [Box] Use the default theme (#15019) @apanizo +- [SwipeableDrawer] Ignore open swipe if it didn't start on the swipe area (#15045) @leMaik +- [Divider] Enable component generic props (#15040) @StevenGodin +- [ListItem] Add type test for button prop (#15049) @eps1lon +- [Button] Fix typing for type-attribute (#15077) @karlbohlmark +- [RadioGroup] Remove cloneElement, use the context (#15069) @oliviertassinari +- [Popover] Add warning to Popover if anchorRef is not visible (#15090) @alexmironof +- [MobileStepper] Support variant "text" (#15108) @AcidRaZor +- [Tabs] Update so that tabs keep equal widths (#15114) @sosaucily + +### `@material-ui/styles@v4.0.0-alpha.6` + +- [styles] Fix IE 11 issue (#15034) @oliviertassinari +- [styles] Use the hook directly in styled() (#15029) @oliviertassinari +- [styles] Add a new injectFirst prop (#15028) @oliviertassinari +- [styles] Go back to index counter (#15044) @oliviertassinari +- [styles] Server-side rendering API (#15030) @oliviertassinari +- [styled] Correct doc and typings for styled with theme (#15004) @sveyret + +### `@material-ui/lab@v4.0.0-alpha.6` + +- [Slider] Fix onChange not being fired on single touch (#14998) @ahockersten + +### Docs + +- [docs] Add keyframes in the v3 -> v4 upgrade guide (#15039) @oliviertassinari +- [docs] Migrate one demo to the hooks (#15031) @oliviertassinari +- [docs] Add TypeScript demos for Dividers (#15037) @eluchsinger +- [docs] Add Chip TypeScript demo for Chip array (#15050) @sperry94 +- [docs] Add MQTT Explorer to showcases (#15033) @thomasnordquist +- [docs] Fix CustomizedTabs demo (#15065) @HaNdTriX +- [docs] Add a new site to showcase (learnseeker) (#15064) @ravishwetha +- [docs] Add Tabs TypeScript demo (#15053) @sperry94 +- [docs] Migrate docs' badge page to hooks (#15109) @apanizo +- [docs] Migrate docs' buttons page to hooks (#15110) @apanizo +- [docs] Add Pickers TypeScript demos (#15103) @sperry94 +- [docs] Migrate Avatar demo page to the hooks (#15116) @rick-mo +- [docs] Add Snackbars TypeScript Demos (#15087) @sperry94 +- [docs] Add Tooltip TypeScript demos (#15061) @Dudrie + +### Core + +- [ToggleButtonGroup] Convert to function component (#15025) @joshwooding +- [ToggleButton] Convert to function component (#14965) @joshwooding +- [Fade] Convert to function component (#15027) @joshwooding +- [performance] Add live pages (#15046) @oliviertassinari +- [ExpansionPanelSummary] Convert to function component (#15043) @joshwooding +- [test] Add conformance suite (#14958) @eps1lon +- [Menu] Convert to function component (#15068) @joshwooding +- [test] Update enzyme (#14987) @eps1lon +- [core] Batch of fixes (#15115) @oliviertassinari + +## 3.9.3 +###### *Mar 28, 2019* + +Big thanks to the 11 contributors who made this release possible! + +This release fixes an important regression with TypeScript: https://github.com/mui-org/material-ui/issues/15076. + +### `@material-ui/core@v3.9.3` + +- [Select] Open select when focused with enter (#14452) @oknechirik +- [Tooltip] Fix children focus detection (#14496) @codeheroics +- [SwipeableDrawer] Ignore open swipe if it didn't start on the swipe area (#15038) @leMaik +- [Button] Narrow type for `type` prop (#15096) @karlbohlmark + +### Docs + +- [docs] Fix hooks codesandbox broken (#14553) @Abbo44 +- [docs] Fix typo in simple breadcrumbs example (#14575) @AndrewUsher +- [blog] Material-UI Developer Survey 2019 (#14614) @oliviertassinari +- [docs] Change Gitter to Spectrum (#14668) @mbrookes +- [docs] Update link to http://cssinjs.org/jss-api/ (#14788) @monicatie +- [docs] Add Algolia metadata (#14835) @oliviertassinari +- [docs] Improve overrides.md wording (#14403) @i0 +- [docs] Grammar fix (#14960) @nateq314 + +### Core + +N/A + +## 4.0.0-alpha.5 +###### *Mar 23, 2019* + +A big thanks to the 23 contributors who made this release possible! + +Here are some highlights ✨: + +- 📝 A new ROADMAP (#14923). +- 📝 Many new TypeScript demos @vitkon, @cojennin, @Dudrie, @rahmatrhd, @jasondashwang. +- And many more 🐛 bug fixes and 💄 improvements. + +### `@material-ui/core@v4.0.0-alpha.5` + +#### Breaking Changes + +- [TextField] Prevent fullwidth textfield expanding the screen (#14988) @FMcIntosh + + Change the default box sizing model of the `InputBase`. It uses the following CSS now: + ```css + box-sizing: border-box; + ``` + It solves issues with the `fullWidth` prop. +- [Modal] Ignore event.defaultPrevented (#14991) @oliviertassinari + + The new logic closes the Modal even if `event.preventDefault()` is called on the key down escape event. + `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. + You should use `event.stopPropagation()` if you don't want to trigger an `onClose` event on the modal. + +#### Changes + +- [Popover] Correct warning for tall component (#14925) @vitkon +- [List] Memoize context value (#14934) @mkermani144 +- [Typography] Add a custom, self-hosted font demo (#14928) @johnrichter +- [RadioGroup] Warn for uncontrolled <-> controlled switch (#14878) @manonthemat +- [Slide] Attach ref to child instead of Transition (#14847) @eps1lon +- [Grid] Fix zeroMinWidth proptype warning (#14967) @pmacom +- [TextField] Reduce the specificity (#14953) @oliviertassinari +- [MenuList] Convert to a function component (#14865) @ryancogswell +- [Popper] Add ClickAwayListener documentation (#14986) @charlax +- [RadioGroup] Convert to a function component (#14964) @joshwooding +- [Tab] Enable generic props (#15003) @caroe233 +- [Tooltip] Make enterTouchDelay match the specification (#15008) @devsumanmdn +- [Chip] Support pressing delete to delete a chip (#14978) @keeslinp +- [Box] Improve TypeScript definitions (#15024) @pheuter + +### `@material-ui/styles@v4.0.0-alpha.5` + +- [test] Remove test-only class wrappers for higher-order components (#15017) @eps1lon + +### Docs + +- [docs] Remove flow examples as outdated (#14919) @oliviertassinari +- [docs] Enable German (#14927) @mbrookes +- [docs] Add react-basket to related projects (#14941) @mbrn +- [docs] Update the ROADMAP (#14923) @oliviertassinari +- [docs] Take advantage of the default theme (#14945) @oliviertassinari +- [docs] Improve the styles interpolation documentation (#14940) @oliviertassinari +- [docs] Add Avatar TypeScript demos (#14954) @cojennin +- [docs] Add PaperSheet TypeScript demo (#14952) @vitkon +- [docs] Remove all the .hooks.js files (#14947) @oliviertassinari +- [docs] Add Badge TypeScript demo (#14969) @vitkon +- [docs] Grammar fix in FAQ (#14974) @rtalvarez +- [docs] Document how to nest style selectors (#14957) @cojennin +- [docs] BottomNavigation TypeScript docs (#14979) @vitkon +- [docs] Add some Card TypeScript demos (#15011) @Dudrie +- [docs] Add Badge TypeScript demo for Maximum Value (#15013) @rahmatrhd +- [docs] Add TypeScript demos for Simple and Spanning Table (#14985) @jasondashwang +- [docs] Add note to docs README regarding translations (#15020) @mbrookes +- [docs] Content's max width changed for large displays (#15014) @kenzhemir + +### Core + +- [core] Refactor a subset of components from classes to functions (#14854) @mbrookes +- [benchmark] Use deterministic version tags (#14968) @eps1lon +- [test] Remove test-only class wrappers for higher-order components (#15017) @eps1lon + +## 4.0.0-alpha.4 +###### *Mar 17, 2019* + +A big thanks to the 17 contributors who made this release possible! + +Here are some highlights ✨: + +- Improve the TypeScript definitions of @material-ui/styles @VincentLanglet. +- Prepare the migration of more TypeScript demos (#14896) @eps1lon. +- Complete the i18n support for the documentation (#14838) @oliviertassinari. +- And many more 🐛 bug fixes and 📝 documentation improvements. + +### `@material-ui/core@v4.0.0-alpha.4` + +#### Breaking Changes + +- [ButtonBase] Require host or ref forwarding components (#13664) @eps1lon +- [SvgIcon] Rename nativeColor -> htmlColor (#14863) @oliviertassinari + + React solved the same problem with the `for` HTML attribute, they have decided to call the prop `htmlFor`. This change follows the same reasoning. + + ```diff + - + + + ``` + +- [Divider] Remove the deprecated inset prop (#14826) @joshwooding + + ```diff + - + + + ``` + +- [Box] Remove the unstable prefix & import the right version (#14845) @pheuter + + ```diff + -import { unstable_Box as Box } from '@material-ui/core/Box'; + +import Box from '@material-ui/core/Box'; + ``` + +#### Changes + +- [Grid] Adding missing 'spacing-xs-*' to TypeScript definition (#14859) @scott-martin +- [Tabs] Fix an infinite loop (#14664) @caroe233 +- [NoSsr] Add missing defer prop to TypeScript definition (#14869) @DaleJefferson +- [core] Remove dom-helpers dependency (#14877) @oliviertassinari +- [TextField] Add typing for theme wide props override (#14879) @C-Rodg +- [Autocomplete] Add a downshift variant demo (#14881) @ekoeditaa +- [Popover][Popper] Warn when `anchorEl` is invalid (#13468) @Andarist +- [LinearProgress] Improve customization capability (#14882) @giuliogallerini +- [Popover] Fix PaperProps classname concat (#14902) @vitkon +- [MenuItem] Add buttonRef (and other button props) type (#14772) @VincentLanglet +- [TouchRipple] Remove findDOMNode usage (#14825) @eps1lon +- [ExpansionPanelSummary] Simplify overrides (#14828) @TroySchmidt +- [Popper] Use refs instead of findDOMNode (#14829) @eps1lon +- [Tab] Fix alignment when using multiple children (#14844) @HaNdTriX +- [TextField] Convert to function component (#14833) @eps1lon +- [Table] Fix demo parse rowsPerPage value as an integer (#14848) @SimplyAhmazing + +### `@material-ui/styles@v4.0.0-alpha.4` + +- [styles] Change material-ui/styles folder structure (#14868) @VincentLanglet +- [styles] Add WithThemeCreator typing (#14856) @VincentLanglet +- [styles] Add types for defaultTheme option in makeStyles (#14862) @vitkon +- [styles] Make CSSProperties public (#14802) @VincentLanglet + +### `@material-ui/lab@v4.0.0-alpha.4` + +- [Slider] Fix possible touchstart leak (#14837) @eps1lon + +### Docs + +- [docs] Prepare full TypeScript demos (#14896) @eps1lon +- [docs] Improve documentation for new component + ref behavior (#14883) @eps1lon +- [docs] Add perf section to ExpansionPanel (#14903) @eps1lon +- [docs] Simplify the /examples (#14822) @oliviertassinari +- [docs] Add ssr-next example (#14823) @oliviertassinari +- [docs] Add missing breaking changes from #14795 (#14824) @eps1lon +- [docs] Minor fixes to system demos (#14831) @jo shwooding +- Complete the i18n support for the documentation] Enable the i18n search (#14838) @oliviertassinari +- [docs] Fix babel generator extra line (#14849) @VincentLanglet +- [docs] Remove unnecessary findDOMNode usage (#14836) @eps1lon + +### Core + +- [core] Only import from top or 2nd level (#14888) @eps1lon +- [test] Leaner eslint config (#14901) @eps1lon +- [core] Upgrade the dev dependencies (#14911) @oliviertassinari +- [core] Stop using @types/jss (#14852) @VincentLanglet +- [core] Babel plugin unwrap createStyles now handle material-ui/styles package (#14850) @VincentLanglet +- [test] Fix unwrapCreateStyles tests for windows (#14832) @ryancogswell + +## 4.0.0-alpha.3 +###### *Mar 10, 2019* + +A big thanks to the 14 contributors who made this release possible! + +Here are some highlights ✨: + +- ⚛️ Increase the usage of `React.forwardRef()` (#14714, #14737, #14738, #14775) @eps1lon. +- 💅 Remove the old styles modules (#14767) @oliviertassinari. +- 📝 Migrate many demos to use the hooks API (#14805) @adeelibr. +- And many more 🐛 bug fixes and 📝 documentation improvements. + +### `@material-ui/core@v4.0.0-alpha.3` + +#### Breaking Changes + +- [useMediaQuery] Remove unstable prefix (#14593) + + ```diff + -import { unstable_useMediaQuery as useMediaQuery } from '@material-ui/core/useMediaQuery'; + +import useMediaQuery from '@material-ui/core/useMediaQuery'; + ``` +- [DialogActions] `action` CSS class is applied to root element if `disableActionSpacing={false}` instead of children (#14795) +- [DialogContentText] Use typography variant `body1` instead of `subtitle1` (#14795) + +- [MenuItem] Remove fixed height (#14799) @KyruCabading + Remove the fixed height of the MenuItem. + The padding and line-height are used by the browser to compute the height. + +#### Changes + +- [Tabs] Forward refs (#14714) @eps1lon +- [TextField] New filled variant override example (#14725) @oliviertassinari +- [FilledInput] Simplify border overrides (#14719) @C-Rodg +- [CssBaseline] Apply body2 styling to the body element (#14729) @joshwooding +- [IconButton] Add a size prop (#14649) @leMaik +- [Popover] Forward refs (#14737) @eps1lon +- [Modal] Forward refs (#14738) @eps1lon +- [createSpacing] Narrow return type (#14745) @eps1lon +- [Chip] Correct Chip TypeScript Definition Class Keys (#14750) @cvanem +- [MenuList] Remove focus method and test dependencies on instance methods (#14757) @ryancogswell +- [Dialog] Forward refs (#14775) @eps1lon +- [IconButton] Implement a new edge prop (#14758) @jedwards1211 +- [Dialog] Add a dividers boolean prop (#14795) @oliviertassinari + +### `@material-ui/styles@v4.0.0-alpha.3` + +#### Breaking Changes + +- [styles] Remove the old styles modules (#14767) @oliviertassinari + Isolation of the styling solution of the core components in a dedicated package. + - Remove the `MuiThemeProvider` component: + + ```diff + -import { MuiThemeProvider } from '@material-ui/core/styles'; + +import { ThemeProvider } from '@material-ui/styles'; + ``` + + - Remove the `@material-ui/styles/install` module. + ```diff + -import { install } from '@material-ui/styles'; + -install(); + ``` + +#### Changes + +- [styles] Improve ref forwarding (#13676) @eps1lon +- [styles] Use hoist-non-react-statics (#14722) @oliviertassinari + +### `@material-ui/lab@v4.0.0-alpha.3` + +- [SpeedDial] Change actions background color (#14640) @hburrows +- [SpeedDialAction] Pass onTouchEnd event onto called onClick handler (#14641) @hburrows + +### Docs + +- [docs] Fix Drawer demos accessibility (#14728) @tiagodreis +- [docs] Add "Portals" to the styled components documentation (#14720) @C-Rodg +- [docs] Specify PaletteIntention syntax (#14727) @ozydingo +- [docs] Add button demos in ts (#14739) @eps1lon +- [docs] Document the migration from v3 to v4 (#14741) @oliviertassinari +- [docs] before() is Mocha; beforeEach() is Jest (#14743) @masaok +- [docs] Fix IE 11 build (#14781) @oliviertassinari +- [docs] Kill as many non hook demos as possible (#14805) @oliviertassinari +- [docs] Prepare Google & Algolia i18n search + v3/v4 search (#14806) @oliviertassinari +- [docs] Speed-up pull requests build (#14811) @oliviertassinari + +### Core + +- [test] Ignore the image load issue (#14723) @oliviertassinari +- [icons] Fix builder failing on Windows (#14726) @joshwooding +- [ci] Don't use -browser images (#14779) @eps1lon +- [test] Increase the Codecov threshold (#14796) @oliviertassinari +- [test] Disable the user sandbox security feature (#14804) @oliviertassinari +- [core] Use hoist-non-react-statics (#14722) @oliviertassinari + +## 4.0.0-alpha.2 +###### *Mar 3, 2019* + +A big thanks to the 23 contributors who made this release possible! + +Here are some highlights ✨: + +- Keep working on accessibility (#14465, #14545, #14661) @eps1lon, @oliviertassinari. +- Add the Table dense support (#14561) @leMaik. +- Change the bundle size tracking strategy (copy React) (#14587) @eps1lon. +- Introduce a new Container component & new full layout demos (#14499) @oliviertassinari. +- Start removing the need for findDOMNode() (#14536) @eps1lon. +- And many more 🐛 bug fixes and 📝 documentation improvements. + +### `@material-ui/core@v4.0.0-alpha.2` + +#### Breaking Changes + +- [Tabs] Simplify override (#14638) @oliviertassinari + + We have removed the `labelContainer`, `label` and `labelWrapped` class keys. + We have removed 2 intermediary DOM elements. + You should be able to move the custom styles to the root class key. + ![](https://user-images.githubusercontent.com/3165635/53287870-53a35500-3782-11e9-9431-2d1a14a41be0.png) + +- [Table] Add dense support (#14561) @leMaik + + - We have removed the deprecated numeric property. + ```diff + -{row.calories} + +{row.calories} + ``` + - We have removed the fixed height property on the table row. + The cell height is computed by the browser using the padding and line-height. + - The `dense` mode was promoted to a different property: + ```diff + - + + + ``` + +- Every component except `Dialog`, `MenuList`, `Modal`, `Popover` and `Tabs` forward + their `innerRef` (#14536). + + This is implemented by using `React.forwardRef`. This affects the internal component + tree and display name and therefore might break shallow or snapshot tests. + `innerRef` will no longer return a ref to the instance + (or nothing if the inner component is a function component) but a ref to its root component. + The corresponding API docs list the root component. + +#### Changes + +- [core] Improve a11y for Collapse, ExpansionPanel and Grow (#14598) @eps1lon +- [Transitions] Increase minimal version of react-transition-group to 2.5.3 (#14612) @wilcoschoneveld +- [ExpansionPanelSummary] Update docs (#14606) @ifndefdeadmau5 +- [ExpansionPanel] Add TransitionComponent prop (#14617) @ptbrowne +- [Link] Color property is defined with a wrong type (#14631) @akellan +- [Tooltip] Improve legibility (#14651) @leMaik +- [Tabs] Fix variant missing in Tabs.d.ts (#14659) @Deturium +- [Autocomplete] Improve demo (#14657) @tjmcewan +- [Dialog] Support for print (#14660) @emildatcu +- [TableSortLabel] Increase size and show on hover (#14650) @leMaik +- [Modal] Fix autoFocus support (#14661) @oliviertassinari +- [InputLabel] display: block as default (#14676) @johnloven +- [InputBase] Add missing TypeScript class keys (#14684) @dmtrKovalenko +- [ListItem] Fix listItem focus (#14680) @xs9627 +- [ExpansionPanel] Improve a11y (#14682) @eps1lon + +### `@material-ui/styles@v4.0.0-alpha.2` + +- [styles] Fix the theme update support (#14697) @oliviertassinari + +### `@material-ui/lab@v4.0.0-alpha.2` + +- [Slider] Pass current value to onDragStart/onDragEnd callback (#14475) @rejas +- [Slider] Fix thumb creating scroll overflow (#14689) @xaviergonz +- [Layout] New Container component (#14499) @oliviertassinari +- [Container] Fix two exceptions (#14715) @oliviertassinari + +### `@material-ui/utils@v4.0.0-alpha.2` + +- [utils] Drop componentPropType in favor of PropTypes.elementType (#14602) @eps1lon + +## Docs + +- [MobileStepper] Remove unused classname in example (#14597) @charlax +- [docs] Update the Team (#14613) @oliviertassinari +- [docs] Solve Firefox middle click issue (#14623) @paol +- [docs] Update ScrollDialog Demo for 4k (#14622) @AndrewUsher +- [docs] Fix broken hash link in css-in-js (#14633) @furkle +- [docs] Improve demo source discoverability (#14635) @eps1lon +- [docs] Improve Grid limitations description (#14637) @ryancogswell +- [docs] Fix minor issues with demo action tooltips (#14652) @eps1lon +- [docs] Upgrade react-docgen (#14666) @eps1lon +- [docs] Update bundle size strategy (#14662) @eps1lon +- [docs] Minor next adjustments (#14679) @eps1lon +- [docs] A grammar modification suggestion (#14671) @mataxxx5 +- [docs] Link the mui-tables project in the documentation (#14701) @parkerself22 +- [docs] Generate unique hash (#14703) @oliviertassinari +- [docs] Add simple list TypeScript demo (#14485) @eps1lon +- [docs] Fix wrong source code URLs (#14716) @oliviertassinari + +## Core + +- [core] Fix webstorm autocompletion (#14599) @eps1lon +- [ci] Use dangerJS to report bundle size changes (#14587) @eps1lon +- [ci] Various size snapshot enhancements (#14620) @eps1lon +- [core] Solve Babel dependency issue (#14621) @AndrewUsher +- [core] Add eslint-plugin-react-hooks (#14629) @eps1lon +- [test] Fix size snapshot including peer dependencies (#14636) @eps1lon +- [ci] Speedup and cleanup (#14643) @eps1lon +- [test] Fix how menu items are found in MenuList integration tests (#14654) @ryancogswell +- [core] Add tslint deprecation rule (#14675) @eps1lon +- [typescript] Add regression test for popular hoc interop (#14688) @eps1lon +- [core] Fix .yarnrc syntax (#14704) @joshwooding +- [core] forward innerRef for certain components (#14536) @eps1lon +- [core] Use official prop-type cache invalidation (#14699) @eps1lon + +## 4.0.0-alpha.1 +###### *Feb 20, 2019* + +A big thanks to the 16 contributors who made this release possible! + +Here are some highlights ✨: + +- Important accessibility fixes (#14465, #14545) @eps1lon, @oliviertassinari +- Improve the Gastby integration (we will continue working on it to get something awesome) (#14552) +- Remove the deprecated Typography variants (#14562) @joshwooding +- And many more 🐛 bug fixes and 📝 documentation improvements. + +### `@material-ui/core@v4.0.0-alpha.1` + +#### Breaking Changes + +- [Typography] Remove deprecated Typography variants (#14562) @joshwooding + + - Remove the deprecated typography variants. You can upgrade by performing the following replacements: + - display4 => h1 + - display3 => h2 + - display2 => h3 + - display1 => h4 + - headline => h5 + - title => h6 + - subheading => subtitle1 + - body2 => body1 + - body1 (default) => body2 (default) + - Remove the opinionated `display: block` default typograpghy style. + You can use the new `display?: 'initial' | 'inline' | 'block';` property. + - Rename the `headlineMapping` property to better align with its purpose. + ```diff + - + + + ``` + +- [InputLabel] Remove FormLabelClasses in favor of asterisk class (#14504) @umairfarooq44 + +You should be able to override all the styles of the FormLabel component using the css API of the InputLabel component. We do no longer need the `FormLabelClasses` property. +```diff + + Foo + +``` + +- [TablePagination] Only raise a warning when the page is out of range (#14534) @leMaik + +The `TablePagination` component does no longer try to fix invalid (`page`, `count`, `rowsPerPage`) property combinations. It raises a warning instead. + +### Changes + +- [typescript] Fix theme.spacing to accept up to 4 arguments (#14539) @toshi1127 +- [Transition] Fix hidden children appearing in a11y tree (#14465) @eps1lon +- [TablePagination] Fix style issue with rpp select (#14547) @antokara +- [Modal] Improve the focus logic (#14545) @oliviertassinari + +### `@material-ui/styles@v4.0.0-alpha.1` + +#### Breaking Changes + +- [styles] Change the withTheme API (#14565) @oliviertassinari + +Remove the first option argument of `withTheme()`. The first argument was a placeholder for a potential future option. We have never found a need for it. It's time to remove this argument. It matches the emotion and styled-components API. +```diff +-const DeepChild = withTheme()(DeepChildRaw); ++const DeepChild = withTheme(DeepChildRaw); +``` + +#### Changes + +- [styles] Type ThemeProvider and getThemeProps generic (#14489) @igorbt +- [styles] 100% test coverage (#14566) @oliviertassinari +- [styles] Follow react docs for firstRender flag (#13607) @eps1lon +- [styles] Add react-hot-loader support (#14583) @oliviertassinari +- [styles] Warn if missing ThemeProvider (#14581) @oliviertassinari + +### `@material-ui/icons@v4.0.0-alpha.1` + +- [icons] Remove es folder (#14518) @mgansler + +### Docs + +- [docs] yarn command to add @material-ui/icons (#14502) @Inambe +- [docs] Update CHANGELOG.md (#14516) @saculbr +- [examples] Add lib to tsconfig (#14507) @eps1lon +- [docs] Enable es, fr, pt & ru (#14537) @oliviertassinari +- [docs] Add ts demos for menus, fixes ClickAwayListener onClickAway type (#14535) @eps1lon +- [docs] Update the styling of the TOC (#14520) @mbrookes +- [docs] Update breakpoints.md for clarity (#14527) @matthewjwhitney +- [docs] Fix Horizontal Non-linear Stepper demo (#14551) @SVTerziev +- [docs] Update the branch for Crowdin (#14550) @mbrookes +- [docs] Fix hooks codesandbox broken (#14553) @Abbo44 +- [docs] Fix css anchor link (#14554) @umairfarooq44 +- [examples] Improve the Gastby integration (#14552) @oliviertassinari +- [docs] Add examples of global class names (#14563) @n-batalha +- [docs] Change Gitter to Spectrum (#14558) @mbrookes +- [docs] Add sections about translation contributions (#14571) @eps1lon +- [docs] Localize the table of contents (#14548) @mbrookes + +### Core + +- [core] Convert remaining classNames usage (#14506) @eps1lon +- [core] Fix Prettier on next branch (#14524) @joshwooding +- [core] Fix some peer dependency warnings (#14572) @eps1lon + +## 4.0.0-alpha.0 +###### *Feb 12, 2019* + +This is our first unstable release toward Material-UI v4.0.0. We try to release a major every 6-12 months. +This gives us the opportunity to remove deprecated APIs, upgrade our peer dependencies and more importantly, keep up with the direction the community is taking. + +- You can find the documentation following this URL: https://material-ui.com/. +- You can track our progress following this URL: https://github.com/mui-org/material-ui/milestone/25. + +A big thanks to the 28 contributors who made this release possible! + +Here are some highlights ✨: + +- Increase React peer dependency to v16.8.0 (#14432) @oliviertassinari +- Improve the spacing API (#14099) @ifndefdeadmau5 +- Improve ES modules tree shake-ability (#13391) @eps1lon +- Remove recompose dependency (#14479) +- And many more 🐛 bug fixes and 📝 documentation improvements. + +### `@material-ui/core@v4.0.0-alpha.0` + +#### Breaking Changes + +- [core] Increase React peer dependency to v16.8.0 (#14432) @oliviertassinari + + The upgrade path to React 16.8.0 should be pretty easy for our users. + Introducing this breaking change in v4 enables the following: + - We can remove the recompose dependency and use the new `React.memo()` API. + - Before or after v4 is out, we can gradually migrate the core components to use the Hook API. + +- [Grid] Use a unitless spacing API (#14099) @ifndefdeadmau5 + +In order to support arbitrary spacing values and to remove the need to mentally count by 8, we are changing the spacing API: +```diff + /** + * Defines the space between the type `item` component. + * It can only be used on a type `container` component. + */ +- spacing: PropTypes.oneOf([0, 8, 16, 24, 32, 40]), ++ spacing: PropTypes.oneOf([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), +``` +Going forward, you can use the theme to implement a custom Grid spacing transformation function: https://material-ui.com/system/spacing/#transformation. + +- [theme] Make theme.palette.augmentColor() pure (#13899) @ryancogswell + +The `theme.palette.augmentColor()` method no longer performs a side effect on its input color. +In order to use it correctly, you have to use the output of this function. + +```diff +-const background = { main: color }; +-theme.palette.augmentColor(background); ++const background = theme.palette.augmentColor({ main: color }); + +console.log({ background }); +``` + +- [core] Change UMD output name to 'MaterialUI' (#13142) @tkrotoff + + This change eases the use of Material-UI with a CDN: + ```diff + const { + Button, + TextField, + -} = window['material-ui']; + +} = MaterialUI; + ``` + + It's consistent with the other projects: + - material-ui => MaterialUI + - react-dom => ReactDOM + - prop-types => PropTypes + +- [Button] Remove deprecated props and styles (#14383) @mbrookes + +Remove the deprecated button flat, raised and fab variants: + +```diff +- ++ +``` + +- [Divider] Add support for middle divider by introducing a `variant` prop (#13574) @joshwooding + +We are introducing a new variant to the divider component: middle. Following our API guideline, we can no longer use a boolean property, it needs to be an enum, hence the introduction of the variant property. + +```diff +import Divider from '@material-ui/core/Divider'; + +- ++ +``` + +#### Changes + +- [FormControlLabel] Fix documentation warnings (#13583) @dsbrutha777 +- [ExpansionPanelSummary] Fix event forwarding (#13582) @jmetev1 +- [Button] Move deprecated variants to the end of the list (#13584) @avetisk +- [FormControl] Use stable context API (#13590) @eps1lon +- [TablePagination] Improve TypeScript definition (#13601) @xiaoyu-tamu +- [SwipeableDrawer] Add `SwipeAreaProps` property (#13592) @SerhiiBilyk +- [ListItem] Add three-line support (#13553) @ntorion +- [Grid] Fix the IE 11 issue in the demo (7d2070fb388295d38806ecc49717006f34393e74) @oliviertassinari +- [Zoom] Correct transition delay value of the example (#13645) @t49tran +- [Tabs] Improve the warning message (#13640) @oliviertassinari +- [Grow] Condense the demo (#13665) @Thyix +- [Tooltip] Fix the property forwarding priority (#13667) @oliviertassinari +- [Modal] Fix the close jump on Windows (#13674) @oliviertassinari +- [Select] Support object value (#13661) @yezhi780625 +- [Menu] Fix wrong condition (#13675) @dolezel + +### `@material-ui/lab@v3.0.0-alpha.24` + +- [Slider] Fix sticky slider when mousing off the window then back in (#13479) @gkjohnson +- [Slider] Fix visual hover state on disabled slider (#13638) @eps1lon +- [Slider] Add missing thumb TypeScript definition (#13650) @dhiroll + +### `@material-ui/styles@v3.0.0-alpha.1` + +- [styles] Add TypeScript declarations (#13612) @eps1lon + +### `@material-ui/docs@v3.0.0-alpha.8` + +- Fix the @material-ui/utils require error. + +### Docs + +- [docs] Add redirect rule for moved page layout examples (#13588) @mbrookes +- [docs] Add the selfeducation.app showcase (#13620) @kulakowka +- [docs] Warn about the Dynamic CSS alpha state (#13619) @WebDeg-Brian +- [docs] Learn Material-UI (#13624) @oliviertassinari +- [docs] Add a Firebase example in the premium-theme section (#13579) @siriwatknp +- [docs] Increase clarity around the usage of font icons (#13628) @JosephMart +- [docs] Add swimmy.io to showcase page (#13637) @uufish +- [docs] Correct typo in comment of snackbar, children (#13651) @kobi +- [docs] Improve Grid limitation description (#13668) @sshevlyagin +- [docs] Fix theme menu link (#13669) @iamhosseindhv +- [docs] Change "e; to ' (#13678) @wiktoriatomzik +- [docs] Restructure the demo based on usage analytics (#13684) @oliviertassinari +- [docs] Fix typo in URL (#13688) @Malvineous + +### Core + +- [core] Update dev dependencies (#13626) @oliviertassinari +- [test] Fix codecov failing on merge commits (#13654) @eps1lon +- [core] Make prettier run programmatically (#13621) @joshwooding +- [test] Run unit/integration test on Chrome 41 (#13642) @eps1lon +- [core] Move unit test commands to their package (#13604) @eps1lon + +## 3.5.1 +###### *Nov 13, 2018* + +Big thanks to the 13 contributors who made this release possible! + +Here are some highlights ✨: + +- Introduce a new `@material-ui/styles` package 💅 (#13503). + +The Material-UI's styling solution has pretty much stayed the same [for the last 12 months](https://github.com/oliviertassinari/a-journey-toward-better-style). +Some interesting CSS-in-JS libraries like styled-components, emotion or linaria have emerged. +This new package is a significant step forward. Some of the key features: + + - Supports 4 different APIs: hooks, styled-components, higher-order components and render props. + - Allow accessing the component's props from within the style object. + - Replace the usage of the old React APIs with the new ones. + - 15.0 KB gzipped. + +Here is an example: https://codesandbox.io/s/vjzn5z4k77. + +```jsx +import Button from '@material-ui/core/Button'; +import React from 'react'; +import { makeStyles } from '@material-ui/core/styles'; + +// Like https://github.com/brunobertolini/styled-by +const styledBy = (property, mapping) => props => mapping[props[property]]; + +const useStyles = makeStyles({ + root: { + background: styledBy('color', { + red: 'linear-gradient(45deg, #FE6B8B 30%, #FF8E53 90%)', + blue: 'linear-gradient(45deg, #2196F3 30%, #21CBF3 90%)', + }), + border: 0, + borderRadius: 3, + boxShadow: styledBy('color', { + red: '0 3px 5px 2px rgba(255, 105, 135, .3)', + blue: '0 3px 5px 2px rgba(33, 203, 243, .3)', + }), + color: 'white', + height: 48, + padding: '0 30px', + }, +}); + +function MyButton(props) { + const { color, ...other } = props; + const classes = useStyles(props); + return