diff --git a/.gitignore b/.gitignore index 131f700..369c849 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ version.go notes docs/* !docs/go.mod + +main.js* +modal.js* diff --git a/README.md b/README.md index 46911cf..246c371 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,9 @@ This branch is for experimenting with [a17t](https://a17t.miles.land/) to possib * [x] accounts tab mockup * [x] settings tab mockup * [x] modal implementation -* [ ] modal content -* [ ] animations -* [ ] JS to TS, utilities +* [x] modals +* [x] animations +* [x] JS to TS, utilities * [ ] Integration with existing code #### screenshots @@ -15,6 +15,7 @@ This branch is for experimenting with [a17t](https://a17t.miles.land/) to possib invites accounts settings - settings + login modal + modify user settings modal

diff --git a/base.css b/base.css index ce08189..ba637c8 100644 --- a/base.css +++ b/base.css @@ -48,6 +48,9 @@ input[type=number] { .mb-2 { margin-bottom: 2rem; } +.mt-1 { + margin-top: 1rem; +} .mt-half { margin-top: 0.5rem; } @@ -193,7 +196,6 @@ input[type=number] { .full-width { box-sizing: border-box; width: 100%; - justify-content: center; } .unfocused { display: none; @@ -242,3 +244,24 @@ input[type=number] { font-size: 1rem; } +.inline { + display: inline; +} + +.flex-row { + display: flex; + flex-direction: row; +} + +.fw-group { + display: block; + flex-grow: 1; +} + +.center { + justify-content: center; +} + +.textarea { + resize: vertical; +} diff --git a/images/modify-settings.png b/images/modify-settings.png new file mode 100644 index 0000000..0681541 Binary files /dev/null and b/images/modify-settings.png differ diff --git a/index.html b/index.html index 0e5ce15..003a32b 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ Login - + + + + + +
@@ -50,7 +126,7 @@ Trigger Login
-
+
Invites
@@ -161,7 +237,7 @@
- Create + Create
@@ -172,7 +248,7 @@
Add User Modify Settings - Delete User + Delete User
@@ -202,9 +278,12 @@ -
+
Settings +
+ Save +
@@ -233,12 +312,10 @@
-
- diff --git a/main.js b/main.js deleted file mode 100644 index 2ac2a0e..0000000 --- a/main.js +++ /dev/null @@ -1,110 +0,0 @@ -const whichAnimationEvent = () => { - const el = document.createElement("fakeElement"); - if (el.style["animation"] !== void 0) { - return "animationend"; - } - return "webkitAnimationEnd"; -}; -window.animationEvent = whichAnimationEvent(); -const toggles = Array.from(document.getElementsByClassName("toggle-details")); -for (let toggle of toggles) { - toggle.onclick = () => { - const el = toggle.parentElement.parentElement.parentElement.nextElementSibling; - if (el.classList.contains("visible")) { - el.classList.toggle("visible"); - el.classList.toggle("hidden"); - } else { - el.classList.toggle("hidden"); - el.classList.toggle("visible"); - } - toggle.previousElementSibling.classList.toggle("rotated"); - toggle.previousElementSibling.classList.toggle("not-rotated"); - }; -} -const checkInfUses = function(check, mode = 2) { - const uses = document.getElementById("inv-uses"); - if (mode == 2) { - uses.disabled = check.checked; - check.parentElement.classList.toggle("!normal"); - check.parentElement.classList.toggle("!high"); - } else if (mode == 1) { - uses.disabled = true; - check.checked = true; - check.parentElement.classList.remove("!normal"); - check.parentElement.classList.add("!high"); - } else { - uses.disabled = false; - check.checked = false; - check.parentElement.classList.remove("!high"); - check.parentElement.classList.add("!normal"); - } -}; -let invInfUses = document.getElementById("inv-inf-uses"); -invInfUses.onclick = () => { - checkInfUses(invInfUses, 2); -}; -const checkEmailEnabled = function(check, mode = 2) { - const input = document.getElementById("inv-email"); - if (mode == 2) { - input.disabled = !check.checked; - check.parentElement.classList.toggle("!normal"); - check.parentElement.classList.toggle("!high"); - } else if (mode == 1) { - input.disabled = false; - check.checked = true; - check.parentElement.classList.remove("!normal"); - check.parentElement.classList.add("!high"); - } else { - input.disabled = true; - check.checked = false; - check.parentElement.classList.remove("!high"); - check.parentElement.classList.add("!normal"); - } -}; -let invEmailEnabled = document.getElementById("inv-email-enabled"); -invEmailEnabled.onchange = () => { - checkEmailEnabled(invEmailEnabled, 2); -}; -checkInfUses(invInfUses, 0); -checkEmailEnabled(invEmailEnabled, 0); -const loadAccounts = function() { - const rows = Array.from(document.getElementById("accounts-list").children); - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - const editButton = row.querySelector(".icon"); - const emailInput = row.querySelector(".input"); - editButton.onclick = function() { - emailInput.classList.toggle("stealth-input-hidden"); - emailInput.readOnly = !emailInput.readOnly; - editButton.classList.toggle("icon-edit"); - editButton.classList.toggle("icon-check"); - }; - } -}; -loadAccounts(); -const tabs = ["invitesTab", "accountsTab", "settingsTab"]; -for (let tab of tabs) { - document.getElementById(`${tab}-button`).onclick = function() { - for (let t of tabs) { - const tabEl = document.getElementById(t); - const tabButtonEl = document.getElementById(`${t}-button`); - if (t == tab) { - tabButtonEl.classList.add("active", "~positive"); - tabEl.classList.remove("unfocused"); - } else { - tabButtonEl.classList.remove("active"); - tabButtonEl.classList.remove("~positive"); - tabEl.classList.add("unfocused"); - } - } - }; -} -const modalLogin = new Modal(document.getElementById("modal-login"), true); -document.getElementById("form-login").addEventListener("submit", modalLogin.close); -document.getElementById("modalButton").onclick = modalLogin.toggle; -const modalAddUser = new Modal(document.getElementById("modal-add-user")); -document.getElementById("accounts-add-user").onclick = modalAddUser.toggle; -document.getElementById("form-add-user").addEventListener("submit", modalAddUser.close); -const modalAbout = new Modal(document.getElementById("modal-about")); -document.getElementById("setting-about").onclick = modalAbout.toggle; -//# sourceMappingURL=main.js.map diff --git a/main.js.map b/main.js.map deleted file mode 100644 index 0756de4..0000000 --- a/main.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["ts/main.ts"], - "sourcesContent": ["interface Window {\n transitionEvent: string;\n animationEvent: string;\n}\n\ninterface ArrayConstructor {\n from(arrayLike: any, mapFn?, thisArg?): Array;\n}\n\ndeclare var window: Window;\n\nconst whichAnimationEvent = () => {\n const el = document.createElement(\"fakeElement\");\n if (el.style[\"animation\"] !== void 0) {\n return \"animationend\";\n }\n return \"webkitAnimationEnd\";\n}\nwindow.animationEvent = whichAnimationEvent();\nconst toggles: HTMLInputElement[] = Array.from(document.getElementsByClassName('toggle-details'));\nfor (let toggle of toggles) {\n toggle.onclick = () => {\n const el = toggle.parentElement.parentElement.parentElement.nextElementSibling as HTMLDivElement;\n if (el.classList.contains(\"visible\")) {\n el.classList.toggle(\"visible\");\n el.classList.toggle(\"hidden\");\n } else {\n el.classList.toggle(\"hidden\");\n el.classList.toggle(\"visible\");\n }\n toggle.previousElementSibling.classList.toggle(\"rotated\");\n toggle.previousElementSibling.classList.toggle(\"not-rotated\");\n };\n}\n\nconst checkInfUses = function (check: HTMLInputElement, mode = 2) {\n const uses = document.getElementById('inv-uses') as HTMLInputElement;\n if (mode == 2) {\n uses.disabled = check.checked;\n check.parentElement.classList.toggle('!normal');\n check.parentElement.classList.toggle('!high');\n } else if (mode == 1) {\n uses.disabled = true;\n check.checked = true;\n check.parentElement.classList.remove('!normal');\n check.parentElement.classList.add('!high');\n } else {\n uses.disabled = false;\n check.checked = false;\n check.parentElement.classList.remove('!high');\n check.parentElement.classList.add('!normal');\n }\n};\n\nlet invInfUses = document.getElementById('inv-inf-uses') as HTMLInputElement;\ninvInfUses.onclick = () => { checkInfUses(invInfUses, 2); };\n\nconst checkEmailEnabled = function (check: HTMLInputElement, mode = 2) {\n const input = document.getElementById('inv-email') as HTMLInputElement;\n if (mode == 2) {\n input.disabled = !check.checked;\n check.parentElement.classList.toggle('!normal');\n check.parentElement.classList.toggle('!high');\n } else if (mode == 1) {\n input.disabled = false;\n check.checked = true;\n check.parentElement.classList.remove('!normal');\n check.parentElement.classList.add('!high');\n } else {\n input.disabled = true;\n check.checked = false;\n check.parentElement.classList.remove('!high');\n check.parentElement.classList.add('!normal');\n }\n};\nlet invEmailEnabled = document.getElementById('inv-email-enabled') as HTMLInputElement;\ninvEmailEnabled.onchange = () => { checkEmailEnabled(invEmailEnabled, 2); };\n\ncheckInfUses(invInfUses, 0);\ncheckEmailEnabled(invEmailEnabled, 0);\n\nconst loadAccounts = function () {\n const rows: HTMLTableRowElement[] = Array.from(document.getElementById(\"accounts-list\").children);\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const editButton = row.querySelector(\".icon\") as HTMLElement;\n const emailInput = row.querySelector(\".input\") as HTMLInputElement;\n editButton.onclick = function () {\n emailInput.classList.toggle('stealth-input-hidden');\n emailInput.readOnly = !emailInput.readOnly;\n editButton.classList.toggle('icon-edit');\n editButton.classList.toggle('icon-check');\n };\n }\n};\n\nloadAccounts();\n\nconst tabs = [\"invitesTab\", \"accountsTab\", \"settingsTab\"]\nfor (let tab of tabs) {\n (document.getElementById(`${tab}-button`) as HTMLSpanElement).onclick = function () {\n for (let t of tabs) {\n const tabEl = document.getElementById(t) as HTMLDivElement;\n const tabButtonEl = document.getElementById(`${t}-button`) as HTMLSpanElement;\n if (t == tab) {\n tabButtonEl.classList.add(\"active\", \"~positive\");\n tabEl.classList.remove(\"unfocused\");\n } else {\n tabButtonEl.classList.remove(\"active\");\n tabButtonEl.classList.remove(\"~positive\");\n tabEl.classList.add(\"unfocused\");\n }\n }\n }\n}\n\nconst modalLogin = new Modal(document.getElementById('modal-login'), true);\ndocument.getElementById('form-login').addEventListener('submit', modalLogin.close);\ndocument.getElementById('modalButton').onclick = modalLogin.toggle;\n\nconst modalAddUser = new Modal(document.getElementById('modal-add-user'));\n(document.getElementById('accounts-add-user') as HTMLSpanElement).onclick = modalAddUser.toggle;\ndocument.getElementById('form-add-user').addEventListener('submit', modalAddUser.close);\n\nconst modalAbout = new Modal(document.getElementById('modal-about'));\n(document.getElementById('setting-about') as HTMLSpanElement).onclick = modalAbout.toggle;\n\n"], - "mappings": "AAWA,MAAM,sBAAsB;AACxB,aAAW,SAAS,cAAc;AAClC,MAAI,GAAG,MAAM,iBAAiB;AAC1B,WAAO;AAAA;AAEX,SAAO;AAAA;AAEX,OAAO,iBAAiB;AACxB,gBAAoC,MAAM,KAAK,SAAS,uBAAuB;AAC/E,mBAAmB;AACf,SAAO,UAAU;AACb,eAAW,OAAO,cAAc,cAAc,cAAc;AAC5D,QAAI,GAAG,UAAU,SAAS;AACtB,SAAG,UAAU,OAAO;AACpB,SAAG,UAAU,OAAO;AAAA;AAEpB,SAAG,UAAU,OAAO;AACpB,SAAG,UAAU,OAAO;AAAA;AAExB,WAAO,uBAAuB,UAAU,OAAO;AAC/C,WAAO,uBAAuB,UAAU,OAAO;AAAA;AAAA;AAIvD,qBAAqB,uBAA0C;AAC3D,eAAa,SAAS,eAAe;AACrC,MAAI,QAAQ;AACR,SAAK,WAAW,MAAM;AACtB,UAAM,cAAc,UAAU,OAAO;AACrC,UAAM,cAAc,UAAU,OAAO;AAAA,aAC9B,QAAQ;AACf,SAAK,WAAW;AAChB,UAAM,UAAU;AAChB,UAAM,cAAc,UAAU,OAAO;AACrC,UAAM,cAAc,UAAU,IAAI;AAAA;AAElC,SAAK,WAAW;AAChB,UAAM,UAAU;AAChB,UAAM,cAAc,UAAU,OAAO;AACrC,UAAM,cAAc,UAAU,IAAI;AAAA;AAAA;AAI1C,iBAAiB,SAAS,eAAe;AACzC,WAAW,UAAU;AAAQ,eAAa,YAAY;AAAA;AAEtD,0BAA0B,uBAA0C;AAChE,gBAAc,SAAS,eAAe;AACtC,MAAI,QAAQ;AACR,UAAM,WAAW,CAAC,MAAM;AACxB,UAAM,cAAc,UAAU,OAAO;AACrC,UAAM,cAAc,UAAU,OAAO;AAAA,aAC9B,QAAQ;AACf,UAAM,WAAW;AACjB,UAAM,UAAU;AAChB,UAAM,cAAc,UAAU,OAAO;AACrC,UAAM,cAAc,UAAU,IAAI;AAAA;AAElC,UAAM,WAAW;AACjB,UAAM,UAAU;AAChB,UAAM,cAAc,UAAU,OAAO;AACrC,UAAM,cAAc,UAAU,IAAI;AAAA;AAAA;AAG1C,sBAAsB,SAAS,eAAe;AAC9C,gBAAgB,WAAW;AAAQ,oBAAkB,iBAAiB;AAAA;AAEtE,aAAa,YAAY;AACzB,kBAAkB,iBAAiB;AAEnC,qBAAqB;AACjB,eAAoC,MAAM,KAAK,SAAS,eAAe,iBAAiB;AACxF,eAAa,GAAG,IAAI,KAAK,QAAQ;AAC7B,gBAAY,KAAK;AACjB,uBAAmB,IAAI,cAAc;AACrC,uBAAmB,IAAI,cAAc;AACrC,eAAW,UAAU;AACjB,iBAAW,UAAU,OAAO;AAC5B,iBAAW,WAAW,CAAC,WAAW;AAClC,iBAAW,UAAU,OAAO;AAC5B,iBAAW,UAAU,OAAO;AAAA;AAAA;AAAA;AAKxC;AAEA,aAAa,CAAC,cAAc,eAAe;AAC3C,gBAAgB;AACZ,EAAC,SAAS,eAAe,GAAG,cAAkC,UAAU;AACpE,kBAAc;AACV,oBAAc,SAAS,eAAe;AACtC,0BAAoB,SAAS,eAAe,GAAG;AAC/C,UAAI,KAAK;AACL,oBAAY,UAAU,IAAI,UAAU;AACpC,cAAM,UAAU,OAAO;AAAA;AAEvB,oBAAY,UAAU,OAAO;AAC7B,oBAAY,UAAU,OAAO;AAC7B,cAAM,UAAU,IAAI;AAAA;AAAA;AAAA;AAAA;AAMpC,mBAAmB,IAAI,MAAM,SAAS,eAAe,gBAAgB;AACrE,SAAS,eAAe,cAAc,iBAAiB,UAAU,WAAW;AAC5E,SAAS,eAAe,eAAe,UAAU,WAAW;AAE5D,qBAAqB,IAAI,MAAM,SAAS,eAAe;AACvD,AAAC,SAAS,eAAe,qBAAyC,UAAU,aAAa;AACzF,SAAS,eAAe,iBAAiB,iBAAiB,UAAU,aAAa;AAEjF,mBAAmB,IAAI,MAAM,SAAS,eAAe;AACrD,AAAC,SAAS,eAAe,iBAAqC,UAAU,WAAW;", - "names": [] -} diff --git a/modal.js b/modal.js deleted file mode 100644 index 223d358..0000000 --- a/modal.js +++ /dev/null @@ -1,41 +0,0 @@ -class Modal { - constructor(modal, important = false) { - this.close = (event) => { - if (event) { - event.preventDefault(); - } - this.modal.classList.add("modal-hiding"); - const modal = this.modal; - const listenerFunc = function() { - modal.classList.remove("modal-shown"); - modal.classList.remove("modal-hiding"); - modal.removeEventListener(window.animationEvent, listenerFunc); - }; - this.modal.addEventListener(window.animationEvent, listenerFunc, false); - }; - this.show = () => { - this.modal.classList.add("modal-shown"); - }; - this.toggle = () => { - if (this.modal.classList.contains("modal-shown")) { - this.close(); - } else { - this.show(); - } - }; - this.modal = modal; - const closeButton = this.modal.querySelector("span.modal-close"); - if (closeButton !== null) { - this.closeButton = closeButton; - this.closeButton.onclick = this.close; - } - if (!important) { - window.addEventListener("click", (event) => { - if (event.target == this.modal) { - this.close(); - } - }); - } - } -} -//# sourceMappingURL=modal.js.map diff --git a/modal.js.map b/modal.js.map deleted file mode 100644 index df4035d..0000000 --- a/modal.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["ts/modal.ts"], - "sourcesContent": ["declare var window: Window;\n\nclass Modal {\n modal: HTMLDivElement;\n closeButton: HTMLSpanElement;\n constructor(modal: HTMLDivElement, important: boolean = false) {\n this.modal = modal;\n const closeButton = this.modal.querySelector('span.modal-close')\n if (closeButton !== null) {\n this.closeButton = closeButton as HTMLSpanElement;\n this.closeButton.onclick = this.close;\n }\n if (!important) {\n window.addEventListener('click', (event: Event) => {\n if (event.target == this.modal) { this.close(); }\n });\n }\n }\n close = (event?: Event) => {\n if (event) {\n event.preventDefault();\n }\n this.modal.classList.add('modal-hiding');\n const modal = this.modal;\n const listenerFunc = function () {\n modal.classList.remove('modal-shown');\n modal.classList.remove('modal-hiding');\n modal.removeEventListener(window.animationEvent, listenerFunc);\n };\n this.modal.addEventListener(window.animationEvent, listenerFunc, false);\n }\n show = () => {\n this.modal.classList.add('modal-shown');\n }\n toggle = () => {\n if (this.modal.classList.contains('modal-shown')) {\n this.close();\n } else {\n this.show();\n }\n }\n}\n"], - "mappings": "AAAA;AAAA,EAKI,YAAY,mBAA4C;AAaxD,iBAAQ;AACJ,UAAI;AACA,cAAM;AAAA;AAEV,WAAK,MAAM,UAAU,IAAI;AACzB,oBAAc,KAAK;AACnB,2BAAqB;AACjB,cAAM,UAAU,OAAO;AACvB,cAAM,UAAU,OAAO;AACvB,cAAM,oBAAoB,OAAO,gBAAgB;AAAA;AAErD,WAAK,MAAM,iBAAiB,OAAO,gBAAgB,cAAc;AAAA;AAErE,gBAAO;AACH,WAAK,MAAM,UAAU,IAAI;AAAA;AAE7B,kBAAS;AACL,UAAI,KAAK,MAAM,UAAU,SAAS;AAC9B,aAAK;AAAA;AAEL,aAAK;AAAA;AAAA;AAhCT,SAAK,QAAQ;AACb,wBAAoB,KAAK,MAAM,cAAc;AAC7C,QAAI,gBAAgB;AAChB,WAAK,cAAc;AACnB,WAAK,YAAY,UAAU,KAAK;AAAA;AAEpC,QAAI,CAAC;AACD,aAAO,iBAAiB,SAAS;AAC7B,YAAI,MAAM,UAAU,KAAK;AAAS,eAAK;AAAA;AAAA;AAAA;AAAA;AAAA;", - "names": [] -} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 164f9cf..0000000 --- a/package-lock.json +++ /dev/null @@ -1,1340 +0,0 @@ -{ - "name": "jfa-go-ui", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.3.4", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.3.4.tgz?cache=0&sync_timestamp=1604441258461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.3.4.tgz", - "integrity": "sha1-c9ErqBnjZfz3/RUq7VbW35fSHIM=", - "requires": { - "regenerator-runtime": "^0.12.0" - } - }, - "a17t": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/a17t/download/a17t-0.3.0.tgz", - "integrity": "sha1-w1RZpNL0Qyp2I0PNi/x6RKaSx2Y=", - "requires": { - "autoprefixer": "^10.0.2" - } - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", - "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.10.0.tgz?cache=0&sync_timestamp=1607269179189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.10.0.tgz", - "integrity": "sha1-kNDVRDnaWHzX6EO/twRfUL0ivfE=", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "amqplib": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/amqplib/download/amqplib-0.5.2.tgz", - "integrity": "sha1-0tcxPH/6pNELzx5iUt5FkbbMe2M=", - "requires": { - "bitsyntax": "~0.0.4", - "bluebird": "^3.4.6", - "buffer-more-ints": "0.0.2", - "readable-stream": "1.x >=1.1.9", - "safe-buffer": "^5.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1606792436886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "requires": { - "color-convert": "^1.9.0" - } - }, - "app-root-path": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/app-root-path/download/app-root-path-2.1.0.tgz", - "integrity": "sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz", - "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=" - }, - "async-retry": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/async-retry/download/async-retry-1.2.3.tgz", - "integrity": "sha1-plIfM4NY0yKxoAEreQMMb0EdHOA=", - "requires": { - "retry": "0.12.0" - } - }, - "autoprefixer": { - "version": "10.1.0", - "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-10.1.0.tgz?cache=0&sync_timestamp=1607411581276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-10.1.0.tgz", - "integrity": "sha1-sZ/YUk7e+MhcnbO9sMmY3oThcvs=", - "requires": { - "browserslist": "^4.15.0", - "caniuse-lite": "^1.0.30001165", - "colorette": "^1.2.1", - "fraction.js": "^4.0.12", - "normalize-range": "^0.1.2", - "postcss-value-parser": "^4.1.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1595456023687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz", - "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" - } - } - }, - "basic-auth": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/basic-auth/download/basic-auth-2.0.1.tgz", - "integrity": "sha1-uZgnm/R844NEtPPPkW1Gebv1Hjo=", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "bitsyntax": { - "version": "0.0.4", - "resolved": "https://registry.npm.taobao.org/bitsyntax/download/bitsyntax-0.0.4.tgz", - "integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=", - "requires": { - "buffer-more-ints": "0.0.2" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", - "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=" - }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - } - }, - "browserslist": { - "version": "4.15.0", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.15.0.tgz?cache=0&sync_timestamp=1606864358374&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.15.0.tgz", - "integrity": "sha1-PUi7ymo/N46GEC/9AX2aA/EivbA=", - "requires": { - "caniuse-lite": "^1.0.30001164", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.612", - "escalade": "^3.1.1", - "node-releases": "^1.1.67" - } - }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/buffer-equal-constant-time/download/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "buffer-more-ints": { - "version": "0.0.2", - "resolved": "https://registry.npm.taobao.org/buffer-more-ints/download/buffer-more-ints-0.0.2.tgz", - "integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.0.tgz", - "integrity": "sha1-JBJwVLs/m9y0sfuCQYGGBy93uM4=", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001165", - "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001165.tgz", - "integrity": "sha1-MpVUkNL2ApC7GGu3VPKYGRf6dE8=" - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.1.tgz", - "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.1.tgz?cache=0&sync_timestamp=1593955937807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.1.tgz", - "integrity": "sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs=" - }, - "commands-events": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/commands-events/download/commands-events-1.0.4.tgz", - "integrity": "sha1-dyEj1/F1sphEdLzjenIvTC09KDA=", - "requires": { - "@babel/runtime": "7.2.0", - "formats": "1.0.0", - "uuidv4": "2.0.0" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.2.0.tgz?cache=0&sync_timestamp=1604441258461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.2.0.tgz", - "integrity": "sha1-sD5C7t31iY4AZG5MhA+ge6jcrX8=", - "requires": { - "regenerator-runtime": "^0.12.0" - } - }, - "uuidv4": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/uuidv4/download/uuidv4-2.0.0.tgz", - "integrity": "sha1-PsdkKI+enE5A+AJ60wnCxSi+KXY=", - "requires": { - "sha-1": "0.1.1", - "uuid": "3.3.2" - } - } - } - }, - "comparejs": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/comparejs/download/comparejs-1.0.0.tgz", - "integrity": "sha1-H2GkwsGcWu0ImDlS6IvR/okk498=" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz", - "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.3", - "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.3.tgz", - "integrity": "sha1-J+DhdqryYPfywoE8PkQK258Zk9s=", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.14", - "debug": "2.6.9", - "on-headers": "~1.0.1", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.12.tgz?cache=0&sync_timestamp=1607218318589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.12.tgz", - "integrity": "sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npm.taobao.org/cors/download/cors-2.8.5.tgz", - "integrity": "sha1-6sEdpRWS3Ya58G9uesKTs9+HXSk=", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "crypto2": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/crypto2/download/crypto2-2.0.0.tgz", - "integrity": "sha1-VTn0Wyg9jCvcoOpPr4s0AUpOos0=", - "requires": { - "babel-runtime": "6.26.0", - "node-rsa": "0.4.2", - "util.promisify": "1.0.0" - } - }, - "datasette": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/datasette/download/datasette-1.0.1.tgz", - "integrity": "sha1-yHhrvTa+ZgYXnnolJUMLnb2Tleg=", - "requires": { - "comparejs": "1.0.0", - "eventemitter2": "5.0.1", - "lodash": "4.17.5" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.5.tgz?cache=0&sync_timestamp=1597335994883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.5.tgz", - "integrity": "sha1-maktZcAnLevoyWtgV7yPv6O+1RE=" - } - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "requires": { - "object-keys": "^1.0.12" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "draht": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/draht/download/draht-1.0.1.tgz", - "integrity": "sha1-xMiHmSPSEw36nFkw6VbIXWKx6XU=", - "requires": { - "eventemitter2": "5.0.1" - } - }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npm.taobao.org/ecdsa-sig-formatter/download/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.621", - "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.621.tgz?cache=0&sync_timestamp=1607538704273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.621.tgz", - "integrity": "sha1-C74hAO8LKPiNCxEB+99DMxL2m+A=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0-next.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.0-next.1.tgz", - "integrity": "sha1-bjoKS9pxflAjqzuOkL7DYQjSLGg=", - "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.2", - "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.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", - "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567437752&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz", - "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1587627212242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "eventemitter2": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/eventemitter2/download/eventemitter2-5.0.1.tgz", - "integrity": "sha1-YZegldX7a1folC9v1+qtY6CclFI=" - }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npm.taobao.org/express/download/express-4.16.4.tgz?cache=0&sync_timestamp=1585184189864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.16.4.tgz", - "integrity": "sha1-/d72GSYQniTFFeqX/S8b2/Yt8S4=", - "requires": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "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.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz", - "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=" - } - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576340291001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=" - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.1.tgz", - "integrity": "sha1-7r9O2EAHnIP0JJA4ydcDAIMBsQU=", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz", - "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=" - } - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/find-root/download/find-root-1.1.0.tgz", - "integrity": "sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ=" - }, - "flaschenpost": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/flaschenpost/download/flaschenpost-1.1.3.tgz", - "integrity": "sha1-LB579O7PnzAzPdZytCehdMLTdEk=", - "requires": { - "@babel/runtime": "7.2.0", - "app-root-path": "2.1.0", - "babel-runtime": "6.26.0", - "chalk": "2.4.1", - "find-root": "1.1.0", - "lodash": "4.17.11", - "moment": "2.22.2", - "processenv": "1.1.0", - "split2": "3.0.0", - "stack-trace": "0.0.10", - "stringify-object": "3.3.0", - "untildify": "3.0.3", - "util.promisify": "1.0.0", - "varname": "2.0.3" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.2.0.tgz?cache=0&sync_timestamp=1604441258461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.2.0.tgz", - "integrity": "sha1-sD5C7t31iY4AZG5MhA+ge6jcrX8=", - "requires": { - "regenerator-runtime": "^0.12.0" - } - } - } - }, - "formats": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/formats/download/formats-1.0.0.tgz", - "integrity": "sha1-MnFUCEeG6sCdO4OcqyjRULmCsWM=" - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fraction.js": { - "version": "4.0.12", - "resolved": "https://registry.npm.taobao.org/fraction.js/download/fraction.js-4.0.12.tgz", - "integrity": "sha1-BSbUfGWl+0hU33i8d/e+xwjXuMM=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" - }, - "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.0.1.tgz?cache=0&sync_timestamp=1604120627697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.0.1.tgz", - "integrity": "sha1-lKl2j8vdBZWhySc6rPTInQdWMb4=", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-own-enumerable-property-symbols%2Fdownload%2Fget-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha1-tf3nfyLL4185C04ImSLFC85u9mQ=" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz", - "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=" - }, - "hase": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/hase/download/hase-2.0.0.tgz", - "integrity": "sha1-NErtcdAIJsRdCjfN+U/n+vcVTGA=", - "requires": { - "@babel/runtime": "7.1.2", - "amqplib": "0.5.2" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.1.2", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.1.2.tgz?cache=0&sync_timestamp=1604441258461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.1.2.tgz", - "integrity": "sha1-gciZNfRkdwb8VFQRRea07P70uOM=", - "requires": { - "regenerator-runtime": "^0.12.0" - } - } - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "icons.css": { - "version": "git+https://github.com/picturepan2/icons.css.git#80a5631a2348c47f9c4e1b307c206d074da4e95b", - "from": "git+https://github.com/picturepan2/icons.css.git" - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.23.tgz?cache=0&sync_timestamp=1594184266261&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.23.tgz", - "integrity": "sha1-KXhx9jvlB63Pv8pxXQzQ7thOmmM=", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", - "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=" - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.2.tgz?cache=0&sync_timestamp=1600719278998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.2.tgz", - "integrity": "sha1-x8ZxXNItTdtI0+GZcCI6zquwgNk=" - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz", - "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=" - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.1.tgz?cache=0&sync_timestamp=1607123132826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-negative-zero%2Fdownload%2Fis-negative-zero-2.0.1.tgz", - "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=" - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.1.tgz?cache=0&sync_timestamp=1596555709354&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.1.tgz", - "integrity": "sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k=", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", - "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "json-lines": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/json-lines/download/json-lines-1.0.0.tgz", - "integrity": "sha1-SsbXUx3uw7koUWx/hol7VI+CcR0=", - "requires": { - "timer2": "1.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599333908796&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=" - }, - "jsonwebtoken": { - "version": "8.5.0", - "resolved": "https://registry.npm.taobao.org/jsonwebtoken/download/jsonwebtoken-8.5.0.tgz", - "integrity": "sha1-69DKKml5eBbhxa9ltsdZeHJSlH4=", - "requires": { - "jws": "^3.2.1", - "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": { - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.3.tgz?cache=0&sync_timestamp=1607433843106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.3.tgz", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" - } - } - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/jwa/download/jwa-1.4.1.tgz", - "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", - "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.npm.taobao.org/jws/download/jws-3.2.2.tgz", - "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "limes": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/limes/download/limes-2.0.0.tgz", - "integrity": "sha1-Mrn6DGL+coJiyLIxbKNJbt5xU/4=", - "requires": { - "@babel/runtime": "7.3.4", - "jsonwebtoken": "8.5.0" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.11.tgz?cache=0&sync_timestamp=1597335994883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.11.tgz", - "integrity": "sha1-s56mIp72B+zYniyN8SU2iRysm40=" - }, - "lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/lodash.includes/download/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" - }, - "lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/lodash.isboolean/download/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" - }, - "lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npm.taobao.org/lodash.isinteger/download/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" - }, - "lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/lodash.isnumber/download/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/lodash.isstring/download/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/lodash.once/download/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" - }, - "lusca": { - "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/lusca/download/lusca-1.6.1.tgz", - "integrity": "sha1-90ReUMcgAw9e5T0TNunlPReGw08=", - "requires": { - "tsscmp": "^1.0.5" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.4.1.tgz", - "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=" - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz?cache=0&sync_timestamp=1600831202365&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.44.0.tgz", - "integrity": "sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I=" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz", - "integrity": "sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8=", - "requires": { - "mime-db": "1.44.0" - } - }, - "moment": { - "version": "2.22.2", - "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" - }, - "morgan": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/morgan/download/morgan-1.9.1.tgz", - "integrity": "sha1-Co0Wc0odmvvIJLmd+H5zjlji2lk=", - "requires": { - "basic-auth": "~2.0.0", - "debug": "2.6.9", - "depd": "~1.1.2", - "on-finished": "~2.3.0", - "on-headers": "~1.0.1" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433843106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", - "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=" - }, - "nocache": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/nocache/download/nocache-2.0.0.tgz", - "integrity": "sha1-ICtIAhoMTL3i34DeFaF0Q8i0OYA=" - }, - "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.67.tgz?cache=0&sync_timestamp=1605581679207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.67.tgz", - "integrity": "sha1-KOv8zNC6pqrY6NTY/ky8Sa4jnBI=" - }, - "node-rsa": { - "version": "0.4.2", - "resolved": "https://registry.npm.taobao.org/node-rsa/download/node-rsa-0.4.2.tgz", - "integrity": "sha1-1jkXKewWqDDtWjgEKzFX0tXXJTA=", - "requires": { - "asn1": "0.2.3" - } - }, - "node-statsd": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/node-statsd/download/node-statsd-0.1.1.tgz", - "integrity": "sha1-J6WTSHY9CvegN6wqAx/vPwUQE9M=" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.9.0.tgz?cache=0&sync_timestamp=1606804315827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.9.0.tgz", - "integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604117098938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz", - "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.1.tgz?cache=0&sync_timestamp=1606459922634&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha1-Df2o0QgHTZxWPoBJDIg7ZmEJFUQ=", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", - "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", - "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=" - }, - "partof": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/partof/download/partof-1.0.0.tgz", - "integrity": "sha1-2deUahSn2dlzilnnyI9HjsXJZMo=" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz", - "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=" - }, - "processenv": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/processenv/download/processenv-1.1.0.tgz", - "integrity": "sha1-OGdCJGiVTxr4LOe/uUTIra3Vzfc=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz", - "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", - "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", - "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=" - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.3.3.tgz", - "integrity": "sha1-GzJOzmtXBuFThVvBFIxlu39uoMM=", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.12.1.tgz?cache=0&sync_timestamp=1595456023687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.12.1.tgz", - "integrity": "sha1-+hpxVEdkwDb4xJsToIsllMn4oN4=" - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1606851857382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npm.taobao.org/send/download/send-0.16.2.tgz", - "integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=", - "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.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz", - "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=" - } - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.13.2.tgz", - "integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=" - }, - "sha-1": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/sha-1/download/sha-1-0.1.1.tgz", - "integrity": "sha1-KjkwS/QburEd2e+3R07CWxqSwlc=" - }, - "split2": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/split2/download/split2-3.0.0.tgz", - "integrity": "sha1-VQV81WBoen72RkRxWXQEV3/xc10=", - "requires": { - "readable-stream": "^3.0.0" - } - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npm.taobao.org/stack-trace/download/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stethoskop": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/stethoskop/download/stethoskop-1.0.0.tgz", - "integrity": "sha1-uDjo9vePjmb4YTlSToBY5KL3i2I=", - "requires": { - "node-statsd": "0.1.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.3.tgz?cache=0&sync_timestamp=1606008280085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.3.tgz", - "integrity": "sha1-oivVPMpcfPRNfJ1ccyEYhz1s0Ys=", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.3.tgz?cache=0&sync_timestamp=1606008280265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.3.tgz", - "integrity": "sha1-m0y1kOEjuzZWRAHVmCQpjeUP1ao=", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz", - "integrity": "sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=", - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" - } - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz", - "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1606205044904&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "requires": { - "has-flag": "^3.0.0" - } - }, - "tailwind": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/tailwind/download/tailwind-4.0.0.tgz", - "integrity": "sha1-BwteXxwsGQ5MDRKApGs2xzaepG4=", - "requires": { - "@babel/runtime": "7.3.4", - "ajv": "6.10.0", - "app-root-path": "2.1.0", - "async-retry": "1.2.3", - "body-parser": "1.18.3", - "commands-events": "1.0.4", - "compression": "1.7.3", - "content-type": "1.0.4", - "cors": "2.8.5", - "crypto2": "2.0.0", - "datasette": "1.0.1", - "draht": "1.0.1", - "express": "4.16.4 ", - "flaschenpost": "1.1.3", - "hase": "2.0.0", - "json-lines": "1.0.0", - "limes": "2.0.0", - "lodash": "4.17.11", - "lusca": "1.6.1", - "morgan": "1.9.1", - "nocache": "2.0.0", - "partof": "1.0.0", - "processenv": "1.1.0", - "stethoskop": "1.0.0", - "timer2": "1.0.0", - "uuidv4": "3.0.1", - "ws": "6.2.0" - } - }, - "timer2": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/timer2/download/timer2-1.0.0.tgz", - "integrity": "sha1-eiRBVpxlZMuJH2BXiO7wN32J9d4=" - }, - "tsscmp": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/tsscmp/download/tsscmp-1.0.6.tgz", - "integrity": "sha1-hbmVg6w1iexL/vgltQAKqRHWBes=" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", - "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "untildify": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/untildify/download/untildify-3.0.3.tgz", - "integrity": "sha1-HntCsUC8/ZIrIucMoSZb/jY0x8k=" - }, - "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.0.tgz?cache=0&sync_timestamp=1598814377097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.0.tgz", - "integrity": "sha1-qnFCYd55PoqCNHp7zJznTobyhgI=", - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz", - "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz?cache=0&sync_timestamp=1607460081656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.3.2.tgz", - "integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE=" - }, - "uuidv4": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/uuidv4/download/uuidv4-3.0.1.tgz", - "integrity": "sha1-MXUbCrePUMnkLb8jFpMhCzQ1tnM=", - "requires": { - "uuid": "3.3.2" - } - }, - "varname": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/varname/download/varname-2.0.3.tgz", - "integrity": "sha1-BejcZPu25ZFw3kSq1N3quKuHto4=" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "ws": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.0.tgz?cache=0&sync_timestamp=1607113185603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.0.tgz", - "integrity": "sha1-E4BtmROypfPLubpHtWPAAsvHxSY=", - "requires": { - "async-limiter": "~1.0.0" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 85c6d72..0000000 --- a/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "jfa-go-a17t", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "ISC", - "dependencies": { - "a17t": "^0.3.0", - "icons.css": "git+https://github.com/picturepan2/icons.css.git" - } -} diff --git a/ts/main.ts b/ts/main.ts index 2f5d94a..c2e3d1f 100644 --- a/ts/main.ts +++ b/ts/main.ts @@ -96,6 +96,37 @@ const loadAccounts = function () { loadAccounts(); +const modifySettingsSource = function () { + const profile = document.getElementById('radio-use-profile') as HTMLInputElement; + const user = document.getElementById('radio-use-user') as HTMLInputElement; + const profileSelect = document.getElementById('modify-user-profiles') as HTMLDivElement; + const userSelect = document.getElementById('modify-user-users') as HTMLDivElement; + (user.nextElementSibling as HTMLSpanElement).classList.toggle('!normal'); + (user.nextElementSibling as HTMLSpanElement).classList.toggle('!high'); + (profile.nextElementSibling as HTMLSpanElement).classList.toggle('!normal'); + (profile.nextElementSibling as HTMLSpanElement).classList.toggle('!high'); + profileSelect.classList.toggle('hidden'); + userSelect.classList.toggle('hidden'); +} + +const radioUseProfile = document.getElementById('radio-use-profile') as HTMLInputElement; +radioUseProfile.addEventListener("change", modifySettingsSource); +radioUseProfile.checked = true; +const radioUseUser = document.getElementById('radio-use-user') as HTMLInputElement; +radioUseUser.addEventListener("change", modifySettingsSource); +radioUseUser.checked = false; + +const checkDeleteUserNotify = function () { + if ((document.getElementById('delete-user-notify') as HTMLInputElement).checked) { + document.getElementById('textarea-delete-user').classList.remove('hidden'); + } else { + document.getElementById('textarea-delete-user').classList.add('hidden'); + } +}; + +(document.getElementById('delete-user-notify') as HTMLInputElement).onchange = checkDeleteUserNotify; +checkDeleteUserNotify(); + const tabs = ["invitesTab", "accountsTab", "settingsTab"] for (let tab of tabs) { (document.getElementById(`${tab}-button`) as HTMLSpanElement).onclick = function () { @@ -125,3 +156,18 @@ document.getElementById('form-add-user').addEventListener('submit', modalAddUser const modalAbout = new Modal(document.getElementById('modal-about')); (document.getElementById('setting-about') as HTMLSpanElement).onclick = modalAbout.toggle; +const modalModifyUser = new Modal(document.getElementById('modal-modify-user')); +document.getElementById('form-modify-user').addEventListener('submit', modalModifyUser.close); +(document.getElementById('accounts-modify-user') as HTMLSpanElement).onclick = modalModifyUser.toggle; + +const modalDeleteUser = new Modal(document.getElementById('modal-delete-user')); +document.getElementById('form-delete-user').addEventListener('submit', modalDeleteUser.close); +(document.getElementById('accounts-delete-user') as HTMLSpanElement).onclick = modalDeleteUser.toggle; + +const modalRestart = new Modal(document.getElementById('modal-restart')); + +const modalRefresh = new Modal(document.getElementById('modal-refresh')); + +const modalOmbiDefaults = new Modal(document.getElementById('modal-ombi-defaults')); +document.getElementById('form-ombi-defaults').addEventListener('submit', modalOmbiDefaults.close); +