From 2b0df8c2375ec5f9afe43207807e999bcc693d21 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 19 Jul 2022 22:55:38 +0200 Subject: [PATCH 01/78] feat: add basic implementation of ganttastic --- package.json | 1 + src/components/tasks/gantt-chart.vue | 118 +++++++++++++++++++++++++++ src/views/list/ListGantt.vue | 4 +- 3 files changed, 121 insertions(+), 2 deletions(-) create mode 100644 src/components/tasks/gantt-chart.vue diff --git a/package.json b/package.json index 4fe8c66c4..222fc7d26 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@fortawesome/free-solid-svg-icons": "6.2.0", "@fortawesome/vue-fontawesome": "3.0.1", "@github/hotkey": "2.0.1", + "@infectoone/vue-ganttastic": "^2.0.4", "@kyvg/vue3-notification": "2.4.1", "@sentry/tracing": "7.17.0", "@sentry/vue": "7.17.0", diff --git a/src/components/tasks/gantt-chart.vue b/src/components/tasks/gantt-chart.vue new file mode 100644 index 000000000..af88fa378 --- /dev/null +++ b/src/components/tasks/gantt-chart.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/src/views/list/ListGantt.vue b/src/views/list/ListGantt.vue index 12ab6e952..e3bdc9f07 100644 --- a/src/views/list/ListGantt.vue +++ b/src/views/list/ListGantt.vue @@ -49,7 +49,7 @@ + + + + diff --git a/src/components/misc/loading.vue b/src/components/misc/loading.vue index 6cc001a0c..9607ca3cf 100644 --- a/src/components/misc/loading.vue +++ b/src/components/misc/loading.vue @@ -2,6 +2,12 @@
+ + \ No newline at end of file From 407f5f2ef8c4759ea46f5fb74717bafb16f606c5 Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Wed, 19 Oct 2022 15:39:03 +0200 Subject: [PATCH 61/78] fix: initial transformation of ganttBars --- src/components/tasks/gantt-chart.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/tasks/gantt-chart.vue b/src/components/tasks/gantt-chart.vue index 1d87e679e..5cc53fd3d 100644 --- a/src/components/tasks/gantt-chart.vue +++ b/src/components/tasks/gantt-chart.vue @@ -109,7 +109,7 @@ watch( ganttBars.value = [] tasks.value.forEach(t => ganttBars.value.push(transformTaskToGanttBar(t))) }, - {deep: true}, + {deep: true, immediate: true}, ) function transformTaskToGanttBar(t: ITask) { From acb3ddc73fd7a8240d42774c80c68b5a725c3734 Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Wed, 19 Oct 2022 15:40:32 +0200 Subject: [PATCH 62/78] feat: use PascalCase for component name --- src/components/tasks/{gantt-chart.vue => GanttChart.vue} | 0 src/views/list/ListGantt.vue | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename src/components/tasks/{gantt-chart.vue => GanttChart.vue} (100%) diff --git a/src/components/tasks/gantt-chart.vue b/src/components/tasks/GanttChart.vue similarity index 100% rename from src/components/tasks/gantt-chart.vue rename to src/components/tasks/GanttChart.vue diff --git a/src/views/list/ListGantt.vue b/src/views/list/ListGantt.vue index 9534968c6..7eb5ae737 100644 --- a/src/views/list/ListGantt.vue +++ b/src/views/list/ListGantt.vue @@ -64,7 +64,7 @@ import type {ITask} from '@/modelTypes/ITask' type Options = Flatpickr.Options.Options -const GanttChart = createAsyncComponent(() => import('@/components/tasks/gantt-chart.vue')) +const GanttChart = createAsyncComponent(() => import('@/components/tasks/GanttChart.vue')) const props = defineProps<{route: RouteLocationNormalized}>() From 51dc123d893517a30c2dbb26a68e877b493ec95e Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Wed, 19 Oct 2022 16:48:26 +0200 Subject: [PATCH 63/78] feat: use ref for filters --- src/composables/useRouteFilter.ts | 22 +++++++++--------- src/views/list/ListGantt.vue | 10 ++++---- src/views/list/helpers/useGanttFilter.ts | 10 ++++---- src/views/list/helpers/useGanttTaskList.ts | 27 ++++++++++++++++------ 4 files changed, 42 insertions(+), 27 deletions(-) diff --git a/src/composables/useRouteFilter.ts b/src/composables/useRouteFilter.ts index a9daf1c5f..abcd1f03a 100644 --- a/src/composables/useRouteFilter.ts +++ b/src/composables/useRouteFilter.ts @@ -1,4 +1,4 @@ -import {reactive, watch, type Ref} from 'vue' +import {computed, ref, watch, type Ref} from 'vue' import {useRouter, type RouteLocationNormalized, type RouteLocationRaw} from 'vue-router' import cloneDeep from 'lodash.clonedeep' @@ -11,26 +11,26 @@ export function useRouteFilter( ) { const router = useRouter() - const filters: F = reactive(routeToFilter(route.value)) + const filters = ref(routeToFilter(route.value)) + + const routeFromFiltersFullPath = computed(() => router.resolve(filterToRoute(filters.value)).fullPath) watch(() => cloneDeep(route.value), (route, oldRoute) => { - if (route.name !== oldRoute.name) { - return - } - const filterFullPath = router.resolve(filterToRoute(filters)).fullPath - if (filterFullPath === route.fullPath) { + if ( + route.name !== oldRoute.name || + routeFromFiltersFullPath.value === route.fullPath + ) { return } - Object.assign(filters, routeToFilter(route)) + filters.value = routeToFilter(route) }) watch( filters, async () => { - const newRouteFullPath = router.resolve(filterToRoute(filters)).fullPath - if (newRouteFullPath !== route.value.fullPath) { - await router.push(newRouteFullPath) + if (routeFromFiltersFullPath.value !== route.value.fullPath) { + await router.push(routeFromFiltersFullPath.value) } }, // only apply new route after all filters have changed in component cycle diff --git a/src/views/list/ListGantt.vue b/src/views/list/ListGantt.vue index 7eb5ae737..253a7ffdb 100644 --- a/src/views/list/ListGantt.vue +++ b/src/views/list/ListGantt.vue @@ -87,7 +87,7 @@ const defaultTaskEndDate: DateISO = new Date(today.getFullYear(), today.getMonth async function addGanttTask(title: ITask['title']) { return await addTask({ title, - listId: filters.listId, + listId: filters.value.listId, startDate: defaultTaskStartDate, endDate: defaultTaskEndDate, }) @@ -96,8 +96,8 @@ async function addGanttTask(title: ITask['title']) { const flatPickerEl = ref(null) const flatPickerDateRange = computed({ get: () => ([ - new Date(filters.dateFrom), - new Date(filters.dateTo), + new Date(filters.value.dateFrom), + new Date(filters.value.dateTo), ]), set(newVal) { const [dateFrom, dateTo] = newVal.map((date) => date?.toISOString()) @@ -105,11 +105,11 @@ const flatPickerDateRange = computed({ // only set after whole range has been selected if (!dateTo) return - Object.assign(filters, {dateFrom, dateTo}) + Object.assign(filters.value, {dateFrom, dateTo}) }, }) -const initialDateRange = [filters.dateFrom, filters.dateTo] +const initialDateRange = [filters.value.dateFrom, filters.value.dateTo] const {t} = useI18n({useScope: 'global'}) const authStore = useAuthStore() diff --git a/src/views/list/helpers/useGanttFilter.ts b/src/views/list/helpers/useGanttFilter.ts index 9268c903c..87286ff03 100644 --- a/src/views/list/helpers/useGanttFilter.ts +++ b/src/views/list/helpers/useGanttFilter.ts @@ -36,7 +36,8 @@ function getDefaultDateTo() { return new Date(now.getFullYear(), now.getMonth(), now.getDate() + DEFAULT_DATETO_DAY_OFFSET).toISOString() } -function routeToFilter(route: RouteLocationNormalized): GanttFilter { +// FIXME: use zod for this +function ganttRouteToFilter(route: RouteLocationNormalized): GanttFilter { return { listId: Number(route.params.listId as string), dateFrom: parseDateProp(route.query.dateFrom as DateKebab) || getDefaultDateFrom(), @@ -45,7 +46,8 @@ function routeToFilter(route: RouteLocationNormalized): GanttFilter { } } -function filterToRoute(filters: GanttFilter): RouteLocationRaw { +// FIXME: use zod for this +function ganttFilterToRoute(filters: GanttFilter): RouteLocationRaw { let query: Record = {} if ( filters.dateFrom !== getDefaultDateFrom() || @@ -80,8 +82,8 @@ function ganttFiltersToApiParams(filters: GanttFilter): GetAllTasksParams { } } -export function useGanttFilter(route: Ref) { - const {filters} = useRouteFilter(route, routeToFilter, filterToRoute) +export function useGanttFilter(route: Ref): ReturnType & ReturnType { + const {filters} = useRouteFilter(route, ganttRouteToFilter, ganttFilterToRoute) const { tasks, diff --git a/src/views/list/helpers/useGanttTaskList.ts b/src/views/list/helpers/useGanttTaskList.ts index 2ba854273..55faf29d0 100644 --- a/src/views/list/helpers/useGanttTaskList.ts +++ b/src/views/list/helpers/useGanttTaskList.ts @@ -1,10 +1,10 @@ -import {computed, ref, shallowReactive, watchEffect} from 'vue' +import {computed, ref, shallowReactive, watch, type Ref} from 'vue' import cloneDeep from 'lodash.clonedeep' import type {Filter} from '@/composables/useRouteFilter' import type {ITask, ITaskPartialWithId} from '@/modelTypes/ITask' -import TaskCollectionService, { type GetAllTasksParams } from '@/services/taskCollection' +import TaskCollectionService, {type GetAllTasksParams} from '@/services/taskCollection' import TaskService from '@/services/task' import TaskModel from '@/models/task' @@ -12,7 +12,7 @@ import {error, success} from '@/message' // FIXME: unify with general `useTaskList` export function useGanttTaskList( - filters: F, + filters: Ref, filterToApiParams: (filters: F) => GetAllTasksParams, options: { loadAll?: boolean, @@ -27,7 +27,7 @@ export function useGanttTaskList( const tasks = ref>(new Map()) async function fetchTasks(params: GetAllTasksParams, page = 1): Promise { - const tasks = await taskCollectionService.getAll({listId: filters.listId}, params, page) as ITask[] + const tasks = await taskCollectionService.getAll({listId: filters.value.listId}, params, page) as ITask[] if (options.loadAll && page < taskCollectionService.totalPages) { const nextTasks = await fetchTasks(params, page + 1) return tasks.concat(nextTasks) @@ -35,15 +35,26 @@ export function useGanttTaskList( return tasks } - async function loadTasks(filters: F) { - const params: GetAllTasksParams = filterToApiParams(filters) + /** + * Load and assign new tasks + * Normally there is no need to trigger this manually + */ + async function loadTasks() { + const params: GetAllTasksParams = filterToApiParams(filters.value) const loadedTasks = await fetchTasks(params) tasks.value = new Map() loadedTasks.forEach(t => tasks.value.set(t.id, t)) } - watchEffect(() => loadTasks(filters)) + /** + * Load tasks when filters change + */ + watch( + filters, + () => loadTasks(), + {immediate: true, deep: true}, + ) async function addTask(task: Partial) { const newTask = await taskService.create(new TaskModel({...task})) @@ -83,6 +94,8 @@ export function useGanttTaskList( tasks, isLoading, + loadTasks, + addTask, updateTask, } From 8dea4082bb0766297f74acef0352f8a6a6168d3c Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Mon, 24 Oct 2022 15:40:39 +0200 Subject: [PATCH 64/78] fix: parseBooleanProp --- src/helpers/time/parseBooleanProp.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/helpers/time/parseBooleanProp.ts b/src/helpers/time/parseBooleanProp.ts index 1407fe4e1..b43ecac59 100644 --- a/src/helpers/time/parseBooleanProp.ts +++ b/src/helpers/time/parseBooleanProp.ts @@ -1,5 +1,5 @@ -export function parseBooleanProp(booleanProp: string) { +export function parseBooleanProp(booleanProp: string | undefined) { return (booleanProp === 'false' || booleanProp === '0') ? false - : Boolean(booleanProp) + : Boolean(booleanProp) } \ No newline at end of file From cf0eaf9ba1816b610ba1cbc9b4a6c661f00f61a5 Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Mon, 24 Oct 2022 15:41:05 +0200 Subject: [PATCH 65/78] chore: don't pass other params to ListGantt than route --- src/router/index.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index f2db4531e..9a00995e9 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -379,13 +379,8 @@ const router = createRouter({ name: 'list.gantt', component: ListGantt, beforeEnter: (to) => saveListView(to.params.listId, to.name), - props: route => ({ - listId: Number(route.params.listId as string), - dateFrom: route.query.dateFrom as string, - dateTo: route.query.dateTo as string, - showTasksWithoutDates: Boolean(route.query.showTasksWithoutDates), - route, - }), + // FIXME: test if `useRoute` would be the same. If it would use it instead. + props: route => ({route}), }, { path: '/lists/:listId/table', From 6bf6357cbd281fa5b99b7aae9845fee90c758ae7 Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Mon, 24 Oct 2022 15:51:16 +0200 Subject: [PATCH 66/78] feat: use plural for filters consequently --- src/components/tasks/GanttChart.vue | 4 +-- .../{useRouteFilter.ts => useRouteFilters.ts} | 14 ++++---- src/views/list/ListGantt.vue | 4 +-- .../{useGanttFilter.ts => useGanttFilters.ts} | 36 ++++++++++++------- src/views/list/helpers/useGanttTaskList.ts | 4 +-- 5 files changed, 36 insertions(+), 26 deletions(-) rename src/composables/{useRouteFilter.ts => useRouteFilters.ts} (67%) rename src/views/list/helpers/{useGanttFilter.ts => useGanttFilters.ts} (65%) diff --git a/src/components/tasks/GanttChart.vue b/src/components/tasks/GanttChart.vue index 5cc53fd3d..1671aaddf 100644 --- a/src/components/tasks/GanttChart.vue +++ b/src/components/tasks/GanttChart.vue @@ -52,7 +52,7 @@ import {parseKebabDate} from '@/helpers/time/parseKebabDate' import type {ITask, ITaskPartialWithId} from '@/modelTypes/ITask' import type {DateISO} from '@/types/DateISO' -import type {GanttFilter} from '@/views/list/helpers/useGanttFilter' +import type {GanttFilters} from '@/views/list/helpers/useGanttFilters' import { extendDayjs, @@ -66,7 +66,7 @@ import {MILLISECONDS_A_DAY} from '@/constants/date' export interface GanttChartProps { isLoading: boolean, - filters: GanttFilter, + filters: GanttFilters, tasks: Map, defaultTaskStartDate: DateISO defaultTaskEndDate: DateISO diff --git a/src/composables/useRouteFilter.ts b/src/composables/useRouteFilters.ts similarity index 67% rename from src/composables/useRouteFilter.ts rename to src/composables/useRouteFilters.ts index abcd1f03a..dc25ad012 100644 --- a/src/composables/useRouteFilter.ts +++ b/src/composables/useRouteFilters.ts @@ -2,18 +2,18 @@ import {computed, ref, watch, type Ref} from 'vue' import {useRouter, type RouteLocationNormalized, type RouteLocationRaw} from 'vue-router' import cloneDeep from 'lodash.clonedeep' -export type Filter = Record +export type Filters = Record -export function useRouteFilter( +export function useRouteFilters( route: Ref, - routeToFilter: (route: RouteLocationNormalized) => F, - filterToRoute: (filter: F) => RouteLocationRaw, + routeToFilters: (route: RouteLocationNormalized) => CurrentFilters, + filtersToRoute: (filters: CurrentFilters) => RouteLocationRaw, ) { const router = useRouter() - const filters = ref(routeToFilter(route.value)) + const filters = ref(routeToFilters(route.value)) - const routeFromFiltersFullPath = computed(() => router.resolve(filterToRoute(filters.value)).fullPath) + const routeFromFiltersFullPath = computed(() => router.resolve(filtersToRoute(filters.value)).fullPath) watch(() => cloneDeep(route.value), (route, oldRoute) => { if ( @@ -23,7 +23,7 @@ export function useRouteFilter( return } - filters.value = routeToFilter(route) + filters.value = routeToFilters(route) }) watch( diff --git a/src/views/list/ListGantt.vue b/src/views/list/ListGantt.vue index 253a7ffdb..362beb685 100644 --- a/src/views/list/ListGantt.vue +++ b/src/views/list/ListGantt.vue @@ -56,7 +56,7 @@ import Fancycheckbox from '@/components/input/fancycheckbox.vue' import TaskForm from '@/components/tasks/TaskForm.vue' import {createAsyncComponent} from '@/helpers/createAsyncComponent' -import {useGanttFilter} from './helpers/useGanttFilter' +import {useGanttFilters} from './helpers/useGanttFilters' import {RIGHTS} from '@/constants/rights' import type {DateISO} from '@/types/DateISO' @@ -78,7 +78,7 @@ const { isLoading, addTask, updateTask, -} = useGanttFilter(route) +} = useGanttFilters(route) const today = new Date(new Date().setHours(0,0,0,0)) const defaultTaskStartDate: DateISO = new Date(today).toISOString() diff --git a/src/views/list/helpers/useGanttFilter.ts b/src/views/list/helpers/useGanttFilters.ts similarity index 65% rename from src/views/list/helpers/useGanttFilter.ts rename to src/views/list/helpers/useGanttFilters.ts index 87286ff03..86f63cd13 100644 --- a/src/views/list/helpers/useGanttFilter.ts +++ b/src/views/list/helpers/useGanttFilters.ts @@ -4,7 +4,7 @@ import type {RouteLocationNormalized, RouteLocationRaw} from 'vue-router' import {isoToKebabDate} from '@/helpers/time/isoToKebabDate' import {parseDateProp} from '@/helpers/time/parseDateProp' import {parseBooleanProp} from '@/helpers/time/parseBooleanProp' -import {useRouteFilter} from '@/composables/useRouteFilter' +import {useRouteFilters} from '@/composables/useRouteFilters' import {useGanttTaskList} from './useGanttTaskList' import type {IList} from '@/modelTypes/IList' @@ -14,7 +14,7 @@ import type {DateISO} from '@/types/DateISO' import type {DateKebab} from '@/types/DateKebab' // convenient internal filter object -export interface GanttFilter { +export interface GanttFilters { listId: IList['id'] dateFrom: DateISO dateTo: DateISO @@ -37,17 +37,18 @@ function getDefaultDateTo() { } // FIXME: use zod for this -function ganttRouteToFilter(route: RouteLocationNormalized): GanttFilter { +function ganttRouteToFilters(route: Partial): GanttFilters { + const ganttRoute = route return { - listId: Number(route.params.listId as string), - dateFrom: parseDateProp(route.query.dateFrom as DateKebab) || getDefaultDateFrom(), - dateTo: parseDateProp(route.query.dateTo as DateKebab) || getDefaultDateTo(), - showTasksWithoutDates: parseBooleanProp(route.query.showTasksWithoutDates as string) || DEFAULT_SHOW_TASKS_WITHOUT_DATES, + listId: Number(ganttRoute.params?.listId), + dateFrom: parseDateProp(ganttRoute.query?.dateFrom as DateKebab) || getDefaultDateFrom(), + dateTo: parseDateProp(ganttRoute.query?.dateTo as DateKebab) || getDefaultDateTo(), + showTasksWithoutDates: parseBooleanProp(ganttRoute.query?.showTasksWithoutDates as string) || DEFAULT_SHOW_TASKS_WITHOUT_DATES, } } // FIXME: use zod for this -function ganttFilterToRoute(filters: GanttFilter): RouteLocationRaw { +function ganttFiltersToRoute(filters: GanttFilters): RouteLocationRaw { let query: Record = {} if ( filters.dateFrom !== getDefaultDateFrom() || @@ -70,7 +71,7 @@ function ganttFilterToRoute(filters: GanttFilter): RouteLocationRaw { } } -function ganttFiltersToApiParams(filters: GanttFilter): GetAllTasksParams { +function ganttFiltersToApiParams(filters: GanttFilters): GetAllTasksParams { return { sort_by: ['start_date', 'done', 'id'], order_by: ['asc', 'asc', 'desc'], @@ -82,22 +83,31 @@ function ganttFiltersToApiParams(filters: GanttFilter): GetAllTasksParams { } } -export function useGanttFilter(route: Ref): ReturnType & ReturnType { - const {filters} = useRouteFilter(route, ganttRouteToFilter, ganttFilterToRoute) +export type UseGanttFiltersReturn = ReturnType & ReturnType + +export function useGanttFilters(route: Ref): UseGanttFiltersReturn { + const { + filters, + } = useRouteFilters( + route, + ganttRouteToFilters, + ganttFiltersToRoute + ) const { tasks, + loadTasks, isLoading, addTask, updateTask, - } = useGanttTaskList(filters, ganttFiltersToApiParams) - + } = useGanttTaskList(filters, ganttFiltersToApiParams) return { filters, tasks, + loadTasks, isLoading, addTask, diff --git a/src/views/list/helpers/useGanttTaskList.ts b/src/views/list/helpers/useGanttTaskList.ts index 55faf29d0..df4080066 100644 --- a/src/views/list/helpers/useGanttTaskList.ts +++ b/src/views/list/helpers/useGanttTaskList.ts @@ -1,7 +1,7 @@ import {computed, ref, shallowReactive, watch, type Ref} from 'vue' import cloneDeep from 'lodash.clonedeep' -import type {Filter} from '@/composables/useRouteFilter' +import type {Filters} from '@/composables/useRouteFilters' import type {ITask, ITaskPartialWithId} from '@/modelTypes/ITask' import TaskCollectionService, {type GetAllTasksParams} from '@/services/taskCollection' @@ -11,7 +11,7 @@ import TaskModel from '@/models/task' import {error, success} from '@/message' // FIXME: unify with general `useTaskList` -export function useGanttTaskList( +export function useGanttTaskList( filters: Ref, filterToApiParams: (filters: F) => GetAllTasksParams, options: { From 52d4d0bdb9b7f10c77532c1fe99bbeee93cf54aa Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Mon, 24 Oct 2022 15:51:50 +0200 Subject: [PATCH 67/78] feat(gantt): reset gantt filter --- package.json | 1 + pnpm-lock.yaml | 1332 +++++++++++---------- src/composables/useRouteFilters.ts | 12 + src/views/list/ListGantt.vue | 8 + src/views/list/helpers/useGanttFilters.ts | 9 + 5 files changed, 706 insertions(+), 656 deletions(-) diff --git a/package.json b/package.json index e94807740..9130797eb 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "dayjs": "^1.11.5", "dompurify": "2.4.0", "easymde": "2.18.0", + "fast-deep-equal": "^3.1.3", "flatpickr": "4.6.13", "flexsearch": "0.7.21", "floating-vue": "2.0.0-beta.20", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d44ef0130..41571fdcc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,87 +2,87 @@ lockfileVersion: 5.4 specifiers: '@4tw/cypress-drag-drop': 2.2.1 - '@cypress/vite-dev-server': 3.3.1 - '@cypress/vue': 4.2.1 - '@faker-js/faker': 7.6.0 + '@cypress/vite-dev-server': 3.2.0 + '@cypress/vue': 4.2.0 + '@faker-js/faker': 7.5.0 '@fortawesome/fontawesome-svg-core': 6.2.0 '@fortawesome/free-regular-svg-icons': 6.2.0 '@fortawesome/free-solid-svg-icons': 6.2.0 '@fortawesome/vue-fontawesome': 3.0.1 '@github/hotkey': 2.0.1 - '@infectoone/vue-ganttastic': 2.1.2 + '@infectoone/vue-ganttastic': ./vendor/infectoone-vue-ganttastic-2.1.1.tgz '@kyvg/vue3-notification': 2.4.1 '@rushstack/eslint-patch': 1.2.0 - '@sentry/tracing': 7.16.0 - '@sentry/vue': 7.16.0 + '@sentry/tracing': 7.14.1 + '@sentry/vue': 7.14.1 '@types/dompurify': 2.3.4 '@types/flexsearch': 0.7.3 '@types/is-touch-device': 1.0.0 '@types/lodash.clonedeep': 4.5.7 '@types/lodash.debounce': 4.0.7 '@types/marked': 4.0.7 - '@types/node': 16.11.68 - '@types/postcss-preset-env': 7.7.0 + '@types/node': 16.11.64 '@types/sortablejs': 1.15.0 - '@typescript-eslint/eslint-plugin': 5.40.1 - '@typescript-eslint/parser': 5.40.1 + '@typescript-eslint/eslint-plugin': 5.39.0 + '@typescript-eslint/parser': 5.39.0 '@vitejs/plugin-legacy': 2.2.0 '@vitejs/plugin-vue': 3.1.2 '@vue/eslint-config-typescript': 11.0.2 '@vue/test-utils': 2.1.0 '@vue/tsconfig': 0.1.3 - '@vueuse/core': 9.3.1 - '@vueuse/router': 9.3.1 + '@vueuse/core': 9.3.0 + '@vueuse/router': 9.3.0 autoprefixer: 10.4.12 axios: 0.27.2 blurhash: 2.0.3 browserslist: 4.21.4 bulma-css-variables: 0.9.33 camel-case: 4.1.2 - caniuse-lite: 1.0.30001420 + caniuse-lite: 1.0.30001414 codemirror: 5.65.9 - cypress: 10.10.0 + cypress: 10.9.0 date-fns: 2.29.3 dayjs: ^1.11.5 dompurify: 2.4.0 easymde: 2.18.0 - esbuild: 0.15.12 - eslint: 8.26.0 + esbuild: 0.15.10 + eslint: 8.24.0 eslint-plugin-vue: 9.6.0 - express: 4.18.2 + express: 4.18.1 + fast-deep-equal: ^3.1.3 flatpickr: 4.6.13 flexsearch: 0.7.21 floating-vue: 2.0.0-beta.20 - happy-dom: 7.5.12 + happy-dom: 6.0.4 highlight.js: 11.6.0 is-touch-device: 1.0.1 lodash.clonedeep: 4.5.0 lodash.debounce: 4.0.8 marked: 4.1.1 - minimist: 1.2.7 - netlify-cli: 12.0.9 - pinia: 2.0.23 - postcss: 8.4.18 + minimist: 1.2.6 + netlify-cli: 12.0.2 + pinia: 2.0.22 + postcss: 8.4.17 postcss-preset-env: 7.8.2 register-service-worker: 1.7.2 - rollup: 3.2.3 - rollup-plugin-visualizer: 5.8.3 + rollup: 2.79.1 + rollup-plugin-visualizer: 5.8.2 sass: 1.55.0 snake-case: 3.0.4 sortablejs: 1.15.0 typescript: 4.8.4 - ufo: 0.8.6 + ufo: 0.8.5 vite: 3.1.8 vite-plugin-pwa: 0.13.1 vite-svg-loader: 3.6.0 - vitest: 0.24.3 + vitest: 0.23.4 vue: 3.2.41 vue-advanced-cropper: 2.8.6 vue-drag-resize: 2.0.3 - vue-flatpickr-component: 10.0.0 + vue-flatpickr-component: 9.0.8 vue-i18n: 9.2.2 vue-router: 4.1.5 - vue-tsc: 1.0.9 + vue-tsc: 1.0.8 wait-on: 6.0.1 workbox-cli: 6.5.4 workbox-precaching: 6.5.4 @@ -94,15 +94,15 @@ dependencies: '@fortawesome/free-solid-svg-icons': 6.2.0 '@fortawesome/vue-fontawesome': 3.0.1_lteq7vqmz6gtgcgatkvrcm56su '@github/hotkey': 2.0.1 - '@infectoone/vue-ganttastic': 2.1.2_dayjs@1.11.5+vue@3.2.41 + '@infectoone/vue-ganttastic': file:vendor/infectoone-vue-ganttastic-2.1.1.tgz_dayjs@1.11.5+vue@3.2.41 '@kyvg/vue3-notification': 2.4.1_vue@3.2.41 - '@sentry/tracing': 7.16.0 - '@sentry/vue': 7.16.0_vue@3.2.41 + '@sentry/tracing': 7.14.1 + '@sentry/vue': 7.14.1_vue@3.2.41 '@types/is-touch-device': 1.0.0 '@types/lodash.clonedeep': 4.5.7 '@types/sortablejs': 1.15.0 - '@vueuse/core': 9.3.1_vue@3.2.41 - '@vueuse/router': 9.3.1_4g567gsol3fv3jos66rjdswwp4 + '@vueuse/core': 9.3.0_vue@3.2.41 + '@vueuse/router': 9.3.0_4g567gsol3fv3jos66rjdswwp4 axios: 0.27.2 blurhash: 2.0.3 bulma-css-variables: 0.9.33 @@ -112,6 +112,7 @@ dependencies: dayjs: 1.11.5 dompurify: 2.4.0 easymde: 2.18.0 + fast-deep-equal: 3.1.3 flatpickr: 4.6.13 flexsearch: 0.7.21 floating-vue: 2.0.0-beta.20_vue@3.2.41 @@ -120,72 +121,71 @@ dependencies: lodash.clonedeep: 4.5.0 lodash.debounce: 4.0.8 marked: 4.1.1 - minimist: 1.2.7 - pinia: 2.0.23_l7r24p6nevbtlimqmqcwa3ouhu + minimist: 1.2.6 + pinia: 2.0.22_l7r24p6nevbtlimqmqcwa3ouhu register-service-worker: 1.7.2 snake-case: 3.0.4 sortablejs: 1.15.0 - ufo: 0.8.6 + ufo: 0.8.5 vue: 3.2.41 vue-advanced-cropper: 2.8.6_vue@3.2.41 vue-drag-resize: 2.0.3 - vue-flatpickr-component: 10.0.0_vue@3.2.41 + vue-flatpickr-component: 9.0.8_vue@3.2.41 vue-i18n: 9.2.2_vue@3.2.41 vue-router: 4.1.5_vue@3.2.41 workbox-precaching: 6.5.4 zhyswan-vuedraggable: 4.1.3_vue@3.2.41 devDependencies: - '@4tw/cypress-drag-drop': 2.2.1_cypress@10.10.0 - '@cypress/vite-dev-server': 3.3.1 - '@cypress/vue': 4.2.1_cypress@10.10.0+vue@3.2.41 - '@faker-js/faker': 7.6.0 + '@4tw/cypress-drag-drop': 2.2.1_cypress@10.9.0 + '@cypress/vite-dev-server': 3.2.0 + '@cypress/vue': 4.2.0_cypress@10.9.0+vue@3.2.41 + '@faker-js/faker': 7.5.0 '@rushstack/eslint-patch': 1.2.0 '@types/dompurify': 2.3.4 '@types/flexsearch': 0.7.3 '@types/lodash.debounce': 4.0.7 '@types/marked': 4.0.7 - '@types/node': 16.11.68 - '@types/postcss-preset-env': 7.7.0 - '@typescript-eslint/eslint-plugin': 5.40.1_c4zyna56jjjrggqkyejnaxjxfu - '@typescript-eslint/parser': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m + '@types/node': 16.11.64 + '@typescript-eslint/eslint-plugin': 5.39.0_xyciw6oqjoiiono4dhv3uhn5my + '@typescript-eslint/parser': 5.39.0_ypn2ylkkyfa5i233caldtndbqa '@vitejs/plugin-legacy': 2.2.0_terser@5.15.1+vite@3.1.8 '@vitejs/plugin-vue': 3.1.2_vite@3.1.8+vue@3.2.41 - '@vue/eslint-config-typescript': 11.0.2_dssioqymv64e7t7ogoe3tncpcu + '@vue/eslint-config-typescript': 11.0.2_vnnms2vwgxhb7jv3u2ncwd7xzm '@vue/test-utils': 2.1.0_vue@3.2.41 - '@vue/tsconfig': 0.1.3_@types+node@16.11.68 - autoprefixer: 10.4.12_postcss@8.4.18 + '@vue/tsconfig': 0.1.3_@types+node@16.11.64 + autoprefixer: 10.4.12_postcss@8.4.17 browserslist: 4.21.4 - caniuse-lite: 1.0.30001420 - cypress: 10.10.0 - esbuild: 0.15.12 - eslint: 8.26.0 - eslint-plugin-vue: 9.6.0_eslint@8.26.0 - express: 4.18.2 - happy-dom: 7.5.12 - netlify-cli: 12.0.9_@types+node@16.11.68 - postcss: 8.4.18 - postcss-preset-env: 7.8.2_postcss@8.4.18 - rollup: 3.2.3 - rollup-plugin-visualizer: 5.8.3_rollup@3.2.3 + caniuse-lite: 1.0.30001414 + cypress: 10.9.0 + esbuild: 0.15.10 + eslint: 8.24.0 + eslint-plugin-vue: 9.6.0_eslint@8.24.0 + express: 4.18.1 + happy-dom: 6.0.4 + netlify-cli: 12.0.2 + postcss: 8.4.17 + postcss-preset-env: 7.8.2_postcss@8.4.17 + rollup: 2.79.1 + rollup-plugin-visualizer: 5.8.2_rollup@2.79.1 sass: 1.55.0 typescript: 4.8.4 vite: 3.1.8_sass@1.55.0+terser@5.15.1 vite-plugin-pwa: 0.13.1_2txo4viysstjrz5b6oxcrxybay vite-svg-loader: 3.6.0 - vitest: 0.24.3_idc3y7eafdr75rmzzpi7yuxo5u - vue-tsc: 1.0.9_typescript@4.8.4 + vitest: 0.23.4_k3tqzgv3vrnpmbq3o6ks4hg4vi + vue-tsc: 1.0.8_typescript@4.8.4 wait-on: 6.0.1 workbox-cli: 6.5.4 packages: - /@4tw/cypress-drag-drop/2.2.1_cypress@10.10.0: + /@4tw/cypress-drag-drop/2.2.1_cypress@10.9.0: resolution: {integrity: sha512-+ioJSnEwx70IiMyb4pLEjOS5u6AMWRIVCV20toCY7lb0YcvA0ipbjQBa9DdxEI7Zg2E2jtcIj7Rx0e3WNUbk/w==} peerDependencies: cypress: ^2.1.0 || ^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 dependencies: - cypress: 10.10.0 + cypress: 10.9.0 dev: true /@ampproject/remapping/2.2.0: @@ -1411,158 +1411,158 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@csstools/postcss-cascade-layers/1.1.1_postcss@8.4.18: + /@csstools/postcss-cascade-layers/1.1.1_postcss@8.4.17: resolution: {integrity: sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.0.2_dvkg4kkb622mvceygg47xxdz3a - postcss: 8.4.18 + '@csstools/selector-specificity': 2.0.2_zurzgjffv23ohtxa7nq7nizuja + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true - /@csstools/postcss-color-function/1.1.1_postcss@8.4.18: + /@csstools/postcss-color-function/1.1.1_postcss@8.4.17: resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.18 - postcss: 8.4.18 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.17 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-font-format-keywords/1.0.1_postcss@8.4.18: + /@csstools/postcss-font-format-keywords/1.0.1_postcss@8.4.17: resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-hwb-function/1.0.2_postcss@8.4.18: + /@csstools/postcss-hwb-function/1.0.2_postcss@8.4.17: resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-ic-unit/1.0.1_postcss@8.4.18: + /@csstools/postcss-ic-unit/1.0.1_postcss@8.4.17: resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.18 - postcss: 8.4.18 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.17 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-is-pseudo-class/2.0.7_postcss@8.4.18: + /@csstools/postcss-is-pseudo-class/2.0.7_postcss@8.4.17: resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.0.2_dvkg4kkb622mvceygg47xxdz3a - postcss: 8.4.18 + '@csstools/selector-specificity': 2.0.2_zurzgjffv23ohtxa7nq7nizuja + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true - /@csstools/postcss-nested-calc/1.0.0_postcss@8.4.18: + /@csstools/postcss-nested-calc/1.0.0_postcss@8.4.17: resolution: {integrity: sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-normalize-display-values/1.0.1_postcss@8.4.18: + /@csstools/postcss-normalize-display-values/1.0.1_postcss@8.4.17: resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-oklab-function/1.1.1_postcss@8.4.18: + /@csstools/postcss-oklab-function/1.1.1_postcss@8.4.17: resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.18 - postcss: 8.4.18 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.17 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-progressive-custom-properties/1.3.0_postcss@8.4.18: + /@csstools/postcss-progressive-custom-properties/1.3.0_postcss@8.4.17: resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-stepped-value-functions/1.0.1_postcss@8.4.18: + /@csstools/postcss-stepped-value-functions/1.0.1_postcss@8.4.17: resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-text-decoration-shorthand/1.0.0_postcss@8.4.18: + /@csstools/postcss-text-decoration-shorthand/1.0.0_postcss@8.4.17: resolution: {integrity: sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-trigonometric-functions/1.0.2_postcss@8.4.18: + /@csstools/postcss-trigonometric-functions/1.0.2_postcss@8.4.17: resolution: {integrity: sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==} engines: {node: ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-unset-value/1.0.2_postcss@8.4.18: + /@csstools/postcss-unset-value/1.0.2_postcss@8.4.17: resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 dev: true - /@csstools/selector-specificity/2.0.2_dvkg4kkb622mvceygg47xxdz3a: + /@csstools/selector-specificity/2.0.2_zurzgjffv23ohtxa7nq7nizuja: resolution: {integrity: sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 postcss-selector-parser: ^6.0.10 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true @@ -1590,8 +1590,8 @@ packages: uuid: 8.3.2 dev: true - /@cypress/vite-dev-server/3.3.1: - resolution: {integrity: sha512-Iw6WtPeamQbQtyI+iNIutCDOjHvBFNBBqg1NiT3HjdRMiXAPmeehqy/LUP1Q4W/FdBpmCADAXOHU4bW85ds/mg==} + /@cypress/vite-dev-server/3.2.0: + resolution: {integrity: sha512-tVOtSQst1yjah972nmhFue67UstxyEm69yuvcaOv9BxtI0e1hd5mM6gfLJINHXCeMmCjsoUxM382iUAr6UGu/Q==} dependencies: debug: 4.3.3 find-up: 6.3.0 @@ -1602,8 +1602,8 @@ packages: - supports-color dev: true - /@cypress/vue/4.2.1_cypress@10.10.0+vue@3.2.41: - resolution: {integrity: sha512-L43vxC7vlr2dV9/NstouMiItxJs0yXq+85/VpC/Ar+tyM53p1I4VtzVkJAB1bunL+yHz+UZuWddF1lFCuRlbmg==} + /@cypress/vue/4.2.0_cypress@10.9.0+vue@3.2.41: + resolution: {integrity: sha512-a+5TCBMwng+UUcFSWxzdJ+Wsvtu+XltUKBQCvidysVvPkPF/c/Z+Geyl+sX7tasKT8KIOW9pI90PIwxzQvQh7A==} engines: {node: '>=8'} peerDependencies: '@cypress/webpack-dev-server': '*' @@ -1613,7 +1613,7 @@ packages: '@cypress/webpack-dev-server': optional: true dependencies: - cypress: 10.10.0 + cypress: 10.9.0 vue: 3.2.41 dev: true @@ -1634,8 +1634,8 @@ packages: kuler: 2.0.0 dev: true - /@esbuild/android-arm/0.15.12: - resolution: {integrity: sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==} + /@esbuild/android-arm/0.15.10: + resolution: {integrity: sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1643,8 +1643,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.15.12: - resolution: {integrity: sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==} + /@esbuild/linux-loong64/0.15.10: + resolution: {integrity: sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1652,8 +1652,8 @@ packages: dev: true optional: true - /@eslint/eslintrc/1.3.3: - resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} + /@eslint/eslintrc/1.3.2: + resolution: {integrity: sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -1669,8 +1669,8 @@ packages: - supports-color dev: true - /@faker-js/faker/7.6.0: - resolution: {integrity: sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==} + /@faker-js/faker/7.5.0: + resolution: {integrity: sha512-8wNUCCUHvfvI0gQpDUho/3gPzABffnCn5um65F8dzQ86zz6dlt4+nmAA7PQUc8L+eH+9RgR/qzy5N/8kN0Ozdw==} engines: {node: '>=14.0.0', npm: '>=6.0.0'} dev: true @@ -1738,8 +1738,8 @@ packages: '@hapi/hoek': 9.3.0 dev: true - /@humanwhocodes/config-array/0.11.6: - resolution: {integrity: sha512-jJr+hPTJYKyDILJfhNSHsjiwXYf26Flsz8DvNndOsHs5pwSnpGUEy8yzF0JYhCEvTDdV2vuOK5tt8BVhwO5/hg==} + /@humanwhocodes/config-array/0.10.7: + resolution: {integrity: sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -1749,6 +1749,10 @@ packages: - supports-color dev: true + /@humanwhocodes/gitignore-to-minimatch/1.0.2: + resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==} + dev: true + /@humanwhocodes/module-importer/1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} @@ -1762,16 +1766,6 @@ packages: resolution: {integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==} dev: true - /@infectoone/vue-ganttastic/2.1.2_dayjs@1.11.5+vue@3.2.41: - resolution: {integrity: sha512-xYjhA1bUUSVNjbFmM5eeN0mdKdDg7LWMO9RSh+9fFqfnqu24VwazTumHBYQZFGvGfdJW0DE7ZN3tbLhL9vkYlA==} - peerDependencies: - dayjs: ^1.11.5 - vue: ^3.2.40 - dependencies: - dayjs: 1.11.5 - vue: 3.2.41 - dev: false - /@intlify/core-base/9.2.2: resolution: {integrity: sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==} engines: {node: '>= 14'} @@ -1826,7 +1820,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 16.11.68 + '@types/node': 16.11.64 '@types/yargs': 16.0.4 chalk: 4.1.2 dev: true @@ -1939,21 +1933,22 @@ packages: resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} dev: true - /@netlify/build/28.1.3_@types+node@16.11.68: - resolution: {integrity: sha512-WUQQb/+piNy4TZ7oMae/s/vjatWrOeiFTle9iKItdLZJQjLVml4CJNMr+bvJtdVYuH40xTcyATJCFq8AHj2PEQ==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/build/27.20.2: + resolution: {integrity: sha512-lzCD46LIAEK5r5kKvTKAfDqcDBxewTpoFQyR3ThMHq0w7w+hdCk9/vcL1me6bUH0q59opGldBBvGy6x7Rp1zpw==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} hasBin: true dependencies: '@bugsnag/js': 7.18.0 - '@netlify/cache-utils': 5.0.1_supports-color@9.2.3 - '@netlify/config': 19.0.2 - '@netlify/edge-bundler': 2.9.0 - '@netlify/functions-utils': 5.0.1_supports-color@9.2.3 - '@netlify/git-utils': 5.0.1 - '@netlify/plugins-list': 6.51.0 - '@netlify/run-utils': 5.0.1 + '@netlify/cache-utils': 4.1.6_supports-color@9.2.3 + '@netlify/config': 18.2.4 + '@netlify/edge-bundler': 2.6.0 + '@netlify/functions-utils': 4.2.10_supports-color@9.2.3 + '@netlify/git-utils': 4.1.2 + '@netlify/plugins-list': 6.49.0 + '@netlify/run-utils': 4.0.2 '@netlify/zip-it-and-ship-it': 7.1.2_supports-color@9.2.3 '@sindresorhus/slugify': 2.1.1 + '@types/node': 16.11.64 ajv: 8.11.0 ajv-errors: 3.0.0_ajv@8.11.0 ansi-escapes: 5.0.0 @@ -1993,7 +1988,7 @@ packages: strip-ansi: 7.0.1 supports-color: 9.2.3 tmp-promise: 3.0.3 - ts-node: 10.9.1_qz5pgscfesxhf7rldkrewqhv5y + ts-node: 10.9.1_k2jc2lb6qrtdc3lulqxjwnbwoi typescript: 4.8.4 update-notifier: 5.1.0 uuid: 8.3.2 @@ -2001,13 +1996,12 @@ packages: transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - - '@types/node' - encoding dev: true - /@netlify/cache-utils/5.0.1_supports-color@9.2.3: - resolution: {integrity: sha512-wcewHgpSk1mIP4D2zlLRrwFzKkMWmY75kdKFuTw3hvbRnDscUH73ymersfTqiAWa3wXEswNPlWUmzE1pJWd/tg==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/cache-utils/4.1.6_supports-color@9.2.3: + resolution: {integrity: sha512-8n7zVoWs3xetgD2JxNXs0E/WU7MpHNDW9rxhOPnxn5PQWnYGjK18VRoEIISE4ZUnr7stDIUWF8bNDmFcj+l6KQ==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: cpy: 8.1.2_supports-color@9.2.3 del: 6.1.1 @@ -2022,9 +2016,9 @@ packages: - supports-color dev: true - /@netlify/config/19.0.2: - resolution: {integrity: sha512-uzu1P3EZHnGCHTkgJZz3TG/eTJe/aTlOTQI/Id/mhjEdBPl9zVDfypWK9CQg1RIVdkAhgSqrDjordnmDFWLOzQ==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/config/18.2.4: + resolution: {integrity: sha512-G9YR6tAXl5FfhaoEcvAivctE3Ds7vv70GgUzJfHEcJbT6rFxSlRl+vcbX6I1TbWEucMknIifvchGTa9f0Ams8w==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} hasBin: true dependencies: chalk: 5.1.0 @@ -2040,9 +2034,9 @@ packages: is-plain-obj: 4.1.0 js-yaml: 4.1.0 map-obj: 5.0.2 - netlify: 13.0.1 - netlify-headers-parser: 7.0.0 - netlify-redirect-parser: 14.0.0 + netlify: 12.0.1 + netlify-headers-parser: 6.0.2 + netlify-redirect-parser: 13.0.5 omit.js: 2.0.2 p-locate: 6.0.0 path-exists: 5.0.0 @@ -2053,8 +2047,8 @@ packages: yargs: 17.6.0 dev: true - /@netlify/edge-bundler/2.9.0: - resolution: {integrity: sha512-MMlyB0hvxewtvSfYOKobBAlyi6NWCA+0jcoRhJcAk3bsIEl1IFmnYdNfxzveICqTmkY+w90XIVdxdcrBwpw49Q==} + /@netlify/edge-bundler/2.6.0: + resolution: {integrity: sha512-rAfUNVmnzEhUhMw4mi8VdiNELHnS9EBSKMWPjE6YDZVXAVIhRXSO3fDlGONpYjfxirZCmKma7KXV/+TYuQXePw==} engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: '@import-maps/resolve': 1.0.1 @@ -2297,9 +2291,9 @@ packages: semver: 7.3.8 dev: true - /@netlify/functions-utils/5.0.1_supports-color@9.2.3: - resolution: {integrity: sha512-1dpeNWVOQW7C36cVU0CMQuavXrdT1NIdtcNthz6mIxZf8VrscrjhnO/fzj1r5Y4vD5yEFRW/TWQe3uSaxpp6+w==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/functions-utils/4.2.10_supports-color@9.2.3: + resolution: {integrity: sha512-OodKCe8fmD/uK3sGkfcBi6bwOuM/V1/gMf//67/4HkIUj1haaEICcJmpw17r7RwyseIwOEvdBV5oHEmSyOhDhA==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: '@netlify/zip-it-and-ship-it': 7.1.2_supports-color@9.2.3 cpy: 8.1.2_supports-color@9.2.3 @@ -2309,9 +2303,9 @@ packages: - supports-color dev: true - /@netlify/git-utils/5.0.1: - resolution: {integrity: sha512-e6fhngwmCBS1t8UR2gGxWEsq8ZweZb4ZiwYqPR7Ciz6b+0LMQhZ7q/2eFlQkIy808qhmppfVHLOsy8mTnrxHaQ==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/git-utils/4.1.2: + resolution: {integrity: sha512-Eee5Ht/bHPUV1cGaPF7kqV5V/78cXX0qyVDRDY72Crouw1F7V7D42yWpyf7/HrIg87LdzYoTmNwff7LMUTG4QA==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: execa: 6.1.0 map-obj: 5.0.2 @@ -2449,14 +2443,14 @@ packages: resolution: {integrity: sha512-1n9VvO/9qM7cRB5f7NgSNqeUrovM7j9WVAY7ZQ4LtQuXSquFmO9Fku7WrV3zAUC6v2Y62fxGyJ0fRllYz5uXLw==} dev: true - /@netlify/plugins-list/6.51.0: - resolution: {integrity: sha512-7msPFk3snzLEqVlPkGOkCrUrk60kcgawgXmHiQNQy9NSmw2ELm1twq+/vk8j9XYMQkZoe0JHJgDWXCR1IvNcFQ==} + /@netlify/plugins-list/6.49.0: + resolution: {integrity: sha512-5jhJbpDlQ0hVl7awcEXTu6pWhIytKPG0sRTJyWKI6s3TWsd5K1MC7PUgBfwPBxf6oo8NvjZlfkftm2g0aMQuAQ==} engines: {node: ^14.14.0 || >=16.0.0} dev: true - /@netlify/run-utils/5.0.1: - resolution: {integrity: sha512-1AZuzQcVmNHkhCiATxfBA/1PY44bUYe3VvgRGQJ4X5MU0kamKtQWIafNuOF7D9cJO7YSOTC2yMuz/qBPB+LRUg==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/run-utils/4.0.2: + resolution: {integrity: sha512-UH7AIkZ0TDOj6u2Kf+cTGNlM4twMV43AjJnVCdnUXBzZmFlV6p9ymwu7GYM33iXsid8i6cDBhRWQ03HcfPssIQ==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: execa: 6.1.0 dev: true @@ -2571,97 +2565,89 @@ packages: fastq: 1.13.0 dev: true - /@octokit/auth-token/3.0.2: - resolution: {integrity: sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==} - engines: {node: '>= 14'} + /@octokit/auth-token/2.5.0: + resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} dependencies: - '@octokit/types': 8.0.0 + '@octokit/types': 6.41.0 dev: true - /@octokit/core/4.1.0: - resolution: {integrity: sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==} - engines: {node: '>= 14'} + /@octokit/core/3.6.0: + resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} dependencies: - '@octokit/auth-token': 3.0.2 - '@octokit/graphql': 5.0.4 - '@octokit/request': 6.2.2 - '@octokit/request-error': 3.0.2 - '@octokit/types': 8.0.0 + '@octokit/auth-token': 2.5.0 + '@octokit/graphql': 4.8.0 + '@octokit/request': 5.6.3 + '@octokit/request-error': 2.1.0 + '@octokit/types': 6.41.0 before-after-hook: 2.2.3 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: true - /@octokit/endpoint/7.0.3: - resolution: {integrity: sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==} - engines: {node: '>= 14'} + /@octokit/endpoint/6.0.12: + resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} dependencies: - '@octokit/types': 8.0.0 + '@octokit/types': 6.41.0 is-plain-object: 5.0.0 universal-user-agent: 6.0.0 dev: true - /@octokit/graphql/5.0.4: - resolution: {integrity: sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==} - engines: {node: '>= 14'} + /@octokit/graphql/4.8.0: + resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} dependencies: - '@octokit/request': 6.2.2 - '@octokit/types': 8.0.0 + '@octokit/request': 5.6.3 + '@octokit/types': 6.41.0 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: true - /@octokit/openapi-types/14.0.0: - resolution: {integrity: sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==} + /@octokit/openapi-types/12.11.0: + resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} dev: true - /@octokit/plugin-paginate-rest/5.0.1_@octokit+core@4.1.0: - resolution: {integrity: sha512-7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw==} - engines: {node: '>= 14'} + /@octokit/plugin-paginate-rest/2.21.3_@octokit+core@3.6.0: + resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==} peerDependencies: - '@octokit/core': '>=4' + '@octokit/core': '>=2' dependencies: - '@octokit/core': 4.1.0 - '@octokit/types': 8.0.0 + '@octokit/core': 3.6.0 + '@octokit/types': 6.41.0 dev: true - /@octokit/plugin-request-log/1.0.4_@octokit+core@4.1.0: + /@octokit/plugin-request-log/1.0.4_@octokit+core@3.6.0: resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} peerDependencies: '@octokit/core': '>=3' dependencies: - '@octokit/core': 4.1.0 + '@octokit/core': 3.6.0 dev: true - /@octokit/plugin-rest-endpoint-methods/6.7.0_@octokit+core@4.1.0: - resolution: {integrity: sha512-orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw==} - engines: {node: '>= 14'} + /@octokit/plugin-rest-endpoint-methods/5.16.2_@octokit+core@3.6.0: + resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==} peerDependencies: '@octokit/core': '>=3' dependencies: - '@octokit/core': 4.1.0 - '@octokit/types': 8.0.0 + '@octokit/core': 3.6.0 + '@octokit/types': 6.41.0 deprecation: 2.3.1 dev: true - /@octokit/request-error/3.0.2: - resolution: {integrity: sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==} - engines: {node: '>= 14'} + /@octokit/request-error/2.1.0: + resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} dependencies: - '@octokit/types': 8.0.0 + '@octokit/types': 6.41.0 deprecation: 2.3.1 once: 1.4.0 dev: true - /@octokit/request/6.2.2: - resolution: {integrity: sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==} - engines: {node: '>= 14'} + /@octokit/request/5.6.3: + resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} dependencies: - '@octokit/endpoint': 7.0.3 - '@octokit/request-error': 3.0.2 - '@octokit/types': 8.0.0 + '@octokit/endpoint': 6.0.12 + '@octokit/request-error': 2.1.0 + '@octokit/types': 6.41.0 is-plain-object: 5.0.0 node-fetch: 2.6.7 universal-user-agent: 6.0.0 @@ -2669,22 +2655,21 @@ packages: - encoding dev: true - /@octokit/rest/19.0.5: - resolution: {integrity: sha512-+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow==} - engines: {node: '>= 14'} + /@octokit/rest/18.12.0: + resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} dependencies: - '@octokit/core': 4.1.0 - '@octokit/plugin-paginate-rest': 5.0.1_@octokit+core@4.1.0 - '@octokit/plugin-request-log': 1.0.4_@octokit+core@4.1.0 - '@octokit/plugin-rest-endpoint-methods': 6.7.0_@octokit+core@4.1.0 + '@octokit/core': 3.6.0 + '@octokit/plugin-paginate-rest': 2.21.3_@octokit+core@3.6.0 + '@octokit/plugin-request-log': 1.0.4_@octokit+core@3.6.0 + '@octokit/plugin-rest-endpoint-methods': 5.16.2_@octokit+core@3.6.0 transitivePeerDependencies: - encoding dev: true - /@octokit/types/8.0.0: - resolution: {integrity: sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==} + /@octokit/types/6.41.0: + resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} dependencies: - '@octokit/openapi-types': 14.0.0 + '@octokit/openapi-types': 12.11.0 dev: true /@rollup/plugin-babel/5.3.1_vy4anxjpv2s44kyfi2kxqu576u: @@ -2763,58 +2748,68 @@ packages: - zenObservable dev: true - /@sentry/browser/7.16.0: - resolution: {integrity: sha512-tJ063zvoF8Raw7mzQEXupOFPSN6v36WIbsDVGeFdToPCwViaBuATaxvWCrudGzsnBkMyItmTLJkzn9SEIXUOiw==} + /@sentry/browser/7.14.1: + resolution: {integrity: sha512-b9nW2+kT9Jl/tfzJmvzpnS6F8ziC62TDx04a7kZDtuaVA5rKKTTlLDg8ZamCRFjjnuwuFhLnzxO34N0KfeTqHg==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.16.0 - '@sentry/types': 7.16.0 - '@sentry/utils': 7.16.0 + '@sentry/core': 7.14.1 + '@sentry/types': 7.14.1 + '@sentry/utils': 7.14.1 tslib: 1.14.1 dev: false - /@sentry/core/7.16.0: - resolution: {integrity: sha512-vq6H1b/IPTvzDD9coQ3wIudvSjkAYuUlXb1dv69dRlq4v3st9dcKBps1Zf0lQ1i4TVlDLoe1iGMmNFglMF1Q5w==} + /@sentry/core/7.14.1: + resolution: {integrity: sha512-sjk60Gf5o9zynhWe1e0ro9uQO4OrKZ3H9xfgBf2ExgKXeMfKzYp5r2v2OKNevEde36Sr/DzlpiPj8EK67xrWPA==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.16.0 - '@sentry/utils': 7.16.0 + '@sentry/hub': 7.14.1 + '@sentry/types': 7.14.1 + '@sentry/utils': 7.14.1 tslib: 1.14.1 dev: false - /@sentry/tracing/7.16.0: - resolution: {integrity: sha512-8a9bViUY7oS35msBMouxkgz5OGd9NGutuKF7SQ8hPZwTcQPOxOwPyHccykgr56k6OmaDjGCLZMqZowaysJj+4g==} + /@sentry/hub/7.14.1: + resolution: {integrity: sha512-BWh5jUvGmzCsJtYy6EX3qA6gTOxwGhA64IEXHbzwIAnBoG+VWao3addaL77AGR9pIgAqn6ssfkX665OZa+GPGw==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.16.0 - '@sentry/types': 7.16.0 - '@sentry/utils': 7.16.0 + '@sentry/types': 7.14.1 + '@sentry/utils': 7.14.1 tslib: 1.14.1 dev: false - /@sentry/types/7.16.0: - resolution: {integrity: sha512-i6D+OK6d0l/k+VQvRp/Pt21WkDEgVBUIZq+sOkEZJczbcfexVdXKeXXoYTD2vYuFq8Yy28fzlsZaKI+NoH94yQ==} - engines: {node: '>=8'} - dev: false - - /@sentry/utils/7.16.0: - resolution: {integrity: sha512-3Zh1txg7IRp4kZAdG27YF7K6lD1IZyuAo9KjoPg1Xzqa4DOZyASJuEkbf+rK2a9T4HrtVHHXJUsNbKg8WM3VHg==} + /@sentry/tracing/7.14.1: + resolution: {integrity: sha512-vs/GXOu3RRT9ethdRXdiXmYF11PFViIo70Nt6RWb/vKEykHTQ0Y5IYc3GtU7aC6DKqpJ1xZkNUfgvV/q3he/Eg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.16.0 + '@sentry/hub': 7.14.1 + '@sentry/types': 7.14.1 + '@sentry/utils': 7.14.1 tslib: 1.14.1 dev: false - /@sentry/vue/7.16.0_vue@3.2.41: - resolution: {integrity: sha512-Md2LTkZKhSTysu2L8iCHRFmrcWWDBjMJp++Jt9Bzt4aTHg6xrrnfFBfAmeJeXmbJDUGnMM/chhPmrcfGTDaHFg==} + /@sentry/types/7.14.1: + resolution: {integrity: sha512-PxAfrIwBci6ouHOuRsfVq1B16i92nQNV5IvlqfJIYciazVhDWJvbF52caJAPOFS1WnuQZ4zqBDMYvtnwld3JCA==} + engines: {node: '>=8'} + dev: false + + /@sentry/utils/7.14.1: + resolution: {integrity: sha512-CErQFbJMuhnHFKGkfIazQj5ETKoS7hG8PkoQEBt19F5QMh4+sbrJgnpIrIW8fVGtp0qKWKuIxQwD3b+1cFBozA==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.14.1 + tslib: 1.14.1 + dev: false + + /@sentry/vue/7.14.1_vue@3.2.41: + resolution: {integrity: sha512-6iGzaWUDu4wbuc4RbAaQv4GhMpz/qVcujl72updvsCsLNWl/xa0bAbsy4wtYvafCt/IXEBot6J4RnDe4mNLL2A==} engines: {node: '>=8'} peerDependencies: vue: 2.x || 3.x dependencies: - '@sentry/browser': 7.16.0 - '@sentry/core': 7.16.0 - '@sentry/types': 7.16.0 - '@sentry/utils': 7.16.0 + '@sentry/browser': 7.14.1 + '@sentry/core': 7.14.1 + '@sentry/types': 7.14.1 + '@sentry/utils': 7.14.1 tslib: 1.14.1 vue: 3.2.41 dev: false @@ -2848,6 +2843,14 @@ packages: engines: {node: '>=10'} dev: true + /@sindresorhus/slugify/1.1.2: + resolution: {integrity: sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==} + engines: {node: '>=10'} + dependencies: + '@sindresorhus/transliterate': 0.1.2 + escape-string-regexp: 4.0.0 + dev: true + /@sindresorhus/slugify/2.1.1: resolution: {integrity: sha512-XokPHZ+q6FtQGEi1hnfvARVJJVPEhwHQTPHPPuNHaN6zcHjzYNynhhHMopa1wNPqLAFOwpsbintunEqWecXJMg==} engines: {node: '>=12'} @@ -2856,6 +2859,14 @@ packages: escape-string-regexp: 5.0.0 dev: true + /@sindresorhus/transliterate/0.1.2: + resolution: {integrity: sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + lodash.deburr: 4.1.0 + dev: true + /@sindresorhus/transliterate/1.5.0: resolution: {integrity: sha512-/sfSkoNelLq5riqNRp5uBjHIKBi1MWZk9ubRT1WiBQuTfmDf7BeQkph2DJzRB83QagMPHk2VDjuvpy0VuwyzdA==} engines: {node: '>=12'} @@ -2913,7 +2924,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 16.11.68 + '@types/node': 16.11.64 '@types/responselike': 1.0.0 dev: true @@ -2936,13 +2947,13 @@ packages: /@types/concat-stream/1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true /@types/decompress/4.2.4: resolution: {integrity: sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==} dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true /@types/dompurify/2.3.4: @@ -2956,7 +2967,7 @@ packages: dependencies: '@types/decompress': 4.2.4 '@types/got': 8.3.6 - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true /@types/estree/0.0.39: @@ -2972,22 +2983,22 @@ packages: dev: true /@types/form-data/0.0.33: - resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} + resolution: {integrity: sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=} dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true /@types/glob/7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true /@types/got/8.3.6: resolution: {integrity: sha512-nvLlj+831dhdm4LR2Ly+HTpdLyBaMynoOr6wpIxS19d/bPeHQxFU5XQ6Gp6ohBpxvCWZM1uHQIC2+ySRH1rGrQ==} dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true /@types/http-cache-semantics/4.0.1: @@ -2997,7 +3008,7 @@ packages: /@types/http-proxy/1.17.9: resolution: {integrity: sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==} dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true /@types/is-touch-device/1.0.0: @@ -3034,7 +3045,7 @@ packages: /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true /@types/lodash.clonedeep/4.5.7: @@ -3066,7 +3077,7 @@ packages: /@types/node-fetch/2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 form-data: 3.0.1 dev: true @@ -3078,8 +3089,8 @@ packages: resolution: {integrity: sha512-vQAnaReSQkEDa8uwAyQby8bYGKu84R/deEc6mg5T8fX6gzCn8QW6rziSgsti1fNvsrswKUKPnVTi7uoB+u62Mw==} dev: true - /@types/node/16.11.68: - resolution: {integrity: sha512-JkRpuVz3xCNCWaeQ5EHLR/6woMbHZz/jZ7Kmc63AkU+1HxnoUugzSWMck7dsR4DvNYX8jp9wTi9K7WvnxOIQZQ==} + /@types/node/16.11.64: + resolution: {integrity: sha512-z5hPTlVFzNwtJ2LNozTpJcD1Cu44c4LNuzaq1mwxmiHWQh2ULdR6Vjwo1UGldzRpzL0yUEdZddnfqGW2G70z6Q==} dev: true /@types/node/8.10.66: @@ -3090,13 +3101,6 @@ packages: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/postcss-preset-env/7.7.0: - resolution: {integrity: sha512-biD8MwSiZo1Nztn1cIBPMcKNKzgFyU05AB96HIF9y3G4f9vdx2O60DHCSpWXChTp6mOEGu15fqIw2DetVVjghw==} - dependencies: - autoprefixer: 10.4.12_postcss@8.4.18 - postcss: 8.4.18 - dev: true - /@types/qs/6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: true @@ -3104,13 +3108,13 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true /@types/retry/0.12.1: @@ -3143,8 +3147,8 @@ packages: resolution: {integrity: sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==} dev: true - /@types/web-bluetooth/0.0.16: - resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + /@types/web-bluetooth/0.0.15: + resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==} dev: false /@types/yargs-parser/21.0.0: @@ -3167,12 +3171,12 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true optional: true - /@typescript-eslint/eslint-plugin/5.40.1_c4zyna56jjjrggqkyejnaxjxfu: - resolution: {integrity: sha512-FsWboKkWdytGiXT5O1/R9j37YgcjO8MKHSUmWnIEjVaz0krHkplPnYi7mwdb+5+cs0toFNQb0HIrN7zONdIEWg==} + /@typescript-eslint/eslint-plugin/5.39.0_xyciw6oqjoiiono4dhv3uhn5my: + resolution: {integrity: sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -3182,12 +3186,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m - '@typescript-eslint/scope-manager': 5.40.1 - '@typescript-eslint/type-utils': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m - '@typescript-eslint/utils': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/parser': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/type-utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + '@typescript-eslint/utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa debug: 4.3.4 - eslint: 8.26.0 + eslint: 8.24.0 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.8 @@ -3197,8 +3201,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.40.1_wyqvi574yv7oiwfeinomdzmc3m: - resolution: {integrity: sha512-IK6x55va5w4YvXd4b3VrXQPldV9vQTxi5ov+g4pMANsXPTXOcfjx08CRR1Dfrcc51syPtXHF5bgLlMHYFrvQtg==} + /@typescript-eslint/parser/5.39.0_ypn2ylkkyfa5i233caldtndbqa: + resolution: {integrity: sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3207,26 +3211,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.40.1 - '@typescript-eslint/types': 5.40.1 - '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 debug: 4.3.4 - eslint: 8.26.0 + eslint: 8.24.0 typescript: 4.8.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.40.1: - resolution: {integrity: sha512-jkn4xsJiUQucI16OLCXrLRXDZ3afKhOIqXs4R3O+M00hdQLKR58WuyXPZZjhKLFCEP2g+TXdBRtLQ33UfAdRUg==} + /@typescript-eslint/scope-manager/5.39.0: + resolution: {integrity: sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.40.1 - '@typescript-eslint/visitor-keys': 5.40.1 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/visitor-keys': 5.39.0 dev: true - /@typescript-eslint/type-utils/5.40.1_wyqvi574yv7oiwfeinomdzmc3m: - resolution: {integrity: sha512-DLAs+AHQOe6n5LRraXiv27IYPhleF0ldEmx6yBqBgBLaNRKTkffhV1RPsjoJBhVup2zHxfaRtan8/YRBgYhU9Q==} + /@typescript-eslint/type-utils/5.39.0_ypn2ylkkyfa5i233caldtndbqa: + resolution: {integrity: sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -3235,23 +3239,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 - '@typescript-eslint/utils': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 + '@typescript-eslint/utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa debug: 4.3.4 - eslint: 8.26.0 + eslint: 8.24.0 tsutils: 3.21.0_typescript@4.8.4 typescript: 4.8.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.40.1: - resolution: {integrity: sha512-Icg9kiuVJSwdzSQvtdGspOlWNjVDnF3qVIKXdJ103o36yRprdl3Ge5cABQx+csx960nuMF21v8qvO31v9t3OHw==} + /@typescript-eslint/types/5.39.0: + resolution: {integrity: sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.40.1_typescript@4.8.4: - resolution: {integrity: sha512-5QTP/nW5+60jBcEPfXy/EZL01qrl9GZtbgDZtDPlfW5zj/zjNrdI2B5zMUHmOsfvOr2cWqwVdWjobCiHcedmQA==} + /@typescript-eslint/typescript-estree/5.39.0_typescript@4.8.4: + resolution: {integrity: sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -3259,8 +3263,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.40.1 - '@typescript-eslint/visitor-keys': 5.40.1 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/visitor-keys': 5.39.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -3271,8 +3275,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree/5.40.1_zfayr4byj5y4lsi7wijpiycui4: - resolution: {integrity: sha512-5QTP/nW5+60jBcEPfXy/EZL01qrl9GZtbgDZtDPlfW5zj/zjNrdI2B5zMUHmOsfvOr2cWqwVdWjobCiHcedmQA==} + /@typescript-eslint/typescript-estree/5.39.0_zfayr4byj5y4lsi7wijpiycui4: + resolution: {integrity: sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -3280,8 +3284,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.40.1 - '@typescript-eslint/visitor-keys': 5.40.1 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/visitor-keys': 5.39.0 debug: 4.3.4_supports-color@9.2.3 globby: 11.1.0 is-glob: 4.0.3 @@ -3292,31 +3296,29 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.40.1_wyqvi574yv7oiwfeinomdzmc3m: - resolution: {integrity: sha512-a2TAVScoX9fjryNrW6BZRnreDUszxqm9eQ9Esv8n5nXApMW0zeANUYlwh/DED04SC/ifuBvXgZpIK5xeJHQ3aw==} + /@typescript-eslint/utils/5.39.0_ypn2ylkkyfa5i233caldtndbqa: + resolution: {integrity: sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@types/semver': 7.3.12 - '@typescript-eslint/scope-manager': 5.40.1 - '@typescript-eslint/types': 5.40.1 - '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 - eslint: 8.26.0 + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 + eslint: 8.24.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.26.0 - semver: 7.3.8 + eslint-utils: 3.0.0_eslint@8.24.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.40.1: - resolution: {integrity: sha512-A2DGmeZ+FMja0geX5rww+DpvILpwo1OsiQs0M+joPWJYsiEFBLsH0y1oFymPNul6Z5okSmHpP4ivkc2N0Cgfkw==} + /@typescript-eslint/visitor-keys/5.39.0: + resolution: {integrity: sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.40.1 + '@typescript-eslint/types': 5.39.0 eslint-visitor-keys: 3.3.0 dev: true @@ -3387,44 +3389,44 @@ packages: vue: 3.2.41 dev: true - /@volar/language-core/1.0.9: - resolution: {integrity: sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw==} + /@volar/language-core/1.0.8: + resolution: {integrity: sha512-uxYSOqBk8ZFSzGjUIPOBEFPOg8F3CE6cLO5meK95DODGIlUlPytGiy9sy8QZ9w7RpUH4XMOX3MH/G48SLgP07A==} dependencies: - '@volar/source-map': 1.0.9 + '@volar/source-map': 1.0.8 '@vue/reactivity': 3.2.41 muggle-string: 0.1.0 dev: true - /@volar/source-map/1.0.9: - resolution: {integrity: sha512-fazB/vy5ZEJ3yKx4fabJyGNI3CBkdLkfEIRVu6+1P3VixK0Mn+eqyUIkLBrzGYaeFM3GybhCLCvsVdNz0Fu/CQ==} + /@volar/source-map/1.0.8: + resolution: {integrity: sha512-uKMe+alyfl1Abs5SviKejFoe7x9g6jDPVpVt63Tet4qn1Ziy7tFsvtCpM2Y1Ko5qw2nLIeloLslPqm9/gmbBLQ==} dependencies: muggle-string: 0.1.0 dev: true - /@volar/typescript/1.0.9: - resolution: {integrity: sha512-dVziu+ShQUWuMukM6bvK2v2O446/gG6l1XkTh2vfkccw1IzjfbiP1TWQoNo1ipTfZOtu5YJGYAx+o5HNrGXWfQ==} + /@volar/typescript/1.0.8: + resolution: {integrity: sha512-2oY1Apvzcs/5tAn7p1tRlDxNgal5ezaK0h9cutcWALeimsaQBAEE2NAirCrLMHl8DneuDce0tzJqHaQeHw9RmQ==} dependencies: - '@volar/language-core': 1.0.9 + '@volar/language-core': 1.0.8 dev: true - /@volar/vue-language-core/1.0.9: - resolution: {integrity: sha512-tofNoR8ShPFenHT1YVMuvoXtXWwoQE+fiXVqSmW0dSKZqEDjWQ3YeXSd0a6aqyKaIbvR7kWWGp34WbpQlwf9Ww==} + /@volar/vue-language-core/1.0.8: + resolution: {integrity: sha512-cXb7oTybxcm1vpz003agdYQHyxij7UAaSub60d7W1aMWpqb2iaCbVaq9izgQFlrpC4/JnVs+cJPb/Q6fAUVxBg==} dependencies: - '@volar/language-core': 1.0.9 - '@volar/source-map': 1.0.9 + '@volar/language-core': 1.0.8 + '@volar/source-map': 1.0.8 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 - '@vue/reactivity': 3.2.41 + '@vue/reactivity': 3.2.40 '@vue/shared': 3.2.41 minimatch: 5.1.0 vue-template-compiler: 2.7.10 dev: true - /@volar/vue-typescript/1.0.9: - resolution: {integrity: sha512-ZLe4y9YNbviACa7uAMCilzxA76gbbSlKfjspXBzk6fCobd8QCIig+VyDYcjANIlm2HhgSCX8jYTzhCKlegh4mw==} + /@volar/vue-typescript/1.0.8: + resolution: {integrity: sha512-6jBvA7iwBkRqS2VQx2gLJgfLcF3hcODyJ6Lmiw2tN8D/LVfFCovvzJgPvIQb9Y4i+rha1Y0cpsYOUt9XW2Z7ZA==} dependencies: - '@volar/typescript': 1.0.9 - '@volar/vue-language-core': 1.0.9 + '@volar/typescript': 1.0.8 + '@volar/vue-language-core': 1.0.8 dev: true /@vue/compiler-core/3.2.40: @@ -3468,7 +3470,7 @@ packages: '@vue/shared': 3.2.40 estree-walker: 2.0.2 magic-string: 0.25.9 - postcss: 8.4.18 + postcss: 8.4.17 source-map: 0.6.1 dev: true @@ -3483,7 +3485,7 @@ packages: '@vue/shared': 3.2.41 estree-walker: 2.0.2 magic-string: 0.25.9 - postcss: 8.4.18 + postcss: 8.4.17 source-map: 0.6.1 /@vue/compiler-ssr/3.2.40: @@ -3503,11 +3505,7 @@ packages: resolution: {integrity: sha512-9WCRwdROJvWcHAdyrR7SZMM/qUvllDZnpndHXokThkUsjnJ2xe4/pvsH9FZrxFe22L+JmDKczL79HjLJ7DK9rg==} dev: false - /@vue/devtools-api/6.4.5: - resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} - dev: false - - /@vue/eslint-config-typescript/11.0.2_dssioqymv64e7t7ogoe3tncpcu: + /@vue/eslint-config-typescript/11.0.2_vnnms2vwgxhb7jv3u2ncwd7xzm: resolution: {integrity: sha512-EiKud1NqlWmSapBFkeSrE994qpKx7/27uCGnhdqzllYDpQZroyX/O6bwjEpeuyKamvLbsGdO6PMR2faIf+zFnw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: @@ -3518,12 +3516,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.40.1_c4zyna56jjjrggqkyejnaxjxfu - '@typescript-eslint/parser': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m - eslint: 8.26.0 - eslint-plugin-vue: 9.6.0_eslint@8.26.0 + '@typescript-eslint/eslint-plugin': 5.39.0_xyciw6oqjoiiono4dhv3uhn5my + '@typescript-eslint/parser': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + eslint: 8.24.0 + eslint-plugin-vue: 9.6.0_eslint@8.24.0 typescript: 4.8.4 - vue-eslint-parser: 9.1.0_eslint@8.26.0 + vue-eslint-parser: 9.1.0_eslint@8.24.0 transitivePeerDependencies: - supports-color dev: true @@ -3547,6 +3545,12 @@ packages: estree-walker: 2.0.2 magic-string: 0.25.9 + /@vue/reactivity/3.2.40: + resolution: {integrity: sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA==} + dependencies: + '@vue/shared': 3.2.40 + dev: true + /@vue/reactivity/3.2.41: resolution: {integrity: sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==} dependencies: @@ -3589,7 +3593,7 @@ packages: vue: 3.2.41 dev: true - /@vue/tsconfig/0.1.3_@types+node@16.11.68: + /@vue/tsconfig/0.1.3_@types+node@16.11.64: resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} peerDependencies: '@types/node': '*' @@ -3597,31 +3601,31 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 dev: true - /@vueuse/core/9.3.1_vue@3.2.41: - resolution: {integrity: sha512-xriyD+v3D2ObH/UtnkEl+1sbcLBVHNaZaLi/rqoNEe/B92hggDEFQIGXoQUjdRzYOjASHSezf9uCDtmd7LeWyA==} + /@vueuse/core/9.3.0_vue@3.2.41: + resolution: {integrity: sha512-64Rna8IQDWpdrJxgitDg7yv1yTp41ZmvV8zlLEylK4QQLWAhz1OFGZDPZ8bU4lwcGgbEJ2sGi2jrdNh4LttUSQ==} dependencies: - '@types/web-bluetooth': 0.0.16 - '@vueuse/metadata': 9.3.1 - '@vueuse/shared': 9.3.1_vue@3.2.41 + '@types/web-bluetooth': 0.0.15 + '@vueuse/metadata': 9.3.0 + '@vueuse/shared': 9.3.0_vue@3.2.41 vue-demi: 0.13.11_vue@3.2.41 transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/metadata/9.3.1: - resolution: {integrity: sha512-G1BPhtx3OHaL/y4OZBofh6Xt02G1VA9PuOO8nac9sTKMkMqfyez5VfkF3D9GUjSRNO7cVWyH4rceeGXfr2wdMg==} + /@vueuse/metadata/9.3.0: + resolution: {integrity: sha512-GnnfjbzIPJIh9ngL9s9oGU1+Hx/h5/KFqTfJykzh/1xjaHkedV9g0MASpdmPZIP+ynNhKAcEfA6g5i8KXwtoMA==} dev: false - /@vueuse/router/9.3.1_4g567gsol3fv3jos66rjdswwp4: - resolution: {integrity: sha512-iyxyGNAeK8y4xaKjidnTI2H6eFiCiHypjoKPDEE8kdfESoxjegigp/DYfrbFt3IIeAHXPvBMq11m9IFuZ+LyLw==} + /@vueuse/router/9.3.0_4g567gsol3fv3jos66rjdswwp4: + resolution: {integrity: sha512-UFN2MFciprH21oYsAgNHeDJ4Bd86HpRm9gximSN8j6h4fc2aa62fvfhprfHqdTxYAcgcGkMwcc9TO75jOvr8gg==} peerDependencies: vue-router: '>=4.0.0-rc.1' dependencies: - '@vueuse/shared': 9.3.1_vue@3.2.41 + '@vueuse/shared': 9.3.0_vue@3.2.41 vue-demi: 0.13.11_vue@3.2.41 vue-router: 4.1.5_vue@3.2.41 transitivePeerDependencies: @@ -3629,8 +3633,8 @@ packages: - vue dev: false - /@vueuse/shared/9.3.1_vue@3.2.41: - resolution: {integrity: sha512-YFu3qcnVeu0S2L4XdQJtBpDcjz6xwqHZtTv/XRhu66/yge1XVhxskUcc7VZbX52xF9A34V6KCfwncP9YDqYFiw==} + /@vueuse/shared/9.3.0_vue@3.2.41: + resolution: {integrity: sha512-caGUWLY0DpPC6l31KxeUy6vPVNA0yKxx81jFYLoMpyP6cF84FG5Dkf69DfSUqL57wX8JcUkJDMnQaQIZPWFEQQ==} dependencies: vue-demi: 0.13.11_vue@3.2.41 transitivePeerDependencies: @@ -3944,7 +3948,7 @@ packages: dev: true /array-flatten/1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} dev: true /array-union/1.0.2: @@ -3984,7 +3988,7 @@ packages: dev: true /ascii-table/0.0.9: - resolution: {integrity: sha512-xpkr6sCDIYTPqzvjG8M3ncw1YOTaloWZOyrUmicoEifBEKzQzt+ooUpRpQ/AbOoJfO/p2ZKiyp79qHThzJDulQ==} + resolution: {integrity: sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM=} dev: true /asn1/0.2.6: @@ -4043,7 +4047,7 @@ packages: hasBin: true dev: true - /autoprefixer/10.4.12_postcss@8.4.18: + /autoprefixer/10.4.12_postcss@8.4.17: resolution: {integrity: sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -4051,11 +4055,11 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.4 - caniuse-lite: 1.0.30001420 + caniuse-lite: 1.0.30001414 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true @@ -4213,8 +4217,8 @@ packages: resolution: {integrity: sha512-nTnJTOheiaV3b189f7rH5AbbrnQB2r3CcOZBg47GUDaE9DrxyBPD2w0HYp4ME2UBlTP7LMIa6nMWqg/58oyIzA==} dev: false - /body-parser/1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + /body-parser/1.20.0: + resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 @@ -4225,7 +4229,7 @@ packages: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.11.0 + qs: 6.10.3 raw-body: 2.5.1 type-is: 1.6.18 unpipe: 1.0.0 @@ -4326,7 +4330,7 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001420 + caniuse-lite: 1.0.30001414 electron-to-chromium: 1.4.275 node-releases: 2.0.6 update-browserslist-db: 1.0.10_browserslist@4.21.4 @@ -4348,7 +4352,7 @@ packages: dev: true /buffer-equal-constant-time/1.0.1: - resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=} dev: true /buffer-fill/1.0.0: @@ -4504,8 +4508,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001420: - resolution: {integrity: sha512-OnyeJ9ascFA9roEj72ok2Ikp7PHJTKubtEJIQ/VK3fdsS50q4KWy+Z5X0A1/GswEItKX0ctAp8n4SYDE7wTu6A==} + /caniuse-lite/1.0.30001414: + resolution: {integrity: sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==} dev: true /caseless/0.12.0: @@ -4951,7 +4955,7 @@ packages: dev: true /cookie-signature/1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} dev: true /cookie/0.5.0: @@ -5075,36 +5079,36 @@ packages: engines: {node: '>=8'} dev: true - /css-blank-pseudo/3.0.3_postcss@8.4.18: + /css-blank-pseudo/3.0.3_postcss@8.4.17: resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true - /css-has-pseudo/3.0.4_postcss@8.4.18: + /css-has-pseudo/3.0.4_postcss@8.4.17: resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true - /css-prefers-color-scheme/6.0.3_postcss@8.4.18: + /css-prefers-color-scheme/6.0.3_postcss@8.4.17: resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 dev: true /css-select/4.3.0: @@ -5158,8 +5162,8 @@ packages: resolution: {integrity: sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==} dev: true - /cypress/10.10.0: - resolution: {integrity: sha512-bU8r44x1NIYAUNNXt3CwJpLOVth7HUv2hUhYCxZmgZ1IugowDvuHNpevnoZRQx1KKOEisLvIJW+Xen5Pjn41pg==} + /cypress/10.9.0: + resolution: {integrity: sha512-MjIWrRpc+bQM9U4kSSdATZWZ2hUqHGFEQTF7dfeZRa4MnalMtc88FIE49USWP2ZVtfy5WPBcgfBX+YorFqGElA==} engines: {node: '>=12.0.0'} hasBin: true requiresBuild: true @@ -5196,7 +5200,7 @@ packages: listr2: 3.14.0_enquirer@2.3.6 lodash: 4.17.21 log-symbols: 4.1.0 - minimist: 1.2.7 + minimist: 1.2.6 ospath: 1.2.2 pretty-bytes: 5.6.0 proxy-from-env: 1.0.0 @@ -5593,8 +5597,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: is-url: 1.2.4 - postcss: 8.4.18 - postcss-values-parser: 6.0.2_postcss@8.4.18 + postcss: 8.4.17 + postcss-values-parser: 6.0.2_postcss@8.4.17 dev: true /detective-sass/4.0.1: @@ -5622,7 +5626,7 @@ packages: resolution: {integrity: sha512-lR78AugfUSBojwlSRZBeEqQ1l8LI7rbxOl1qTUnGLcjZQDjZmrZCb7R46rK8U8B5WzFvJrxa7fEBA8FoD/n5fA==} engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: - '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 ast-module-types: 3.0.0 node-source-walk: 5.0.0 typescript: 4.8.4 @@ -5634,7 +5638,7 @@ packages: resolution: {integrity: sha512-lR78AugfUSBojwlSRZBeEqQ1l8LI7rbxOl1qTUnGLcjZQDjZmrZCb7R46rK8U8B5WzFvJrxa7fEBA8FoD/n5fA==} engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: - '@typescript-eslint/typescript-estree': 5.40.1_zfayr4byj5y4lsi7wijpiycui4 + '@typescript-eslint/typescript-estree': 5.39.0_zfayr4byj5y4lsi7wijpiycui4 ast-module-types: 3.0.0 node-source-walk: 5.0.0 typescript: 4.8.4 @@ -5785,7 +5789,7 @@ packages: dev: true /ee-first/1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: true /ejs/3.1.8: @@ -5914,8 +5918,8 @@ packages: resolution: {integrity: sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==} dev: true - /esbuild-android-64/0.15.12: - resolution: {integrity: sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==} + /esbuild-android-64/0.15.10: + resolution: {integrity: sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -5923,8 +5927,8 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.15.12: - resolution: {integrity: sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA==} + /esbuild-android-arm64/0.15.10: + resolution: {integrity: sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -5932,8 +5936,8 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.15.12: - resolution: {integrity: sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q==} + /esbuild-darwin-64/0.15.10: + resolution: {integrity: sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -5941,8 +5945,8 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.15.12: - resolution: {integrity: sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw==} + /esbuild-darwin-arm64/0.15.10: + resolution: {integrity: sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -5950,8 +5954,8 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.15.12: - resolution: {integrity: sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw==} + /esbuild-freebsd-64/0.15.10: + resolution: {integrity: sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -5959,8 +5963,8 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.15.12: - resolution: {integrity: sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g==} + /esbuild-freebsd-arm64/0.15.10: + resolution: {integrity: sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -5968,8 +5972,8 @@ packages: dev: true optional: true - /esbuild-linux-32/0.15.12: - resolution: {integrity: sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA==} + /esbuild-linux-32/0.15.10: + resolution: {integrity: sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -5977,8 +5981,8 @@ packages: dev: true optional: true - /esbuild-linux-64/0.15.12: - resolution: {integrity: sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA==} + /esbuild-linux-64/0.15.10: + resolution: {integrity: sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -5986,8 +5990,8 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.15.12: - resolution: {integrity: sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A==} + /esbuild-linux-arm/0.15.10: + resolution: {integrity: sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -5995,8 +5999,8 @@ packages: dev: true optional: true - /esbuild-linux-arm64/0.15.12: - resolution: {integrity: sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ==} + /esbuild-linux-arm64/0.15.10: + resolution: {integrity: sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -6004,8 +6008,8 @@ packages: dev: true optional: true - /esbuild-linux-mips64le/0.15.12: - resolution: {integrity: sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A==} + /esbuild-linux-mips64le/0.15.10: + resolution: {integrity: sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -6013,8 +6017,8 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.15.12: - resolution: {integrity: sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg==} + /esbuild-linux-ppc64le/0.15.10: + resolution: {integrity: sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -6022,8 +6026,8 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.15.12: - resolution: {integrity: sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA==} + /esbuild-linux-riscv64/0.15.10: + resolution: {integrity: sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -6031,8 +6035,8 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.15.12: - resolution: {integrity: sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww==} + /esbuild-linux-s390x/0.15.10: + resolution: {integrity: sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -6040,8 +6044,8 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.15.12: - resolution: {integrity: sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w==} + /esbuild-netbsd-64/0.15.10: + resolution: {integrity: sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -6049,8 +6053,8 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.15.12: - resolution: {integrity: sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw==} + /esbuild-openbsd-64/0.15.10: + resolution: {integrity: sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -6058,8 +6062,8 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.15.12: - resolution: {integrity: sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg==} + /esbuild-sunos-64/0.15.10: + resolution: {integrity: sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -6067,8 +6071,8 @@ packages: dev: true optional: true - /esbuild-windows-32/0.15.12: - resolution: {integrity: sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw==} + /esbuild-windows-32/0.15.10: + resolution: {integrity: sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -6076,8 +6080,8 @@ packages: dev: true optional: true - /esbuild-windows-64/0.15.12: - resolution: {integrity: sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA==} + /esbuild-windows-64/0.15.10: + resolution: {integrity: sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -6085,8 +6089,8 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.15.12: - resolution: {integrity: sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA==} + /esbuild-windows-arm64/0.15.10: + resolution: {integrity: sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -6094,34 +6098,34 @@ packages: dev: true optional: true - /esbuild/0.15.12: - resolution: {integrity: sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==} + /esbuild/0.15.10: + resolution: {integrity: sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.15.12 - '@esbuild/linux-loong64': 0.15.12 - esbuild-android-64: 0.15.12 - esbuild-android-arm64: 0.15.12 - esbuild-darwin-64: 0.15.12 - esbuild-darwin-arm64: 0.15.12 - esbuild-freebsd-64: 0.15.12 - esbuild-freebsd-arm64: 0.15.12 - esbuild-linux-32: 0.15.12 - esbuild-linux-64: 0.15.12 - esbuild-linux-arm: 0.15.12 - esbuild-linux-arm64: 0.15.12 - esbuild-linux-mips64le: 0.15.12 - esbuild-linux-ppc64le: 0.15.12 - esbuild-linux-riscv64: 0.15.12 - esbuild-linux-s390x: 0.15.12 - esbuild-netbsd-64: 0.15.12 - esbuild-openbsd-64: 0.15.12 - esbuild-sunos-64: 0.15.12 - esbuild-windows-32: 0.15.12 - esbuild-windows-64: 0.15.12 - esbuild-windows-arm64: 0.15.12 + '@esbuild/android-arm': 0.15.10 + '@esbuild/linux-loong64': 0.15.10 + esbuild-android-64: 0.15.10 + esbuild-android-arm64: 0.15.10 + esbuild-darwin-64: 0.15.10 + esbuild-darwin-arm64: 0.15.10 + esbuild-freebsd-64: 0.15.10 + esbuild-freebsd-arm64: 0.15.10 + esbuild-linux-32: 0.15.10 + esbuild-linux-64: 0.15.10 + esbuild-linux-arm: 0.15.10 + esbuild-linux-arm64: 0.15.10 + esbuild-linux-mips64le: 0.15.10 + esbuild-linux-ppc64le: 0.15.10 + esbuild-linux-riscv64: 0.15.10 + esbuild-linux-s390x: 0.15.10 + esbuild-netbsd-64: 0.15.10 + esbuild-openbsd-64: 0.15.10 + esbuild-sunos-64: 0.15.10 + esbuild-windows-32: 0.15.10 + esbuild-windows-64: 0.15.10 + esbuild-windows-arm64: 0.15.10 dev: true /escalade/3.1.1: @@ -6143,6 +6147,11 @@ packages: engines: {node: '>=0.8.0'} dev: true + /escape-string-regexp/2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -6166,19 +6175,19 @@ packages: source-map: 0.6.1 dev: true - /eslint-plugin-vue/9.6.0_eslint@8.26.0: + /eslint-plugin-vue/9.6.0_eslint@8.24.0: resolution: {integrity: sha512-zzySkJgVbFCylnG2+9MDF7N+2Rjze2y0bF8GyUNpFOnT8mCMfqqtLDJkHBuYu9N/psW1A6DVbQhPkP92E+qakA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.26.0 - eslint-utils: 3.0.0_eslint@8.26.0 + eslint: 8.24.0 + eslint-utils: 3.0.0_eslint@8.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.10 semver: 7.3.8 - vue-eslint-parser: 9.1.0_eslint@8.26.0 + vue-eslint-parser: 9.1.0_eslint@8.24.0 xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -6200,13 +6209,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.26.0: + /eslint-utils/3.0.0_eslint@8.24.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.26.0 + eslint: 8.24.0 eslint-visitor-keys: 2.1.0 dev: true @@ -6220,15 +6229,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.26.0: - resolution: {integrity: sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==} + /eslint/8.24.0: + resolution: {integrity: sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.3.3 - '@humanwhocodes/config-array': 0.11.6 + '@eslint/eslintrc': 1.3.2 + '@humanwhocodes/config-array': 0.10.7 + '@humanwhocodes/gitignore-to-minimatch': 1.0.2 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -6236,7 +6245,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.26.0 + eslint-utils: 3.0.0_eslint@8.24.0 eslint-visitor-keys: 3.3.0 espree: 9.4.0 esquery: 1.4.0 @@ -6246,12 +6255,12 @@ packages: find-up: 5.0.0 glob-parent: 6.0.2 globals: 13.17.0 + globby: 11.1.0 grapheme-splitter: 1.0.4 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 js-sdsl: 4.1.5 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 @@ -6425,13 +6434,13 @@ packages: on-headers: 1.0.2 dev: true - /express/4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + /express/4.18.1: + resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.1 + body-parser: 1.20.0 content-disposition: 0.5.4 content-type: 1.0.4 cookie: 0.5.0 @@ -6450,7 +6459,7 @@ packages: parseurl: 1.3.3 path-to-regexp: 0.1.7 proxy-addr: 2.0.7 - qs: 6.11.0 + qs: 6.10.3 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.18.0 @@ -6560,7 +6569,6 @@ packages: /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true /fast-diff/1.2.0: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} @@ -6681,7 +6689,7 @@ packages: dev: true /file-size/0.0.5: - resolution: {integrity: sha512-ZW056dw8Ta1RWHVOQue3LMZe+mSOnHkcM7AN9is8JoHSIHRiLD5szwPAHM3fM7P5SGJ1bkAmCv3PvUTGoluDqA==} + resolution: {integrity: sha1-BX1Dw6Ptc12j+Q1gUqs4Dx5tXjs=} dev: true /file-type/11.1.0: @@ -6924,7 +6932,7 @@ packages: dev: true /fresh/0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} engines: {node: '>= 0.6'} dev: true @@ -7272,7 +7280,7 @@ packages: engines: {node: '>=0.6.0'} hasBin: true dependencies: - minimist: 1.2.7 + minimist: 1.2.6 dev: true /got/10.7.0: @@ -7355,8 +7363,8 @@ packages: engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: true - /happy-dom/7.5.12: - resolution: {integrity: sha512-Q4JE09CMWHptj1bvtoeYqUmdhj/5cuZqj0O60xs/9NgfyxL3YEVKJ588uBcLnCAkBiUvZnAJB6T+6IzbOSMSRA==} + /happy-dom/6.0.4: + resolution: {integrity: sha512-b+ID23Ms0BY08UNLymsOMG7EI2jSlwEt4cbJs938GZfeNAg+fqgkSO3TokQMgSOFoHznpjWmpVjBUL5boJ9PWw==} dependencies: css.escape: 1.5.1 he: 1.2.0 @@ -8306,7 +8314,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 16.11.68 + '@types/node': 16.11.64 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -8357,7 +8365,7 @@ packages: dev: true /json-buffer/3.0.0: - resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} dev: true /json-buffer/3.0.1: @@ -8670,8 +8678,8 @@ packages: p-locate: 6.0.0 dev: true - /lodash-es/4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + /lodash.camelcase/4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} dev: true /lodash.clonedeep/4.5.0: @@ -8957,7 +8965,7 @@ packages: dev: true /media-typer/0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} engines: {node: '>= 0.6'} dev: true @@ -8983,7 +8991,7 @@ packages: dev: true /merge-descriptors/1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} dev: true /merge-options/3.0.4: @@ -9133,8 +9141,8 @@ packages: kind-of: 6.0.3 dev: true - /minimist/1.2.7: - resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} + /minimist/1.2.6: + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} /minipass/3.3.4: resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} @@ -9163,7 +9171,7 @@ packages: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true dependencies: - minimist: 1.2.7 + minimist: 1.2.6 dev: true /mkdirp/1.0.4: @@ -9221,7 +9229,7 @@ packages: dev: true /mute-stream/0.0.7: - resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} + resolution: {integrity: sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=} dev: true /mute-stream/0.0.8: @@ -9284,19 +9292,20 @@ packages: resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} dev: true - /netlify-cli/12.0.9_@types+node@16.11.68: - resolution: {integrity: sha512-AbQZvKKkvQi0WV20G9kr7HlkY6yMnGeq00o9pK2Qox/owzjn4p6zq/a//SmgWuiqaIkXMOTlDd+3vwtfSPwywg==} + /netlify-cli/12.0.2: + resolution: {integrity: sha512-nmIsQC+aidQ8AQFTSOLM/ggBCusQu7xgcs8QC1oj9N26tX3T8Ha9DfU9hfxX+jyNQXQhXXhdDNeT92G2+CqTTw==} engines: {node: ^14.16.0 || >=16.0.0} hasBin: true requiresBuild: true dependencies: - '@netlify/build': 28.1.3_@types+node@16.11.68 - '@netlify/config': 19.0.2 - '@netlify/edge-bundler': 2.9.0 + '@netlify/build': 27.20.2 + '@netlify/config': 18.2.4 + '@netlify/edge-bundler': 2.6.0 '@netlify/framework-info': 9.3.0 '@netlify/local-functions-proxy': 1.1.1 '@netlify/zip-it-and-ship-it': 7.1.2 - '@octokit/rest': 19.0.5 + '@octokit/rest': 18.12.0 + '@sindresorhus/slugify': 1.1.2 ansi-escapes: 5.0.0 ansi-styles: 5.2.0 ansi-to-html: 0.7.2 @@ -9324,7 +9333,7 @@ packages: envinfo: 7.8.1 etag: 1.8.1 execa: 5.1.1 - express: 4.18.2 + express: 4.18.1 express-logging: 1.1.1 find-up: 5.0.0 flush-write-stream: 2.0.0 @@ -9355,12 +9364,12 @@ packages: log-symbols: 4.1.0 log-update: 5.0.1 memoize-one: 6.0.0 - minimist: 1.2.7 + minimist: 1.2.6 multiparty: 4.2.3 - netlify: 13.0.1 - netlify-headers-parser: 7.0.0 + netlify: 12.0.1 + netlify-headers-parser: 6.0.2 netlify-onegraph-internal: 0.10.1 - netlify-redirect-parser: 14.0.0 + netlify-redirect-parser: 13.0.5 netlify-redirector: 0.3.1 node-fetch: 2.6.7 node-version-alias: 1.0.1 @@ -9371,7 +9380,7 @@ packages: p-wait-for: 3.2.0 parallel-transform: 1.2.0 parse-github-url: 1.0.2 - parse-gitignore: 2.0.0 + parse-gitignore: 1.0.1 path-key: 3.1.1 prettyjson: 1.2.5 pump: 3.0.0 @@ -9399,16 +9408,15 @@ packages: - '@swc/core' - '@swc/wasm' - '@types/express' - - '@types/node' - encoding - supports-color - zen-observable - zenObservable dev: true - /netlify-headers-parser/7.0.0: - resolution: {integrity: sha512-pTZFMII81vmomcedriYJbc4V4dOnxMOI++zTpiRpELvpsz704BFS0y8Hzkajep2qfNTdf5zOCWnuj0FZtFDN5w==} - engines: {node: ^14.16.0 || >=16.0.0} + /netlify-headers-parser/6.0.2: + resolution: {integrity: sha512-ahDNi7R+Io4iMylyFrOfRUcBUELrXCT0hNVdqPKTHhH917NHiDCH69f6IhhqbzSaZ2/zGFPBrxA3FzJ48yXs3Q==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: escape-string-regexp: 5.0.0 is-plain-obj: 4.1.0 @@ -9428,9 +9436,9 @@ packages: - encoding dev: true - /netlify-redirect-parser/14.0.0: - resolution: {integrity: sha512-MEqZ6fwVp0CBhOeM5QNOTrUel3U3kDKBRM9MTXMLEgHCb96YuGfMPiCGmNzk98mzVsa2iG7nyp1IGItV203iJQ==} - engines: {node: ^14.16.0 || >=16.0.0} + /netlify-redirect-parser/13.0.5: + resolution: {integrity: sha512-Q5YEQu9YLItP38VzmzJRZ+dP4HTnK0i4Reczq+AC4UDGGEcf9JkyUC8f9YgCoamtMPjX3Qb+o+7lF1vYztH/UQ==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: filter-obj: 3.0.0 is-plain-obj: 4.1.0 @@ -9442,12 +9450,12 @@ packages: resolution: {integrity: sha512-+8x07Ukx8vgKkGqTDq1GrkuCRR0DqheZ9fF5PXk6VbIChp9Qi8+psmwBV3hjocoyUvUGH7CIHLUk05aVwLN3wA==} dev: true - /netlify/13.0.1: - resolution: {integrity: sha512-IgU27UUuTqNUvok8PtpssYcpqSBFeWzHnKrFVDirFs5LQSXO/8wFBr2YeXr2kUMwWTU1MlpqQvDfIg8cKzIN9w==} - engines: {node: ^14.16.0 || >=16.0.0} + /netlify/12.0.1: + resolution: {integrity: sha512-nv16ofE2zHBbB8jQia8+opfdLmVYGrOaorhpInVz5Mkx3kVgJd7Q9c3+dVmSl4VA/4MHX6e4N7X4cH+9sj8Zhw==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: '@netlify/open-api': 2.12.0 - lodash-es: 4.17.21 + lodash.camelcase: 4.3.0 micro-api-client: 3.3.0 node-fetch: 3.2.10 omit.js: 2.0.2 @@ -10046,9 +10054,9 @@ packages: hasBin: true dev: true - /parse-gitignore/2.0.0: - resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} - engines: {node: '>=14'} + /parse-gitignore/1.0.1: + resolution: {integrity: sha512-UGyowyjtx26n65kdAMWhm6/3uy5uSrpcuH7tt+QEVudiBoVS+eqHxD5kbi9oWVRwj7sCzXqwuM+rUGw7earl6A==} + engines: {node: '>=6'} dev: true /parse-json/5.2.0: @@ -10117,7 +10125,7 @@ packages: dev: true /path-to-regexp/0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} dev: true /path-type/3.0.0: @@ -10176,8 +10184,8 @@ packages: engines: {node: '>=6'} dev: true - /pinia/2.0.23_l7r24p6nevbtlimqmqcwa3ouhu: - resolution: {integrity: sha512-N15hFf4o5STrxpNrib1IEb1GOArvPYf1zPvQVRGOO1G1d74Ak0J0lVyalX/SmrzdT4Q0nlEFjbURsmBmIGUR5Q==} + /pinia/2.0.22_l7r24p6nevbtlimqmqcwa3ouhu: + resolution: {integrity: sha512-u+b8/BC+tmvo3ACbYO2w5NfxHWFOjvvw9DQnyT0dW8aUMCPRQT5QnfZ5R5W2MzZBMTeZRMQI7V/QFbafmM9QHw==} peerDependencies: '@vue/composition-api': ^1.4.0 typescript: '>=4.4.4' @@ -10188,7 +10196,7 @@ packages: typescript: optional: true dependencies: - '@vue/devtools-api': 6.4.5 + '@vue/devtools-api': 6.4.3 typescript: 4.8.4 vue: 3.2.41 vue-demi: 0.13.11_vue@3.2.41 @@ -10218,209 +10226,209 @@ packages: engines: {node: '>=0.10.0'} dev: true - /postcss-attribute-case-insensitive/5.0.2_postcss@8.4.18: + /postcss-attribute-case-insensitive/5.0.2_postcss@8.4.17: resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true - /postcss-clamp/4.1.0_postcss@8.4.18: + /postcss-clamp/4.1.0_postcss@8.4.17: resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} engines: {node: '>=7.6.0'} peerDependencies: postcss: ^8.4.6 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-color-functional-notation/4.2.4_postcss@8.4.18: + /postcss-color-functional-notation/4.2.4_postcss@8.4.17: resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-color-hex-alpha/8.0.4_postcss@8.4.18: + /postcss-color-hex-alpha/8.0.4_postcss@8.4.17: resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-color-rebeccapurple/7.1.1_postcss@8.4.18: + /postcss-color-rebeccapurple/7.1.1_postcss@8.4.17: resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-media/8.0.2_postcss@8.4.18: + /postcss-custom-media/8.0.2_postcss@8.4.17: resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-properties/12.1.9_postcss@8.4.18: + /postcss-custom-properties/12.1.9_postcss@8.4.17: resolution: {integrity: sha512-/E7PRvK8DAVljBbeWrcEQJPG72jaImxF3vvCNFwv9cC8CzigVoNIpeyfnJzphnN3Fd8/auBf5wvkw6W9MfmTyg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-selectors/6.0.3_postcss@8.4.18: + /postcss-custom-selectors/6.0.3_postcss@8.4.17: resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true - /postcss-dir-pseudo-class/6.0.5_postcss@8.4.18: + /postcss-dir-pseudo-class/6.0.5_postcss@8.4.17: resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true - /postcss-double-position-gradients/3.1.2_postcss@8.4.18: + /postcss-double-position-gradients/3.1.2_postcss@8.4.17: resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.18 - postcss: 8.4.18 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.17 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-env-function/4.0.6_postcss@8.4.18: + /postcss-env-function/4.0.6_postcss@8.4.17: resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-focus-visible/6.0.4_postcss@8.4.18: + /postcss-focus-visible/6.0.4_postcss@8.4.17: resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true - /postcss-focus-within/5.0.4_postcss@8.4.18: + /postcss-focus-within/5.0.4_postcss@8.4.17: resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true - /postcss-font-variant/5.0.0_postcss@8.4.18: + /postcss-font-variant/5.0.0_postcss@8.4.17: resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 dev: true - /postcss-gap-properties/3.0.5_postcss@8.4.18: + /postcss-gap-properties/3.0.5_postcss@8.4.17: resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 dev: true - /postcss-image-set-function/4.0.7_postcss@8.4.18: + /postcss-image-set-function/4.0.7_postcss@8.4.17: resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-initial/4.0.1_postcss@8.4.18: + /postcss-initial/4.0.1_postcss@8.4.17: resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 dev: true - /postcss-lab-function/4.2.1_postcss@8.4.18: + /postcss-lab-function/4.2.1_postcss@8.4.17: resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.18 - postcss: 8.4.18 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.17 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-logical/5.0.4_postcss@8.4.18: + /postcss-logical/5.0.4_postcss@8.4.17: resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 dev: true - /postcss-media-minmax/5.0.0_postcss@8.4.18: + /postcss-media-minmax/5.0.0_postcss@8.4.17: resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 dev: true - /postcss-nesting/10.2.0_postcss@8.4.18: + /postcss-nesting/10.2.0_postcss@8.4.17: resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.0.2_dvkg4kkb622mvceygg47xxdz3a - postcss: 8.4.18 + '@csstools/selector-specificity': 2.0.2_zurzgjffv23ohtxa7nq7nizuja + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true @@ -10429,117 +10437,117 @@ packages: engines: {node: ^12 || ^14 || >=16} dev: true - /postcss-overflow-shorthand/3.0.4_postcss@8.4.18: + /postcss-overflow-shorthand/3.0.4_postcss@8.4.17: resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-page-break/3.0.4_postcss@8.4.18: + /postcss-page-break/3.0.4_postcss@8.4.17: resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} peerDependencies: postcss: ^8 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 dev: true - /postcss-place/7.0.5_postcss@8.4.18: + /postcss-place/7.0.5_postcss@8.4.17: resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-preset-env/7.8.2_postcss@8.4.18: + /postcss-preset-env/7.8.2_postcss@8.4.17: resolution: {integrity: sha512-rSMUEaOCnovKnwc5LvBDHUDzpGP+nrUeWZGWt9M72fBvckCi45JmnJigUr4QG4zZeOHmOCNCZnd2LKDvP++ZuQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-cascade-layers': 1.1.1_postcss@8.4.18 - '@csstools/postcss-color-function': 1.1.1_postcss@8.4.18 - '@csstools/postcss-font-format-keywords': 1.0.1_postcss@8.4.18 - '@csstools/postcss-hwb-function': 1.0.2_postcss@8.4.18 - '@csstools/postcss-ic-unit': 1.0.1_postcss@8.4.18 - '@csstools/postcss-is-pseudo-class': 2.0.7_postcss@8.4.18 - '@csstools/postcss-nested-calc': 1.0.0_postcss@8.4.18 - '@csstools/postcss-normalize-display-values': 1.0.1_postcss@8.4.18 - '@csstools/postcss-oklab-function': 1.1.1_postcss@8.4.18 - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.18 - '@csstools/postcss-stepped-value-functions': 1.0.1_postcss@8.4.18 - '@csstools/postcss-text-decoration-shorthand': 1.0.0_postcss@8.4.18 - '@csstools/postcss-trigonometric-functions': 1.0.2_postcss@8.4.18 - '@csstools/postcss-unset-value': 1.0.2_postcss@8.4.18 - autoprefixer: 10.4.12_postcss@8.4.18 + '@csstools/postcss-cascade-layers': 1.1.1_postcss@8.4.17 + '@csstools/postcss-color-function': 1.1.1_postcss@8.4.17 + '@csstools/postcss-font-format-keywords': 1.0.1_postcss@8.4.17 + '@csstools/postcss-hwb-function': 1.0.2_postcss@8.4.17 + '@csstools/postcss-ic-unit': 1.0.1_postcss@8.4.17 + '@csstools/postcss-is-pseudo-class': 2.0.7_postcss@8.4.17 + '@csstools/postcss-nested-calc': 1.0.0_postcss@8.4.17 + '@csstools/postcss-normalize-display-values': 1.0.1_postcss@8.4.17 + '@csstools/postcss-oklab-function': 1.1.1_postcss@8.4.17 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.17 + '@csstools/postcss-stepped-value-functions': 1.0.1_postcss@8.4.17 + '@csstools/postcss-text-decoration-shorthand': 1.0.0_postcss@8.4.17 + '@csstools/postcss-trigonometric-functions': 1.0.2_postcss@8.4.17 + '@csstools/postcss-unset-value': 1.0.2_postcss@8.4.17 + autoprefixer: 10.4.12_postcss@8.4.17 browserslist: 4.21.4 - css-blank-pseudo: 3.0.3_postcss@8.4.18 - css-has-pseudo: 3.0.4_postcss@8.4.18 - css-prefers-color-scheme: 6.0.3_postcss@8.4.18 + css-blank-pseudo: 3.0.3_postcss@8.4.17 + css-has-pseudo: 3.0.4_postcss@8.4.17 + css-prefers-color-scheme: 6.0.3_postcss@8.4.17 cssdb: 7.0.1 - postcss: 8.4.18 - postcss-attribute-case-insensitive: 5.0.2_postcss@8.4.18 - postcss-clamp: 4.1.0_postcss@8.4.18 - postcss-color-functional-notation: 4.2.4_postcss@8.4.18 - postcss-color-hex-alpha: 8.0.4_postcss@8.4.18 - postcss-color-rebeccapurple: 7.1.1_postcss@8.4.18 - postcss-custom-media: 8.0.2_postcss@8.4.18 - postcss-custom-properties: 12.1.9_postcss@8.4.18 - postcss-custom-selectors: 6.0.3_postcss@8.4.18 - postcss-dir-pseudo-class: 6.0.5_postcss@8.4.18 - postcss-double-position-gradients: 3.1.2_postcss@8.4.18 - postcss-env-function: 4.0.6_postcss@8.4.18 - postcss-focus-visible: 6.0.4_postcss@8.4.18 - postcss-focus-within: 5.0.4_postcss@8.4.18 - postcss-font-variant: 5.0.0_postcss@8.4.18 - postcss-gap-properties: 3.0.5_postcss@8.4.18 - postcss-image-set-function: 4.0.7_postcss@8.4.18 - postcss-initial: 4.0.1_postcss@8.4.18 - postcss-lab-function: 4.2.1_postcss@8.4.18 - postcss-logical: 5.0.4_postcss@8.4.18 - postcss-media-minmax: 5.0.0_postcss@8.4.18 - postcss-nesting: 10.2.0_postcss@8.4.18 + postcss: 8.4.17 + postcss-attribute-case-insensitive: 5.0.2_postcss@8.4.17 + postcss-clamp: 4.1.0_postcss@8.4.17 + postcss-color-functional-notation: 4.2.4_postcss@8.4.17 + postcss-color-hex-alpha: 8.0.4_postcss@8.4.17 + postcss-color-rebeccapurple: 7.1.1_postcss@8.4.17 + postcss-custom-media: 8.0.2_postcss@8.4.17 + postcss-custom-properties: 12.1.9_postcss@8.4.17 + postcss-custom-selectors: 6.0.3_postcss@8.4.17 + postcss-dir-pseudo-class: 6.0.5_postcss@8.4.17 + postcss-double-position-gradients: 3.1.2_postcss@8.4.17 + postcss-env-function: 4.0.6_postcss@8.4.17 + postcss-focus-visible: 6.0.4_postcss@8.4.17 + postcss-focus-within: 5.0.4_postcss@8.4.17 + postcss-font-variant: 5.0.0_postcss@8.4.17 + postcss-gap-properties: 3.0.5_postcss@8.4.17 + postcss-image-set-function: 4.0.7_postcss@8.4.17 + postcss-initial: 4.0.1_postcss@8.4.17 + postcss-lab-function: 4.2.1_postcss@8.4.17 + postcss-logical: 5.0.4_postcss@8.4.17 + postcss-media-minmax: 5.0.0_postcss@8.4.17 + postcss-nesting: 10.2.0_postcss@8.4.17 postcss-opacity-percentage: 1.1.2 - postcss-overflow-shorthand: 3.0.4_postcss@8.4.18 - postcss-page-break: 3.0.4_postcss@8.4.18 - postcss-place: 7.0.5_postcss@8.4.18 - postcss-pseudo-class-any-link: 7.1.6_postcss@8.4.18 - postcss-replace-overflow-wrap: 4.0.0_postcss@8.4.18 - postcss-selector-not: 6.0.1_postcss@8.4.18 + postcss-overflow-shorthand: 3.0.4_postcss@8.4.17 + postcss-page-break: 3.0.4_postcss@8.4.17 + postcss-place: 7.0.5_postcss@8.4.17 + postcss-pseudo-class-any-link: 7.1.6_postcss@8.4.17 + postcss-replace-overflow-wrap: 4.0.0_postcss@8.4.17 + postcss-selector-not: 6.0.1_postcss@8.4.17 postcss-value-parser: 4.2.0 dev: true - /postcss-pseudo-class-any-link/7.1.6_postcss@8.4.18: + /postcss-pseudo-class-any-link/7.1.6_postcss@8.4.17: resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true - /postcss-replace-overflow-wrap/4.0.0_postcss@8.4.18: + /postcss-replace-overflow-wrap/4.0.0_postcss@8.4.17: resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} peerDependencies: postcss: ^8.0.3 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 dev: true - /postcss-selector-not/6.0.1_postcss@8.4.18: + /postcss-selector-not/6.0.1_postcss@8.4.17: resolution: {integrity: sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.18 + postcss: 8.4.17 postcss-selector-parser: 6.0.10 dev: true @@ -10555,7 +10563,7 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss-values-parser/6.0.2_postcss@8.4.18: + /postcss-values-parser/6.0.2_postcss@8.4.17: resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} engines: {node: '>=10'} peerDependencies: @@ -10563,12 +10571,12 @@ packages: dependencies: color-name: 1.1.4 is-url-superb: 4.0.0 - postcss: 8.4.18 + postcss: 8.4.17 quote-unquote: 1.0.0 dev: true - /postcss/8.4.18: - resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==} + /postcss/8.4.17: + resolution: {integrity: sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.4 @@ -10678,7 +10686,7 @@ packages: hasBin: true dependencies: colors: 1.4.0 - minimist: 1.2.7 + minimist: 1.2.6 dev: true /process-nextick-args/2.0.1: @@ -10700,7 +10708,7 @@ packages: dev: true /proxy-from-env/1.0.0: - resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} + resolution: {integrity: sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=} dev: true /ps-list/8.1.0: @@ -10738,6 +10746,13 @@ packages: escape-goat: 2.1.1 dev: true + /qs/6.10.3: + resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + /qs/6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -10804,7 +10819,7 @@ packages: dependencies: deep-extend: 0.6.0 ini: 1.3.8 - minimist: 1.2.7 + minimist: 1.2.6 strip-json-comments: 2.0.1 dev: true @@ -11144,18 +11159,18 @@ packages: terser: 5.15.1 dev: true - /rollup-plugin-visualizer/5.8.3_rollup@3.2.3: - resolution: {integrity: sha512-QGJk4Bqe4AOat5AjipOh8esZH1nck5X2KFpf4VytUdSUuuuSwvIQZjMGgjcxe/zXexltqaXp5Vx1V3LmnQH15Q==} + /rollup-plugin-visualizer/5.8.2_rollup@2.79.1: + resolution: {integrity: sha512-Fh7KoAa7FVVOojmyyX9ro7fBSR7mPG2cgfDbA877HM4IeJJtSZO+I/R3h/u6TB8wVP5J4pXPpTaRMSREyqCS3g==} engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: 2.x || 3.x + rollup: ^2.0.0 peerDependenciesMeta: rollup: optional: true dependencies: open: 8.4.0 - rollup: 3.2.3 + rollup: 2.79.1 source-map: 0.7.4 yargs: 17.6.0 dev: true @@ -11182,14 +11197,6 @@ packages: fsevents: 2.3.2 dev: true - /rollup/3.2.3: - resolution: {integrity: sha512-qfadtkY5kl0F5e4dXVdj2D+GtOdifasXHFMiL1SMf9ADQDv5Eti6xReef9FKj+iQPR2pvtqWna57s/PjARY4fg==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - /run-async/2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -11954,7 +11961,7 @@ packages: debug: 4.3.4 es6-promisify: 6.1.1 inquirer: 6.5.2 - minimist: 1.2.7 + minimist: 1.2.6 mkdirp: 0.5.6 untildify: 3.0.3 transitivePeerDependencies: @@ -12242,7 +12249,7 @@ packages: resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==} dev: true - /ts-node/10.9.1_qz5pgscfesxhf7rldkrewqhv5y: + /ts-node/10.9.1_k2jc2lb6qrtdc3lulqxjwnbwoi: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12261,7 +12268,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 16.11.68 + '@types/node': 16.11.64 acorn: 8.8.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -12390,8 +12397,8 @@ packages: resolution: {integrity: sha512-C7pYBQK17EjSg8tVNY91KHdUt5Nf6FMJ+c3js076quPmBML57PmNMzAcIq/2kf/hSYtFABNDIYNYlJRl5BJhGw==} dev: false - /ufo/0.8.6: - resolution: {integrity: sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw==} + /ufo/0.8.5: + resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==} dev: false /uid-safe/2.1.5: @@ -12584,7 +12591,7 @@ packages: dev: true /utils-merge/1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} engines: {node: '>= 0.4.0'} dev: true @@ -12622,7 +12629,7 @@ packages: dev: true /verror/1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=} engines: {'0': node >=0.6.0} dependencies: assert-plus: 1.0.0 @@ -12674,8 +12681,8 @@ packages: terser: optional: true dependencies: - esbuild: 0.15.12 - postcss: 8.4.18 + esbuild: 0.15.10 + postcss: 8.4.17 resolve: 1.22.1 rollup: 2.78.1 sass: 1.55.0 @@ -12684,8 +12691,8 @@ packages: fsevents: 2.3.2 dev: true - /vitest/0.24.3_idc3y7eafdr75rmzzpi7yuxo5u: - resolution: {integrity: sha512-aM0auuPPgMSstWvr851hB74g/LKaKBzSxcG3da7ejfZbx08Y21JpZmbmDYrMTCGhVZKqTGwzcnLMwyfz2WzkhQ==} + /vitest/0.23.4_k3tqzgv3vrnpmbq3o6ks4hg4vi: + resolution: {integrity: sha512-iukBNWqQAv8EKDBUNntspLp9SfpaVFbmzmM0sNcnTxASQZMzRw3PsM6DMlsHiI+I6GeO5/sYDg3ecpC+SNFLrQ==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -12708,10 +12715,10 @@ packages: dependencies: '@types/chai': 4.3.3 '@types/chai-subset': 1.3.3 - '@types/node': 16.11.68 + '@types/node': 16.11.64 chai: 4.3.6 debug: 4.3.4 - happy-dom: 7.5.12 + happy-dom: 6.0.4 local-pkg: 0.4.2 strip-literal: 0.4.2 tinybench: 2.3.0 @@ -12757,14 +12764,14 @@ packages: resolution: {integrity: sha512-5q03tZ/LyvQsg1iHRcqs+wI2OKNbNIWl9+7V8rVL6MxJhZLCIYSSgbAUaDE38LhD6dFd5aJhdgNmES61AxjXuw==} dev: false - /vue-eslint-parser/9.1.0_eslint@8.26.0: + /vue-eslint-parser/9.1.0_eslint@8.24.0: resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.26.0 + eslint: 8.24.0 eslint-scope: 7.1.1 eslint-visitor-keys: 3.3.0 espree: 9.4.0 @@ -12775,11 +12782,11 @@ packages: - supports-color dev: true - /vue-flatpickr-component/10.0.0_vue@3.2.41: - resolution: {integrity: sha512-1l8DYSLwoyn+LoRz4lia0TcQQtXFAZpd99SiKYf4RO6f7JSIVX6PMYyGwEKpWZBJfxGBCZpTgeyMLDZwFFYyZg==} - engines: {node: '>=14.13.0'} + /vue-flatpickr-component/9.0.8_vue@3.2.41: + resolution: {integrity: sha512-wuvG3ijNkGwUKP+F5l4Jai5za46pI7T2AQ+boPY0QB2Y4EP6hcaubfaYwMqrs4w69u8JCnqsKqGg+mWpqF5j3A==} + engines: {node: '>=12.13.0'} peerDependencies: - vue: ^3.2.0 + vue: ^3.0.0 dependencies: flatpickr: 4.6.13 vue: 3.2.41 @@ -12822,14 +12829,14 @@ packages: he: 1.2.0 dev: true - /vue-tsc/1.0.9_typescript@4.8.4: - resolution: {integrity: sha512-vRmHD1K6DmBymNhoHjQy/aYKTRQNLGOu2/ESasChG9Vy113K6CdP0NlhR0bzgFJfv2eFB9Ez/9L5kIciUajBxQ==} + /vue-tsc/1.0.8_typescript@4.8.4: + resolution: {integrity: sha512-+0sJ+QVH7SHLt8mV/uIw4xlHDk1mWigZkMFugfZTv8rlHpM3S2tCVZ0BWEGclT/0rKdO8j+St+mljpvhWPN/eQ==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/vue-language-core': 1.0.9 - '@volar/vue-typescript': 1.0.9 + '@volar/vue-language-core': 1.0.8 + '@volar/vue-typescript': 1.0.8 typescript: 4.8.4 dev: true @@ -12850,7 +12857,7 @@ packages: axios: 0.25.0 joi: 17.6.2 lodash: 4.17.21 - minimist: 1.2.7 + minimist: 1.2.6 rxjs: 7.5.7 transitivePeerDependencies: - debug @@ -13303,3 +13310,16 @@ packages: compress-commons: 4.1.1 readable-stream: 3.6.0 dev: true + + file:vendor/infectoone-vue-ganttastic-2.1.1.tgz_dayjs@1.11.5+vue@3.2.41: + resolution: {integrity: sha512-FCOa5sioj/e6k9QXzCHHt0Qydy733BdQMrCcjz4Dag5e7lBFPAoL1EgAA+JfmL4ZXldVpukjnmNYEPWdeIaftQ==, tarball: file:vendor/infectoone-vue-ganttastic-2.1.1.tgz} + id: file:vendor/infectoone-vue-ganttastic-2.1.1.tgz + name: '@infectoone/vue-ganttastic' + version: 2.1.1 + peerDependencies: + dayjs: ^1.11.5 + vue: ^3.2.40 + dependencies: + dayjs: 1.11.5 + vue: 3.2.41 + dev: false diff --git a/src/composables/useRouteFilters.ts b/src/composables/useRouteFilters.ts index dc25ad012..0959ab59b 100644 --- a/src/composables/useRouteFilters.ts +++ b/src/composables/useRouteFilters.ts @@ -1,11 +1,13 @@ import {computed, ref, watch, type Ref} from 'vue' import {useRouter, type RouteLocationNormalized, type RouteLocationRaw} from 'vue-router' import cloneDeep from 'lodash.clonedeep' +import equal from 'fast-deep-equal/es6' export type Filters = Record export function useRouteFilters( route: Ref, + getDefaultFilters: (route: RouteLocationNormalized) => CurrentFilters, routeToFilters: (route: RouteLocationNormalized) => CurrentFilters, filtersToRoute: (filters: CurrentFilters) => RouteLocationRaw, ) { @@ -37,7 +39,17 @@ export function useRouteFilters( {flush: 'post'}, ) + const hasDefaultFilters = computed(() => { + return equal(filters.value, getDefaultFilters(route.value)) + }) + + function setDefaultFilters() { + filters.value = getDefaultFilters(route.value) + } + return { filters, + hasDefaultFilters, + setDefaultFilters, } } \ No newline at end of file diff --git a/src/views/list/ListGantt.vue b/src/views/list/ListGantt.vue index 362beb685..b032f74bb 100644 --- a/src/views/list/ListGantt.vue +++ b/src/views/list/ListGantt.vue @@ -16,6 +16,12 @@ /> +
+ +
+ Reset +
+
{{ $t('list.gantt.showTasksWithoutDates') }} @@ -74,6 +80,8 @@ const canWrite = computed(() => baseStore.currentList.maxRight > RIGHTS.READ) const {route} = toRefs(props) const { filters, + hasDefaultFilters, + setDefaultFilters, tasks, isLoading, addTask, diff --git a/src/views/list/helpers/useGanttFilters.ts b/src/views/list/helpers/useGanttFilters.ts index 86f63cd13..dabfdba5e 100644 --- a/src/views/list/helpers/useGanttFilters.ts +++ b/src/views/list/helpers/useGanttFilters.ts @@ -47,6 +47,10 @@ function ganttRouteToFilters(route: Partial): GanttFilt } } +function ganttGetDefaultFilters(route: Partial): GanttFilters { + return ganttRouteToFilters({params: {listId: route.params?.listId as string}}) +} + // FIXME: use zod for this function ganttFiltersToRoute(filters: GanttFilters): RouteLocationRaw { let query: Record = {} @@ -88,9 +92,12 @@ export type UseGanttFiltersReturn = ReturnType & ReturnT export function useGanttFilters(route: Ref): UseGanttFiltersReturn { const { filters, + hasDefaultFilters, + setDefaultFilters, } = useRouteFilters( route, ganttRouteToFilters, + ganttGetDefaultFilters, ganttFiltersToRoute ) @@ -105,6 +112,8 @@ export function useGanttFilters(route: Ref): UseGanttFi return { filters, + hasDefaultFilters, + setDefaultFilters, tasks, loadTasks, From e74e6fcc996cced93f040782ac278db6baea975e Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Mon, 24 Oct 2022 16:40:57 +0200 Subject: [PATCH 68/78] feat: move config preparation in separate function --- src/components/misc/flatpickr/Flatpickr.vue | 28 +++++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/components/misc/flatpickr/Flatpickr.vue b/src/components/misc/flatpickr/Flatpickr.vue index 948007ce4..bbfea8600 100644 --- a/src/components/misc/flatpickr/Flatpickr.vue +++ b/src/components/misc/flatpickr/Flatpickr.vue @@ -84,7 +84,7 @@ const props = defineProps({ // ); // } }, - // https://chmln.github.io/flatpickr/options/ + // https://flatpickr.js.org/options/ config: { type: Object as PropType, default: () => ({ @@ -117,17 +117,10 @@ const root = ref(null) const fp = ref(null) const safeConfig = ref(cloneObject(props.config)) -onMounted(() => { +function prepareConfig() { // Don't mutate original object on parent component const newConfig = cloneObject(props.config) - if ( - fp.value || // Return early if flatpickr is already loaded - !root.value // our input needs to be mounted - ) { - return - } - props.events.forEach((hook) => { // Respect global callbacks registered via setDefault() method const globalCallbacks = Flatpickr.defaultConfig[hook] || [] @@ -155,6 +148,19 @@ onMounted(() => { safeConfig.value = newConfig + return safeConfig.value +} + +onMounted(() => { + if ( + fp.value || // Return early if flatpickr is already loaded + !root.value // our input needs to be mounted + ) { + return + } + + prepareConfig() + /** * Get the HTML node where flatpickr to be attached * Bind on parent element if wrap is true @@ -225,8 +231,8 @@ watch( newValue => { // Prevent updates if v-model value is same as input's current value if (!root.value || newValue === nullify(root.value.value)) return - // Make sure we have a flatpickr instanceand - // Notify flatpickr instance that there is a change in value + // Make sure we have a flatpickr instance and + // notify flatpickr instance that there is a change in value fp.value?.setDate(newValue, true) }, {deep: true}, From 874dc1e5fc9f76ad3d45f555b9d04585cd9a2704 Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Mon, 24 Oct 2022 16:52:38 +0200 Subject: [PATCH 69/78] feat: align with vue-flatpickr-component 10 --- src/components/misc/flatpickr/Flatpickr.vue | 26 +++++++++------------ 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/components/misc/flatpickr/Flatpickr.vue b/src/components/misc/flatpickr/Flatpickr.vue index bbfea8600..5fc6ea44d 100644 --- a/src/components/misc/flatpickr/Flatpickr.vue +++ b/src/components/misc/flatpickr/Flatpickr.vue @@ -9,15 +9,15 @@