Merge branch 'master' into i18n

This commit is contained in:
Liyas Thomas
2019-12-31 08:38:05 +05:30
committed by GitHub
26 changed files with 1014 additions and 504 deletions

View File

@@ -52,15 +52,6 @@
"code"
]
},
{
"login": "terranblake",
"name": "Terran Blake",
"avatar_url": "https://avatars3.githubusercontent.com/u/8795767?v=4",
"profile": "https://www.lumahealth.io/",
"contributions": [
"code"
]
},
{
"login": "AndrewBastin",
"name": "Andrew Bastin",

138
README.md
View File

@@ -10,7 +10,7 @@
</p>
<p>
[![Travis Build Status](https://img.shields.io/travis/com/liyasthomas/postwoman?logo=Travis)](https://travis-ci.com/liyasthomas/postwoman) [![GitHub release](https://img.shields.io/github/release/liyasthomas/postwoman/all?logo=GitHub)](https://github.com/liyasthomas/postwoman/releases/latest) [![Website](https://img.shields.io/website?url=https%3A%2F%2Fpostwoman.io&logo=Postwoman)](https://postwoman.io) [![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen?style=flat)](CONTRIBUTING.md) [![All Contributors](https://img.shields.io/badge/all_contributors-13-orange.svg?style=flat-square)](#contributors) [![Financial Contributors on Open Collective](https://img.shields.io/opencollective/all/postwoman?logo=Open-Collective&label=financial+contributors)](https://opencollective.com/postwoman) [![Donate on PayPal](https://img.shields.io/badge/support-PayPal-blue?logo=PayPal)](https://www.paypal.me/liyascthomas) [![Chat on Telegram](https://img.shields.io/badge/chat-Telegram-blueviolet?logo=Telegram)](https://t.me/postwoman_app) [![Chat on Discord](https://img.shields.io/badge/chat-Discord-violet?logo=discord)](https://discord.gg/GAMWxmR) [![Tweet](https://img.shields.io/twitter/url?url=https%3A%2F%2Fpostwoman.io%2F)](https://twitter.com/intent/tweet?url=https%3A%2F%2Fpostwoman.io&text=%F0%9F%91%BD%20Postwoman%20%E2%80%A2%20API%20request%20builder%20-%20Helps%20you%20create%20your%20requests%20faster%2C%20saving%20you%20precious%20time%20on%20your%20development&original_referer=https%3A%2F%2Ftwitter.com%2Fshare%3Ftext%3D%25F0%259F%2591%25BD%2520Postwoman%2520%25E2%2580%25A2%2520API%2520request%2520builder%2520-%2520Helps%2520you%2520create%2520your%2520requests%2520faster%2C%2520saving%2520you%2520precious%2520time%2520on%2520your%2520development%26url%3Dhttps%3A%2F%2Fpostwoman.io%26hashtags%3Dpostwoman%26via%3Dliyasthomas&via=liyasthomas&hashtags=postwoman)
[![Travis Build Status](https://img.shields.io/travis/com/liyasthomas/postwoman?logo=Travis)](https://travis-ci.com/liyasthomas/postwoman) [![GitHub release](https://img.shields.io/github/release/liyasthomas/postwoman/all?logo=GitHub)](https://github.com/liyasthomas/postwoman/releases/latest) [![Website](https://img.shields.io/website?url=https%3A%2F%2Fpostwoman.io&logo=Postwoman)](https://postwoman.io) [![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen)](CONTRIBUTING.md) [![Financial Contributors on Open Collective](https://img.shields.io/opencollective/all/postwoman?logo=Open-Collective&label=financial+contributors)](https://opencollective.com/postwoman) [![Donate on PayPal](https://img.shields.io/badge/support-PayPal-blue?logo=PayPal)](https://www.paypal.me/liyascthomas) [![Chat on Telegram](https://img.shields.io/badge/chat-Telegram-blueviolet?logo=Telegram)](https://t.me/postwoman_app) [![Chat on Discord](https://img.shields.io/badge/chat-Discord-violet?logo=discord)](https://discord.gg/GAMWxmR) [![Tweet](https://img.shields.io/twitter/url?url=https%3A%2F%2Fpostwoman.io%2F)](https://twitter.com/intent/tweet?url=https%3A%2F%2Fpostwoman.io&text=%F0%9F%91%BD%20Postwoman%20%E2%80%A2%20API%20request%20builder%20-%20Helps%20you%20create%20your%20requests%20faster%2C%20saving%20you%20precious%20time%20on%20your%20development&original_referer=https%3A%2F%2Ftwitter.com%2Fshare%3Ftext%3D%25F0%259F%2591%25BD%2520Postwoman%2520%25E2%2580%25A2%2520API%2520request%2520builder%2520-%2520Helps%2520you%2520create%2520your%2520requests%2520faster%2C%2520saving%2520you%2520precious%2520time%2520on%2520your%2520development%26url%3Dhttps%3A%2F%2Fpostwoman.io%26hashtags%3Dpostwoman%26via%3Dliyasthomas&via=liyasthomas&hashtags=postwoman)
</p>
<p>
@@ -94,7 +94,7 @@ _Customized themes are synced with local session storage_
📡 **Server Sent Events**: Receive a stream of updates from a server over a HTTP connection without resorting to polling.
🌍 **GraphQL**: GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
🔮 **GraphQL**: GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
- Set endpoint and get schemas
- Multi-column docs
@@ -161,9 +161,9 @@ _Collections are synced with local session storage_
- Access APIs served in non-HTTPS (`http://`)
- Use custom Proxy URL
_Official Postwoman Proxy is hosted by ApolloTV - [Privacy policy](https://apollotv.xyz/legal)_
_Official Postwoman Proxy is hosted by ApolloTV - **[Privacy policy](https://apollotv.xyz/legal)**_
📜 **Pre-Request Scripts**: Snippets of code associated with a request that are executed before the request is sent.
📜 **Pre-Request Scripts β**: Snippets of code associated with a request that are executed before the request is sent.
**Use-cases:**
- Include timestamp in the request headers
@@ -171,6 +171,13 @@ _Official Postwoman Proxy is hosted by ApolloTV - [Privacy policy](https://apoll
_Requests with Pre-Request Scripts are indicated in History entries_
📄 **API Documentation**: Create and share dynamic API documentation easily, quickly.
**Usage:**
1. Add your requests to Collections and Folders
2. Export Collections and easily share your APIs with the rest of your team
3. Import Collections and Generate Documentation on-the-go
⌨️ **Keyboard Shortcuts**: Optimized for efficiency.
**Shortcuts:**
@@ -179,7 +186,15 @@ _Requests with Pre-Request Scripts are indicated in History entries_
- Copy Request Link <kbd>Ctrl</kbd> + <kbd>K</kbd>
- Reset Request <kbd>Ctrl</kbd> + <kbd>L</kbd>
🌎 **i18n**: Internationalization β.
🌎 **i18n β**: Experience the app in your own language.
1. Scroll down to the footer
2. Click "Choose Language" button
3. Select your language from the menu
_Keep in mind translations aren't available for all source and target language combinations_
**To provide a localized experience for users around the world, you can add you own translations.**
- Add a new locale in `lang/`
@@ -200,11 +215,22 @@ _Requests with Pre-Request Scripts are indicated in History entries_
_**All `i18n` contributions are welcome to `i18n` [branch](https://github.com/liyasthomas/postwoman/tree/i18n) only!**_
📦 **Add-ons**: Official add-ons for Postwoman.
- **[Postwoman Proxy β](https://github.com/postwoman-io/postwoman-proxy)** - A simple proxy server created for Postwoman
- **[Postwoman CLI β](https://github.com/postwoman-io/postwoman-cli)** - A CLI solution for Postwoman
_Add-ons are developed and maintained under **[Official Postwoman Organization](https://github.com/postwoman-io)**_
**To find out more, please check out [Postwoman Wiki](https://github.com/liyasthomas/postwoman/wiki).**
## Demo 🚀 [![Website](https://img.shields.io/website?url=https%3A%2F%2Fpostwoman.io&logo=Postwoman)](https://postwoman.io)
[https://postwoman.io](https://postwoman.io)
[postwoman.io](https://postwoman.io)
<a href="https://www.netlify.com">
<img src="https://www.netlify.com/img/global/badges/netlify-light.svg"/>
</a>
## Usage 💡
@@ -302,11 +328,10 @@ See the [CHANGELOG](CHANGELOG.md) file for details.
<td align="center"><a href="https://nicholaslaroux.com"><img src="https://avatars0.githubusercontent.com/u/1557529?v=4" width="100px;" alt="Nicholas La Roux"/><br /><sub><b>Nicholas La Roux</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=larouxn" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/yubathom"><img src="https://avatars3.githubusercontent.com/u/4117768?v=4" width="100px;" alt="Thomas Yuba"/><br /><sub><b>Thomas Yuba</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=yubathom" title="Code">💻</a></td>
<td align="center"><a href="http://www.linkedin.com/in/nickpalenchar"><img src="https://avatars1.githubusercontent.com/u/7539781?v=4" width="100px;" alt="Nick Palenchar"/><br /><sub><b>Nick Palenchar</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=nickpalenchar" title="Code">💻</a></td>
<td align="center"><a href="https://www.lumahealth.io/"><img src="https://avatars3.githubusercontent.com/u/8795767?v=4" width="100px;" alt="Terran Blake"/><br /><sub><b>Terran Blake</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=terranblake" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/AndrewBastin"><img src="https://avatars2.githubusercontent.com/u/9131943?v=4" width="100px;" alt="Andrew Bastin"/><br /><sub><b>Andrew Bastin</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=AndrewBastin" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/vlad0337187"><img src="https://avatars1.githubusercontent.com/u/12682937?v=4" width="100px;" alt="Vladislav"/><br /><sub><b>Vladislav</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=vlad0337187" title="Code">💻</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/vlad0337187"><img src="https://avatars1.githubusercontent.com/u/12682937?v=4" width="100px;" alt="Vladislav"/><br /><sub><b>Vladislav</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=vlad0337187" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/izerozlu"><img src="https://avatars3.githubusercontent.com/u/17386157?v=4" width="100px;" alt="izerozlu"/><br /><sub><b>izerozlu</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=izerozlu" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/JacobAnavisca"><img src="https://avatars2.githubusercontent.com/u/21232366?v=4" width="100px;" alt="Jacob Anavisca"/><br /><sub><b>Jacob Anavisca</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=JacobAnavisca" title="Code">💻</a></td>
<td align="center"><a href="http://nityanandagohain.github.io"><img src="https://avatars3.githubusercontent.com/u/26831659?v=4" width="100px;" alt="Nityananda Gohain"/><br /><sub><b>Nityananda Gohain</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=nityanandagohain" title="Code">💻</a></td>
@@ -364,75 +389,34 @@ This project is licensed under the [MIT License](https://opensource.org/licenses
## Badges
<p>
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-121212?logo=Postwoman)](https://postwoman.io)
<details>
<summary>Default</summary>
<p>
```
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-121212?logo=Postwoman)](https://postwoman.io)
```
</p>
</details>
</p>
<p>
---
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-success?logo=Postwoman)](https://postwoman.io)
<details>
<summary>Success</summary>
<p>
```
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-success?logo=Postwoman)](https://postwoman.io)
```
</p>
</details>
</p>
<p>
---
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-critical?logo=Postwoman)](https://postwoman.io)
<details>
<summary>Critical</summary>
<p>
```
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-critical?logo=Postwoman)](https://postwoman.io)
```
</p>
</details>
</p>
<p>
---
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-blueviolet?logo=Postwoman)](https://postwoman.io)
<details>
<summary>Custom</summary>
<p>
```
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-blueviolet?logo=Postwoman)](https://postwoman.io)
```
</p>
</details>
</p>
<p>
---
[![Postwoman](https://img.shields.io/badge/your_text-Postwoman-hex_color_code?logo=Postwoman)](https://postwoman.io)
<details>
<summary>Customize</summary>
<p>
```
[![Postwoman](https://img.shields.io/badge/your_text-Postwoman-hex_color_code?logo=Postwoman)](https://postwoman.io)
```
</p>
</details>
</p>
<table>
<tr>
<th>Preview</th>
<th>Markdown code</th>
</tr>
<tbody>
<tr>
<td align="center" width="200px"><a href="https://postwoman.io"><br/><img src="https://img.shields.io/badge/Tested_on-Postwoman-202124?logo=Postwoman"/></a><br/><sub>Default<sub></td>
<td><code>[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-202124?logo=Postwoman)](https://postwoman.io)</code></td>
</tr>
<tr>
<td align="center" width="200px"><a href="https://postwoman.io"><br/><img src="https://img.shields.io/badge/Tested_on-Postwoman-success?logo=Postwoman"/></a><br/><sub>Success<sub></td>
<td><code>[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-success?logo=Postwoman)](https://postwoman.io)</code></td>
</tr>
<tr>
<td align="center" width="200px"><a href="https://postwoman.io"><br/><img src="https://img.shields.io/badge/Tested_on-Postwoman-critical?logo=Postwoman"/></a><br/><sub>Critical<sub></td>
<td><code>[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-critical?logo=Postwoman)](https://postwoman.io)</code></td>
</tr>
<tr>
<td align="center" width="200px"><a href="https://postwoman.io"><br/><img src="https://img.shields.io/badge/Tested_on-Postwoman-blueviolet?logo=Postwoman"/></a><br/><sub>Custom<sub></td>
<td><code>[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-blueviolet?logo=Postwoman)](https://postwoman.io)</code></td>
</tr>
<tr>
<td align="center" width="200px"><a href="https://postwoman.io"><br/><img src="https://img.shields.io/badge/your_text-Postwoman-hex_color_code?logo=Postwoman"/></a><br/><sub>Customize<sub></td>
<td><code>[![Postwoman](https://img.shields.io/badge/your_text-Postwoman-hex_color_code?logo=Postwoman)](https://postwoman.io)</code></td>
</tr>
</tbody>
</table>
<div align="center">
<br>

View File

@@ -146,6 +146,7 @@ footer {
z-index: 1;
height: 100vh;
padding: 0 8px;
background-color: var(--bg-light-color);
}
.main {
@@ -155,7 +156,6 @@ footer {
order: 2;
position: relative;
padding: 0 16px;
background-color: var(--bg-light-color);
height: 100%;
}
@@ -251,20 +251,23 @@ nav.secondary-nav {
h1,
h2,
h3 {
h3,
h4 {
display: flex;
align-items: center;
margin: 0;
font-weight: 700;
}
.tooltip {
$bgcolor: var(--bg-color);
$bgcolor: var(--tt-color);
$fgcolor: var(--fg-color);
display: block !important;
z-index: 10000;
.tooltip-inner {
background: black;
color: white;
background: $bgcolor;
color: $fgcolor;
border-radius: 8px;
padding: 8px 16px;
font-size: 12px;
@@ -278,7 +281,7 @@ h3 {
border-style: solid;
position: absolute;
margin: 5px;
border-color: black;
border-color: $bgcolor;
z-index: 1;
}
@@ -379,6 +382,11 @@ h3.title {
margin: 4px;
}
.info {
margin-left: 4px;
color: var(--fg-light-color);
}
button {
display: inline-flex;
align-items: center;
@@ -424,6 +432,17 @@ button {
transition: all 0.2s ease-in-out;
}
}
&.primary {
color: var(--ac-color);
&:not([disabled]):hover,
&:not([disabled]):active,
&:not([disabled]):focus {
background-color: var(--ac-color);
color: var(--act-color);
}
}
}
@keyframes beat {
@@ -444,7 +463,6 @@ button {
fieldset {
margin: 16px 0;
// border: 1px solid var(--brd-color);
border-radius: 16px;
transition: all 0.2s ease-in-out;
background-color: var(--bg-dark-color);
@@ -503,6 +521,11 @@ fieldset.yellow legend {
color: #f1fa8c;
}
input[type="file"],
input[type="radio"],
.tab,
.hide-on-large-screen,
#installPWA,
.hidden {
display: none;
}
@@ -511,7 +534,9 @@ kbd,
select,
input,
textarea,
pre {
pre,
code {
display: inline-flex;
margin: 4px;
padding: 8px;
border-radius: 8px;
@@ -545,9 +570,10 @@ pre.ace_editor {
z-index: 0;
}
code {
height: 336px;
border-radius: 8px;
kbd,
code,
pre {
width: auto;
}
.select-wrapper {
@@ -648,6 +674,7 @@ ol li {
display: inline-flex;
flex-direction: column;
flex-grow: 1;
justify-content: center;
}
.flex-wrap {
@@ -669,18 +696,10 @@ ol li {
display: flex;
}
.hide-on-large-screen {
display: none;
}
.show-on-large-screen {
display: inline-flex;
}
#installPWA {
display: none;
}
.info-response {
color: #ffeb3b;
}
@@ -774,12 +793,6 @@ section {
order: 1;
}
input[type="file"],
input[type="radio"],
.tab {
display: none;
}
input[type="radio"] + label {
padding: 8px 16px;
border-bottom: 2px solid transparent;
@@ -856,6 +869,7 @@ input[type="radio"]:checked + label + .tab {
width: 100%;
background-color: var(--bg-color);
transition: all 0.2s ease-in-out;
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.45);
}
nav.primary-nav {

View File

@@ -9,13 +9,13 @@
// Dark is the default theme variant.
@mixin darkTheme {
// Background color
--bg-color: rgba(18, 18, 18, 1);
--bg-color: rgba(32, 33, 36, 1);
// Light Background color
--bg-light-color: rgba(255, 255, 255, 0.02);
// Dark Background color
--bg-dark-color: rgba(0, 0, 0, 0.1);
// Text color
--fg-color: rgba(255, 255, 255, 1);
--fg-color: rgba(255, 255, 255, 0.9);
// Light Text color
--fg-light-color: rgba(255, 255, 255, 0.5);
// Border color
@@ -25,9 +25,11 @@
// Acent color
--ac-color: rgba(80, 250, 123, 1);
// Active text color
--act-color: rgba(18, 18, 18, 1);
--act-color: rgba(32, 33, 36, 1);
// Auto-complete color
--atc-color: rgba(18, 18, 18, 1);
--atc-color: rgba(32, 33, 36, 1);
// Tooltip color
--tt-color: rgba(53, 53, 53, 1);
}
@mixin lightTheme {
@@ -38,7 +40,7 @@
// Dark Background color
--bg-dark-color: rgba(0, 0, 0, 0.02);
// Text color
--fg-color: rgba(0, 0, 0, 1);
--fg-color: rgba(0, 0, 0, 0.9);
// Light Text color
--fg-light-color: rgba(0, 0, 0, 0.6);
// Border color
@@ -51,17 +53,19 @@
--act-color: rgba(255, 255, 255, 1);
// Auto-complete color
--atc-color: rgba(255, 255, 255, 1);
// Tooltip color
--tt-color: rgba(220, 220, 220, 1);
}
@mixin blackTheme {
// Background color
--bg-color: rgba(0, 0, 0, 1);
// Light Background color
--bg-light-color: rgba(255, 255, 255, 0);
--bg-light-color: rgba(255, 255, 255, 0.02);
// Dark Background color
--bg-dark-color: rgba(255, 255, 255, 0.02);
// Text color
--fg-color: rgba(255, 255, 255, 1);
--fg-color: rgba(255, 255, 255, 0.9);
// Light Text color
--fg-light-color: rgba(255, 255, 255, 0.5);
// Border color
@@ -74,6 +78,8 @@
--act-color: rgba(0, 0, 0, 1);
// Auto-complete color
--atc-color: rgba(0, 0, 0, 1);
// Tooltip color
--tt-color: rgba(18, 18, 18, 1);
}
:root {

View File

@@ -22,14 +22,17 @@
</ul>
</div>
<div slot="footer">
<ul>
<li>
<button class="icon" @click="addNewCollection">
<i class="material-icons">add</i>
<span>Create</span>
<div class="flex-wrap">
<span></span>
<span>
<button class="icon" @click="hideModal">
Cancel
</button>
</li>
</ul>
<button class="icon primary" @click="addNewCollection">
Save
</button>
</span>
</div>
</div>
</modal>
</template>

View File

@@ -22,14 +22,17 @@
</ul>
</div>
<div slot="footer">
<ul>
<li>
<button class="icon" @click="addNewFolder">
<i class="material-icons">add</i>
<span>Create</span>
<div class="flex-wrap">
<span></span>
<span>
<button class="icon" @click="hideModal">
Cancel
</button>
</li>
</ul>
<button class="icon primary" @click="addNewFolder">
Save
</button>
</span>
</div>
</div>
</modal>
</template>

View File

@@ -1,12 +1,12 @@
<template>
<modal v-if="show" @close="hideModel">
<modal v-if="show" @close="hideModal">
<div slot="header">
<ul>
<li>
<div class="flex-wrap">
<h3 class="title">Edit Collection</h3>
<div>
<button class="icon" @click="hideModel">
<button class="icon" @click="hideModal">
<i class="material-icons">close</i>
</button>
</div>
@@ -27,14 +27,17 @@
</ul>
</div>
<div slot="footer">
<ul>
<li>
<button class="icon" @click="saveCollection">
<i class="material-icons">save</i>
<span>Save</span>
<div class="flex-wrap">
<span></span>
<span>
<button class="icon" @click="hideModal">
Cancel
</button>
</li>
</ul>
<button class="icon primary" @click="saveCollection">
Save
</button>
</span>
</div>
</div>
</modal>
</template>
@@ -66,7 +69,7 @@ export default {
});
this.$emit("hide-modal");
},
hideModel() {
hideModal() {
this.$emit("hide-modal");
}
}

View File

@@ -27,14 +27,17 @@
</ul>
</div>
<div slot="footer">
<ul>
<li>
<button class="icon" @click="editFolder">
<i class="material-icons">add</i>
<span>Save</span>
<div class="flex-wrap">
<span></span>
<span>
<button class="icon" @click="hideModal">
Cancel
</button>
</li>
</ul>
<button class="icon primary" @click="editFolder">
Save
</button>
</span>
</div>
</div>
</modal>
</template>

View File

@@ -71,14 +71,17 @@
</ul>
</div>
<div slot="footer">
<ul>
<li>
<button class="icon" @click="saveRequest">
<i class="material-icons">save</i>
<span>Save</span>
<div class="flex-wrap">
<span></span>
<span>
<button class="icon" @click="hideModal">
Cancel
</button>
</li>
</ul>
<button class="icon primary" @click="saveRequest">
Save
</button>
</span>
</div>
</div>
</modal>
</template>

View File

@@ -1,12 +1,12 @@
<template>
<modal v-if="show" @close="hideModel">
<modal v-if="show" @close="hideModal">
<div slot="header">
<ul>
<li>
<div class="flex-wrap">
<h3 class="title">Import / Export Collections</h3>
<div>
<button class="icon" @click="hideModel">
<button class="icon" @click="hideModal">
<i class="material-icons">close</i>
</button>
</div>
@@ -18,8 +18,8 @@
<textarea v-model="collectionJson" rows="8"></textarea>
</div>
<div slot="footer">
<ul>
<li>
<div class="flex-wrap">
<span>
<button
class="icon"
@click="openDialogChooseFileToReplaceWith"
@@ -34,8 +34,6 @@
ref="inputChooseFileToReplaceWith"
/>
</button>
</li>
<li>
<button
class="icon"
@click="openDialogChooseFileToImportFrom"
@@ -50,14 +48,24 @@
ref="inputChooseFileToImportFrom"
/>
</button>
</li>
<li>
<button class="icon" @click="exportJSON" v-tooltip="'Download file'">
<i class="material-icons">get_app</i>
<span>Export to JSON</span>
</span>
<span></span>
</div>
<div class="flex-wrap">
<span></span>
<span>
<button class="icon" @click="hideModal">
Cancel
</button>
</li>
</ul>
<button
class="icon primary"
@click="exportJSON"
v-tooltip="'Download file'"
>
Export
</button>
</span>
</div>
</div>
</modal>
</template>
@@ -76,7 +84,7 @@ export default {
}
},
methods: {
hideModel() {
hideModal() {
this.$emit("hide-modal");
},
openDialogChooseFileToReplaceWith() {

View File

@@ -5,10 +5,7 @@ TODO:
<template>
<div class="collections-wrapper">
<addCollection
:show="showModalAdd"
@hide-modal="displayModalAdd(false)"
/>
<addCollection :show="showModalAdd" @hide-modal="displayModalAdd(false)" />
<editCollection
:show="showModalEdit"
:editingCollection="editingCollection"
@@ -68,7 +65,9 @@ TODO:
</a> -->
</div>
</div>
<p v-if="collections.length === 0" class="info">
Create new collection
</p>
<virtual-list
class="virtual-list"
:class="{ filled: collections.length }"

View File

@@ -88,14 +88,17 @@
</ul>
</div>
<div slot="footer">
<ul>
<li>
<button class="icon" @click="saveRequestAs">
<i class="material-icons">save</i>
<span>Save</span>
<div class="flex-wrap">
<span></span>
<span>
<button class="icon" @click="hideModal">
Cancel
</button>
</li>
</ul>
<button class="icon primary" @click="saveRequestAs">
Save
</button>
</span>
</div>
</div>
</modal>
</template>

View File

@@ -15,7 +15,7 @@
.field-box {
padding: 16px;
margin: 4px;
border-bottom: 1px solid var(--brd-color);
border-bottom: 1px dashed var(--brd-color);
}
.field-deprecated {

View File

@@ -162,11 +162,9 @@
<label>Nothing found "{{ filterText }}"</label>
</li>
</ul>
<ul v-if="history.length === 0">
<li>
<label>History is empty</label>
</li>
</ul>
<p v-if="history.length === 0" class="info">
History is empty
</p>
<div v-if="history.length !== 0">
<div class="flex-wrap" v-if="!isClearingHistory">
<button
@@ -308,7 +306,7 @@ ol li {
.entry {
border-bottom: 1px dashed var(--brd-color);
padding: 16px 0;
padding: 0 0 8px;
}
.bg-color {
@@ -450,8 +448,8 @@ export default {
let byUrl = this.history.slice(0);
byUrl.sort((a, b) => {
if (this.reverse_sort_url)
return a.url == b.url ? 0 : +(a.url < b.url) || -1;
else return a.url == b.url ? 0 : +(a.url > b.url) || -1;
return a.url === b.url ? 0 : +(a.url < b.url) || -1;
else return a.url === b.url ? 0 : +(a.url > b.url) || -1;
});
this.history = byUrl;
this.reverse_sort_url = !this.reverse_sort_url;
@@ -460,8 +458,8 @@ export default {
let byLabel = this.history.slice(0);
byLabel.sort((a, b) => {
if (this.reverse_sort_label)
return a.label == b.label ? 0 : +(a.label < b.label) || -1;
else return a.label == b.label ? 0 : +(a.label > b.label) || -1;
return a.label === b.label ? 0 : +(a.label < b.label) || -1;
else return a.label === b.label ? 0 : +(a.label > b.label) || -1;
});
this.history = byLabel;
this.reverse_sort_label = !this.reverse_sort_label;
@@ -470,8 +468,8 @@ export default {
let byPath = this.history.slice(0);
byPath.sort((a, b) => {
if (this.reverse_sort_path)
return a.path == b.path ? 0 : +(a.path < b.path) || -1;
else return a.path == b.path ? 0 : +(a.path > b.path) || -1;
return a.path === b.path ? 0 : +(a.path < b.path) || -1;
else return a.path === b.path ? 0 : +(a.path > b.path) || -1;
});
this.history = byPath;
this.reverse_sort_path = !this.reverse_sort_path;
@@ -480,11 +478,11 @@ export default {
let byDuration = this.history.slice(0);
byDuration.sort((a, b) => {
if (this.reverse_sort_duration)
return a.duration == b.duration
return a.duration === b.duration
? 0
: +(a.duration < b.duration) || -1;
else
return a.duration == b.duration
return a.duration === b.duration
? 0
: +(a.duration > b.duration) || -1;
});

View File

@@ -24,9 +24,9 @@
<path
:fill="color"
id="path3816"
data-old_color="#121212"
data-old_color="#202124"
class="active-path"
data-original="#121212"
data-original="#202124"
d="M 64.601,236.822 C 64.601,394.256 192.786,612 306.001,612 412.582,612 547.4,394.256 547.4,236.822 547.4,79.388 439.322,0 306,0 172.678,0 64.601,79.388 64.601,236.822 Z m 304.12,116.415 c 29.475,-29.475 70.598,-40.195 108.552,-32.173 8.021,37.954 -2.698,79.077 -32.173,108.552 -29.475,29.475 -70.598,40.195 -108.552,32.173 -8.022,-37.955 2.698,-79.078 32.173,-108.552 z M 134.727,321.063 c 37.954,-8.021 79.077,2.698 108.552,32.173 29.475,29.475 40.195,70.598 32.173,108.552 -37.954,8.021 -79.077,-2.698 -108.552,-32.173 -29.475,-29.476 -40.194,-70.598 -32.173,-108.552 z"
/>
</g>

View File

@@ -25,7 +25,7 @@
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
background-color: rgba(0, 0, 0, 0.87);
display: flex;
align-items: center;
justify-content: center;

View File

@@ -138,6 +138,14 @@
</g>
</svg>
</nuxt-link>
<nuxt-link
:to="localePath('doc')"
:class="linkActive('/doc')"
v-tooltip.right="'Documentation'"
aria-label="Documentation"
>
<i class="material-icons">books</i>
</nuxt-link>
<nuxt-link
:to="localePath('settings')"
:class="linkActive('/settings')"
@@ -210,6 +218,22 @@
</ul>
</nav>
</div>
<div v-else-if="$route.path === '/doc'">
<nav class="secondary-nav">
<ul>
<li>
<a href="#collections" v-tooltip.right="$t('collections')">
<i class="material-icons">folder</i>
</a>
</li>
<li>
<a href="#documentation" v-tooltip.right="'Documentation'">
<i class="material-icons">insert_drive_file</i>
</a>
</li>
</ul>
</nav>
</div>
<div v-else-if="$route.path === '/settings'">
<nav class="secondary-nav">
<ul>
@@ -441,7 +465,7 @@
rel="noopener"
>
<button class="icon">
<i class="material-icons">favorite</i>
<i class="material-icons">donut_large</i>
<span>{{ $t("open_collective") }}</span>
</button>
</a>
@@ -453,7 +477,7 @@
rel="noopener"
>
<button class="icon">
<i class="material-icons">favorite</i>
<i class="material-icons">payment</i>
<span>{{ $t("paypal") }}</span>
</button>
</a>
@@ -465,7 +489,7 @@
rel="noopener"
>
<button class="icon">
<i class="material-icons">favorite</i>
<i class="material-icons">local_parking</i>
<span>{{ $t("patreon") }}</span>
</button>
</a>
@@ -525,7 +549,7 @@ export default {
document.documentElement.style.setProperty("--ac-color", color);
document.documentElement.style.setProperty(
"--act-color",
vibrant ? "rgba(18, 18, 18, 1)" : "rgba(255, 255, 255, 1)"
vibrant ? "rgba(32, 33, 36, 1)" : "rgba(255, 255, 255, 1)"
);
})();
},
@@ -539,7 +563,7 @@ export default {
.querySelector("meta[name=theme-color]")
.setAttribute(
"content",
this.$store.state.postwoman.settings.THEME_TAB_COLOR || "#121212"
this.$store.state.postwoman.settings.THEME_TAB_COLOR || "#202124"
);
// Initializes the PWA code - checks if the app is installed,
@@ -582,6 +606,9 @@ export default {
}
});
});
console.log("%cWe ❤︎ open source!", "background-color:white;padding:8px 16px;border-radius:8px;font-size:32px;color:red;")
console.log("%cContribute: https://github.com/liyasthomas/postwoman", "background-color:black;padding:4px 8px;border-radius:8px;font-size:16px;color:white;")
},
watch: {

View File

@@ -100,7 +100,7 @@ export default {
},
{
name: "msapplication-TileColor",
content: "#121212"
content: "#202124"
},
{
name: "msapplication-tap-highlight",
@@ -257,14 +257,14 @@ export default {
display: "standalone",
theme_color: "#121212",
background_color: "#121212",
theme_color: "#202124",
background_color: "#202124",
start_url: `${routerBase.router.base}`
},
meta: {
description: meta.shortDescription,
theme_color: "#121212"
theme_color: "#202124"
},
icons: (sizes => {

550
package-lock.json generated
View File

@@ -13,14 +13,14 @@
}
},
"@babel/core": {
"version": "7.7.5",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.5.tgz",
"integrity": "sha512-M42+ScN4+1S9iB6f+TL7QBpoQETxbclx+KNoKJABghnKYE+fMzSGqst0BZJc8CpI625bwPwYgUyRvxZ+0mZzpw==",
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz",
"integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==",
"requires": {
"@babel/code-frame": "^7.5.5",
"@babel/generator": "^7.7.4",
"@babel/generator": "^7.7.7",
"@babel/helpers": "^7.7.4",
"@babel/parser": "^7.7.5",
"@babel/parser": "^7.7.7",
"@babel/template": "^7.7.4",
"@babel/traverse": "^7.7.4",
"@babel/types": "^7.7.4",
@@ -33,6 +33,22 @@
"source-map": "^0.5.0"
},
"dependencies": {
"@babel/generator": {
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz",
"integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==",
"requires": {
"@babel/types": "^7.7.4",
"jsesc": "^2.5.1",
"lodash": "^4.17.13",
"source-map": "^0.5.0"
}
},
"@babel/parser": {
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz",
"integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw=="
},
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -322,9 +338,9 @@
}
},
"@babel/plugin-proposal-object-rest-spread": {
"version": "7.7.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz",
"integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==",
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz",
"integrity": "sha512-3qp9I8lelgzNedI3hrhkvhaEYree6+WHnyA/q4Dza9z7iEIs1eyhWyJnetk3jJ69RT0AT4G0UhEGwyGFJ7GUuQ==",
"requires": {
"@babel/helper-plugin-utils": "^7.0.0",
"@babel/plugin-syntax-object-rest-spread": "^7.7.4"
@@ -340,9 +356,9 @@
}
},
"@babel/plugin-proposal-unicode-property-regex": {
"version": "7.7.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz",
"integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==",
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz",
"integrity": "sha512-80PbkKyORBUVm1fbTLrHpYdJxMThzM1UqFGh0ALEhO9TYbG86Ah9zQYAB/84axz2vcxefDLdZwWwZNlYARlu9w==",
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.7.4",
"@babel/helper-plugin-utils": "^7.0.0"
@@ -479,9 +495,9 @@
}
},
"@babel/plugin-transform-dotall-regex": {
"version": "7.7.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz",
"integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==",
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.7.tgz",
"integrity": "sha512-b4in+YlTeE/QmTgrllnb3bHA0HntYvjz8O3Mcbx75UBPJA2xhb5A8nle498VhxSXJHQefjtQxpnLPehDJ4TRlg==",
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.7.4",
"@babel/helper-plugin-utils": "^7.0.0"
@@ -603,9 +619,9 @@
}
},
"@babel/plugin-transform-parameters": {
"version": "7.7.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz",
"integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==",
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.7.tgz",
"integrity": "sha512-OhGSrf9ZBrr1fw84oFXj5hgi8Nmg+E2w5L7NhnG0lPvpDtqd7dbyilM2/vR8CKbJ907RyxPh2kj6sBCSSfI9Ew==",
"requires": {
"@babel/helper-call-delegate": "^7.7.4",
"@babel/helper-get-function-arity": "^7.7.4",
@@ -699,18 +715,18 @@
}
},
"@babel/preset-env": {
"version": "7.7.6",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.6.tgz",
"integrity": "sha512-k5hO17iF/Q7tR9Jv8PdNBZWYW6RofxhnxKjBMc0nG4JTaWvOTiPoO/RLFwAKcA4FpmuBFm6jkoqaRJLGi0zdaQ==",
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz",
"integrity": "sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==",
"requires": {
"@babel/helper-module-imports": "^7.7.4",
"@babel/helper-plugin-utils": "^7.0.0",
"@babel/plugin-proposal-async-generator-functions": "^7.7.4",
"@babel/plugin-proposal-dynamic-import": "^7.7.4",
"@babel/plugin-proposal-json-strings": "^7.7.4",
"@babel/plugin-proposal-object-rest-spread": "^7.7.4",
"@babel/plugin-proposal-object-rest-spread": "^7.7.7",
"@babel/plugin-proposal-optional-catch-binding": "^7.7.4",
"@babel/plugin-proposal-unicode-property-regex": "^7.7.4",
"@babel/plugin-proposal-unicode-property-regex": "^7.7.7",
"@babel/plugin-syntax-async-generators": "^7.7.4",
"@babel/plugin-syntax-dynamic-import": "^7.7.4",
"@babel/plugin-syntax-json-strings": "^7.7.4",
@@ -724,7 +740,7 @@
"@babel/plugin-transform-classes": "^7.7.4",
"@babel/plugin-transform-computed-properties": "^7.7.4",
"@babel/plugin-transform-destructuring": "^7.7.4",
"@babel/plugin-transform-dotall-regex": "^7.7.4",
"@babel/plugin-transform-dotall-regex": "^7.7.7",
"@babel/plugin-transform-duplicate-keys": "^7.7.4",
"@babel/plugin-transform-exponentiation-operator": "^7.7.4",
"@babel/plugin-transform-for-of": "^7.7.4",
@@ -738,7 +754,7 @@
"@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4",
"@babel/plugin-transform-new-target": "^7.7.4",
"@babel/plugin-transform-object-super": "^7.7.4",
"@babel/plugin-transform-parameters": "^7.7.4",
"@babel/plugin-transform-parameters": "^7.7.7",
"@babel/plugin-transform-property-literals": "^7.7.4",
"@babel/plugin-transform-regenerator": "^7.7.5",
"@babel/plugin-transform-reserved-words": "^7.7.4",
@@ -750,16 +766,16 @@
"@babel/plugin-transform-unicode-regex": "^7.7.4",
"@babel/types": "^7.7.4",
"browserslist": "^4.6.0",
"core-js-compat": "^3.4.7",
"core-js-compat": "^3.6.0",
"invariant": "^2.2.2",
"js-levenshtein": "^1.1.3",
"semver": "^5.5.0"
}
},
"@babel/runtime": {
"version": "7.7.6",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.6.tgz",
"integrity": "sha512-BWAJxpNVa0QlE5gZdWjSxXtemZyZ9RmrmVozxt3NUXeZhVIJ5ANyqmMc0JDrivBZyxUuQvFxlvH4OWWOogGfUw==",
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz",
"integrity": "sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==",
"requires": {
"regenerator-runtime": "^0.13.2"
}
@@ -938,60 +954,65 @@
}
},
"@nuxt/babel-preset-app": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/babel-preset-app/-/babel-preset-app-2.10.2.tgz",
"integrity": "sha512-620Ho7tp0054PL+1fu4aJAaKs/VbpkS9KsuUMPNmmxPPt+UfVtEIesds5OIatT4tgO/SPQXfwPC4chA5u1duBQ==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/babel-preset-app/-/babel-preset-app-2.11.0.tgz",
"integrity": "sha512-2Y9NQrhzx1zjELPk3msADtH4WFXFslU8nQnRkEHMmgKAYSCGOoV+D5ZBzlCcMy+4IoK7HBzr0tIn4rRNRwjTuQ==",
"requires": {
"@babel/core": "^7.6.4",
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@babel/plugin-proposal-decorators": "^7.6.0",
"@babel/plugin-transform-runtime": "^7.6.2",
"@babel/preset-env": "^7.6.3",
"@babel/runtime": "^7.6.3",
"@vue/babel-preset-jsx": "^1.1.1",
"@babel/core": "^7.7.5",
"@babel/plugin-proposal-class-properties": "^7.7.4",
"@babel/plugin-proposal-decorators": "^7.7.4",
"@babel/plugin-transform-runtime": "^7.7.6",
"@babel/preset-env": "^7.7.6",
"@babel/runtime": "^7.7.6",
"@vue/babel-preset-jsx": "^1.1.2",
"core-js": "^2.6.5"
}
},
"@nuxt/builder": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/builder/-/builder-2.10.2.tgz",
"integrity": "sha512-Apk46yuCbcSCrBN2dh1idIESjkxciW8pyAcGBfNW17IzEA55/XmkjQWTEMlI7fkHDUFQ4YXOcM+gYqP/cx72ew==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/builder/-/builder-2.11.0.tgz",
"integrity": "sha512-uIaY/MiNrgirneYn9goduh6eaRKJHovdXZ8cWESxFMolhenHaGRrjUeC8fKPFyS1mBjnweShg3bHAWjtLfFrIg==",
"requires": {
"@nuxt/devalue": "^1.2.4",
"@nuxt/utils": "2.10.2",
"@nuxt/vue-app": "2.10.2",
"chokidar": "^3.2.2",
"consola": "^2.10.1",
"@nuxt/utils": "2.11.0",
"@nuxt/vue-app": "2.11.0",
"chokidar": "^3.3.1",
"consola": "^2.11.1",
"fs-extra": "^8.1.0",
"glob": "^7.1.5",
"glob": "^7.1.6",
"hash-sum": "^2.0.0",
"ignore": "^5.1.4",
"lodash": "^4.17.15",
"pify": "^4.0.1",
"semver": "^6.3.0",
"serialize-javascript": "^2.1.0",
"semver": "^7.1.0",
"serialize-javascript": "^2.1.2",
"upath": "^1.2.0"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A=="
}
}
},
"@nuxt/cli": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/cli/-/cli-2.10.2.tgz",
"integrity": "sha512-EYLb5zYggTkdxO9Og9Vn+5/LDcQioL1zijIr5V2gi690v3Zim2rSifdgxuUDOlUPzoy+3kiOFqdtzOJ81ES+bA==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/cli/-/cli-2.11.0.tgz",
"integrity": "sha512-f7fOopxz3NGKdgZ92RUM1oT4Xr5oAVqLyqEPEoa60oKKRuy/rf8gZ5DLANKjyE5vpj2dwYM1pPrabCloF/33zw==",
"requires": {
"@nuxt/config": "2.10.2",
"@nuxt/utils": "2.10.2",
"boxen": "^4.1.0",
"@nuxt/config": "2.11.0",
"@nuxt/utils": "2.11.0",
"boxen": "^4.2.0",
"chalk": "^2.4.2",
"consola": "^2.10.1",
"consola": "^2.11.1",
"esm": "^3.2.25",
"execa": "^3.2.0",
"execa": "^3.4.0",
"exit": "^0.1.2",
"fs-extra": "^8.1.0",
"hable": "^2.3.2",
@@ -999,9 +1020,14 @@
"opener": "1.5.1",
"pretty-bytes": "^5.3.0",
"std-env": "^2.2.1",
"wrap-ansi": "^6.0.0"
"wrap-ansi": "^6.2.0"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"cross-spawn": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz",
@@ -1084,26 +1110,33 @@
}
},
"@nuxt/config": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/config/-/config-2.10.2.tgz",
"integrity": "sha512-A4Tvm85PyeBAKwTlqQkFiuatmXr2Ro/oLelvi9wnrF/jSmgzU9NwcIZIQBND0/XpK1BL49ze5al5+SELOoGUpg==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/config/-/config-2.11.0.tgz",
"integrity": "sha512-7pB5R3N2JjNdbQpCR87tw3aROm5e9yV+XXMYXgxbH6yDAweuf3Bji4VJCWrkkE8VgLSLdtGQ5O0v8cT6dvf0cw==",
"requires": {
"@nuxt/utils": "2.10.2",
"consola": "^2.10.1",
"@nuxt/utils": "2.11.0",
"consola": "^2.11.1",
"std-env": "^2.2.1"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
}
}
},
"@nuxt/core": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/core/-/core-2.10.2.tgz",
"integrity": "sha512-PCA9J41kv7SA3rZbhuLwwzPMJr7NtDVofTzAMJ+NOpIuGiQ7rHTtwgprEXs9j08A5hyk5zfmgypjyZKxxmOFjA==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/core/-/core-2.11.0.tgz",
"integrity": "sha512-ZhmdLG7r7vfw/UrH9cChKUwxbEub/tUTLdNbjRBtId5Zxm1x0+hgV2GX3VNlk9fyUzzcmVKzYP8Asxhy+ZMAGg==",
"requires": {
"@nuxt/config": "2.10.2",
"@nuxt/config": "2.11.0",
"@nuxt/devalue": "^1.2.4",
"@nuxt/server": "2.10.2",
"@nuxt/utils": "2.10.2",
"@nuxt/vue-renderer": "2.10.2",
"consola": "^2.10.1",
"@nuxt/server": "2.11.0",
"@nuxt/utils": "2.11.0",
"@nuxt/vue-renderer": "2.11.0",
"consola": "^2.11.1",
"debug": "^4.1.1",
"esm": "^3.2.25",
"fs-extra": "^8.1.0",
@@ -1112,6 +1145,11 @@
"std-env": "^2.2.1"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -1166,15 +1204,22 @@
}
},
"@nuxt/generator": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/generator/-/generator-2.10.2.tgz",
"integrity": "sha512-0d8oENAxSnv5s2FtqtyDZ2S9lLVge9M1gKmw5BFaRJRyvfT0Bq9hG+tU9lnHslYkScEToomFUcV5Wt1E22fuvQ==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/generator/-/generator-2.11.0.tgz",
"integrity": "sha512-gPgl2AsbSbeoxmaH4YoejkMR7JEsh4Fpy08zdvpWYE1ZA9Y309DbhIKegpf8UCm7BTAEvC7/R6Dv2ByS/czXug==",
"requires": {
"@nuxt/utils": "2.10.2",
"@nuxt/utils": "2.11.0",
"chalk": "^2.4.2",
"consola": "^2.10.1",
"consola": "^2.11.1",
"fs-extra": "^8.1.0",
"html-minifier": "^4.0.0"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
}
}
},
"@nuxt/loading-screen": {
@@ -1199,17 +1244,17 @@
}
},
"@nuxt/server": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/server/-/server-2.10.2.tgz",
"integrity": "sha512-kWUmBq9/4ftXJXcSfNphMwweEfd8lBD7XCrFR/tK3FciIO/MuWlAtReNP8fC+KTC00RXks2fiR1xFpGEsIHUaA==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/server/-/server-2.11.0.tgz",
"integrity": "sha512-MsLRKEci3UtlFapLRVfg6sd6fbQ0floJ6Q/KQdon6B0tXyWJFL7eoMUpfKGUWyrY1+gAi+fXrcusT3zBPq9XvQ==",
"requires": {
"@nuxt/config": "2.10.2",
"@nuxt/utils": "2.10.2",
"@nuxt/config": "2.11.0",
"@nuxt/utils": "2.11.0",
"@nuxtjs/youch": "^4.2.3",
"chalk": "^2.4.2",
"compression": "^1.7.4",
"connect": "^3.7.0",
"consola": "^2.10.1",
"consola": "^2.11.1",
"etag": "^1.8.1",
"fresh": "^0.5.2",
"fs-extra": "^8.1.0",
@@ -1220,61 +1265,78 @@
"serve-placeholder": "^1.2.1",
"serve-static": "^1.14.1",
"server-destroy": "^1.0.1"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
}
}
},
"@nuxt/utils": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/utils/-/utils-2.10.2.tgz",
"integrity": "sha512-GBtQlGovu7inXwaKBsD+ayt//4yZAJAazlHibMoRJxK/O8gfhuGf/hINxB98ZpjhjttCuJ6nABUN90+e06ARtg==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/utils/-/utils-2.11.0.tgz",
"integrity": "sha512-wnE+qMau0t9+zFWyovKM3mzTpTJl/umX0bn4pdCjK8dw6GZ1EfGmj83hRMW8SAawJooEB1R2xf7TWgohJ7feRQ==",
"requires": {
"consola": "^2.10.1",
"consola": "^2.11.1",
"fs-extra": "^8.1.0",
"hash-sum": "^2.0.0",
"proper-lockfile": "^4.1.1",
"semver": "^6.3.0",
"serialize-javascript": "^2.1.0",
"semver": "^7.1.0",
"serialize-javascript": "^2.1.2",
"signal-exit": "^3.0.2",
"ua-parser-js": "^0.7.20"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A=="
}
}
},
"@nuxt/vue-app": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/vue-app/-/vue-app-2.10.2.tgz",
"integrity": "sha512-aP5JWQaaimo/zMyoZg7aUqS6wYZq9jtDt/woKWOeuJJvnKE+youitazXbuVf+1l4c771b4AZMEuDW1duOfjDRA==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/vue-app/-/vue-app-2.11.0.tgz",
"integrity": "sha512-Eb1XB6LyqgjA0sbr2Ix5VCbq6+yJhEYetNe2TZ7wSeu3eWRSbE0bT5UpB6uvBGT6y95tQBNEJVGyLKvNAWAlkg==",
"requires": {
"node-fetch": "^2.6.0",
"unfetch": "^4.1.0",
"vue": "^2.6.10",
"vue": "^2.6.11",
"vue-client-only": "^2.0.0",
"vue-meta": "^2.3.1",
"vue-no-ssr": "^1.1.1",
"vue-router": "~3.0.7",
"vue-template-compiler": "^2.6.10",
"vuex": "^3.1.1"
"vue-router": "^3.1.3",
"vue-template-compiler": "^2.6.11",
"vuex": "^3.1.2"
}
},
"@nuxt/vue-renderer": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/vue-renderer/-/vue-renderer-2.10.2.tgz",
"integrity": "sha512-nvgTlAPQ0gWAF8lXMGqjkbl54xunVX+v4he8CGqE+6S2ipdLxahmpbtxMRlJeAaGzOdv+rB6tF33O2PF9cL84w==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/vue-renderer/-/vue-renderer-2.11.0.tgz",
"integrity": "sha512-Xqh3X0JOcwauXQwmOTNHVCwxfvZM0OjB86wUtu+B6molHEZK7XmtD/OUnsQSxcVSH5n+I2H2X2Yhg9H8gUsqBg==",
"requires": {
"@nuxt/devalue": "^1.2.4",
"@nuxt/utils": "2.10.2",
"consola": "^2.10.1",
"@nuxt/utils": "2.11.0",
"consola": "^2.11.1",
"fs-extra": "^8.1.0",
"lru-cache": "^5.1.1",
"vue": "^2.6.10",
"vue": "^2.6.11",
"vue-meta": "^2.3.1",
"vue-server-renderer": "^2.6.10"
"vue-server-renderer": "^2.6.11"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -1291,46 +1353,46 @@
}
},
"@nuxt/webpack": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/@nuxt/webpack/-/webpack-2.10.2.tgz",
"integrity": "sha512-Hb/9VDORABVk4AFrMLWwoEk4UV4XL8W6Yp9PvuGZ0t4a82243gWEZ39veawQmRHRsO96fBJrzs4dzwKVnkLosg==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/webpack/-/webpack-2.11.0.tgz",
"integrity": "sha512-QRU53bDcdzGhqZf5nfMzyI+n6uftqYUTTtCcF/1c03l258GaJ6m5Ky2UAcPRxK4OdO1PqJ/yaT2lonYOQYUrsg==",
"requires": {
"@babel/core": "^7.6.4",
"@nuxt/babel-preset-app": "2.10.2",
"@babel/core": "^7.7.5",
"@nuxt/babel-preset-app": "2.11.0",
"@nuxt/friendly-errors-webpack-plugin": "^2.5.0",
"@nuxt/utils": "2.10.2",
"@nuxt/utils": "2.11.0",
"babel-loader": "^8.0.6",
"cache-loader": "^4.1.0",
"caniuse-lite": "^1.0.30001002",
"caniuse-lite": "^1.0.30001016",
"chalk": "^2.4.2",
"consola": "^2.10.1",
"css-loader": "^3.2.0",
"consola": "^2.11.1",
"css-loader": "^3.3.2",
"cssnano": "^4.1.10",
"eventsource-polyfill": "^0.9.6",
"extract-css-chunks-webpack-plugin": "^4.6.0",
"file-loader": "^4.2.0",
"glob": "^7.1.5",
"extract-css-chunks-webpack-plugin": "^4.7.1",
"file-loader": "^4.3.0",
"glob": "^7.1.6",
"hard-source-webpack-plugin": "^0.13.1",
"hash-sum": "^2.0.0",
"html-webpack-plugin": "^3.2.0",
"memory-fs": "^0.4.1",
"optimize-css-assets-webpack-plugin": "^5.0.3",
"pify": "^4.0.1",
"postcss": "^7.0.18",
"postcss": "^7.0.25",
"postcss-import": "^12.0.1",
"postcss-import-resolver": "^2.0.0",
"postcss-loader": "^3.0.0",
"postcss-preset-env": "^6.7.0",
"postcss-url": "^8.0.0",
"semver": "^6.3.0",
"semver": "^7.1.0",
"std-env": "^2.2.1",
"style-resources-loader": "^1.2.1",
"terser-webpack-plugin": "^2.1.3",
"style-resources-loader": "^1.3.2",
"terser-webpack-plugin": "^2.3.0",
"thread-loader": "^2.1.3",
"time-fix-plugin": "^2.0.6",
"url-loader": "^2.2.0",
"vue-loader": "^15.7.1",
"webpack": "^4.41.2",
"url-loader": "^2.3.0",
"vue-loader": "^15.8.3",
"webpack": "^4.41.3",
"webpack-bundle-analyzer": "^3.6.0",
"webpack-dev-middleware": "^3.7.2",
"webpack-hot-middleware": "^2.25.0",
@@ -1338,23 +1400,35 @@
"webpackbar": "^4.0.0"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A=="
}
}
},
"@nuxtjs/axios": {
"version": "5.8.0",
"resolved": "https://registry.npmjs.org/@nuxtjs/axios/-/axios-5.8.0.tgz",
"integrity": "sha512-1+I2mTUuydKkY/Jz1InpLpkGWpReO5USNWxZpPaQL3py4Kv3sDF83ll/uHGngosyXr+OKBXoALRLCjmwSY77lg==",
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/@nuxtjs/axios/-/axios-5.9.0.tgz",
"integrity": "sha512-jc3KOHlFA5zdijiuYSRk0nzmqGSoP30LasD5J5XxUDpc/YlzwAL+Z0+kLcU5IwlrEDkg4VwkhZd/9OG6RkA2CQ==",
"requires": {
"@nuxtjs/proxy": "^1.3.3",
"axios": "^0.19.0",
"axios-retry": "^3.1.2",
"consola": "^2.10.1",
"consola": "^2.11.1",
"defu": "^0.0.3"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
}
}
},
"@nuxtjs/google-analytics": {
@@ -2240,6 +2314,15 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
"integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow=="
},
"bindings": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
"optional": true,
"requires": {
"file-uri-to-path": "1.0.0"
}
},
"block-stream": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
@@ -2707,9 +2790,9 @@
}
},
"caniuse-lite": {
"version": "1.0.30001015",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz",
"integrity": "sha512-/xL2AbW/XWHNu1gnIrO8UitBGoFthcsDgU9VLK1/dpsoxbaD5LscHozKze05R6WLsBvLhqv78dAPozMFQBYLbQ=="
"version": "1.0.30001016",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001016.tgz",
"integrity": "sha512-yYQ2QfotceRiH4U+h1Us86WJXtVHDmy3nEKIdYPsZCYnOV5/tMgGbmoIlrMzmh2VXlproqYtVaKeGDBkMZifFA=="
},
"caseless": {
"version": "0.12.0",
@@ -2775,18 +2858,18 @@
"integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ=="
},
"chokidar": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz",
"integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==",
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
"integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
"requires": {
"anymatch": "~3.1.1",
"braces": "~3.0.2",
"fsevents": "~2.1.1",
"fsevents": "~2.1.2",
"glob-parent": "~5.1.0",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.2.0"
"readdirp": "~3.3.0"
},
"dependencies": {
"braces": {
@@ -3312,18 +3395,18 @@
"integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="
},
"core-js-compat": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.5.0.tgz",
"integrity": "sha512-E7iJB72svRjJTnm9HDvujzNVMCm3ZcDYEedkJ/sDTNsy/0yooCd9Cg7GSzE7b4e0LfIkjijdB1tqg0pGwxWeWg==",
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.0.tgz",
"integrity": "sha512-Z3eCNjGgoYluH89Jt4wVkfYsc/VdLrA2/woX5lm0isO/pCT+P+Y+o65bOuEnjDJLthdwTBxbCVzptTXtc18fJg==",
"requires": {
"browserslist": "^4.8.2",
"semver": "^6.3.0"
"semver": "7.0.0"
},
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
"integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A=="
}
}
},
@@ -3456,9 +3539,9 @@
}
},
"css-loader": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.3.2.tgz",
"integrity": "sha512-4XSiURS+YEK2fQhmSaM1onnUm0VKWNf6WWBYjkp9YbSDGCBTVZ5XOM6Gkxo8tLgQlzkZOBJvk9trHlDk4gjEYg==",
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.0.tgz",
"integrity": "sha512-JornYo4RAXl1Mzt0lOSVPmArzAMV3rGY2VuwtaDc732WTWjdwTaeS19nCGWMcSCf305Q396lhhDAJEWWM0SgPQ==",
"requires": {
"camelcase": "^5.3.1",
"cssesc": "^3.0.0",
@@ -3633,9 +3716,9 @@
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
},
"cypress": {
"version": "3.8.0",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-3.8.0.tgz",
"integrity": "sha512-gtEbqCgKETRc3pQFMsELRgIBNgiQg7vbOWTrCi7WE7bgOwNCaW9PEX8Jb3UN8z/maIp9WwzoFfeySfelYY7nRA==",
"version": "3.8.1",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-3.8.1.tgz",
"integrity": "sha512-eLk5OpL/ZMDfQx9t7ZaDUAGVcvSOPTi7CG1tiUnu9BGk7caBiDhuFi3Tz/D5vWqH/Dl6Uh4X+Au4W+zh0xzbXw==",
"dev": true,
"requires": {
"@cypress/listr-verbose-renderer": "0.4.1",
@@ -4120,21 +4203,21 @@
}
},
"es-abstract": {
"version": "1.17.0-next.1",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz",
"integrity": "sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==",
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz",
"integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==",
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
"is-callable": "^1.1.4",
"is-regex": "^1.0.4",
"is-callable": "^1.1.5",
"is-regex": "^1.0.5",
"object-inspect": "^1.7.0",
"object-keys": "^1.1.1",
"object.assign": "^4.1.0",
"string.prototype.trimleft": "^2.1.0",
"string.prototype.trimright": "^2.1.0"
"string.prototype.trimleft": "^2.1.1",
"string.prototype.trimright": "^2.1.1"
}
},
"es-to-primitive": {
@@ -4586,6 +4669,12 @@
"schema-utils": "^2.5.0"
}
},
"file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
"optional": true
},
"filesize": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
@@ -5580,9 +5669,9 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"is-callable": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
"integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q=="
},
"is-ci": {
"version": "1.2.1",
@@ -5625,9 +5714,9 @@
}
},
"is-date-object": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
"integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g=="
},
"is-descriptor": {
"version": "0.1.6",
@@ -5749,11 +5838,11 @@
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
},
"is-regex": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
"integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
"requires": {
"has": "^1.0.1"
"has": "^1.0.3"
}
},
"is-resolvable": {
@@ -6920,9 +7009,9 @@
"integrity": "sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ=="
},
"node-releases": {
"version": "1.1.42",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.42.tgz",
"integrity": "sha512-OQ/ESmUqGawI2PRX+XIRao44qWYBBfN54ImQYdWVTQqUckuejOg76ysSqDBK8NG3zwySRVnX36JwDQ6x+9GxzA==",
"version": "1.1.43",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.43.tgz",
"integrity": "sha512-Rmfnj52WNhvr83MvuAWHEqXVoZXCcDQssSOffU4n4XOL9sPrP61mSZ88g25NqmABDvH7PiAlFCzoSCSdzA293w==",
"requires": {
"semver": "^6.3.0"
},
@@ -7099,17 +7188,17 @@
"dev": true
},
"nuxt": {
"version": "2.10.2",
"resolved": "https://registry.npmjs.org/nuxt/-/nuxt-2.10.2.tgz",
"integrity": "sha512-BDeio2WwwMrW4bctRYNHq1su+rwIJzuo87bAZv8Xs2/Gw5g4bPIGZTiKGx6tSZBjxnONsGDOxhFOWZ5JpQEtrQ==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/nuxt/-/nuxt-2.11.0.tgz",
"integrity": "sha512-Y7lastjYWIOppja0FaWozPfkvlmJ8uZSqWx0VbK7l5djbHls5jgUGag0iu6GsNNwCFTKpoAtptNHiWOsyMxStA==",
"requires": {
"@nuxt/builder": "2.10.2",
"@nuxt/cli": "2.10.2",
"@nuxt/core": "2.10.2",
"@nuxt/generator": "2.10.2",
"@nuxt/builder": "2.11.0",
"@nuxt/cli": "2.11.0",
"@nuxt/core": "2.11.0",
"@nuxt/generator": "2.11.0",
"@nuxt/loading-screen": "^1.2.0",
"@nuxt/opencollective": "^0.3.0",
"@nuxt/webpack": "2.10.2"
"@nuxt/webpack": "2.11.0"
}
},
"nuxt-i18n": {
@@ -7613,9 +7702,9 @@
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
},
"postcss": {
"version": "7.0.24",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.24.tgz",
"integrity": "sha512-Xl0XvdNWg+CblAXzNvbSOUvgJXwSjmbAKORqyw9V2AlHrm1js2gFw9y3jibBAhpKZi8b5JzJCVh/FyzPsTtgTA==",
"version": "7.0.25",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.25.tgz",
"integrity": "sha512-NXXVvWq9icrm/TgQC0O6YVFi4StfJz46M1iNd/h6B26Nvh/HKI+q4YZtFN/EjcInZliEscO/WL10BXnc1E5nwg==",
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
@@ -8887,11 +8976,11 @@
}
},
"readdirp": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz",
"integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==",
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
"integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
"requires": {
"picomatch": "^2.0.4"
"picomatch": "^2.0.7"
}
},
"redent": {
@@ -10089,18 +10178,18 @@
}
},
"string.prototype.trimleft": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
"integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
"integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
"requires": {
"define-properties": "^1.1.3",
"function-bind": "^1.1.1"
}
},
"string.prototype.trimright": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
"integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
"integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
"requires": {
"define-properties": "^1.1.3",
"function-bind": "^1.1.1"
@@ -10158,14 +10247,14 @@
}
},
"style-resources-loader": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/style-resources-loader/-/style-resources-loader-1.3.2.tgz",
"integrity": "sha512-UIwyrl/OZGO+ptyeNyeDnNE+2RqD0AKqjAuxBxhce0YlHMx2DbZ48g0Mx9buKuiNSgBUXYQtbwilKcYeJlVsog==",
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/style-resources-loader/-/style-resources-loader-1.3.3.tgz",
"integrity": "sha512-vDD2HyG6On8H9gWUN9O9q1eXR/JnXpCkNvpusvgFsRQ9JZGF9drzvwKEigR9vqlmUbXO2t/vIIabpYMmis0eAQ==",
"requires": {
"glob": "^7.1.6",
"is-promise": "^2.1.0",
"loader-utils": "^1.2.3",
"schema-utils": "^2.5.0"
"schema-utils": "^2.6.1"
}
},
"stylehacks": {
@@ -10246,14 +10335,14 @@
}
},
"term-size": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-2.1.0.tgz",
"integrity": "sha512-I42EWhJ+2aeNQawGx1VtpO0DFI9YcfuvAMNIdKyf/6sRbHJ4P+ZQ/zIT87tE+ln1ymAGcCJds4dolfSAS0AcNg=="
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-2.1.1.tgz",
"integrity": "sha512-UqvQSch04R+69g4RDhrslmGvGL3ucDRX/U+snYW0Mab4uCAyKSndUksaoqlJ81QKSpRnIsuOYQCbC2ZWx2896A=="
},
"terser": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.4.2.tgz",
"integrity": "sha512-Uufrsvhj9O1ikwgITGsZ5EZS6qPokUOkCegS7fYOdGTv+OA90vndUbU6PEjr5ePqHfNUbGyMO7xyIZv2MhsALQ==",
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.4.3.tgz",
"integrity": "sha512-0ikKraVtRDKGzHrzkCv5rUNDzqlhmhowOBqC0XqUHFpW+vJ45+20/IFBcebwKfiS2Z9fJin6Eo+F1zLZsxi8RA==",
"requires": {
"commander": "^2.20.0",
"source-map": "~0.6.1",
@@ -10268,17 +10357,17 @@
}
},
"terser-webpack-plugin": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.0.tgz",
"integrity": "sha512-yez0HdpDf/iQVYGf+e/o8ZYWLb1g9d1nRRi5FIOZ4KfXbfSPT259UoqxPiSLhCnr0mlDoh+bucpYQSFbU0cEsQ==",
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.1.tgz",
"integrity": "sha512-dNxivOXmDgZqrGxOttBH6B4xaxT4zNC+Xd+2K8jwGDMK5q2CZI+KZMA1AAnSRT+BTRvuzKsDx+fpxzPAmAMVcA==",
"requires": {
"cacache": "^13.0.1",
"find-cache-dir": "^3.1.0",
"find-cache-dir": "^3.2.0",
"jest-worker": "^24.9.0",
"schema-utils": "^2.6.1",
"serialize-javascript": "^2.1.2",
"source-map": "^0.6.1",
"terser": "^4.4.2",
"terser": "^4.4.3",
"webpack-sources": "^1.4.3"
},
"dependencies": {
@@ -10578,9 +10667,9 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"ua-parser-js": {
"version": "0.7.20",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz",
"integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw=="
"version": "0.7.21",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
"integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ=="
},
"uglify-js": {
"version": "3.7.2",
@@ -10903,11 +10992,11 @@
"integrity": "sha512-xBrItI7bEwBnG7eAlnyUARP41JYYn2+ABMR8q1Yh5FM9hHCbs4XPZwG+4+FPeIZ6b5gYk4YUP//m+fWiuU9z9A=="
},
"vue-loader": {
"version": "15.7.2",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.7.2.tgz",
"integrity": "sha512-H/P9xt/nkocyu4hZKg5TzPqyCT1oKOaCSk9zs0JCbJuy0Q8KtR0bjJpnT/5R5x/Ckd1GFkkLQnQ1C4x6xXeLZg==",
"version": "15.8.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.8.3.tgz",
"integrity": "sha512-yFksTFbhp+lxlm92DrKdpVIWMpranXnTEuGSc0oW+Gk43M9LWaAmBTnfj5+FCdve715mTHvo78IdaXf5TbiTJg==",
"requires": {
"@vue/component-compiler-utils": "^3.0.0",
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0",
@@ -10940,9 +11029,9 @@
"integrity": "sha512-bhP7MlgJQ8TIkZJXAfDf78uJO+mEI3CaLABLjv0WNzr4CcGRGPIAItyWYnP6LsPA4Oq0WE+suidNs6dgpO4RHg=="
},
"vue-router": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.0.7.tgz",
"integrity": "sha512-utJ+QR3YlIC/6x6xq17UMXeAfxEvXA0VKD3PiSio7hBOZNusA1jXcbxZxVEfJunLp48oonjTepY8ORoIlRx/EQ=="
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.1.3.tgz",
"integrity": "sha512-8iSa4mGNXBjyuSZFCCO4fiKfvzqk+mhL0lnKuGcQtO1eoj8nq3CmbEG8FwK5QqoqwDgsjsf1GDuisDX4cdb/aQ=="
},
"vue-server-renderer": {
"version": "2.6.11",
@@ -11132,13 +11221,14 @@
}
},
"fsevents": {
"version": "1.2.10",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.10.tgz",
"integrity": "sha512-Dw5DScF/8AWhWzWRbnQrFJfeR/TOJZjRr9Du9kfmd8t234ICcVeDBlauFl/jVcE5ZewhlPoCFvIqp0SE3kAVxA==",
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz",
"integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==",
"optional": true,
"requires": {
"bindings": "^1.5.0",
"nan": "^2.12.1",
"node-pre-gyp": "^0.12.0"
"node-pre-gyp": "*"
},
"dependencies": {
"abbrev": {
@@ -11375,7 +11465,7 @@
}
},
"node-pre-gyp": {
"version": "0.12.0",
"version": "0.14.0",
"bundled": true,
"optional": true,
"requires": {
@@ -11388,7 +11478,7 @@
"rc": "^1.2.7",
"rimraf": "^2.6.1",
"semver": "^5.3.0",
"tar": "^4"
"tar": "^4.4.2"
}
},
"nopt": {
@@ -11682,9 +11772,9 @@
}
},
"webpack": {
"version": "4.41.2",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz",
"integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==",
"version": "4.41.4",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.4.tgz",
"integrity": "sha512-Lc+2uB6NjpCWsHI3trkoISOI64h9QYIXenbEWj3bn3oyjfB1lEBXjWAfAyY2sM0rZn41oD5V91OLwKRwS6Wp8Q==",
"requires": {
"@webassemblyjs/ast": "1.8.5",
"@webassemblyjs/helper-module-context": "1.8.5",
@@ -11706,7 +11796,7 @@
"node-libs-browser": "^2.2.1",
"schema-utils": "^1.0.0",
"tapable": "^1.1.3",
"terser-webpack-plugin": "^1.4.1",
"terser-webpack-plugin": "^1.4.3",
"watchpack": "^1.6.0",
"webpack-sources": "^1.4.1"
},

View File

@@ -18,7 +18,7 @@
"test": "start-server-and-test dev http://localhost:3000 e2e"
},
"dependencies": {
"@nuxtjs/axios": "^5.8.0",
"@nuxtjs/axios": "^5.9.0",
"@nuxtjs/google-analytics": "^2.2.2",
"@nuxtjs/google-tag-manager": "^2.3.1",
"@nuxtjs/pwa": "^3.0.0-beta.19",
@@ -27,7 +27,7 @@
"@nuxtjs/toast": "^3.3.0",
"ace-builds": "^1.4.7",
"graphql": "^14.5.8",
"nuxt": "^2.10.2",
"nuxt": "^2.11.0",
"nuxt-i18n": "^6.4.1",
"v-tooltip": "^2.0.2",
"vue-virtual-scroll-list": "^1.4.4",
@@ -36,7 +36,7 @@
"yargs-parser": "^16.1.0"
},
"devDependencies": {
"cypress": "^3.8.0",
"cypress": "^3.8.1",
"node-sass": "^4.13.0",
"sass-loader": "^8.0.0",
"start-server-and-test": "^1.10.6"

387
pages/doc.vue Normal file
View File

@@ -0,0 +1,387 @@
<template>
<div class="page">
<pw-section class="blue" label="Collections" ref="collections">
<ul>
<li>
<p class="info">
Import any Postwoman Collection to Generate Documentation on-the-go.
</p>
</li>
</ul>
<ul>
<li>
<label for="collectionUpload">
<button
class="icon"
@click="$refs.collectionUpload.click()"
v-tooltip="'JSON'"
>
<i class="material-icons">folder</i>
<span>Import collections</span>
</button>
</label>
<input
ref="collectionUpload"
name="collectionUpload"
type="file"
@change="uploadCollection"
/>
</li>
</ul>
<ul>
<li>
<Editor
v-model="collectionJSON"
:lang="'json'"
:options="{
maxLines: '16',
minLines: '8',
fontSize: '16px',
autoScrollEditorIntoView: true,
showPrintMargin: false,
useWorker: false
}"
/>
</li>
</ul>
<ul>
<li>
<button class="icon" @click="getDoc">
<i class="material-icons">book</i>
<span>Generate Documentation</span>
</button>
</li>
</ul>
</pw-section>
<pw-section class="green" label="Documentation" ref="documentation">
<p v-if="this.items.length === 0" class="info">
Generate documentation first
</p>
<div>
<span
class="collection"
v-for="(collection, index) in this.items"
:key="index"
>
<h2>
<i class="material-icons">folder</i>
{{ collection.name || "None" }}
</h2>
<span
class="folder"
v-for="(folder, index) in collection.folders"
:key="index"
>
<h3>
<i class="material-icons">folder_open</i>
{{ folder.name || "None" }}
</h3>
<span
class="request"
v-for="(request, index) in folder.requests"
:key="index"
>
<h4>
<i class="material-icons">insert_drive_file</i>
{{ request.name || "None" }}
</h4>
<p class="doc-desc" v-if="request.url">
<span>
URL: <code>{{ request.url || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.path">
<span>
Path: <code>{{ request.path || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.method">
<span>
Method: <code>{{ request.method || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.auth">
<span>
Authentication:
<code>{{ request.auth || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.httpUser">
<span>
Username: <code>{{ request.httpUser || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.httpPassword">
<span>
Password:
<code>{{ request.httpPassword || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.bearerToken">
<span>
Token: <code>{{ request.bearerToken || "None" }}</code>
</span>
</p>
<h4 v-if="request.headers.length > 0">Headers</h4>
<span
v-if="request.headers"
v-for="header in request.headers"
:key="header.key"
>
<p class="doc-desc">
<span>
{{ header.key || "None" }}:
<code>{{ header.value || "None" }}</code>
</span>
</p>
</span>
<h4 v-if="request.params.length > 0">Parameters</h4>
<span
v-if="request.params"
v-for="parameter in request.params"
:key="parameter.key"
>
<p class="doc-desc">
<span>
{{ parameter.key || "None" }}:
<code>{{ parameter.value || "None" }}</code>
</span>
</p>
</span>
<h4 v-if="request.bodyParam">Payload</h4>
<span
v-if="request.bodyParam"
v-for="payload in request.bodyParam"
:key="payload.key"
>
<p class="doc-desc">
<span>
{{ payload.key || "None" }}:
<code>{{ payload.value || "None" }}</code>
</span>
</p>
</span>
<p class="doc-desc" v-if="request.rawParams">
<span>
Parameters: <code>{{ request.rawParams || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.contentType">
<span>
Content Type:
<code>{{ request.contentType || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.requestType">
<span>
Request Type:
<code>{{ request.requestType || "None" }}</code>
</span>
</p>
</span>
</span>
<span
class="request"
v-for="(request, index) in collection.requests"
:key="`request-${index}`"
>
<h4>
<i class="material-icons">insert_drive_file</i>
{{ request.name || "None" }}
</h4>
<p class="doc-desc" v-if="request.url">
<span>
URL: <code>{{ request.url || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.path">
<span>
Path: <code>{{ request.path || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.method">
<span>
Method: <code>{{ request.method || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.auth">
<span>
Authentication:
<code>{{ request.auth || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.httpUser">
<span>
Username: <code>{{ request.httpUser || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.httpPassword">
<span>
Password: <code>{{ request.httpPassword || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.bearerToken">
<span>
Token: <code>{{ request.bearerToken || "None" }}</code>
</span>
</p>
<h4 v-if="request.headers.length > 0">Headers</h4>
<span
v-if="request.headers"
v-for="header in request.headers"
:key="header.key"
>
<p class="doc-desc">
<span>
{{ header.key || "None" }}:
<code>{{ header.value || "None" }}</code>
</span>
</p>
</span>
<h4 v-if="request.params.length > 0">Parameters</h4>
<span
v-if="request.params"
v-for="parameter in request.params"
:key="parameter.key"
>
<p class="doc-desc">
<span>
{{ parameter.key || "None" }}:
<code>{{ parameter.value || "None" }}</code>
</span>
</p>
</span>
<h4 v-if="request.bodyParam">Payload</h4>
<span
v-if="request.bodyParam"
v-for="payload in request.bodyParam"
:key="payload.key"
>
<p class="doc-desc">
<span>
{{ payload.key || "None" }}:
<code>{{ payload.value || "None" }}</code>
</span>
</p>
</span>
<p class="doc-desc" v-if="request.rawParams">
<span>
Parameters: <code>{{ request.rawParams || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.contentType">
<span>
Content Type:
<code>{{ request.contentType || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.requestType">
<span>
Request Type:
<code>{{ request.requestType || "None" }}</code>
</span>
</p>
</span>
</span>
</div>
</pw-section>
</div>
</template>
<style scoped lang="scss">
.collection,
.folder,
.request,
.doc-desc {
display: flex;
flex-flow: column;
justify-content: center;
flex: 1;
padding: 16px;
.material-icons {
margin-right: 16px;
}
}
.collection {
}
.folder {
border-left: 1px solid var(--brd-color);
margin: 16px 0 0;
}
.request {
border: 1px solid var(--brd-color);
border-radius: 8px;
margin: 16px 0 0;
h4 {
margin: 8px 0;
}
}
.doc-desc {
color: var(--fg-light-color);
border-bottom: 1px dashed var(--brd-color);
margin: 0;
&:last-child {
border-bottom: none;
}
}
</style>
<script>
import AceEditor from "../components/ace-editor";
export default {
components: {
"pw-section": () => import("../components/section"),
Editor: AceEditor
},
data() {
return {
collectionJSON: "[]",
items: []
};
},
methods: {
uploadCollection() {
this.rawInput = true;
let file = this.$refs.collectionUpload.files[0];
if (file !== undefined && file !== null) {
let reader = new FileReader();
reader.onload = e => {
this.collectionJSON = e.target.result;
};
reader.readAsText(file);
this.$toast.info("File imported", {
icon: "attach_file"
});
} else {
this.$toast.error("Choose a file", {
icon: "attach_file"
});
}
},
getDoc() {
try {
this.items = JSON.parse(this.collectionJSON);
this.$toast.info("Documentation generated", {
icon: "book"
});
} catch (e) {
this.$toast.error(e, {
icon: "code"
});
}
}
}
};
</script>

View File

@@ -53,7 +53,7 @@
<ul v-for="(header, index) in headers" :key="index">
<li>
<autocomplete
:placeholder="'index ' + (index + 1)"
:placeholder="'header ' + (index + 1)"
:source="commonHeaders"
:spellcheck="false"
:value="header.key"
@@ -152,6 +152,7 @@
}"
/>
</pw-section>
<pw-section class="cyan" label="Query" ref="query">
<div class="flex-wrap">
<label for="gqlQuery">{{ $t("query") }}</label>
@@ -185,6 +186,7 @@
}"
/>
</pw-section>
<pw-section class="purple" label="Response" ref="response">
<div class="flex-wrap">
<label for="responseField">{{ $t("response") }}</label>
@@ -281,7 +283,19 @@
</div>
</div>
</section>
</pw-section>
<p
v-if="
queryFields.length === 0 &&
mutationFields.length === 0 &&
subscriptionFields.length === 0 &&
gqlTypes.length === 0
"
class="info"
>
Send a request first
</p></pw-section
>
</aside>
</div>
</div>

View File

@@ -224,12 +224,18 @@
<ul>
<li>
<label for="rawBody">{{ $t("raw_request_body") }}</label>
<textarea
id="rawBody"
@keydown="formatRawParams"
rows="8"
<Editor
v-model="rawParams"
></textarea>
:lang="'json'"
:options="{
maxLines: '16',
minLines: '8',
fontSize: '16px',
autoScrollEditorIntoView: true,
showPrintMargin: false,
useWorker: false
}"
/>
</li>
</ul>
</div>
@@ -728,14 +734,17 @@
</ul>
</div>
<div slot="footer">
<ul>
<li>
<button class="icon" @click="handleImport">
<i class="material-icons">get_app</i>
<span>{{ $t("import") }}</span>
<div class="flex-wrap">
<span></span>
<span>
<button class="icon" @click="showModal = false">
Cancel
</button>
</li>
</ul>
<button class="icon primary" @click="handleImport">
{{ $t("import") }}
</button>
</span>
</div>
</div>
</pw-modal>
@@ -1399,7 +1408,7 @@ export default {
requestString.push("xhr.send()");
}
return requestString.join("\n");
} else if (this.requestType == "Fetch") {
} else if (this.requestType === "Fetch") {
const requestString = [];
let headers = [];
requestString.push(
@@ -1806,38 +1815,6 @@ export default {
}
});
},
formatRawParams(event) {
if (event.which !== 13 && event.which !== 9) {
return;
}
const textBody = event.target.value;
const textBeforeCursor = textBody.substring(
0,
event.target.selectionStart
);
const textAfterCursor = textBody.substring(event.target.selectionEnd);
if (event.which === 13) {
event.preventDefault();
const oldSelectionStart = event.target.selectionStart;
const lastLine = textBeforeCursor.split("\n").slice(-1)[0];
const rightPadding = lastLine.match(/([\s\t]*).*/)[1] || "";
event.target.value =
textBeforeCursor + "\n" + rightPadding + textAfterCursor;
setTimeout(
() =>
(event.target.selectionStart = event.target.selectionEnd =
oldSelectionStart + rightPadding.length + 1),
1
);
} else if (event.which === 9) {
event.preventDefault();
const oldSelectionStart = event.target.selectionStart;
event.target.value = textBeforeCursor + "\xa0\xa0" + textAfterCursor;
event.target.selectionStart = event.target.selectionEnd =
oldSelectionStart + 2;
return false;
}
},
copyRequest() {
if (navigator.share) {
let time = new Date().toLocaleTimeString();
@@ -1891,7 +1868,7 @@ export default {
});
const aux = document.createElement("textarea");
const copy =
this.responseType == "application/json"
this.responseType === "application/json"
? JSON.stringify(this.response.body)
: this.response.body;
aux.innerText = copy;
@@ -1986,7 +1963,7 @@ export default {
window.location.href,
"",
"/?" +
encodeURIComponent(
encodeURI(
flats
.concat(deeps, bodyParams)
.join("")
@@ -1999,7 +1976,7 @@ export default {
throw new Error("Route query parameters must be a Object");
for (const key in queries) {
if (["headers", "params", "bodyParams"].includes(key))
this[key] = JSON.parse(queries[key]);
this[key] = JSON.parse(decodeURI(queries[key]));
if (key === "rawParams") {
this.rawInput = true;
this.rawParams = queries["rawParams"];
@@ -2033,7 +2010,7 @@ export default {
let parsedCurl = parseCurlCommand(text);
this.url = parsedCurl.url.replace(/"/g, "").replace(/'/g, "");
this.url =
this.url.slice(-1).pop() == "/" ? this.url.slice(0, -1) : this.url;
this.url.slice(-1).pop() === "/" ? this.url.slice(0, -1) : this.url;
this.path = "";
this.headers = [];
for (const key of Object.keys(parsedCurl.headers)) {
@@ -2157,7 +2134,7 @@ export default {
uploadPayload() {
this.rawInput = true;
let file = this.$refs.payload.files[0];
if (file !== null) {
if (file !== undefined && file !== null) {
let reader = new FileReader();
reader.onload = e => {
this.rawParams = e.target.result;

View File

@@ -36,6 +36,7 @@
</div>
</ul>
</pw-section>
<pw-section
class="purple"
label="Communication"
@@ -125,6 +126,7 @@
</div>
</ul>
</pw-section>
<pw-section
class="purple"
label="Communication"

View File

@@ -134,12 +134,7 @@
</div>
</template>
<style scoped lang="scss">
.info {
margin-left: 4px;
color: var(--fg-light-color);
}
</style>
<style scoped lang="scss"></style>
<script>
export default {
@@ -156,7 +151,7 @@ export default {
// set the relevant values.
themes: [
{
color: "#121212",
color: "#202124",
name: "Kinda Dark",
class: "",
aceEditor: "twilight"
@@ -273,7 +268,7 @@ export default {
document.documentElement.style.setProperty("--ac-color", color);
document.documentElement.style.setProperty(
"--act-color",
vibrant ? "rgba(18, 18, 18, 1)" : "rgba(255, 255, 255, 1)"
vibrant ? "rgba(32, 33, 36, 1)" : "rgba(255, 255, 255, 1)"
);
this.applySetting("THEME_COLOR", color.toUpperCase());
this.applySetting("THEME_COLOR_VIBRANT", vibrant);

View File

@@ -54,9 +54,9 @@
transform="translate(516.40798,163.89028)"><g
id="g3818"><path
id="path3816"
data-old_color="#121212"
data-old_color="#202124"
class="active-path"
data-original="#121212"
data-original="#202124"
d="M 64.601,236.822 C 64.601,394.256 192.786,612 306.001,612 412.582,612 547.4,394.256 547.4,236.822 547.4,79.388 439.322,0 306,0 172.678,0 64.601,79.388 64.601,236.822 Z m 304.12,116.415 c 29.475,-29.475 70.598,-40.195 108.552,-32.173 8.021,37.954 -2.698,79.077 -32.173,108.552 -29.475,29.475 -70.598,40.195 -108.552,32.173 -8.022,-37.955 2.698,-79.078 32.173,-108.552 z M 134.727,321.063 c 37.954,-8.021 79.077,2.698 108.552,32.173 29.475,29.475 40.195,70.598 32.173,108.552 -37.954,8.021 -79.077,-2.698 -108.552,-32.173 -29.475,-29.476 -40.194,-70.598 -32.173,-108.552 z"
inkscape:connector-curvature="0"
style="fill:#50fa7b" /></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB