diff --git a/customize.dist/404.html b/customize.dist/404.html index 9298a5377..0030c2bcd 100644 --- a/customize.dist/404.html +++ b/customize.dist/404.html @@ -2,10 +2,10 @@ - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite, encrypted and open-source - + diff --git a/customize.dist/CryptPad_logo.svg b/customize.dist/CryptPad_logo.svg new file mode 100644 index 000000000..1944b9142 --- /dev/null +++ b/customize.dist/CryptPad_logo.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/customize.dist/CryptPad_logo_grey.svg b/customize.dist/CryptPad_logo_grey.svg new file mode 100644 index 000000000..cbadd7697 --- /dev/null +++ b/customize.dist/CryptPad_logo_grey.svg @@ -0,0 +1,129 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/customize.dist/about.html b/customize.dist/about.html deleted file mode 100644 index 31d4c99f8..000000000 --- a/customize.dist/about.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - CryptPad: Zero Knowledge, Collaborative Real Time Editing - - - - - - - - diff --git a/customize.dist/alt-favicon.png b/customize.dist/alt-favicon.png deleted file mode 100644 index 23753684f..000000000 Binary files a/customize.dist/alt-favicon.png and /dev/null differ diff --git a/customize.dist/bg14.jpg b/customize.dist/bg14.jpg deleted file mode 100644 index 7f5211229..000000000 Binary files a/customize.dist/bg14.jpg and /dev/null differ diff --git a/customize.dist/bkabout.jpg b/customize.dist/bkabout.jpg deleted file mode 100644 index d9434609e..000000000 Binary files a/customize.dist/bkabout.jpg and /dev/null differ diff --git a/customize.dist/bkregister.jpg b/customize.dist/bkregister.jpg deleted file mode 100644 index a67a3b03e..000000000 Binary files a/customize.dist/bkregister.jpg and /dev/null differ diff --git a/customize.dist/bkwhat.jpg b/customize.dist/bkwhat.jpg deleted file mode 100644 index 90a2841e3..000000000 Binary files a/customize.dist/bkwhat.jpg and /dev/null differ diff --git a/customize.dist/code.svg b/customize.dist/code.svg deleted file mode 100644 index 29647b529..000000000 --- a/customize.dist/code.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - diff --git a/customize.dist/contact.html b/customize.dist/contact.html index 31d4c99f8..f1cf1b429 100644 --- a/customize.dist/contact.html +++ b/customize.dist/contact.html @@ -2,10 +2,10 @@ - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite, encrypted and open-source - + diff --git a/customize.dist/faq.html b/customize.dist/down.html similarity index 50% rename from customize.dist/faq.html rename to customize.dist/down.html index d485505dd..6005f2ad6 100644 --- a/customize.dist/faq.html +++ b/customize.dist/down.html @@ -1,17 +1,21 @@ - + CryptPad: Zero Knowledge, Collaborative Real Time Editing - - - + +

CryptPad

+

We're temporarily offline while we recover from a bad data-center outage

+

Your data is safe, but we need to move it to a new machine. +
+
+ We'll be back as soon as possible. +

+

For the latest updates, follow us on Mastodon or Twitter.

