updated components and strings
This commit is contained in:
parent
27e0d0fe91
commit
5899821d21
11 changed files with 529 additions and 402 deletions
16
app/app.scss
16
app/app.scss
|
@ -43,7 +43,8 @@ Page {
|
|||
color: $gray9;
|
||||
background: $gray1;
|
||||
Page,
|
||||
.filters {
|
||||
.filters,
|
||||
.sticky {
|
||||
background: $gray1;
|
||||
}
|
||||
TextField,
|
||||
|
@ -72,14 +73,15 @@ Page {
|
|||
background: $gray9;
|
||||
}
|
||||
.fab {
|
||||
color: $gray1;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
.Dark {
|
||||
color: $gray1;
|
||||
background: $gray9;
|
||||
Page,
|
||||
.filters {
|
||||
.filters,
|
||||
.sticky {
|
||||
background: $gray9;
|
||||
}
|
||||
TextField,
|
||||
|
@ -116,7 +118,8 @@ Page {
|
|||
color: $gray2;
|
||||
background: $gray10;
|
||||
Page,
|
||||
.filters {
|
||||
.filters,
|
||||
.sticky {
|
||||
background: $gray10;
|
||||
}
|
||||
TextField,
|
||||
|
@ -476,6 +479,11 @@ Button {
|
|||
padding: 0;
|
||||
margin: 32 0 16;
|
||||
}
|
||||
.sticky {
|
||||
width: 100%;
|
||||
padding: 0 16 16;
|
||||
margin: 0;
|
||||
}
|
||||
.countdown {
|
||||
font-size: 17;
|
||||
color: $orange;
|
||||
|
|
|
@ -419,17 +419,21 @@ export default {
|
|||
this.clearEmptyFields(true);
|
||||
if (this.recipe.imageSrc) {
|
||||
this.modalOpen = true;
|
||||
this.$showModal(ConfirmDialog, {
|
||||
this.$showModal(ActionDialog, {
|
||||
props: {
|
||||
title: "recPic",
|
||||
secondButtonText: "rBtn",
|
||||
cancelButtonText: "cBtn",
|
||||
okButtonText: "repBtn",
|
||||
list: ["aap", "rp"],
|
||||
},
|
||||
}).then((action) => {
|
||||
this.modalOpen = false;
|
||||
if (action > 0) this.imagePicker();
|
||||
else if (action < 0) this.recipe.imageSrc = null;
|
||||
switch (action) {
|
||||
case "aap":
|
||||
this.imagePicker();
|
||||
break;
|
||||
case "rp":
|
||||
this.recipe.imageSrc = null;
|
||||
break;
|
||||
}
|
||||
});
|
||||
} else this.imagePicker();
|
||||
},
|
||||
|
|
|
@ -42,7 +42,6 @@ import Interface from "./Settings/Interface.vue";
|
|||
import Options from "./Settings/Options.vue";
|
||||
import Database from "./Settings/Database.vue";
|
||||
import Reset from "./Settings/Reset.vue";
|
||||
import Help from "./Settings/Help.vue";
|
||||
import About from "./Settings/About.vue";
|
||||
export default {
|
||||
data() {
|
||||
|
|
|
@ -270,12 +270,15 @@ export default {
|
|||
// IMPORT HANDLERS
|
||||
openZipFile() {
|
||||
utils.getBackupFile().then((uri) => {
|
||||
let dest = path.join(knownFolders.temp().path, "tempUnZip");
|
||||
utils.Zip.unzip(uri, dest)
|
||||
.then((res) => {
|
||||
if (res) this.validateZipContent(res, uri);
|
||||
})
|
||||
.catch(() => this.failedImport(localize("buInc")));
|
||||
console.log(uri);
|
||||
if (uri) {
|
||||
let dest = path.join(knownFolders.temp().path, "tempUnZip");
|
||||
utils.Zip.unzip(uri, dest)
|
||||
.then((res) => {
|
||||
if (res) this.validateZipContent(res, uri);
|
||||
})
|
||||
.catch(() => this.failedImport(localize("buInc")));
|
||||
}
|
||||
});
|
||||
},
|
||||
validateZipContent(extractedFolderPath, uri) {
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
<template>
|
||||
<Page @loaded="onPageLoad" actionBarHidden="true">
|
||||
<GridLayout rows="*, auto" columns="auto, *">
|
||||
<ListView
|
||||
colSpan="2"
|
||||
rowSpan="2"
|
||||
class="options-list"
|
||||
for="item in items"
|
||||
>
|
||||
<v-template if="$index == 0">
|
||||
<Label class="pageTitle" :text="'help' | L" />
|
||||
</v-template>
|
||||
<v-template if="$index == 3">
|
||||
<StackLayout class="listSpace"> </StackLayout>
|
||||
</v-template>
|
||||
<v-template>
|
||||
<GridLayout
|
||||
columns="auto, *"
|
||||
class="option"
|
||||
@touch="touch($event, item.url)"
|
||||
>
|
||||
<Label class="ico" :text="icon[item.icon]" />
|
||||
<Label col="1" :text="item.title | L" class="info" />
|
||||
</GridLayout>
|
||||
</v-template>
|
||||
</ListView>
|
||||
<GridLayout row="1" class="appbar" rows="*" columns="auto, *">
|
||||
<Button
|
||||
class="ico"
|
||||
:text="icon.back"
|
||||
@tap="$navigateBack()"
|
||||
/>
|
||||
</GridLayout>
|
||||
</GridLayout>
|
||||
</Page>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Observable, Utils } from "@nativescript/core";
|
||||
import { mapState } from "vuex";
|
||||
|
||||
export default {
|
||||
computed: {
|
||||
...mapState(["icon"]),
|
||||
items() {
|
||||
return [
|
||||
{},
|
||||
{
|
||||
icon: "tg",
|
||||
title: "joinTG",
|
||||
url: "https://t.me/enrecipes",
|
||||
},
|
||||
{
|
||||
icon: "help",
|
||||
title: "guide",
|
||||
url: "https://github.com/vishnuraghavb/EnRecipes/wiki/User-Guide",
|
||||
},
|
||||
{},
|
||||
];
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
onPageLoad(args) {
|
||||
const page = args.object;
|
||||
page.bindingContext = new Observable();
|
||||
},
|
||||
// HELPERS
|
||||
openURL(url) {
|
||||
Utils.openUrl(url);
|
||||
},
|
||||
touch({ object, action }, url) {
|
||||
object.className = action.match(/down|move/) ? "option fade" : "option";
|
||||
if (action == "up") this.openURL(url);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
|
@ -35,138 +35,161 @@
|
|||
@tap="viewPhoto"
|
||||
/>
|
||||
</GridLayout>
|
||||
<ScrollView
|
||||
dock="bottom"
|
||||
@loaded="onScrollLoad"
|
||||
@scroll="!toast && onScroll($event)"
|
||||
>
|
||||
<StackLayout>
|
||||
<GridLayout rows="auto" columns="*, *">
|
||||
<StackLayout class="attribute">
|
||||
<Label class="title sub" :text="'cui' | L" />
|
||||
<Label class="value" :text="recipe.cuisine | L" />
|
||||
</StackLayout>
|
||||
<StackLayout class="attribute" col="1">
|
||||
<Label class="title sub" :text="'cat' | L" />
|
||||
<Label class="value" :text="recipe.category | L" />
|
||||
</StackLayout>
|
||||
</GridLayout>
|
||||
<StackLayout :hidden="!recipe.tags.length" class="attribute">
|
||||
<Label class="title sub" :text="'ts' | L" />
|
||||
<Label class="value" :text="getTags(recipe.tags)" />
|
||||
</StackLayout>
|
||||
<GridLayout rows="auto" columns="*, *">
|
||||
<StackLayout
|
||||
class="attribute"
|
||||
:hidden="!hasTime(recipe.prepTime)"
|
||||
>
|
||||
<Label class="title sub" :text="'prepT' | L" />
|
||||
<Label class="value" :text="formattedTime(recipe.prepTime)" />
|
||||
</StackLayout>
|
||||
<StackLayout
|
||||
:col="hasTime(recipe.prepTime) ? 1 : 0"
|
||||
class="attribute"
|
||||
:hidden="!hasTime(recipe.cookTime)"
|
||||
>
|
||||
<Label class="title sub" :text="'cookT' | L" />
|
||||
<Label class="value" :text="formattedTime(recipe.cookTime)" />
|
||||
</StackLayout>
|
||||
</GridLayout>
|
||||
<GridLayout rows="auto" columns="*, *">
|
||||
<StackLayout class="attribute">
|
||||
<Label class="title sub" :text="'yld' | L" />
|
||||
<Label
|
||||
@touch="touchYield"
|
||||
class="value clickable"
|
||||
:text="`${tempYieldQuantity} ${$options.filters.L(
|
||||
recipe.yield.unit
|
||||
)}`"
|
||||
/>
|
||||
</StackLayout>
|
||||
<StackLayout class="attribute" col="1">
|
||||
<Label class="title sub" :text="'Difficulty level' | L" />
|
||||
<Label class="value" :text="recipe.difficulty | L" />
|
||||
</StackLayout>
|
||||
</GridLayout>
|
||||
<Label
|
||||
padding="0 16"
|
||||
class="sectionTitle"
|
||||
:hidden="!recipe.ingredients.length"
|
||||
:text="getTitleCount('ings', 'ingredients')"
|
||||
/>
|
||||
<StackLayout @loaded="onIngsLoad">
|
||||
<GridLayout
|
||||
rows="auto"
|
||||
columns="auto, *"
|
||||
v-for="(item, index) in recipe.ingredients"
|
||||
:key="index + 'ing'"
|
||||
class="ingredient"
|
||||
@touch="touchIngredient($event, index)"
|
||||
>
|
||||
<Button class="ico min" :text="icon.uncheck" />
|
||||
<Label
|
||||
class="value tw"
|
||||
col="1"
|
||||
:text="`${
|
||||
roundedQuantity(item.quantity)
|
||||
? roundedQuantity(item.quantity) + ' '
|
||||
: ''
|
||||
}${
|
||||
roundedQuantity(item.quantity)
|
||||
? $options.filters.L(item.unit) + ' '
|
||||
: ''
|
||||
}${item.item}`"
|
||||
/>
|
||||
<AbsoluteLayout dock="bottom">
|
||||
<ScrollView
|
||||
width="100%"
|
||||
height="100%"
|
||||
@loaded="onScrollLoad"
|
||||
@scroll="!toast && onScroll($event)"
|
||||
>
|
||||
<StackLayout>
|
||||
<GridLayout rows="auto" columns="*, *">
|
||||
<StackLayout class="attribute">
|
||||
<Label class="title sub" :text="'cui' | L" />
|
||||
<Label class="value" :text="recipe.cuisine | L" />
|
||||
</StackLayout>
|
||||
<StackLayout class="attribute" col="1">
|
||||
<Label class="title sub" :text="'cat' | L" />
|
||||
<Label class="value" :text="recipe.category | L" />
|
||||
</StackLayout>
|
||||
</GridLayout>
|
||||
</StackLayout>
|
||||
<Label
|
||||
padding="0 16"
|
||||
:hidden="!recipe.instructions.length"
|
||||
class="sectionTitle"
|
||||
:text="getTitleCount('inss', 'instructions')"
|
||||
/>
|
||||
<StackLayout @loaded="onInsLoad">
|
||||
<GridLayout
|
||||
@touch="touchInstruction"
|
||||
columns="auto ,*"
|
||||
v-for="(instruction, index) in recipe.instructions"
|
||||
:key="index + 'ins'"
|
||||
class="instruction"
|
||||
>
|
||||
<Button class="count ico min" :text="index + 1" />
|
||||
<Label col="1" class="value tw" :text="instruction" />
|
||||
<StackLayout :hidden="!recipe.tags.length" class="attribute">
|
||||
<Label class="title sub" :text="'ts' | L" />
|
||||
<Label class="value" :text="getTags(recipe.tags)" />
|
||||
</StackLayout>
|
||||
<GridLayout rows="auto" columns="*, *">
|
||||
<StackLayout
|
||||
class="attribute"
|
||||
:hidden="!hasTime(recipe.prepTime)"
|
||||
>
|
||||
<Label class="title sub" :text="'prepT' | L" />
|
||||
<Label class="value" :text="formattedTime(recipe.prepTime)" />
|
||||
</StackLayout>
|
||||
<StackLayout
|
||||
:col="hasTime(recipe.prepTime) ? 1 : 0"
|
||||
class="attribute"
|
||||
:hidden="!hasTime(recipe.cookTime)"
|
||||
>
|
||||
<Label class="title sub" :text="'cookT' | L" />
|
||||
<Label class="value" :text="formattedTime(recipe.cookTime)" />
|
||||
</StackLayout>
|
||||
</GridLayout>
|
||||
<GridLayout rows="auto" columns="*, *">
|
||||
<StackLayout class="attribute">
|
||||
<Label class="title sub" :text="'yld' | L" />
|
||||
<Label
|
||||
@touch="touchYield"
|
||||
class="value clickable"
|
||||
:text="`${tempYieldQuantity} ${$options.filters.L(
|
||||
recipe.yield.unit
|
||||
)}`"
|
||||
/>
|
||||
</StackLayout>
|
||||
<StackLayout class="attribute" col="1">
|
||||
<Label class="title sub" :text="'Difficulty level' | L" />
|
||||
<Label class="value" :text="recipe.difficulty | L" />
|
||||
</StackLayout>
|
||||
</GridLayout>
|
||||
<StackLayout @loaded="onIngsLoad">
|
||||
<Label
|
||||
padding="0 16"
|
||||
class="sectionTitle"
|
||||
:hidden="!recipe.ingredients.length"
|
||||
:text="getTitleCount('ings', 'ingredients')"
|
||||
/>
|
||||
<StackLayout
|
||||
orientation="horizontal"
|
||||
v-for="(item, index) in recipe.ingredients"
|
||||
:key="index + 'ing'"
|
||||
class="ingredient"
|
||||
@touch="touchIngredient($event, index)"
|
||||
>
|
||||
<Button class="ico min" :text="icon.uncheck" />
|
||||
<Label
|
||||
class="value tw"
|
||||
:text="`${
|
||||
roundedQuantity(item.quantity)
|
||||
? roundedQuantity(item.quantity) + ' '
|
||||
: ''
|
||||
}${
|
||||
roundedQuantity(item.quantity)
|
||||
? $options.filters.L(item.unit) + ' '
|
||||
: ''
|
||||
}${item.item}`"
|
||||
/>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
<StackLayout @loaded="onInsLoad">
|
||||
<Label
|
||||
padding="0 16"
|
||||
:hidden="!recipe.instructions.length"
|
||||
class="sectionTitle"
|
||||
:text="getTitleCount('inss', 'instructions')"
|
||||
/>
|
||||
<StackLayout
|
||||
orientation="horizontal"
|
||||
@touch="touchInstruction"
|
||||
v-for="(instruction, index) in recipe.instructions"
|
||||
:key="index + 'ins'"
|
||||
class="instruction"
|
||||
>
|
||||
<Button class="count ico min" :text="index + 1" />
|
||||
<Label class="value tw" :text="instruction" />
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
<Label
|
||||
@loaded="onCmbLoad"
|
||||
padding="0 16"
|
||||
:hidden="!recipe.combinations.length"
|
||||
class="sectionTitle"
|
||||
:text="getTitleCount('cmbs', 'combinations')"
|
||||
/>
|
||||
<Button
|
||||
v-for="(combination, index) in recipe.combinations"
|
||||
:key="index + 'comb'"
|
||||
class="combination"
|
||||
:text="getCombinationTitle(combination)"
|
||||
@tap="viewCombination(combination)"
|
||||
/>
|
||||
<Label
|
||||
@loaded="onNosTLoad"
|
||||
padding="0 16"
|
||||
:hidden="!recipe.notes.length"
|
||||
class="sectionTitle"
|
||||
:text="getTitleCount('nos', 'notes')"
|
||||
/>
|
||||
<StackLayout @loaded="onNosLoad" padding="0 16"> </StackLayout>
|
||||
<Label
|
||||
class="dateInfo sub tw"
|
||||
:text="`${$options.filters.L('Last updated')}: ${formattedDate(
|
||||
recipe.lastModified
|
||||
)}\n${$options.filters.L('Created')}: ${formattedDate(
|
||||
recipe.created
|
||||
)}`"
|
||||
/>
|
||||
</StackLayout>
|
||||
<Label
|
||||
padding="0 16"
|
||||
:hidden="!recipe.combinations.length"
|
||||
class="sectionTitle"
|
||||
:text="getTitleCount('cmbs', 'combinations')"
|
||||
/>
|
||||
<Button
|
||||
v-for="(combination, index) in recipe.combinations"
|
||||
:key="index + 'comb'"
|
||||
class="combination"
|
||||
:text="getCombinationTitle(combination)"
|
||||
@tap="viewCombination(combination)"
|
||||
/>
|
||||
<Label
|
||||
padding="0 16"
|
||||
:hidden="!recipe.notes.length"
|
||||
class="sectionTitle"
|
||||
:text="getTitleCount('nos', 'notes')"
|
||||
/>
|
||||
<StackLayout @loaded="onNosLoad" padding="0 16"> </StackLayout>
|
||||
<Label
|
||||
class="dateInfo sub tw"
|
||||
:text="`${$options.filters.L('Last updated')}: ${formattedDate(
|
||||
recipe.lastModified
|
||||
)}\n${$options.filters.L('Created')}: ${formattedDate(
|
||||
recipe.created
|
||||
)}`"
|
||||
/>
|
||||
</StackLayout>
|
||||
</ScrollView>
|
||||
</ScrollView>
|
||||
<Label
|
||||
class="sectionTitle sticky"
|
||||
:hidden="!showTitleArr[0]"
|
||||
:text="getTitleCount('ings', 'ingredients')"
|
||||
/>
|
||||
<Label
|
||||
class="sectionTitle sticky"
|
||||
:hidden="!showTitleArr[1]"
|
||||
:text="getTitleCount('inss', 'instructions')"
|
||||
/>
|
||||
<Label
|
||||
class="sectionTitle sticky"
|
||||
:hidden="!showTitleArr[2]"
|
||||
:text="getTitleCount('cmbs', 'combinations')"
|
||||
/>
|
||||
<Label
|
||||
class="sectionTitle sticky"
|
||||
:hidden="!showTitleArr[3]"
|
||||
:text="getTitleCount('nos', 'notes')"
|
||||
/>
|
||||
</AbsoluteLayout>
|
||||
</DockLayout>
|
||||
<GridLayout
|
||||
row="1"
|
||||
|
@ -269,13 +292,16 @@ export default {
|
|||
appbar: null,
|
||||
ingcon: null,
|
||||
inscon: null,
|
||||
cmbcon: null,
|
||||
notescon: null,
|
||||
notesT: null,
|
||||
imgZoom: null,
|
||||
checks: [],
|
||||
checked: 0,
|
||||
stepsDid: 0,
|
||||
toast: null,
|
||||
photoOpen: false,
|
||||
showTitleArr: [false, false, false, false],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
@ -317,6 +343,12 @@ export default {
|
|||
onInsLoad({ object }) {
|
||||
this.inscon = object;
|
||||
},
|
||||
onCmbLoad({ object }) {
|
||||
this.cmbcon = object;
|
||||
},
|
||||
onNosTLoad({ object }) {
|
||||
this.notesT = object;
|
||||
},
|
||||
onNosLoad({ object }) {
|
||||
this.notescon = object;
|
||||
this.createNotes();
|
||||
|
@ -330,6 +362,37 @@ export default {
|
|||
this.imgZoom.top = 24;
|
||||
this.imgZoom.left = Screen.mainScreen.widthDIPs - 112;
|
||||
},
|
||||
// FIX: scroll not smooth
|
||||
stickyTitle({ object }) {
|
||||
// let vm = this;
|
||||
// function isTop(label) {
|
||||
// let pos = label.getLocationRelativeTo(object).y;
|
||||
// return label === vm.cmbcon || label === vm.notesT
|
||||
// ? pos < 0
|
||||
// : pos + 32 < 0;
|
||||
// }
|
||||
// const isAllFalse = (e) => e == false;
|
||||
// if (this.recipe.notes.length && isTop(this.notesT)) {
|
||||
// this.showTitleArr = [false, false, false, true];
|
||||
// } else if (this.recipe.combinations.length && isTop(this.cmbcon)) {
|
||||
// this.showTitleArr = [false, false, true, false];
|
||||
// } else if (this.recipe.instructions.length && isTop(this.inscon)) {
|
||||
// this.showTitleArr = [false, true, false, false];
|
||||
// } else if (this.recipe.ingredients.length && isTop(this.ingcon)) {
|
||||
// this.showTitleArr = [true, false, false, false];
|
||||
// } else {
|
||||
// this.showTitleArr = [false, false, false, false];
|
||||
// }
|
||||
// if (
|
||||
// this.recipe.ingredients.length &&
|
||||
// !this.showTitleArr[0] &&
|
||||
// isTop(this.ingcon)
|
||||
// ) {
|
||||
// this.showTitleArr = [true, false, false, false];
|
||||
// } else if (!this.showTitleArr.every(isAllFalse) && !isTop(this.ingcon)) {
|
||||
// this.showTitleArr = [false, false, false, false];
|
||||
// }
|
||||
},
|
||||
onScroll(args) {
|
||||
let scrollUp;
|
||||
let y = args.scrollY;
|
||||
|
@ -349,6 +412,7 @@ export default {
|
|||
duration: 250,
|
||||
curve: CoreTypes.AnimationCurve.ease,
|
||||
});
|
||||
// this.stickyTitle(args);
|
||||
}
|
||||
},
|
||||
// HELPERS
|
||||
|
@ -482,7 +546,7 @@ export default {
|
|||
clearChecks() {
|
||||
this.checked = 0;
|
||||
this.checks = [];
|
||||
for (let i = 0; i < this.ingcon.getChildrenCount(); i++) {
|
||||
for (let i = 1; i < this.ingcon.getChildrenCount(); i++) {
|
||||
this.ingcon.getChildAt(i).getChildAt(0).text = this.icon.uncheck;
|
||||
}
|
||||
},
|
||||
|
@ -505,7 +569,7 @@ export default {
|
|||
},
|
||||
clearSteps() {
|
||||
this.stepsDid = 0;
|
||||
for (let i = 0; i < this.inscon.getChildrenCount(); i++) {
|
||||
for (let i = 1; i < this.inscon.getChildrenCount(); i++) {
|
||||
this.inscon.getChildAt(i).className = "instruction";
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
<template>
|
||||
<Page @loaded="transparentPage" backgroundColor="transparent" :class="appTheme">
|
||||
<Page
|
||||
@loaded="transparentPage"
|
||||
backgroundColor="transparent"
|
||||
:class="appTheme"
|
||||
>
|
||||
<GridLayout rows="auto, auto, auto" class="modal">
|
||||
<Label class="title" :text="title | L" />
|
||||
<Label
|
||||
|
@ -8,23 +12,16 @@
|
|||
class="description tw"
|
||||
:text="description"
|
||||
/>
|
||||
<GridLayout row="2" columns="auto, *, auto, auto" class="actions">
|
||||
<Button
|
||||
v-if="secondButtonText"
|
||||
col="0"
|
||||
class="text sm"
|
||||
:text="secondButtonText | L"
|
||||
@tap="$modal.close(-1)"
|
||||
/>
|
||||
<GridLayout row="2" columns="*, auto, auto" class="actions">
|
||||
<Button
|
||||
v-if="cancelButtonText"
|
||||
col="2"
|
||||
col="1"
|
||||
class="text sm"
|
||||
:text="cancelButtonText | L"
|
||||
@tap="$modal.close(false)"
|
||||
/>
|
||||
<Button
|
||||
col="3"
|
||||
col="2"
|
||||
class="text sm"
|
||||
:text="okButtonText | L"
|
||||
@tap="$modal.close(true)"
|
||||
|
@ -37,13 +34,7 @@
|
|||
<script>
|
||||
import { mapState } from "vuex";
|
||||
export default {
|
||||
props: [
|
||||
"title",
|
||||
"description",
|
||||
"secondButtonText",
|
||||
"cancelButtonText",
|
||||
"okButtonText",
|
||||
],
|
||||
props: ["title", "description", "cancelButtonText", "okButtonText"],
|
||||
computed: {
|
||||
...mapState(["icon", "appTheme"]),
|
||||
},
|
||||
|
|
|
@ -176,7 +176,7 @@ export default {
|
|||
this.localCategory = this.selectedCategory;
|
||||
this.localTag = this.selectedTag;
|
||||
if (this.localCuisine) this.filterType = "category";
|
||||
if (this.localCategory || this.localTag) this.filterType = "tag";
|
||||
if (this.localCategory && this.localTag) this.filterType = "tag";
|
||||
this.scrollToRight();
|
||||
},
|
||||
onScrollLoad(args) {
|
||||
|
|
|
@ -175,7 +175,6 @@
|
|||
"nwCat": "New category",
|
||||
"req": "Required",
|
||||
"recPic": "Recipe photo",
|
||||
"repBtn": "REPLACE",
|
||||
"cPic": "Crop photo",
|
||||
"breakfast": "Breakfast",
|
||||
"lunch": "lunch",
|
||||
|
@ -311,5 +310,7 @@
|
|||
"expip": "Export in progress",
|
||||
"impip": "Import in progress",
|
||||
"srpu": "Share recipe photo using...",
|
||||
"sru": "Share recipe using..."
|
||||
"sru": "Share recipe using...",
|
||||
"aap": "Attach a photo",
|
||||
"rp": "Remove photo"
|
||||
}
|
||||
|
|
|
@ -35,8 +35,8 @@ export const openAppSettingsPage = () => {
|
|||
Application.android.foregroundActivity.startActivity(intent)
|
||||
}
|
||||
export const hasAccelerometer = () => {
|
||||
let context = Utils.ad.getApplicationContext()
|
||||
let sensorManager = context.getSystemService(
|
||||
let ctx = Utils.ad.getApplicationContext()
|
||||
let sensorManager = ctx.getSystemService(
|
||||
android.content.Context.SENSOR_SERVICE
|
||||
)
|
||||
return sensorManager.getDefaultSensor(
|
||||
|
@ -62,8 +62,8 @@ export const timer = (dur, callback) => {
|
|||
}, 1000)
|
||||
}
|
||||
|
||||
function callIntent(context, intent, msg, pickerType) {
|
||||
return new Promise((resolve, reject) => {
|
||||
function callIntent(ctx, intent, msg, pickerType) {
|
||||
return new Promise((resolve) => {
|
||||
const onEvent = function(e) {
|
||||
if (e.requestCode === pickerType) {
|
||||
resolve(e)
|
||||
|
@ -71,7 +71,7 @@ function callIntent(context, intent, msg, pickerType) {
|
|||
}
|
||||
}
|
||||
Application.android.once(AndroidApplication.activityResultEvent, onEvent)
|
||||
context.startActivityForResult(
|
||||
ctx.startActivityForResult(
|
||||
android.content.Intent.createChooser(intent, msg),
|
||||
pickerType
|
||||
)
|
||||
|
@ -79,14 +79,14 @@ function callIntent(context, intent, msg, pickerType) {
|
|||
}
|
||||
// IMAGE PICKER
|
||||
export const getRecipePhoto = () => {
|
||||
const context =
|
||||
const ctx =
|
||||
Application.android.foregroundActivity || Application.android.startActivity
|
||||
const DIR_CODE = Math.round(Math.random() * 10000)
|
||||
const intent = new android.content.Intent(
|
||||
android.content.Intent.ACTION_GET_CONTENT
|
||||
)
|
||||
intent.setType('image/*')
|
||||
return callIntent(context, intent, 'Select photo', DIR_CODE).then((res) => {
|
||||
return callIntent(ctx, intent, 'Select photo', DIR_CODE).then((res) => {
|
||||
if (res.resultCode === android.app.Activity.RESULT_OK)
|
||||
if (res.intent != null && res.intent.getData())
|
||||
return res.intent.getData()
|
||||
|
@ -114,13 +114,13 @@ export const copyPhotoToCache = (uri, filepath) => {
|
|||
|
||||
// BACKUP FOLDER PICKER
|
||||
export const getBackupFolder = () => {
|
||||
const context =
|
||||
const ctx =
|
||||
Application.android.foregroundActivity || Application.android.startActivity
|
||||
const DIR_CODE = Math.round(Math.random() * 10000)
|
||||
const intent = new android.content.Intent(
|
||||
android.content.Intent.ACTION_OPEN_DOCUMENT_TREE
|
||||
)
|
||||
return callIntent(context, intent, 'Select folder', DIR_CODE).then((res) => {
|
||||
return callIntent(ctx, intent, 'Select folder', DIR_CODE).then((res) => {
|
||||
if (res.resultCode === android.app.Activity.RESULT_OK)
|
||||
if (res.intent != null && res.intent.getData())
|
||||
return res.intent.getData()
|
||||
|
@ -129,7 +129,7 @@ export const getBackupFolder = () => {
|
|||
|
||||
// BACKUP FILE PICKER
|
||||
export const getBackupFile = () => {
|
||||
const context =
|
||||
const ctx =
|
||||
Application.android.foregroundActivity || Application.android.startActivity
|
||||
const DIR_CODE = Math.round(Math.random() * 10000)
|
||||
const intent = new android.content.Intent(
|
||||
|
@ -137,7 +137,7 @@ export const getBackupFile = () => {
|
|||
)
|
||||
intent.addCategory(android.content.Intent.CATEGORY_OPENABLE)
|
||||
intent.setType('application/zip')
|
||||
return callIntent(context, intent, 'Select file to import', DIR_CODE).then(
|
||||
return callIntent(ctx, intent, 'Select file to import', DIR_CODE).then(
|
||||
(res) => {
|
||||
if (res.resultCode === android.app.Activity.RESULT_OK) {
|
||||
if (res.intent != null && res.intent.getData())
|
||||
|
@ -240,15 +240,34 @@ export class Zip {
|
|||
// SHARE OPERATIONS
|
||||
|
||||
function share(intent, subject) {
|
||||
const context = Application.android.context
|
||||
const ctx = Application.android.context
|
||||
const shareIntent = android.content.Intent.createChooser(intent, subject)
|
||||
shareIntent.setFlags(android.content.Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context.startActivity(shareIntent)
|
||||
ctx.startActivity(shareIntent)
|
||||
}
|
||||
function getSendIntent(type) {
|
||||
const intent = new android.content.Intent(android.content.Intent.ACTION_SEND)
|
||||
intent.setType(type)
|
||||
return intent
|
||||
}
|
||||
|
||||
export const shareText = (text, subject) => {
|
||||
const intent = new android.context.Intent(android.content.Intent.ACTION_SEND)
|
||||
intent.setType('text/plain')
|
||||
intent.putExtra(android.context.Intent.EXTRA_TEXT, text)
|
||||
const intent = getSendIntent('text/plain')
|
||||
intent.putExtra(android.content.Intent.EXTRA_TEXT, text)
|
||||
share(intent, subject)
|
||||
}
|
||||
export const shareImage = (image, subject) => {
|
||||
let ctx = Application.android.context
|
||||
const intent = getSendIntent('image/jpeg')
|
||||
const baos = new java.io.ByteArrayOutputStream()
|
||||
image.android.compress(android.graphics.Bitmap.CompressFormat.JPEG, 100, baos)
|
||||
const tmpFile = new java.io.File(ctx.getExternalCacheDir(), 'EnRecipes.jpg')
|
||||
const fos = new java.io.FileOutputStream(tmpFile)
|
||||
fos.write(baos.toByteArray())
|
||||
fos.flush()
|
||||
fos.close()
|
||||
intent.putExtra(
|
||||
android.content.Intent.EXTRA_STREAM,
|
||||
android.net.Uri.fromFile(tmpFile)
|
||||
)
|
||||
share(intent, subject)
|
||||
}
|
||||
|
|
393
package-lock.json
generated
393
package-lock.json
generated
|
@ -43,9 +43,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@babel/core": {
|
||||
"version": "7.13.14",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.14.tgz",
|
||||
"integrity": "sha512-wZso/vyF4ki0l0znlgM4inxbdrUvCb+cVz8grxDq+6C9k6qbqoIJteQOKicaKjCipU3ISV+XedCqpL2RJJVehA==",
|
||||
"version": "7.13.15",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.15.tgz",
|
||||
"integrity": "sha512-6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.12.13",
|
||||
|
@ -53,9 +53,9 @@
|
|||
"@babel/helper-compilation-targets": "^7.13.13",
|
||||
"@babel/helper-module-transforms": "^7.13.14",
|
||||
"@babel/helpers": "^7.13.10",
|
||||
"@babel/parser": "^7.13.13",
|
||||
"@babel/parser": "^7.13.15",
|
||||
"@babel/template": "^7.12.13",
|
||||
"@babel/traverse": "^7.13.13",
|
||||
"@babel/traverse": "^7.13.15",
|
||||
"@babel/types": "^7.13.14",
|
||||
"convert-source-map": "^1.7.0",
|
||||
"debug": "^4.1.0",
|
||||
|
@ -409,27 +409,29 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@nativescript/webpack": {
|
||||
"version": "5.0.0-beta.5",
|
||||
"resolved": "https://registry.npmjs.org/@nativescript/webpack/-/webpack-5.0.0-beta.5.tgz",
|
||||
"integrity": "sha512-YYgS0BliyPK7XZDI2ZV/5eU1ppze3/7gr7prB8mpEb1vP0bGWf1Q/A+lH8zr818g0xmQ99ayGZjupnnHknPs7Q==",
|
||||
"version": "5.0.0-beta.6",
|
||||
"resolved": "https://registry.npmjs.org/@nativescript/webpack/-/webpack-5.0.0-beta.6.tgz",
|
||||
"integrity": "sha512-/NvzzElwWpl7HUphV3MLAzzEeRFGFgi5huG5Mx8p5MxPZOIdC2nM18nT+qZT1UhoRTzYlW13Z0ZSBGBlbyPTGw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/core": "7.13.14",
|
||||
"@babel/core": "7.13.15",
|
||||
"@pmmmwh/react-refresh-webpack-plugin": "0.4.3",
|
||||
"acorn": "^8.1.1",
|
||||
"acorn-stage3": "^4.0.0",
|
||||
"babel-loader": "8.2.2",
|
||||
"chalk": "4.1.0",
|
||||
"cli-highlight": "2.1.11",
|
||||
"commander": "7.2.0",
|
||||
"copy-webpack-plugin": "8.1.0",
|
||||
"copy-webpack-plugin": "8.1.1",
|
||||
"css": "3.0.0",
|
||||
"css-loader": "5.2.0",
|
||||
"css-loader": "5.2.1",
|
||||
"dotenv-webpack": "7.0.2",
|
||||
"fork-ts-checker-webpack-plugin": "6.2.0",
|
||||
"fork-ts-checker-webpack-plugin": "6.2.1",
|
||||
"loader-utils": "2.0.0",
|
||||
"lodash.get": "4.4.2",
|
||||
"micromatch": "4.0.2",
|
||||
"postcss": "8.2.8",
|
||||
"postcss-import": "14.0.0",
|
||||
"micromatch": "4.0.4",
|
||||
"postcss": "8.2.10",
|
||||
"postcss-import": "14.0.1",
|
||||
"postcss-loader": "5.2.0",
|
||||
"raw-loader": "4.0.2",
|
||||
"react-refresh": "0.10.0",
|
||||
|
@ -438,10 +440,10 @@
|
|||
"sax": "1.2.4",
|
||||
"source-map": "0.7.3",
|
||||
"terser-webpack-plugin": "5.1.1",
|
||||
"ts-dedent": "2.1.0",
|
||||
"ts-dedent": "2.1.1",
|
||||
"ts-loader": "8.1.0",
|
||||
"vue-loader": "15.9.6",
|
||||
"webpack": "5.28.0",
|
||||
"webpack": "5.31.2",
|
||||
"webpack-bundle-analyzer": "4.4.0",
|
||||
"webpack-chain": "6.5.1",
|
||||
"webpack-cli": "4.6.0",
|
||||
|
@ -564,9 +566,9 @@
|
|||
"integrity": "sha512-AiAruGY7IxgKW/Jn4+iRVPpXvXMDPnuUchJLujQ1ipZ1f8IIDgMch3A5nMxJWY1KSn72AYZLoQZxmEN3YxzZIA=="
|
||||
},
|
||||
"node_modules/@types/eslint": {
|
||||
"version": "7.2.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.8.tgz",
|
||||
"integrity": "sha512-RTKvBsfz0T8CKOGZMfuluDNyMFHnu5lvNr4hWEsQeHXH6FcmIDIozOyWMh36nLGMwVd5UFNXC2xztA8lln22MQ==",
|
||||
"version": "7.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.9.tgz",
|
||||
"integrity": "sha512-SdAAXZNvWfhtf3X3y1cbbCZhP3xyPh7mfTvzV6CgfWc/ZhiHpyr9bVroe2/RCHIf7gczaNcprhaBLsx0CCJHQA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/estree": "*",
|
||||
|
@ -922,9 +924,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz",
|
||||
"integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==",
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.1.tgz",
|
||||
"integrity": "sha512-xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
|
@ -933,6 +935,80 @@
|
|||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn-class-fields": {
|
||||
"version": "0.3.7",
|
||||
"resolved": "https://registry.npmjs.org/acorn-class-fields/-/acorn-class-fields-0.3.7.tgz",
|
||||
"integrity": "sha512-jdUWSFce0fuADUljmExz4TWpPkxmRW/ZCPRqeeUzbGf0vFUcpQYbyq52l75qGd0oSwwtAepeL6hgb/naRgvcKQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"acorn-private-class-elements": "^0.2.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.8.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"acorn": "^6 || ^7 || ^8"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn-private-class-elements": {
|
||||
"version": "0.2.7",
|
||||
"resolved": "https://registry.npmjs.org/acorn-private-class-elements/-/acorn-private-class-elements-0.2.7.tgz",
|
||||
"integrity": "sha512-+GZH2wOKNZOBI4OOPmzpo4cs6mW297sn6fgIk1dUI08jGjhAaEwvC39mN2gJAg2lmAQJ1rBkFqKWonL3Zz6PVA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=4.8.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"acorn": "^6.1.0 || ^7 || ^8"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn-private-methods": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/acorn-private-methods/-/acorn-private-methods-0.3.3.tgz",
|
||||
"integrity": "sha512-46oeEol3YFvLSah5m9hGMlNpxDBCEkdceJgf01AjqKYTK9r6HexKs2rgSbLK81pYjZZMonhftuUReGMlbbv05w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"acorn-private-class-elements": "^0.2.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.8.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"acorn": "^6 || ^7 || ^8"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn-stage3": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn-stage3/-/acorn-stage3-4.0.0.tgz",
|
||||
"integrity": "sha512-BR+LaADtA6GTB5prkNqWmlmCLYmkyW0whvSxdHhbupTaro2qBJ95fJDEiRLPUmiACGHPaYyeH9xmNJWdGfXRQw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"acorn-class-fields": "^0.3.7",
|
||||
"acorn-private-methods": "^0.3.3",
|
||||
"acorn-static-class-features": "^0.2.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.8.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"acorn": "^7.4 || ^8"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn-static-class-features": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/acorn-static-class-features/-/acorn-static-class-features-0.2.4.tgz",
|
||||
"integrity": "sha512-5X4mpYq5J3pdndLmIB0+WtFd/mKWnNYpuTlTzj32wUu/PMmEGOiayQ5UrqgwdBNiaZBtDDh5kddpP7Yg2QaQYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"acorn-private-class-elements": "^0.2.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.8.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"acorn": "^6.1.0 || ^7 || ^8"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn-walk": {
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.2.tgz",
|
||||
|
@ -1208,16 +1284,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.16.3",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz",
|
||||
"integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==",
|
||||
"version": "4.16.4",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.4.tgz",
|
||||
"integrity": "sha512-d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"caniuse-lite": "^1.0.30001181",
|
||||
"colorette": "^1.2.1",
|
||||
"electron-to-chromium": "^1.3.649",
|
||||
"caniuse-lite": "^1.0.30001208",
|
||||
"colorette": "^1.2.2",
|
||||
"electron-to-chromium": "^1.3.712",
|
||||
"escalade": "^3.1.1",
|
||||
"node-releases": "^1.1.70"
|
||||
"node-releases": "^1.1.71"
|
||||
},
|
||||
"bin": {
|
||||
"browserslist": "cli.js"
|
||||
|
@ -1420,9 +1496,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/copy-webpack-plugin": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.0.tgz",
|
||||
"integrity": "sha512-Soiq8kXI2AZkpw3dSp18u6oU2JonC7UKv3UdXsKOmT1A5QT46ku9+6c0Qy29JDbSavQJNN1/eKGpd3QNw+cZWg==",
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz",
|
||||
"integrity": "sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-glob": "^3.2.5",
|
||||
|
@ -1515,9 +1591,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/css-loader": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.0.tgz",
|
||||
"integrity": "sha512-MfRo2MjEeLXMlUkeUwN71Vx5oc6EJnx5UQ4Yi9iUtYQvrPtwLUucYptz0hc6n++kdNcyF5olYBS4vPjJDAcLkw==",
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.1.tgz",
|
||||
"integrity": "sha512-YCyRzlt/jgG1xanXZDG/DHqAueOtXFHeusP9TS478oP1J++JSKOyEgGW1GHVoCj/rkS+GWOlBwqQJBr9yajQ9w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"camelcase": "^6.2.0",
|
||||
|
@ -1742,9 +1818,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.3.711",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.711.tgz",
|
||||
"integrity": "sha512-XbklBVCDiUeho0PZQCjC25Ha6uBwqqJeyDhPLwLwfWRAo4x+FZFsmu1pPPkXT+B4MQMQoQULfyaMltDopfeiHQ==",
|
||||
"version": "1.3.713",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.713.tgz",
|
||||
"integrity": "sha512-HWgkyX4xTHmxcWWlvv7a87RHSINEcpKYZmDMxkUlHcY+CJcfx7xEfBHuXVsO1rzyYs1WQJ7EgDp2CoErakBIow==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
|
@ -2016,9 +2092,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/fork-ts-checker-webpack-plugin": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.0.tgz",
|
||||
"integrity": "sha512-DTNbOhq6lRdjYprukX54JMeYJgQ0zMow+R5BMLwWxEX2NAXthIkwnV8DBmsWjwNLSUItKZM4TCCJbtgrtKBu2Q==",
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.1.tgz",
|
||||
"integrity": "sha512-Pyhn2kav/Y2g6I7aInABgcph/B78jjdXc4kGHzaAUBL4UVthknxM6aMH47JwpnuTJmdOuf6p5vMbIahsBHuWGg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.8.3",
|
||||
|
@ -2754,16 +2830,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/micromatch": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
|
||||
"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
|
||||
"integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"braces": "^3.0.1",
|
||||
"picomatch": "^2.0.5"
|
||||
"picomatch": "^2.2.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
"node": ">=8.6"
|
||||
}
|
||||
},
|
||||
"node_modules/mime": {
|
||||
|
@ -3120,9 +3196,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
|
||||
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
|
||||
"integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8.6"
|
||||
|
@ -3166,13 +3242,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.2.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.8.tgz",
|
||||
"integrity": "sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw==",
|
||||
"version": "8.2.10",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.10.tgz",
|
||||
"integrity": "sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"colorette": "^1.2.2",
|
||||
"nanoid": "^3.1.20",
|
||||
"nanoid": "^3.1.22",
|
||||
"source-map": "^0.6.1"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -3184,9 +3260,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/postcss-import": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.0.tgz",
|
||||
"integrity": "sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg==",
|
||||
"version": "14.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.1.tgz",
|
||||
"integrity": "sha512-Xn2+z++vWObbEPhiiKO1a78JiyhqipyrXHBb3AHpv0ks7Cdg+GxQQJ24ODNMTanldf7197gSP3axppO9yaG0lA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"postcss-value-parser": "^4.0.0",
|
||||
|
@ -4061,9 +4137,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/ts-dedent": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.1.0.tgz",
|
||||
"integrity": "sha512-HbmrG+lCgk5W8LQTALxBxQRBDeAhQKRzdqVhHLUkVd5nYT+b6zDzbRMjiA8wqrWDa33X09WdnW4zEsdwQArTaw==",
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.1.1.tgz",
|
||||
"integrity": "sha512-riHuwnzAUCfdIeTBNUq7+Yj+ANnrMXo/7+Z74dIdudS7ys2k8aSGMzpJRMFDF7CLwUTbtvi1ZZff/Wl+XxmqIA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6.10"
|
||||
|
@ -4309,9 +4385,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/webpack": {
|
||||
"version": "5.28.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.28.0.tgz",
|
||||
"integrity": "sha512-1xllYVmA4dIvRjHzwELgW4KjIU1fW4PEuEnjsylz7k7H5HgPOctIq7W1jrt3sKH9yG5d72//XWzsHhfoWvsQVg==",
|
||||
"version": "5.31.2",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.31.2.tgz",
|
||||
"integrity": "sha512-0bCQe4ybo7T5Z0SC5axnIAH+1WuIdV4FwLYkaAlLtvfBhIx8bPS48WHTfiRZS1VM+pSiYt7e/rgLs3gLrH82lQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/eslint-scope": "^3.7.0",
|
||||
|
@ -4703,9 +4779,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@babel/core": {
|
||||
"version": "7.13.14",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.14.tgz",
|
||||
"integrity": "sha512-wZso/vyF4ki0l0znlgM4inxbdrUvCb+cVz8grxDq+6C9k6qbqoIJteQOKicaKjCipU3ISV+XedCqpL2RJJVehA==",
|
||||
"version": "7.13.15",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.15.tgz",
|
||||
"integrity": "sha512-6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.12.13",
|
||||
|
@ -4713,9 +4789,9 @@
|
|||
"@babel/helper-compilation-targets": "^7.13.13",
|
||||
"@babel/helper-module-transforms": "^7.13.14",
|
||||
"@babel/helpers": "^7.13.10",
|
||||
"@babel/parser": "^7.13.13",
|
||||
"@babel/parser": "^7.13.15",
|
||||
"@babel/template": "^7.12.13",
|
||||
"@babel/traverse": "^7.13.13",
|
||||
"@babel/traverse": "^7.13.15",
|
||||
"@babel/types": "^7.13.14",
|
||||
"convert-source-map": "^1.7.0",
|
||||
"debug": "^4.1.0",
|
||||
|
@ -5036,27 +5112,29 @@
|
|||
}
|
||||
},
|
||||
"@nativescript/webpack": {
|
||||
"version": "5.0.0-beta.5",
|
||||
"resolved": "https://registry.npmjs.org/@nativescript/webpack/-/webpack-5.0.0-beta.5.tgz",
|
||||
"integrity": "sha512-YYgS0BliyPK7XZDI2ZV/5eU1ppze3/7gr7prB8mpEb1vP0bGWf1Q/A+lH8zr818g0xmQ99ayGZjupnnHknPs7Q==",
|
||||
"version": "5.0.0-beta.6",
|
||||
"resolved": "https://registry.npmjs.org/@nativescript/webpack/-/webpack-5.0.0-beta.6.tgz",
|
||||
"integrity": "sha512-/NvzzElwWpl7HUphV3MLAzzEeRFGFgi5huG5Mx8p5MxPZOIdC2nM18nT+qZT1UhoRTzYlW13Z0ZSBGBlbyPTGw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/core": "7.13.14",
|
||||
"@babel/core": "7.13.15",
|
||||
"@pmmmwh/react-refresh-webpack-plugin": "0.4.3",
|
||||
"acorn": "^8.1.1",
|
||||
"acorn-stage3": "^4.0.0",
|
||||
"babel-loader": "8.2.2",
|
||||
"chalk": "4.1.0",
|
||||
"cli-highlight": "2.1.11",
|
||||
"commander": "7.2.0",
|
||||
"copy-webpack-plugin": "8.1.0",
|
||||
"copy-webpack-plugin": "8.1.1",
|
||||
"css": "3.0.0",
|
||||
"css-loader": "5.2.0",
|
||||
"css-loader": "5.2.1",
|
||||
"dotenv-webpack": "7.0.2",
|
||||
"fork-ts-checker-webpack-plugin": "6.2.0",
|
||||
"fork-ts-checker-webpack-plugin": "6.2.1",
|
||||
"loader-utils": "2.0.0",
|
||||
"lodash.get": "4.4.2",
|
||||
"micromatch": "4.0.2",
|
||||
"postcss": "8.2.8",
|
||||
"postcss-import": "14.0.0",
|
||||
"micromatch": "4.0.4",
|
||||
"postcss": "8.2.10",
|
||||
"postcss-import": "14.0.1",
|
||||
"postcss-loader": "5.2.0",
|
||||
"raw-loader": "4.0.2",
|
||||
"react-refresh": "0.10.0",
|
||||
|
@ -5065,10 +5143,10 @@
|
|||
"sax": "1.2.4",
|
||||
"source-map": "0.7.3",
|
||||
"terser-webpack-plugin": "5.1.1",
|
||||
"ts-dedent": "2.1.0",
|
||||
"ts-dedent": "2.1.1",
|
||||
"ts-loader": "8.1.0",
|
||||
"vue-loader": "15.9.6",
|
||||
"webpack": "5.28.0",
|
||||
"webpack": "5.31.2",
|
||||
"webpack-bundle-analyzer": "4.4.0",
|
||||
"webpack-chain": "6.5.1",
|
||||
"webpack-cli": "4.6.0",
|
||||
|
@ -5138,9 +5216,9 @@
|
|||
"integrity": "sha512-AiAruGY7IxgKW/Jn4+iRVPpXvXMDPnuUchJLujQ1ipZ1f8IIDgMch3A5nMxJWY1KSn72AYZLoQZxmEN3YxzZIA=="
|
||||
},
|
||||
"@types/eslint": {
|
||||
"version": "7.2.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.8.tgz",
|
||||
"integrity": "sha512-RTKvBsfz0T8CKOGZMfuluDNyMFHnu5lvNr4hWEsQeHXH6FcmIDIozOyWMh36nLGMwVd5UFNXC2xztA8lln22MQ==",
|
||||
"version": "7.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.9.tgz",
|
||||
"integrity": "sha512-SdAAXZNvWfhtf3X3y1cbbCZhP3xyPh7mfTvzV6CgfWc/ZhiHpyr9bVroe2/RCHIf7gczaNcprhaBLsx0CCJHQA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/estree": "*",
|
||||
|
@ -5428,8 +5506,7 @@
|
|||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz",
|
||||
"integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
"dev": true
|
||||
},
|
||||
"@webpack-cli/info": {
|
||||
"version": "1.2.3",
|
||||
|
@ -5444,8 +5521,7 @@
|
|||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz",
|
||||
"integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
"dev": true
|
||||
},
|
||||
"@xtuc/ieee754": {
|
||||
"version": "1.2.0",
|
||||
|
@ -5460,11 +5536,55 @@
|
|||
"dev": true
|
||||
},
|
||||
"acorn": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz",
|
||||
"integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==",
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.1.tgz",
|
||||
"integrity": "sha512-xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g==",
|
||||
"dev": true
|
||||
},
|
||||
"acorn-class-fields": {
|
||||
"version": "0.3.7",
|
||||
"resolved": "https://registry.npmjs.org/acorn-class-fields/-/acorn-class-fields-0.3.7.tgz",
|
||||
"integrity": "sha512-jdUWSFce0fuADUljmExz4TWpPkxmRW/ZCPRqeeUzbGf0vFUcpQYbyq52l75qGd0oSwwtAepeL6hgb/naRgvcKQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"acorn-private-class-elements": "^0.2.7"
|
||||
}
|
||||
},
|
||||
"acorn-private-class-elements": {
|
||||
"version": "0.2.7",
|
||||
"resolved": "https://registry.npmjs.org/acorn-private-class-elements/-/acorn-private-class-elements-0.2.7.tgz",
|
||||
"integrity": "sha512-+GZH2wOKNZOBI4OOPmzpo4cs6mW297sn6fgIk1dUI08jGjhAaEwvC39mN2gJAg2lmAQJ1rBkFqKWonL3Zz6PVA==",
|
||||
"dev": true
|
||||
},
|
||||
"acorn-private-methods": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/acorn-private-methods/-/acorn-private-methods-0.3.3.tgz",
|
||||
"integrity": "sha512-46oeEol3YFvLSah5m9hGMlNpxDBCEkdceJgf01AjqKYTK9r6HexKs2rgSbLK81pYjZZMonhftuUReGMlbbv05w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"acorn-private-class-elements": "^0.2.7"
|
||||
}
|
||||
},
|
||||
"acorn-stage3": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn-stage3/-/acorn-stage3-4.0.0.tgz",
|
||||
"integrity": "sha512-BR+LaADtA6GTB5prkNqWmlmCLYmkyW0whvSxdHhbupTaro2qBJ95fJDEiRLPUmiACGHPaYyeH9xmNJWdGfXRQw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"acorn-class-fields": "^0.3.7",
|
||||
"acorn-private-methods": "^0.3.3",
|
||||
"acorn-static-class-features": "^0.2.4"
|
||||
}
|
||||
},
|
||||
"acorn-static-class-features": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/acorn-static-class-features/-/acorn-static-class-features-0.2.4.tgz",
|
||||
"integrity": "sha512-5X4mpYq5J3pdndLmIB0+WtFd/mKWnNYpuTlTzj32wUu/PMmEGOiayQ5UrqgwdBNiaZBtDDh5kddpP7Yg2QaQYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"acorn-private-class-elements": "^0.2.7"
|
||||
}
|
||||
},
|
||||
"acorn-walk": {
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.2.tgz",
|
||||
|
@ -5487,8 +5607,7 @@
|
|||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
|
||||
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
"dev": true
|
||||
},
|
||||
"ansi-colors": {
|
||||
"version": "4.1.1",
|
||||
|
@ -5658,16 +5777,16 @@
|
|||
}
|
||||
},
|
||||
"browserslist": {
|
||||
"version": "4.16.3",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz",
|
||||
"integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==",
|
||||
"version": "4.16.4",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.4.tgz",
|
||||
"integrity": "sha512-d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"caniuse-lite": "^1.0.30001181",
|
||||
"colorette": "^1.2.1",
|
||||
"electron-to-chromium": "^1.3.649",
|
||||
"caniuse-lite": "^1.0.30001208",
|
||||
"colorette": "^1.2.2",
|
||||
"electron-to-chromium": "^1.3.712",
|
||||
"escalade": "^3.1.1",
|
||||
"node-releases": "^1.1.70"
|
||||
"node-releases": "^1.1.71"
|
||||
}
|
||||
},
|
||||
"buffer-from": {
|
||||
|
@ -5818,9 +5937,9 @@
|
|||
}
|
||||
},
|
||||
"copy-webpack-plugin": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.0.tgz",
|
||||
"integrity": "sha512-Soiq8kXI2AZkpw3dSp18u6oU2JonC7UKv3UdXsKOmT1A5QT46ku9+6c0Qy29JDbSavQJNN1/eKGpd3QNw+cZWg==",
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz",
|
||||
"integrity": "sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-glob": "^3.2.5",
|
||||
|
@ -5900,9 +6019,9 @@
|
|||
}
|
||||
},
|
||||
"css-loader": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.0.tgz",
|
||||
"integrity": "sha512-MfRo2MjEeLXMlUkeUwN71Vx5oc6EJnx5UQ4Yi9iUtYQvrPtwLUucYptz0hc6n++kdNcyF5olYBS4vPjJDAcLkw==",
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.1.tgz",
|
||||
"integrity": "sha512-YCyRzlt/jgG1xanXZDG/DHqAueOtXFHeusP9TS478oP1J++JSKOyEgGW1GHVoCj/rkS+GWOlBwqQJBr9yajQ9w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camelcase": "^6.2.0",
|
||||
|
@ -6055,9 +6174,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.3.711",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.711.tgz",
|
||||
"integrity": "sha512-XbklBVCDiUeho0PZQCjC25Ha6uBwqqJeyDhPLwLwfWRAo4x+FZFsmu1pPPkXT+B4MQMQoQULfyaMltDopfeiHQ==",
|
||||
"version": "1.3.713",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.713.tgz",
|
||||
"integrity": "sha512-HWgkyX4xTHmxcWWlvv7a87RHSINEcpKYZmDMxkUlHcY+CJcfx7xEfBHuXVsO1rzyYs1WQJ7EgDp2CoErakBIow==",
|
||||
"dev": true
|
||||
},
|
||||
"emoji-regex": {
|
||||
|
@ -6271,9 +6390,9 @@
|
|||
}
|
||||
},
|
||||
"fork-ts-checker-webpack-plugin": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.0.tgz",
|
||||
"integrity": "sha512-DTNbOhq6lRdjYprukX54JMeYJgQ0zMow+R5BMLwWxEX2NAXthIkwnV8DBmsWjwNLSUItKZM4TCCJbtgrtKBu2Q==",
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.1.tgz",
|
||||
"integrity": "sha512-Pyhn2kav/Y2g6I7aInABgcph/B78jjdXc4kGHzaAUBL4UVthknxM6aMH47JwpnuTJmdOuf6p5vMbIahsBHuWGg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.8.3",
|
||||
|
@ -6493,8 +6612,7 @@
|
|||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
|
||||
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
"dev": true
|
||||
},
|
||||
"ignore": {
|
||||
"version": "5.1.8",
|
||||
|
@ -6832,13 +6950,13 @@
|
|||
"dev": true
|
||||
},
|
||||
"micromatch": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
|
||||
"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
|
||||
"integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"braces": "^3.0.1",
|
||||
"picomatch": "^2.0.5"
|
||||
"picomatch": "^2.2.3"
|
||||
}
|
||||
},
|
||||
"mime": {
|
||||
|
@ -7112,9 +7230,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"picomatch": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
|
||||
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
|
||||
"integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
|
||||
"dev": true
|
||||
},
|
||||
"pify": {
|
||||
|
@ -7143,13 +7261,13 @@
|
|||
}
|
||||
},
|
||||
"postcss": {
|
||||
"version": "8.2.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.8.tgz",
|
||||
"integrity": "sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw==",
|
||||
"version": "8.2.10",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.10.tgz",
|
||||
"integrity": "sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"colorette": "^1.2.2",
|
||||
"nanoid": "^3.1.20",
|
||||
"nanoid": "^3.1.22",
|
||||
"source-map": "^0.6.1"
|
||||
},
|
||||
"dependencies": {
|
||||
|
@ -7162,9 +7280,9 @@
|
|||
}
|
||||
},
|
||||
"postcss-import": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.0.tgz",
|
||||
"integrity": "sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg==",
|
||||
"version": "14.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.1.tgz",
|
||||
"integrity": "sha512-Xn2+z++vWObbEPhiiKO1a78JiyhqipyrXHBb3AHpv0ks7Cdg+GxQQJ24ODNMTanldf7197gSP3axppO9yaG0lA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"postcss-value-parser": "^4.0.0",
|
||||
|
@ -7226,8 +7344,7 @@
|
|||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
|
||||
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
"dev": true
|
||||
},
|
||||
"postcss-modules-local-by-default": {
|
||||
"version": "4.0.0",
|
||||
|
@ -7784,9 +7901,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"ts-dedent": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.1.0.tgz",
|
||||
"integrity": "sha512-HbmrG+lCgk5W8LQTALxBxQRBDeAhQKRzdqVhHLUkVd5nYT+b6zDzbRMjiA8wqrWDa33X09WdnW4zEsdwQArTaw==",
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.1.1.tgz",
|
||||
"integrity": "sha512-riHuwnzAUCfdIeTBNUq7+Yj+ANnrMXo/7+Z74dIdudS7ys2k8aSGMzpJRMFDF7CLwUTbtvi1ZZff/Wl+XxmqIA==",
|
||||
"dev": true
|
||||
},
|
||||
"ts-loader": {
|
||||
|
@ -7961,8 +8078,7 @@
|
|||
"vuex": {
|
||||
"version": "3.6.2",
|
||||
"resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz",
|
||||
"integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==",
|
||||
"requires": {}
|
||||
"integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw=="
|
||||
},
|
||||
"watchpack": {
|
||||
"version": "2.1.1",
|
||||
|
@ -7975,9 +8091,9 @@
|
|||
}
|
||||
},
|
||||
"webpack": {
|
||||
"version": "5.28.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.28.0.tgz",
|
||||
"integrity": "sha512-1xllYVmA4dIvRjHzwELgW4KjIU1fW4PEuEnjsylz7k7H5HgPOctIq7W1jrt3sKH9yG5d72//XWzsHhfoWvsQVg==",
|
||||
"version": "5.31.2",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.31.2.tgz",
|
||||
"integrity": "sha512-0bCQe4ybo7T5Z0SC5axnIAH+1WuIdV4FwLYkaAlLtvfBhIx8bPS48WHTfiRZS1VM+pSiYt7e/rgLs3gLrH82lQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/eslint-scope": "^3.7.0",
|
||||
|
@ -8168,8 +8284,7 @@
|
|||
"version": "7.4.4",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
|
||||
"integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
"dev": true
|
||||
},
|
||||
"xmlbuilder": {
|
||||
"version": "9.0.7",
|
||||
|
|
Loading…
Reference in a new issue