+ diff --git a/customize.dist/favicon/alt-favicon-code.png b/customize.dist/favicon/alt-favicon-code.png new file mode 100644 index 000000000..a15038d97 Binary files /dev/null and b/customize.dist/favicon/alt-favicon-code.png differ diff --git a/customize.dist/favicon/alt-favicon-kanban.png b/customize.dist/favicon/alt-favicon-kanban.png new file mode 100644 index 000000000..1db1114ac Binary files /dev/null and b/customize.dist/favicon/alt-favicon-kanban.png differ diff --git a/customize.dist/favicon/alt-favicon-pad.png b/customize.dist/favicon/alt-favicon-pad.png new file mode 100644 index 000000000..cbc20de3c Binary files /dev/null and b/customize.dist/favicon/alt-favicon-pad.png differ diff --git a/customize.dist/favicon/alt-favicon-poll.png b/customize.dist/favicon/alt-favicon-poll.png new file mode 100644 index 000000000..2194e35b7 Binary files /dev/null and b/customize.dist/favicon/alt-favicon-poll.png differ diff --git a/customize.dist/favicon/alt-favicon-sheet.png b/customize.dist/favicon/alt-favicon-sheet.png new file mode 100644 index 000000000..0cb370f7b Binary files /dev/null and b/customize.dist/favicon/alt-favicon-sheet.png differ diff --git a/customize.dist/favicon/alt-favicon-slide.png b/customize.dist/favicon/alt-favicon-slide.png new file mode 100644 index 000000000..d3824b9dd Binary files /dev/null and b/customize.dist/favicon/alt-favicon-slide.png differ diff --git a/customize.dist/favicon/alt-favicon-whiteboard.png b/customize.dist/favicon/alt-favicon-whiteboard.png new file mode 100644 index 000000000..1f94fb6e4 Binary files /dev/null and b/customize.dist/favicon/alt-favicon-whiteboard.png differ diff --git a/customize.dist/favicon/alt-favicon.png b/customize.dist/favicon/alt-favicon.png new file mode 100644 index 000000000..f7d472090 Binary files /dev/null and b/customize.dist/favicon/alt-favicon.png differ diff --git a/customize.dist/favicon/favicon_source.svg b/customize.dist/favicon/favicon_source.svg new file mode 100644 index 000000000..b6ea71ff3 --- /dev/null +++ b/customize.dist/favicon/favicon_source.svg @@ -0,0 +1,447 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/customize.dist/favicon/main-favicon-code.png b/customize.dist/favicon/main-favicon-code.png new file mode 100644 index 000000000..06157c70f Binary files /dev/null and b/customize.dist/favicon/main-favicon-code.png differ diff --git a/customize.dist/favicon/main-favicon-kanban.png b/customize.dist/favicon/main-favicon-kanban.png new file mode 100644 index 000000000..3a8d218ce Binary files /dev/null and b/customize.dist/favicon/main-favicon-kanban.png differ diff --git a/customize.dist/favicon/main-favicon-pad.png b/customize.dist/favicon/main-favicon-pad.png new file mode 100644 index 000000000..8c46d21dd Binary files /dev/null and b/customize.dist/favicon/main-favicon-pad.png differ diff --git a/customize.dist/favicon/main-favicon-poll.png b/customize.dist/favicon/main-favicon-poll.png new file mode 100644 index 000000000..05c8ebf45 Binary files /dev/null and b/customize.dist/favicon/main-favicon-poll.png differ diff --git a/customize.dist/favicon/main-favicon-sheet.png b/customize.dist/favicon/main-favicon-sheet.png new file mode 100644 index 000000000..6df4fd0d6 Binary files /dev/null and b/customize.dist/favicon/main-favicon-sheet.png differ diff --git a/customize.dist/favicon/main-favicon-slide.png b/customize.dist/favicon/main-favicon-slide.png new file mode 100644 index 000000000..41f98c84b Binary files /dev/null and b/customize.dist/favicon/main-favicon-slide.png differ diff --git a/customize.dist/favicon/main-favicon-whiteboard.png b/customize.dist/favicon/main-favicon-whiteboard.png new file mode 100644 index 000000000..cb60edf46 Binary files /dev/null and b/customize.dist/favicon/main-favicon-whiteboard.png differ diff --git a/customize.dist/favicon/main-favicon.png b/customize.dist/favicon/main-favicon.png new file mode 100644 index 000000000..ce110f883 Binary files /dev/null and b/customize.dist/favicon/main-favicon.png differ diff --git a/customize.dist/features.html b/customize.dist/features.html index 31d4c99f8..f1cf1b429 100644 --- a/customize.dist/features.html +++ b/customize.dist/features.html @@ -2,10 +2,10 @@ - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite, encrypted and open-source - + diff --git a/customize.dist/fonts/IBMPlexMono-Medium.woff b/customize.dist/fonts/IBMPlexMono-Medium.woff new file mode 100644 index 000000000..c6ca87bd1 Binary files /dev/null and b/customize.dist/fonts/IBMPlexMono-Medium.woff differ diff --git a/customize.dist/fonts/IBMPlexMono-Medium.woff2 b/customize.dist/fonts/IBMPlexMono-Medium.woff2 new file mode 100644 index 000000000..6e17c4c50 Binary files /dev/null and b/customize.dist/fonts/IBMPlexMono-Medium.woff2 differ diff --git a/customize.dist/fonts/cptools/fonts/cptools.svg b/customize.dist/fonts/cptools/fonts/cptools.svg index 8eee6df58..776b66ba3 100644 --- a/customize.dist/fonts/cptools/fonts/cptools.svg +++ b/customize.dist/fonts/cptools/fonts/cptools.svg @@ -8,22 +8,21 @@ - - + + - - - - - + + + + + - + - - - - + + + diff --git a/customize.dist/fonts/cptools/fonts/cptools.ttf b/customize.dist/fonts/cptools/fonts/cptools.ttf index 181d4268a..cfc9d1e3c 100644 Binary files a/customize.dist/fonts/cptools/fonts/cptools.ttf and b/customize.dist/fonts/cptools/fonts/cptools.ttf differ diff --git a/customize.dist/fonts/cptools/fonts/cptools.woff b/customize.dist/fonts/cptools/fonts/cptools.woff index a2b04bff9..80432d647 100644 Binary files a/customize.dist/fonts/cptools/fonts/cptools.woff and b/customize.dist/fonts/cptools/fonts/cptools.woff differ diff --git a/customize.dist/fonts/cptools/style.css b/customize.dist/fonts/cptools/style.css index 74ebac0b5..7fad69146 100644 --- a/customize.dist/fonts/cptools/style.css +++ b/customize.dist/fonts/cptools/style.css @@ -1,9 +1,9 @@ @font-face { font-family: 'cptools'; src: - url('fonts/cptools.ttf?5ntnhs') format('truetype'), - url('fonts/cptools.woff?5ntnhs') format('woff'), - url('fonts/cptools.svg?5ntnhs#cptools') format('svg'); + url('fonts/cptools.ttf?n9y2kz') format('truetype'), + url('fonts/cptools.woff?n9y2kz') format('woff'), + url('fonts/cptools.svg?n9y2kz#cptools') format('svg'); font-weight: normal; font-style: normal; font-display: block; @@ -25,6 +25,39 @@ -moz-osx-font-smoothing: grayscale; } +.cptools-sheet:before { + content: "\e908"; +} +.cptools-slide:before { + content: "\e907"; +} +.cptools-whiteboard:before { + content: "\e901"; +} +.cptools-new-template:before { + content: "\e902"; +} +.cptools-file-upload:before { + content: "\e904"; +} +.cptools-template:before { + content: "\e905"; +} +.cptools-poll:before { + content: "\e906"; +} +.cptools-kanban:before { + content: "\e90a"; +} +.cptools-code:before { + content: "\e90d"; +} +.cptools-richtext:before { + content: "\e90e"; +} +.cptools-file:before { + content: "\e90f"; +} .cptools-destroy:before { content: "\e915"; } @@ -40,54 +73,18 @@ .cptools-folder-no-color:before { content: "\e900"; } -.cptools-slide:before { - content: "\e902"; -} .cptools-shared-folder:before { content: "\e903"; } -.cptools-poll:before { - content: "\e904"; -} -.cptools-file-upload:before { - content: "\e905"; -} -.cptools-whiteboard:before { - content: "\e906"; -} -.cptools-todo:before { - content: "\e907"; -} -.cptools-pad:before { - content: "\e908"; -} .cptools-folder-open:before { content: "\e909"; } -.cptools-kanban:before { - content: "\e90a"; -} .cptools-folder:before { content: "\e90b"; } .cptools-shared-folder-open:before { content: "\e90c"; } -.cptools-file:before { - content: "\e90d"; -} -.cptools-contacts:before { - content: "\e90e"; -} -.cptools-code:before { - content: "\e90f"; -} -.cptools-template:before { - content: "\e901"; -} -.cptools-new-template:before { - content: "\e910"; -} .cptools-palette:before { content: "\e911"; } diff --git a/customize.dist/fonts/lato/Lato-Black.ttf b/customize.dist/fonts/lato/Lato-Black.ttf deleted file mode 100644 index 6848db0d1..000000000 Binary files a/customize.dist/fonts/lato/Lato-Black.ttf and /dev/null differ diff --git a/customize.dist/fonts/lato/Lato-Italic.ttf b/customize.dist/fonts/lato/Lato-Italic.ttf deleted file mode 100644 index 3d3b7a298..000000000 Binary files a/customize.dist/fonts/lato/Lato-Italic.ttf and /dev/null differ diff --git a/customize.dist/fonts/lato/Lato-Regular.ttf b/customize.dist/fonts/lato/Lato-Regular.ttf deleted file mode 100644 index 04ea8efb1..000000000 Binary files a/customize.dist/fonts/lato/Lato-Regular.ttf and /dev/null differ diff --git a/customize.dist/fonts/lato/METADATA.json b/customize.dist/fonts/lato/METADATA.json deleted file mode 100644 index 31213e2d8..000000000 --- a/customize.dist/fonts/lato/METADATA.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "name": "Lato", - "designer": "Łukasz Dziedzic", - "license": "OFL", - "visibility": "External", - "category": "Sans Serif", - "size": 51318, - "fonts": [ - { - "name": "Lato", - "style": "normal", - "weight": 100, - "filename": "Lato-Hairline.ttf", - "postScriptName": "Lato-Hairline", - "fullName": "Lato Hairline", - "copyright": "Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name \"Lato\". Licensed under the SIL Open Font License, Version 1.1." - }, - { - "name": "Lato", - "style": "italic", - "weight": 100, - "filename": "Lato-HairlineItalic.ttf", - "postScriptName": "Lato-HairlineItalic", - "fullName": "Lato Hairline Italic", - "copyright": "Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name \"Lato\". Licensed under the SIL Open Font License, Version 1.1." - }, - { - "name": "Lato", - "style": "normal", - "weight": 300, - "filename": "Lato-Light.ttf", - "postScriptName": "Lato-Light", - "fullName": "Lato Light", - "copyright": "Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name \"Lato\". Licensed under the SIL Open Font License, Version 1.1." - }, - { - "name": "Lato", - "style": "italic", - "weight": 300, - "filename": "Lato-LightItalic.ttf", - "postScriptName": "Lato-LightItalic", - "fullName": "Lato Light Italic", - "copyright": "Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name \"Lato\". Licensed under the SIL Open Font License, Version 1.1." - }, - { - "name": "Lato", - "style": "normal", - "weight": 400, - "filename": "Lato-Regular.ttf", - "postScriptName": "Lato-Regular", - "fullName": "Lato Regular", - "copyright": "Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name \"Lato\". Licensed under the SIL Open Font License, Version 1.1." - }, - { - "name": "Lato", - "style": "italic", - "weight": 400, - "filename": "Lato-Italic.ttf", - "postScriptName": "Lato-Italic", - "fullName": "Lato Italic", - "copyright": "Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name \"Lato\". Licensed under the SIL Open Font License, Version 1.1." - }, - { - "name": "Lato", - "style": "normal", - "weight": 700, - "filename": "Lato-Bold.ttf", - "postScriptName": "Lato-Bold", - "fullName": "Lato Bold", - "copyright": "Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name \"Lato\". Licensed under the SIL Open Font License, Version 1.1." - }, - { - "name": "Lato", - "style": "italic", - "weight": 700, - "filename": "Lato-BoldItalic.ttf", - "postScriptName": "Lato-BoldItalic", - "fullName": "Lato Bold Italic", - "copyright": "Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name \"Lato\". Licensed under the SIL Open Font License, Version 1.1." - }, - { - "name": "Lato", - "style": "normal", - "weight": 900, - "filename": "Lato-Black.ttf", - "postScriptName": "Lato-Black", - "fullName": "Lato Black", - "copyright": "Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name \"Lato\". Licensed under the SIL Open Font License, Version 1.1." - }, - { - "name": "Lato", - "style": "italic", - "weight": 900, - "filename": "Lato-BlackItalic.ttf", - "postScriptName": "Lato-BlackItalic", - "fullName": "Lato Black Italic", - "copyright": "Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name \"Lato\". Licensed under the SIL Open Font License, Version 1.1." - } - ], - "subsets": [ - "latin", - "latin-ext", - "menu" - ], - "dateAdded": "2010-12-15" -} diff --git a/customize.dist/fonts/lato/OFL.txt b/customize.dist/fonts/lato/OFL.txt deleted file mode 100644 index 98383e3d8..000000000 --- a/customize.dist/fonts/lato/OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name "Lato" - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/customize.dist/fonts/neuropolitical.ttf b/customize.dist/fonts/neuropolitical.ttf deleted file mode 100644 index 26bbb63ce..000000000 Binary files a/customize.dist/fonts/neuropolitical.ttf and /dev/null differ diff --git a/customize.dist/four-oh-four.js b/customize.dist/four-oh-four.js index bcae8b4b2..568faf951 100644 --- a/customize.dist/four-oh-four.js +++ b/customize.dist/four-oh-four.js @@ -9,7 +9,7 @@ define([ ], function ($, Config, h, LocalStore, Messages) { var urlArgs = Config.requireConf.urlArgs; var img = h('img#cp-logo', { - src: '/customize/cryptpad-new-logo-colors-logoonly.png?' + urlArgs + src: '/customize/CryptPad_logo_grey.svg?' + urlArgs }); var brand = h('h1#cp-brand', 'CryptPad'); diff --git a/customize.dist/images/AaronMacSween.jpg b/customize.dist/images/AaronMacSween.jpg deleted file mode 100644 index 95afcda67..000000000 Binary files a/customize.dist/images/AaronMacSween.jpg and /dev/null differ diff --git a/customize.dist/images/CalebJames.jpg b/customize.dist/images/CalebJames.jpg deleted file mode 100644 index 0e29dd116..000000000 Binary files a/customize.dist/images/CalebJames.jpg and /dev/null differ diff --git a/customize.dist/images/Catalin.jpg b/customize.dist/images/Catalin.jpg deleted file mode 100644 index 508c0692e..000000000 Binary files a/customize.dist/images/Catalin.jpg and /dev/null differ diff --git a/customize.dist/images/LudovicDuboist.jpg b/customize.dist/images/LudovicDuboist.jpg deleted file mode 100644 index 09bf4afba..000000000 Binary files a/customize.dist/images/LudovicDuboist.jpg and /dev/null differ diff --git a/customize.dist/images/Pierre-new.jpg b/customize.dist/images/Pierre-new.jpg deleted file mode 100644 index c8dafbe41..000000000 Binary files a/customize.dist/images/Pierre-new.jpg and /dev/null differ diff --git a/customize.dist/images/apps-preview.png b/customize.dist/images/apps-preview.png new file mode 100644 index 000000000..83e4f701c Binary files /dev/null and b/customize.dist/images/apps-preview.png differ diff --git a/customize.dist/images/bkcontact.jpg b/customize.dist/images/bkcontact.jpg deleted file mode 100644 index bae61ba1a..000000000 Binary files a/customize.dist/images/bkcontact.jpg and /dev/null differ diff --git a/customize.dist/images/collaboration.png b/customize.dist/images/collaboration.png new file mode 100644 index 000000000..16e5dc77b Binary files /dev/null and b/customize.dist/images/collaboration.png differ diff --git a/customize.dist/images/cover-faq.jpg b/customize.dist/images/cover-faq.jpg deleted file mode 100644 index 27be3af99..000000000 Binary files a/customize.dist/images/cover-faq.jpg and /dev/null differ diff --git a/customize.dist/images/cover-features.jpg b/customize.dist/images/cover-features.jpg deleted file mode 100644 index 6652c9b28..000000000 Binary files a/customize.dist/images/cover-features.jpg and /dev/null differ diff --git a/customize.dist/images/cover-privacy.jpg b/customize.dist/images/cover-privacy.jpg deleted file mode 100644 index ff873c99d..000000000 Binary files a/customize.dist/images/cover-privacy.jpg and /dev/null differ diff --git a/customize.dist/images/drive-grid.png b/customize.dist/images/drive-grid.png new file mode 100644 index 000000000..8c9833662 Binary files /dev/null and b/customize.dist/images/drive-grid.png differ diff --git a/customize.dist/images/drive_screenshot.png b/customize.dist/images/drive_screenshot.png deleted file mode 100644 index 74f89c06d..000000000 Binary files a/customize.dist/images/drive_screenshot.png and /dev/null differ diff --git a/customize.dist/images/email.svg b/customize.dist/images/email.svg index e2e566e6e..61f7e6137 100644 --- a/customize.dist/images/email.svg +++ b/customize.dist/images/email.svg @@ -1,25 +1,66 @@ - - - - diff --git a/customize.dist/images/github.svg b/customize.dist/images/github.svg index 16cd68786..18c5b45e8 100644 --- a/customize.dist/images/github.svg +++ b/customize.dist/images/github.svg @@ -1,22 +1,77 @@ - - - - - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite, encrypted and open-source - + diff --git a/customize.dist/loading.js b/customize.dist/loading.js index 8efca25fd..af73a9b42 100644 --- a/customize.dist/loading.js +++ b/customize.dist/loading.js @@ -1,5 +1,6 @@ -// dark #326599 -// light #4591c4 +// bg #e7e7e7 +// blue #0087FF +// text #3F4141 define(['/customize/messages.js'], function (Messages) { var loadingStyle = (function(){/* @font-face { @@ -21,8 +22,8 @@ define(['/customize/messages.js'], function (Messages) { bottom: 0px; left: 0px; right: 0px; - background: linear-gradient(to right, #326599 0%, #326599 50%, #4591c4 50%, #4591c4 100%); - color: #fafafa; + background-color: #e7e7e7; + color: #3F4141; font-size: 1.3em; line-height: 120%; opacity: 1; @@ -32,6 +33,9 @@ define(['/customize/messages.js'], function (Messages) { align-items: center; font: 20px 'Open Sans', 'Helvetica Neue', sans-serif !important; } +#cp-loading.cp-loading-transparent { + background-color: rgba(231, 231, 231, 0.7); +} #cp-loading.cp-loading-hidden { opacity: 0; visibility: hidden; @@ -52,35 +56,39 @@ define(['/customize/messages.js'], function (Messages) { #cp-loading .cp-loading-container { width: 700px; max-width: 90vw; - height: 500px; + height: 236px; max-height: calc(100vh - 20px); margin: 50px; flex-shrink: 0; display: flex; flex-flow: column; - justify-content: space-around; align-items: center; } -@media screen and (max-height: 800px) { - #cp-loading .cp-loading-container { - height: auto; - } -} -@media screen and (max-width: 600px) { - #cp-loading .cp-loading-container { - height: auto; - } -} #cp-loading .cp-loading-cryptofist { margin-left: auto; margin-right: auto; - //height: 300px; max-width: 90vw; max-height: 300px; width: auto; height: auto; margin-bottom: 2em; } +@media screen and (max-width: 500px) { + #cp-loading { + font-size: 16px !important; + } + #cp-loading .cp-loading-container { + height: 206px; + } +} +@media screen and (max-height: 700px) { + #cp-loading { + font-size: 16px !important; + } + #cp-loading .cp-loading-container { + height: 206px; + } +} @media screen and (max-height: 500px) { #cp-loading .cp-loading-logo { display: none; @@ -170,14 +178,11 @@ p.cp-password-info{ } #cp-loading .cp-loading-spinner-container { position: relative; - height: 100px; -} -#cp-loading .cp-loading-spinner-container > div { - height: 100px; + height: 80px; + margin-bottom: 50px; } .cp-loading-progress { width: 100%; - margin: 20px; text-align: center; } .cp-loading-progress p { @@ -189,10 +194,13 @@ p.cp-password-info{ .cp-loading-progress-list { text-align: left; display: inline-block; + margin-bottom: 50px; + max-width: 100%; } .cp-loading-progress-list ul { list-style: none; padding-left: 0; + margin: 0; } .cp-loading-progress-list li { padding: 0px 5px; @@ -200,6 +208,9 @@ p.cp-password-info{ -moz-user-select: none; -ms-user-select: none; user-select: none; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } .cp-loading-progress-list li i { width: 22px; @@ -214,10 +225,11 @@ p.cp-password-info{ .cp-loading-progress-bar { height: 24px; background: white; + border: 1px solid #0087FF; } .cp-loading-progress-bar-value { height: 100%; - background: #5cb85c; + background: #0087FF; } @keyframes spin { @@ -234,7 +246,7 @@ p.cp-password-info{ box-sizing: border-box; width: 80px; height: 80px; - border: 11px solid white; + border: 11px solid #999999; border-radius: 50%; border-top-color: transparent; animation: spin infinite 3s; @@ -263,7 +275,7 @@ button:not(.btn).primary:hover{ loadingStyle, '', '', '
', '
', diff --git a/customize.dist/main-favicon.png b/customize.dist/main-favicon.png index 212975b6d..ce110f883 100644 Binary files a/customize.dist/main-favicon.png and b/customize.dist/main-favicon.png differ diff --git a/customize.dist/maintenance.html b/customize.dist/maintenance.html index 6815de38b..0f224d69b 100644 --- a/customize.dist/maintenance.html +++ b/customize.dist/maintenance.html @@ -1,10 +1,10 @@ - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite, encrypted and open-source - + - - - - - - diff --git a/customize.dist/src/less2/include/alertify.less b/customize.dist/src/less2/include/alertify.less index 344e590b5..fd52420b0 100644 --- a/customize.dist/src/less2/include/alertify.less +++ b/customize.dist/src/less2/include/alertify.less @@ -1,3 +1,4 @@ + @import (reference) "./colortheme-all.less"; @import (reference) "./browser.less"; @import (reference) "./variables.less"; @@ -168,6 +169,23 @@ &:last-child { margin-bottom: 0; } + .cp-info-menu-container { + .logo-block { + text-align: center; + h6 { + font-family: "IBM Plex Mono"; + font-size: 30px; + margin-top: 5px; + } + img { + max-width: 100px; + } + } + a { + color: @colortheme_logo-2; + text-decoration: underline; + } + } } .cp-alertify-type-container { overflow: visible !important; @@ -248,7 +266,7 @@ } } - .fa-question-circle { // help links to FAQ + .fa-question-circle { // help links to Docs color: @colortheme_logo-2; &:hover { text-decoration: none; diff --git a/customize.dist/src/less2/include/colortheme.less b/customize.dist/src/less2/include/colortheme.less index 3b232be81..12abeed91 100644 --- a/customize.dist/src/less2/include/colortheme.less +++ b/customize.dist/src/less2/include/colortheme.less @@ -4,11 +4,13 @@ @colortheme_app-font: @colortheme_app-font-size @colortheme_font; @colortheme_logo-1: #326599; -@colortheme_logo-2: #4591c4; +@colortheme_logo-2: #0087FF; // XXX Testing if this color works +@colortheme_logo_2_light: lighten(@colortheme_logo-2, 40%); +@colortheme_loading_bg: #E7E7E7; @colortheme_link-color: #0275D8; @colortheme_link-color-visited: #005999; -@colortheme_info-background: #fafafa; +@colortheme_info-background: #eeeeee; @colortheme_old-base: #302B28; @colortheme_old-fore: #fafafa; @@ -33,7 +35,7 @@ @colortheme_modal-fg: @colortheme_form-color-alt; @colortheme_modal-link: @colortheme_link-color; @colortheme_modal-link-visited: lighten(@colortheme_modal-link, 10%); -@colortheme_modal-dim: fade(@colortheme_logo-2, 50%); // TODO transparent background behind modals +@colortheme_modal-dim: fade(@cryptpad_text_col, 50%); // TODO transparent background behind modals @colortheme_modal-input: @colortheme_form-bg; @colortheme_modal-input-fg: @colortheme_form-color; @@ -74,89 +76,31 @@ @colortheme_userlist-bg: #eee; @colortheme_pad-chat-bg: #AAA; -@colortheme_pad-bg: #256ad5; -@colortheme_pad-color: #fff; -@colortheme_pad-warn: #ffae00; +@colortheme_apps: { + default: #0087FF; + drive: #0087FF; + pad: #256ad5; + code: #EAA000; + slide: #e57614; + poll: #2c9e98; + whiteboard: #a72ba7; + kanban: #8C4; + sheet: #40865c; + oodoc: #5170B5; + ooslide: #C65D27; + file: #CD2532; +} + +@colortheme_static_apps: { + default: #0087FF; + teams: #4A3BBD; + contacts: #607B8D; +} -@colortheme_slide-bg: #e57614; -@colortheme_slide-color: #fff; -@colortheme_slide-warn: #005868; - -@colortheme_code-bg: #EAA000; -@colortheme_code-color: #000; -@colortheme_code-warn: #9A37F7; - -@colortheme_poll-bg: #2c9e98; @colortheme_poll-color: #fff; @colortheme_poll-help-bg: #bbffbb; @colortheme_poll-th-bg: #005bef; @colortheme_poll-th-fg: #fff; -@colortheme_poll-warn: #ffade3; - -@colortheme_whiteboard-bg: #a72ba7; -@colortheme_whiteboard-color: #fff; -@colortheme_whiteboard-warn: #ffae00; - -@colortheme_drive-bg: #0087FF; -@colortheme_drive-color: #fff; -@colortheme_drive-warn: #cd2532; - -@colortheme_teams-bg: #4a3bbd; -@colortheme_teams-color: #fff; -@colortheme_teams-warn: #cd2532; - -@colortheme_file-bg: #cd2532; -@colortheme_file-color: #fff; -@colortheme_file-warn: #ffae00; - -@colortheme_friends-bg: #607b8d; -@colortheme_friends-color: #fff; -@colortheme_friends-warn: #cd2532; - -@colortheme_default-bg: #326599; -@colortheme_default-color: #FFF; -@colortheme_default-warn: #cd2532; - -@colortheme_settings-bg: #0087ff; -@colortheme_settings-color: #fff; -@colortheme_settings-warn: #cd2532; - -@colortheme_profile-bg: #0087ff; -@colortheme_profile-color: #fff; -@colortheme_profile-warn: #cd2532; - -@colortheme_todo-bg: #999; -@colortheme_todo-color: #3F4141; -@colortheme_todo-warn: #cd2532; - -@colortheme_oodoc-bg: #5170B5; -@colortheme_oodoc-color: #FFF; -@colortheme_oodoc-warn: #cd2532; - -@colortheme_ooslide-bg: #c65d27; -@colortheme_ooslide-color: #FFF; -@colortheme_ooslide-warn: #cd2532; - -@colortheme_oocell-bg: #40865c; -@colortheme_oocell-color: #FFF; -@colortheme_oocell-warn: #ffbcc0; - -@colortheme_kanban-bg: #8C4; -@colortheme_kanban-color: #000; -@colortheme_kanban-warn: #e6385d; - -@colortheme_admin-bg: #0087ff; -@colortheme_admin-color: #FFF; -@colortheme_admin-warn: #ffae00; - -@colortheme_notifications-bg: #0087ff; -@colortheme_notifications-color: #000; -@colortheme_notifications-warn: #e34a85; - -@colortheme_support-bg: #0087ff; -@colortheme_support-color: #000; -@colortheme_support-warn: #9A37F7; - // Sidebar layout (profile / settings) @colortheme_sidebar-active: #fff; diff --git a/customize.dist/src/less2/include/creation.less b/customize.dist/src/less2/include/creation.less index ccf4ce5b1..daef0b876 100644 --- a/customize.dist/src/less2/include/creation.less +++ b/customize.dist/src/less2/include/creation.less @@ -5,21 +5,21 @@ @import (reference) "./avatar.less"; .creation_vars( - @color: @colortheme_default-color, - @bg-color: @colortheme_default-bg + @bg-color: @colortheme_apps[default] ) { - @creation-color: @color; + @creation-color: @cryptpad_text_col; @creation-bg-color: @bg-color; + @creation-bg-color-light: lighten(@bg-color, 30%); }; .creation_main( - @color: @colortheme_default-color, - @bg-color: @colortheme_default-bg + @bg-color: @colortheme_apps[default] ) { --LessLoader_require: LessLoader_currentFile(); - .creation_vars(@color, @bg-color); - --creation-color: @color; + .creation_vars(@bg-color); + --creation-color: @cryptpad_text_col; --creation-bg-color: @bg-color; + --creation-bg-color-light: @creation-bg-color-light; } & { .creation_vars(); @@ -32,7 +32,7 @@ z-index: 100000000; // #loading * 10 top: 0px; //background: @colortheme_loading-bg; - background: linear-gradient(to right, @colortheme_loading-bg 0%, @colortheme_loading-bg 50%, @colortheme_loading-bg-alt 50%, @colortheme_loading-bg-alt 100%); + background: @colortheme_loading_bg; color: @colortheme_loading-color; display: flex; flex-flow: column; /* we need column so that the child can shrink vertically */ @@ -41,16 +41,19 @@ width: 100%; height: 100%; overflow: auto; + .cp-creation-fill { + flex: 1 1 50%; + } .cp-creation-logo { height: 300px; - width: 300px; - margin-top: 50px; - flex: 0 1 auto; /* allows shrink */ + width: 200px; min-height: 0; text-align: center; img { + margin-top: 50px; + margin-bottom: 50px; max-width: 100%; - max-height: 100%; + max-height: ~"calc(100% - 100px)"; } } } @@ -63,9 +66,9 @@ outline: none; width: 700px; max-width: 90vw; - height: 550px; - max-height: calc(~"100vh - 20px"); - margin: 50px; + height: 500px; + max-height: ~"calc(100vh - 20px)"; + margin: 0px; flex-shrink: 0; display: flex; flex-flow: column; @@ -77,42 +80,66 @@ text-align: left; } + .cp-creation-checkboxes { + flex-flow: column; + align-items: baseline !important; + max-height: 150px; + min-height: 120px !important; + justify-content: space-evenly; + flex: 1; + & > div { + display: flex; + width: 100%; + max-width: 100%; + margin: auto; + text-align: left; + } + } + + .cp-creation-title { - color: @colortheme_creation-modal-title; - font-weight: bold; - margin: 15px; + font-size: 20px; + display: flex; + flex-flow: column; + align-items: center; + margin-top: 15px; + margin-bottom: 15px; + .cp-icon { + margin-bottom: 5px; + font-size: 50px; + } + .cp-creation-title-text { + position: relative; + a { + position: absolute; + top: 7px; + margin-left: 30px; + font-size: 16px; + color: inherit; + } + } } .cp-creation-create { - margin-top: 0px; + justify-content: center; + margin-top: 10px; + margin-bottom: 15px; button { .tools_unselectable(); - padding: 15px; - background: linear-gradient(to right, @colortheme_logo-2, @colortheme_logo-1); + padding: 6px; + background: @colortheme_logo-2; + font-size: 20px; color: #FFF; - font-weight: bold; margin: 3px 10px; border: none; cursor: pointer; outline: none; - width: 100%; + text-transform: uppercase; &:hover { - background: linear-gradient(to right, lighten(@colortheme_logo-2, 5%), lighten(@colortheme_logo-1, 5%)); - //background: darken(@creation-button, 5%); - //background: lighten(@creation-button, 5%); + background: lighten(@colortheme_logo-2, 5%); } } } - .cp-creation-create { - text-align: center; - //margin: auto; - //margin-top: 20px; - width: 400px; - max-width: 100%; - button { - margin: 0; - } - } #cp-creation-form { display: flex; @@ -121,7 +148,7 @@ flex: 1 0 auto; justify-content: space-around; & > div { - width: 400px; + width: 300px; max-width: 100%; display: flex; align-items: center; @@ -169,11 +196,11 @@ input, select { font-size: 14px; - border: 1px solid @colortheme_form-border; + border: 1px solid @colortheme_form-bg; height: 26px; line-height: 26px; - background-color: @colortheme_form-bg; - color: @colortheme_form-color; + //background-color: @colortheme_form-bg; + color: @cryptpad_text_col; } .cp-creation-teams { @@ -224,7 +251,10 @@ .cp-creation-expire-picker { text-align: center; input { - width: 50px; + width: 45px; + margin: 0 5px; + padding: 0; + padding-left: 3px; margin: 0 5px; } select { @@ -241,6 +271,7 @@ } } .cp-creation-password { + flex-flow: column; .cp-creation-password-picker { text-align: center; width: 100%; @@ -280,6 +311,7 @@ width: 100%; //flex: 1 0 auto; flex-wrap: nowrap; + justify-content: space-between; .cp-creation-template-more { font-size: 30px; cursor: pointer; @@ -301,34 +333,34 @@ } .cp-creation-template-container { width: 100%; + max-width: ~"calc(100% - 60px)"; flex: 1; display: flex; - flex-wrap: wrap; - justify-content: center; + flex-flow: column wrap; //overflow-y: auto; + max-height: 159px; align-items: center; .cp-creation-template-element { box-shadow: 2px 2px 7px @colortheme_form-border; - width: 135px; - padding: 5px; + width: 300px; + max-width: calc(100% - 10px); + padding: 2px; margin: 5px; display: inline-flex; - flex-flow: column; - box-sizing: content-box; + box-sizing: border-box; text-align: left; line-height: 1em; cursor: pointer; - color: black; + color: @creation-color; + color: var(--creation-color); border: 1px solid transparent; &.cp-creation-template-selected, &:hover { - color: @creation-color !important; - color: var(--creation-color) !important; - background-color: @creation-bg-color !important; - background-color: var(--creation-bg-color) !important; + background-color: @creation-bg-color-light; + background-color: var(--creation-bg-color-light); .fa, .cptools { color: @creation-color; color: var(--creation-color); @@ -340,9 +372,10 @@ align-items: center; img { - max-width: 100px; - max-height: 100px; + max-width: 30px; + max-height: 30px; background: #fff; + margin-right: 10px; } .cp-creation-template-element-name { @@ -353,18 +386,15 @@ min-height: 20px; height: 20px; line-height: 20px; - margin-top: 5px; max-width: 100%; } .fa, .cptools { color: @creation-bg-color; color: var(--creation-bg-color); cursor: pointer; - width: 100px; - height: 100px; - font-size: 70px; + font-size: 30px; text-align: center; - line-height: 100px; + margin-right: 10px; } } } @@ -384,67 +414,43 @@ } } - @media screen and (max-height: 700px) { - #cp-creation-container { - .cp-creation-logo { - //flex-shrink: 0; - display: none; - } + @media screen and (max-height: 850px) { + #cp-creation-container { + .cp-creation-logo img { + display: none; } } - @media screen and (max-width: 500px) { - #cp-creation { - #cp-creation-form { - & > div { - width: 95%; - margin: 10px auto; - } - .cp-creation-expire { - &.active { - label { - flex: 1; - } - .cp-creation-slider { - flex: none; - order: 10; - width: 100%; - } + } + @media screen and (max-width: 400px) { + #cp-creation { + #cp-creation-form { + & > div { + width: 95%; + margin: 0 auto; + } + .cp-creation-expire { + &.active { + label { + flex: 1; + } + .cp-creation-slider { + flex: none; + order: 10; + width: 100%; } } } } } - @media screen and (max-width: @browser_media-medium-screen) { - #cp-creation { - height: auto; - #cp-creation-form { - div.cp-creation-template { - margin: 0; - padding: 5px; - .cp-creation-template-container { - .cp-creation-template-element { - flex-flow: row; - margin: 1px; - padding: 5px; - width: 155px; - img { - display: none; - } - .fa { - font-size: 18px; - width: 20px; - height: 20px; - line-height: 20px; - display: inline !important; - } - .cp-creation-template-element-name { - margin: 0; - margin-left: 5px; - } - } - } - } + } + @media screen and (max-width: 800px) { + #cp-creation { + height: 550px; + #cp-creation-form { + div.cp-creation-template { + flex-flow: column; } } } + } } diff --git a/customize.dist/src/less2/include/drive.less b/customize.dist/src/less2/include/drive.less index e09dc0a0f..da2b10485 100644 --- a/customize.dist/src/less2/include/drive.less +++ b/customize.dist/src/less2/include/drive.less @@ -12,8 +12,7 @@ .limit-bar_main(); .tokenfield_main(); - @colortheme_drive-bg-light: lighten(@colortheme_drive-bg, 30%); - @colortheme_drive-bg-active: lighten(@colortheme_drive-bg, 20%); + @colortheme_drive-bg-active: lighten(@colortheme_static_apps[default], 20%); @colortheme_drive-color: @cryptpad_text_col; @drive_hover: #eee; @@ -819,7 +818,6 @@ font-size: @colortheme_app-font-size; padding: 0 5px; border: 0; - //background: @colortheme_drive-bg-active; color: @colortheme_drive-color; box-sizing: border-box; overflow: hidden; @@ -868,8 +866,11 @@ border: 1px solid @colortheme_modal-fg; li:not(.cp-app-drive-element-selected):hover { - background: @colortheme_modal-fg; - color: @colortheme_modal-bg; + background: @colortheme_logo_2_light; + color: @cryptpad_text_col; + .cptools { + color: @cryptpad_text_col; + } } .cp-modal { display: flex; @@ -896,6 +897,7 @@ } .cp-app-drive-new-name { + color: @cryptpad_text_col; white-space: nowrap; } diff --git a/customize.dist/src/less2/include/fileupload.less b/customize.dist/src/less2/include/fileupload.less index 0353b06eb..d2f2fff18 100644 --- a/customize.dist/src/less2/include/fileupload.less +++ b/customize.dist/src/less2/include/fileupload.less @@ -16,7 +16,7 @@ box-sizing: border-box; z-index: 100001; //Z file upload table container: just above the file picker display: none; - color: darken(@colortheme_drive-bg, 10%); + color: darken(@colortheme_static_apps[default], 10%); max-height: 180px; overflow-y: auto; diff --git a/customize.dist/src/less2/include/font.less b/customize.dist/src/less2/include/font.less index 627a9a9f8..7b3eff709 100644 --- a/customize.dist/src/less2/include/font.less +++ b/customize.dist/src/less2/include/font.less @@ -2,11 +2,12 @@ --LessLoader_require: LessLoader_currentFile(); } -// Fonts need to go on the global scope @font-face { - font-family: Neuropolitical; - src: url("/customize/fonts/neuropolitical.ttf"); -} + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 500; + src: url("/customize/fonts/IBMPlexMono-Medium.woff2") format("woff2"), url("/customize/fonts/IBMPlexMono-Medium.woff") format("woff"); } + // Fonts need to go on the global scope @font-tools { diff --git a/customize.dist/src/less2/include/forms.less b/customize.dist/src/less2/include/forms.less index a7939eacd..b6d909a73 100644 --- a/customize.dist/src/less2/include/forms.less +++ b/customize.dist/src/less2/include/forms.less @@ -204,6 +204,9 @@ background-color: fade(@colortheme_alertify-cancel-border, 25%); } } + &.btn-register { + margin-top: 10px !important; + } diff --git a/customize.dist/src/less2/include/framework.less b/customize.dist/src/less2/include/framework.less index 7876195c1..da379a164 100644 --- a/customize.dist/src/less2/include/framework.less +++ b/customize.dist/src/less2/include/framework.less @@ -20,9 +20,7 @@ @import (reference) "./modals-ui-elements.less"; .framework_main( - @bg-color: @colortheme_default-bg, // color of the toolbar background - @warn-color: @colortheme_default-warn, // color of the warning text in the toolbar - @color: @colortheme_default-color, // Color of the text for the toolbar + @bg-color: @colortheme_apps[default] ) { --LessLoader_require: LessLoader_currentFile(); // Set the HTML style for the apps which shouldn't have a body scrollbar @@ -35,8 +33,6 @@ .toolbar_main( @bg-color: @bg-color, - @warn-color: @warn-color, - @color: @color ); .alertify_main(); .modals-ui-elements_main(); @@ -48,7 +44,6 @@ .checkmark_main(20px); .password_main(); .messenger_main( - @color: @cryptpad_text_col, @bg-color: @colortheme_pad-chat-bg ); .cursor_main(); @@ -57,15 +52,12 @@ .mentions_main(); .creation_main( @bg-color: @bg-color, - @color: @color ); font: @colortheme_app-font; }; .framework_min_main( - @color: @colortheme_default-color, // Color of the text for the toolbar - @bg-color: @colortheme_default-bg, // color of the toolbar background - @warn-color: @colortheme_default-warn, // color of the warning text in the toolbar + @bg-color: @colortheme_static_apps[default] ) { --LessLoader_require: LessLoader_currentFile(); // Set the HTML style for the apps which shouldn't have a body scrollbar @@ -78,8 +70,6 @@ .toolbar_main( @bg-color: @bg-color, - @warn-color: @warn-color, - @color: @color ); .fileupload_main(); .alertify_main(); diff --git a/customize.dist/src/less2/include/icon-colors.less b/customize.dist/src/less2/include/icon-colors.less index 776a7c443..0d7ecb121 100644 --- a/customize.dist/src/less2/include/icon-colors.less +++ b/customize.dist/src/less2/include/icon-colors.less @@ -3,43 +3,15 @@ --LessLoader_require: LessLoader_currentFile(); } & { - // Classes used in common-interface.js - .cp-icon-color-pad { color: @colortheme_pad-bg; } - .cp-icon-color-code { color: @colortheme_code-bg; } - .cp-icon-color-slide { color: @colortheme_slide-bg; } - .cp-icon-color-poll { color: @colortheme_poll-bg; } - .cp-icon-color-file { color: @colortheme_file-bg; } - .cp-icon-color-contacts { color: @colortheme_friends-bg; } - .cp-icon-color-whiteboard { color: @colortheme_whiteboard-bg; } - .cp-icon-color-drive { color: @colortheme_drive-bg; } - .cp-icon-color-settings { color: @colortheme_settings-bg; } - .cp-icon-color-profile { color: @colortheme_settings-bg; } - .cp-icon-color-default { color: @colortheme_default-bg; } - .cp-icon-color-todo { color: @colortheme_todo-bg; } - .cp-icon-color-oodoc { color: @colortheme_oodoc-bg; } - .cp-icon-color-ooslide { color: @colortheme_ooslide-bg; } - .cp-icon-color-sheet { color: @colortheme_oocell-bg; } - .cp-icon-color-kanban { color: @colortheme_kanban-bg; } - .cp-icon-color-admin { color: @colortheme_admin-bg; } - .cp-icon-color-teams { color: @colortheme_teams-bg; } - .cp-border-color-pad { border-color: @colortheme_pad-bg !important; } - .cp-border-color-code { border-color: @colortheme_code-bg !important; } - .cp-border-color-slide { border-color: @colortheme_slide-bg !important; } - .cp-border-color-poll { border-color: @colortheme_poll-bg !important; } - .cp-border-color-file { border-color: @colortheme_file-bg !important; } - .cp-border-color-contacts { border-color: @colortheme_friends-bg !important; } - .cp-border-color-whiteboard { border-color: @colortheme_whiteboard-bg !important; } - .cp-border-color-drive { border-color: @colortheme_drive-bg !important; } - .cp-border-color-settings { border-color: @colortheme_settings-bg !important; } - .cp-border-color-profile { border-color: @colortheme_settings-bg !important; } - .cp-border-color-default { border-color: @colortheme_default-bg !important; } - .cp-border-color-todo { border-color: @colortheme_todo-bg !important; } - .cp-border-color-oodoc { border-color: @colortheme_oodoc-bg !important; } - .cp-border-color-ooslide { border-color: @colortheme_ooslide-bg !important; } - .cp-border-color-sheet { border-color: @colortheme_oocell-bg !important; } - .cp-border-color-kanban { border-color: @colortheme_kanban-bg !important; } - .cp-border-color-admin { border-color: @colortheme_admin-bg !important; } - .cp-border-color-teams { border-color: @colortheme_teams-bg !important; } + each(@colortheme_apps, { + .cp-icon-color-@{key} { color: @value; } + }); + + each(@colortheme_apps, { + @val: @{value} !important; + .cp-border-color-@{key} { border-color: @val; } + }); + } diff --git a/customize.dist/src/less2/include/icons.less b/customize.dist/src/less2/include/icons.less index ebadf5185..228e10c3d 100644 --- a/customize.dist/src/less2/include/icons.less +++ b/customize.dist/src/less2/include/icons.less @@ -16,13 +16,13 @@ height: 24px; margin: 0; display: inline-block; - font-size: 14px; //align-items: center; //justify-content: center; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; word-wrap: break-word; + color: @cryptpad_text_col; } &.cp-icons-element-selected { background-color: rgba(0,0,0,0.2); diff --git a/customize.dist/src/less2/include/infopages.less b/customize.dist/src/less2/include/infopages.less index 3df7b4c1d..6b3ca1d1b 100644 --- a/customize.dist/src/less2/include/infopages.less +++ b/customize.dist/src/less2/include/infopages.less @@ -10,6 +10,9 @@ transform: scale(1.05); } } +.cp-shadow() { + box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.34); +} .infopages_main () { --LessLoader_require: LessLoader_currentFile(); @@ -21,9 +24,10 @@ body { // Basic setup for info pages, this should be used at the global level background-color: @colortheme_info-background; + color: @cryptpad_text_col; a { - color: @cryptpad_color_blue; - &:visited { color: darken(@cryptpad_color_blue, 5%); } + color: @colortheme_logo-2; + &:visited { color: darken(@colortheme_logo-2, 5%); } } a:hover { opacity: 1; @@ -38,13 +42,14 @@ body { padding-top: @infopages_padding; padding-bottom: @infopages_padding; min-height: 75vh; + max-width: 950px; h1 { font-size: 3em; margin-bottom: 0.5em; } h2 { - font-size: 2em; - margin-top: 1em; + font-size: 1.8em; + margin-top: 20px; margin-bottom: 0.5em; } h3 { @@ -57,7 +62,40 @@ body { float: left; } max-width: 100%; + margin-top: 20px; + } + .cp-page-title { + h1 { + font-family: "IBM Plex Mono"; + color: @colortheme_logo-2; + margin: 50px auto; + } } + .row.cp-page-section { + margin: 50px 0px; + } + img.cp-shadow { + .cp-shadow(); + } + + button { + outline: none; + background-color: @colortheme_logo-2; + color: @colortheme_base; + border: none; + padding: 10px 20px; + border-radius: 0px; + cursor: pointer; + &:hover, &:focus { + background-color: darken(@colortheme_logo-2, 5%); + } + } + button.cp-secondary { + background-color: white; + color: @colortheme_logo-2; + border: 1px solid @colortheme_logo-2; + } + .form-group { & > * { margin-top: 0.5em; @@ -79,40 +117,48 @@ body { } } footer { - background-color: @cryptpad_color_blue; + @footer-color: #d9d9d9; // XXX move this + + background-color: @footer-color; + padding-top: 20px; .container { - .col { - margin-top: 1em; + margin-bottom: 20px; + a { + color: @colortheme_logo-2; + &:visited { + color: @colortheme_logo-2; + }; } - a { - color: #fff; - &:visited { - color: darken(#fff, 5%); - }; } - margin-bottom: 1em; - ul.list-unstyled { - margin-top: 1em; - text-align: center; + .cp-logo-foot { + display: flex; + flex-flow: column; + width: 100%; + align-items: center; + img { + max-width: 60px; + display: block; } - } - .cp-bio-foot { - background-image: url(/customize/CryptPad-white-logo.svg); - background-size: 100%; - background-repeat: no-repeat; - p { - color: #fff; - padding-top: 30%; - margin-bottom: 0; + .logo-font { + display: block; + font-family: "IBM Plex Mono"; + font-size: 1.5rem; + color: @colortheme_logo-2; + margin-bottom: 10px; } } .cp-version-footer { - background-color: @cryptpad_color_blue; - color: #fff; - text-align: center; + background-color: @footer-color; + display: flex; + flex-flow: column; + align-items: center; padding: 0.5em; - border-top: 2px solid #fff; + border-top: 1px solid #fff; + select { + min-width: 0; + margin-bottom: 10px; + } } } @@ -155,14 +201,18 @@ body { // navigation top bar .navbar { - background: #fff; + width: 100%; + color: @colortheme_logo-2; .navbar-brand { display: block; - background-image: url(/customize/CryptPad_logo_color.svg); - background-repeat: no-repeat; - background-size: contain; height: 50px; width: 250px; + font-family: "IBM Plex Mono"; + font-size: 1.8em; + img { + max-width: 40px; + margin-right: 10px; + } @media (max-width: 326px) { width: 180px; } @@ -171,15 +221,18 @@ body { a { border: 2px solid transparent; white-space: nowrap; + &:visited { + color: @colortheme_logo-2; + } } .nav-link { padding: 0.5em 0.7em; &:hover { - color: @cryptpad_color_light_blue; + color: @cryptpad_text_col; } } .cp-register-btn { - border: 2px solid #4591C4; + border: 2px solid @colortheme_logo-2; display: inline-block; } button:focus { @@ -187,7 +240,7 @@ body { } .navbar-toggler { margin-top: 10px; - color: #4591C4; + color: @colortheme_logo-2; } } @media (max-width: 1000px) { @@ -211,13 +264,5 @@ body { text-align: center; } } - - //footer general styles - - .footer-title { - font-weight: bold; - font-size: 1.2em; - color: #1E1F1F; - } } diff --git a/customize.dist/src/less2/include/leftside-menu.less b/customize.dist/src/less2/include/leftside-menu.less index 1cf84e41b..bd92601c8 100644 --- a/customize.dist/src/less2/include/leftside-menu.less +++ b/customize.dist/src/less2/include/leftside-menu.less @@ -3,6 +3,9 @@ @import (reference) "./colortheme-all.less"; .leftside-menu_main() { + div.cp-empty-rule { + display: block; // XXX workaround lesshint complaining about empty rules + } } .leftside-menu-category_main() { .unselectable_make(); diff --git a/customize.dist/src/less2/include/messenger.less b/customize.dist/src/less2/include/messenger.less index 66ad741bb..f5ace3444 100644 --- a/customize.dist/src/less2/include/messenger.less +++ b/customize.dist/src/less2/include/messenger.less @@ -2,10 +2,9 @@ @import (reference) "./colortheme-all.less"; .messenger_vars ( - @color: @colortheme_friends-color, // color of the toolbar text - @bg-color: @colortheme_friends-bg, // color of the toolbar background + @bg-color: @colortheme_static_apps[contacts], // color of the toolbar background ) { - @msg-color: @color; + @msg-color: @cryptpad_text_col; @msg-bg-color: @bg-color; @msg-bg-color-light: lighten(@bg-color, 15%); @msg-bg-color-lighter: lighten(@bg-color, 20%); @@ -13,11 +12,10 @@ @msg-bg-color-darker: darken(@bg-color, 20%); }; .messenger_main( - @color: @colortheme_friends-color, // color of the toolbar text - @bg-color: @colortheme_friends-bg, // color of the toolbar background + @bg-color: @colortheme_static_apps[contacts], // color of the toolbar background ) { --LessLoader_require: LessLoader_currentFile(); - .messenger_vars(@color, @bg-color); + .messenger_vars(@bg-color); --msg-color: @msg-color; --msg-bg-color: @msg-bg-color; --msg-bg-color-light: @msg-bg-color-light; diff --git a/customize.dist/src/less2/include/toolbar.less b/customize.dist/src/less2/include/toolbar.less index 9adef38ce..70abfea03 100644 --- a/customize.dist/src/less2/include/toolbar.less +++ b/customize.dist/src/less2/include/toolbar.less @@ -12,9 +12,7 @@ @import (reference) "./notifications.less"; .toolbar_vars ( - @color: @colortheme_default-color, // Color of the text for the toolbar - @bg-color: @colortheme_default-bg, // color of the toolbar background - @warn-color: @colortheme_default-warn // color of the warning text in the toolbar + @bg-color: @colortheme_apps[default], // color of the toolbar background ) { @toolbar-bg-color: @bg-color; @toolbar-bg-color-light: lighten(@bg-color, 30%); @@ -22,13 +20,10 @@ }; .toolbar_main ( - @color: @colortheme_default-color, // Color of the text for the toolbar - @bg-color: @colortheme_default-bg, // color of the toolbar background - @warn-color: @colortheme_default-warn, // color of the warning text in the toolbar - @barWidth: 600px // width of the toolbar + @bg-color: @colortheme_apps[default], // color of the toolbar background ) { --LessLoader_require: LessLoader_currentFile(); - .toolbar_vars(@color, @bg-color, @warn-color); + .toolbar_vars(@bg-color); --toolbar-bg-color: @toolbar-bg-color; --toolbar-bg-color-light: @toolbar-bg-color-light; @@ -271,8 +266,11 @@ border: 1px solid @colortheme_modal-fg; &:hover { //border: 1px solid @colortheme_modal-fg; - background: @colortheme_modal-fg; - color: @colortheme_modal-bg; + background: @colortheme_logo_2_light; + color: @cryptpad_text_col; + .cptools { + color: @cryptpad_text_col; + } } } .cp-modal { @@ -282,7 +280,7 @@ cursor: pointer; } &> p { - margin: 50px; + margin: 20px; } &> div { flex: 1; @@ -293,7 +291,7 @@ } &> div:last-child { flex: unset; - margin: 50px 0; + margin: 20px 0; } } @@ -811,10 +809,8 @@ padding: 10px; svg { - * { - fill: @toolbar-bg-color; - fill: var(--toolbar-bg-color); - } + fill: @toolbar-bg-color; + fill: var(--toolbar-bg-color); } img { @@ -1055,7 +1051,7 @@ &.fa-hashtag { order: 10; } &.fa-bookmark { order: 15; } &.fa-upload { order: 20; } - &.fa-clone { order: 25; } + &.fa-files-o { order: 25; } &.fa-download { order: 30; } &.fa-print { order: 35; } &.fa-trash { order: 40; } @@ -1125,6 +1121,7 @@ .cp-toolbar-spinner { color: @cryptpad_text_col; + font-family: "Open Sans"; font-size: 14px; padding: 0 8px; height: 20px; diff --git a/customize.dist/src/less2/pages/page-404.less b/customize.dist/src/less2/pages/page-404.less index 9ff9cdcc3..a42391e66 100644 --- a/customize.dist/src/less2/pages/page-404.less +++ b/customize.dist/src/less2/pages/page-404.less @@ -5,6 +5,9 @@ html, body { .font_main(); margin: 0px; padding: 0px; + background-color: @colortheme_info-background; + color: @cryptpad_text_col; + font-family: "IBM Plex Mono"; #cp-main { height: 100vh; @@ -18,7 +21,6 @@ html, body { margin: auto; } #cp-brand { - font-family: neuropolitical; font-size: 40px; } #cp-title { @@ -27,10 +29,6 @@ html, body { #cp-scramble, #cp-link { font-size: 20px; } - #cp-title, #cp-scramble, #cp-link { - //font-family: 'Open Sans'; - font-family: monospace; - } } } diff --git a/customize.dist/src/less2/pages/page-about.less b/customize.dist/src/less2/pages/page-about.less deleted file mode 100644 index 23ce14e93..000000000 --- a/customize.dist/src/less2/pages/page-about.less +++ /dev/null @@ -1,118 +0,0 @@ -@import (reference) "../include/infopages.less"; -@import (reference) "../include/colortheme-all.less"; - -&.cp-page-about { - .infopages_main(); - - #cp-main { - background: #fff; - } - .cp-about-intro { - padding-top: 3em; - padding-bottom: 3em; - background-image: url(/customize/bkabout.jpg); - background-size: cover; - background-repeat: no-repeat; - background-position: center; - .container { - color: #fff; - font-family: "Open Sans"; - h1 { - font-weight: 700; - } - a { - color: #fff; - text-decoration: underline; - } - p { - padding-top: 1em; - } - } - } - .cp-container { - .row { - background: #fff; - } - .cp-bio-avatar { - padding-right: 0; - @media (max-width: 991px) { - padding-right: 15px; - } - img { - @media (max-width: 991px) { - margin: 0 auto; - display: block; - } - } - } - .cp-bio-avatar-right { - padding-right: 15px; - padding-left: 0; - @media (max-width: 991px) { - padding-left: 15px; - } - } - } - .cp-develop-about { - .cp-icon-cent { - width: 6rem; - background: #fff; - border-radius: 50%; - height: 6rem; - box-shadow: 0 5px 15px rgba(69,145,196, 0.3); - margin: 0 auto; - background-image: url(/customize/code.svg); - background-repeat: no-repeat; - margin-top: 1em; - margin-bottom: 1.5em; - background-position: 50%; - background-size: 4rem; - } - h2 { - margin-top: 0; - font-weight: 600; - color: #1E1F1F; - margin-bottom: 1.5em; - } - } - .cp-profile-det { - padding-left: 30px; - h3 { - color: #1E1F1F; - font-weight: 700; - } - p { - color: #3F4141; - margin-bottom: 1em; - } - hr { - margin-left: 0; - width: 15rem; - border-top: 2px solid @cryptpad_color_blue; - } - margin-bottom: 1em; - } - .cp-soc-media { - font-size: 1.5em; - color: @cryptpad_color_blue; - padding-right: 1em; - display: inline-block; - &:hover { - transform: scale(1.1); - } - &:visited { - color: @cryptpad_color_blue; - } - } - .cp-contrib { - margin-top: 3em; - .cp-icon-cent { - background-image: url(/customize/source-branch.svg); - background-position: 60%; - } - } - .cp-margin-bot { - margin-bottom: 1.5em; - } -} - diff --git a/customize.dist/src/less2/pages/page-contact.less b/customize.dist/src/less2/pages/page-contact.less index 9f4ed74af..4ae651d61 100644 --- a/customize.dist/src/less2/pages/page-contact.less +++ b/customize.dist/src/less2/pages/page-contact.less @@ -7,11 +7,9 @@ .fa { padding-right: 0.25em; } - #cp-main { - background-color: #fff; - } + .cp-container { - background: #fff; + .cp-iconCont { h4 { margin-top: 1.5em; @@ -19,12 +17,13 @@ } div { .card { - box-shadow: 0 5px 15px rgba(69,145,196, 0.3); - border-color: #fff; + .cp-shadow(); + border-radius: 0; margin-bottom: 1em; + border: 0; &:hover, &:focus { text-decoration: none; - transform: scale(1.05); + background-color: @colortheme_logo_2_light; } @media (max-width: 1200px) and (min-width: 769px) { min-height: 139px; @@ -39,7 +38,7 @@ min-height: 162px; } img { - max-width: 50px; + width: 80px; margin-bottom: 10px; } p { @@ -49,22 +48,11 @@ align-items: center; margin: 0; height: 100%; + font-size: 1.3em; } } } } } - .cp-contdet { - padding-top: 3em; - padding-bottom: 3em; - background-image: url(/customize/images/bkcontact.jpg); - background-size: cover; - background-repeat: no-repeat; - background-position: center; - h1 { - font-weight: 700; - color: #fff; - } - } } diff --git a/customize.dist/src/less2/pages/page-faq.less b/customize.dist/src/less2/pages/page-faq.less deleted file mode 100644 index 96ba157e1..000000000 --- a/customize.dist/src/less2/pages/page-faq.less +++ /dev/null @@ -1,86 +0,0 @@ -@import (reference) "../include/infopages.less"; -@import (reference) "../include/colortheme-all.less"; - -&.cp-page-faq { - .infopages_main(); - - #cp-main { - background: #fff; - } - .cp-faq { - padding-top: 3em; - padding-bottom: 3em; - background-image: url(/customize/images/cover-faq.jpg); - background-size: cover; - background-repeat: no-repeat; - background-position: center; - .container { - color: #fff; - font-family: "Open Sans"; - } - h1 { - font-weight: 700; - } - } - - .cp-faq-ques-det { - .cp-faq-header { - a { - padding: 0; - h4 { - margin-top: 1.5rem; - margin-bottom: 1.5rem; - .cp-brand-font { - font-family: "Neuropolitical"; - } - } - } - } - } - .cp-faq-container { - .cp-faq-questions-items { - background: #3a84b6; - color: #fff; - padding: 1rem 1rem 0.5rem 1rem; - margin-bottom: 1rem; - } - .cp-faq-questions-q { - padding: 0; - margin-bottom: 0.5rem; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - &:hover { - text-decoration: none; - } - &:after { - content: '\f067'; - font-family: FontAwesome; - font-weight: normal; - font-style: normal; - float: right; - text-decoration: none; - font-size: 13px; - line-height: 1.5; - } - } - .cp-faq-questions-q.active-faq { - &:after { - content: '\f068'; - } - } - .cp-faq-questions-a { - display: none; - padding: 0.5rem; - margin-bottom: 0.5rem; - background-color: #fff; - color: #212529; - } - margin-bottom: 1.5rem; - } -} - diff --git a/customize.dist/src/less2/pages/page-features.less b/customize.dist/src/less2/pages/page-features.less index 08bdbfc95..95c79b1b0 100644 --- a/customize.dist/src/less2/pages/page-features.less +++ b/customize.dist/src/less2/pages/page-features.less @@ -4,21 +4,6 @@ &.cp-page-features { .infopages_main(); - #cp-main { - background-color: #fff; - } - .cp_cont_features { - padding-top: 3em; - padding-bottom: 3em; - background-image: url('/customize/images/cover-features.jpg'); - background-size: cover; - background-repeat: no-repeat; - background-position: center; - h1 { - font-weight: 700; - color: #fff; - } - } .cp-features-register { text-align: center; padding: 20px; @@ -26,31 +11,33 @@ .cp-features-register-button { font-size: 20px; color: #fff; - background: @cryptpad_color_blue; - border: 2px solid @cryptpad_color_blue; + background: @colortheme_logo-2; border-radius: 0; &:hover { - transform: scale(1.05); cursor: pointer; } - padding: 0.5em 1em; } .cp-features-web { .card { - box-shadow: 0 5px 15px rgba(69, 145, 196, 0.3); + .cp-shadow(); border: none; - .card-body { + .title-card { + background-color: @colortheme_logo-2; + padding: 20px; + } + .card-body, .title-card { display: flex; justify-content: center; align-items: center; flex-flow: column; + padding: 12px; h3 { margin: 0; } &.cp-pricing { div { font-size: 1.2em; - color: @cryptpad_color_blue; + color: @colortheme_logo-2; &:first-child { font-weight: bold; } @@ -80,7 +67,7 @@ content: "\f00c"; font-family: "FontAwesome"; font-size: 14px; - color: @cryptpad_color_blue; + color: @colortheme_logo-2; } } &.cp-content { @@ -96,35 +83,22 @@ div.cp-note { font-size: 0.8em; } - a.voted { - opacity: 0.6; - margin-left: 15px; - &:hover { - opacity: 1; - } - } .list-group-item { - border-color: rgba(69, 145, 196, 0.125); - } - } - .cp-anon-user { - .card-body { - &:first-of-type { - background-color: @cryptpad_color_blue; + border-bottom: 1px solid rgba(0,0,0,0.125); + &:first-child { + border-top: 1px solid rgba(0,0,0,0.125); + } + &:last-child { + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; } } } + .cp-regis-user { @media (max-width:575px) { margin-top: 3em; } - .card-body { - &:first-of-type { - background: #4591C4; - background: -webkit-linear-gradient(to right, #FF7C4F, #4592C4); // lesshint duplicateProperty: false - background: linear-gradient(to right, #FF7C4F, #4592C4); // lesshint duplicateProperty: false - } - } } } diff --git a/customize.dist/src/less2/pages/page-index.less b/customize.dist/src/less2/pages/page-index.less index b0070de53..98fe7ae4b 100644 --- a/customize.dist/src/less2/pages/page-index.less +++ b/customize.dist/src/less2/pages/page-index.less @@ -4,13 +4,7 @@ &.cp-page-index { .infopages_main(); - @background_lighter: rgba(0,0,0,0.1); - @background_darker: rgba(0,0,0,0.4); #cp-main { - color: #FFF; - background: linear-gradient( @background_darker, @background_lighter ), url('/customize/bg14.jpg'); - background-size: cover; - background-position: center; min-height: 100vh; display: flex; flex-direction: column; @@ -31,6 +25,7 @@ } body { font-family: "Open Sans", Helvetica; + color: @cryptpad_text_col; } .cp-right { .cp-register-btn { @@ -48,57 +43,38 @@ } } } + .cp-home-hero { + width: 100%; + margin-bottom: 50px; + align-self: center; + align-items: center; + } .cp-title { display: flex; align-items: center; + justify-content: center; flex-direction: column; + color: @colortheme_logo-2; margin-top: 1.5em; img { - height: 20vh; + max-width: 200px; margin-bottom: 1.5em; } margin-left: 0; h1 { - font-family: "Neuropolitical"; + font-family: "IBM Plex Mono"; + font-weight: 500; //font-family: Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", Times, serif; //font-family: "Raleway"; - font-size: 45px; + font-size: 3.7rem; } - p { - //font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; - font-size: 20px; + .tag-line { + text-align: center; + font-size: 1.4em; //font-style: italic; } } - .navbar { - background: transparent; - width: 100%; - @media only screen and (max-device-width: 991px) { - margin-top: 0; - } - .navbar-brand { - background-image: url(/customize/CryptPad-white-logo.svg); - } - a { - color: #fff; - &:visited { - color: rgba(255,255,255,.9); - }; - } - .nav-link { - &:hover { - color: inherit; - transform: scale(1.05); - }; - } - .cp-register-btn { - border: 2px solid #fff; - } - .navbar-toggler { - margin-top: 10px; - color: #fff; - } - } + @callout-padding: 15px; a:hover { text-decoration: none; @@ -107,28 +83,26 @@ .cp-app-grid { display: flex; flex-wrap: wrap; - & > a { - margin: 20px; + justify-content: space-around; + a { + margin: 10px; + } + @media screen and (max-width: 768px) { + margin-top: 40px; } } @icons-size: 120px; - @icons-text-size: 30px; + @icons-text-size: 24px; .bs-callout { display: flex; align-items: stretch; margin: 0; - background: rgba(255,255,255,0.6); - color: black; - transition: all .1s ease-in-out; box-sizing: border-box; position: relative; flex-flow: column; - height: @icons-size; + //height: @icons-size; width: @icons-size; - a { - color: black; - &:hover { text-decoration-line: none; } - } + div h4 { @media only screen and (min-device-width: 576px) and (max-device-width: 767px) { font-size: 1.3em; @@ -148,17 +122,20 @@ .fa, .cptools { display: flex; align-items: center; - font-size: @icons-size - 60px; + font-size: 3.5em; justify-content: center; width: @icons-size; - height: @icons-size - @icons-text-size; - transition: width 0.1s; - color: #fff; + padding: 10px 10px 0px 10px; + //height: @icons-size - @icons-text-size; } &.cp-app-disabled { cursor: not-allowed !important; opacity: 0.5; } + .pad-button-text { + color: @cryptpad_text_col; + padding: 5px; + } } h4 { margin: 0; @@ -171,21 +148,22 @@ } .bs-callout:hover { - //color: white; - transform: scale(1.05); cursor: pointer; } .bs-callout:hover.cp-callout-more { transform: none !important; } - .cp-callout-pad .cptools { background-color: @colortheme_pad-bg; } - .cp-callout-code .cptools { background-color: @colortheme_code-bg; } - .cp-callout-slide .cptools { background-color: @colortheme_slide-bg; } - .cp-callout-poll .cptools { background-color: @colortheme_poll-bg; } - .cp-callout-kanban .cptools { background-color: @colortheme_kanban-bg; } - .cp-callout-whiteboard .cptools { background-color: @colortheme_whiteboard-bg; } - .cp-callout-drive .fa { background-color: @colortheme_drive-bg; } - .cp-callout-sheet .fa { background-color: @colortheme_oocell-bg; } + + each(@colortheme_apps, { + .cp-callout-@{key} { + i { color: @value; } + &:hover { + background-color: lighten(@value, 30%); + i { color: @cryptpad_text_col; } + } + } + }); + .cp-hidden { display: none !important; } .cp-callout-more { display: inline-block; @@ -209,43 +187,13 @@ } } - .cp-index-block-help { - button { - outline: none; - background-color: @colortheme_logo-2; - color: @colortheme_base; - border: none; - padding: 10px 20px; - border-radius: 44px; - cursor: pointer; - &:hover { - background-color: lighten(@colortheme_logo-2, 3%); - } - } - } - - .cp-index-block { - min-height: 100%; - & > div { - background: rgba(0,0,0,0.5); - margin: 0 5px; - padding: 15px 10px; - height: 100%; - display: flex; - flex-flow: column; - justify-content: space-evenly; - } - .cp-img-container { - display: flex; - } - img, a.img { - margin: auto; - background: white; - &.agpl { - max-height: 50px; - } - &.ngi { - max-height: 100px; + #cp-main { + .cp-container { + .row.cp-index-section { + margin: 50px 0px; + .small-logo { + max-width: 40%; + } } } } diff --git a/customize.dist/src/less2/pages/page-login.less b/customize.dist/src/less2/pages/page-login.less index 61d1f18c1..98eafe483 100644 --- a/customize.dist/src/less2/pages/page-login.less +++ b/customize.dist/src/less2/pages/page-login.less @@ -19,29 +19,16 @@ } } .cp-container { - #data { - background: #4591C4; - padding-top: 3em; - padding-bottom: 7em; - padding-left: 30px; - padding-right: 30px; - p { - color: #fff; - } - h2 { - font-weight: 700; - color: @cryptpad_header_col; - } - } #userForm { - padding-top: 3em; - padding-bottom: 2em; + .cp-shadow(); + background-color: white; + padding: 10px; .form-control { border-radius: 0; color: @cryptpad_text_col; - margin-top: 1em; + margin-bottom: 5px; &:focus { - border-color: @cryptpad_color_blue; + border-color: @colortheme_logo-2; } } .checkbox-container { @@ -54,24 +41,13 @@ } .extra { margin-top: 1em; - .login { - background: @cryptpad_color_blue; - color: #fff; - padding: 10px; - border-radius: 0; - &:hover { - transform: scale(1.05); - } - } + #register { - border-color: @cryptpad_color_blue; + border-color: @colortheme_logo-2; background: #fff; - color: @cryptpad_color_blue; + color: @colortheme_logo-2; padding: 10px; border-radius: 0; - &:hover { - transform: scale(1.05); - } } } } diff --git a/customize.dist/src/less2/pages/page-privacy.less b/customize.dist/src/less2/pages/page-privacy.less index 2f6418e40..30f979859 100644 --- a/customize.dist/src/less2/pages/page-privacy.less +++ b/customize.dist/src/less2/pages/page-privacy.less @@ -4,48 +4,5 @@ &.cp-page-privacy { .infopages_main(); - #cp-main { - background: #fff; - } - .cp-privacy-top { - padding-top: 3em; - padding-bottom: 3em; - background-image: url(/customize/images/cover-privacy.jpg); - background-size: cover; - background-repeat: no-repeat; - background-position: center; - .container { - color: #fff; - font-family: "Open Sans"; - h1 { - font-weight: 700; - } - a { - color: #fff; - text-decoration: underline; - } - p { - padding-top: 1em; - } - } - } - .cp-privacy { - background-image: url(/customize/CryptPadlogo_op5.svg); - background-size: cover; - background-repeat: no-repeat; - background-position: center; - hr { - margin-left: 0; - width: 15rem; - border-top: 2px solid #4591C4; - } - h3 { - color: #1E1F1F; - font-weight: 700; - } - p { - color: #3F4141; - } - } } diff --git a/customize.dist/src/less2/pages/page-register.less b/customize.dist/src/less2/pages/page-register.less index cc319a0e4..94502bf27 100644 --- a/customize.dist/src/less2/pages/page-register.less +++ b/customize.dist/src/less2/pages/page-register.less @@ -39,48 +39,16 @@ display: none; } } - .cp-register-wel { - padding-top: 6em; - padding-bottom: 20em; - background-image: url(/customize/bkregister.jpg); - background-size: cover; - background-repeat: no-repeat; - background-position: center; - h1 { - font-weight: 700; - color: #fff; - text-shadow: 0 1px 5px rgba(0,0,0,.2); - } - } .cp-register-det { - margin-top: -7em; - background: #fff; - box-shadow: 0 5px 15px rgba(69,145,196, 0.3); - #data { - // Old browsers - background: #4591C4; - - // Chrome 10-25, Safari 5.1-6 - background: -webkit-linear-gradient(to right, #FF7C4F, #4592C4); // lesshint duplicateProperty: false - // W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ - background: linear-gradient(to right, #FF7C4F, #4592C4); // lesshint duplicateProperty: false - - padding-top: 3em; - padding-bottom: 7em; - padding-left: 30px; - padding-right: 30px; p { - color: #fff; li { margin-bottom: 1em; } .fa { - font-size: 1.5em; padding-right: 10px; - color: #000; } } h3 { @@ -89,12 +57,14 @@ } } #userForm { - padding-top: 3em; - padding-bottom: 2em; + padding: 15px; + background-color: white; + height: min-content; // XXX why does the form expand without this? + .cp-shadow(); .form-control { border-radius: 0; color: @cryptpad_text_col; - margin-top: 1em; + margin-top: 5px; &:focus { border-color: @cryptpad_color_blue; } @@ -103,42 +73,27 @@ color: @cryptpad_text_col; } } - .cp-login-register { - color: @cryptpad_color_blue; - background: #fff; - border: 2px solid @cryptpad_color_blue; - border-radius: 0; - &:hover { - transform: scale(1.05); + + .cp-register-notes { + ul.cp-notes-list { + list-style: none; + margin-left: 0; + padding-left: 30px; + position: relative; + li { + margin-bottom: 10px; + &::before { + position: absolute; + left: 0; + font-family: "FontAwesome"; + content: "\f071"; + } + .red { + color: #ff0000; + } + } } } } - .cp-register-test { - margin-top: 3em; - hr { - width: 15rem; - border-top: 2px solid @cryptpad_color_blue; - margin-top: 0; - margin-bottom: 2em; - } - p { - margin-bottom: 0; - } - .cp-test-source { - font-style: italic; - } - .test-details { - padding-left: 4em; - background-image: url(/customize/testimonial.svg); - background-repeat: no-repeat; - background-position: left top; - background-size: 3em; - color: @cryptpad_text_col; - } - - } - #cp-main { - background: #fff; - } } diff --git a/customize.dist/src/less2/pages/page-what-is-cryptpad.less b/customize.dist/src/less2/pages/page-what-is-cryptpad.less index f26188fe7..4fabcf50b 100644 --- a/customize.dist/src/less2/pages/page-what-is-cryptpad.less +++ b/customize.dist/src/less2/pages/page-what-is-cryptpad.less @@ -4,42 +4,35 @@ &.cp-page-what-is-cryptpad { .infopages_main(); - .cp-what-is { - padding-top: 3em; - padding-bottom: 3em; - background-image: url(/customize/bkwhat.jpg); - background-size: cover; - background-repeat: no-repeat; - background-position: center; - color: #fff; - h1 { - font-weight: 700; - } - } - #cp-main { - background: #fff; - } - .cp-container { - padding-top: 3em; - padding-bottom: 3em; - h2 { - margin-top: 0; - font-weight: 700; - color: @cryptpad_header_col; - } - p { - color: @cryptpad_text_col; - } - #zeroknowledge { - width: 65%; - } - .row { - margin-bottom: 1.5em; - } + .small-logos { img { - display: block; - margin: 0 auto; + max-width: 40%; + padding: 10px; + margin-top: 0px; } } + + // .cp-container { + // padding-top: 3em; + // padding-bottom: 3em; + // h2 { + // margin-top: 0; + // font-weight: 700; + // color: @cryptpad_header_col; + // } + // p { + // color: @cryptpad_text_col; + // } + // #zeroknowledge { + // width: 65%; + // } + // .row { + // margin-bottom: 1.5em; + // } + // img { + // display: block; + // margin: 0 auto; + // } + // } } diff --git a/customize.dist/src/template.html b/customize.dist/src/template.html index 31d4c99f8..2fe8b478c 100644 --- a/customize.dist/src/template.html +++ b/customize.dist/src/template.html @@ -2,10 +2,10 @@ - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite,encrypted and open-source - + diff --git a/customize.dist/template.js b/customize.dist/template.js index e53772041..427dafd00 100644 --- a/customize.dist/template.js +++ b/customize.dist/template.js @@ -54,10 +54,6 @@ $(function () { require([ '/customize/main.js', ], function () {}); } else if (/invite/.test(pathname)) { require([ '/invite/main.js'], function () {}); - } else if (/faq/.test(pathname)) { - var hash = window.location.hash; - window.location.hash = ''; - window.location.hash = hash; } else { require([ '/customize/main.js', ], function () {}); } diff --git a/customize.dist/terms.html b/customize.dist/terms.html index 31d4c99f8..f1cf1b429 100644 --- a/customize.dist/terms.html +++ b/customize.dist/terms.html @@ -2,10 +2,10 @@ - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite, encrypted and open-source - + diff --git a/customize.dist/testimonial.svg b/customize.dist/testimonial.svg deleted file mode 100644 index 4c1b0074e..000000000 --- a/customize.dist/testimonial.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - -testimonial - - - - - - - diff --git a/customize.dist/what-is-cryptpad.html b/customize.dist/what-is-cryptpad.html index 31d4c99f8..f1cf1b429 100644 --- a/customize.dist/what-is-cryptpad.html +++ b/customize.dist/what-is-cryptpad.html @@ -2,10 +2,10 @@ - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite, encrypted and open-source - + diff --git a/docs/debugging.md b/docs/debugging.md new file mode 100644 index 000000000..5d9cfd580 --- /dev/null +++ b/docs/debugging.md @@ -0,0 +1,2 @@ +* compare your conf against `cryptpad/docs/example.nginx.conf` +* diff --git a/lib/defaults.js b/lib/defaults.js index 4110e63d4..246994d7c 100644 --- a/lib/defaults.js +++ b/lib/defaults.js @@ -50,17 +50,15 @@ Default.httpHeaders = function () { "Access-Control-Allow-Origin": "*", }; }; - +// XXX check here for any deleted pages Default.mainPages = function () { return [ 'index', 'privacy', 'terms', - 'about', 'contact', 'what-is-cryptpad', 'features', - 'faq', 'maintenance' ]; }; diff --git a/package-lock.json b/package-lock.json index 2c64d8307..ef1573c7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,44 @@ "resolved": "https://registry.npmjs.org/@mcrowe/minibloom/-/minibloom-0.2.0.tgz", "integrity": "sha1-G+2WrsGDiBmNo3RDiZssP/WUgFM=" }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "14.14.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.16.tgz", + "integrity": "sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw==", + "dev": true + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -31,12 +69,6 @@ "uri-js": "^4.2.2" } }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -46,6 +78,33 @@ "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" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -66,6 +125,12 @@ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -90,6 +155,12 @@ "dev": true, "optional": true }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, "async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", @@ -102,6 +173,12 @@ "dev": true, "optional": true }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -122,6 +199,61 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -168,11 +300,87 @@ "concat-map": "0.0.1" } }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -214,6 +422,40 @@ "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" + }, + "dependencies": { + "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" + } + } + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } } }, "cli": { @@ -226,6 +468,16 @@ "glob": "^7.1.1" } }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -257,6 +509,12 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -292,12 +550,36 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, "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=", "dev": true }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -322,6 +604,53 @@ "ms": "2.0.0" } }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -397,15 +726,6 @@ "domelementtype": "1" } }, - "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -443,6 +763,15 @@ "prr": "~1.0.1" } }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -454,6 +783,12 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, + "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 + }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -465,6 +800,41 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "express": { "version": "4.16.4", "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", @@ -509,6 +879,92 @@ "dev": true, "optional": true }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -523,6 +979,20 @@ "dev": true, "optional": true }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, "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", @@ -530,6 +1000,29 @@ "dev": true, "optional": true }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "finalhandler": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", @@ -550,6 +1043,12 @@ "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", "dev": true }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -574,6 +1073,15 @@ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -609,6 +1117,12 @@ "tiny-each-async": "2.0.3" } }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -633,24 +1147,53 @@ "path-is-absolute": "^1.0.0" } }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } } }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" }, "har-schema": { "version": "2.0.0", @@ -670,21 +1213,44 @@ "har-schema": "^2.0.0" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, "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-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "htmlparser2": { "version": "3.8.3", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", @@ -730,9 +1296,9 @@ } }, "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "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 }, "image-size": { @@ -748,6 +1314,16 @@ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", "dev": true }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, "indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", @@ -774,12 +1350,133 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -787,12 +1484,24 @@ "dev": true, "optional": true }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -800,11 +1509,15 @@ "dev": true, "optional": true }, - "js-base64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", - "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", - "dev": true + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } }, "jsbn": { "version": "0.1.1", @@ -829,6 +1542,12 @@ "strip-json-comments": "1.0.x" } }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -915,6 +1634,12 @@ } } }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, "less": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/less/-/less-3.7.1.tgz", @@ -941,28 +1666,27 @@ } }, "lesshint": { - "version": "4.6.5", - "resolved": "https://registry.npmjs.org/lesshint/-/lesshint-4.6.5.tgz", - "integrity": "sha512-aTKYRG498nnVWDCAHdb9dRHdp7gP92Fa5rKdMFt6z3HfyxB2EkO8ce3hekn3E2/TR4+ROWcNL4M5ot8SpC0slg==", + "version": "6.3.7", + "resolved": "https://registry.npmjs.org/lesshint/-/lesshint-6.3.7.tgz", + "integrity": "sha512-ontd3g1seYMgeTusLTrm5NMYllLrQs4QFPkqh6GCut2CSG2csMpFbLfd/GJTQIlJXX8ixPQ4i27NeElMuftGaQ==", "dev": true, "requires": { "commander": "^2.8.0", - "globby": "^7.0.0", + "cosmiconfig": "^5.0.1", + "globby": "^9.1.0", "lodash.merge": "^4.0.1", - "lodash.sortby": "^4.0.1", - "minimatch": "^3.0.2", - "postcss": "^6.0.0", - "postcss-less": "^1.1.3", - "postcss-selector-parser": "^3.0.0", - "postcss-values-parser": "^1.3.1", - "rcfinder": "^0.1.8", - "strip-json-comments": "^2.0.0" + "lodash.orderby": "^4.6.0", + "postcss": "^7.0.14", + "postcss-less": "^3.1.1", + "postcss-selector-parser": "^5.0.0", + "postcss-values-parser": "^2.0.0", + "strip-json-comments": "^3.0.0" }, "dependencies": { "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=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true } } @@ -987,22 +1711,16 @@ "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "lodash.orderby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.orderby/-/lodash.orderby-4.6.0.tgz", + "integrity": "sha1-5pfwTOXXhSL1TZM4syuBozk+TrM=", "dev": true }, "looper": { @@ -1010,6 +1728,21 @@ "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=" }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -1020,11 +1753,38 @@ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", @@ -1059,6 +1819,27 @@ "dev": true, "optional": true }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "mkdirp": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", @@ -1074,6 +1855,25 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -1096,6 +1896,55 @@ "dev": true, "optional": true }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -1125,11 +1974,33 @@ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -1148,6 +2019,14 @@ "dev": true, "requires": { "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, "performance-now": { @@ -1158,20 +2037,26 @@ "optional": true }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", "dev": true, "requires": { - "chalk": "^2.4.1", + "chalk": "^2.4.2", "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "supports-color": "^6.1.0" }, "dependencies": { "source-map": { @@ -1183,85 +2068,29 @@ } }, "postcss-less": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.5.tgz", - "integrity": "sha512-QQIiIqgEjNnquc0d4b6HDOSFZxbFQoy4MPpli2lSLpKhMyBkKwwca2HFqu4xzxlKID/F2fxSOowwtKpgczhF7A==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", + "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", "dev": true, "requires": { - "postcss": "^5.2.16" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } + "postcss": "^7.0.14" } }, "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", "dev": true, "requires": { - "dot-prop": "^5.2.0", + "cssesc": "^2.0.0", "indexes-of": "^1.0.1", "uniq": "^1.0.1" } }, "postcss-values-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz", - "integrity": "sha512-3M3p+2gMp0AH3da530TlX8kiO1nxdTnc3C6vr8dMxRLIlh8UYkz0/wcwptSXjhtx2Fr0TySI7a+BHDQ8NL7LaQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", "dev": true, "requires": { "flatten": "^1.0.2", @@ -1341,15 +2170,6 @@ "unpipe": "1.0.0" } }, - "rcfinder": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/rcfinder/-/rcfinder-0.1.9.tgz", - "integrity": "sha1-8+gPOH3fmugK4wpBADKWQuroERU=", - "dev": true, - "requires": { - "lodash.clonedeep": "^4.3.2" - } - }, "readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", @@ -1362,6 +2182,28 @@ "string_decoder": "~0.10.x" } }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -1391,6 +2233,24 @@ "uuid": "^3.3.2" } }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -1405,6 +2265,15 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -1470,6 +2339,29 @@ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", "dev": true }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -1482,11 +2374,118 @@ "dev": true }, "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "sortify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/sortify/-/sortify-1.0.4.tgz", @@ -1501,6 +2500,40 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", @@ -1528,6 +2561,27 @@ } } }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "statuses": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", @@ -1548,15 +2602,6 @@ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, "strip-json-comments": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", @@ -1564,9 +2609,9 @@ "dev": true }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -1586,6 +2631,48 @@ "os-tmpdir": "~1.0.1" } }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -1631,6 +2718,18 @@ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, "uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", @@ -1647,6 +2746,52 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -1657,6 +2802,18 @@ "punycode": "^2.1.0" } }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index 86c7fc67b..24041cb7b 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "devDependencies": { "jshint": "^2.10.2", "less": "3.7.1", - "lesshint": "^4.5.0", + "lesshint": "6.3.7", "selenium-webdriver": "^3.6.0" }, "scripts": { @@ -45,7 +45,7 @@ "lint:less": "./node_modules/lesshint/bin/lesshint -c ./.lesshintrc ./customize.dist/src/less2/", "test": "node scripts/TestSelenium.js", "test-rpc": "cd scripts/tests && node test-rpc", - "template": "cd customize.dist/src && for page in ../index.html ../privacy.html ../terms.html ../about.html ../contact.html ../what-is-cryptpad.html ../features.html ../../www/login/index.html ../../www/register/index.html ../../www/user/index.html;do echo $page; cp template.html $page; done;", + "template": "cd customize.dist/src && for page in ../index.html ../privacy.html ../terms.html ../contact.html ../what-is-cryptpad.html ../features.html ../../www/login/index.html ../../www/register/index.html ../../www/user/index.html;do echo $page; cp template.html $page; done;", "evict-inactive": "node scripts/evict-inactive.js" } } diff --git a/profile.md b/profile.md new file mode 100644 index 000000000..469617cb5 --- /dev/null +++ b/profile.md @@ -0,0 +1,22 @@ +```javascript +CryptPad_AsyncStore.rpc.send('ADMIN', + ['GET_WORKER_PROFILES'], + (e, _o) => { + var o = _o[0]; + // console.log(o[0]) + var sorted = Object.keys(o).sort(function (a, b) { + if (o[b] - o[a] <= 0) { return -1; } + return 1; + }); + var x = {}; + //console.log(sorted); + var total = 0; + sorted.forEach(function (k) { total += o[k]; }); + sorted.forEach(function (k) { + console.log("[%s] %ss running time (%s%)", k, o[k], Math.floor((o[k] / total) * 100)); + }); + } +) +``` + + diff --git a/www/admin/app-admin.less b/www/admin/app-admin.less index 77e13af43..d19e6b4d7 100644 --- a/www/admin/app-admin.less +++ b/www/admin/app-admin.less @@ -4,11 +4,7 @@ &.cp-app-admin { - .framework_min_main( - @bg-color: @colortheme_admin-bg, - @warn-color: @colortheme_admin-warn, - @color: @colortheme_admin-color - ); + .framework_min_main(); .sidebar-layout_main(); .support_main(); diff --git a/www/assert/index.html b/www/assert/index.html index eb0bd659f..10af165a9 100644 --- a/www/assert/index.html +++ b/www/assert/index.html @@ -48,7 +48,7 @@

XWiki Macros

-

Here is a macro

+

Here is a macro


diff --git a/www/assert/main.js b/www/assert/main.js index a467bfc67..db417c761 100644 --- a/www/assert/main.js +++ b/www/assert/main.js @@ -67,7 +67,7 @@ define([ '["DIV",{"id":"quot"},[["P",{},["\\"pewpewpew\\""]]]]', - '["DIV",{"id":"widget"},[["DIV",{"class":"cke_widget_wrapper cke_widget_block","contenteditable":"false","data-cke-display-name":"macro:velocity","data-cke-filter":"off","data-cke-widget-id":"0","data-cke-widget-wrapper":"1","tabindex":"-1"},[["DIV",{"class":"macro cke_widget_element","data-cke-widget-data":"%7B%22classes%22%3A%7B%22macro%22%3A1%7D%7D","data-cke-widget-keep-attr":"0","data-cke-widget-upcasted":"1","data-macro":"startmacro:velocity|-||-|Here is a macro","data-widget":"xwiki-macro"},[["P",{},["Here is a macro"]]]],["SPAN",{"class":"cke_reset cke_widget_drag_handler_container","style":"background: rgba(220, 220, 220, 0.5) url(\\"/customize/cryptofist_small.png\\") repeat scroll 0% 0%; top: -15px; left: 0px; display: block;"},[["IMG",{"class":"cke_reset cke_widget_drag_handler","data-cke-widget-drag-handler":"1","height":"15","src":"data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==","title":"Click and drag to move","width":"15"},[]]]]]]]]', + '["DIV",{"id":"widget"},[["DIV",{"class":"cke_widget_wrapper cke_widget_block","contenteditable":"false","data-cke-display-name":"macro:velocity","data-cke-filter":"off","data-cke-widget-id":"0","data-cke-widget-wrapper":"1","tabindex":"-1"},[["DIV",{"class":"macro cke_widget_element","data-cke-widget-data":"%7B%22classes%22%3A%7B%22macro%22%3A1%7D%7D","data-cke-widget-keep-attr":"0","data-cke-widget-upcasted":"1","data-macro":"startmacro:velocity|-||-|Here is a macro","data-widget":"xwiki-macro"},[["P",{},["Here is a macro"]]]],["SPAN",{"class":"cke_reset cke_widget_drag_handler_container","style":"background: rgba(220, 220, 220, 0.5) repeat scroll 0% 0%; top: -15px; left: 0px; display: block;"},[["IMG",{"class":"cke_reset cke_widget_drag_handler","data-cke-widget-drag-handler":"1","height":"15","src":"data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==","title":"Click and drag to move","width":"15"},[]]]]]]]]', ]; diff --git a/www/bounce/index.html b/www/bounce/index.html index c299fff4f..8e858093c 100644 --- a/www/bounce/index.html +++ b/www/bounce/index.html @@ -1,10 +1,10 @@ - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite, encrypted and open-source - + diff --git a/www/code/app-code.less b/www/code/app-code.less index 6557d39f6..7ba5142a7 100644 --- a/www/code/app-code.less +++ b/www/code/app-code.less @@ -4,9 +4,7 @@ &.cp-app-code { .framework_main( - @bg-color: @colortheme_code-bg, - @warn-color: @colortheme_code-warn, - @color: @colortheme_code-color + @bg-color: @colortheme_apps[code], ); display: flex; diff --git a/www/code/inner.js b/www/code/inner.js index 68b58bce4..31d12eff4 100644 --- a/www/code/inner.js +++ b/www/code/inner.js @@ -152,7 +152,7 @@ define([ var $codeMirror = $('.CodeMirror'); $('', { - src: '/customize/main-favicon.png', + src: '/customize/CryptPad_logo.svg', alt: '', class: 'cp-app-code-preview-empty' }).appendTo($previewContainer); diff --git a/www/common/application_config_internal.js b/www/common/application_config_internal.js index 1e848d289..496e65f1f 100644 --- a/www/common/application_config_internal.js +++ b/www/common/application_config_internal.js @@ -107,7 +107,7 @@ define(function() { file: 'cptools-file', fileupload: 'cptools-file-upload', folderupload: 'cptools-folder-upload', - pad: 'cptools-pad', + pad: 'cptools-richtext', code: 'cptools-code', slide: 'cptools-slide', poll: 'cptools-poll', @@ -117,7 +117,7 @@ define(function() { kanban: 'cptools-kanban', oodoc: 'fa-file-word-o', ooslide: 'fa-file-powerpoint-o', - sheet: 'fa-file-excel-o', + sheet: 'cptools-sheet', drive: 'fa-hdd-o', teams: 'fa-users', }; diff --git a/www/common/common-interface.js b/www/common/common-interface.js index bb84187b4..f7f3f082f 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -941,6 +941,7 @@ define([ // Show the loading screen $loading.css('display', ''); $loading.removeClass('cp-loading-hidden'); + $loading.removeClass('cp-loading-transparent'); if (config.newProgress) { var progress = h('div.cp-loading-progress', [ h('p.cp-loading-progress-list'), @@ -996,7 +997,8 @@ define([ $loading.find('.cp-loading-progress').remove(); // Hide the spinner $('.cp-loading-spinner-container').hide(); - if (transparent) { $loading.css('opacity', 0.9); } + $loading.removeClass('cp-loading-transparent'); + if (transparent) { $loading.addClass('cp-loading-transparent'); } // Add the error message var $error = $loading.find('#cp-loading-message').show(); @@ -1169,7 +1171,14 @@ define([ } }); - $input.change(function () { $mark.focus(); }); + $input.change(function () { + if (!opts.labelAlt) { return; } + if ($input.is(':checked') !== checked) { + $(label).text(opts.labelAlt); + } else { + $(label).text(labelTxt); + } + }); return h('label.cp-checkmark', labelOpts, [ input, diff --git a/www/common/common-ui-elements.js b/www/common/common-ui-elements.js index 93b9e3648..5501ca813 100644 --- a/www/common/common-ui-elements.js +++ b/www/common/common-ui-elements.js @@ -20,20 +20,14 @@ define([ ], function ($, Config, Util, Hash, Language, UI, Constants, Feedback, h, Clipboard, Messages, AppConfig, Pages, NThen, InviteInner, Visible) { var UIElements = {}; + var urlArgs = Config.requireConf.urlArgs; UIElements.getSvgLogo = function () { var svg = (function(){/* - - - - - image/svg+xml - - - - - - + + + + */}).toString().slice(14,-3); return svg; @@ -370,7 +364,7 @@ define([ h('div.cp-teams-invite-block', [ h('span', Messages.team_inviteLinkSetPassword), h('a.cp-teams-help.fa.fa-question-circle', { - href: origin + '/faq.html#security-pad_password', + href: origin + 'https://docs.cryptpad.fr/en/user_guide/security.html#passwords-for-documents-and-folders', target: "_blank", 'data-tippy-placement': "right" }) @@ -617,7 +611,7 @@ define([ break; case 'copy': button = $('', {'class': 'cp-toolbar-drawer-element'}).text(Messages.makeACopy)); button .click(common.prepareFeedback(type)) @@ -1535,10 +1529,20 @@ define([ var legalLine = template(Messages.info_imprintFlavour, Pages.imprintLink); var privacyLine = template(Messages.info_privacyFlavour, Pages.privacyLink); - var faqLine = template(Messages.help.generic.more, Pages.faqLink); + + // XXX existing key + Messages.help.generic.more = "Learn more about how CryptPad can work for you by reading our Documentation."; + + var faqLine = template(Messages.help.generic.more, Pages.docsLink); var content = h('div.cp-info-menu-container', [ - h('h6', Pages.versionString), + h('div.logo-block', [ + h('img', { + src: '/customize/CryptPad_logo.svg?' + urlArgs + }), + h('h6', "CryptPad"), + h('span', Pages.versionString) + ]), h('hr'), legalLine, privacyLine, @@ -1672,6 +1676,16 @@ define([ }, }); } + options.push({ + tag: 'a', + attributes: { + 'target': '_blank', + 'rel': 'noopener', + 'href': 'https://docs.cryptpad.fr', + 'class': 'fa fa-book' + }, + content: h('span', Messages.docs_link) // XXX + }); if (padType !== 'support' && accountName && Config.supportMailbox) { options.push({ tag: 'a', @@ -1686,6 +1700,7 @@ define([ }, }); } +/* if (AppConfig.surveyURL) { options.push({ tag: 'a', @@ -1699,6 +1714,7 @@ define([ }, }); } +*/ options.push({ tag: 'a', attributes: { @@ -2079,15 +2095,35 @@ define([ var $body = $('body'); var $creationContainer = $('
', { id: 'cp-creation-container' }).appendTo($body); var urlArgs = (Config.requireConf && Config.requireConf.urlArgs) || ''; - var l = h('div.cp-creation-logo', h('img', { src: '/customize/loading-logo.png?' + urlArgs })); - $(l).appendTo($creationContainer); - var $creation = $('
', { id: 'cp-creation', tabindex: 1 }).appendTo($creationContainer); + + var logo = h('img', { src: '/customize/CryptPad_logo.svg?' + urlArgs }); + var fill1 = h('div.cp-creation-fill.cp-creation-logo', logo); + var fill2 = h('div.cp-creation-fill'); + var $creation = $('
', { id: 'cp-creation', tabindex:1 }); + $creationContainer.append([fill1, $creation, fill2]); + + var createHelper = function (href, text) { + var q = UI.createHelper(href, text); + $(q).addClass('cp-creation-help'); + return q; + }; // Title - //var colorClass = 'cp-icon-color-'+type; + var colorClass = 'cp-icon-color-'+type; + colorClass = colorClass; // XXX + //$creation.append(h('h2.cp-creation-title', Messages.newButtonTitle)); var newPadH3Title = Messages['button_new' + type]; - $creation.append(h('h3.cp-creation-title', newPadH3Title)); + + Messages.creation_helperText = "Learn more..."; // XXX + var title = h('div.cp-creation-title', [ + UI.getFileIcon({type: type})[0], + h('div.cp-creation-title-text', [ + h('span', newPadH3Title), + createHelper('https://docs.cryptpad.fr/en/user_guide/apps/general.html#new-document', Messages.creation_helperText) + ]) + ]); + $creation.append(title); //$creation.append(h('h2.cp-creation-title.'+colorClass, Messages.newButtonTitle)); // Deleted pad warning @@ -2097,18 +2133,6 @@ define([ )); } - var origin = privateData.origin; - var createHelper = function (href, text) { - var q = h('a.cp-creation-help.fa.fa-question-circle', { - 'data-cptippy-html': true, - title: text, - href: origin + href, - target: "_blank", - 'data-tippy-placement': "right" - }); - return q; - }; - // Team pad var team; var teamExists = privateData.teams && Object.keys(privateData.teams).length; @@ -2161,14 +2185,22 @@ define([ // Owned pads // Default is Owned pad + // XXX Remove creation_owned1 and creation_owned2 keys var owned = h('div.cp-creation-owned', [ UI.createCheckbox('cp-creation-owned', Messages.creation_owned, true), - createHelper('/faq.html#keywords-owned', Messages.creation_owned1) ]); // Life time + + // XXX rewrite "creation_expire2": "An expiring pad has a set lifetime, after which it will be automatically removed from the server and other users' CryptDrives." + + + Messages.creation_expiration = "Expiration date"; // XXX + Messages.creation_expiresIn = "Expires in"; // XXX var expire = h('div.cp-creation-expire', [ - UI.createCheckbox('cp-creation-expire', Messages.creation_expire, false), + UI.createCheckbox('cp-creation-expire', Messages.creation_expiration, false, { + labelAlt: Messages.creation_expiresIn + }), h('span.cp-creation-expire-picker.cp-creation-slider', [ h('input#cp-creation-expire-val', { type: "number", @@ -2185,10 +2217,10 @@ define([ }, Messages.creation_expireMonths) ]) ]), - createHelper('/faq.html#keywords-expiring', Messages.creation_expire2), ]); // Password + Messages.creation_password = "Password"; // XXX var password = h('div.cp-creation-password', [ UI.createCheckbox('cp-creation-password', Messages.creation_password, false), h('span.cp-creation-password-picker.cp-creation-slider', [ @@ -2200,8 +2232,15 @@ define([ //createHelper('#', "TODO: password protection adds another layer of security ........") // TODO ]); + var $w = $(window); + var big = $w.width() > 800; + var right = h('span.fa.fa-chevron-right.cp-creation-template-more'); var left = h('span.fa.fa-chevron-left.cp-creation-template-more'); + if (!big) { + $(left).removeClass('fa-chevron-left').addClass('fa-chevron-up'); + $(right).removeClass('fa-chevron-right').addClass('fa-chevron-down'); + } var templates = h('div.cp-creation-template', [ left, h('div.cp-creation-template-container', [ @@ -2214,10 +2253,12 @@ define([ var $create = $(createDiv); $(h('div#cp-creation-form', [ - team, - owned, - expire, - password, + h('div.cp-creation-checkboxes', [ + team, + owned, + expire, + password, + ]), templates, createDiv ])).appendTo($creation); @@ -2225,7 +2266,7 @@ define([ // Display templates var selected = 0; // Selected template in the list (highlighted) - var TEMPLATES_DISPLAYED = 4; // Max templates displayed per page + var TEMPLATES_DISPLAYED = big ? 6 : 3; // Max templates displayed per page var next = function () {}; // Function called when pressing tab to highlight the next template var i = 0; // Index of the first template displayed in the current page sframeChan.query("Q_CREATE_TEMPLATES", type, function (err, res) { @@ -2339,6 +2380,20 @@ define([ .addClass('cp-creation-template-selected'); }; + $w.on('resize', function () { + var _big = $w.width() > 800; + if (big === _big) { return; } + big = _big; + if (!big) { + $(left).removeClass('fa-chevron-left').addClass('fa-chevron-up'); + $(right).removeClass('fa-chevron-right').addClass('fa-chevron-down'); + } else { + $(left).removeClass('fa-chevron-up').addClass('fa-chevron-left'); + $(right).removeClass('fa-chevron-down').addClass('fa-chevron-right'); + } + TEMPLATES_DISPLAYED = big ? 6 : 3; + redraw(0); + }); }); // Display expiration form when checkbox checked diff --git a/www/common/drive-ui.js b/www/common/drive-ui.js index e92e6e0fa..2ad6e1fa3 100644 --- a/www/common/drive-ui.js +++ b/www/common/drive-ui.js @@ -90,7 +90,7 @@ define([ var faRename = 'fa-pencil'; var faColor = 'cptools-palette'; var faTrash = 'fa-trash'; - var faCopy = 'fa-clone'; + var faCopy = 'fa-files-o'; var faDelete = 'cptools-destroy'; var faAccess = 'fa-unlock-alt'; var faProperties = 'fa-info-circle'; @@ -2485,17 +2485,8 @@ define([ // Get the upload options var addSharedFolderModal = function (cb) { - var createHelper = function (href, text) { - var q = h('a.fa.fa-question-circle', { - style: 'text-decoration: none !important;', - 'data-cptippy-html': true, - title: text, - href: APP.origin + href, - target: "_blank", - 'data-tippy-placement': "right" - }); - return q; - }; + + var docsHref = common.getBounceURL("https://docs.cryptpad.fr/en/user_guide/share_and_access.html#owners"); // Ask for name, password and owner var content = h('div', [ @@ -2508,7 +2499,7 @@ define([ style: 'display:flex;align-items:center;justify-content:space-between' }, [ UI.createCheckbox('cp-app-drive-sf-owned', Messages.sharedFolders_create_owned, true), - createHelper('/faq.html#keywords-owned', Messages.creation_owned1) // TODO + UI.createHelper(docsHref, Messages.creation_owned1) // TODO ]), ]); @@ -4385,6 +4376,9 @@ define([ return void UI.warn(Messages.error); } // if folder does not contains SF + + // XXX rewrite "creation_owned1": "An owned pad can be deleted from the server whenever the owner wants. Deleting an owned pad removes it from other users' CryptDrives." + // tipy used in dialog to create a shared folder else { var convertContent = h('div', [ h('p', Messages.convertFolderToSF_confirm), @@ -4397,7 +4391,7 @@ define([ style: 'display:flex;align-items:center;justify-content:space-between' }, [ UI.createCheckbox('cp-upload-owned', Messages.sharedFolders_create_owned, true), - UI.createHelper(APP.origin + '/faq.html#keywords-owned', Messages.creation_owned1) + UI.createHelper('https://docs.cryptpad.fr/en/user_guide/share_and_access.html#owners', Messages.creation_owned1) ]), ]); return void UI.confirm(convertContent, function(res) { diff --git a/www/common/inner/share.js b/www/common/inner/share.js index 2be698d74..2ecd583cf 100644 --- a/www/common/inner/share.js +++ b/www/common/inner/share.js @@ -252,7 +252,7 @@ define([ h('a', {href: '#'}, Messages.passwordFaqLink) ]); $(link).click(function () { - opts.common.openURL(opts.origin + "/faq.html#security-pad_password"); + opts.common.openUnsafeURL("https://docs.cryptpad.fr/en/user_guide/security.html#passwords-for-documents-and-folders"); }); return link; }; diff --git a/www/common/notify.js b/www/common/notify.js index 81dee662d..55f702146 100644 --- a/www/common/notify.js +++ b/www/common/notify.js @@ -1,8 +1,12 @@ define(['/api/config'], function (ApiConfig) { var Module = {}; - var DEFAULT_MAIN = '/customize/main-favicon.png?' + ApiConfig.requireConf.urlArgs; - var DEFAULT_ALT = '/customize/alt-favicon.png?' + ApiConfig.requireConf.urlArgs; + var apps = ['code', 'slide', 'pad', 'kanban', 'whiteboard', 'sheet', 'poll']; + var app = window.location.pathname.slice(1, -1); // remove "/" at the beginnin and the end + var suffix = apps.indexOf(app) !== -1 ? '-'+app : ''; + + var DEFAULT_MAIN = '/customize/favicon/main-favicon' + suffix + '.png?' + ApiConfig.requireConf.urlArgs; + var DEFAULT_ALT = '/customize/favicon/alt-favicon' + suffix + '.png?' + ApiConfig.requireConf.urlArgs; var document = window.document; diff --git a/www/common/onlyoffice/app-oo.less b/www/common/onlyoffice/app-oo.less index 08b64df91..7bca5861c 100644 --- a/www/common/onlyoffice/app-oo.less +++ b/www/common/onlyoffice/app-oo.less @@ -7,23 +7,17 @@ body.cp-app-sheet, body.cp-app-oodoc, body.cp-app-ooslide { &.cp-app-sheet { .framework_main( - @bg-color: @colortheme_oocell-bg, - @warn-color: @colortheme_oocell-warn, - @color: @colortheme_oocell-color + @bg-color: @colortheme_apps[sheet], ); } &.cp-app-oodoc { .framework_main( - @bg-color: @colortheme_oodoc-bg, - @warn-color: @colortheme_oodoc-warn, - @color: @colortheme_oodoc-color + @bg-color: @colortheme_apps[oodoc], ); } &.cp-app-ooslide { .framework_main( - @bg-color: @colortheme_ooslide-bg, - @warn-color: @colortheme_ooslide-warn, - @color: @colortheme_ooslide-color + @bg-color: @colortheme_apps[ooslide], ); } diff --git a/www/common/sframe-common-file.js b/www/common/sframe-common-file.js index 6a0367b69..674a98ae8 100644 --- a/www/common/sframe-common-file.js +++ b/www/common/sframe-common-file.js @@ -319,7 +319,7 @@ define([ style: 'display:flex;align-items:center;justify-content:space-between' }, [ UI.createCheckbox('cp-upload-owned', Messages.upload_modal_owner, modalState.owned), - createHelper('/faq.html#keywords-owned', Messages.creation_owned1) + createHelper('https://docs.cryptpad.fr/en/user_guide/share_and_access.html#owners', Messages.creation_owned1) ]), manualStore ]); @@ -374,7 +374,7 @@ define([ style: 'display:flex;align-items:center;justify-content:space-between' }, [ UI.createCheckbox('cp-upload-owned', Messages.uploadFolder_modal_owner, modalState.owned), - createHelper('/faq.html#keywords-owned', Messages.creation_owned1) + createHelper('https://docs.cryptpad.fr/en/user_guide/share_and_access.html#owners', Messages.creation_owned1) ]), manualStore ]); diff --git a/www/common/sframe-common.js b/www/common/sframe-common.js index 7a28f7f79..33ebd0c78 100644 --- a/www/common/sframe-common.js +++ b/www/common/sframe-common.js @@ -633,6 +633,9 @@ define([ funcs.gotoURL = function (url) { ctx.sframeChan.event('EV_GOTO_URL', url); }; funcs.openURL = function (url) { ctx.sframeChan.event('EV_OPEN_URL', url); }; + funcs.getBounceURL = function (url) { + return window.location.origin + '/bounce/#' + encodeURIComponent(url); + }; funcs.openUnsafeURL = function (url) { var app = ctx.metadataMgr.getPrivateData().app; if (app === "sheet") { diff --git a/www/common/toolbar.js b/www/common/toolbar.js index 82cc8cbb4..f8e6d7754 100644 --- a/www/common/toolbar.js +++ b/www/common/toolbar.js @@ -835,7 +835,7 @@ MessengerUI, Messages) { /*.append($('', { //src: '/customize/images/logo_white.png?' + ApiConfig.requireConf.urlArgs - src: '/customize/main-favicon.png?' + ApiConfig.requireConf.urlArgs + src: '/customize/favicon/main-favicon.png?' + ApiConfig.requireConf.urlArgs }));*/ var onClick = function (e) { e.preventDefault(); diff --git a/www/contacts/app-contacts.less b/www/contacts/app-contacts.less index 99b927b6c..ba45c962c 100644 --- a/www/contacts/app-contacts.less +++ b/www/contacts/app-contacts.less @@ -5,9 +5,7 @@ // body &.cp-app-contacts { .framework_min_main( - @bg-color: @colortheme_friends-bg, - @warn-color: @colortheme_friends-warn, - @color: @colortheme_friends-color + @bg-color: @colortheme_static_apps[contacts] ); display: flex; diff --git a/www/drive/app-drive.less b/www/drive/app-drive.less index 2cf445524..21ecb6b89 100644 --- a/www/drive/app-drive.less +++ b/www/drive/app-drive.less @@ -2,11 +2,7 @@ @import (reference) '../../customize/src/less2/include/drive.less'; &.cp-app-drive { - .framework_min_main( - @bg-color: @colortheme_drive-bg, - @warn-color: @colortheme_drive-warn, - @color: @colortheme_drive-color - ); + .framework_min_main(); .drive_main(); } diff --git a/www/file/app-file.less b/www/file/app-file.less index be7e067f1..1226ded8d 100644 --- a/www/file/app-file.less +++ b/www/file/app-file.less @@ -5,9 +5,7 @@ &.cp-app-file { .framework_min_main( - @bg-color: @colortheme_file-bg, - @warn-color: @colortheme_file-warn, - @color: @colortheme_file-color + @bg-color: @colortheme_apps[file], ); .tokenfield_main(); diff --git a/www/kanban/app-kanban.less b/www/kanban/app-kanban.less index a4c7ad743..524d414b4 100644 --- a/www/kanban/app-kanban.less +++ b/www/kanban/app-kanban.less @@ -7,9 +7,7 @@ // body &.cp-app-kanban { .framework_main( - @bg-color: @colortheme_kanban-bg, - @warn-color: @colortheme_kanban-warn, - @color: @colortheme_kanban-color + @bg-color: @colortheme_apps[kanban], ); display: flex; diff --git a/www/login/index.html b/www/login/index.html index 31d4c99f8..f1cf1b429 100644 --- a/www/login/index.html +++ b/www/login/index.html @@ -2,10 +2,10 @@ - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite, encrypted and open-source - + diff --git a/www/logout/index.html b/www/logout/index.html index 365c4bbe2..6d72fb30b 100644 --- a/www/logout/index.html +++ b/www/logout/index.html @@ -2,11 +2,11 @@ - CryptPad: Zero Knowledge, Collaborative Real Time Editing + CryptPad: Collaboration suite, encrypted and open-source - +