diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 0dbed85501..787bbe9cbf 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -63,6 +63,47 @@ jobs: - name: run unit tests working-directory: ./packages/nocodb run: npm run test:unit + unit-tests-pg: + runs-on: ubuntu-20.04 + timeout-minutes: 40 + if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + env: + cache-name: cache-node-modules + + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + - name: setup pg + working-directory: ./ + run: docker-compose -f ./tests/playwright/scripts/docker-compose-playwright-pg.yml up -d & + - name: install dependencies nocodb-sdk + working-directory: ./packages/nocodb-sdk + run: npm install + - name: build nocodb-sdk + working-directory: ./packages/nocodb-sdk + run: npm run build:main + - name: Install dependencies + working-directory: ./packages/nocodb + run: npm install + - name: run unit tests + working-directory: ./packages/nocodb + run: npm run test:unit:pg playwright-mysql-1: if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }} uses: ./.github/workflows/playwright-test-workflow.yml diff --git a/.github/workflows/publish-api-docs.yml b/.github/workflows/publish-api-docs.yml index e54cd12976..47860cdd7f 100644 --- a/.github/workflows/publish-api-docs.yml +++ b/.github/workflows/publish-api-docs.yml @@ -4,7 +4,7 @@ on: push: branches: [ master ] paths: - - "scripts/sdk/swagger.json" + - "packages/nocodb/src/schema/swagger.json" release: types: [ published ] @@ -22,7 +22,7 @@ jobs: env: API_TOKEN_GITHUB: ${{ secrets.GH_TOKEN }} with: - source_file: 'scripts/sdk/swagger.json' + source_file: 'packages/nocodb/src/schema/swagger.json' destination_repo: 'nocodb/noco-apis-doc' destination_folder: 'src' user_email: 'oof1lab@gmail.com' @@ -34,7 +34,7 @@ jobs: env: API_TOKEN_GITHUB: ${{ secrets.GH_TOKEN }} with: - source_file: 'scripts/sdk/swagger.json' + source_file: 'packages/nocodb/src/schema/swagger.json' destination_repo: 'nocodb/noco-apis-doc' destination_folder: 'meta-src' user_email: 'oof1lab@gmail.com' diff --git a/.github/workflows/release-timely-executables.yml b/.github/workflows/release-timely-executables.yml index ab7706709c..e3c18570ae 100644 --- a/.github/workflows/release-timely-executables.yml +++ b/.github/workflows/release-timely-executables.yml @@ -62,6 +62,10 @@ jobs: ./make.sh sudo cp ./ldid /usr/local/bin + - uses: actions/setup-node@v3 + with: + node-version: 16 + - name: Update nocodb-timely env: TAG: ${{ github.event.inputs.tag || inputs.tag }} @@ -75,11 +79,6 @@ jobs: git tag $TAG git push --tags - - - uses: actions/setup-node@v3 - with: - node-version: 16 - - name : Install dependencies and build executables run: | # install npm dependendencies diff --git a/charts/nocodb/templates/pvc.yaml b/charts/nocodb/templates/pvc.yaml index 67656c01d1..092a1b0439 100644 --- a/charts/nocodb/templates/pvc.yaml +++ b/charts/nocodb/templates/pvc.yaml @@ -5,10 +5,10 @@ metadata: labels: {{- include "nocodb.selectorLabels" . | nindent 8 }} spec: - accessModes: - - ReadWriteMany resources: requests: storage: {{ .Values.storage.size }} storageClassName: {{ .Values.storage.storageClassName }} + accessModes: + {{- default (toYaml .Values.storage.accessModes) "- ReadWriteMany" | nindent 4 }} volumeMode: Filesystem diff --git a/packages/nc-gui/assets/style.scss b/packages/nc-gui/assets/style.scss index 3cd427b4b9..25f17ff5e9 100644 --- a/packages/nc-gui/assets/style.scss +++ b/packages/nc-gui/assets/style.scss @@ -287,6 +287,10 @@ a { @apply !shadow-none rounded hover:(ring-1 ring-primary ring-opacity-100) focus:(ring-1 ring-accent ring-opacity-100); } +.nc-warning-info { + @apply !shadow-none rounded ring-1 ring-red-600 +} + .ant-modal { @apply !top-[50px]; } diff --git a/packages/nc-gui/components.d.ts b/packages/nc-gui/components.d.ts index 99bc5645f2..372758da9a 100644 --- a/packages/nc-gui/components.d.ts +++ b/packages/nc-gui/components.d.ts @@ -89,6 +89,7 @@ declare module '@vue/runtime-core' { IcTwotoneWidthNormal: typeof import('~icons/ic/twotone-width-normal')['default'] LogosGoogleGmail: typeof import('~icons/logos/google-gmail')['default'] LogosMysqlIcon: typeof import('~icons/logos/mysql-icon')['default'] + LogosOracle: typeof import('~icons/logos/oracle')['default'] LogosPostgresql: typeof import('~icons/logos/postgresql')['default'] LogosRedditIcon: typeof import('~icons/logos/reddit-icon')['default'] LogosSnowflakeIcon: typeof import('~icons/logos/snowflake-icon')['default'] @@ -203,6 +204,8 @@ declare module '@vue/runtime-core' { MdiLogin: typeof import('~icons/mdi/login')['default'] MdiLogout: typeof import('~icons/mdi/logout')['default'] MdiMagnify: typeof import('~icons/mdi/magnify')['default'] + MdiMapMarker: typeof import('~icons/mdi/map-marker')['default'] + MdiMapMarkerAlert: typeof import('~icons/mdi/map-marker-alert')['default'] MdiMenu: typeof import('~icons/mdi/menu')['default'] MdiMenuDown: typeof import('~icons/mdi/menu-down')['default'] MdiMicrosoftTeams: typeof import('~icons/mdi/microsoft-teams')['default'] @@ -249,8 +252,12 @@ declare module '@vue/runtime-core' { NcIconsRowHeightMedium: typeof import('~icons/nc-icons/row-height-medium')['default'] NcIconsRowHeightShort: typeof import('~icons/nc-icons/row-height-short')['default'] NcIconsRowHeightTall: typeof import('~icons/nc-icons/row-height-tall')['default'] + PhChatTextThin: typeof import('~icons/ph/chat-text-thin')['default'] PhCloudLightningDuotone: typeof import('~icons/ph/cloud-lightning-duotone')['default'] + PhCloudLightningThin: typeof import('~icons/ph/cloud-lightning-thin')['default'] PhFileCsv: typeof import('~icons/ph/file-csv')['default'] + PhUserPlusThin: typeof import('~icons/ph/user-plus-thin')['default'] + PhUsersThreeThin: typeof import('~icons/ph/users-three-thin')['default'] RiLineHeight: typeof import('~icons/ri/line-height')['default'] RiTeamFill: typeof import('~icons/ri/team-fill')['default'] RouterLink: typeof import('vue-router')['RouterLink'] diff --git a/packages/nc-gui/components/account/ResetPassword.vue b/packages/nc-gui/components/account/ResetPassword.vue index 804196f102..dc3d17fb55 100644 --- a/packages/nc-gui/components/account/ResetPassword.vue +++ b/packages/nc-gui/components/account/ResetPassword.vue @@ -54,7 +54,7 @@ const passwordChange = async () => { message.success(t('msg.success.passwordChanged')) - signOut() + await signOut() navigateTo('/signin') } diff --git a/packages/nc-gui/components/account/UserList.vue b/packages/nc-gui/components/account/UserList.vue index b1186e3481..281d04a85a 100644 --- a/packages/nc-gui/components/account/UserList.vue +++ b/packages/nc-gui/components/account/UserList.vue @@ -1,6 +1,6 @@ + + + + + + + + {{ latLongStr }} + + + + {{ latLongStr }} + + + + + {{ $t('labels.lat') }}: + + + + + + + {{ $t('labels.lng') }}: + + + + + + + {{ $t('labels.yourLocation') }} + + + + + {{ $t('general.cancel') }} + {{ $t('general.submit') }} + + + + + + + + diff --git a/packages/nc-gui/components/cell/MultiSelect.vue b/packages/nc-gui/components/cell/MultiSelect.vue index 7bd77a36ef..9d6ec72434 100644 --- a/packages/nc-gui/components/cell/MultiSelect.vue +++ b/packages/nc-gui/components/cell/MultiSelect.vue @@ -32,6 +32,7 @@ interface Props { modelValue?: string | string[] rowIndex?: number disableOptionCreation?: boolean + location?: 'cell' | 'filter' } const { modelValue, disableOptionCreation } = defineProps() @@ -336,7 +337,7 @@ useEventListener(document, 'click', handleClose, true) v-for="op of options" :key="op.id || op.title" :value="op.title" - :data-testid="`select-option-${column.title}-${rowIndex}`" + :data-testid="`select-option-${column.title}-${location === 'filter' ? 'filter' : rowIndex}`" :class="`nc-select-option-${column.title}-${op.title}`" @click.stop > diff --git a/packages/nc-gui/components/cell/SingleSelect.vue b/packages/nc-gui/components/cell/SingleSelect.vue index 3bf447a7c6..dcdb5b3b28 100644 --- a/packages/nc-gui/components/cell/SingleSelect.vue +++ b/packages/nc-gui/components/cell/SingleSelect.vue @@ -19,6 +19,7 @@ import { isDrawerOrModalExist, ref, useEventListener, + useProject, useRoles, useSelectedCellKeyupListener, watch, @@ -247,12 +248,12 @@ useEventListener(document, 'click', handleClose, true) { NULL - + diff --git a/packages/nc-gui/components/cell/TextArea.vue b/packages/nc-gui/components/cell/TextArea.vue index 86d0564e2e..21ebfd8e0b 100644 --- a/packages/nc-gui/components/cell/TextArea.vue +++ b/packages/nc-gui/components/cell/TextArea.vue @@ -45,3 +45,9 @@ const focus: VNodeRef = (el) => (el as HTMLTextAreaElement)?.focus() {{ vModel }} + + diff --git a/packages/nc-gui/components/cell/attachment/utils.ts b/packages/nc-gui/components/cell/attachment/utils.ts index 438ae5c599..86e490a4fb 100644 --- a/packages/nc-gui/components/cell/attachment/utils.ts +++ b/packages/nc-gui/components/cell/attachment/utils.ts @@ -13,6 +13,7 @@ import { isImage, message, ref, + storeToRefs, useApi, useAttachment, useFileDialog, @@ -51,7 +52,7 @@ export const [useProvideAttachmentCell, useAttachmentCell] = useInjectionState( /** for image carousel */ const selectedImage = ref() - const { project } = useProject() + const { project } = storeToRefs(useProject()) const { api, isLoading } = useApi() diff --git a/packages/nc-gui/components/dashboard/TreeView.vue b/packages/nc-gui/components/dashboard/TreeView.vue index 2c028ad472..5b1d40e49e 100644 --- a/packages/nc-gui/components/dashboard/TreeView.vue +++ b/packages/nc-gui/components/dashboard/TreeView.vue @@ -17,6 +17,7 @@ import { reactive, ref, resolveComponent, + storeToRefs, useDialog, useGlobal, useNuxtApp, @@ -35,9 +36,12 @@ const { addTab, updateTab } = useTabs() const { $api, $e } = useNuxtApp() -const { bases, tables, loadTables, isSharedBase } = useProject() +const projectStore = useProject() -const { activeTab } = useTabs() +const { loadTables } = projectStore +const { bases, tables, isSharedBase } = storeToRefs(projectStore) + +const { activeTab } = storeToRefs(useTabs()) const { deleteTable } = useTable() diff --git a/packages/nc-gui/components/dashboard/settings/AppStore.vue b/packages/nc-gui/components/dashboard/settings/AppStore.vue index a957604c2b..14602061e0 100644 --- a/packages/nc-gui/components/dashboard/settings/AppStore.vue +++ b/packages/nc-gui/components/dashboard/settings/AppStore.vue @@ -20,7 +20,7 @@ const fetchPluginApps = async () => { apps = plugins.map((p) => ({ ...p, tags: p.tags ? p.tags.split(',') : [], - parsedInput: p.input && JSON.parse(p.input), + parsedInput: p.input && JSON.parse(p.input as string), })) } catch (e: any) { message.error(await extractSdkResponseErrorMsg(e)) diff --git a/packages/nc-gui/components/dashboard/settings/AuditTab.vue b/packages/nc-gui/components/dashboard/settings/AuditTab.vue index b5a4edef5a..b0319244d7 100644 --- a/packages/nc-gui/components/dashboard/settings/AuditTab.vue +++ b/packages/nc-gui/components/dashboard/settings/AuditTab.vue @@ -1,11 +1,11 @@ diff --git a/packages/nc-gui/components/general/ShortcutLabel.vue b/packages/nc-gui/components/general/ShortcutLabel.vue new file mode 100644 index 0000000000..2e861cd948 --- /dev/null +++ b/packages/nc-gui/components/general/ShortcutLabel.vue @@ -0,0 +1,57 @@ + + + + + + {{ getLabel(key) }} + + + + + diff --git a/packages/nc-gui/components/shared-view/Map.vue b/packages/nc-gui/components/shared-view/Map.vue new file mode 100644 index 0000000000..ae2c69aa27 --- /dev/null +++ b/packages/nc-gui/components/shared-view/Map.vue @@ -0,0 +1,42 @@ + + + + + + + + + + + + diff --git a/packages/nc-gui/components/smartsheet/ApiSnippet.vue b/packages/nc-gui/components/smartsheet/ApiSnippet.vue index 8a892c2748..192af6a237 100644 --- a/packages/nc-gui/components/smartsheet/ApiSnippet.vue +++ b/packages/nc-gui/components/smartsheet/ApiSnippet.vue @@ -6,6 +6,7 @@ import { inject, message, ref, + storeToRefs, useCopy, useGlobal, useI18n, @@ -24,7 +25,7 @@ const emits = defineEmits(['update:modelValue']) const { t } = useI18n() -const { project } = $(useProject()) +const { project } = $(storeToRefs(useProject())) const { appInfo, token } = $(useGlobal()) diff --git a/packages/nc-gui/components/smartsheet/Cell.vue b/packages/nc-gui/components/smartsheet/Cell.vue index 784cbaf1a0..5144f2d1cd 100644 --- a/packages/nc-gui/components/smartsheet/Cell.vue +++ b/packages/nc-gui/components/smartsheet/Cell.vue @@ -21,6 +21,7 @@ import { isDuration, isEmail, isFloat, + isGeoData, isInt, isJSON, isManualSaved, @@ -38,6 +39,7 @@ import { isYear, provide, ref, + storeToRefs, toRef, useDebounceFn, useProject, @@ -84,7 +86,7 @@ const isLocked = inject(IsLockedInj, ref(false)) const { currentRow } = useSmartsheetRowStoreOrThrow() -const { sqlUis } = useProject() +const { sqlUis } = storeToRefs(useProject()) const sqlUi = ref(column.value?.base_id ? sqlUis.value[column.value?.base_id] : Object.values(sqlUis.value)[0]) @@ -100,7 +102,9 @@ const syncValue = useDebounceFn( ) const vModel = computed({ - get: () => props.modelValue, + get: () => { + return props.modelValue + }, set: (val) => { if (val !== props.modelValue) { currentRow.value.rowMeta.changed = true @@ -136,6 +140,15 @@ const isNumericField = computed(() => { isDuration(column.value) ) }) + +// disable contexxtmenu event propagation when cell is in +// editable state and typable (e.g. text area) +// this is to prevent the custom grid view context menu from opening +const onContextmenu = (e: MouseEvent) => { + if (props.editEnabled && isTypableInputColumn(column.value)) { + e.stopPropagation() + } +} @@ -148,9 +161,11 @@ const isNumericField = computed(() => { ]" @keydown.enter.exact="syncAndNavigate(NavigateDir.NEXT, $event)" @keydown.shift.enter.exact="syncAndNavigate(NavigateDir.PREV, $event)" + @contextmenu="onContextmenu" > + diff --git a/packages/nc-gui/components/smartsheet/Grid.vue b/packages/nc-gui/components/smartsheet/Grid.vue index d1ede98050..d358804fa9 100644 --- a/packages/nc-gui/components/smartsheet/Grid.vue +++ b/packages/nc-gui/components/smartsheet/Grid.vue @@ -118,6 +118,7 @@ const { selectedAllRecords, removeRowIfNew, navigateToSiblingRow, + getExpandedRowIndex, } = useViewData(meta, view, xWhere) const { getMeta } = useMetas() @@ -980,6 +981,8 @@ const closeAddColumnDropdown = () => { :row-id="routeQuery.rowId" :view="view" show-next-prev-icons + :first-row="getExpandedRowIndex() === 0" + :last-row="getExpandedRowIndex() === data.length - 1" @next="navigateToSiblingRow(NavigateDir.NEXT)" @prev="navigateToSiblingRow(NavigateDir.PREV)" /> @@ -1056,7 +1059,7 @@ const closeAddColumnDropdown = () => { position: sticky !important; left: 80px; z-index: 5; - @apply border-r-1 border-r-gray-300; + @apply border-r-2 border-r-gray-300; } tbody td:nth-child(2) { @@ -1064,7 +1067,7 @@ const closeAddColumnDropdown = () => { left: 80px; z-index: 4; background: white; - @apply shadow-lg border-r-1 border-r-gray-300; + @apply border-r-2 border-r-gray-300; } } diff --git a/packages/nc-gui/components/smartsheet/Map.vue b/packages/nc-gui/components/smartsheet/Map.vue new file mode 100644 index 0000000000..d47d531303 --- /dev/null +++ b/packages/nc-gui/components/smartsheet/Map.vue @@ -0,0 +1,266 @@ + + + + + + + + {{ $t('msg.info.map.overLimit') }} + {{ $t('msg.info.map.closeLimit') }} + {{ $t('msg.info.map.limitNumber') }} + + + + {{ count }} {{ $t('objects.records') }} + + + + + + + + + + + + + + + + diff --git a/packages/nc-gui/components/smartsheet/Toolbar.vue b/packages/nc-gui/components/smartsheet/Toolbar.vue index d822e8eab0..d3a6fdce6d 100644 --- a/packages/nc-gui/components/smartsheet/Toolbar.vue +++ b/packages/nc-gui/components/smartsheet/Toolbar.vue @@ -1,7 +1,7 @@ @@ -44,10 +51,11 @@ const closeAddColumnDropdown = () => { {{ column.title }} @@ -56,11 +64,7 @@ const closeAddColumnDropdown = () => { - + { if (isPrimaryKey(column)) { return KeyIcon + } else if (isSpecificDBType(column)) { + return SpecificDBTypeIcon } else if (isJSON(column)) { return JSONIcon } else if (isDate(column, abstractType)) { return CalendarIcon } else if (isDateTime(column, abstractType)) { return DatetimeIcon + } else if (isGeoData(column)) { + return GeoDataIcon } else if (isSet(column)) { return MultiSelectIcon } else if (isSingleSelect(column)) { @@ -98,8 +105,6 @@ const renderIcon = (column: ColumnType, abstractType: any) => { return NumericIcon } else if (isString(column, abstractType)) { return StringIcon - } else if (isSpecificDBType(column)) { - return SpecificDBTypeIcon } else { return GenericIcon } @@ -119,7 +124,7 @@ export default defineComponent({ const column = inject(ColumnInj, columnMeta) - const { sqlUis } = useProject() + const { sqlUis } = storeToRefs(useProject()) const sqlUi = ref(column.value?.base_id ? sqlUis.value[column.value?.base_id] : Object.values(sqlUis.value)[0]) diff --git a/packages/nc-gui/components/smartsheet/header/Menu.vue b/packages/nc-gui/components/smartsheet/header/Menu.vue index bb6fb31c31..91bcfe0e48 100644 --- a/packages/nc-gui/components/smartsheet/header/Menu.vue +++ b/packages/nc-gui/components/smartsheet/header/Menu.vue @@ -1,5 +1,5 @@ diff --git a/packages/nc-gui/components/smartsheet/sidebar/MenuBottom.vue b/packages/nc-gui/components/smartsheet/sidebar/MenuBottom.vue index 0defe8a9e6..8984a6a3c5 100644 --- a/packages/nc-gui/components/smartsheet/sidebar/MenuBottom.vue +++ b/packages/nc-gui/components/smartsheet/sidebar/MenuBottom.vue @@ -2,12 +2,12 @@ import { ViewTypes } from 'nocodb-sdk' import { useNuxtApp, useSmartsheetStoreOrThrow, viewIcons } from '#imports' +const emits = defineEmits() + interface Emits { (event: 'openModal', data: { type: ViewTypes; title?: string }): void } -const emits = defineEmits() - const { $e } = useNuxtApp() const { isSqlView } = useSmartsheetStoreOrThrow() @@ -20,101 +20,121 @@ function onOpenModal(type: ViewTypes, title = '') { - - - {{ $t('activity.createView') }} - - - - - - {{ $t('msg.info.addView.grid') }} - - - - - - {{ $t('objects.viewType.grid') }} - - - - - - - - - - - - {{ $t('msg.info.addView.gallery') }} - - - - - - {{ $t('objects.viewType.gallery') }} - - - - - - - - - - - - {{ $t('msg.info.addView.form') }} - - - - - - {{ $t('objects.viewType.form') }} - - - - - - - - - - - - {{ $t('msg.info.addView.kanban') }} - - - - - - {{ $t('objects.viewType.kanban') }} - - - - - - - - - - + + {{ $t('activity.createView') }} + + + + + + {{ $t('msg.info.addView.grid') }} + + + + + + {{ $t('objects.viewType.grid') }} + + + + + + + + + + + + {{ $t('msg.info.addView.gallery') }} + + + + + + {{ $t('objects.viewType.gallery') }} + + + + + + + + + + + + {{ $t('msg.info.addView.form') }} + + + + + + {{ $t('objects.viewType.form') }} + + + + + + + + + + + + {{ $t('msg.info.addView.kanban') }} + + + + + + {{ $t('objects.viewType.kanban') }} + + + + + + + + + + + {{ $t('msg.info.addView.map') }} + + + + + + {{ $t('objects.viewType.map') }} + + + + + + + + + diff --git a/packages/nc-gui/components/smartsheet/sidebar/index.vue b/packages/nc-gui/components/smartsheet/sidebar/index.vue index 457e5ee74b..33e2ff62ed 100644 --- a/packages/nc-gui/components/smartsheet/sidebar/index.vue +++ b/packages/nc-gui/components/smartsheet/sidebar/index.vue @@ -7,6 +7,7 @@ import { inject, ref, resolveComponent, + storeToRefs, useDialog, useNuxtApp, useRoute, @@ -21,11 +22,11 @@ const meta = inject(MetaInj, ref()) const activeView = inject(ActiveViewInj, ref()) -const { activeTab } = useTabs() +const { activeTab } = storeToRefs(useTabs()) const { views, loadViews, isLoading } = useViews(meta) -const { lastOpenedViewMap } = useProject() +const { lastOpenedViewMap } = storeToRefs(useProject()) const setLastOpenedViewId = (viewId?: string) => { if (viewId && activeTab.value?.id) { diff --git a/packages/nc-gui/components/smartsheet/sidebar/toolbar/GeodataSwitcher.vue b/packages/nc-gui/components/smartsheet/sidebar/toolbar/GeodataSwitcher.vue new file mode 100644 index 0000000000..74b82098a4 --- /dev/null +++ b/packages/nc-gui/components/smartsheet/sidebar/toolbar/GeodataSwitcher.vue @@ -0,0 +1,15 @@ + + + + + + Toggle GeoData + + + + diff --git a/packages/nc-gui/components/smartsheet/sidebar/toolbar/index.vue b/packages/nc-gui/components/smartsheet/sidebar/toolbar/index.vue index ed75c948a1..90abdf857e 100644 --- a/packages/nc-gui/components/smartsheet/sidebar/toolbar/index.vue +++ b/packages/nc-gui/components/smartsheet/sidebar/toolbar/index.vue @@ -29,6 +29,10 @@ const onClick = () => { + + + + diff --git a/packages/nc-gui/components/smartsheet/toolbar/ColumnFilter.vue b/packages/nc-gui/components/smartsheet/toolbar/ColumnFilter.vue index 095e816510..eac17c2848 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/ColumnFilter.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/ColumnFilter.vue @@ -6,6 +6,7 @@ import { MetaInj, ReloadViewDataHookInj, comparisonOpList, + comparisonSubOpList, computed, inject, ref, @@ -54,6 +55,7 @@ const { sync, saveOrUpdateDebounced, isComparisonOpAllowed, + isComparisonSubOpAllowed, } = useViewFilters( activeView, parentId, @@ -75,24 +77,43 @@ const filterPrevComparisonOp = ref>({}) const filterUpdateCondition = (filter: FilterType, i: number) => { const col = getColumn(filter) + if (!col) return if ( col.uidt === UITypes.SingleSelect && - ['anyof', 'nanyof'].includes(filterPrevComparisonOp.value[filter.id]) && + ['anyof', 'nanyof'].includes(filterPrevComparisonOp.value[filter.id!]) && ['eq', 'neq'].includes(filter.comparison_op!) ) { // anyof and nanyof can allow multiple selections, // while `eq` and `neq` only allow one selection - filter.value = '' + filter.value = null } else if (['blank', 'notblank', 'empty', 'notempty', 'null', 'notnull'].includes(filter.comparison_op!)) { // since `blank`, `empty`, `null` doesn't require value, // hence remove the previous value - filter.value = '' + filter.value = null + filter.comparison_sub_op = null + } else if ([UITypes.Date, UITypes.DateTime].includes(col.uidt as UITypes)) { + // for date / datetime, + // the input type could be decimal or datepicker / datetime picker + // hence remove the previous value + filter.value = null + if ( + !comparisonSubOpList(filter.comparison_op!) + .map((op) => op.value) + .includes(filter.comparison_sub_op!) + ) { + if (filter.comparison_op === 'isWithin') { + filter.comparison_sub_op = 'pastNumberOfDays' + } else { + filter.comparison_sub_op = 'exactDate' + } + } } saveOrUpdate(filter, i) filterPrevComparisonOp.value[filter.id] = filter.comparison_op $e('a:filter:update', { logical: filter.logical_op, comparison: filter.comparison_op, + comparison_sub_op: filter.comparison_sub_op, }) } @@ -109,7 +130,7 @@ const types = computed(() => { watch( () => activeView.value?.id, - (n: string, o: string) => { + (n, o) => { // if nested no need to reload since it will get reloaded from parent if (!nested && n !== o && (hookId || !webHook)) loadFilters(hookId as string) }, @@ -137,16 +158,30 @@ const applyChanges = async (hookId?: string, _nested = false) => { } const selectFilterField = (filter: Filter, index: number) => { + const col = getColumn(filter) + if (!col) return // when we change the field, // the corresponding default filter operator needs to be changed as well // since the existing one may not be supported for the new field // e.g. `eq` operator is not supported in checkbox field // hence, get the first option of the supported operators of the new field - filter.comparison_op = comparisonOpList(getColumn(filter)!.uidt as UITypes).filter((compOp) => + filter.comparison_op = comparisonOpList(col.uidt as UITypes).filter((compOp) => isComparisonOpAllowed(filter, compOp), )?.[0].value + + if ([UITypes.Date, UITypes.DateTime].includes(col.uidt as UITypes) && !['blank', 'notblank'].includes(filter.comparison_op)) { + if (filter.comparison_op === 'isWithin') { + filter.comparison_sub_op = 'pastNumberOfDays' + } else { + filter.comparison_sub_op = 'exactDate' + } + } else { + // reset + filter.comparison_sub_op = null + } + // reset filter value as well - filter.value = '' + filter.value = null saveOrUpdate(filter, index) } @@ -163,10 +198,19 @@ defineExpose({ - + @@ -195,7 +239,7 @@ defineExpose({ - + - + v-model:value="filter.comparison_sub_op" + :dropdown-match-select-width="false" + class="caption nc-filter-sub_operation-select" + :placeholder="$t('labels.operationSub')" + density="compact" + variant="solo" + :disabled="filter.readOnly" + hide-details + dropdown-class-name="nc-dropdown-filter-comp-sub-op" + @change="filterUpdateCondition(filter, i)" + > + + + {{ compSubOp.text }} + + + + + + + .nc-filter-grid { - grid-template-columns: auto auto auto auto auto; + grid-template-columns: auto auto auto auto auto auto; @apply grid gap-[12px] items-center; } diff --git a/packages/nc-gui/components/smartsheet/toolbar/ExportSubActions.vue b/packages/nc-gui/components/smartsheet/toolbar/ExportSubActions.vue index 773e2f4187..ab9e3383f2 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/ExportSubActions.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/ExportSubActions.vue @@ -10,6 +10,7 @@ import { inject, message, ref, + storeToRefs, useI18n, useNuxtApp, useProject, @@ -22,7 +23,7 @@ const isPublicView = inject(IsPublicInj, ref(false)) const fields = inject(FieldsInj, ref([])) -const { project } = useProject() +const { project } = storeToRefs(useProject()) const { $api } = useNuxtApp() diff --git a/packages/nc-gui/components/smartsheet/toolbar/FieldsMenu.vue b/packages/nc-gui/components/smartsheet/toolbar/FieldsMenu.vue index b045826452..1809034bbd 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/FieldsMenu.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/FieldsMenu.vue @@ -55,6 +55,8 @@ const { eventBus } = useSmartsheetStoreOrThrow() eventBus.on((event) => { if (event === SmartsheetStoreEvents.FIELD_RELOAD) { loadViewColumns() + } else if (event === SmartsheetStoreEvents.MAPPED_BY_COLUMN_CHANGE) { + loadViewColumns() } }) @@ -123,13 +125,11 @@ const coverImageColumnId = computed({ ) { if (activeView.value?.type === ViewTypes.GALLERY) { await $api.dbView.galleryUpdate(activeView.value?.id, { - ...activeView.value?.view, fk_cover_image_col_id: val, }) ;(activeView.value.view as GalleryType).fk_cover_image_col_id = val } else if (activeView.value?.type === ViewTypes.KANBAN) { await $api.dbView.kanbanUpdate(activeView.value?.id, { - ...activeView.value?.view, fk_cover_image_col_id: val, }) ;(activeView.value.view as KanbanType).fk_cover_image_col_id = val @@ -204,6 +204,7 @@ useMenuCloseOnEsc(open) v-model:checked="field.show" v-e="['a:fields:show-hide']" class="shrink" + :disabled="field.isViewEssentialField" @change="saveOrUpdate(field, index)" > diff --git a/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue b/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue index 544132d6e4..3d6b8d57dc 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue @@ -1,5 +1,6 @@ + + + + + + + + + {{ $t('activity.map.mappedBy') }} + {{ geoDataFieldColumn?.title }} + + + + + + + + + {{ $t('activity.map.chooseMappingField') }} + + + + + + + + + + + diff --git a/packages/nc-gui/components/smartsheet/toolbar/MoreActions.vue b/packages/nc-gui/components/smartsheet/toolbar/MoreActions.vue index ba0f44136d..a38bc1da62 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/MoreActions.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/MoreActions.vue @@ -1,6 +1,7 @@ @@ -219,6 +246,10 @@ const activeRow = (vNode?: InstanceType) => { show-less-items /> + + + * Use ALT / OPT + Click to select multiple records + diff --git a/packages/nc-gui/components/webhook/Drawer.vue b/packages/nc-gui/components/webhook/Drawer.vue index 238c5cc27c..68d12dea74 100644 --- a/packages/nc-gui/components/webhook/Drawer.vue +++ b/packages/nc-gui/components/webhook/Drawer.vue @@ -19,6 +19,11 @@ async function editHook(hook: Record) { editOrAdd.value = true currentHook.value = hook } + +async function addHook() { + editOrAdd.value = true + currentHook.value = undefined +} @@ -35,7 +40,7 @@ async function editHook(hook: Record) { - + diff --git a/packages/nc-gui/components/webhook/Editor.vue b/packages/nc-gui/components/webhook/Editor.vue index 98a7cf8537..5f1b8d0de2 100644 --- a/packages/nc-gui/components/webhook/Editor.vue +++ b/packages/nc-gui/components/webhook/Editor.vue @@ -13,6 +13,7 @@ import { reactive, ref, useApi, + useGlobal, useI18n, useNuxtApp, watch, @@ -32,6 +33,8 @@ const { $e } = useNuxtApp() const { api, isLoading: loading } = useApi() +const { appInfo } = $(useGlobal()) + const meta = inject(MetaInj, ref()) const useForm = Form.useForm @@ -170,16 +173,20 @@ const eventList = [ { text: ['After', 'Delete'], value: ['after', 'delete'] }, ] -const notificationList = [ - { type: 'URL' }, - { type: 'Email' }, - { type: 'Slack' }, - { type: 'Microsoft Teams' }, - { type: 'Discord' }, - { type: 'Mattermost' }, - { type: 'Twilio' }, - { type: 'Whatsapp Twilio' }, -] +const notificationList = computed(() => { + return appInfo.isCloud + ? [{ type: 'URL' }] + : [ + { type: 'URL' }, + { type: 'Email' }, + { type: 'Slack' }, + { type: 'Microsoft Teams' }, + { type: 'Discord' }, + { type: 'Mattermost' }, + { type: 'Twilio' }, + { type: 'Whatsapp Twilio' }, + ] +}) const methodList = [ { title: 'GET' }, @@ -225,7 +232,7 @@ function onNotTypeChange(reset = false) { } if (hook.notification.type === 'Slack') { - slackChannels.value = (apps.value && apps.value.Slack && apps.Slack.parsedInput) || [] + slackChannels.value = (apps.value && apps.value.Slack && apps.value.Slack.parsedInput) || [] } if (hook.notification.type === 'Microsoft Teams') { @@ -306,6 +313,7 @@ async function onEventChange() { } async function loadPluginList() { + if (appInfo.isCloud) return try { const plugins = (await api.plugin.list()).list! @@ -653,6 +661,7 @@ onMounted(loadPluginList) +import type { HookType } from 'nocodb-sdk' import { MetaInj, extractSdkResponseErrorMsg, inject, message, onMounted, ref, useI18n, useNuxtApp } from '#imports' const emit = defineEmits(['edit', 'add']) @@ -13,9 +14,9 @@ const meta = inject(MetaInj, ref()) async function loadHooksList() { try { - const hookList = (await $api.dbTableWebhook.list(meta.value?.id as string)).list as Record[] + const hookList = (await $api.dbTableWebhook.list(meta.value?.id as string)).list as HookType[] hooks.value = hookList.map((hook) => { - hook.notification = hook.notification && JSON.parse(hook.notification) + hook.notification = typeof hook.notification === 'string' ? JSON.parse(hook.notification) : hook.notification return hook }) } catch (e: any) { diff --git a/packages/nc-gui/composables/useApi/interceptors.ts b/packages/nc-gui/composables/useApi/interceptors.ts index a2f4cc5daa..4c12bc083c 100644 --- a/packages/nc-gui/composables/useApi/interceptors.ts +++ b/packages/nc-gui/composables/useApi/interceptors.ts @@ -66,7 +66,7 @@ export function addAxiosInterceptors(api: Api) { }) }) .catch(async (error) => { - state.signOut() + await state.signOut() // todo: handle new user navigateTo('/signIn') diff --git a/packages/nc-gui/composables/useAttachment.ts b/packages/nc-gui/composables/useAttachment.ts index 637c2666a4..7119d13c9d 100644 --- a/packages/nc-gui/composables/useAttachment.ts +++ b/packages/nc-gui/composables/useAttachment.ts @@ -1,4 +1,4 @@ -import { mimeTypes, openLink, useGlobal } from '#imports' +import { openLink, useGlobal } from '#imports' const useAttachment = () => { const { appInfo } = useGlobal() @@ -15,11 +15,10 @@ const useAttachment = () => { return item.data } const sources = getPossibleAttachmentSrc(item) - const mimeType = mimeTypes[item?.mimetype?.split('/')?.pop() || 'txt'] for (const source of sources) { // test if the source is accessible or not - const res = await fetch(source) - if (res.ok && res.headers.get('Content-Type') === mimeType) { + const res = await fetch(source, { method: 'HEAD' }) + if (res.ok) { return source } } diff --git a/packages/nc-gui/composables/useColumnCreateStore.ts b/packages/nc-gui/composables/useColumnCreateStore.ts index d1b5ebb68b..8681cba111 100644 --- a/packages/nc-gui/composables/useColumnCreateStore.ts +++ b/packages/nc-gui/composables/useColumnCreateStore.ts @@ -10,6 +10,7 @@ import { extractSdkResponseErrorMsg, message, ref, + storeToRefs, useI18n, useMetas, useNuxtApp, @@ -27,7 +28,9 @@ interface ValidationsObj { const [useProvideColumnCreateStore, useColumnCreateStore] = createInjectionState( (meta: Ref, column: Ref) => { - const { project, sqlUis, isMysql: isMysqlFunc, isPg: isPgFunc, isMssql: isMssqlFunc } = useProject() + const projectStore = useProject() + const { isMysql: isMysqlFunc, isPg: isPgFunc, isMssql: isMssqlFunc } = projectStore + const { project, sqlUis } = storeToRefs(projectStore) const { $api } = useNuxtApp() diff --git a/packages/nc-gui/composables/useExpandedFormStore.ts b/packages/nc-gui/composables/useExpandedFormStore.ts index d0df5b65d0..0f2f4f4cf6 100644 --- a/packages/nc-gui/composables/useExpandedFormStore.ts +++ b/packages/nc-gui/composables/useExpandedFormStore.ts @@ -11,6 +11,7 @@ import { message, populateInsertObject, ref, + storeToRefs, useApi, useI18n, useInjectionState, @@ -30,17 +31,19 @@ const [useProvideExpandedFormStore, useExpandedFormStore] = useInjectionState((m const { t } = useI18n() - const commentsOnly = ref(false) + const commentsOnly = ref(true) const commentsAndLogs = ref([]) const comment = ref('') - const commentsDrawer = ref(false) + const commentsDrawer = ref(true) + + const saveRowAndStay = ref(0) const changedColumns = ref(new Set()) - const { project } = useProject() + const { project } = storeToRefs(useProject()) const rowStore = useProvideSmartsheetRowStore(meta, row) @@ -101,7 +104,7 @@ const [useProvideExpandedFormStore, useExpandedFormStore] = useInjectionState((m fk_model_id: meta.value.id as string, comments_only: commentsOnly.value, }) - )?.reverse?.() || [] + ).list?.reverse?.() || [] } const isYou = (email: string) => { @@ -243,6 +246,7 @@ const [useProvideExpandedFormStore, useExpandedFormStore] = useInjectionState((m changedColumns, loadRow, primaryKey, + saveRowAndStay, } }, 'expanded-form-store') diff --git a/packages/nc-gui/composables/useGlobal/actions.ts b/packages/nc-gui/composables/useGlobal/actions.ts index 8dc1ffc849..3bac64de43 100644 --- a/packages/nc-gui/composables/useGlobal/actions.ts +++ b/packages/nc-gui/composables/useGlobal/actions.ts @@ -3,9 +3,15 @@ import { message, useNuxtApp } from '#imports' export function useGlobalActions(state: State): Actions { /** Sign out by deleting the token from localStorage */ - const signOut: Actions['signOut'] = () => { + const signOut: Actions['signOut'] = async () => { state.token.value = null state.user.value = null + try { + if (state.token.value) { + const nuxtApp = useNuxtApp() + await nuxtApp.$api.auth.signout() + } + } catch {} } /** Sign in by setting the token in localStorage */ @@ -38,9 +44,9 @@ export function useGlobalActions(state: State): Actions { signIn(response.data.token) } }) - .catch((err) => { + .catch(async (err) => { message.error(err.message || t('msg.error.youHaveBeenSignedOut')) - signOut() + await signOut() }) .finally(resolve) }) diff --git a/packages/nc-gui/composables/useGlobal/state.ts b/packages/nc-gui/composables/useGlobal/state.ts index df6e886e85..90d01d4c25 100644 --- a/packages/nc-gui/composables/useGlobal/state.ts +++ b/packages/nc-gui/composables/useGlobal/state.ts @@ -99,6 +99,7 @@ export function useGlobalState(storageKey = 'nocodb-gui-v2'): State { version: '0.0.0', ncAttachmentFieldSize: 20, ncMaxAttachmentsAllowed: 10, + isCloud: false, }) /** reactive token payload */ diff --git a/packages/nc-gui/composables/useGlobal/types.ts b/packages/nc-gui/composables/useGlobal/types.ts index 584b2ca9ec..82971cfe66 100644 --- a/packages/nc-gui/composables/useGlobal/types.ts +++ b/packages/nc-gui/composables/useGlobal/types.ts @@ -22,6 +22,7 @@ export interface AppInfo { ee?: boolean ncAttachmentFieldSize: number ncMaxAttachmentsAllowed: number + isCloud: boolean } export interface StoredState { diff --git a/packages/nc-gui/composables/useKanbanViewStore.ts b/packages/nc-gui/composables/useKanbanViewStore.ts index d960bc35d5..2c49516f67 100644 --- a/packages/nc-gui/composables/useKanbanViewStore.ts +++ b/packages/nc-gui/composables/useKanbanViewStore.ts @@ -13,6 +13,7 @@ import { message, provide, ref, + storeToRefs, useApi, useFieldQuery, useI18n, @@ -40,7 +41,7 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState( const { api } = useApi() - const { project } = useProject() + const { project, sqlUis } = storeToRefs(useProject()) const { $e, $api } = useNuxtApp() @@ -56,8 +57,6 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState( const { search } = useFieldQuery() - const { sqlUis } = useProject() - const sqlUi = ref( (meta.value as TableType)?.base_id ? sqlUis.value[(meta.value as TableType).base_id!] : Object.values(sqlUis.value)[0], ) @@ -154,7 +153,7 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState( ) } - for (const data of groupData) { + for (const data of groupData ?? []) { const key = data.key formattedData.value.set(key, formatData(data.value.list)) countByStack.value.set(key, data.value.pageInfo.totalRows || 0) @@ -168,17 +167,26 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState( where = `(${groupingField.value},is,null)` } + if (xWhere.value) { + where = `${where} and ${xWhere.value}` + } + const response = !isPublic.value ? await api.dbViewRow.list('noco', project.value.id!, meta.value!.id!, viewMeta.value!.id!, { - ...{ where: xWhere.value }, ...params, ...(isUIAllowed('sortSync') ? {} : { sortArrJson: JSON.stringify(sorts.value) }), ...(isUIAllowed('filterSync') ? {} : { filterArrJson: JSON.stringify(nestedFilters.value) }), where, }) - : await fetchSharedViewData({ sortsArr: sorts.value, filtersArr: nestedFilters.value, offset: params.offset }) + : await fetchSharedViewData({ + ...params, + sortsArr: sorts.value, + filtersArr: nestedFilters.value, + offset: params.offset, + where, + }) - formattedData.value.set(stackTitle, [...formattedData.value.get(stackTitle)!, ...formatData(response.list)]) + formattedData.value.set(stackTitle, [...formattedData.value.get(stackTitle)!, ...formatData(response!.list!)]) } async function loadKanbanMeta() { @@ -300,10 +308,7 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState( async function updateKanbanMeta(updateObj: Partial) { if (!viewMeta?.value?.id || !isUIAllowed('xcDatatableEditable')) return - await $api.dbView.kanbanUpdate(viewMeta.value.id, { - ...kanbanMetaData.value, - ...updateObj, - }) + await $api.dbView.kanbanUpdate(viewMeta.value.id, updateObj) } async function insertRow(row: Record, rowIndex = formattedData.value.get(null)!.length) { diff --git a/packages/nc-gui/composables/useLTARStore.ts b/packages/nc-gui/composables/useLTARStore.ts index 5ed203b7e1..443492b65d 100644 --- a/packages/nc-gui/composables/useLTARStore.ts +++ b/packages/nc-gui/composables/useLTARStore.ts @@ -11,6 +11,7 @@ import { message, reactive, ref, + storeToRefs, useI18n, useInjectionState, useMetas, @@ -38,7 +39,7 @@ const [useProvideLTARStore, useLTARStore] = useInjectionState( // state const { metas, getMeta } = useMetas() - const { project } = useProject() + const { project } = storeToRefs(useProject()) const { $api } = useNuxtApp() diff --git a/packages/nc-gui/composables/useMapViewDataStore.ts b/packages/nc-gui/composables/useMapViewDataStore.ts new file mode 100644 index 0000000000..33ba440c04 --- /dev/null +++ b/packages/nc-gui/composables/useMapViewDataStore.ts @@ -0,0 +1,179 @@ +import { reactive } from 'vue' +import type { ComputedRef, Ref } from 'vue' +import type { ColumnType, MapType, PaginatedType, TableType, ViewType } from 'nocodb-sdk' +import { IsPublicInj, ref, storeToRefs, useInjectionState, useMetas, useProject } from '#imports' +import type { Row } from '~/lib' + +const storedValue = localStorage.getItem('geodataToggleState') + +const initialState = storedValue ? JSON.parse(storedValue) : false + +export const geodataToggleState = reactive({ show: initialState }) + +const formatData = (list: Record[]) => + list.map( + (row) => + ({ + row: { ...row }, + oldRow: { ...row }, + rowMeta: {}, + } as Row), + ) + +const [useProvideMapViewStore, useMapViewStore] = useInjectionState( + ( + meta: Ref, + viewMeta: Ref<(ViewType | MapType | undefined) & { id: string }> | ComputedRef<(ViewType & { id: string }) | undefined>, + shared = false, + where?: ComputedRef, + ) => { + if (!meta) { + throw new Error('Table meta is not available') + } + + const formattedData = ref([]) + + const { api } = useApi() + + const { project } = storeToRefs(useProject()) + + const { $api } = useNuxtApp() + + const { isUIAllowed } = useUIPermission() + + const isPublic = ref(shared) || inject(IsPublicInj, ref(false)) + + const { sorts, nestedFilters } = useSmartsheetStoreOrThrow() + + const { fetchSharedViewData } = useSharedView() + + const mapMetaData = ref({}) + + const geoDataFieldColumn = ref() + + const defaultPageSize = 1000 + + const paginationData = ref({ page: 1, pageSize: defaultPageSize }) + + const queryParams = computed(() => ({ + limit: paginationData.value.pageSize ?? defaultPageSize, + where: where?.value ?? '', + })) + + async function syncCount() { + const { count } = await $api.dbViewRow.count( + NOCO, + project?.value?.title as string, + meta?.value?.id as string, + viewMeta?.value?.id as string, + ) + paginationData.value.totalRows = count + } + + async function loadMapMeta() { + if (!viewMeta?.value?.id || !meta?.value?.columns) return + mapMetaData.value = await $api.dbView.mapRead(viewMeta.value.id) + geoDataFieldColumn.value = + (meta.value.columns as ColumnType[]).filter((f) => f.id === mapMetaData.value.fk_geo_data_col_id)[0] || {} + } + + async function loadMapData() { + if ((!project?.value?.id || !meta.value?.id || !viewMeta.value?.id) && !isPublic?.value) return + + const res = !isPublic.value + ? await api.dbViewRow.list('noco', project.value.id!, meta.value!.id!, viewMeta.value!.id!, { + ...queryParams.value, + ...(isUIAllowed('filterSync') ? {} : { filterArrJson: JSON.stringify(nestedFilters.value) }), + where: where?.value, + }) + : await fetchSharedViewData({ sortsArr: sorts.value, filtersArr: nestedFilters.value }) + + formattedData.value = formatData(res!.list) + } + + async function updateMapMeta(updateObj: Partial) { + if (!viewMeta?.value?.id || !isUIAllowed('xcDatatableEditable')) return + await $api.dbView.mapUpdate(viewMeta.value.id, updateObj) + } + + const { getMeta } = useMetas() + + async function insertRow( + currentRow: Row, + ltarState: Record = {}, + { + metaValue = meta.value, + viewMetaValue = viewMeta.value, + }: { metaValue?: MapType & { id: string }; viewMetaValue?: (ViewType | MapType) & { id: string } } = {}, + ) { + const row = currentRow.row + if (currentRow.rowMeta) currentRow.rowMeta.saving = true + try { + const { missingRequiredColumns, insertObj } = await populateInsertObject({ + meta: metaValue!, + ltarState, + getMeta, + row, + }) + + if (missingRequiredColumns.size) return + + const insertedData = await $api.dbViewRow.create( + NOCO, + project?.value.id as string, + metaValue?.id as string, + viewMetaValue?.id as string, + insertObj, + ) + + Object.assign(currentRow, { + row: { ...insertedData, ...row }, + rowMeta: { ...(currentRow.rowMeta || {}), new: undefined }, + oldRow: { ...insertedData }, + }) + + syncCount() + + return insertedData + } catch (error: any) { + message.error(await extractSdkResponseErrorMsg(error)) + } finally { + if (currentRow.rowMeta) currentRow.rowMeta.saving = false + } + } + + function addEmptyRow(addAfter = formattedData.value.length) { + formattedData.value.splice(addAfter, 0, { + row: {}, + oldRow: {}, + rowMeta: { new: true }, + }) + + return formattedData.value[addAfter] + } + + return { + formattedData, + loadMapData, + loadMapMeta, + updateMapMeta, + mapMetaData, + geoDataFieldColumn, + addEmptyRow, + insertRow, + geodataToggleState, + syncCount, + paginationData, + } + }, +) + +export { useProvideMapViewStore } + +export function useMapViewStoreOrThrow() { + const mapViewStore = useMapViewStore() + + if (mapViewStore == null) throw new Error('Please call `useProvideMapViewStore` on the appropriate parent component') + + return mapViewStore +} diff --git a/packages/nc-gui/composables/useMetas.ts b/packages/nc-gui/composables/useMetas.ts index 464891a56c..bd050460b7 100644 --- a/packages/nc-gui/composables/useMetas.ts +++ b/packages/nc-gui/composables/useMetas.ts @@ -1,12 +1,12 @@ import { message } from 'ant-design-vue' import type { WatchStopHandle } from 'vue' import type { TableInfoType, TableType } from 'nocodb-sdk' -import { extractSdkResponseErrorMsg, useNuxtApp, useProject, useState, watch } from '#imports' +import { extractSdkResponseErrorMsg, storeToRefs, useNuxtApp, useProject, useState, watch } from '#imports' export function useMetas() { const { $api } = useNuxtApp() - const { tables } = useProject() + const { tables } = storeToRefs(useProject()) const metas = useState<{ [idOrTitle: string]: TableType | any }>('metas', () => ({})) diff --git a/packages/nc-gui/composables/useMultiSelect/index.ts b/packages/nc-gui/composables/useMultiSelect/index.ts index 320d4e01ae..507cd81f63 100644 --- a/packages/nc-gui/composables/useMultiSelect/index.ts +++ b/packages/nc-gui/composables/useMultiSelect/index.ts @@ -145,14 +145,12 @@ export function useMultiSelect( return } - editEnabled.value = false isMouseDown = true selectedRange.startRange({ row, col }) } const handleCellClick = (event: MouseEvent, row: number, col: number) => { isMouseDown = true - editEnabled.value = false selectedRange.startRange({ row, col }) selectedRange.endRange({ row, col }) makeActive(row, col) diff --git a/packages/nc-gui/composables/useSelectedCellKeyupListener/index.ts b/packages/nc-gui/composables/useSelectedCellKeyupListener/index.ts index da1eb4fa0a..b6e5d8a78c 100644 --- a/packages/nc-gui/composables/useSelectedCellKeyupListener/index.ts +++ b/packages/nc-gui/composables/useSelectedCellKeyupListener/index.ts @@ -1,15 +1,15 @@ import { isClient } from '@vueuse/core' -import type { Ref } from 'vue' +import type { ComputedRef, Ref } from 'vue' function useSelectedCellKeyupListener( - selected: Ref, + selected: Ref | ComputedRef, handler: (e: KeyboardEvent) => void, { immediate = false }: { immediate?: boolean } = {}, ) { if (isClient) { watch( selected, - (nextVal: boolean, _: boolean, cleanup) => { + (nextVal: boolean | undefined, _: boolean | undefined, cleanup) => { // bind listener when `selected` is truthy if (nextVal) { document.addEventListener('keydown', handler, true) diff --git a/packages/nc-gui/composables/useSharedFormViewStore.ts b/packages/nc-gui/composables/useSharedFormViewStore.ts index f231a82be0..cef09add04 100644 --- a/packages/nc-gui/composables/useSharedFormViewStore.ts +++ b/packages/nc-gui/composables/useSharedFormViewStore.ts @@ -12,10 +12,12 @@ import { message, provide, ref, + storeToRefs, useApi, useI18n, useInjectionState, useMetas, + useProject, useProvideSmartsheetRowStore, watch, } from '#imports' @@ -43,7 +45,8 @@ const [useProvideSharedFormStore, useSharedFormStore] = useInjectionState((share const { metas, setMeta } = useMetas() - const { project } = useProject() + const projectStore = useProject() + const { project } = storeToRefs(projectStore) const { t } = useI18n() @@ -88,14 +91,14 @@ const [useProvideSharedFormStore, useSharedFormStore] = useInjectionState((share // if project is not defined then set it with an object containing base if (!project.value?.bases) - project.value = { + projectStore.setProject({ bases: [ { id: viewMeta.base_id, type: viewMeta.client, }, ], - } + }) const relatedMetas = { ...viewMeta.relatedMetas } diff --git a/packages/nc-gui/composables/useSharedView.ts b/packages/nc-gui/composables/useSharedView.ts index b5b888be22..bf9cd5146f 100644 --- a/packages/nc-gui/composables/useSharedView.ts +++ b/packages/nc-gui/composables/useSharedView.ts @@ -1,13 +1,13 @@ import type { ExportTypes, FilterType, KanbanType, PaginatedType, RequestParams, SortType, TableType, ViewType } from 'nocodb-sdk' import { UITypes } from 'nocodb-sdk' -import { computed, useGlobal, useMetas, useNuxtApp, useState } from '#imports' +import { computed, storeToRefs, useGlobal, useMetas, useNuxtApp, useState } from '#imports' export function useSharedView() { const nestedFilters = ref<(FilterType & { status?: 'update' | 'delete' | 'create'; parentId?: string })[]>([]) const { appInfo } = $(useGlobal()) - const { project } = useProject() + const { project } = storeToRefs(useProject()) const appInfoDefaultLimit = appInfo.defaultLimit || 25 @@ -56,7 +56,7 @@ export function useSharedView() { } if (localPassword) password.value = localPassword - sharedView.value = { title: '', ...viewMeta } + sharedView.value = { title: '', ...viewMeta } as ViewType meta.value = { ...viewMeta.model } let order = 1 @@ -83,29 +83,34 @@ export function useSharedView() { Object.keys(relatedMetas).forEach((key) => setMeta(relatedMetas[key])) } - const fetchSharedViewData = async ({ - sortsArr, - filtersArr, - offset, - }: { + const fetchSharedViewData = async (param: { sortsArr: SortType[] filtersArr: FilterType[] + fields?: any[] + sort?: any[] + where?: string + /** Query params for nested data */ + nested?: any offset?: number }) => { - if (!sharedView.value) return + if (!sharedView.value) + return { + list: [], + pageInfo: {}, + } - if (!offset) { + if (!param.offset) { const page = paginationData.value.page || 1 const pageSize = paginationData.value.pageSize || appInfoDefaultLimit - offset = (page - 1) * pageSize + param.offset = (page - 1) * pageSize } - const { data } = await $api.public.dataList( + return await $api.public.dataList( sharedView.value.uuid!, { - offset, - filterArrJson: JSON.stringify(filtersArr ?? nestedFilters.value), - sortArrJson: JSON.stringify(sortsArr ?? sorts.value), + ...param, + filterArrJson: JSON.stringify(param.filtersArr ?? nestedFilters.value), + sortArrJson: JSON.stringify(param.sortsArr ?? sorts.value), } as any, { headers: { @@ -113,7 +118,6 @@ export function useSharedView() { }, }, ) - return data } const fetchSharedViewGroupedData = async ( diff --git a/packages/nc-gui/composables/useSmartsheetRowStore.ts b/packages/nc-gui/composables/useSmartsheetRowStore.ts index 47a00d4661..8be672e396 100644 --- a/packages/nc-gui/composables/useSmartsheetRowStore.ts +++ b/packages/nc-gui/composables/useSmartsheetRowStore.ts @@ -13,6 +13,7 @@ import { isMm, message, ref, + storeToRefs, unref, useI18n, useInjectionState, @@ -28,7 +29,7 @@ const [useProvideSmartsheetRowStore, useSmartsheetRowStore] = useInjectionState( const { t } = useI18n() - const { project } = useProject() + const { project } = storeToRefs(useProject()) const { metas } = useMetas() diff --git a/packages/nc-gui/composables/useSmartsheetStore.ts b/packages/nc-gui/composables/useSmartsheetStore.ts index 69f38236e6..c2340e9ae4 100644 --- a/packages/nc-gui/composables/useSmartsheetStore.ts +++ b/packages/nc-gui/composables/useSmartsheetStore.ts @@ -1,7 +1,17 @@ import { ViewTypes } from 'nocodb-sdk' import type { FilterType, KanbanType, SortType, TableType, ViewType } from 'nocodb-sdk' import type { Ref } from 'vue' -import { computed, ref, unref, useEventBus, useFieldQuery, useInjectionState, useNuxtApp, useProject } from '#imports' +import { + computed, + ref, + storeToRefs, + unref, + useEventBus, + useFieldQuery, + useInjectionState, + useNuxtApp, + useProject, +} from '#imports' import type { SmartsheetStoreEvents } from '~/lib' const [useProvideSmartsheetStore, useSmartsheetStore] = useInjectionState( @@ -14,7 +24,9 @@ const [useProvideSmartsheetStore, useSmartsheetStore] = useInjectionState( ) => { const { $api } = useNuxtApp() - const { sqlUis } = useProject() + const projectStore = useProject() + + const { sqlUis } = storeToRefs(projectStore) const sqlUi = ref( (meta.value as TableType)?.base_id ? sqlUis.value[(meta.value as TableType).base_id!] : Object.values(sqlUis.value)[0], @@ -26,13 +38,13 @@ const [useProvideSmartsheetStore, useSmartsheetStore] = useInjectionState( const eventBus = useEventBus(Symbol('SmartsheetStore')) - // getters const isLocked = computed(() => view.value?.lock_type === 'locked') const isPkAvail = computed(() => (meta.value as TableType)?.columns?.some((c) => c.pk)) const isGrid = computed(() => view.value?.type === ViewTypes.GRID) const isForm = computed(() => view.value?.type === ViewTypes.FORM) const isGallery = computed(() => view.value?.type === ViewTypes.GALLERY) const isKanban = computed(() => view.value?.type === ViewTypes.KANBAN) + const isMap = computed(() => view.value?.type === ViewTypes.MAP) const isSharedForm = computed(() => isForm.value && shared) const xWhere = computed(() => { let where @@ -51,7 +63,7 @@ const [useProvideSmartsheetStore, useSmartsheetStore] = useInjectionState( }) const isSqlView = computed(() => (meta.value as TableType)?.type === 'view') - const sorts = ref[]>((unref(initialSorts) as Required[]) ?? []) + const sorts = ref(unref(initialSorts) ?? []) const nestedFilters = ref(unref(initialFilters) ?? []) return { @@ -65,6 +77,7 @@ const [useProvideSmartsheetStore, useSmartsheetStore] = useInjectionState( isGrid, isGallery, isKanban, + isMap, cellRefs, isSharedForm, sorts, diff --git a/packages/nc-gui/composables/useTable.ts b/packages/nc-gui/composables/useTable.ts index 1b90832e07..8ddb21a886 100644 --- a/packages/nc-gui/composables/useTable.ts +++ b/packages/nc-gui/composables/useTable.ts @@ -7,6 +7,7 @@ import { generateUniqueTitle as generateTitle, message, reactive, + storeToRefs, useI18n, useMetas, useNuxtApp, @@ -32,7 +33,8 @@ export function useTable(onTableCreate?: (tableMeta: TableType) => void, baseId? const { loadTables } = useProject() const { closeTab } = useTabs() - const { sqlUis, project, tables } = useProject() + const projectStore = useProject() + const { sqlUis, project, tables } = storeToRefs(projectStore) const sqlUi = computed(() => (baseId && sqlUis.value[baseId] ? sqlUis.value[baseId] : Object.values(sqlUis.value)[0])) diff --git a/packages/nc-gui/composables/useViewColumns.ts b/packages/nc-gui/composables/useViewColumns.ts index 2d186b2f31..65f5abbb7b 100644 --- a/packages/nc-gui/composables/useViewColumns.ts +++ b/packages/nc-gui/composables/useViewColumns.ts @@ -1,7 +1,7 @@ -import { isSystemColumn } from 'nocodb-sdk' -import type { ColumnType, TableType, ViewType } from 'nocodb-sdk' +import { ViewTypes, isSystemColumn } from 'nocodb-sdk' +import type { ColumnType, MapType, TableType, ViewType } from 'nocodb-sdk' import type { ComputedRef, Ref } from 'vue' -import { IsPublicInj, computed, inject, ref, useNuxtApp, useProject, useUIPermission, watch } from '#imports' +import { IsPublicInj, computed, inject, ref, storeToRefs, useNuxtApp, useProject, useUIPermission, watch } from '#imports' import type { Field } from '~/lib' export function useViewColumns( @@ -19,22 +19,29 @@ export function useViewColumns( const { isUIAllowed } = useUIPermission() - const { isSharedBase } = useProject() + const { isSharedBase } = storeToRefs(useProject()) const isLocalMode = computed( () => isPublic.value || !isUIAllowed('hideAllColumns') || !isUIAllowed('showAllColumns') || isSharedBase.value, ) + const isColumnViewEssential = (column: ColumnType) => { + // TODO: consider at some point ti delegate this via a cleaner design pattern to view specific check logic + // which could be inside of a view specific helper class (and generalized via an interface) + // (on the other hand, the logic complexity is still very low atm - might be overkill) + return view.value?.type === ViewTypes.MAP && (view.value?.view as MapType)?.fk_geo_data_col_id === column.id + } + const metaColumnById = computed>(() => { if (!meta.value?.columns) return {} - return meta.value.columns.reduce( + return (meta.value.columns as ColumnType[]).reduce( (acc, curr) => ({ ...acc, [curr.id!]: curr, }), {}, - ) + ) as Record }) const loadViewColumns = async () => { @@ -43,7 +50,7 @@ export function useViewColumns( let order = 1 if (view.value?.id) { - const data = (isPublic.value ? meta.value?.columns : await $api.dbViewColumn.list(view.value.id)) as any[] + const data = (isPublic.value ? meta.value?.columns : (await $api.dbViewColumn.list(view.value.id)).list) as any[] const fieldById = data.reduce>((acc, curr) => { curr.show = !!curr.show @@ -62,8 +69,10 @@ export function useViewColumns( title: column.title, fk_column_id: column.id, ...currentColumnField, + show: currentColumnField.show || isColumnViewEssential(currentColumnField), order: currentColumnField.order || order++, system: isSystemColumn(metaColumnById?.value?.[currentColumnField.fk_column_id!]), + isViewEssentialField: isColumnViewEssential(column), } }) .sort((a: Field, b: Field) => a.order - b.order) @@ -98,7 +107,7 @@ export function useViewColumns( if (isLocalMode.value) { fields.value = fields.value?.map((field: Field) => ({ ...field, - show: false, + show: !!field.isViewEssentialField, })) reloadData?.() return @@ -153,7 +162,7 @@ export function useViewColumns( const showSystemFields = computed({ get() { - return view.value?.show_system_fields || false + return (view.value?.show_system_fields as boolean) || false }, set(v: boolean) { if (view?.value?.id) { diff --git a/packages/nc-gui/composables/useViewData.ts b/packages/nc-gui/composables/useViewData.ts index 2681c7e7d7..dbd5235ad8 100644 --- a/packages/nc-gui/composables/useViewData.ts +++ b/packages/nc-gui/composables/useViewData.ts @@ -12,6 +12,7 @@ import { message, populateInsertObject, ref, + storeToRefs, until, useApi, useGlobal, @@ -26,7 +27,7 @@ import { } from '#imports' import type { Row } from '~/lib' -const formatData = (list: Row[]) => +const formatData = (list: Record[]) => list.map((row) => ({ row: { ...row }, oldRow: { ...row }, @@ -58,7 +59,7 @@ export function useViewData( const _paginationData = ref({ page: 1, pageSize: appInfoDefaultLimit }) - const aggCommentCount = ref<{ row_id: string; count: number }[]>([]) + const aggCommentCount = ref<{ row_id: string; count: string }[]>([]) const galleryData = ref() @@ -70,7 +71,7 @@ export function useViewData( const isPublic = inject(IsPublicInj, ref(false)) - const { project, isSharedBase } = useProject() + const { project, isSharedBase } = storeToRefs(useProject()) const { sharedView, fetchSharedViewData, paginationData: sharedPaginationData } = useSharedView() @@ -182,7 +183,7 @@ export function useViewData( for (const row of formattedData.value) { const id = extractPkFromRow(row.row, meta.value?.columns as ColumnType[]) - row.rowMeta.commentCount = aggCommentCount.value?.find((c: Record) => c.row_id === id)?.count || 0 + row.rowMeta.commentCount = +(aggCommentCount.value?.find((c: Record) => c.row_id === id)?.count || 0) } } @@ -197,6 +198,7 @@ export function useViewData( where: where?.value, }) : await fetchSharedViewData({ sortsArr: sorts.value, filtersArr: nestedFilters.value }) + formattedData.value = formatData(response.list) paginationData.value = response.pageInfo @@ -477,15 +479,24 @@ export function useViewData( } } - const navigateToSiblingRow = async (dir: NavigateDir) => { - // get current expanded row index - const expandedRowIndex = formattedData.value.findIndex( + // get current expanded row index + function getExpandedRowIndex() { + return formattedData.value.findIndex( (row: Row) => routeQuery.rowId === extractPkFromRow(row.row, meta.value?.columns as ColumnType[]), ) + } + + const navigateToSiblingRow = async (dir: NavigateDir) => { + const expandedRowIndex = getExpandedRowIndex() // calculate next row index based on direction let siblingRowIndex = expandedRowIndex + (dir === NavigateDir.NEXT ? 1 : -1) + // if unsaved row skip it + while (formattedData.value[siblingRowIndex]?.rowMeta?.new) { + siblingRowIndex = siblingRowIndex + (dir === NavigateDir.NEXT ? 1 : -1) + } + const currentPage = paginationData?.value?.page || 1 // if next row index is less than 0, go to previous page and point to last element @@ -547,5 +558,6 @@ export function useViewData( removeRowIfNew, navigateToSiblingRow, deleteRowById, + getExpandedRowIndex, } } diff --git a/packages/nc-gui/composables/useViewFilters.ts b/packages/nc-gui/composables/useViewFilters.ts index baa276b366..45c9394324 100644 --- a/packages/nc-gui/composables/useViewFilters.ts +++ b/packages/nc-gui/composables/useViewFilters.ts @@ -11,6 +11,7 @@ import { inject, message, ref, + storeToRefs, useDebounceFn, useMetas, useNuxtApp, @@ -35,7 +36,7 @@ export function useViewFilters( const { nestedFilters } = useSmartsheetStoreOrThrow() - const { projectMeta } = useProject() + const { projectMeta } = storeToRefs(useProject()) const isPublic = inject(IsPublicInj, ref(false)) @@ -140,8 +141,28 @@ export function useViewFilters( return isNullOrEmptyOp ? projectMeta.value.showNullAndEmptyInFilter : true } + const isComparisonSubOpAllowed = ( + filter: FilterType, + compOp: { + text: string + value: string + ignoreVal?: boolean + includedTypes?: UITypes[] + excludedTypes?: UITypes[] + }, + ) => { + if (compOp.includedTypes) { + // include allowed values only if selected column type matches + return filter.fk_column_id && compOp.includedTypes.includes(types.value[filter.fk_column_id]) + } else if (compOp.excludedTypes) { + // include not allowed values only if selected column type not matches + return filter.fk_column_id && !compOp.excludedTypes.includes(types.value[filter.fk_column_id]) + } + } + const placeholderFilter = (): Filter => { return { + // TODO: fix type comparison_op: comparisonOpList(options.value?.[0].uidt as UITypes).filter((compOp) => isComparisonOpAllowed({ fk_column_id: options.value?.[0].id }, compOp), )?.[0].value, @@ -161,16 +182,15 @@ export function useViewFilters( try { if (hookId) { if (parentId) { - filters.value = await $api.dbTableFilter.childrenRead(parentId) + filters.value = (await $api.dbTableFilter.childrenRead(parentId)).list as Filter[] } else { - // todo: return type is incorrect - filters.value = (await $api.dbTableWebhookFilter.read(hookId!)) as unknown as Filter[] + filters.value = (await $api.dbTableWebhookFilter.read(hookId!)).list as Filter[] } } else { if (parentId) { - filters.value = await $api.dbTableFilter.childrenRead(parentId) + filters.value = (await $api.dbTableFilter.childrenRead(parentId)).list as Filter[] } else { - filters.value = await $api.dbTableFilter.read(view.value!.id!) + filters.value = (await $api.dbTableFilter.read(view.value!.id!)).list as Filter[] } } } catch (e: any) { @@ -327,5 +347,6 @@ export function useViewFilters( addFilterGroup, saveOrUpdateDebounced, isComparisonOpAllowed, + isComparisonSubOpAllowed, } } diff --git a/packages/nc-gui/composables/useViewSorts.ts b/packages/nc-gui/composables/useViewSorts.ts index ea37001ecd..2fa218ab91 100644 --- a/packages/nc-gui/composables/useViewSorts.ts +++ b/packages/nc-gui/composables/useViewSorts.ts @@ -7,6 +7,7 @@ import { inject, message, ref, + storeToRefs, useNuxtApp, useProject, useSharedView, @@ -24,7 +25,7 @@ export function useViewSorts(view: Ref, reloadData?: () => const { isUIAllowed } = useUIPermission() - const { isSharedBase } = useProject() + const { isSharedBase } = storeToRefs(useProject()) const reloadHook = inject(ReloadViewDataHookInj) @@ -49,7 +50,7 @@ export function useViewSorts(view: Ref, reloadData?: () => } } if (!view?.value) return - sorts.value = (await $api.dbTableSort.list(view.value!.id!)).sorts?.list || [] + sorts.value = (await $api.dbTableSort.list(view.value!.id!)).list as SortType[] } catch (e: any) { console.error(e) message.error(await extractSdkResponseErrorMsg(e)) diff --git a/packages/nc-gui/lang/ar.json b/packages/nc-gui/lang/ar.json index bfa90afd4c..26c204e25b 100644 --- a/packages/nc-gui/lang/ar.json +++ b/packages/nc-gui/lang/ar.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "مشروع", @@ -98,7 +99,8 @@ "gallery": "معرض صور", "form": "نموذج", "kanban": "كانبان", - "calendar": "تقويم" + "calendar": "تقويم", + "map": "Map" }, "user": "مستخدم", "users": "مستخدمين", @@ -136,6 +138,7 @@ "Currency": "عملة", "Percent": "نسبة مؤية", "Duration": "مدة", + "GeoData": "GeoData", "Rating": "تقييم", "Formula": "معادلة", "Rollup": "جمع البيانات", @@ -232,6 +235,7 @@ "action": "إجراء", "actions": "إجراءات", "operation": "عملية", + "operationSub": "Sub Operation", "operationType": "نوع العملية", "operationSubType": "نوع العملية الفرعية", "description": "وصف", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "وظيفة التجميع", "dbCreateIfNotExists": "قاعدة البيانات: إنشاء إذا لم يكن موجودا", "clientKey": "مفتاح العميل", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "الصفوف لكل صفحة", "upload": "حدد الملف المراد رفعه", "upload_sub": "أو سحب وإسقاط الملف", @@ -600,6 +616,7 @@ "gallery": "إضافة عرض المعرض", "form": "إضافة عرض النموذج", "kanban": "إضافة عرض كانبان", + "map": "Add Map View", "calendar": "إضافة طريقة عرض التقويم" }, "tablesMetadataInSync": "تزامن البيانات الوصفية للجداول", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/bn_IN.json b/packages/nc-gui/lang/bn_IN.json index e4cabed1bd..f33c7f131c 100644 --- a/packages/nc-gui/lang/bn_IN.json +++ b/packages/nc-gui/lang/bn_IN.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "প্রকল্প", @@ -98,7 +99,8 @@ "gallery": "গ্যালারী", "form": "ফর্ম", "kanban": "কানবান", - "calendar": "ক্যালেন্ডার" + "calendar": "ক্যালেন্ডার", + "map": "Map" }, "user": "ব্যবহারকারী", "users": "ব্যবহারকারীরা", @@ -136,6 +138,7 @@ "Currency": "মুদ্রা", "Percent": "শতাংশ", "Duration": "সময়কাল", + "GeoData": "GeoData", "Rating": "রেটিং", "Formula": "সূত্র", "Rollup": "রোলআপ", @@ -232,6 +235,7 @@ "action": "কর্ম", "actions": "ক্রিয়া", "operation": "অপারেশন", + "operationSub": "Sub Operation", "operationType": "অপারেশন টাইপ", "operationSubType": "অপারেশন সাব-টাইপ", "description": "বর্ণনা", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "সামগ্রিক ফাংশন", "dbCreateIfNotExists": "ডাটাবেস: উপস্থিত না থাকলে তৈরি করুন", "clientKey": "ক্লায়েন্ট কী", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "প্রতি পৃষ্ঠায় সারি", "upload": "আপলোড করতে ফাইল নির্বাচন করুন", "upload_sub": "অথবা ফাইল টেনে আনুন", @@ -600,6 +616,7 @@ "gallery": "গ্যালারী ভিউ যুক্ত করুন", "form": "ফর্ম ভিউ যোগ করুন", "kanban": "কানবান ভিউ যুক্ত করুন", + "map": "Add Map View", "calendar": "ক্যালেন্ডার ভিউ যুক্ত করুন" }, "tablesMetadataInSync": "টেবিলের মেটাডেটা সিঙ্ক করা আছে", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/cs.json b/packages/nc-gui/lang/cs.json index 1d2e0f228e..9e37208137 100644 --- a/packages/nc-gui/lang/cs.json +++ b/packages/nc-gui/lang/cs.json @@ -74,7 +74,8 @@ "insertBefore": "Vložit před", "hideField": "Skrýt pole", "sortAsc": "Seřadit vzestupně", - "sortDesc": "Seřadit sestupně" + "sortDesc": "Seřadit sestupně", + "geoDataField": "GeoData Field" }, "objects": { "project": "Projekt", @@ -98,7 +99,8 @@ "gallery": "Galerie", "form": "Formulář", "kanban": "Kanban", - "calendar": "Kalendář" + "calendar": "Kalendář", + "map": "Map" }, "user": "Uživatel", "users": "Uživatelé", @@ -136,6 +138,7 @@ "Currency": "Měna", "Percent": "Procenta", "Duration": "Doba trvání", + "GeoData": "GeoData", "Rating": "Hodnocení", "Formula": "Vzorec", "Rollup": "Rollup", @@ -232,6 +235,7 @@ "action": "Akce", "actions": "Akce", "operation": "Operace", + "operationSub": "Sub Operation", "operationType": "Typ operace", "operationSubType": "Podtyp operace", "description": "Popis", @@ -253,6 +257,9 @@ "barcodeFormat": "Formát čárového kódu", "qrCodeValueTooLong": "Příliš mnoho znaků pro QR kód", "barcodeValueTooLong": "Příliš mnoho znaků pro čárový kód", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Agregační funkce", "dbCreateIfNotExists": "Databáze : vytvořit, pokud neexistuje", "clientKey": "Klíč klienta", @@ -452,6 +459,10 @@ "stackedBy": "Naskládáno podle", "chooseGroupingField": "Výběr pole pro seskupení", "addOrEditStack": "Přidat / upravit zásobník" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Tvůrce může vytvářet nové projekty a přistupovat k jakémukoli pozvanému projektu.", "orgViewer": "Prohlížeč nemůže vytvářet nové projekty, ale může přistupovat k jakémukoli pozvanému projektu." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Řádky na stránku", "upload": "Vyberte soubor, který chcete nahrát", "upload_sub": "nebo přetažením souboru", @@ -600,6 +616,7 @@ "gallery": "Přidat zobrazení galerie", "form": "Přidání zobrazení formuláře", "kanban": "Přidání zobrazení Kanban", + "map": "Add Map View", "calendar": "Přidat zobrazení kalendáře" }, "tablesMetadataInSync": "Metadata tabulek jsou synchronizována", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Jméno by mělo začínat abecedou nebo _", "followingCharactersAreNotAllowed": "Následující znaky nejsou povoleny", "columnNameRequired": "Název sloupce je povinný", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Název projektu přesahuje 50 znaků", "projectNameCannotStartWithSpace": "Název projektu nesmí začínat mezerou", "requiredField": "Povinné pole", diff --git a/packages/nc-gui/lang/da.json b/packages/nc-gui/lang/da.json index 7c499612ed..ff663368a2 100644 --- a/packages/nc-gui/lang/da.json +++ b/packages/nc-gui/lang/da.json @@ -1,31 +1,31 @@ { "general": { - "home": "Hjem", - "load": "belastning", - "open": "Åben", - "close": "Tæt", + "home": "Forside", + "load": "Indlæs", + "open": "Åbn", + "close": "Luk", "yes": "Ja", - "no": "Ingen", + "no": "Nej", "ok": "Okay", "and": "Og", "or": "Eller", - "add": "Tilføje", - "edit": "Redigere", - "remove": "Fjerne", - "save": "Gemme", - "cancel": "Afbestille", + "add": "Tilføj", + "edit": "Redigér", + "remove": "Fjern", + "save": "Gem", + "cancel": "Fortryd", "submit": "Indsend", - "create": "skab", + "create": "Opret", "duplicate": "Duplikat", - "insert": "Indsættes", - "delete": "Delete.", - "update": "UPDATE.", + "insert": "Indsæt", + "delete": "Slet", + "update": "Opdatér", "rename": "Omdøb", - "reload": "Genindlæsning", + "reload": "Genindlæs", "reset": "Nulstil", - "install": "Installere", - "show": "At vise", - "hide": "Skjule", + "install": "Installer", + "show": "Vis", + "hide": "Skjul", "showAll": "Vis alt", "hideAll": "Gem alt", "showMore": "Vis mere", @@ -74,7 +74,8 @@ "insertBefore": "Indsæt før", "hideField": "Skjul felt", "sortAsc": "Sortere stigende", - "sortDesc": "Sortere nedadgående" + "sortDesc": "Sortere nedadgående", + "geoDataField": "GeoData-felt" }, "objects": { "project": "Projekt", @@ -91,14 +92,15 @@ "records": "Optegnelser.", "webhook": "WebHook.", "webhooks": "Webhooks.", - "view": "Udsigt", - "views": "Visninger.", + "view": "Visning", + "views": "Visninger", "viewType": { - "grid": "Grid.", + "grid": "Grid", "gallery": "Galleri", "form": "Formular", "kanban": "Kanban.", - "calendar": "Kalender" + "calendar": "Kalender", + "map": "Kort" }, "user": "Bruger", "users": "Brugere", @@ -136,6 +138,7 @@ "Currency": "betalingsmiddel", "Percent": "Procentdel", "Duration": "Varighed", + "GeoData": "GeoData", "Rating": "Bedømmelse", "Formula": "Formel", "Rollup": "Rul op", @@ -206,7 +209,7 @@ "advancedSettings": "Avancerede indstillinger", "codeSnippet": "Kodeuddrag", "keyboardShortcut": "Tastaturgenveje", - "generateRandomName": "Generate Random Name" + "generateRandomName": "Generér Tilfældigt Navn" }, "labels": { "createdBy": "Oprettet af", @@ -214,7 +217,7 @@ "projName": "Projekt navn", "tableName": "Tabelnavn.", "viewName": "Se navn", - "viewLink": "Se Link.", + "viewLink": "Vis Link", "columnName": "Kolonne navn", "columnType": "Kolonne type", "roleName": "Rolle navn", @@ -232,6 +235,7 @@ "action": "Handling", "actions": "Handlinger", "operation": "Operation", + "operationSub": "Underordnet operation", "operationType": "Driftstype", "operationSubType": "Drift Undertype", "description": "Beskrivelse", @@ -253,6 +257,9 @@ "barcodeFormat": "Stregkodeformat", "qrCodeValueTooLong": "For mange tegn til en QR-kode", "barcodeValueTooLong": "For mange tegn til en stregkode", + "yourLocation": "Din Placering", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Aggregate Function.", "dbCreateIfNotExists": "DATABASE: Opret, hvis ikke eksisterer", "clientKey": "Klientnøgle", @@ -276,8 +283,8 @@ }, "docReference": "Dokumentreference.", "selectUserRole": "Vælg brugerrolle", - "childTable": "Børnebord", - "childColumn": "Barn kolonne", + "childTable": "Undertabel", + "childColumn": "Underkolonner", "linkToAnotherRecord": "Link til en anden post", "onUpdate": "På opdatering", "onDelete": "På Delete.", @@ -372,36 +379,36 @@ "reloadRoles": "Genindlæs roller", "nextPage": "Næste side", "prevPage": "Forrige side", - "nextRecord": "Næste rekord.", - "previousRecord": "Tidligere rekord.", + "nextRecord": "Næste post", + "previousRecord": "Forrige post", "copyApiURL": "COPY API URL.", - "createTable": "Tabel Create.", - "refreshTable": "Tabeller opdatere", - "renameTable": "Bord omdøb", - "deleteTable": "TABEL DELETE.", + "createTable": "Opret tabel", + "refreshTable": "Genopfrisk Tabeller", + "renameTable": "Omdøb Tabel", + "deleteTable": "Slet Tabel", "addField": "Tilføj nyt felt til denne tabel", - "setDisplay": "Set as Display value", - "addRow": "Tilføj ny række", - "saveRow": "Gem ro", + "setDisplay": "Sæt som visningsværdi", + "addRow": "Tilføj ny post", + "saveRow": "Gem række", "saveAndExit": "Gem og afslutning", "saveAndStay": "Gem og bliv", "insertRow": "Indsæt ny række", - "deleteRow": "DELETE ROW.", - "duplicateRow": "Duplicate Row", + "deleteRow": "Slet Række", + "duplicateRow": "Dupliker Række", "deleteSelectedRow": "Slet de valgte rækker", "importExcel": "Import Excel.", "importCSV": "Import CSV.", "downloadCSV": "Download som CSV.", "downloadExcel": "Download som XLSX", "uploadCSV": "Upload CSV.", - "import": "Importere", + "import": "Import", "importMetadata": "Import metadata.", "exportMetadata": "Eksport metadata.", "clearMetadata": "Klare metadata.", "exportToFile": "Eksporter til filer", "changePwd": "Skift kodeord", "createView": "Opret en visning", - "shareView": "Del View", + "shareView": "Del Visning", "listSharedView": "Shared View List.", "ListView": "Visninger List", "copyView": "Kopi visning", @@ -422,23 +429,23 @@ "importZip": "Import Zip.", "metaSync": "Synkroniser nu", "settings": "Indstillinger.", - "previewAs": "Forhåndsvisning så", - "resetReview": "Nulstil preview.", - "testDbConn": "Test Database Connection.", + "previewAs": "Forhåndsvisning som", + "resetReview": "Nulstil forhåndsvisning", + "testDbConn": "Test Database Forbindelse", "removeDbFromEnv": "Fjern databasen fra miljøet", "editConnJson": "Rediger forbindelse JSON", - "sponsorUs": "Sponsor os", + "sponsorUs": "Sponsorer os", "sendEmail": "SEND E-MAIL", "addUserToProject": "Tilføj bruger til projekt", "getApiSnippet": "Hent API-snippet", - "clearCell": "Klar celle", + "clearCell": "Ryd celle", "addFilterGroup": "Tilføj filtergruppe", "linkRecord": "Link record", "addNewRecord": "Tilføj ny post", "useConnectionUrl": "Brug forbindelses-URL", "toggleCommentsDraw": "Toggle kommentarer tegne", "expandRecord": "Udvid optegnelse", - "deleteRecord": "Slet registrering", + "deleteRecord": "Slet Post", "erd": { "showColumns": "Vis kolonner", "showPkAndFk": "Vis primære og fremmede nøgler", @@ -452,6 +459,10 @@ "stackedBy": "Stablet af", "chooseGroupingField": "Vælg et grupperingsfelt", "addOrEditStack": "Tilføj / Rediger stak" + }, + "map": { + "mappedBy": "Kortlagt af", + "chooseMappingField": "Vælg et kortlægningsfelt" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Skaberen kan oprette nye projekter og få adgang til alle inviterede projekter.", "orgViewer": "Seeren har ikke lov til at oprette nye projekter, men kan få adgang til alle inviterede projekter." }, + "map": { + "overLimit": "Du er over grænsen.", + "closeLimit": "Du nærmer dig grænsen.", + "limitNumber": "Grænsen for antallet af markeringer, der vises i en kortvisning, er 1000 poster." + }, "footerInfo": "Rækker per side", "upload": "Vælg fil for at uploade", "upload_sub": "eller træk og slip filen", @@ -600,6 +616,7 @@ "gallery": "Tilføj Gallery View.", "form": "Tilføj formularvisning", "kanban": "Tilføj Kanban View.", + "map": "Tilføj Kortvisning", "calendar": "Tilføj kalendervisning" }, "tablesMetadataInSync": "Tabeller Metadata er synkroniseret", @@ -631,11 +648,11 @@ "deleteViewConfirmation": "Er du sikker på, at du vil slette denne visning?", "deleteTableConfirmation": "Ønsker du at slette tabellen", "showM2mTables": "Vis M2M-tabeller", - "showM2mTablesDesc": "Many-to-many relation is supported via a junction table & is hidden by default. Enable this option to list all such tables along with existing tables.", - "showNullInCells": "Show NULL in Cells", + "showM2mTablesDesc": "Mange-til-mange-relationer understøttes via en sammenknytnings-tabel (junction table) og er skjult som standard. Aktiver denne indstilling for at få vist alle sådanne tabeller sammen med eksisterende tabeller.", + "showNullInCells": "Vis NULL i celler", "showNullInCellsDesc": "Display 'NULL' tag in cells holding NULL value. This helps differentiate against cells holding EMPTY string.", - "showNullAndEmptyInFilter": "Show NULL and EMPTY in Filter", - "showNullAndEmptyInFilterDesc": "Enable 'additional' filters to differentiate fields containing NULL & Empty Strings. Default support for Blank treats both NULL & Empty strings alike.", + "showNullAndEmptyInFilter": "Vis NULL og EMPTY i Filter", + "showNullAndEmptyInFilterDesc": "Aktiver \"yderligere\" filtre for at skelne mellem felter, der indeholder NULL og tomme strenge. Standardunderstøttelse for Blank behandler både NULL- og tomme strenge ens.", "deleteKanbanStackConfirmation": "Hvis du sletter denne stak, fjernes også valgmuligheden `{stackToBeDeleted}` fra `{groupingField}`. Posterne vil blive flyttet til stakken \"uncategorized\".", "computedFieldEditWarning": "Beregnet felt: indholdet er skrivebeskyttet. Brug kolonne-redigeringsmenuen til at omkonfigurere", "computedFieldDeleteWarning": "Beregnet felt: indholdet er skrivebeskyttet. Det er ikke muligt at slette indholdet.", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Navnet skal starte med et alfabet eller _", "followingCharactersAreNotAllowed": "Følgende tegn er ikke tilladt", "columnNameRequired": "Kolonnens navn er påkrævet", + "columnNameExceedsCharacters": "Længden af kolonnenavnet overstiger maks. {value} tegn", "projectNameExceeds50Characters": "Projektnavnet overstiger 50 tegn", "projectNameCannotStartWithSpace": "Projektnavnet kan ikke begynde med et mellemrum", "requiredField": "Obligatorisk felt", @@ -722,7 +740,7 @@ }, "success": { "columnDuplicated": "Kolonne duplikeret med succes", - "rowDuplicatedWithoutSavedYet": "Row duplicated (not saved)", + "rowDuplicatedWithoutSavedYet": "Række duplikeret (ikke gemt)", "updatedUIACL": "Opdateret UI ACL for tabeller med succes", "pluginUninstalled": "Plugin afinstalleret med succes", "pluginSettingsSaved": "Plugin-indstillingerne er gemt med succes", diff --git a/packages/nc-gui/lang/de.json b/packages/nc-gui/lang/de.json index 0e37ab87b5..7755573d83 100644 --- a/packages/nc-gui/lang/de.json +++ b/packages/nc-gui/lang/de.json @@ -74,7 +74,8 @@ "insertBefore": "davor einfügen", "hideField": "Feld ausblenden", "sortAsc": "Aufsteigend sortieren", - "sortDesc": "Absteigend sortieren" + "sortDesc": "Absteigend sortieren", + "geoDataField": "GeoData Field" }, "objects": { "project": "Projekt", @@ -98,7 +99,8 @@ "gallery": "Galerie", "form": "Formular", "kanban": "Kanban", - "calendar": "Kalender" + "calendar": "Kalender", + "map": "Map" }, "user": "Nutzer", "users": "Benutzer", @@ -136,6 +138,7 @@ "Currency": "Währung", "Percent": "Prozent", "Duration": "Dauer", + "GeoData": "GeoData", "Rating": "Klassifizierung", "Formula": "Formel", "Rollup": "Zusammenfassung", @@ -232,6 +235,7 @@ "action": "Aktion", "actions": "Aktionen", "operation": "Vorgang", + "operationSub": "Sub Operation", "operationType": "Vorgangstyp", "operationSubType": "Vorgangsuntertyp", "description": "Beschreibung", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode-Format", "qrCodeValueTooLong": "Zu viele Zeichen für einen QR-Code", "barcodeValueTooLong": "Zu viele Zeichen für einen Barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Globale Funktion", "dbCreateIfNotExists": "Datenbank: Erstellen, falls nicht vorhanden", "clientKey": "Client-Schlüssel", @@ -452,6 +459,10 @@ "stackedBy": "Gestapelt von", "chooseGroupingField": "Wählen Sie ein Gruppierungsfeld", "addOrEditStack": "Stapel hinzufügen / bearbeiten" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Der Ersteller kann neue Projekte erstellen und auf alle eingeladenen Projekte zugreifen.", "orgViewer": "Betrachter können keine neuen Projekte erstellen, aber sie können auf alle eingeladenen Projekte zugreifen." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Zeilen pro Seite", "upload": "Datei zum Hochladen auswählen", "upload_sub": "oder Drag & Drop Datei", @@ -600,6 +616,7 @@ "gallery": "Galerie-Ansicht hinzufügen", "form": "Formular-Ansicht hinzufügen", "kanban": "Kanban-Ansicht hinzufügen", + "map": "Add Map View", "calendar": "Kalender-Ansicht hinzufügen" }, "tablesMetadataInSync": "Tabellen-Metadaten sind synchron", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name muss mit einem Buchstaben oder _ beginnen", "followingCharactersAreNotAllowed": "Folgende Zeichen sind nicht erlaubt", "columnNameRequired": "Spaltenname ist erforderlich", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Projektname überschreitet 50 Zeichen", "projectNameCannotStartWithSpace": "Projektname darf nicht mit einem Leerzeichen beginnen", "requiredField": "Pflichtfeld", diff --git a/packages/nc-gui/lang/en.json b/packages/nc-gui/lang/en.json index bdbc84d36d..2407c25191 100644 --- a/packages/nc-gui/lang/en.json +++ b/packages/nc-gui/lang/en.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "Project", @@ -98,7 +99,8 @@ "gallery": "Gallery", "form": "Form", "kanban": "Kanban", - "calendar": "Calendar" + "calendar": "Calendar", + "map": "Map" }, "user": "User", "users": "Users", @@ -136,6 +138,7 @@ "Currency": "Currency", "Percent": "Percent", "Duration": "Duration", + "GeoData": "GeoData", "Rating": "Rating", "Formula": "Formula", "Rollup": "Rollup", @@ -232,6 +235,7 @@ "action": "Action", "actions": "Actions", "operation": "Operation", + "operationSub": "Sub Operation", "operationType": "Operation type", "operationSubType": "Operation sub-type", "description": "Description", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Aggregate function", "dbCreateIfNotExists": "Database : create if not exists", "clientKey": "Client Key", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Rows per page", "upload": "Select file to Upload", "upload_sub": "or drag and drop file", @@ -600,6 +616,7 @@ "gallery": "Add Gallery View", "form": "Add Form View", "kanban": "Add Kanban View", + "map": "Add Map View", "calendar": "Add Calendar View" }, "tablesMetadataInSync": "Tables metadata is in Sync", diff --git a/packages/nc-gui/lang/es.json b/packages/nc-gui/lang/es.json index 85b274ee59..8083d12c77 100644 --- a/packages/nc-gui/lang/es.json +++ b/packages/nc-gui/lang/es.json @@ -74,7 +74,8 @@ "insertBefore": "Insertar antes", "hideField": "Ocultar campo", "sortAsc": "Ordenación ascendente", - "sortDesc": "Orden descendente" + "sortDesc": "Orden descendente", + "geoDataField": "GeoData Field" }, "objects": { "project": "Proyecto", @@ -98,7 +99,8 @@ "gallery": "Galería", "form": "Formulario", "kanban": "Kanban", - "calendar": "Calendario" + "calendar": "Calendario", + "map": "Map" }, "user": "Usuario", "users": "Usuarios", @@ -136,6 +138,7 @@ "Currency": "Divisa", "Percent": "Por ciento", "Duration": "Duración", + "GeoData": "GeoData", "Rating": "Clasificación", "Formula": "Fórmula", "Rollup": "Acumulado", @@ -232,6 +235,7 @@ "action": "Acción", "actions": "Acciones", "operation": "Operación", + "operationSub": "Sub Operation", "operationType": "Tipo de operación", "operationSubType": "Sub-tipo de operación", "description": "Descripción", @@ -253,6 +257,9 @@ "barcodeFormat": "Formato del código de barras", "qrCodeValueTooLong": "Demasiados caracteres para un código QR", "barcodeValueTooLong": "Demasiados caracteres para un código de barras", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Función agregada", "dbCreateIfNotExists": "Base de datos : Crear si no existe", "clientKey": "Clave de Cliente", @@ -452,6 +459,10 @@ "stackedBy": "Apilado por", "chooseGroupingField": "Elija un campo de agrupación", "addOrEditStack": "Añadir / Editar pila" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "El creador puede crear nuevos proyectos y acceder a cualquier proyecto invitado.", "orgViewer": "El espectador no puede crear nuevos proyectos, pero puede acceder a cualquier proyecto invitado." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Filas por página", "upload": "Selecciona Archivo para cargar", "upload_sub": "o arrastra y suelta el archivo", @@ -600,6 +616,7 @@ "gallery": "Agregar vista de Galería", "form": "Agregar vista de Formulario", "kanban": "Agregar vista de Kanban", + "map": "Add Map View", "calendar": "Agregar vista de Calendario" }, "tablesMetadataInSync": "Sincronización de tablas de metadatos activa", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "El nombre debe empezar por un alfabeto o _", "followingCharactersAreNotAllowed": "Los siguientes caracteres no están permitidos", "columnNameRequired": "El nombre de la columna es obligatorio", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "El nombre del proyecto supera los 50 caracteres", "projectNameCannotStartWithSpace": "El nombre del proyecto no puede empezar con un espacio", "requiredField": "Campo obligatorio", diff --git a/packages/nc-gui/lang/eu.json b/packages/nc-gui/lang/eu.json index 1527721ea3..5c07152283 100644 --- a/packages/nc-gui/lang/eu.json +++ b/packages/nc-gui/lang/eu.json @@ -74,7 +74,8 @@ "insertBefore": "Txertatu aurretik", "hideField": "Ezkutatu eremua", "sortAsc": "Ordenatu gorantz", - "sortDesc": "Ordenatu beherantz" + "sortDesc": "Ordenatu beherantz", + "geoDataField": "GeoData Field" }, "objects": { "project": "Proiektua", @@ -98,7 +99,8 @@ "gallery": "Galeria", "form": "Inprimakia", "kanban": "Kanban", - "calendar": "Egutegia" + "calendar": "Egutegia", + "map": "Map" }, "user": "Erabiltzailea", "users": "Erabiltzaileak", @@ -136,6 +138,7 @@ "Currency": "Moneta", "Percent": "Ehunekoa", "Duration": "Iraupena", + "GeoData": "GeoData", "Rating": "Balorazioa", "Formula": "Ekuazioa", "Rollup": "Rollup", @@ -232,6 +235,7 @@ "action": "Ekintza", "actions": "Ekintzak", "operation": "Operation", + "operationSub": "Sub Operation", "operationType": "Operation type", "operationSubType": "Operation sub-type", "description": "Deskribapena", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Aggregate function", "dbCreateIfNotExists": "Database : create if not exists", "clientKey": "Client Key", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Rows per page", "upload": "Select file to Upload", "upload_sub": "or drag and drop file", @@ -600,6 +616,7 @@ "gallery": "Add Gallery View", "form": "Add Form View", "kanban": "Add Kanban View", + "map": "Add Map View", "calendar": "Add Calendar View" }, "tablesMetadataInSync": "Tables metadata is in Sync", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/fa.json b/packages/nc-gui/lang/fa.json index 475643336f..9d0f71daf5 100644 --- a/packages/nc-gui/lang/fa.json +++ b/packages/nc-gui/lang/fa.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "پروژه", @@ -98,7 +99,8 @@ "gallery": "گالری", "form": "فرم", "kanban": "کانبان", - "calendar": "تقویم" + "calendar": "تقویم", + "map": "Map" }, "user": "کاربر", "users": "کاربران", @@ -136,6 +138,7 @@ "Currency": "واحد پول", "Percent": "درصد", "Duration": "مدت زمان", + "GeoData": "GeoData", "Rating": "امتیاز", "Formula": "فرمول", "Rollup": "تجمیع کردن", @@ -232,6 +235,7 @@ "action": "اقدام", "actions": "اقدامات", "operation": "عملیات", + "operationSub": "Sub Operation", "operationType": "نوع عملیات", "operationSubType": "زیرگونه عملیات", "description": "شرح", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "تابع جمع", "dbCreateIfNotExists": "پایگاه داده: ایجاد در صورت عدم وجود", "clientKey": "کلید Client", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "تعداد ردیفها در هر صفحه", "upload": "فایل را برای بارگذاری انتخاب کنید", "upload_sub": "یا فایل را بکشید و رها کنید", @@ -600,6 +616,7 @@ "gallery": "افزودن نمایش گالری", "form": "افزودن نمایش فرم", "kanban": "افزودن نمایش کانبان", + "map": "Add Map View", "calendar": "افزودن نمایش تقویم" }, "tablesMetadataInSync": "متاداده جداول در حالت همگامسازی است", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/fi.json b/packages/nc-gui/lang/fi.json index e1e4dbc96d..df9f79d663 100644 --- a/packages/nc-gui/lang/fi.json +++ b/packages/nc-gui/lang/fi.json @@ -74,7 +74,8 @@ "insertBefore": "Lisää ennen", "hideField": "Piilota kenttä", "sortAsc": "Lajittelu nouseva", - "sortDesc": "Lajittelu laskeva" + "sortDesc": "Lajittelu laskeva", + "geoDataField": "GeoData Field" }, "objects": { "project": "Hanke", @@ -98,7 +99,8 @@ "gallery": "Galleria", "form": "Lomake", "kanban": "Kanban", - "calendar": "Kalenteri" + "calendar": "Kalenteri", + "map": "Map" }, "user": "Käyttäjä", "users": "Käyttäjät", @@ -136,6 +138,7 @@ "Currency": "Valuutta", "Percent": "Prosentti", "Duration": "Kesto", + "GeoData": "GeoData", "Rating": "Luokitus", "Formula": "Kaava", "Rollup": "Rullaus", @@ -232,6 +235,7 @@ "action": "Toiminta", "actions": "Toiminnot", "operation": "Operaatio", + "operationSub": "Sub Operation", "operationType": "Käyttötyyppi", "operationSubType": "Käyttö Alatyyppi", "description": "Kuvaus", @@ -253,6 +257,9 @@ "barcodeFormat": "Viivakoodin muoto", "qrCodeValueTooLong": "Liian monta merkkiä QR-koodiin", "barcodeValueTooLong": "Liikaa merkkejä viivakoodiin", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Kokonaistoiminto", "dbCreateIfNotExists": "Tietokanta: Luo jos ei ole olemassa", "clientKey": "Asiakasnäppäin", @@ -452,6 +459,10 @@ "stackedBy": "Pinottu by", "chooseGroupingField": "Valitse ryhmittelykenttä", "addOrEditStack": "Lisää / Muokkaa pinoa" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Luoja voi luoda uusia projekteja ja käyttää kaikkia kutsuttuja projekteja.", "orgViewer": "Katsoja ei saa luoda uusia projekteja, mutta hän voi käyttää mitä tahansa kutsuttua projektia." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Rivit sivua kohti", "upload": "Valitse lataa tiedosto", "upload_sub": "tai vedä ja pudota tiedosto", @@ -600,6 +616,7 @@ "gallery": "Lisää galleria-näkymä", "form": "Lisää lomake", "kanban": "Lisää Kanban View", + "map": "Add Map View", "calendar": "Lisää kalenteri-näkymä" }, "tablesMetadataInSync": "Taulukot Metatieto on synkronoitu", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Nimen on alettava aakkosilla tai _", "followingCharactersAreNotAllowed": "Seuraavat merkit eivät ole sallittuja", "columnNameRequired": "Sarakkeen nimi vaaditaan", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Hankkeen nimi ylittää 50 merkkiä", "projectNameCannotStartWithSpace": "Projektin nimi ei voi alkaa välilyönnillä", "requiredField": "Pakollinen kenttä", diff --git a/packages/nc-gui/lang/fr.json b/packages/nc-gui/lang/fr.json index b622e88f73..3fc72b3c50 100644 --- a/packages/nc-gui/lang/fr.json +++ b/packages/nc-gui/lang/fr.json @@ -74,7 +74,8 @@ "insertBefore": "Insérer avant", "hideField": "Masquer le champ", "sortAsc": "Trier par ordre croissant", - "sortDesc": "Trier par ordre décroissant" + "sortDesc": "Trier par ordre décroissant", + "geoDataField": "GeoData Field" }, "objects": { "project": "Projet", @@ -98,7 +99,8 @@ "gallery": "Galerie", "form": "Formulaire", "kanban": "Kanban", - "calendar": "Calendrier" + "calendar": "Calendrier", + "map": "Map" }, "user": "Utilisateur", "users": "Utilisateurs", @@ -136,6 +138,7 @@ "Currency": "Devise", "Percent": "Pourcentage", "Duration": "Durée", + "GeoData": "GeoData", "Rating": "Évaluation", "Formula": "Formule", "Rollup": "Synthèse", @@ -232,6 +235,7 @@ "action": "Action", "actions": "Actions", "operation": "Opération", + "operationSub": "Sub Operation", "operationType": "Type d'opération", "operationSubType": "Sous-type d'opération", "description": "Description", @@ -253,6 +257,9 @@ "barcodeFormat": "Format du code-barres", "qrCodeValueTooLong": "Trop de caractères pour un code QR", "barcodeValueTooLong": "Trop de caractères pour un code-barres", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Fonction agrégée", "dbCreateIfNotExists": "Base de données : la créer si elle n'existe pas", "clientKey": "Clé client", @@ -452,6 +459,10 @@ "stackedBy": "Empilés par", "chooseGroupingField": "Choisir un champ de regroupement", "addOrEditStack": "Ajouter / Modifier une pile" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Le créateur peut créer de nouveaux projets et accéder à tout projet invité.", "orgViewer": "Le visualisateur n'est pas autorisé à créer de nouveaux projets mais il peut accéder à tout projet invité." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Lignes par page", "upload": "Sélectionner un fichier à téléverser", "upload_sub": "ou glisser-déposer un fichier", @@ -600,6 +616,7 @@ "gallery": "Ajouter une vue Galerie", "form": "Ajouter une vue Formulaire", "kanban": "Ajouter une vue Kanban", + "map": "Add Map View", "calendar": "Ajouter une vue Calendrier" }, "tablesMetadataInSync": "Les métadonnées de tables sont en synchronisation", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Le nom doit commencer par une lettre de l'alphabet ou _", "followingCharactersAreNotAllowed": "Les caractères suivants ne sont pas autorisés", "columnNameRequired": "Nom de la colonne requis", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Le nom du projet dépasse les 50 caractères", "projectNameCannotStartWithSpace": "Le nom du projet ne peut pas commencer par un espace", "requiredField": "Champ requis", diff --git a/packages/nc-gui/lang/he.json b/packages/nc-gui/lang/he.json index 612d3d7b90..e94b64fda4 100644 --- a/packages/nc-gui/lang/he.json +++ b/packages/nc-gui/lang/he.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "פּרוֹיֶקט", @@ -98,7 +99,8 @@ "gallery": "גלריה", "form": "טופס", "kanban": "קאנב\"כ", - "calendar": "לוּחַ שָׁנָה" + "calendar": "לוּחַ שָׁנָה", + "map": "Map" }, "user": "מִשׁתַמֵשׁ", "users": "משתמשים.", @@ -136,6 +138,7 @@ "Currency": "מַטְבֵּעַ", "Percent": "אָחוּז", "Duration": "אורך זמן", + "GeoData": "GeoData", "Rating": "דירוג", "Formula": "נוּסחָה", "Rollup": "Rullup", @@ -232,6 +235,7 @@ "action": "פעולה", "actions": "פעולות", "operation": "מבצע", + "operationSub": "Sub Operation", "operationType": "סוג הפעולה", "operationSubType": "מבצע תת-סוג", "description": "תיאור", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "פונקציה מצטברת", "dbCreateIfNotExists": "מסד נתונים: צור אם לא קיים", "clientKey": "מפתח הלקוח", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "שורות לדף", "upload": "בחר קובץ להעלאה", "upload_sub": "או גרור ושחרר קובץ", @@ -600,6 +616,7 @@ "gallery": "הוסף תצוגת גלריה", "form": "הוסף טופס View.", "kanban": "הוסף Kanban View.", + "map": "Add Map View", "calendar": "הוסף תצוגת לוח שנה" }, "tablesMetadataInSync": "טבלאות מטא נתונים מסונכרנים", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/hi.json b/packages/nc-gui/lang/hi.json index 66c393a922..d2ee6cf202 100644 --- a/packages/nc-gui/lang/hi.json +++ b/packages/nc-gui/lang/hi.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "परियोजना", @@ -98,7 +99,8 @@ "gallery": "गेलरी", "form": "प्रपत्र", "kanban": "Kanban", - "calendar": "पंचांग" + "calendar": "पंचांग", + "map": "Map" }, "user": "उपयोगकर्ता", "users": "उपयोगकर्ताओं", @@ -136,6 +138,7 @@ "Currency": "मुद्रा", "Percent": "प्रतिशत", "Duration": "अवधि", + "GeoData": "GeoData", "Rating": "रेटिंग", "Formula": "सूत्र", "Rollup": "जमना", @@ -232,6 +235,7 @@ "action": "गतिविधि", "actions": "कार्रवाई", "operation": "संचालन", + "operationSub": "Sub Operation", "operationType": "प्रचालन प्रकार", "operationSubType": "प्रचालन उप-प्रकार", "description": "विवरण", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "कुल समारोह", "dbCreateIfNotExists": "डेटाबेस: बनाएं यदि मौजूद नहीं है", "clientKey": "ग्राहक कुंजी", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "प्रति पृष्ठ पंक्तियाँ", "upload": "अपलोड करने के लिए फ़ाइल का चयन करें", "upload_sub": "या ड्रैग एंड ड्रॉप फाइल", @@ -600,6 +616,7 @@ "gallery": "गैलरी दृश्य जोड़ें", "form": "फॉर्म व्यू जोड़ें", "kanban": "कनबान दृश्य जोड़ें", + "map": "Add Map View", "calendar": "कैलेंडर दृश्य जोड़ें" }, "tablesMetadataInSync": "टेबल के मेटाडेटा SYNC है", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/hr.json b/packages/nc-gui/lang/hr.json index 953fa0869b..b8d4e65de4 100644 --- a/packages/nc-gui/lang/hr.json +++ b/packages/nc-gui/lang/hr.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "Projekt", @@ -98,7 +99,8 @@ "gallery": "Galerija", "form": "Oblik", "kanban": "Kanban", - "calendar": "Kalendar" + "calendar": "Kalendar", + "map": "Map" }, "user": "Korisnik", "users": "Korisnik", @@ -136,6 +138,7 @@ "Currency": "Valuta", "Percent": "Postotak", "Duration": "Trajanje", + "GeoData": "GeoData", "Rating": "Ocjena", "Formula": "Formula", "Rollup": "Valjak", @@ -232,6 +235,7 @@ "action": "Akcijski", "actions": "Akcije", "operation": "Operacija", + "operationSub": "Sub Operation", "operationType": "Vrsta rada", "operationSubType": "Operacija pod-vrsti", "description": "Opis", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Agregatna funkcija", "dbCreateIfNotExists": "Baza podataka: stvoriti ako ne postoji", "clientKey": "Ključ klijenta", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Redaka po stranici", "upload": "Odaberite datoteku za prijenos", "upload_sub": "ili povucite i ispustite datoteku", @@ -600,6 +616,7 @@ "gallery": "Dodajte pogled na galeriju", "form": "Dodajte prikaz obrasca", "kanban": "Dodajte Kanban pogled", + "map": "Add Map View", "calendar": "Dodajte prikaz kalendara" }, "tablesMetadataInSync": "Metapodaci tablice se sinkroniziraju", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/id.json b/packages/nc-gui/lang/id.json index dda93cd5c0..b010e87ffb 100644 --- a/packages/nc-gui/lang/id.json +++ b/packages/nc-gui/lang/id.json @@ -74,7 +74,8 @@ "insertBefore": "Sisipkan Sebelum", "hideField": "Sembunyikan Bidang", "sortAsc": "Urutkan Menaik", - "sortDesc": "Urutkan Menurun" + "sortDesc": "Urutkan Menurun", + "geoDataField": "GeoData Field" }, "objects": { "project": "Proyek", @@ -98,7 +99,8 @@ "gallery": "Galeri", "form": "Membentuk", "kanban": "Kanban.", - "calendar": "Kalender" + "calendar": "Kalender", + "map": "Map" }, "user": "Pengguna", "users": "Pengguna.", @@ -136,6 +138,7 @@ "Currency": "Mata uang", "Percent": "Persen", "Duration": "Durasi", + "GeoData": "GeoData", "Rating": "Peringkat", "Formula": "Rumus", "Rollup": "Rollup.", @@ -232,6 +235,7 @@ "action": "Tindakan", "actions": "Tindakan", "operation": "Operasi", + "operationSub": "Sub Operation", "operationType": "Jenis operasi", "operationSubType": "SUB-tipe operasi", "description": "Keterangan", @@ -253,6 +257,9 @@ "barcodeFormat": "Format kode batang", "qrCodeValueTooLong": "Terlalu banyak karakter untuk kode QR", "barcodeValueTooLong": "Terlalu banyak karakter untuk barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Fungsi agregat.", "dbCreateIfNotExists": "Basis Data: Buat jika tidak ada", "clientKey": "Kunci klien", @@ -452,6 +459,10 @@ "stackedBy": "Ditumpuk oleh", "chooseGroupingField": "Pilih Bidang Pengelompokan", "addOrEditStack": "Tambah / Edit Tumpukan" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Kreator dapat membuat proyek baru dan mengakses proyek yang diundang.", "orgViewer": "Penonton tidak diizinkan untuk membuat proyek baru, tetapi mereka dapat mengakses proyek yang diundang." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Baris per halaman", "upload": "Pilih file untuk diunggah", "upload_sub": "atau seret dan jatuhkan file", @@ -600,6 +616,7 @@ "gallery": "Tambahkan Tampilan Galeri", "form": "Tambahkan tampilan formulir", "kanban": "Tambahkan Kanban Lihat", + "map": "Add Map View", "calendar": "Tambahkan tampilan kalender" }, "tablesMetadataInSync": "Tabel metadata sedang disinkronkan", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Nama harus dimulai dengan alfabet atau _", "followingCharactersAreNotAllowed": "Karakter berikut tidak diperbolehkan", "columnNameRequired": "Nama kolom harus diisi", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Nama proyek melebihi 50 karakter", "projectNameCannotStartWithSpace": "Nama proyek tidak boleh dimulai dengan spasi", "requiredField": "Bidang yang dibutuhkan", diff --git a/packages/nc-gui/lang/it.json b/packages/nc-gui/lang/it.json index 07423e524e..0c013a7a2e 100644 --- a/packages/nc-gui/lang/it.json +++ b/packages/nc-gui/lang/it.json @@ -74,7 +74,8 @@ "insertBefore": "Inserire prima", "hideField": "Campo nascosto", "sortAsc": "Ordinamento crescente", - "sortDesc": "Ordinamento decrescente" + "sortDesc": "Ordinamento decrescente", + "geoDataField": "GeoData Field" }, "objects": { "project": "Progetto", @@ -98,7 +99,8 @@ "gallery": "Galleria", "form": "Modulo", "kanban": "Kanban", - "calendar": "Calendario" + "calendar": "Calendario", + "map": "Map" }, "user": "Utente", "users": "Utenti", @@ -136,6 +138,7 @@ "Currency": "Moneta", "Percent": "Percento", "Duration": "Durata", + "GeoData": "GeoData", "Rating": "Valutazione", "Formula": "Formula", "Rollup": "Rollup", @@ -232,6 +235,7 @@ "action": "Azione", "actions": "Azioni", "operation": "Operazione", + "operationSub": "Sub Operation", "operationType": "Tipo di operazioni", "operationSubType": "Sottotipo di operazioni", "description": "Descrizione", @@ -253,6 +257,9 @@ "barcodeFormat": "Formato del codice a barre", "qrCodeValueTooLong": "Troppi caratteri per un codice QR", "barcodeValueTooLong": "Troppi caratteri per un codice a barre", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Aggrega funzione", "dbCreateIfNotExists": "Database: crea se non esiste", "clientKey": "Chiave client", @@ -452,6 +459,10 @@ "stackedBy": "Impilato da", "chooseGroupingField": "Scegliere un campo di raggruppamento", "addOrEditStack": "Aggiungere / modificare la pila" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Il Creatore può creare nuovi progetti e accedere a qualsiasi progetto invitato.", "orgViewer": "Il visualizzatore non può creare nuovi progetti, ma può accedere a qualsiasi progetto invitato." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Righe per pagina", "upload": "Seleziona il file da caricare", "upload_sub": "o trascinalo qui", @@ -600,6 +616,7 @@ "gallery": "Aggiungi vista galleria", "form": "Aggiungi vista modulo", "kanban": "Aggiungi vista kanban", + "map": "Add Map View", "calendar": "Aggiungi vista calendario" }, "tablesMetadataInSync": "I metadati delle tabelle sono sincronizzati", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Il nome deve iniziare con un alfabeto o con _", "followingCharactersAreNotAllowed": "I seguenti caratteri non sono ammessi", "columnNameRequired": "Il nome della colonna è richiesto", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Il nome del progetto supera i 50 caratteri", "projectNameCannotStartWithSpace": "Il nome del progetto non può iniziare con uno spazio", "requiredField": "Campo obbligatorio", diff --git a/packages/nc-gui/lang/ja.json b/packages/nc-gui/lang/ja.json index 7cde87decc..32660df6c9 100644 --- a/packages/nc-gui/lang/ja.json +++ b/packages/nc-gui/lang/ja.json @@ -74,7 +74,8 @@ "insertBefore": "前に挿入", "hideField": "フィールドを隠す", "sortAsc": "昇順", - "sortDesc": "降順" + "sortDesc": "降順", + "geoDataField": "GeoData Field" }, "objects": { "project": "プロジェクト", @@ -98,7 +99,8 @@ "gallery": "ギャラリー", "form": "フォーム", "kanban": "カンバン", - "calendar": "カレンダー" + "calendar": "カレンダー", + "map": "Map" }, "user": "ユーザー", "users": "ユーザー", @@ -136,6 +138,7 @@ "Currency": "通貨", "Percent": "パーセント", "Duration": "間隔", + "GeoData": "GeoData", "Rating": "レーティング", "Formula": "方式", "Rollup": "ロールアップ", @@ -232,6 +235,7 @@ "action": "アクション", "actions": "アクション", "operation": "操作", + "operationSub": "Sub Operation", "operationType": "操作タイプ", "operationSubType": "操作サブタイプ", "description": "説明", @@ -253,6 +257,9 @@ "barcodeFormat": "バーコードのフォーマット", "qrCodeValueTooLong": "QRコードにするには文字数が多すぎる", "barcodeValueTooLong": "バーコードの文字数が多すぎる", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "集約関数", "dbCreateIfNotExists": "データベース:存在しない場合は作成", "clientKey": "クライアントキー", @@ -452,6 +459,10 @@ "stackedBy": "スタック", "chooseGroupingField": "グループ化するフィールドを選択", "addOrEditStack": "スタックの追加/編集" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "「作成者」は新しいプロジェクトを作成でき、かつ招待されたプロジェクトにもアクセスできます。", "orgViewer": "ビューアーは新規プロジェクトを作成することはできませんが、招待されたプロジェクトにアクセスできます。" }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "1ページあたりの行数", "upload": "アップロードするファイルを選択してください", "upload_sub": "またはファイルをドラッグ & ドロップ", @@ -600,6 +616,7 @@ "gallery": "ギャラリービューを追加", "form": "フォームビューを追加", "kanban": "カンバンビューを追加", + "map": "Add Map View", "calendar": "カレンダービューを追加" }, "tablesMetadataInSync": "テーブルメタデータは同期されています", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "名前はアルファベットまたは_で始まる必要があります", "followingCharactersAreNotAllowed": "以下の文字種は使用できません", "columnNameRequired": "列名が必要です", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "プロジェクト名が50文字を超えています", "projectNameCannotStartWithSpace": "プロジェクト名の先頭にはスペースは利用できません", "requiredField": "必須フィールド", diff --git a/packages/nc-gui/lang/ko.json b/packages/nc-gui/lang/ko.json index 999a8ed615..8750b16da6 100644 --- a/packages/nc-gui/lang/ko.json +++ b/packages/nc-gui/lang/ko.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "프로젝트", @@ -98,7 +99,8 @@ "gallery": "갤러리", "form": "폼", "kanban": "칸반", - "calendar": "캘린더" + "calendar": "캘린더", + "map": "Map" }, "user": "사용자", "users": "사용자", @@ -136,6 +138,7 @@ "Currency": "통화", "Percent": "퍼센트", "Duration": "기간", + "GeoData": "GeoData", "Rating": "등급", "Formula": "공식", "Rollup": "롤업", @@ -232,6 +235,7 @@ "action": "동작", "actions": "행위", "operation": "작업", + "operationSub": "Sub Operation", "operationType": "작업 유형", "operationSubType": "작업 하위 유형", "description": "설명", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "집합 함수", "dbCreateIfNotExists": "데이터베이스 : 존재하지 않는 경우 생성", "clientKey": "클라이언트 키", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "페이지 당 행", "upload": "업로드 할 파일 선택", "upload_sub": "또는 끌어서 놓기 파일", @@ -600,6 +616,7 @@ "gallery": "갤러리 뷰 추가", "form": "폼 뷰 추가", "kanban": "칸반 뷰 추가", + "map": "Add Map View", "calendar": "캘린더 뷰 추가" }, "tablesMetadataInSync": "테이블 메타 데이터가 동기화되어 있습니다", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/lv.json b/packages/nc-gui/lang/lv.json index 8e0da88a4f..e829794413 100644 --- a/packages/nc-gui/lang/lv.json +++ b/packages/nc-gui/lang/lv.json @@ -74,7 +74,8 @@ "insertBefore": "Ievietot pirms", "hideField": "Slēpt lauku", "sortAsc": "Kārtot augošā secībā", - "sortDesc": "Kārtot dilstošā secībā" + "sortDesc": "Kārtot dilstošā secībā", + "geoDataField": "GeoData Field" }, "objects": { "project": "Projekts", @@ -98,7 +99,8 @@ "gallery": "Galerija", "form": "Forma", "kanban": "Kanban", - "calendar": "Kalendārs" + "calendar": "Kalendārs", + "map": "Map" }, "user": "Lietotājs", "users": "Lietotāji", @@ -136,6 +138,7 @@ "Currency": "Valūta", "Percent": "Procenti", "Duration": "Ilgums", + "GeoData": "GeoData", "Rating": "Vērtējums", "Formula": "Formula", "Rollup": "Apkopojums", @@ -232,6 +235,7 @@ "action": "Darbība", "actions": "Darbības", "operation": "Operācija", + "operationSub": "Sub Operation", "operationType": "Operācijas tips", "operationSubType": "Operācijas apakštips", "description": "Apraksts", @@ -253,6 +257,9 @@ "barcodeFormat": "Svītrkoda formāts", "qrCodeValueTooLong": "Pārāk daudz rakstzīmju QR kodam", "barcodeValueTooLong": "Pārāk daudz zīmju svītrkodam", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Agregācijas funkcija", "dbCreateIfNotExists": "Datubāze : izveidotm ja neeksistē", "clientKey": "Klienta atslēga", @@ -452,6 +459,10 @@ "stackedBy": "Sakrautas ar", "chooseGroupingField": "Izvēlieties grupēšanas lauku", "addOrEditStack": "Pievienot / rediģēt kaudzi" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Radītājs var izveidot jaunus projektus un piekļūt jebkuram uzaicinātajam projektam.", "orgViewer": "Skatītājs nedrīkst veidot jaunus projektus, bet var piekļūt jebkuram uzaicinātajam projektam." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "ieraksti lapā", "upload": "Izvēlēties datni augšupielādei", "upload_sub": "vai vilkt un nomest datni", @@ -600,6 +616,7 @@ "gallery": "Pievienot galerijas skatu", "form": "Pievienot formas skatu", "kanban": "Pievienot Kanban skatu", + "map": "Add Map View", "calendar": "Pievienot kalendāra skatu" }, "tablesMetadataInSync": "Tabulu metadati ir sinhronizācijā", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Vārdam jāsākas ar alfabētu vai _", "followingCharactersAreNotAllowed": "Šādas rakstzīmes nav atļautas", "columnNameRequired": "Slejas nosaukums ir obligāts", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Projekta nosaukums pārsniedz 50 rakstzīmes", "projectNameCannotStartWithSpace": "Projekta nosaukums nedrīkst sākties ar atstarpi", "requiredField": "Obligātais lauks", diff --git a/packages/nc-gui/lang/nl.json b/packages/nc-gui/lang/nl.json index 0b12f95e1b..87c859c727 100644 --- a/packages/nc-gui/lang/nl.json +++ b/packages/nc-gui/lang/nl.json @@ -74,7 +74,8 @@ "insertBefore": "Invoegen voor", "hideField": "Verberg veld", "sortAsc": "Oplopend sorteren", - "sortDesc": "Aflopend sorteren" + "sortDesc": "Aflopend sorteren", + "geoDataField": "GeoData Field" }, "objects": { "project": "Project", @@ -98,7 +99,8 @@ "gallery": "Galerij", "form": "Formulier", "kanban": "Kanban", - "calendar": "Kalender" + "calendar": "Kalender", + "map": "Map" }, "user": "Gebruiker", "users": "Gebruikers", @@ -136,6 +138,7 @@ "Currency": "Munteenheid", "Percent": "Procent", "Duration": "Looptijd", + "GeoData": "GeoData", "Rating": "Beoordeling", "Formula": "Formule", "Rollup": "Rollup", @@ -232,6 +235,7 @@ "action": "Actie", "actions": "Acties", "operation": "Operatie", + "operationSub": "Sub Operation", "operationType": "Operatietype", "operationSubType": "Operatiesubtype", "description": "Beschrijving", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode formaat", "qrCodeValueTooLong": "Te veel tekens voor een QR-code", "barcodeValueTooLong": "Te veel tekens voor een streepjescode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Geaggregeerde functie", "dbCreateIfNotExists": "Database: creëer als het niet bestaat", "clientKey": "Klantensleutel", @@ -452,6 +459,10 @@ "stackedBy": "Gestapeld door", "chooseGroupingField": "Kies een groepeerveld", "addOrEditStack": "Stapel toevoegen / bewerken" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator kan nieuwe projecten aanmaken en heeft toegang tot elk uitgenodigd project.", "orgViewer": "De Viewer mag geen nieuwe projecten aanmaken, maar heeft wel toegang tot elk uitgenodigd project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Rijen per pagina", "upload": "Selecteer bestand om te uploaden", "upload_sub": "of sleep het bestand naar hier", @@ -600,6 +616,7 @@ "gallery": "Gallerijweergave toevoegen", "form": "Formulierweergave toevoegen", "kanban": "Kanbanweergave toevoegen", + "map": "Add Map View", "calendar": "Kalenderweergave toevoegen" }, "tablesMetadataInSync": "Tabelmetadata is gesynchroniseerd", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "De naam moet beginnen met een alfabet of _", "followingCharactersAreNotAllowed": "De volgende tekens zijn niet toegestaan", "columnNameRequired": "Kolomnaam is verplicht", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Projectnaam meer dan 50 tekens", "projectNameCannotStartWithSpace": "Projectnaam kan niet beginnen met een spatie", "requiredField": "Verplicht veld", diff --git a/packages/nc-gui/lang/no.json b/packages/nc-gui/lang/no.json index 62f9b897d2..48578f91a4 100644 --- a/packages/nc-gui/lang/no.json +++ b/packages/nc-gui/lang/no.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "Prosjekt", @@ -98,7 +99,8 @@ "gallery": "Galleri", "form": "Skjema", "kanban": "Kanban", - "calendar": "Kalender" + "calendar": "Kalender", + "map": "Map" }, "user": "Bruker", "users": "Brukere", @@ -136,6 +138,7 @@ "Currency": "Valuta", "Percent": "Prosent", "Duration": "Varighet", + "GeoData": "GeoData", "Rating": "Vurdering", "Formula": "Formel", "Rollup": "Rull opp", @@ -232,6 +235,7 @@ "action": "Handling", "actions": "Handlinger", "operation": "Operasjon", + "operationSub": "Sub Operation", "operationType": "Operasjonstype", "operationSubType": "OPERATION SUB-TYPE", "description": "Beskrivelse", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Samlet funksjon", "dbCreateIfNotExists": "Database: Opprett hvis ikke eksisterer", "clientKey": "Klientnøkkel", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Rader per side.", "upload": "Velg Fil for å laste opp", "upload_sub": "eller dra og slipp filen", @@ -600,6 +616,7 @@ "gallery": "Legg til galleriutsikt", "form": "Legg til skjemavisning", "kanban": "Legg til Kanban View", + "map": "Add Map View", "calendar": "Legg til kalendervisning" }, "tablesMetadataInSync": "Tabeller Metadata er synkronisert", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/pl.json b/packages/nc-gui/lang/pl.json index 082bf75fa7..6b40787b6a 100644 --- a/packages/nc-gui/lang/pl.json +++ b/packages/nc-gui/lang/pl.json @@ -74,7 +74,8 @@ "insertBefore": "Wstaw przed", "hideField": "Ukryj pole", "sortAsc": "Sortowanie rosnące", - "sortDesc": "Sortuj malejąco" + "sortDesc": "Sortuj malejąco", + "geoDataField": "GeoData Field" }, "objects": { "project": "Projekt", @@ -98,7 +99,8 @@ "gallery": "Galeria", "form": "Formularz", "kanban": "Kanban", - "calendar": "Kalendarz" + "calendar": "Kalendarz", + "map": "Map" }, "user": "Użytkownik", "users": "Użytkownicy", @@ -136,6 +138,7 @@ "Currency": "Waluta", "Percent": "Procent", "Duration": "Czas trwania", + "GeoData": "GeoData", "Rating": "Ocena", "Formula": "Formuła", "Rollup": "Zliczanie", @@ -232,6 +235,7 @@ "action": "Akcja", "actions": "Akcje", "operation": "Operacja", + "operationSub": "Sub Operation", "operationType": "Typ operacji", "operationSubType": "Podtypowy akcji", "description": "Opis", @@ -253,6 +257,9 @@ "barcodeFormat": "Format kodu kreskowego", "qrCodeValueTooLong": "Zbyt wiele znaków dla kodu QR", "barcodeValueTooLong": "Zbyt wiele znaków dla kodu kreskowego", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Funkcja agregacji", "dbCreateIfNotExists": "Baza danych: Utwórz, jeśli nie istnieje", "clientKey": "Klucz klienta", @@ -452,6 +459,10 @@ "stackedBy": "Ułożone według", "chooseGroupingField": "Wybierz pole grupowania", "addOrEditStack": "Dodaj / Edytuj stos" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Twórca może tworzyć nowe projekty i mieć dostęp do każdego zaproszonego projektu.", "orgViewer": "Widz nie może tworzyć nowych projektów, ale może mieć dostęp do każdego zaproszonego projektu." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Wiersze na stronę", "upload": "Wybierz plik do przesłania", "upload_sub": "lub przeciągnij i upuść plik", @@ -600,6 +616,7 @@ "gallery": "Dodaj widok galerii.", "form": "Dodaj widok formy", "kanban": "Dodaj widok Kanban.", + "map": "Add Map View", "calendar": "Dodaj widok kalendarza" }, "tablesMetadataInSync": "Tabele Metadane są synchronizowane", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Nazwa powinna zaczynać się od alfabetu lub od _", "followingCharactersAreNotAllowed": "Następujące znaki są niedozwolone", "columnNameRequired": "Nazwa kolumny jest wymagana", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Nazwa projektu przekracza 50 znaków", "projectNameCannotStartWithSpace": "Nazwa projektu nie może zaczynać się od spacji", "requiredField": "Pole wymagane", diff --git a/packages/nc-gui/lang/pt.json b/packages/nc-gui/lang/pt.json index 1444dbe424..4acd062047 100644 --- a/packages/nc-gui/lang/pt.json +++ b/packages/nc-gui/lang/pt.json @@ -74,7 +74,8 @@ "insertBefore": "Inserir Antes", "hideField": "Ocultar Campo", "sortAsc": "Ordenar Ascendente", - "sortDesc": "Ordenar Descendente" + "sortDesc": "Ordenar Descendente", + "geoDataField": "GeoData Field" }, "objects": { "project": "Projeto", @@ -98,7 +99,8 @@ "gallery": "Galeria", "form": "Formulário", "kanban": "Kanban", - "calendar": "Calendário" + "calendar": "Calendário", + "map": "Map" }, "user": "Do utilizador", "users": "Comercial", @@ -136,6 +138,7 @@ "Currency": "Moeda", "Percent": "Por cento", "Duration": "Duração", + "GeoData": "GeoData", "Rating": "Avaliação", "Formula": "Fórmula", "Rollup": "Rolar", @@ -232,6 +235,7 @@ "action": "Açao", "actions": "Ações", "operation": "Operação", + "operationSub": "Sub Operation", "operationType": "Tipo de operação", "operationSubType": "Sub-tipo de operação", "description": "Descrição", @@ -253,6 +257,9 @@ "barcodeFormat": "Formato do código de barras", "qrCodeValueTooLong": "Demasiados caracteres para um código QR", "barcodeValueTooLong": "Demasiados caracteres para um código de barras", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Função agregada", "dbCreateIfNotExists": "Base de Dados : criar se não existir", "clientKey": "Chave do Cliente", @@ -452,6 +459,10 @@ "stackedBy": "Empilhado por", "chooseGroupingField": "Escolha um Campo de Agrupamento", "addOrEditStack": "Adicionar / Editar Pilha" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "O criador pode criar novos projectos e aceder a qualquer projecto convidado.", "orgViewer": "O espectador não está autorizado a criar novos projectos, mas pode aceder a qualquer projecto convidado." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Linhas por página", "upload": "Selecione Arquivo para upload", "upload_sub": "ou arrastar e soltar arquivo", @@ -600,6 +616,7 @@ "gallery": "Adicionar vista de galeria", "form": "Adicionar vista de formulário", "kanban": "Adicionar vista de Kanban", + "map": "Add Map View", "calendar": "Adicionar vista de calendário" }, "tablesMetadataInSync": "Metadados de tabelas está em sincronia", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "O nome deve começar com um alfabeto ou _", "followingCharactersAreNotAllowed": "Os seguintes caracteres não são permitidos", "columnNameRequired": "O nome da coluna é obrigatório", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "O nome do projecto excede 50 caracteres", "projectNameCannotStartWithSpace": "O nome do projecto não pode começar com espaço", "requiredField": "Campo obrigatório", diff --git a/packages/nc-gui/lang/pt_BR.json b/packages/nc-gui/lang/pt_BR.json index 3e090fa336..1ce3a257f7 100644 --- a/packages/nc-gui/lang/pt_BR.json +++ b/packages/nc-gui/lang/pt_BR.json @@ -74,7 +74,8 @@ "insertBefore": "Inserir Antes", "hideField": "Ocultar Campo", "sortAsc": "Ordenar Ascendente", - "sortDesc": "Ordenar Descendente" + "sortDesc": "Ordenar Descendente", + "geoDataField": "GeoData Field" }, "objects": { "project": "Projeto", @@ -98,7 +99,8 @@ "gallery": "Galeria", "form": "Formulário", "kanban": "Kanban", - "calendar": "Calendário" + "calendar": "Calendário", + "map": "Map" }, "user": "Do utilizador", "users": "Comercial", @@ -136,6 +138,7 @@ "Currency": "Moeda", "Percent": "Por cento", "Duration": "Duração", + "GeoData": "GeoData", "Rating": "Avaliação", "Formula": "Fórmula", "Rollup": "Rolar", @@ -232,6 +235,7 @@ "action": "Açao", "actions": "Ações", "operation": "Operação", + "operationSub": "Sub Operation", "operationType": "Tipo de operação", "operationSubType": "Sub-tipo de operação", "description": "Descrição", @@ -253,6 +257,9 @@ "barcodeFormat": "Formato do código de barras", "qrCodeValueTooLong": "Demasiados caracteres para um código QR", "barcodeValueTooLong": "Demasiados caracteres para um código de barras", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Função agregada", "dbCreateIfNotExists": "Base de Dados : criar se não existir", "clientKey": "Chave do Cliente", @@ -452,6 +459,10 @@ "stackedBy": "Empilhado por", "chooseGroupingField": "Escolha um Campo de Agrupamento", "addOrEditStack": "Adicionar / Editar Pilha" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "O criador pode criar novos projectos e aceder a qualquer projecto convidado.", "orgViewer": "O espectador não está autorizado a criar novos projectos, mas pode aceder a qualquer projecto convidado." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Linhas por página", "upload": "Selecione Arquivo para upload", "upload_sub": "ou arrastar e soltar arquivo", @@ -600,6 +616,7 @@ "gallery": "Adicionar vizualização de galeria", "form": "Adicionar vizualização de formulário", "kanban": "Adicionar vizualização de Kanban", + "map": "Add Map View", "calendar": "Adicionar vizualização de calendário" }, "tablesMetadataInSync": "Metadados de tabelas está em sincronia", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "O nome deve começar com um alfabeto ou _", "followingCharactersAreNotAllowed": "Os seguintes caracteres não são permitidos", "columnNameRequired": "O nome da coluna é obrigatório", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "O nome do projecto excede 50 caracteres", "projectNameCannotStartWithSpace": "O nome do projecto não pode começar com espaço", "requiredField": "Campo obrigatório", diff --git a/packages/nc-gui/lang/ru.json b/packages/nc-gui/lang/ru.json index f67403136d..f4af5a6914 100644 --- a/packages/nc-gui/lang/ru.json +++ b/packages/nc-gui/lang/ru.json @@ -74,7 +74,8 @@ "insertBefore": "Вставить перед", "hideField": "Скрыть поле", "sortAsc": "По Возрастанию", - "sortDesc": "По убыванию" + "sortDesc": "По убыванию", + "geoDataField": "GeoData Field" }, "objects": { "project": "Проект", @@ -98,7 +99,8 @@ "gallery": "Галерея", "form": "Форма", "kanban": "Канбан", - "calendar": "Календарь" + "calendar": "Календарь", + "map": "Map" }, "user": "Пользователь", "users": "Пользователи", @@ -136,6 +138,7 @@ "Currency": "Валюта", "Percent": "Процент", "Duration": "Интервал времени", + "GeoData": "GeoData", "Rating": "Рейтинг", "Formula": "Формула", "Rollup": "Итоги (Rollup)", @@ -232,6 +235,7 @@ "action": "Действие", "actions": "Действия", "operation": "Операция", + "operationSub": "Sub Operation", "operationType": "Тип операции", "operationSubType": "Подтип операции", "description": "Описание", @@ -253,6 +257,9 @@ "barcodeFormat": "Формат штрих-кода", "qrCodeValueTooLong": "Слишком много символов для QR-кода", "barcodeValueTooLong": "Слишком много символов для штрихкода", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Агрегатная функция", "dbCreateIfNotExists": "База данных: создать, если не существует", "clientKey": "Ключ клиента", @@ -452,6 +459,10 @@ "stackedBy": "Группировка по", "chooseGroupingField": "Выберите поле группировки", "addOrEditStack": "Добавление / редактирование стека" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Создатель может создавать новые проекты и получать доступ к любому приглашенному проекту.", "orgViewer": "Наблюдатель не может создавать новые проекты, но может получить доступ к любому проекту по приглашению." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Количество строк на странице", "upload": "Выберите файл для загрузки", "upload_sub": "или перетащите файл", @@ -600,6 +616,7 @@ "gallery": "Добавить представление галерея", "form": "Добавить представление форма", "kanban": "Добавить представление Канбан", + "map": "Add Map View", "calendar": "Добавить представление календарь" }, "tablesMetadataInSync": "Таблицы метаданные синхронизируются", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Имя должно начинаться с алфавита или _", "followingCharactersAreNotAllowed": "Нельзя использовать следующие символы", "columnNameRequired": "Требуется название столбца", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Название проекта превышает 50 символов", "projectNameCannotStartWithSpace": "Название проекта не может начинаться с пробела", "requiredField": "Обязательное поле", diff --git a/packages/nc-gui/lang/sk.json b/packages/nc-gui/lang/sk.json index 080d3f3a1b..1e44b4a008 100644 --- a/packages/nc-gui/lang/sk.json +++ b/packages/nc-gui/lang/sk.json @@ -74,7 +74,8 @@ "insertBefore": "Vložiť pred", "hideField": "Skryť pole", "sortAsc": "Zoradiť vzostupne", - "sortDesc": "Zoradiť zostupne" + "sortDesc": "Zoradiť zostupne", + "geoDataField": "GeoData Field" }, "objects": { "project": "Projekt", @@ -98,7 +99,8 @@ "gallery": "Galéria", "form": "Formulár", "kanban": "Kanban", - "calendar": "Kalendár" + "calendar": "Kalendár", + "map": "Map" }, "user": "Používateľ", "users": "Používatelia", @@ -136,6 +138,7 @@ "Currency": "Mena", "Percent": "Percentá", "Duration": "Trvanie", + "GeoData": "GeoData", "Rating": "Hodnotenie", "Formula": "Vzorec", "Rollup": "Rollup", @@ -232,6 +235,7 @@ "action": "Akcia", "actions": "Činnosti", "operation": "Operácia", + "operationSub": "Sub Operation", "operationType": "Typ operácie", "operationSubType": "Podtyp operácie", "description": "Popis", @@ -253,6 +257,9 @@ "barcodeFormat": "Formát čiarového kódu", "qrCodeValueTooLong": "Príliš veľa znakov pre kód QR", "barcodeValueTooLong": "Príliš veľa znakov pre čiarový kód", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Súhrnná funkcia", "dbCreateIfNotExists": "Databáza : vytvoriť, ak neexistuje", "clientKey": "Kľúč klienta", @@ -452,6 +459,10 @@ "stackedBy": "Naskladané podľa", "chooseGroupingField": "Výber zoskupovacieho poľa", "addOrEditStack": "Pridať / upraviť zásobník" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator môže vytvárať nové projekty a pristupovať k ľubovoľnému pozvanému projektu.", "orgViewer": "Prehliadač nemôže vytvárať nové projekty, ale môže pristupovať k ľubovoľnému pozvanému projektu." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Riadky na stránku", "upload": "Vyberte súbor na odoslanie", "upload_sub": "alebo potiahnite a pustite súbor", @@ -600,6 +616,7 @@ "gallery": "Pridanie zobrazenia galérie", "form": "Pridanie zobrazenia formulára", "kanban": "Pridanie zobrazenia Kanban", + "map": "Add Map View", "calendar": "Pridanie zobrazenia kalendára" }, "tablesMetadataInSync": "Metadáta tabuliek sú synchronizované", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Meno by malo začínať abecedou alebo _", "followingCharactersAreNotAllowed": "Nasledujúce znaky nie sú povolené", "columnNameRequired": "Vyžaduje sa názov stĺpca", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Názov projektu presahuje 50 znakov", "projectNameCannotStartWithSpace": "Názov projektu nemôže začínať medzerou", "requiredField": "Povinné pole", diff --git a/packages/nc-gui/lang/sl.json b/packages/nc-gui/lang/sl.json index 61b37fbc8a..342f80a0c1 100644 --- a/packages/nc-gui/lang/sl.json +++ b/packages/nc-gui/lang/sl.json @@ -74,7 +74,8 @@ "insertBefore": "Vstavljanje pred", "hideField": "Skrij polje", "sortAsc": "Razvrsti naraščajoče", - "sortDesc": "Razvrsti padajoče" + "sortDesc": "Razvrsti padajoče", + "geoDataField": "GeoData Field" }, "objects": { "project": "Project.", @@ -98,7 +99,8 @@ "gallery": "Galerija", "form": "Obrazec", "kanban": "Kanban", - "calendar": "Koledar" + "calendar": "Koledar", + "map": "Map" }, "user": "Uporabnik", "users": "Uporabniki", @@ -136,6 +138,7 @@ "Currency": "Valuta", "Percent": "Odstotek", "Duration": "Trajanje", + "GeoData": "GeoData", "Rating": "Ocena", "Formula": "Formula", "Rollup": "Zavihamo", @@ -232,6 +235,7 @@ "action": "Akcija", "actions": "Akcijah", "operation": "Operacija", + "operationSub": "Sub Operation", "operationType": "Tip operacije.", "operationSubType": "Podpis delovanja", "description": "Opis", @@ -253,6 +257,9 @@ "barcodeFormat": "Format črtne kode", "qrCodeValueTooLong": "Preveč znakov za kodo QR", "barcodeValueTooLong": "Preveč znakov za črtno kodo", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Agregatna funkcija", "dbCreateIfNotExists": "Baza podatkov: Ustvari, če ne obstaja", "clientKey": "Odjemalski ključ", @@ -452,6 +459,10 @@ "stackedBy": "Zloženo po", "chooseGroupingField": "Izberite polje za združevanje", "addOrEditStack": "Dodajanje / urejanje sklada" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Ustvarjalec lahko ustvarja nove projekte in dostopa do vseh povabljenih projektov.", "orgViewer": "Pregledovalec ne sme ustvarjati novih projektov, lahko pa dostopa do vseh povabljenih projektov." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Vrstice na stran.", "upload": "Izberite datoteko za nalaganje", "upload_sub": "ali datoteko povlecite in spustite", @@ -600,6 +616,7 @@ "gallery": "Dodaj ogled galerije", "form": "Dodaj pogled obrazca", "kanban": "Dodaj pogled Kanban-a", + "map": "Add Map View", "calendar": "Dodaj pogled koledarja" }, "tablesMetadataInSync": "Tabele metapodatkov je v sinhronizaciji", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Ime se mora začeti z abecedo ali _", "followingCharactersAreNotAllowed": "Naslednji znaki niso dovoljeni", "columnNameRequired": "Ime stolpca je obvezno", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Ime projekta presega 50 znakov", "projectNameCannotStartWithSpace": "Ime projekta se ne sme začeti s presledkom", "requiredField": "Obvezno polje", diff --git a/packages/nc-gui/lang/sv.json b/packages/nc-gui/lang/sv.json index de04bf3d48..dfda739496 100644 --- a/packages/nc-gui/lang/sv.json +++ b/packages/nc-gui/lang/sv.json @@ -74,7 +74,8 @@ "insertBefore": "Infoga före", "hideField": "Dölj fältet", "sortAsc": "Sortera i stigande riktning", - "sortDesc": "Sortera fallande" + "sortDesc": "Sortera fallande", + "geoDataField": "GeoData Field" }, "objects": { "project": "Projekt", @@ -98,7 +99,8 @@ "gallery": "Galleri", "form": "Formulär", "kanban": "Kanban", - "calendar": "Kalender" + "calendar": "Kalender", + "map": "Map" }, "user": "Användare", "users": "Användare", @@ -136,6 +138,7 @@ "Currency": "Valuta", "Percent": "Procent", "Duration": "Varaktighet", + "GeoData": "GeoData", "Rating": "Betyg", "Formula": "Formel", "Rollup": "Rulla upp", @@ -232,6 +235,7 @@ "action": "Handling", "actions": "Handlingar", "operation": "Drift", + "operationSub": "Sub Operation", "operationType": "Driftstyp", "operationSubType": "Driftstyp", "description": "Beskrivning", @@ -253,6 +257,9 @@ "barcodeFormat": "Streckkodsformat", "qrCodeValueTooLong": "För många tecken för en QR-kod", "barcodeValueTooLong": "För många tecken för en streckkod", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Aggregatfunktion", "dbCreateIfNotExists": "Databas: Skapa om det inte finns", "clientKey": "Klientnyckel", @@ -452,6 +459,10 @@ "stackedBy": "Staplade av", "chooseGroupingField": "Välj ett grupperingsfält", "addOrEditStack": "Lägg till/redigera stacken" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Skaparen kan skapa nya projekt och få tillgång till alla inbjudna projekt.", "orgViewer": "Visaren får inte skapa nya projekt, men kan få tillgång till alla inbjudna projekt." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Rader per sida", "upload": "Välj fil för att ladda upp", "upload_sub": "eller dra och släpp filen", @@ -600,6 +616,7 @@ "gallery": "Lägg till Gallery View", "form": "Lägg till formulärvy", "kanban": "Lägg till Kanban View", + "map": "Add Map View", "calendar": "Lägg till kalendervisning" }, "tablesMetadataInSync": "Tabeller Metadata är synkroniserad", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Namnet ska börja med ett alfabet eller _", "followingCharactersAreNotAllowed": "Följande tecken är inte tillåtna", "columnNameRequired": "Kolumnnamn krävs", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Projektnamnet har mer än 50 tecken", "projectNameCannotStartWithSpace": "Projektnamnet kan inte börja med ett mellanslag", "requiredField": "Obligatoriskt fält", diff --git a/packages/nc-gui/lang/th.json b/packages/nc-gui/lang/th.json index a08a489270..589a2b476b 100644 --- a/packages/nc-gui/lang/th.json +++ b/packages/nc-gui/lang/th.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "โครงการ", @@ -98,7 +99,8 @@ "gallery": "แกลลอรี่", "form": "รูปร่าง", "kanban": "ภาษาคณาตา", - "calendar": "ปฏิทิน" + "calendar": "ปฏิทิน", + "map": "Map" }, "user": "ผู้ใช้", "users": "ผู้ใช้", @@ -136,6 +138,7 @@ "Currency": "สกุลเงิน", "Percent": "ร้อยละ", "Duration": "ระยะเวลา", + "GeoData": "GeoData", "Rating": "การจัดอันดับ", "Formula": "สูตร", "Rollup": "ม้วน", @@ -232,6 +235,7 @@ "action": "หนังบู๊", "actions": "การกระทำ", "operation": "การดำเนินการ", + "operationSub": "Sub Operation", "operationType": "ประเภทการทำงาน", "operationSubType": "การดำเนินงานประเภทย่อย", "description": "คำอธิบาย", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "ฟังก์ชั่นรวม", "dbCreateIfNotExists": "ฐานข้อมูล: สร้างถ้าไม่มีอยู่", "clientKey": "รหัสลูกค้า", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "แถวต่อหน้า", "upload": "เลือกไฟล์ที่จะอัปโหลด", "upload_sub": "หรือลากและวางไฟล์", @@ -600,6 +616,7 @@ "gallery": "เพิ่มมุมมองแกลลอรี่", "form": "เพิ่มมุมมองแบบฟอร์ม", "kanban": "เพิ่มมุมมอง Kanban", + "map": "Add Map View", "calendar": "เพิ่มมุมมองปฏิทิน" }, "tablesMetadataInSync": "ตารางเมตาดาต้ากำลังซิงค์", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/tr.json b/packages/nc-gui/lang/tr.json index 1ecc9d6aac..c3ce9382e3 100644 --- a/packages/nc-gui/lang/tr.json +++ b/packages/nc-gui/lang/tr.json @@ -74,7 +74,8 @@ "insertBefore": "Önce Ekle", "hideField": "Alanı Gizle", "sortAsc": "Artan Sırala", - "sortDesc": "Azalan Sıralama" + "sortDesc": "Azalan Sıralama", + "geoDataField": "GeoData Field" }, "objects": { "project": "Proje", @@ -98,7 +99,8 @@ "gallery": "Galeri", "form": "Form", "kanban": "Kanban", - "calendar": "Takvim" + "calendar": "Takvim", + "map": "Map" }, "user": "Kullanıcı", "users": "Kullanıcılar", @@ -136,6 +138,7 @@ "Currency": "Para birimi", "Percent": "Yüzde", "Duration": "Süre", + "GeoData": "GeoData", "Rating": "Değerlendirme", "Formula": "Formül", "Rollup": "Referans hesapla", @@ -232,6 +235,7 @@ "action": "Aksiyon", "actions": "Aksiyonlar", "operation": "İşlem", + "operationSub": "Sub Operation", "operationType": "İşlem türü", "operationSubType": "İşlem alt-türü", "description": "Tanım", @@ -253,6 +257,9 @@ "barcodeFormat": "Barkod formatı", "qrCodeValueTooLong": "QR kodu için çok fazla karakter", "barcodeValueTooLong": "Barkod için çok fazla karakter", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Birleştirme fonksiyonu", "dbCreateIfNotExists": "Veritabanı : yoksa oluştur", "clientKey": "İstemci Anahtarı", @@ -452,6 +459,10 @@ "stackedBy": "Tarafından Yığılmış", "chooseGroupingField": "Bir Gruplama Alanı Seçin", "addOrEditStack": "Yığın Ekle / Düzenle" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "İçerik oluşturucu yeni projeler oluşturabilir ve davet edilen herhangi bir projeye erişebilir.", "orgViewer": "İzleyicinin yeni proje oluşturmasına izin verilmez ancak davet edilen herhangi bir projeye erişebilir." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Sayfa başına satır", "upload": "Yüklenecek Dosyayı Seçin", "upload_sub": "veya dosyayı sürükleyip bırakın", @@ -600,6 +616,7 @@ "gallery": "Galeri görünümü ekle", "form": "Form görünümü ekle", "kanban": "Kanban görünümü ekle", + "map": "Add Map View", "calendar": "Takvim görünümü ekle" }, "tablesMetadataInSync": "Tablonun meta verileri senkronize", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "İsim bir alfabe veya _ ile başlamalıdır", "followingCharactersAreNotAllowed": "Aşağıdaki karakterlere izin verilmez", "columnNameRequired": "Sütun adı gereklidir", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Proje adı 50 karakteri aşıyor", "projectNameCannotStartWithSpace": "Proje adı boşlukla başlayamaz", "requiredField": "Zorunlu alan", diff --git a/packages/nc-gui/lang/uk.json b/packages/nc-gui/lang/uk.json index 4720215934..37e1d4d4d0 100644 --- a/packages/nc-gui/lang/uk.json +++ b/packages/nc-gui/lang/uk.json @@ -74,7 +74,8 @@ "insertBefore": "Вставити перед", "hideField": "Приховати поле", "sortAsc": "За зростанням", - "sortDesc": "За спаданням" + "sortDesc": "За спаданням", + "geoDataField": "GeoData Field" }, "objects": { "project": "Проєкт", @@ -98,7 +99,8 @@ "gallery": "Галерея", "form": "Форма", "kanban": "Канбан", - "calendar": "Календар" + "calendar": "Календар", + "map": "Map" }, "user": "Користувач", "users": "Користувачі", @@ -136,6 +138,7 @@ "Currency": "Валюта", "Percent": "Відсоток", "Duration": "Тривалість", + "GeoData": "GeoData", "Rating": "Рейтинг", "Formula": "Формула", "Rollup": "Накопичення", @@ -232,6 +235,7 @@ "action": "Дія", "actions": "Дії", "operation": "Операція", + "operationSub": "Sub Operation", "operationType": "Тип операції", "operationSubType": "Підтип операції", "description": "Опис", @@ -253,6 +257,9 @@ "barcodeFormat": "Формат штрих-коду", "qrCodeValueTooLong": "Забагато символів для QR-коду", "barcodeValueTooLong": "Забагато символів для штрих-коду", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Агрегатна функція", "dbCreateIfNotExists": "База даних: створити, якщо не існує", "clientKey": "Ключ клієнта", @@ -452,6 +459,10 @@ "stackedBy": "Групувати по", "chooseGroupingField": "Виберіть поле групування", "addOrEditStack": "Додавання/Редагування Стеку" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Розробник може створювати нові проєкти та мати доступ до будь-якого відкритого проєкту.", "orgViewer": "Глядач не може створювати нові проєкти, але він може отримати доступ до будь-якого відкритого проєкту." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Рядків на сторінці", "upload": "Виберіть файл для завантаження", "upload_sub": "або перетягніть файл", @@ -600,6 +616,7 @@ "gallery": "Додати вигляд галереї", "form": "Додати вигляд форми", "kanban": "Додати вигляд Kanban", + "map": "Add Map View", "calendar": "Додати вигляд календаря" }, "tablesMetadataInSync": "Таблиці метаданих синхронізуються", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Ім'я повинно починатися з літери або _", "followingCharactersAreNotAllowed": "Наступні символи не допускаються", "columnNameRequired": "Ім'я стовпця є обов'язковим", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Назва проєкту перевищує 50 символів", "projectNameCannotStartWithSpace": "Назва проєкту не може починатися з пробілу", "requiredField": "Обов'язкове поле", diff --git a/packages/nc-gui/lang/vi.json b/packages/nc-gui/lang/vi.json index 8d2e9ba7be..9c58464de0 100644 --- a/packages/nc-gui/lang/vi.json +++ b/packages/nc-gui/lang/vi.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "Dự định", @@ -98,7 +99,8 @@ "gallery": "Bộ sưu tập", "form": "Mẫu đơn", "kanban": "Kanban.", - "calendar": "Lịch" + "calendar": "Lịch", + "map": "Map" }, "user": "Người dùng", "users": "Người dùng", @@ -136,6 +138,7 @@ "Currency": "Tiền tệ", "Percent": "Phần trăm", "Duration": "Khoảng thời gian", + "GeoData": "GeoData", "Rating": "Xếp hạng", "Formula": "Công thức", "Rollup": "ROLLUP.", @@ -232,6 +235,7 @@ "action": "Hoạt động", "actions": "Hành động", "operation": "Hoạt động", + "operationSub": "Sub Operation", "operationType": "Loại hoạt động", "operationSubType": "Loại phụ hoạt động", "description": "Sự miêu tả", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "Chức năng tổng hợp", "dbCreateIfNotExists": "Cơ sở dữ liệu: Tạo nếu không tồn tại", "clientKey": "Khóa khách", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "Creator can create new projects and access any invited project.", "orgViewer": "Viewer is not allowed to create new projects but they can access any invited project." }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "Hàng trên mỗi trang", "upload": "Chọn tệp để tải lên", "upload_sub": "hoặc kéo và thả tập tin", @@ -600,6 +616,7 @@ "gallery": "Thêm Gallery View.", "form": "Thêm hình thức xem", "kanban": "Thêm tầm nhìn Kanban", + "map": "Add Map View", "calendar": "Thêm chế độ xem lịch" }, "tablesMetadataInSync": "Bảng siêu dữ liệu được đồng bộ hóa", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "Name should start with an alphabet or _", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "Column name is required", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "Project name exceeds 50 characters", "projectNameCannotStartWithSpace": "Project name cannot start with space", "requiredField": "Required field", diff --git a/packages/nc-gui/lang/zh-Hans.json b/packages/nc-gui/lang/zh-Hans.json index 3c52639863..30cda803b1 100644 --- a/packages/nc-gui/lang/zh-Hans.json +++ b/packages/nc-gui/lang/zh-Hans.json @@ -67,14 +67,15 @@ "questions": "问题", "reachOut": "联系我们", "betaNote": "此功能仍在测试中。", - "moreInfo": "点击此处了解更多信息。", + "moreInfo": "这里可以找到更多信息", "logs": "日志", "groupingField": "分组字段", "insertAfter": "在右侧插入列", "insertBefore": "在左侧插入列", "hideField": "隐藏字段", "sortAsc": "升序", - "sortDesc": "降序" + "sortDesc": "降序", + "geoDataField": "地理数据字段" }, "objects": { "project": "项目", @@ -98,7 +99,8 @@ "gallery": "画廊", "form": "表单", "kanban": "看板", - "calendar": "日历" + "calendar": "日历", + "map": "Map" }, "user": "用户", "users": "用户", @@ -136,6 +138,7 @@ "Currency": "货币", "Percent": "百分比", "Duration": "时长", + "GeoData": "地理数据", "Rating": "评分", "Formula": "公式", "Rollup": "聚合", @@ -232,6 +235,7 @@ "action": "操作", "actions": "操作", "operation": "操作", + "operationSub": "Sub Operation", "operationType": "操作类型", "operationSubType": "子操作类型", "description": "描述", @@ -253,6 +257,9 @@ "barcodeFormat": "条形码码制", "qrCodeValueTooLong": "字数超出二维码容量", "barcodeValueTooLong": "字数超出条形码容量", + "yourLocation": "您所在的位置", + "lng": "经度", + "lat": "纬度", "aggregateFunction": "汇总功能", "dbCreateIfNotExists": "自动创建数据库", "clientKey": "客户端密钥", @@ -298,7 +305,7 @@ "noData": "暂无数据", "goToDashboard": "转到仪表板", "importing": "导入中", - "flattenNested": "Flatten Nested", + "flattenNested": "扁平化嵌套", "downloadAllowed": "允许下载", "weAreHiring": "我们在招募!", "primaryKey": "主键", @@ -380,14 +387,14 @@ "renameTable": "重命名表格", "deleteTable": "删除表格", "addField": "添加新字段", - "setDisplay": "Set as Display value", + "setDisplay": "设置为显示值", "addRow": "添加新行", "saveRow": "保存行", "saveAndExit": "保存并退出", "saveAndStay": "保存并留在此页", "insertRow": "插入新行", "deleteRow": "删除行", - "duplicateRow": "Duplicate Row", + "duplicateRow": "复制该行", "deleteSelectedRow": "删除所选行", "importExcel": "导入 Excel", "importCSV": "导入 CSV", @@ -452,6 +459,10 @@ "stackedBy": "分类依据为", "chooseGroupingField": "选择分组字段", "addOrEditStack": "添加/编辑分类标签" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -508,16 +519,21 @@ "renderError": "条形码错误 - 请注意输入数据和条形码类型之间的兼容性" }, "nonEditableFields": { - "computedFieldUnableToClear": "Warning: Computed field - unable to clear text", - "qrFieldsCannotBeDirectlyChanged": "Warning: QR fields cannot be directly changed." + "computedFieldUnableToClear": "警告:自动计算的字段无法被清除内容。", + "qrFieldsCannotBeDirectlyChanged": "警告:二维码字段无法更改。" } }, "info": { - "pasteNotSupported": "Paste operation is not supported on the active cell", + "pasteNotSupported": "处于活动状态的单元格不能粘贴内容", "roles": { "orgCreator": "创始人可以创建新项目,访问受邀项目。", "orgViewer": "游客不能创建新项目,仅允许访问受邀项目。" }, + "map": { + "overLimit": "你已经超出了限制。", + "closeLimit": "您已接近上限。", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "每页行驶", "upload": "选择文件以上传", "upload_sub": "或拖放文件", @@ -600,6 +616,7 @@ "gallery": "添加画廊视图", "form": "添加表单视图", "kanban": "添加看板视图", + "map": "添加地图视图", "calendar": "添加日历视图" }, "tablesMetadataInSync": "表元数据同步", @@ -627,18 +644,18 @@ "valueAlreadyInList": "此值已经在列表中", "noColumnsToUpdate": "没有要更新的列", "tableDeleted": "已成功删除表", - "generatePublicShareableReadonlyBase": "Generate publicly shareable readonly base", + "generatePublicShareableReadonlyBase": "生成公开可共享的只读库", "deleteViewConfirmation": "您确定要删除此视图?", "deleteTableConfirmation": "您想要删除该表吗?", "showM2mTables": "显示中间表", - "showM2mTablesDesc": "Many-to-many relation is supported via a junction table & is hidden by default. Enable this option to list all such tables along with existing tables.", - "showNullInCells": "Show NULL in Cells", - "showNullInCellsDesc": "Display 'NULL' tag in cells holding NULL value. This helps differentiate against cells holding EMPTY string.", - "showNullAndEmptyInFilter": "Show NULL and EMPTY in Filter", - "showNullAndEmptyInFilterDesc": "Enable 'additional' filters to differentiate fields containing NULL & Empty Strings. Default support for Blank treats both NULL & Empty strings alike.", + "showM2mTablesDesc": "NocoDB 用来支持多对多关系的中间表默认不可见。打开此选项将显示所有中间表。", + "showNullInCells": "单元格为空时显示 NULL", + "showNullInCellsDesc": "未设置值的单元格将显示 NULL。这是为了和值为空字符串(显示 EMPTY)的单元格作出区分。", + "showNullAndEmptyInFilter": "在过滤器中显示 NULL 和 EMPTY 选项", + "showNullAndEmptyInFilterDesc": "启用”附加”过滤器来区分未设置值(NULL)和值为空字符串(EMPTY)的字段。默认对 NULL 的处理和对空字符串的处理一样。", "deleteKanbanStackConfirmation": "删除这个类别标签也将从 \"{groupingField}\"中删除选择选项 \"{stackToBeDeleted}\"。这类记录将移到未分类的类别中。", - "computedFieldEditWarning": "Computed field: contents are read-only. Use column edit menu to reconfigure", - "computedFieldDeleteWarning": "Computed field: contents are read-only. Unable to clear content.", + "computedFieldEditWarning": "计算字段:此内容是只读的。使用列编辑菜单来重新配置该字段", + "computedFieldDeleteWarning": "计算字段:此内容是只读的。无法清除内容。", "noMoreRecords": "暂无数据" }, "error": { @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "名称应该以字母或 _ 开头", "followingCharactersAreNotAllowed": "不允许使用以下字符", "columnNameRequired": "列名是必填项", + "columnNameExceedsCharacters": "列名的长度超过了 {value} 字符的限制", "projectNameExceeds50Characters": "项目名称超过 50 个字符", "projectNameCannotStartWithSpace": "项目名称不能以空格开头", "requiredField": "必填字段", @@ -722,7 +740,7 @@ }, "success": { "columnDuplicated": "此列的副本创建成功", - "rowDuplicatedWithoutSavedYet": "Row duplicated (not saved)", + "rowDuplicatedWithoutSavedYet": "该行已复制(未保存)", "updatedUIACL": "已成功更新表的 UI ACL", "pluginUninstalled": "插件卸载成功", "pluginSettingsSaved": "插件设置保存成功", diff --git a/packages/nc-gui/lang/zh-Hant.json b/packages/nc-gui/lang/zh-Hant.json index e51d2eedd5..94b2e029b4 100644 --- a/packages/nc-gui/lang/zh-Hant.json +++ b/packages/nc-gui/lang/zh-Hant.json @@ -74,7 +74,8 @@ "insertBefore": "Insert Before", "hideField": "Hide Field", "sortAsc": "Sort Ascending", - "sortDesc": "Sort Descending" + "sortDesc": "Sort Descending", + "geoDataField": "GeoData Field" }, "objects": { "project": "項目", @@ -98,7 +99,8 @@ "gallery": "相簿", "form": "表單", "kanban": "看板", - "calendar": "日曆" + "calendar": "日曆", + "map": "Map" }, "user": "使用者", "users": "使用者", @@ -136,6 +138,7 @@ "Currency": "貨幣", "Percent": "百分", "Duration": "期間", + "GeoData": "GeoData", "Rating": "評分", "Formula": "公式", "Rollup": "捲起", @@ -232,6 +235,7 @@ "action": "行動", "actions": "行動", "operation": "操作", + "operationSub": "Sub Operation", "operationType": "操作類型", "operationSubType": "操作子類型", "description": "描述", @@ -253,6 +257,9 @@ "barcodeFormat": "Barcode format", "qrCodeValueTooLong": "Too many characters for a QR code", "barcodeValueTooLong": "Too many characters for a barcode", + "yourLocation": "Your Location", + "lng": "Lng", + "lat": "Lat", "aggregateFunction": "匯總功能", "dbCreateIfNotExists": "資料庫:不存在則建立", "clientKey": "用戶端金鑰", @@ -452,6 +459,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": { @@ -518,6 +529,11 @@ "orgCreator": "建立者可以建立專案與存取任何受邀請的專案", "orgViewer": "檢視者不能建立專案但可以存取任何受邀請的專案" }, + "map": { + "overLimit": "You're over the limit.", + "closeLimit": "You're getting close to the limit.", + "limitNumber": "The limit of markers shown in a Map View is 1000 records." + }, "footerInfo": "每頁行駛", "upload": "選擇檔案以上傳", "upload_sub": "或拖放檔案", @@ -600,6 +616,7 @@ "gallery": "加入相簿檢視", "form": "加入表單檢視", "kanban": "加入看板檢視", + "map": "Add Map View", "calendar": "加入日曆檢視" }, "tablesMetadataInSync": "表元數據同步", @@ -690,6 +707,7 @@ "nameShouldStartWithAnAlphabetOr_": "名稱必須用 英文字母 或 _ 當開頭", "followingCharactersAreNotAllowed": "Following characters are not allowed", "columnNameRequired": "欄位名稱必填", + "columnNameExceedsCharacters": "The length of column name exceeds the max {value} characters", "projectNameExceeds50Characters": "專案名稱超過 50 個字元", "projectNameCannotStartWithSpace": "專案名稱不能有空白開頭", "requiredField": "必填欄位", diff --git a/packages/nc-gui/layouts/base.vue b/packages/nc-gui/layouts/base.vue index 4e171c8e5f..e8c33c2cfa 100644 --- a/packages/nc-gui/layouts/base.vue +++ b/packages/nc-gui/layouts/base.vue @@ -13,8 +13,8 @@ const hasSider = ref(false) const sidebar = ref() -const logout = () => { - signOut() +const logout = async () => { + await signOut() navigateTo('/signin') } diff --git a/packages/nc-gui/lib/enums.ts b/packages/nc-gui/lib/enums.ts index e5d60396ec..ab6e8b03df 100644 --- a/packages/nc-gui/lib/enums.ts +++ b/packages/nc-gui/lib/enums.ts @@ -88,6 +88,7 @@ export enum SmartsheetStoreEvents { DATA_RELOAD = 'data-reload', FIELD_RELOAD = 'field-reload', FIELD_ADD = 'field-add', + MAPPED_BY_COLUMN_CHANGE = 'mapped-by-column-change', } export enum DataSourcesSubTab { diff --git a/packages/nc-gui/lib/types.ts b/packages/nc-gui/lib/types.ts index 2024d82f7e..90fdaf1cf6 100644 --- a/packages/nc-gui/lib/types.ts +++ b/packages/nc-gui/lib/types.ts @@ -32,6 +32,7 @@ export interface Field { title: string fk_column_id?: string system?: boolean + isViewEssentialField?: boolean } export type Roles = Record diff --git a/packages/nc-gui/nuxt.config.ts b/packages/nc-gui/nuxt.config.ts index 569fc36ecf..b55bdd7608 100644 --- a/packages/nc-gui/nuxt.config.ts +++ b/packages/nc-gui/nuxt.config.ts @@ -12,7 +12,7 @@ import PurgeIcons from 'vite-plugin-purge-icons' // https://v3.nuxtjs.org/api/configuration/nuxt.config export default defineNuxtConfig({ - modules: ['@vueuse/nuxt', 'nuxt-windicss', '@nuxt/image-edge'], + modules: ['@vueuse/nuxt', 'nuxt-windicss', '@nuxt/image-edge', '@pinia/nuxt'], ssr: false, @@ -190,7 +190,7 @@ export default defineNuxtConfig({ }, imports: { - dirs: ['./context', './utils/**', './lib', './composables/**'], + dirs: ['./context', './utils/**', './lib', './composables/**', './store/**'], imports: [ { name: 'useI18n', from: 'vue-i18n' }, { name: 'message', from: 'ant-design-vue/es' }, @@ -198,6 +198,7 @@ export default defineNuxtConfig({ { name: 'Empty', from: 'ant-design-vue/es' }, { name: 'Form', from: 'ant-design-vue/es' }, { name: 'useJwt', from: '@vueuse/integrations/useJwt' }, + { name: 'storeToRefs', from: 'pinia' }, ], }, }) diff --git a/packages/nc-gui/package-lock.json b/packages/nc-gui/package-lock.json index 760ec39993..6eb1dfba5f 100644 --- a/packages/nc-gui/package-lock.json +++ b/packages/nc-gui/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@ckpack/vue-color": "^1.2.0", "@iconify/vue": "^4.0.1", + "@pinia/nuxt": "^0.4.7", "@types/file-saver": "^2.0.5", "@vue-flow/additional-components": "^1.2.0", "@vue-flow/core": "^1.3.0", @@ -27,10 +28,13 @@ "jsep": "^1.3.6", "just-clone": "^6.1.1", "jwt-decode": "^3.1.2", + "leaflet": "^1.9.2", + "leaflet.markercluster": "^1.5.3", "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", "nocodb-sdk": "file:../nocodb-sdk", "papaparse": "^5.3.2", + "pinia": "^2.0.33", "qrcode": "^1.5.1", "socket.io-client": "^4.5.1", "sortablejs": "^1.15.0", @@ -41,6 +45,7 @@ "vue-dompurify-html": "^3.0.0", "vue-github-button": "^3.0.3", "vue-i18n": "^9.2.2", + "vue3-contextmenu": "^0.2.12", "vue3-text-clamp": "^0.1.1", "vuedraggable": "^4.1.0", "xlsx": "^0.18.5" @@ -69,6 +74,9 @@ "@nuxt/image-edge": "^1.0.0-27657146.da85542", "@types/axios": "^0.14.0", "@types/dagre": "^0.7.48", + "@types/file-saver": "^2.0.5", + "@types/leaflet": "^1.9.0", + "@types/leaflet.markercluster": "^1.5.1", "@types/papaparse": "^5.3.2", "@types/sortablejs": "^1.13.0", "@types/tinycolor2": "^1.4.3", @@ -97,7 +105,7 @@ } }, "../nocodb-sdk": { - "version": "0.105.2", + "version": "0.105.3", "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", @@ -122,7 +130,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -342,7 +349,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, "dependencies": { "@babel/highlight": "^7.18.6" }, @@ -351,34 +357,32 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", - "dev": true, + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", - "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", - "dev": true, + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", + "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", "dependencies": { - "@ampproject/remapping": "^2.1.0", + "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.6", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helpers": "^7.19.4", - "@babel/parser": "^7.19.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4", + "@babel/generator": "^7.21.0", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.0", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.0", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", + "json5": "^2.2.2", "semver": "^6.3.0" }, "engines": { @@ -393,19 +397,18 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.1.tgz", - "integrity": "sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg==", - "dev": true, + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", + "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", "dependencies": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.21.0", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { @@ -416,7 +419,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -439,14 +441,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "dev": true, + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", "dependencies": { - "@babel/compat-data": "^7.20.0", + "@babel/compat-data": "^7.20.5", "@babel/helper-validator-option": "^7.18.6", "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "engines": { @@ -456,15 +458,27 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, "bin": { "semver": "bin/semver.js" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.19.0", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", @@ -490,19 +504,17 @@ "version": "7.18.9", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -512,7 +524,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -536,7 +547,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -545,19 +555,18 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz", - "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==", - "dev": true, + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.19.4", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" }, "engines": { "node": ">=6.9.0" @@ -601,12 +610,11 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", - "dev": true, + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dependencies": { - "@babel/types": "^7.19.4" + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -616,7 +624,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -628,7 +635,6 @@ "version": "7.19.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -637,29 +643,26 @@ "version": "7.19.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", - "dev": true, + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -669,7 +672,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -683,7 +685,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -695,7 +696,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -709,7 +709,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -717,14 +716,12 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -733,7 +730,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -742,7 +738,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -751,9 +746,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.1.tgz", - "integrity": "sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz", + "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -820,42 +815,39 @@ } }, "node_modules/@babel/standalone": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.19.2.tgz", - "integrity": "sha512-p+U+TYGevnPUemfHeQVFwABp9kWe5+h20MKxCzvyeAD1SIm7tlvo6lGRFz1WakAxmVZvLz7WDuWjwdC8FZKp+A==", - "dev": true, + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.21.2.tgz", + "integrity": "sha512-ySP/TJcyqMJVg1M/lmnPVi6L+F+IJpQ4+0lqtf723LERbk1N8/0JgLgm346cRAzfHaoXkLq/M/mJBd2uo25RBA==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", - "dev": true, + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", + "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", + "@babel/generator": "^7.21.1", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", + "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", + "@babel/parser": "^7.21.2", + "@babel/types": "^7.21.2", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -864,10 +856,9 @@ } }, "node_modules/@babel/types": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz", - "integrity": "sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==", - "dev": true, + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", + "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", "dependencies": { "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", @@ -1503,7 +1494,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -1513,10 +1503,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "engines": { "node": ">=6.0.0" } @@ -1525,7 +1514,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -1555,19 +1543,17 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", - "dev": true + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", - "dev": true, + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "node_modules/@mapbox/node-pre-gyp": { @@ -1701,7 +1687,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1714,7 +1699,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "engines": { "node": ">= 8" } @@ -1723,7 +1707,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2605,6 +2588,252 @@ "fsevents": "~2.3.2" } }, + "node_modules/@pinia/nuxt": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/@pinia/nuxt/-/nuxt-0.4.7.tgz", + "integrity": "sha512-ifgA9PO/jmPlK1e/HtkrZa7OMSL8EUOpo8Z1O5vNLRr/OZ42kKGEaY1NbIoCz6dIf/pbkATTNHJmcrlPCo3zSA==", + "dependencies": { + "@nuxt/kit": "^3.0.0", + "pinia": ">=2.0.31" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + } + }, + "node_modules/@pinia/nuxt/node_modules/@nuxt/kit": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.2.3.tgz", + "integrity": "sha512-wcsVlQLwGkh1cRhAFWHc3uYHdIxFTRNdRUzNyfqoX9DL0Fuga3K75q/PBY0xg1viA9R6F5BMPhc7KDLSWbXtWg==", + "dependencies": { + "@nuxt/schema": "3.2.3", + "c12": "^1.1.2", + "consola": "^2.15.3", + "defu": "^6.1.2", + "globby": "^13.1.3", + "hash-sum": "^2.0.0", + "ignore": "^5.2.4", + "jiti": "^1.17.1", + "knitwork": "^1.0.0", + "lodash.template": "^4.5.0", + "mlly": "^1.1.1", + "pathe": "^1.1.0", + "pkg-types": "^1.0.2", + "scule": "^1.0.0", + "semver": "^7.3.8", + "unctx": "^2.1.2", + "unimport": "^2.2.4", + "untyped": "^1.2.2" + }, + "engines": { + "node": "^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@pinia/nuxt/node_modules/@nuxt/schema": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.2.3.tgz", + "integrity": "sha512-AXzRnBivCwn5RpNFWjUkvOPGPSHl5BM+6GfOpSNglPXi0tiQJ+rawSl7no7BkxGDmQ44Bx9AXwvHTrgjpcuo4g==", + "dependencies": { + "c12": "^1.1.2", + "create-require": "^1.1.1", + "defu": "^6.1.2", + "hookable": "^5.4.2", + "jiti": "^1.17.1", + "pathe": "^1.1.0", + "pkg-types": "^1.0.2", + "postcss-import-resolver": "^2.0.0", + "scule": "^1.0.0", + "std-env": "^3.3.2", + "ufo": "^1.1.1", + "unimport": "^2.2.4", + "untyped": "^1.2.2" + }, + "engines": { + "node": "^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@pinia/nuxt/node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@pinia/nuxt/node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/@pinia/nuxt/node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "node_modules/@pinia/nuxt/node_modules/c12": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/c12/-/c12-1.1.2.tgz", + "integrity": "sha512-fHT5HDEHNMb2oImnqJ88/UlpEOkY/chdyYxSd3YCpvBqBvU0IDlHTkNc7GnjObDMxdis2lL+rwlQcNq8VeZESA==", + "dependencies": { + "defu": "^6.1.2", + "dotenv": "^16.0.3", + "giget": "^1.1.0", + "jiti": "^1.17.1", + "mlly": "^1.1.1", + "pathe": "^1.1.0", + "pkg-types": "^1.0.2", + "rc9": "^2.0.1" + } + }, + "node_modules/@pinia/nuxt/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/@pinia/nuxt/node_modules/knitwork": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.0.0.tgz", + "integrity": "sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==" + }, + "node_modules/@pinia/nuxt/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@pinia/nuxt/node_modules/mlly": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.1.tgz", + "integrity": "sha512-Jnlh4W/aI4GySPo6+DyTN17Q75KKbLTyFK8BrGhjNP4rxuUjbRWhE6gHg3bs33URWAF44FRm7gdQA348i3XxRw==", + "dependencies": { + "acorn": "^8.8.2", + "pathe": "^1.1.0", + "pkg-types": "^1.0.1", + "ufo": "^1.1.0" + } + }, + "node_modules/@pinia/nuxt/node_modules/pathe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", + "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==" + }, + "node_modules/@pinia/nuxt/node_modules/pkg-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.2.tgz", + "integrity": "sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==", + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.1.1", + "pathe": "^1.1.0" + } + }, + "node_modules/@pinia/nuxt/node_modules/rc9": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.0.1.tgz", + "integrity": "sha512-9EfjLgNmzP9255YX8bGnILQcmdtOXKtUlFTu8bOZPJVtaUDZ2imswcUdpK51tMjTRQyB7r5RebNijrzuyGXcVA==", + "dependencies": { + "defu": "^6.1.2", + "destr": "^1.2.2", + "flat": "^5.0.2" + } + }, + "node_modules/@pinia/nuxt/node_modules/scule": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==" + }, + "node_modules/@pinia/nuxt/node_modules/strip-literal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", + "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", + "dependencies": { + "acorn": "^8.8.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@pinia/nuxt/node_modules/ufo": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.1.tgz", + "integrity": "sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==" + }, + "node_modules/@pinia/nuxt/node_modules/unctx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.1.2.tgz", + "integrity": "sha512-KK18aLRKe3OlbPyHbXAkIWSU3xK8GInomXfA7fzDMGFXQ1crX1UWrCzKesVXeUyHIayHUrnTvf87IPCKMyeKTg==", + "dependencies": { + "acorn": "^8.8.2", + "estree-walker": "^3.0.3", + "magic-string": "^0.27.0", + "unplugin": "^1.0.1" + } + }, + "node_modules/@pinia/nuxt/node_modules/unimport": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-2.2.4.tgz", + "integrity": "sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw==", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.3", + "magic-string": "^0.27.0", + "mlly": "^1.1.0", + "pathe": "^1.1.0", + "pkg-types": "^1.0.1", + "scule": "^1.0.0", + "strip-literal": "^1.0.0", + "unplugin": "^1.0.1" + } + }, + "node_modules/@pinia/nuxt/node_modules/unplugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.1.0.tgz", + "integrity": "sha512-I8obQ8Rs/hnkxokRV6g8JKOQFgYNnTd9DL58vcSt5IJ9AkK8wbrtsnzD5hi4BJlvcY536JzfEXj9L6h7j559/A==", + "dependencies": { + "acorn": "^8.8.2", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "node_modules/@pinia/nuxt/node_modules/untyped": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.2.2.tgz", + "integrity": "sha512-EANYd5L6AdpgfldlgMcmvOOnj092nWhy0ybhc7uhEH12ipytDYz89EOegBQKj8qWL3u1wgYnmFjADhsuCJs5Aw==", + "dependencies": { + "@babel/core": "^7.20.12", + "@babel/standalone": "^7.20.12", + "@babel/types": "^7.20.7", + "scule": "^1.0.0" + } + }, + "node_modules/@pinia/nuxt/node_modules/webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" + }, "node_modules/@polka/url": { "version": "1.0.0-next.21", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", @@ -3131,7 +3360,8 @@ "node_modules/@types/file-saver": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.5.tgz", - "integrity": "sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ==" + "integrity": "sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ==", + "dev": true }, "node_modules/@types/form-data": { "version": "0.0.33", @@ -3142,6 +3372,12 @@ "@types/node": "*" } }, + "node_modules/@types/geojson": { + "version": "7946.0.10", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.10.tgz", + "integrity": "sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==", + "dev": true + }, "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -3154,6 +3390,24 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "node_modules/@types/leaflet": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.0.tgz", + "integrity": "sha512-7LeOSj7EloC5UcyOMo+1kc3S1UT3MjJxwqsMT1d2PTyvQz53w0Y0oSSk9nwZnOZubCmBvpSNGceucxiq+ZPEUw==", + "dev": true, + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/leaflet.markercluster": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@types/leaflet.markercluster/-/leaflet.markercluster-1.5.1.tgz", + "integrity": "sha512-gzJzP10qO6Zkts5QNVmSAEDLYicQHTEBLT9HZpFrJiSww9eDAs5OWHvIskldf41MvDv1gbMukuEBQEawHn+wtA==", + "dev": true, + "dependencies": { + "@types/leaflet": "*" + } + }, "node_modules/@types/mdast": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", @@ -3512,31 +3766,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vue-flow/core/node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/@vue-flow/core/node_modules/@vueuse/metadata": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.3.0.tgz", @@ -3556,31 +3785,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vue-flow/core/node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/@vue/babel-helper-vue-transform-on": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", @@ -3675,9 +3879,9 @@ } }, "node_modules/@vue/devtools-api": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz", - "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==" + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" }, "node_modules/@vue/reactivity": { "version": "3.2.41", @@ -3760,62 +3964,12 @@ "vue-demi": "^0.13.4" } }, - "node_modules/@vuelidate/core/node_modules/vue-demi": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.8.tgz", - "integrity": "sha512-Vy1zbZhCOdsmvGR6tJhAvO5vhP7eiS8xkbYQSoVa7o6KlIy3W8Rc53ED4qI4qpeRDjv3mLfXSEpYU6Yq4pgXRg==", - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/@vuelidate/validators": { "version": "2.0.0-alpha.31", "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.0-alpha.31.tgz", "integrity": "sha512-+MFA9nZ7Y9zCpq383/voPDk/hiAmu6KqiJJhLOYB/FmrUPVoyKnuKnI9Bwiq8ok9GZlVkI8BnIrKPKGj9QpwiQ==", "dependencies": { - "vue-demi": "^0.13.4" - } - }, - "node_modules/@vuelidate/validators/node_modules/vue-demi": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.8.tgz", - "integrity": "sha512-Vy1zbZhCOdsmvGR6tJhAvO5vhP7eiS8xkbYQSoVa7o6KlIy3W8Rc53ED4qI4qpeRDjv3mLfXSEpYU6Yq4pgXRg==", - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } + "vue-demi": "^0.13.4" } }, "node_modules/@vueuse/core": { @@ -3832,31 +3986,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.6.tgz", - "integrity": "sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==", - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/@vueuse/head": { "version": "1.0.0-rc.14", "resolved": "https://registry.npmjs.org/@vueuse/head/-/head-1.0.0-rc.14.tgz", @@ -3883,32 +4012,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vueuse/head/node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "dev": true, - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/@vueuse/integrations": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-9.0.2.tgz", @@ -3966,31 +4069,6 @@ } } }, - "node_modules/@vueuse/integrations/node_modules/vue-demi": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.6.tgz", - "integrity": "sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==", - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/@vueuse/metadata": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.0.2.tgz", @@ -4015,32 +4093,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vueuse/nuxt/node_modules/vue-demi": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.2.tgz", - "integrity": "sha512-41ukrclEbMddAyP7PvxMSYqnOSzPV6r7GNnyTSKSCNTaz19GehxmTiXyP9kwHSUv2+Dr6hHqiUiF7L1VAw2KdQ==", - "dev": true, - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/@vueuse/shared": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.0.2.tgz", @@ -4052,31 +4104,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.6.tgz", - "integrity": "sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==", - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -4356,32 +4383,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@zhead/schema-vue/node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "dev": true, - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -4397,10 +4398,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true, + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "bin": { "acorn": "bin/acorn" }, @@ -4477,7 +4477,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "dependencies": { "debug": "4" }, @@ -4560,7 +4559,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -4865,7 +4863,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, "engines": { "node": ">=8" } @@ -4910,7 +4907,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -4930,7 +4926,6 @@ "version": "4.21.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, "funding": [ { "type": "opencollective", @@ -5101,7 +5096,6 @@ "version": "1.0.30001430", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001430.tgz", "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -5374,7 +5368,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "funding": [ { "type": "individual", @@ -5630,8 +5623,7 @@ "node_modules/colorette": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" }, "node_modules/combined-stream": { "version": "1.0.8", @@ -5757,8 +5749,7 @@ "node_modules/consola": { "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, "node_modules/console-control-strings": { "version": "1.1.0", @@ -5770,7 +5761,6 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.1" } @@ -5808,8 +5798,7 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/crc-32": { "version": "1.2.2", @@ -5838,8 +5827,7 @@ "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "node_modules/cross-fetch": { "version": "3.1.5", @@ -6463,10 +6451,9 @@ } }, "node_modules/defu": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.0.tgz", - "integrity": "sha512-pOFYRTIhoKujrmbTRhcW5lYQLBXw/dlTwfI8IguF1QCDJOcJzNH1w+YFjxqy6BAuJrClTy6MUE8q+oKJ2FLsIw==", - "dev": true + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", + "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==" }, "node_modules/delayed-stream": { "version": "1.0.0", @@ -6501,10 +6488,9 @@ } }, "node_modules/destr": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.0.tgz", - "integrity": "sha512-JG+cG4ZPB1L27sl2C2URg8MIOmIUtTbE5wEx02BpmrTCqg/hXxFKXsYsnODl5PdpqNRaS1KQGUQ56V8jk8XpYQ==", - "dev": true + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz", + "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==" }, "node_modules/destroy": { "version": "1.2.0", @@ -6534,7 +6520,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "dependencies": { "path-type": "^4.0.0" }, @@ -6680,7 +6665,6 @@ "version": "16.0.3", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true, "engines": { "node": ">=12" } @@ -6705,8 +6689,7 @@ "node_modules/electron-to-chromium": { "version": "1.4.257", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.257.tgz", - "integrity": "sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==", - "dev": true + "integrity": "sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -6812,7 +6795,6 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, "dependencies": { "prr": "~1.0.1" }, @@ -7259,7 +7241,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -7274,7 +7255,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, "engines": { "node": ">=12" }, @@ -8350,7 +8330,6 @@ "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -8377,7 +8356,6 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, "dependencies": { "reusify": "^1.0.4" } @@ -8448,7 +8426,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -8526,7 +8503,6 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, "bin": { "flat": "cli.js" } @@ -8696,7 +8672,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -8789,7 +8764,6 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -8879,6 +8853,121 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/giget": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", + "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", + "dependencies": { + "colorette": "^2.0.19", + "defu": "^6.1.2", + "https-proxy-agent": "^5.0.1", + "mri": "^1.2.0", + "node-fetch-native": "^1.0.2", + "pathe": "^1.1.0", + "tar": "^6.1.13" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/giget/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/giget/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/giget/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/giget/node_modules/minipass": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz", + "integrity": "sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/giget/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/giget/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/giget/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/giget/node_modules/node-fetch-native": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.0.2.tgz", + "integrity": "sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ==" + }, + "node_modules/giget/node_modules/pathe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", + "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==" + }, + "node_modules/giget/node_modules/tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/git-config-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz", @@ -8956,7 +9045,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -8976,16 +9064,14 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, "engines": { "node": ">=4" } }, "node_modules/globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", - "dev": true, + "version": "13.1.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", + "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", "dependencies": { "dir-glob": "^3.0.1", "fast-glob": "^3.2.11", @@ -9228,8 +9314,7 @@ "node_modules/hash-sum": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==" }, "node_modules/he": { "version": "1.2.0", @@ -9241,10 +9326,9 @@ } }, "node_modules/hookable": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.4.1.tgz", - "integrity": "sha512-i808BglQ1OuSIcgPSZoWsDapCMLXKe5wLS6XZvIXpaBWdWLUZARM8vOLayu6cXewj5TSbaZaMzKnq+pRnfscEQ==", - "dev": true + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.4.2.tgz", + "integrity": "sha512-6rOvaUiNKy9lET1X0ECnyZ5O5kSV0PJbtA5yZUgdEF7fGJEVwSLSislltyt7nFwVVALYHQJtfGeAR2Y0A0uJkg==" }, "node_modules/hosted-git-info": { "version": "2.8.9", @@ -9442,7 +9526,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -9604,10 +9687,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "engines": { "node": ">= 4" } @@ -9709,8 +9791,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.8", @@ -9898,7 +9979,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -10005,7 +10085,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -10022,7 +10101,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -10074,7 +10152,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } @@ -10291,8 +10368,7 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/isexe": { "version": "2.0.0", @@ -10323,10 +10399,9 @@ } }, "node_modules/jiti": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.16.0.tgz", - "integrity": "sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==", - "dev": true, + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.17.2.tgz", + "integrity": "sha512-Xf0nU8+8wuiQpLcqdb2HRyHqYwGk2Pd+F7kstyp20ZuqTyCmB9dqpX2NxaxFc1kovraa2bG6c1RL3W7XfapiZg==", "bin": { "jiti": "bin/jiti.js" } @@ -10508,7 +10583,6 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, "bin": { "jsesc": "bin/jsesc" }, @@ -10532,7 +10606,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -10561,8 +10634,7 @@ "node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "node_modules/jsonfile": { "version": "6.1.0", @@ -10661,6 +10733,19 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/leaflet": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.3.tgz", + "integrity": "sha512-iB2cR9vAkDOu5l3HAay2obcUHZ7xwUBBjph8+PGtmW/2lYhbLizWtG7nTeYht36WfOslixQF9D/uSIzhZgGMfQ==" + }, + "node_modules/leaflet.markercluster": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/leaflet.markercluster/-/leaflet.markercluster-1.5.3.tgz", + "integrity": "sha512-vPTw/Bndq7eQHjLBVlWpnGeLa3t+3zGiuM7fJwCkiMFq+nmRuG3RI3f7f4N4TDX7T4NpbAXpR2+NTRSEGfCSeA==", + "peerDependencies": { + "leaflet": "^1.3.1" + } + }, "node_modules/less": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", @@ -10820,10 +10905,9 @@ } }, "node_modules/local-pkg": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz", - "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==", - "dev": true, + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", "engines": { "node": ">=14" }, @@ -10870,8 +10954,7 @@ "node_modules/lodash._reinterpolate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==" }, "node_modules/lodash.debounce": { "version": "4.0.8", @@ -10931,7 +11014,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, "dependencies": { "lodash._reinterpolate": "^3.0.0", "lodash.templatesettings": "^4.0.0" @@ -10941,7 +11023,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, "dependencies": { "lodash._reinterpolate": "^3.0.0" } @@ -10998,7 +11079,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -11089,7 +11169,6 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -11102,7 +11181,6 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -11117,7 +11195,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -11132,7 +11209,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "engines": { "node": ">= 8" } @@ -11161,7 +11237,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -11274,6 +11349,11 @@ "minipass": "^2.9.0" } }, + "node_modules/mitt": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-2.1.0.tgz", + "integrity": "sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==" + }, "node_modules/mkdir": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/mkdir/-/mkdir-0.0.2.tgz", @@ -11334,7 +11414,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, "engines": { "node": ">=4" } @@ -12059,8 +12138,7 @@ "node_modules/node-releases": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" }, "node_modules/nopt": { "version": "5.0.0", @@ -12102,7 +12180,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -12896,7 +12973,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } @@ -12939,7 +13015,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -12956,6 +13031,31 @@ "node": ">=0.10.0" } }, + "node_modules/pinia": { + "version": "2.0.33", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.33.tgz", + "integrity": "sha512-HOj1yVV2itw6rNIrR2f7+MirGNxhORjrULL8GWgRwXsGSvEqIQ+SE0MYt6cwtpegzCda3i+rVTZM+AM7CG+kRg==", + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, "node_modules/pinkie": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", @@ -13142,7 +13242,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-import-resolver/-/postcss-import-resolver-2.0.0.tgz", "integrity": "sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==", - "dev": true, "dependencies": { "enhanced-resolve": "^4.1.1" } @@ -13151,7 +13250,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "memory-fs": "^0.5.0", @@ -13165,7 +13263,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, "engines": { "node": ">=6" } @@ -13619,8 +13716,7 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/promise": { "version": "8.1.0", @@ -13651,8 +13747,7 @@ "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" }, "node_modules/psl": { "version": "1.9.0", @@ -13868,7 +13963,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -14128,7 +14222,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -14275,7 +14368,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -14300,7 +14392,7 @@ "version": "2.79.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "dev": true, + "devOptional": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -14428,7 +14520,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -14459,8 +14550,7 @@ "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/safe-regex": { "version": "2.1.1", @@ -14603,7 +14693,6 @@ "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -14867,7 +14956,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, "engines": { "node": ">=12" }, @@ -15024,10 +15112,9 @@ } }, "node_modules/std-env": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.0.tgz", - "integrity": "sha512-cNNS+VYsXIs5gI6gJipO4qZ8YYT274JHvNnQ1/R/x8Q8mdP0qj0zoMchRXmBNPqp/0eOEhX+3g7g6Fgb7meLIQ==", - "dev": true + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz", + "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==" }, "node_modules/stream-combiner": { "version": "0.0.4", @@ -15638,7 +15725,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "engines": { "node": ">=4" } @@ -15647,7 +15733,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -15813,7 +15898,7 @@ "version": "4.7.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true, + "devOptional": true, "peer": true, "bin": { "tsc": "bin/tsc", @@ -16223,7 +16308,6 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -16256,8 +16340,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/utils-merge": { "version": "1.0.1", @@ -17055,6 +17138,31 @@ "ufo": "^0.8.6" } }, + "node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/vue-devtools-stub": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/vue-devtools-stub/-/vue-devtools-stub-0.1.0.tgz", @@ -17172,6 +17280,16 @@ "vue": "^3.0.0" } }, + "node_modules/vue3-contextmenu": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/vue3-contextmenu/-/vue3-contextmenu-0.2.12.tgz", + "integrity": "sha512-lSA+Pq4wozbf9nDmMBvz2Z2DXwGwCEeXEDsmQi+cIxc5FzPa1Ia013hv5/DQZwr4dPilNxrOXPht1u0CMXcpVw==", + "dependencies": { + "core-js": "^3.6.5", + "mitt": "^2.1.0", + "vue": "^3.0.0" + } + }, "node_modules/vue3-text-clamp": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/vue3-text-clamp/-/vue3-text-clamp-0.1.1.tgz", @@ -17326,7 +17444,6 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, "engines": { "node": ">=10.13.0" } @@ -17729,8 +17846,7 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { "version": "1.10.2", @@ -17846,7 +17962,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -18013,56 +18128,52 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, "requires": { "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", - "dev": true + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==" }, "@babel/core": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", - "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", - "dev": true, + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", + "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", "requires": { - "@ampproject/remapping": "^2.1.0", + "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.6", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helpers": "^7.19.4", - "@babel/parser": "^7.19.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4", + "@babel/generator": "^7.21.0", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.0", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.0", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", + "json5": "^2.2.2", "semver": "^6.3.0" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, "@babel/generator": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.1.tgz", - "integrity": "sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg==", - "dev": true, + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", + "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", "requires": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.21.0", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "dependencies": { @@ -18070,7 +18181,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -18089,22 +18199,34 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "dev": true, + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", "requires": { - "@babel/compat-data": "^7.20.0", + "@babel/compat-data": "^7.20.5", "@babel/helper-validator-option": "^7.18.6", "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -18126,24 +18248,21 @@ "@babel/helper-environment-visitor": { "version": "7.18.9", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" }, "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" } }, "@babel/helper-hoist-variables": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, "requires": { "@babel/types": "^7.18.6" } @@ -18161,25 +18280,23 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, "requires": { "@babel/types": "^7.18.6" } }, "@babel/helper-module-transforms": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz", - "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==", - "dev": true, + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.19.4", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" } }, "@babel/helper-optimise-call-expression": { @@ -18211,19 +18328,17 @@ } }, "@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", - "dev": true, + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "requires": { - "@babel/types": "^7.19.4" + "@babel/types": "^7.20.2" } }, "@babel/helper-split-export-declaration": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, "requires": { "@babel/types": "^7.18.6" } @@ -18231,37 +18346,32 @@ "@babel/helper-string-parser": { "version": "7.19.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" }, "@babel/helper-validator-identifier": { "version": "7.19.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" }, "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==" }, "@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", - "dev": true, + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" } }, "@babel/highlight": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -18272,7 +18382,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -18281,7 +18390,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -18292,7 +18400,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -18300,26 +18407,22 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -18327,9 +18430,9 @@ } }, "@babel/parser": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.1.tgz", - "integrity": "sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw==" + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz", + "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==" }, "@babel/plugin-syntax-jsx": { "version": "7.18.6", @@ -18369,45 +18472,41 @@ } }, "@babel/standalone": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.19.2.tgz", - "integrity": "sha512-p+U+TYGevnPUemfHeQVFwABp9kWe5+h20MKxCzvyeAD1SIm7tlvo6lGRFz1WakAxmVZvLz7WDuWjwdC8FZKp+A==", - "dev": true + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.21.2.tgz", + "integrity": "sha512-ySP/TJcyqMJVg1M/lmnPVi6L+F+IJpQ4+0lqtf723LERbk1N8/0JgLgm346cRAzfHaoXkLq/M/mJBd2uo25RBA==" }, "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "requires": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" } }, "@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", - "dev": true, + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", + "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", + "@babel/generator": "^7.21.1", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", + "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", + "@babel/parser": "^7.21.2", + "@babel/types": "^7.21.2", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz", - "integrity": "sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==", - "dev": true, + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", + "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", "requires": { "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", @@ -18903,23 +19002,20 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, "requires": { "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", - "dev": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" }, "@jridgewell/set-array": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", - "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", - "dev": true + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==" }, "@jridgewell/source-map": { "version": "0.3.2", @@ -18945,19 +19041,17 @@ } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", - "dev": true + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", - "dev": true, + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "@mapbox/node-pre-gyp": { @@ -19055,7 +19149,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -19064,14 +19157,12 @@ "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -19676,6 +19767,230 @@ } } }, + "@pinia/nuxt": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/@pinia/nuxt/-/nuxt-0.4.7.tgz", + "integrity": "sha512-ifgA9PO/jmPlK1e/HtkrZa7OMSL8EUOpo8Z1O5vNLRr/OZ42kKGEaY1NbIoCz6dIf/pbkATTNHJmcrlPCo3zSA==", + "requires": { + "@nuxt/kit": "^3.0.0", + "pinia": ">=2.0.31" + }, + "dependencies": { + "@nuxt/kit": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.2.3.tgz", + "integrity": "sha512-wcsVlQLwGkh1cRhAFWHc3uYHdIxFTRNdRUzNyfqoX9DL0Fuga3K75q/PBY0xg1viA9R6F5BMPhc7KDLSWbXtWg==", + "requires": { + "@nuxt/schema": "3.2.3", + "c12": "^1.1.2", + "consola": "^2.15.3", + "defu": "^6.1.2", + "globby": "^13.1.3", + "hash-sum": "^2.0.0", + "ignore": "^5.2.4", + "jiti": "^1.17.1", + "knitwork": "^1.0.0", + "lodash.template": "^4.5.0", + "mlly": "^1.1.1", + "pathe": "^1.1.0", + "pkg-types": "^1.0.2", + "scule": "^1.0.0", + "semver": "^7.3.8", + "unctx": "^2.1.2", + "unimport": "^2.2.4", + "untyped": "^1.2.2" + } + }, + "@nuxt/schema": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.2.3.tgz", + "integrity": "sha512-AXzRnBivCwn5RpNFWjUkvOPGPSHl5BM+6GfOpSNglPXi0tiQJ+rawSl7no7BkxGDmQ44Bx9AXwvHTrgjpcuo4g==", + "requires": { + "c12": "^1.1.2", + "create-require": "^1.1.1", + "defu": "^6.1.2", + "hookable": "^5.4.2", + "jiti": "^1.17.1", + "pathe": "^1.1.0", + "pkg-types": "^1.0.2", + "postcss-import-resolver": "^2.0.0", + "scule": "^1.0.0", + "std-env": "^3.3.2", + "ufo": "^1.1.1", + "unimport": "^2.2.4", + "untyped": "^1.2.2" + } + }, + "@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "dependencies": { + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + } + } + }, + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "c12": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/c12/-/c12-1.1.2.tgz", + "integrity": "sha512-fHT5HDEHNMb2oImnqJ88/UlpEOkY/chdyYxSd3YCpvBqBvU0IDlHTkNc7GnjObDMxdis2lL+rwlQcNq8VeZESA==", + "requires": { + "defu": "^6.1.2", + "dotenv": "^16.0.3", + "giget": "^1.1.0", + "jiti": "^1.17.1", + "mlly": "^1.1.1", + "pathe": "^1.1.0", + "pkg-types": "^1.0.2", + "rc9": "^2.0.1" + } + }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "requires": { + "@types/estree": "^1.0.0" + } + }, + "knitwork": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.0.0.tgz", + "integrity": "sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==" + }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "mlly": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.1.tgz", + "integrity": "sha512-Jnlh4W/aI4GySPo6+DyTN17Q75KKbLTyFK8BrGhjNP4rxuUjbRWhE6gHg3bs33URWAF44FRm7gdQA348i3XxRw==", + "requires": { + "acorn": "^8.8.2", + "pathe": "^1.1.0", + "pkg-types": "^1.0.1", + "ufo": "^1.1.0" + } + }, + "pathe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", + "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==" + }, + "pkg-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.2.tgz", + "integrity": "sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==", + "requires": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.1.1", + "pathe": "^1.1.0" + } + }, + "rc9": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.0.1.tgz", + "integrity": "sha512-9EfjLgNmzP9255YX8bGnILQcmdtOXKtUlFTu8bOZPJVtaUDZ2imswcUdpK51tMjTRQyB7r5RebNijrzuyGXcVA==", + "requires": { + "defu": "^6.1.2", + "destr": "^1.2.2", + "flat": "^5.0.2" + } + }, + "scule": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==" + }, + "strip-literal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", + "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", + "requires": { + "acorn": "^8.8.2" + } + }, + "ufo": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.1.tgz", + "integrity": "sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==" + }, + "unctx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.1.2.tgz", + "integrity": "sha512-KK18aLRKe3OlbPyHbXAkIWSU3xK8GInomXfA7fzDMGFXQ1crX1UWrCzKesVXeUyHIayHUrnTvf87IPCKMyeKTg==", + "requires": { + "acorn": "^8.8.2", + "estree-walker": "^3.0.3", + "magic-string": "^0.27.0", + "unplugin": "^1.0.1" + } + }, + "unimport": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-2.2.4.tgz", + "integrity": "sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw==", + "requires": { + "@rollup/pluginutils": "^5.0.2", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.3", + "magic-string": "^0.27.0", + "mlly": "^1.1.0", + "pathe": "^1.1.0", + "pkg-types": "^1.0.1", + "scule": "^1.0.0", + "strip-literal": "^1.0.0", + "unplugin": "^1.0.1" + } + }, + "unplugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.1.0.tgz", + "integrity": "sha512-I8obQ8Rs/hnkxokRV6g8JKOQFgYNnTd9DL58vcSt5IJ9AkK8wbrtsnzD5hi4BJlvcY536JzfEXj9L6h7j559/A==", + "requires": { + "acorn": "^8.8.2", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "untyped": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.2.2.tgz", + "integrity": "sha512-EANYd5L6AdpgfldlgMcmvOOnj092nWhy0ybhc7uhEH12ipytDYz89EOegBQKj8qWL3u1wgYnmFjADhsuCJs5Aw==", + "requires": { + "@babel/core": "^7.20.12", + "@babel/standalone": "^7.20.12", + "@babel/types": "^7.20.7", + "scule": "^1.0.0" + } + }, + "webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" + } + } + }, "@polka/url": { "version": "1.0.0-next.21", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", @@ -20061,7 +20376,8 @@ "@types/file-saver": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.5.tgz", - "integrity": "sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ==" + "integrity": "sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ==", + "dev": true }, "@types/form-data": { "version": "0.0.33", @@ -20072,6 +20388,12 @@ "@types/node": "*" } }, + "@types/geojson": { + "version": "7946.0.10", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.10.tgz", + "integrity": "sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==", + "dev": true + }, "@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -20084,6 +20406,24 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "@types/leaflet": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.0.tgz", + "integrity": "sha512-7LeOSj7EloC5UcyOMo+1kc3S1UT3MjJxwqsMT1d2PTyvQz53w0Y0oSSk9nwZnOZubCmBvpSNGceucxiq+ZPEUw==", + "dev": true, + "requires": { + "@types/geojson": "*" + } + }, + "@types/leaflet.markercluster": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@types/leaflet.markercluster/-/leaflet.markercluster-1.5.1.tgz", + "integrity": "sha512-gzJzP10qO6Zkts5QNVmSAEDLYicQHTEBLT9HZpFrJiSww9eDAs5OWHvIskldf41MvDv1gbMukuEBQEawHn+wtA==", + "dev": true, + "requires": { + "@types/leaflet": "*" + } + }, "@types/mdast": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", @@ -20331,14 +20671,6 @@ "@vueuse/metadata": "9.3.0", "@vueuse/shared": "9.3.0", "vue-demi": "*" - }, - "dependencies": { - "vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "requires": {} - } } }, "@vueuse/metadata": { @@ -20352,14 +20684,6 @@ "integrity": "sha512-caGUWLY0DpPC6l31KxeUy6vPVNA0yKxx81jFYLoMpyP6cF84FG5Dkf69DfSUqL57wX8JcUkJDMnQaQIZPWFEQQ==", "requires": { "vue-demi": "*" - }, - "dependencies": { - "vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "requires": {} - } } } } @@ -20456,9 +20780,9 @@ } }, "@vue/devtools-api": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz", - "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==" + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" }, "@vue/reactivity": { "version": "3.2.41", @@ -20536,14 +20860,6 @@ "integrity": "sha512-3DlCe3E0RRXbB+OfPacUetKhLmXzmnjeHkzjnbkc03p06mKm6h9pXR5pd6Mv4s4tus4sieuKDb2YWNmKK6rQeA==", "requires": { "vue-demi": "^0.13.4" - }, - "dependencies": { - "vue-demi": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.8.tgz", - "integrity": "sha512-Vy1zbZhCOdsmvGR6tJhAvO5vhP7eiS8xkbYQSoVa7o6KlIy3W8Rc53ED4qI4qpeRDjv3mLfXSEpYU6Yq4pgXRg==", - "requires": {} - } } }, "@vuelidate/validators": { @@ -20552,14 +20868,6 @@ "integrity": "sha512-+MFA9nZ7Y9zCpq383/voPDk/hiAmu6KqiJJhLOYB/FmrUPVoyKnuKnI9Bwiq8ok9GZlVkI8BnIrKPKGj9QpwiQ==", "requires": { "vue-demi": "^0.13.4" - }, - "dependencies": { - "vue-demi": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.8.tgz", - "integrity": "sha512-Vy1zbZhCOdsmvGR6tJhAvO5vhP7eiS8xkbYQSoVa7o6KlIy3W8Rc53ED4qI4qpeRDjv3mLfXSEpYU6Yq4pgXRg==", - "requires": {} - } } }, "@vueuse/core": { @@ -20571,14 +20879,6 @@ "@vueuse/metadata": "9.0.2", "@vueuse/shared": "9.0.2", "vue-demi": "*" - }, - "dependencies": { - "vue-demi": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.6.tgz", - "integrity": "sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==", - "requires": {} - } } }, "@vueuse/head": { @@ -20599,15 +20899,6 @@ "dev": true, "requires": { "vue-demi": "*" - }, - "dependencies": { - "vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "dev": true, - "requires": {} - } } } } @@ -20620,14 +20911,6 @@ "@vueuse/core": "9.0.2", "@vueuse/shared": "9.0.2", "vue-demi": "*" - }, - "dependencies": { - "vue-demi": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.6.tgz", - "integrity": "sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==", - "requires": {} - } } }, "@vueuse/metadata": { @@ -20646,15 +20929,6 @@ "@vueuse/metadata": "9.0.2", "local-pkg": "^0.4.2", "vue-demi": "*" - }, - "dependencies": { - "vue-demi": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.2.tgz", - "integrity": "sha512-41ukrclEbMddAyP7PvxMSYqnOSzPV6r7GNnyTSKSCNTaz19GehxmTiXyP9kwHSUv2+Dr6hHqiUiF7L1VAw2KdQ==", - "dev": true, - "requires": {} - } } }, "@vueuse/shared": { @@ -20663,14 +20937,6 @@ "integrity": "sha512-KwBDefK2ljLESpt0ffe2w8EGUCb3IaMfTzeytB/uHHjHOGOEIHLHHyn8W2C48uGQEvoe5iwaW4Bfp8cRUM6IFA==", "requires": { "vue-demi": "*" - }, - "dependencies": { - "vue-demi": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.6.tgz", - "integrity": "sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==", - "requires": {} - } } }, "@webassemblyjs/ast": { @@ -20932,15 +21198,6 @@ "dev": true, "requires": { "vue-demi": "*" - }, - "dependencies": { - "vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "dev": true, - "requires": {} - } } } } @@ -20960,10 +21217,9 @@ "dev": true }, "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" }, "acorn-globals": { "version": "6.0.0", @@ -21020,7 +21276,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "requires": { "debug": "4" } @@ -21075,7 +21330,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -21295,8 +21549,7 @@ "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "bindings": { "version": "1.5.0", @@ -21338,7 +21591,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -21355,7 +21607,6 @@ "version": "4.21.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, "requires": { "caniuse-lite": "^1.0.30001400", "electron-to-chromium": "^1.4.251", @@ -21468,8 +21719,7 @@ "caniuse-lite": { "version": "1.0.30001430", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001430.tgz", - "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==", - "dev": true + "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==" }, "caseless": { "version": "0.12.0", @@ -21661,7 +21911,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -21850,8 +22099,7 @@ "colorette": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" }, "combined-stream": { "version": "1.0.8", @@ -21966,8 +22214,7 @@ "consola": { "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, "console-control-strings": { "version": "1.1.0", @@ -21979,7 +22226,6 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, "requires": { "safe-buffer": "~5.1.1" } @@ -22009,8 +22255,7 @@ "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "crc-32": { "version": "1.2.2", @@ -22030,8 +22275,7 @@ "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "cross-fetch": { "version": "3.1.5", @@ -22498,10 +22742,9 @@ } }, "defu": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.0.tgz", - "integrity": "sha512-pOFYRTIhoKujrmbTRhcW5lYQLBXw/dlTwfI8IguF1QCDJOcJzNH1w+YFjxqy6BAuJrClTy6MUE8q+oKJ2FLsIw==", - "dev": true + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", + "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==" }, "delayed-stream": { "version": "1.0.0", @@ -22527,10 +22770,9 @@ "dev": true }, "destr": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.0.tgz", - "integrity": "sha512-JG+cG4ZPB1L27sl2C2URg8MIOmIUtTbE5wEx02BpmrTCqg/hXxFKXsYsnODl5PdpqNRaS1KQGUQ56V8jk8XpYQ==", - "dev": true + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz", + "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==" }, "destroy": { "version": "1.2.0", @@ -22553,7 +22795,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "requires": { "path-type": "^4.0.0" } @@ -22660,8 +22901,7 @@ "dotenv": { "version": "16.0.3", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" }, "duplexer": { "version": "0.1.2", @@ -22683,8 +22923,7 @@ "electron-to-chromium": { "version": "1.4.257", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.257.tgz", - "integrity": "sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==", - "dev": true + "integrity": "sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==" }, "emoji-regex": { "version": "9.2.2", @@ -22763,7 +23002,6 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, "requires": { "prr": "~1.0.1" } @@ -23007,8 +23245,7 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-html": { "version": "1.0.3", @@ -23019,8 +23256,7 @@ "escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" }, "escodegen": { "version": "2.0.0", @@ -23803,7 +24039,6 @@ "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -23827,7 +24062,6 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, "requires": { "reusify": "^1.0.4" } @@ -23876,7 +24110,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -23940,8 +24173,7 @@ "flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" }, "flat-cache": { "version": "3.0.4", @@ -24066,7 +24298,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "optional": true }, "function-bind": { @@ -24138,8 +24369,7 @@ "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" }, "get-caller-file": { "version": "2.0.5", @@ -24199,6 +24429,97 @@ "get-intrinsic": "^1.1.1" } }, + "giget": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", + "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", + "requires": { + "colorette": "^2.0.19", + "defu": "^6.1.2", + "https-proxy-agent": "^5.0.1", + "mri": "^1.2.0", + "node-fetch-native": "^1.0.2", + "pathe": "^1.1.0", + "tar": "^6.1.13" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "minipass": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz", + "integrity": "sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==" + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "node-fetch-native": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.0.2.tgz", + "integrity": "sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ==" + }, + "pathe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", + "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==" + }, + "tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + } + } + }, "git-config-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz", @@ -24264,7 +24585,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -24280,14 +24600,12 @@ "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", - "dev": true, + "version": "13.1.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", + "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", "requires": { "dir-glob": "^3.0.1", "fast-glob": "^3.2.11", @@ -24469,8 +24787,7 @@ "hash-sum": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==" }, "he": { "version": "1.2.0", @@ -24479,10 +24796,9 @@ "dev": true }, "hookable": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.4.1.tgz", - "integrity": "sha512-i808BglQ1OuSIcgPSZoWsDapCMLXKe5wLS6XZvIXpaBWdWLUZARM8vOLayu6cXewj5TSbaZaMzKnq+pRnfscEQ==", - "dev": true + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.4.2.tgz", + "integrity": "sha512-6rOvaUiNKy9lET1X0ECnyZ5O5kSV0PJbtA5yZUgdEF7fGJEVwSLSislltyt7nFwVVALYHQJtfGeAR2Y0A0uJkg==" }, "hosted-git-info": { "version": "2.8.9", @@ -24634,7 +24950,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, "requires": { "agent-base": "6", "debug": "4" @@ -24748,10 +25063,9 @@ "dev": true }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" }, "image-meta": { "version": "0.1.1", @@ -24825,8 +25139,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.8", @@ -24968,7 +25281,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -25031,8 +25343,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -25043,7 +25354,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -25075,8 +25385,7 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-number-object": { "version": "1.0.7", @@ -25226,8 +25535,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "isexe": { "version": "2.0.0", @@ -25252,10 +25560,9 @@ } }, "jiti": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.16.0.tgz", - "integrity": "sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==", - "dev": true + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.17.2.tgz", + "integrity": "sha512-Xf0nU8+8wuiQpLcqdb2HRyHqYwGk2Pd+F7kstyp20ZuqTyCmB9dqpX2NxaxFc1kovraa2bG6c1RL3W7XfapiZg==" }, "js-tokens": { "version": "4.0.0", @@ -25354,8 +25661,7 @@ "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, "json-parse-even-better-errors": { "version": "2.3.1", @@ -25372,8 +25678,7 @@ "json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "jsonc-eslint-parser": { "version": "2.1.0", @@ -25390,8 +25695,7 @@ "jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "jsonfile": { "version": "6.1.0", @@ -25481,6 +25785,17 @@ } } }, + "leaflet": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.3.tgz", + "integrity": "sha512-iB2cR9vAkDOu5l3HAay2obcUHZ7xwUBBjph8+PGtmW/2lYhbLizWtG7nTeYht36WfOslixQF9D/uSIzhZgGMfQ==" + }, + "leaflet.markercluster": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/leaflet.markercluster/-/leaflet.markercluster-1.5.3.tgz", + "integrity": "sha512-vPTw/Bndq7eQHjLBVlWpnGeLa3t+3zGiuM7fJwCkiMFq+nmRuG3RI3f7f4N4TDX7T4NpbAXpR2+NTRSEGfCSeA==", + "requires": {} + }, "less": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", @@ -25604,10 +25919,9 @@ } }, "local-pkg": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz", - "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==", - "dev": true + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==" }, "locale-codes": { "version": "1.3.1", @@ -25642,8 +25956,7 @@ "lodash._reinterpolate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==" }, "lodash.debounce": { "version": "4.0.8", @@ -25703,7 +26016,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, "requires": { "lodash._reinterpolate": "^3.0.0", "lodash.templatesettings": "^4.0.0" @@ -25713,7 +26025,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, "requires": { "lodash._reinterpolate": "^3.0.0" } @@ -25761,7 +26072,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -25831,7 +26141,6 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -25841,7 +26150,6 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -25856,7 +26164,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -25872,8 +26179,7 @@ "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "micromark": { "version": "2.11.4", @@ -25889,7 +26195,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -25974,6 +26279,11 @@ "minipass": "^2.9.0" } }, + "mitt": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-2.1.0.tgz", + "integrity": "sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==" + }, "mkdir": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/mkdir/-/mkdir-0.0.2.tgz", @@ -26021,8 +26331,7 @@ "mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" }, "mrmime": { "version": "1.0.1", @@ -26509,8 +26818,7 @@ "node-releases": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" }, "nopt": { "version": "5.0.0", @@ -26544,8 +26852,7 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-range": { "version": "0.1.2", @@ -26641,7 +26948,7 @@ "unimport": "^0.6.8", "unplugin": "^0.10.0", "untyped": "^0.5.0", - "vue": "^3.2.41", + "vue": "latest", "vue-bundle-renderer": "^0.4.4", "vue-devtools-stub": "^0.1.0", "vue-router": "^4.1.5" @@ -27166,8 +27473,7 @@ "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, "pathe": { "version": "0.3.9", @@ -27203,8 +27509,7 @@ "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pify": { "version": "2.3.0", @@ -27212,6 +27517,15 @@ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true }, + "pinia": { + "version": "2.0.33", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.33.tgz", + "integrity": "sha512-HOj1yVV2itw6rNIrR2f7+MirGNxhORjrULL8GWgRwXsGSvEqIQ+SE0MYt6cwtpegzCda3i+rVTZM+AM7CG+kRg==", + "requires": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": "*" + } + }, "pinkie": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", @@ -27332,7 +27646,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-import-resolver/-/postcss-import-resolver-2.0.0.tgz", "integrity": "sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==", - "dev": true, "requires": { "enhanced-resolve": "^4.1.1" }, @@ -27341,7 +27654,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "memory-fs": "^0.5.0", @@ -27351,8 +27663,7 @@ "tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" } } }, @@ -27643,8 +27954,7 @@ "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise": { "version": "8.1.0", @@ -27675,8 +27985,7 @@ "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" }, "psl": { "version": "1.9.0", @@ -27842,8 +28151,7 @@ "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "radix3": { "version": "0.1.2", @@ -28046,7 +28354,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "requires": { "picomatch": "^2.2.1" } @@ -28150,8 +28457,7 @@ "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "rimraf": { "version": "3.0.2", @@ -28166,7 +28472,7 @@ "version": "2.79.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "dev": true, + "devOptional": true, "requires": { "fsevents": "~2.3.2" } @@ -28268,7 +28574,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "requires": { "queue-microtask": "^1.2.2" } @@ -28285,8 +28590,7 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "2.1.1", @@ -28406,7 +28710,6 @@ "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -28610,8 +28913,7 @@ "slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" }, "socket.io-client": { "version": "4.5.1", @@ -28739,10 +29041,9 @@ "dev": true }, "std-env": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.0.tgz", - "integrity": "sha512-cNNS+VYsXIs5gI6gJipO4qZ8YYT274JHvNnQ1/R/x8Q8mdP0qj0zoMchRXmBNPqp/0eOEhX+3g7g6Fgb7meLIQ==", - "dev": true + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz", + "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==" }, "stream-combiner": { "version": "0.0.4", @@ -29194,14 +29495,12 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -29334,7 +29633,7 @@ "version": "4.7.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true, + "devOptional": true, "peer": true }, "ufo": { @@ -29627,7 +29926,6 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", - "dev": true, "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -29644,8 +29942,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "utils-merge": { "version": "1.0.1", @@ -30084,6 +30381,12 @@ "ufo": "^0.8.6" } }, + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + }, "vue-devtools-stub": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/vue-devtools-stub/-/vue-devtools-stub-0.1.0.tgz", @@ -30167,13 +30470,23 @@ "is-plain-object": "3.0.1" } }, + "vue3-contextmenu": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/vue3-contextmenu/-/vue3-contextmenu-0.2.12.tgz", + "integrity": "sha512-lSA+Pq4wozbf9nDmMBvz2Z2DXwGwCEeXEDsmQi+cIxc5FzPa1Ia013hv5/DQZwr4dPilNxrOXPht1u0CMXcpVw==", + "requires": { + "core-js": "^3.6.5", + "mitt": "^2.1.0", + "vue": "latest" + } + }, "vue3-text-clamp": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/vue3-text-clamp/-/vue3-text-clamp-0.1.1.tgz", "integrity": "sha512-l/30RvXLkw50axAjswAK1DmvbUc5Oyhq9GkvD98p8pykrLkIajRi3evVsMnahMBK0O7+EGIK9RbIOKPyRfuw7w==", "requires": { "resize-detector": "^0.3.0", - "vue": "^3.2.37" + "vue": "latest" } }, "vuedraggable": { @@ -30291,8 +30604,7 @@ "webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" }, "webpack-virtual-modules": { "version": "0.4.5", @@ -30594,8 +30906,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { "version": "1.10.2", diff --git a/packages/nc-gui/package.json b/packages/nc-gui/package.json index b37773df3f..80987a16f5 100644 --- a/packages/nc-gui/package.json +++ b/packages/nc-gui/package.json @@ -33,6 +33,7 @@ "dependencies": { "@ckpack/vue-color": "^1.2.0", "@iconify/vue": "^4.0.1", + "@pinia/nuxt": "^0.4.7", "@types/file-saver": "^2.0.5", "@vue-flow/additional-components": "^1.2.0", "@vue-flow/core": "^1.3.0", @@ -50,10 +51,13 @@ "jsep": "^1.3.6", "just-clone": "^6.1.1", "jwt-decode": "^3.1.2", + "leaflet": "^1.9.2", + "leaflet.markercluster": "^1.5.3", "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", "nocodb-sdk": "file:../nocodb-sdk", "papaparse": "^5.3.2", + "pinia": "^2.0.33", "qrcode": "^1.5.1", "socket.io-client": "^4.5.1", "sortablejs": "^1.15.0", @@ -64,6 +68,7 @@ "vue-dompurify-html": "^3.0.0", "vue-github-button": "^3.0.3", "vue-i18n": "^9.2.2", + "vue3-contextmenu": "^0.2.12", "vue3-text-clamp": "^0.1.1", "vuedraggable": "^4.1.0", "xlsx": "^0.18.5" @@ -92,6 +97,9 @@ "@nuxt/image-edge": "^1.0.0-27657146.da85542", "@types/axios": "^0.14.0", "@types/dagre": "^0.7.48", + "@types/file-saver": "^2.0.5", + "@types/leaflet": "^1.9.0", + "@types/leaflet.markercluster": "^1.5.1", "@types/papaparse": "^5.3.2", "@types/sortablejs": "^1.13.0", "@types/tinycolor2": "^1.4.3", @@ -117,5 +125,8 @@ "vite-plugin-purge-icons": "^0.9.0", "vitest": "^0.18.0", "windicss": "^3.5.6" + }, + "overrides": { + "vue": "latest" } } diff --git a/packages/nc-gui/pages/[projectType]/[projectId]/index.vue b/packages/nc-gui/pages/[projectType]/[projectId]/index.vue index 759c0bdee8..bbb4b368f1 100644 --- a/packages/nc-gui/pages/[projectType]/[projectId]/index.vue +++ b/packages/nc-gui/pages/[projectType]/[projectId]/index.vue @@ -17,6 +17,7 @@ import { projectThemeColors, ref, resolveComponent, + storeToRefs, useCopy, useDialog, useGlobal, @@ -46,7 +47,10 @@ const router = useRouter() const { appInfo, token, signOut, signedIn, user, currentVersion } = useGlobal() -const { project, isSharedBase, loadProjectMetaInfo, projectMetaInfo, saveTheme, loadProject, reset } = useProject() +const projectStore = useProject() + +const { loadProjectMetaInfo, saveTheme, loadProject, reset } = projectStore +const { project, isSharedBase, projectMetaInfo } = storeToRefs(projectStore) const { clearTabs, addTab } = useTabs() @@ -70,8 +74,8 @@ const sidebar = ref() const email = computed(() => user.value?.email ?? '---') -const logout = () => { - signOut() +const logout = async () => { + await signOut() navigateTo('/signin') } @@ -578,9 +582,7 @@ useEventListener(document, 'keydown', async (e: KeyboardEvent) => { v-model:open-key="openDialogKey" v-model:data-sources-state="dataSourcesState" /> - - diff --git a/packages/nc-gui/pages/[projectType]/[projectId]/index/index.vue b/packages/nc-gui/pages/[projectType]/[projectId]/index/index.vue index 77c004b51f..69b24887a2 100644 --- a/packages/nc-gui/pages/[projectType]/[projectId]/index/index.vue +++ b/packages/nc-gui/pages/[projectType]/[projectId]/index/index.vue @@ -2,9 +2,11 @@ import { Icon } from '@iconify/vue' import type { TabItem } from '~/lib' import { TabType } from '~/lib' -import { TabMetaInj, iconMap, provide, useGlobal, useSidebar, useTabs } from '#imports' +import { TabMetaInj, iconMap, provide, storeToRefs, useGlobal, useSidebar, useTabs } from '#imports' -const { tabs, activeTabIndex, activeTab, closeTab } = useTabs() +const tabStore = useTabs() +const { closeTab } = tabStore +const { tabs, activeTabIndex, activeTab } = storeToRefs(tabStore) const { isLoading } = useGlobal() diff --git a/packages/nc-gui/pages/[projectType]/[projectId]/index/index/[type]/[title]/[[viewTitle]].vue b/packages/nc-gui/pages/[projectType]/[projectId]/index/index/[type]/[title]/[[viewTitle]].vue index 71ddda5dcb..0f1ea471b2 100644 --- a/packages/nc-gui/pages/[projectType]/[projectId]/index/index/[type]/[title]/[[viewTitle]].vue +++ b/packages/nc-gui/pages/[projectType]/[projectId]/index/index/[type]/[title]/[[viewTitle]].vue @@ -1,10 +1,11 @@ + + + + + + + + + diff --git a/packages/nc-gui/pages/account/index.vue b/packages/nc-gui/pages/account/index.vue index 39ec108112..4958f682cf 100644 --- a/packages/nc-gui/pages/account/index.vue +++ b/packages/nc-gui/pages/account/index.vue @@ -2,8 +2,11 @@ import { navigateTo, useUIPermission } from '#imports' const { isUIAllowed } = useUIPermission() + const $route = useRoute() +const { appInfo } = useGlobal() + const selectedKeys = computed(() => [ /^\/account\/users\/?$/.test($route.fullPath) ? isUIAllowed('superAdminUserManagement') @@ -68,7 +71,7 @@ const openKeys = ref([/^\/account\/users/.test($route.fullPath) && 'users']) +const { appInfo } = useGlobal() + + - + diff --git a/packages/nc-gui/pages/index/index/[projectId].vue b/packages/nc-gui/pages/index/index/[projectId].vue index 3188ef3c87..deaeca840d 100644 --- a/packages/nc-gui/pages/index/index/[projectId].vue +++ b/packages/nc-gui/pages/index/index/[projectId].vue @@ -10,13 +10,17 @@ import { projectTitleValidator, reactive, ref, + storeToRefs, useProject, useRoute, } from '#imports' const route = useRoute() -const { project, loadProject, updateProject, isLoading } = useProject() +const projectStore = useProject() + +const { loadProject, updateProject } = projectStore +const { project, isLoading } = storeToRefs(projectStore) const nameValidationRules = [ { diff --git a/packages/nc-gui/pages/index/index/create.vue b/packages/nc-gui/pages/index/index/create.vue index ff6c1ec374..c9bfe2a2ad 100644 --- a/packages/nc-gui/pages/index/index/create.vue +++ b/packages/nc-gui/pages/index/index/create.vue @@ -37,9 +37,13 @@ const formState = reactive({ title: '', }) +const creating = ref(false) + const createProject = async () => { $e('a:project:create:xcdb') try { + creating.value = true + const result = await api.project.create({ title: formState.title, }) @@ -47,6 +51,8 @@ const createProject = async () => { await navigateTo(`/nc/${result.id}`) } catch (e: any) { message.error(await extractSdkResponseErrorMsg(e)) + } finally { + creating.value = false } } @@ -90,7 +96,8 @@ onMounted(async () => { - + + {{ $t('general.create') }} diff --git a/packages/nc-gui/pages/index/index/user.vue b/packages/nc-gui/pages/index/index/user.vue index b518824dfa..93bbf7c46a 100644 --- a/packages/nc-gui/pages/index/index/user.vue +++ b/packages/nc-gui/pages/index/index/user.vue @@ -57,7 +57,7 @@ const passwordChange = async () => { message.success(t('msg.success.passwordChanged')) - signOut() + await signOut() navigateTo('/signin') } diff --git a/packages/nc-gui/composables/useProject.ts b/packages/nc-gui/store/project.ts similarity index 96% rename from packages/nc-gui/composables/useProject.ts rename to packages/nc-gui/store/project.ts index f0c1109385..ab32d6831f 100644 --- a/packages/nc-gui/composables/useProject.ts +++ b/packages/nc-gui/store/project.ts @@ -1,11 +1,11 @@ import type { BaseType, OracleUi, ProjectType, TableType } from 'nocodb-sdk' import { SqlUiFactory } from 'nocodb-sdk' import { isString } from '@vueuse/core' +import { defineStore } from 'pinia' import { ClientType, computed, createEventHook, - createSharedComposable, ref, useApi, useGlobal, @@ -16,7 +16,7 @@ import { } from '#imports' import type { ProjectMetaInfo, ThemeConfig } from '~/lib' -export const useProject = createSharedComposable(() => { +export const useProject = defineStore('projectStore', () => { const { $e } = useNuxtApp() const { api, isLoading } = useApi() @@ -186,6 +186,10 @@ export const useProject = createSharedComposable(() => { setTheme() } + const setProject = (projectVal: ProjectType) => { + project.value = projectVal + } + watch( () => route.params.projectType, (n) => { @@ -217,5 +221,6 @@ export const useProject = createSharedComposable(() => { lastOpenedViewMap, isXcdbBase, hasEmptyOrNullFilters, + setProject, } }) diff --git a/packages/nc-gui/composables/useTabs.ts b/packages/nc-gui/store/tab.ts similarity index 85% rename from packages/nc-gui/composables/useTabs.ts rename to packages/nc-gui/store/tab.ts index e60a88b1a4..b4e5dbd181 100644 --- a/packages/nc-gui/composables/useTabs.ts +++ b/packages/nc-gui/store/tab.ts @@ -1,5 +1,6 @@ import type { WritableComputedRef } from '@vue/reactivity' -import { computed, createSharedComposable, navigateTo, ref, useProject, useRouter, watch } from '#imports' +import { defineStore } from 'pinia' +import { computed, navigateTo, ref, useProject, useRouter, watch } from '#imports' import type { TabItem } from '~/lib' import { TabType } from '~/lib' @@ -10,7 +11,7 @@ function getPredicate(key: Partial) { (!('type' in key) || tab.type === key.type) } -export const useTabs = createSharedComposable(() => { +export const useTabs = defineStore('tabStore', () => { const tabs = ref([]) const router = useRouter() @@ -21,7 +22,7 @@ export const useTabs = createSharedComposable(() => { const { isUIAllowed } = useUIPermission() - const { bases, tables } = useProject() + const projectStore = useProject() const projectType = $computed(() => route.params.projectType as string) @@ -30,14 +31,14 @@ export const useTabs = createSharedComposable(() => { get() { const routeName = route.name as string - if (routeName.startsWith('projectType-projectId-index-index-type-title-viewTitle') && tables.value.length) { + if (routeName.startsWith('projectType-projectId-index-index-type-title-viewTitle') && projectStore.tables.length) { const tab: TabItem = { type: route.params.type as TabType, title: route.params.title as string } - const currentTable = tables.value.find((t) => t.id === tab.title || t.title === tab.title) + const currentTable = projectStore.tables.find((t) => t.id === tab.title || t.title === tab.title) if (!currentTable) return -1 - const currentBase = bases.value.find((b) => b.id === currentTable.base_id) + const currentBase = projectStore.bases.find((b) => b.id === currentTable.base_id) tab.id = currentTable.id @@ -48,7 +49,7 @@ export const useTabs = createSharedComposable(() => { tab.meta = currentTable.meta // append base alias to tab title if duplicate titles exist on other bases - if (tables.value.find((t) => t.title === currentTable?.title && t.base_id !== currentTable?.base_id)) + if (projectStore.tables.find((t) => t.title === currentTable?.title && t.base_id !== currentTable?.base_id)) tab.title = `${tab.title}${currentBase?.alias ? ` (${currentBase.alias})` : ``}` if (index === -1) { @@ -95,13 +96,13 @@ export const useTabs = createSharedComposable(() => { } // if tab not found add it else { - const currentTable = tables.value.find((t) => t.id === tabMeta.id || t.title === tabMeta.id) - const currentBase = bases.value.find((b) => b.id === currentTable?.base_id) + const currentTable = projectStore.tables.find((t) => t.id === tabMeta.id || t.title === tabMeta.id) + const currentBase = projectStore.bases.find((b) => b.id === currentTable?.base_id) tabMeta.meta = currentTable?.meta // append base alias to tab title if duplicate titles exist on other bases - if (tables.value.find((t) => t.title === currentTable?.title && t.base_id !== currentTable?.base_id)) + if (projectStore.tables.find((t) => t.title === currentTable?.title && t.base_id !== currentTable?.base_id)) tabMeta.title = `${tabMeta.title}${currentBase?.alias ? ` (${currentBase.alias})` : ``}` tabs.value = [...(tabs.value || []), tabMeta] diff --git a/packages/nc-gui/utils/cell.ts b/packages/nc-gui/utils/cell.ts index 4b516e7d6d..ca1bae37f0 100644 --- a/packages/nc-gui/utils/cell.ts +++ b/packages/nc-gui/utils/cell.ts @@ -27,6 +27,7 @@ export const isCurrency = (column: ColumnType) => column.uidt === UITypes.Curren export const isPhoneNumber = (column: ColumnType) => column.uidt === UITypes.PhoneNumber export const isDecimal = (column: ColumnType) => column.uidt === UITypes.Decimal export const isDuration = (column: ColumnType) => column.uidt === UITypes.Duration +export const isGeoData = (column: ColumnType) => column.uidt === UITypes.GeoData export const isPercent = (column: ColumnType) => column.uidt === UITypes.Percent export const isSpecificDBType = (column: ColumnType) => column.uidt === UITypes.SpecificDBType export const isAutoSaved = (column: ColumnType) => @@ -43,6 +44,7 @@ export const isAutoSaved = (column: ColumnType) => UITypes.AutoNumber, UITypes.SpecificDBType, UITypes.Geometry, + UITypes.GeoData, UITypes.Duration, ].includes(column.uidt as UITypes) diff --git a/packages/nc-gui/utils/columnUtils.ts b/packages/nc-gui/utils/columnUtils.ts index 8331d6a9ee..bef799b692 100644 --- a/packages/nc-gui/utils/columnUtils.ts +++ b/packages/nc-gui/utils/columnUtils.ts @@ -8,6 +8,7 @@ import TextSubject from '~icons/mdi/text-subject' import JSONIcon from '~icons/mdi/code-json' import SpecificDBTypeIcon from '~icons/mdi/database-settings' import Attachment from '~icons/mdi/attachment' +import Marker from '~icons/mdi/map-marker' import CheckboxMarkedOutline from '~icons/mdi/checkbox-marked-outline' import FormatListBulletedSquare from '~icons/mdi/format-list-bulleted-square' import ArrowDownDropCircle from '~icons/mdi/arrow-down-drop-circle' @@ -141,6 +142,11 @@ const uiTypes = [ name: UITypes.Geometry, icon: RulerSquareCompass, }, + + { + name: UITypes.GeoData, + icon: Marker, + }, { name: UITypes.JSON, icon: JSONIcon, @@ -215,6 +221,7 @@ const isTypableInputColumn = (colOrUidt: ColumnType | UITypes) => { UITypes.Duration, UITypes.JSON, UITypes.URL, + UITypes.SpecificDBType, ].includes(uidt) } diff --git a/packages/nc-gui/utils/errorUtils.ts b/packages/nc-gui/utils/errorUtils.ts index 6601b5b1dc..373881783c 100644 --- a/packages/nc-gui/utils/errorUtils.ts +++ b/packages/nc-gui/utils/errorUtils.ts @@ -1,14 +1,23 @@ export async function extractSdkResponseErrorMsg(e: Error & { response: any }) { if (!e || !e.response) return e.message let msg + let errors: any[] | null = null if (e.response.data instanceof Blob) { try { - msg = JSON.parse(await e.response.data.text()).msg + const parsedData = JSON.parse(await e.response.data.text()) + msg = parsedData.msg + errors = parsedData.errors } catch { msg = 'Some internal error occurred' } } else { msg = e.response.data.msg || e.response.data.message || 'Some internal error occurred' + errors = e.response.data.errors } + + if (Array.isArray(errors) && errors.length) { + return errors.map((e: any) => (e.instancePath ? `${e.instancePath} - ` : '') + e.message).join(', ') + } + return msg || 'Some error occurred' } diff --git a/packages/nc-gui/utils/filterUtils.ts b/packages/nc-gui/utils/filterUtils.ts index 599a5cb5dc..71af46a26d 100644 --- a/packages/nc-gui/utils/filterUtils.ts +++ b/packages/nc-gui/utils/filterUtils.ts @@ -3,7 +3,11 @@ import { UITypes, isNumericCol, numericUITypes } from 'nocodb-sdk' const getEqText = (fieldUiType: UITypes) => { if (isNumericCol(fieldUiType)) { return '=' - } else if ([UITypes.SingleSelect, UITypes.Collaborator, UITypes.LinkToAnotherRecord].includes(fieldUiType)) { + } else if ( + [UITypes.SingleSelect, UITypes.Collaborator, UITypes.LinkToAnotherRecord, UITypes.Date, UITypes.DateTime].includes( + fieldUiType, + ) + ) { return 'is' } return 'is equal' @@ -12,7 +16,11 @@ const getEqText = (fieldUiType: UITypes) => { const getNeqText = (fieldUiType: UITypes) => { if (isNumericCol(fieldUiType)) { return '!=' - } else if ([UITypes.SingleSelect, UITypes.Collaborator, UITypes.LinkToAnotherRecord].includes(fieldUiType)) { + } else if ( + [UITypes.SingleSelect, UITypes.Collaborator, UITypes.LinkToAnotherRecord, UITypes.Date, UITypes.DateTime].includes( + fieldUiType, + ) + ) { return 'is not' } return 'is not equal' @@ -32,12 +40,40 @@ const getNotLikeText = (fieldUiType: UITypes) => { return 'is not like' } +const getGtText = (fieldUiType: UITypes) => { + if ([UITypes.Date, UITypes.DateTime].includes(fieldUiType)) { + return 'is after' + } + return '>' +} + +const getLtText = (fieldUiType: UITypes) => { + if ([UITypes.Date, UITypes.DateTime].includes(fieldUiType)) { + return 'is before' + } + return '<' +} + +const getGteText = (fieldUiType: UITypes) => { + if ([UITypes.Date, UITypes.DateTime].includes(fieldUiType)) { + return 'is on or after' + } + return '>=' +} + +const getLteText = (fieldUiType: UITypes) => { + if ([UITypes.Date, UITypes.DateTime].includes(fieldUiType)) { + return 'is on or before' + } + return '<=' +} + export const comparisonOpList = ( fieldUiType: UITypes, ): { text: string value: string - ignoreVal?: boolean + ignoreVal: boolean includedTypes?: UITypes[] excludedTypes?: UITypes[] }[] => [ @@ -56,22 +92,42 @@ export const comparisonOpList = ( { text: getEqText(fieldUiType), value: 'eq', + ignoreVal: false, excludedTypes: [UITypes.Checkbox, UITypes.MultiSelect, UITypes.Attachment], }, { text: getNeqText(fieldUiType), value: 'neq', + ignoreVal: false, excludedTypes: [UITypes.Checkbox, UITypes.MultiSelect, UITypes.Attachment], }, { text: getLikeText(fieldUiType), value: 'like', - excludedTypes: [UITypes.Checkbox, UITypes.SingleSelect, UITypes.MultiSelect, UITypes.Collaborator, ...numericUITypes], + ignoreVal: false, + excludedTypes: [ + UITypes.Checkbox, + UITypes.SingleSelect, + UITypes.MultiSelect, + UITypes.Collaborator, + UITypes.Date, + UITypes.DateTime, + ...numericUITypes, + ], }, { text: getNotLikeText(fieldUiType), value: 'nlike', - excludedTypes: [UITypes.Checkbox, UITypes.SingleSelect, UITypes.MultiSelect, UITypes.Collaborator, ...numericUITypes], + ignoreVal: false, + excludedTypes: [ + UITypes.Checkbox, + UITypes.SingleSelect, + UITypes.MultiSelect, + UITypes.Collaborator, + UITypes.Date, + UITypes.DateTime, + ...numericUITypes, + ], }, { text: 'is empty', @@ -85,6 +141,8 @@ export const comparisonOpList = ( UITypes.Attachment, UITypes.LinkToAnotherRecord, UITypes.Lookup, + UITypes.Date, + UITypes.DateTime, ...numericUITypes, ], }, @@ -100,6 +158,8 @@ export const comparisonOpList = ( UITypes.Attachment, UITypes.LinkToAnotherRecord, UITypes.Lookup, + UITypes.Date, + UITypes.DateTime, ...numericUITypes, ], }, @@ -116,6 +176,8 @@ export const comparisonOpList = ( UITypes.Attachment, UITypes.LinkToAnotherRecord, UITypes.Lookup, + UITypes.Date, + UITypes.DateTime, ], }, { @@ -131,47 +193,63 @@ export const comparisonOpList = ( UITypes.Attachment, UITypes.LinkToAnotherRecord, UITypes.Lookup, + UITypes.Date, + UITypes.DateTime, ], }, { text: 'contains all of', value: 'allof', + ignoreVal: false, includedTypes: [UITypes.MultiSelect], }, { text: 'contains any of', value: 'anyof', + ignoreVal: false, includedTypes: [UITypes.MultiSelect, UITypes.SingleSelect], }, { text: 'does not contain all of', value: 'nallof', + ignoreVal: false, includedTypes: [UITypes.MultiSelect], }, { text: 'does not contain any of', value: 'nanyof', + ignoreVal: false, includedTypes: [UITypes.MultiSelect, UITypes.SingleSelect], }, { - text: '>', + text: getGtText(fieldUiType), value: 'gt', - includedTypes: [...numericUITypes], + ignoreVal: false, + includedTypes: [...numericUITypes, UITypes.Date, UITypes.DateTime], }, { - text: '<', + text: getLtText(fieldUiType), value: 'lt', - includedTypes: [...numericUITypes], + ignoreVal: false, + includedTypes: [...numericUITypes, UITypes.Date, UITypes.DateTime], }, { - text: '>=', + text: getGteText(fieldUiType), value: 'gte', - includedTypes: [...numericUITypes], + ignoreVal: false, + includedTypes: [...numericUITypes, UITypes.Date, UITypes.DateTime], }, { - text: '<=', + text: getLteText(fieldUiType), value: 'lte', - includedTypes: [...numericUITypes], + ignoreVal: false, + includedTypes: [...numericUITypes, UITypes.Date, UITypes.DateTime], + }, + { + text: 'is within', + value: 'isWithin', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], }, { text: 'is blank', @@ -186,3 +264,129 @@ export const comparisonOpList = ( excludedTypes: [UITypes.Checkbox], }, ] + +export const comparisonSubOpList = ( + // TODO: type + comparison_op: string, +): { + text: string + value: string + ignoreVal: boolean + includedTypes?: UITypes[] + excludedTypes?: UITypes[] +}[] => { + if (comparison_op === 'isWithin') { + return [ + { + text: 'the past week', + value: 'pastWeek', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'the past month', + value: 'pastMonth', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'the past year', + value: 'pastYear', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'the next week', + value: 'nextWeek', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'the next month', + value: 'nextMonth', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'the next year', + value: 'nextYear', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'the next number of days', + value: 'nextNumberOfDays', + ignoreVal: false, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'the past number of days', + value: 'pastNumberOfDays', + ignoreVal: false, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + ] + } + return [ + { + text: 'today', + value: 'today', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'tomorrow', + value: 'tomorrow', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'yesterday', + value: 'yesterday', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'one week ago', + value: 'oneWeekAgo', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'one week from now', + value: 'oneWeekFromNow', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'one month ago', + value: 'oneMonthAgo', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'one month from now', + value: 'oneMonthFromNow', + ignoreVal: true, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'number of days ago', + value: 'daysAgo', + ignoreVal: false, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'number of days from now', + value: 'daysFromNow', + ignoreVal: false, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + { + text: 'exact date', + value: 'exactDate', + ignoreVal: false, + includedTypes: [UITypes.Date, UITypes.DateTime], + }, + ] +} diff --git a/packages/nc-gui/utils/geoDataUtils.ts b/packages/nc-gui/utils/geoDataUtils.ts new file mode 100644 index 0000000000..a914804995 --- /dev/null +++ b/packages/nc-gui/utils/geoDataUtils.ts @@ -0,0 +1,3 @@ +const latLongToJoinedString = (lat: number, long: number) => `${lat.toFixed(7)};${long.toFixed(7)}` + +export { latLongToJoinedString } diff --git a/packages/nc-gui/utils/index.ts b/packages/nc-gui/utils/index.ts index 32c1f3943c..bbb469e8d5 100644 --- a/packages/nc-gui/utils/index.ts +++ b/packages/nc-gui/utils/index.ts @@ -20,4 +20,5 @@ export * from './userUtils' export * from './stringUtils' export * from './memStorage' export * from './browserUtils' +export * from './geoDataUtils' export * from './mimeTypeUtils' diff --git a/packages/nc-gui/utils/mimeTypeUtils.ts b/packages/nc-gui/utils/mimeTypeUtils.ts index e95d73cc60..d2444b7f5e 100644 --- a/packages/nc-gui/utils/mimeTypeUtils.ts +++ b/packages/nc-gui/utils/mimeTypeUtils.ts @@ -1,694 +1,3 @@ -const mimeTypes: Record = { - '123': 'application/vnd.lotus-1-2-3', - 'x3d': 'application/vnd.hzn-3d-crossword', - '3gp': 'video/3gpp', - '3g2': 'video/3gpp2', - 'mseq': 'application/vnd.mseq', - 'pwn': 'application/vnd.3m.post-it-notes', - 'plb': 'application/vnd.3gpp.pic-bw-large', - 'psb': 'application/vnd.3gpp.pic-bw-small', - 'pvb': 'application/vnd.3gpp.pic-bw-var', - 'tcap': 'application/vnd.3gpp2.tcap', - '7z': 'application/x-7z-compressed', - 'abw': 'application/x-abiword', - 'ace': 'application/x-ace-compressed', - 'acc': 'application/vnd.americandynamics.acc', - 'acu': 'application/vnd.acucobol', - 'atc': 'application/vnd.acucorp', - 'adp': 'audio/adpcm', - 'aab': 'application/x-authorware-bin', - 'aam': 'application/x-authorware-map', - 'aas': 'application/x-authorware-seg', - 'air': 'application/vnd.adobe.air-application-installer-package+zip', - 'swf': 'application/x-shockwave-flash', - 'fxp': 'application/vnd.adobe.fxp', - 'pdf': 'application/pdf', - 'ppd': 'application/vnd.cups-ppd', - 'dir': 'application/x-director', - 'xdp': 'application/vnd.adobe.xdp+xml', - 'xfdf': 'application/vnd.adobe.xfdf', - 'aac': 'audio/x-aac', - 'ahead': 'application/vnd.ahead.space', - 'azf': 'application/vnd.airzip.filesecure.azf', - 'azs': 'application/vnd.airzip.filesecure.azs', - 'azw': 'application/vnd.amazon.ebook', - 'ami': 'application/vnd.amiga.ami', - '/A': 'application/andrew-inset', - 'apk': 'application/vnd.android.package-archive', - 'cii': 'application/vnd.anser-web-certificate-issue-initiation', - 'fti': 'application/vnd.anser-web-funds-transfer-initiation', - 'atx': 'application/vnd.antix.game-component', - 'dmg': 'application/x-apple-diskimage', - 'mpkg': 'application/vnd.apple.installer+xml', - 'aw': 'application/applixware', - 'les': 'application/vnd.hhe.lesson-player', - 'swi': 'application/vnd.aristanetworks.swi', - 's': 'text/x-asm', - 'atomcat': 'application/atomcat+xml', - 'atomsvc': 'application/atomsvc+xml', - 'atom, .xml': 'application/atom+xml', - 'ac': 'application/pkix-attr-cert', - 'aif': 'audio/x-aiff', - 'avi': 'video/x-msvideo', - 'aep': 'application/vnd.audiograph', - 'dxf': 'image/vnd.dxf', - 'dwf': 'model/vnd.dwf', - 'par': 'text/plain-bas', - 'bcpio': 'application/x-bcpio', - 'bin': 'application/octet-stream', - 'bmp': 'image/bmp', - 'torrent': 'application/x-bittorrent', - 'cod': 'application/vnd.rim.cod', - 'mpm': 'application/vnd.blueice.multipass', - 'bmi': 'application/vnd.bmi', - 'sh': 'application/x-sh', - 'btif': 'image/prs.btif', - 'rep': 'application/vnd.businessobjects', - 'bz': 'application/x-bzip', - 'bz2': 'application/x-bzip2', - 'csh': 'application/x-csh', - 'c': 'text/x-c', - 'cdxml': 'application/vnd.chemdraw+xml', - 'css': 'text/css', - 'cdx': 'chemical/x-cdx', - 'cml': 'chemical/x-cml', - 'csml': 'chemical/x-csml', - 'cdbcmsg': 'application/vnd.contact.cmsg', - 'cla': 'application/vnd.claymore', - 'c4g': 'application/vnd.clonk.c4group', - 'sub': 'image/vnd.dvb.subtitle', - 'cdmia': 'application/cdmi-capability', - 'cdmic': 'application/cdmi-container', - 'cdmid': 'application/cdmi-domain', - 'cdmio': 'application/cdmi-object', - 'cdmiq': 'application/cdmi-queue', - 'c11amc': 'application/vnd.cluetrust.cartomobile-config', - 'c11amz': 'application/vnd.cluetrust.cartomobile-config-pkg', - 'ras': 'image/x-cmu-raster', - 'dae': 'model/vnd.collada+xml', - 'csv': 'text/csv', - 'cpt': 'application/mac-compactpro', - 'wmlc': 'application/vnd.wap.wmlc', - 'cgm': 'image/cgm', - 'ice': 'x-conference/x-cooltalk', - 'cmx': 'image/x-cmx', - 'xar': 'application/vnd.xara', - 'cmc': 'application/vnd.cosmocaller', - 'cpio': 'application/x-cpio', - 'clkx': 'application/vnd.crick.clicker', - 'clkk': 'application/vnd.crick.clicker.keyboard', - 'clkp': 'application/vnd.crick.clicker.palette', - 'clkt': 'application/vnd.crick.clicker.template', - 'clkw': 'application/vnd.crick.clicker.wordbank', - 'wbs': 'application/vnd.criticaltools.wbs+xml', - 'cryptonote': 'application/vnd.rig.cryptonote', - 'cif': 'chemical/x-cif', - 'cmdf': 'chemical/x-cmdf', - 'cu': 'application/cu-seeme', - 'cww': 'application/prs.cww', - 'curl': 'text/vnd.curl', - 'dcurl': 'text/vnd.curl.dcurl', - 'mcurl': 'text/vnd.curl.mcurl', - 'scurl': 'text/vnd.curl.scurl', - 'car': 'application/vnd.curl.car', - 'pcurl': 'application/vnd.curl.pcurl', - 'cmp': 'application/vnd.yellowriver-custom-menu', - 'dssc': 'application/dssc+der', - 'xdssc': 'application/dssc+xml', - 'deb': 'application/x-debian-package', - 'uva': 'audio/vnd.dece.audio', - 'uvi': 'image/vnd.dece.graphic', - 'uvh': 'video/vnd.dece.hd', - 'uvm': 'video/vnd.dece.mobile', - 'uvu': 'video/vnd.uvvu.mp4', - 'uvp': 'video/vnd.dece.pd', - 'uvs': 'video/vnd.dece.sd', - 'uvv': 'video/vnd.dece.video', - 'dvi': 'application/x-dvi', - 'seed': 'application/vnd.fdsn.seed', - 'dtb': 'application/x-dtbook+xml', - 'res': 'application/x-dtbresource+xml', - 'ait': 'application/vnd.dvb.ait', - 'svc': 'application/vnd.dvb.service', - 'eol': 'audio/vnd.digital-winds', - 'djvu': 'image/vnd.djvu', - 'dtd': 'application/xml-dtd', - 'mlp': 'application/vnd.dolby.mlp', - 'wad': 'application/x-doom', - 'dpg': 'application/vnd.dpgraph', - 'dra': 'audio/vnd.dra', - 'dfac': 'application/vnd.dreamfactory', - 'dts': 'audio/vnd.dts', - 'dtshd': 'audio/vnd.dts.hd', - 'dwg': 'image/vnd.dwg', - 'geo': 'application/vnd.dynageo', - 'es': 'application/ecmascript', - 'mag': 'application/vnd.ecowin.chart', - 'mmr': 'image/vnd.fujixerox.edmics-mmr', - 'rlc': 'image/vnd.fujixerox.edmics-rlc', - 'exi': 'application/exi', - 'mgz': 'application/vnd.proteus.magazine', - 'epub': 'application/epub+zip', - 'eml': 'message/rfc822', - 'nml': 'application/vnd.enliven', - 'xpr': 'application/vnd.is-xpr', - 'xif': 'image/vnd.xiff', - 'xfdl': 'application/vnd.xfdl', - 'emma': 'application/emma+xml', - 'ez2': 'application/vnd.ezpix-album', - 'ez3': 'application/vnd.ezpix-package', - 'fst': 'image/vnd.fst', - 'fvt': 'video/vnd.fvt', - 'fbs': 'image/vnd.fastbidsheet', - 'fe_launch': 'application/vnd.denovo.fcselayout-link', - 'f4v': 'video/x-f4v', - 'flv': 'video/x-flv', - 'fpx': 'image/vnd.fpx', - 'npx': 'image/vnd.net-fpx', - 'flx': 'text/vnd.fmi.flexstor', - 'fli': 'video/x-fli', - 'ftc': 'application/vnd.fluxtime.clip', - 'fdf': 'application/vnd.fdf', - 'f': 'text/x-fortran', - 'mif': 'application/vnd.mif', - 'fm': 'application/vnd.framemaker', - 'fh': 'image/x-freehand', - 'fsc': 'application/vnd.fsc.weblaunch', - 'fnc': 'application/vnd.frogans.fnc', - 'ltf': 'application/vnd.frogans.ltf', - 'ddd': 'application/vnd.fujixerox.ddd', - 'xdw': 'application/vnd.fujixerox.docuworks', - 'xbd': 'application/vnd.fujixerox.docuworks.binder', - 'oas': 'application/vnd.fujitsu.oasys', - 'oa2': 'application/vnd.fujitsu.oasys2', - 'oa3': 'application/vnd.fujitsu.oasys3', - 'fg5': 'application/vnd.fujitsu.oasysgp', - 'bh2': 'application/vnd.fujitsu.oasysprs', - 'spl': 'application/x-futuresplash', - 'fzs': 'application/vnd.fuzzysheet', - 'g3': 'image/g3fax', - 'gmx': 'application/vnd.gmx', - 'gtw': 'model/vnd.gtw', - 'txd': 'application/vnd.genomatix.tuxedo', - 'ggb': 'application/vnd.geogebra.file', - 'ggt': 'application/vnd.geogebra.tool', - 'gdl': 'model/vnd.gdl', - 'gex': 'application/vnd.geometry-explorer', - 'gxt': 'application/vnd.geonext', - 'g2w': 'application/vnd.geoplan', - 'g3w': 'application/vnd.geospace', - 'gsf': 'application/x-font-ghostscript', - 'bdf': 'application/x-font-bdf', - 'gtar': 'application/x-gtar', - 'texinfo': 'application/x-texinfo', - 'gnumeric': 'application/x-gnumeric', - 'kml': 'application/vnd.google-earth.kml+xml', - 'kmz': 'application/vnd.google-earth.kmz', - 'gpx': 'application/gpx+xml', - 'gqf': 'application/vnd.grafeq', - 'gif': 'image/gif', - 'gv': 'text/vnd.graphviz', - 'gac': 'application/vnd.groove-account', - 'ghf': 'application/vnd.groove-help', - 'gim': 'application/vnd.groove-identity-message', - 'grv': 'application/vnd.groove-injector', - 'gtm': 'application/vnd.groove-tool-message', - 'tpl': 'application/vnd.groove-tool-template', - 'vcg': 'application/vnd.groove-vcard', - 'h261': 'video/h261', - 'h263': 'video/h263', - 'h264': 'video/h264', - 'hpid': 'application/vnd.hp-hpid', - 'hps': 'application/vnd.hp-hps', - 'hdf': 'application/x-hdf', - 'rip': 'audio/vnd.rip', - 'hbci': 'application/vnd.hbci', - 'jlt': 'application/vnd.hp-jlyt', - 'pcl': 'application/vnd.hp-pcl', - 'hpgl': 'application/vnd.hp-hpgl', - 'hvs': 'application/vnd.yamaha.hv-script', - 'hvd': 'application/vnd.yamaha.hv-dic', - 'hvp': 'application/vnd.yamaha.hv-voice', - 'sfd-hdstx': 'application/vnd.hydrostatix.sof-data', - 'stk': 'application/hyperstudio', - 'hal': 'application/vnd.hal+xml', - 'html': 'text/html', - 'irm': 'application/vnd.ibm.rights-management', - 'sc': 'application/vnd.ibm.secure-container', - 'ics': 'text/calendar', - 'icc': 'application/vnd.iccprofile', - 'ico': 'image/x-icon', - 'igl': 'application/vnd.igloader', - 'ief': 'image/ief', - 'ivp': 'application/vnd.immervision-ivp', - 'ivu': 'application/vnd.immervision-ivu', - 'rif': 'application/reginfo+xml', - '3dml': 'text/vnd.in3d.3dml', - 'spot': 'text/vnd.in3d.spot', - 'igs': 'model/iges', - 'i2g': 'application/vnd.intergeo', - 'cdy': 'application/vnd.cinderella', - 'xpw': 'application/vnd.intercon.formnet', - 'fcs': 'application/vnd.isac.fcs', - 'ipfix': 'application/ipfix', - 'cer': 'application/pkix-cert', - 'pki': 'application/pkixcmp', - 'crl': 'application/pkix-crl', - 'pkipath': 'application/pkix-pkipath', - 'igm': 'application/vnd.insors.igm', - 'rcprofile': 'application/vnd.ipunplugged.rcprofile', - 'irp': 'application/vnd.irepository.package+xml', - 'jad': 'text/vnd.sun.j2me.app-descriptor', - 'jar': 'application/java-archive', - 'class': 'application/java-vm', - 'jnlp': 'application/x-java-jnlp-file', - 'ser': 'application/java-serialized-object', - 'java': 'text/x-java-source,java', - 'js': 'application/javascript', - 'json': 'application/json', - 'joda': 'application/vnd.joost.joda-archive', - 'jpm': 'video/jpm', - 'jpeg': 'image/x-citrix-jpeg', - 'jpg': 'image/x-citrix-jpeg', - 'pjpeg': 'image/pjpeg', - 'jpgv': 'video/jpeg', - 'ktz': 'application/vnd.kahootz', - 'mmd': 'application/vnd.chipnuts.karaoke-mmd', - 'karbon': 'application/vnd.kde.karbon', - 'chrt': 'application/vnd.kde.kchart', - 'kfo': 'application/vnd.kde.kformula', - 'flw': 'application/vnd.kde.kivio', - 'kon': 'application/vnd.kde.kontour', - 'kpr': 'application/vnd.kde.kpresenter', - 'ksp': 'application/vnd.kde.kspread', - 'kwd': 'application/vnd.kde.kword', - 'htke': 'application/vnd.kenameaapp', - 'kia': 'application/vnd.kidspiration', - 'kne': 'application/vnd.kinar', - 'sse': 'application/vnd.kodak-descriptor', - 'lasxml': 'application/vnd.las.las+xml', - 'latex': 'application/x-latex', - 'lbd': 'application/vnd.llamagraphics.life-balance.desktop', - 'lbe': 'application/vnd.llamagraphics.life-balance.exchange+xml', - 'jam': 'application/vnd.jam', - 'apr': 'application/vnd.lotus-approach', - 'pre': 'application/vnd.lotus-freelance', - 'nsf': 'application/vnd.lotus-notes', - 'org': 'application/vnd.lotus-organizer', - 'scm': 'application/vnd.lotus-screencam', - 'lwp': 'application/vnd.lotus-wordpro', - 'lvp': 'audio/vnd.lucent.voice', - 'm3u': 'audio/x-mpegurl', - 'm4v': 'video/x-m4v', - 'hqx': 'application/mac-binhex40', - 'portpkg': 'application/vnd.macports.portpkg', - 'mgp': 'application/vnd.osgeo.mapguide.package', - 'mrc': 'application/marc', - 'mrcx': 'application/marcxml+xml', - 'mxf': 'application/mxf', - 'nbp': 'application/vnd.wolfram.player', - 'ma': 'application/mathematica', - 'mathml': 'application/mathml+xml', - 'mbox': 'application/mbox', - 'mc1': 'application/vnd.medcalcdata', - 'mscml': 'application/mediaservercontrol+xml', - 'cdkey': 'application/vnd.mediastation.cdkey', - 'mwf': 'application/vnd.mfer', - 'mfm': 'application/vnd.mfmp', - 'msh': 'model/mesh', - 'mads': 'application/mads+xml', - 'mets': 'application/mets+xml', - 'mods': 'application/mods+xml', - 'meta4': 'application/metalink4+xml', - 'mcd': 'application/vnd.mcd', - 'flo': 'application/vnd.micrografx.flo', - 'igx': 'application/vnd.micrografx.igx', - 'es3': 'application/vnd.eszigno3+xml', - 'mdb': 'application/x-msaccess', - 'asf': 'video/x-ms-asf', - 'exe': 'application/x-msdownload', - 'cil': 'application/vnd.ms-artgalry', - 'cab': 'application/vnd.ms-cab-compressed', - 'ims': 'application/vnd.ms-ims', - 'application': 'application/x-ms-application', - 'clp': 'application/x-msclip', - 'mdi': 'image/vnd.ms-modi', - 'eot': 'application/vnd.ms-fontobject', - 'xls': 'application/vnd.ms-excel', - 'xlam': 'application/vnd.ms-excel.addin.macroenabled.12', - 'xlsb': 'application/vnd.ms-excel.sheet.binary.macroenabled.12', - 'xltm': 'application/vnd.ms-excel.template.macroenabled.12', - 'xlsm': 'application/vnd.ms-excel.sheet.macroenabled.12', - 'chm': 'application/vnd.ms-htmlhelp', - 'crd': 'application/x-mscardfile', - 'lrm': 'application/vnd.ms-lrm', - 'mvb': 'application/x-msmediaview', - 'mny': 'application/x-msmoney', - 'pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'sldx': 'application/vnd.openxmlformats-officedocument.presentationml.slide', - 'ppsx': 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', - 'potx': 'application/vnd.openxmlformats-officedocument.presentationml.template', - 'xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'xltx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', - 'docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'dotx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', - 'obd': 'application/x-msbinder', - 'thmx': 'application/vnd.ms-officetheme', - 'onetoc': 'application/onenote', - 'pya': 'audio/vnd.ms-playready.media.pya', - 'pyv': 'video/vnd.ms-playready.media.pyv', - 'ppt': 'application/vnd.ms-powerpoint', - 'ppam': 'application/vnd.ms-powerpoint.addin.macroenabled.12', - 'sldm': 'application/vnd.ms-powerpoint.slide.macroenabled.12', - 'pptm': 'application/vnd.ms-powerpoint.presentation.macroenabled.12', - 'ppsm': 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', - 'potm': 'application/vnd.ms-powerpoint.template.macroenabled.12', - 'mpp': 'application/vnd.ms-project', - 'pub': 'application/x-mspublisher', - 'scd': 'application/x-msschedule', - 'xap': 'application/x-silverlight-app', - 'stl': 'application/vnd.ms-pki.stl', - 'cat': 'application/vnd.ms-pki.seccat', - 'vsd': 'application/vnd.visio', - 'vsdx': 'application/vnd.visio2013', - 'wm': 'video/x-ms-wm', - 'wma': 'audio/x-ms-wma', - 'wax': 'audio/x-ms-wax', - 'wmx': 'video/x-ms-wmx', - 'wmd': 'application/x-ms-wmd', - 'wpl': 'application/vnd.ms-wpl', - 'wmz': 'application/x-ms-wmz', - 'wmv': 'video/x-ms-wmv', - 'wvx': 'video/x-ms-wvx', - 'wmf': 'application/x-msmetafile', - 'trm': 'application/x-msterminal', - 'doc': 'application/msword', - 'docm': 'application/vnd.ms-word.document.macroenabled.12', - 'dotm': 'application/vnd.ms-word.template.macroenabled.12', - 'wri': 'application/x-mswrite', - 'wps': 'application/vnd.ms-works', - 'xbap': 'application/x-ms-xbap', - 'xps': 'application/vnd.ms-xpsdocument', - 'mid': 'audio/midi', - 'mpy': 'application/vnd.ibm.minipay', - 'afp': 'application/vnd.ibm.modcap', - 'rms': 'application/vnd.jcp.javame.midlet-rms', - 'tmo': 'application/vnd.tmobile-livetv', - 'prc': 'application/x-mobipocket-ebook', - 'mbk': 'application/vnd.mobius.mbk', - 'dis': 'application/vnd.mobius.dis', - 'plc': 'application/vnd.mobius.plc', - 'mqy': 'application/vnd.mobius.mqy', - 'msl': 'application/vnd.mobius.msl', - 'txf': 'application/vnd.mobius.txf', - 'daf': 'application/vnd.mobius.daf', - 'fly': 'text/vnd.fly', - 'mpc': 'application/vnd.mophun.certificate', - 'mpn': 'application/vnd.mophun.application', - 'mj2': 'video/mj2', - 'mpga': 'audio/mpeg', - 'mxu': 'video/vnd.mpegurl', - 'mpeg': 'video/mpeg', - 'm21': 'application/mp21', - 'mp4a': 'audio/mp4', - 'mp4': 'application/mp4', - 'm3u8': 'application/vnd.apple.mpegurl', - 'mus': 'application/vnd.musician', - 'msty': 'application/vnd.muvee.style', - 'mxml': 'application/xv+xml', - 'ngdat': 'application/vnd.nokia.n-gage.data', - 'n-gage': 'application/vnd.nokia.n-gage.symbian.install', - 'ncx': 'application/x-dtbncx+xml', - 'nc': 'application/x-netcdf', - 'nlu': 'application/vnd.neurolanguage.nlu', - 'dna': 'application/vnd.dna', - 'nnd': 'application/vnd.noblenet-directory', - 'nns': 'application/vnd.noblenet-sealer', - 'nnw': 'application/vnd.noblenet-web', - 'rpst': 'application/vnd.nokia.radio-preset', - 'rpss': 'application/vnd.nokia.radio-presets', - 'n3': 'text/n3', - 'edm': 'application/vnd.novadigm.edm', - 'edx': 'application/vnd.novadigm.edx', - 'ext': 'application/vnd.novadigm.ext', - 'gph': 'application/vnd.flographit', - 'ecelp4800': 'audio/vnd.nuera.ecelp4800', - 'ecelp7470': 'audio/vnd.nuera.ecelp7470', - 'ecelp9600': 'audio/vnd.nuera.ecelp9600', - 'oda': 'application/oda', - 'ogx': 'application/ogg', - 'oga': 'audio/ogg', - 'ogv': 'video/ogg', - 'dd2': 'application/vnd.oma.dd2+xml', - 'oth': 'application/vnd.oasis.opendocument.text-web', - 'opf': 'application/oebps-package+xml', - 'qbo': 'application/vnd.intu.qbo', - 'oxt': 'application/vnd.openofficeorg.extension', - 'osf': 'application/vnd.yamaha.openscoreformat', - 'weba': 'audio/webm', - 'webm': 'video/webm', - 'odc': 'application/vnd.oasis.opendocument.chart', - 'otc': 'application/vnd.oasis.opendocument.chart-template', - 'odb': 'application/vnd.oasis.opendocument.database', - 'odf': 'application/vnd.oasis.opendocument.formula', - 'odft': 'application/vnd.oasis.opendocument.formula-template', - 'odg': 'application/vnd.oasis.opendocument.graphics', - 'otg': 'application/vnd.oasis.opendocument.graphics-template', - 'odi': 'application/vnd.oasis.opendocument.image', - 'oti': 'application/vnd.oasis.opendocument.image-template', - 'odp': 'application/vnd.oasis.opendocument.presentation', - 'otp': 'application/vnd.oasis.opendocument.presentation-template', - 'ods': 'application/vnd.oasis.opendocument.spreadsheet', - 'ots': 'application/vnd.oasis.opendocument.spreadsheet-template', - 'odt': 'application/vnd.oasis.opendocument.text', - 'odm': 'application/vnd.oasis.opendocument.text-master', - 'ott': 'application/vnd.oasis.opendocument.text-template', - 'ktx': 'image/ktx', - 'sxc': 'application/vnd.sun.xml.calc', - 'stc': 'application/vnd.sun.xml.calc.template', - 'sxd': 'application/vnd.sun.xml.draw', - 'std': 'application/vnd.sun.xml.draw.template', - 'sxi': 'application/vnd.sun.xml.impress', - 'sti': 'application/vnd.sun.xml.impress.template', - 'sxm': 'application/vnd.sun.xml.math', - 'sxw': 'application/vnd.sun.xml.writer', - 'sxg': 'application/vnd.sun.xml.writer.global', - 'stw': 'application/vnd.sun.xml.writer.template', - 'otf': 'application/x-font-otf', - 'osfpvg': 'application/vnd.yamaha.openscoreformat.osfpvg+xml', - 'dp': 'application/vnd.osgi.dp', - 'pdb': 'application/vnd.palm', - 'p': 'text/x-pascal', - 'paw': 'application/vnd.pawaafile', - 'pclxl': 'application/vnd.hp-pclxl', - 'efif': 'application/vnd.picsel', - 'pcx': 'image/x-pcx', - 'psd': 'image/vnd.adobe.photoshop', - 'prf': 'application/pics-rules', - 'pic': 'image/x-pict', - 'chat': 'application/x-chat', - 'p10': 'application/pkcs10', - 'p12': 'application/x-pkcs12', - 'p7m': 'application/pkcs7-mime', - 'p7s': 'application/pkcs7-signature', - 'p7r': 'application/x-pkcs7-certreqresp', - 'p7b': 'application/x-pkcs7-certificates', - 'p8': 'application/pkcs8', - 'plf': 'application/vnd.pocketlearn', - 'pnm': 'image/x-portable-anymap', - 'pbm': 'image/x-portable-bitmap', - 'pcf': 'application/x-font-pcf', - 'pfr': 'application/font-tdpfr', - 'pgn': 'application/x-chess-pgn', - 'pgm': 'image/x-portable-graymap', - 'png': 'image/x-png', - 'ppm': 'image/x-portable-pixmap', - 'pskcxml': 'application/pskc+xml', - 'pml': 'application/vnd.ctc-posml', - 'ai': 'application/postscript', - 'pfa': 'application/x-font-type1', - 'pbd': 'application/vnd.powerbuilder6', - 'pgp': 'application/pgp-signature', - 'box': 'application/vnd.previewsystems.box', - 'ptid': 'application/vnd.pvi.ptid1', - 'pls': 'application/pls+xml', - 'str': 'application/vnd.pg.format', - 'ei6': 'application/vnd.pg.osasli', - 'dsc': 'text/prs.lines.tag', - 'psf': 'application/x-font-linux-psf', - 'qps': 'application/vnd.publishare-delta-tree', - 'wg': 'application/vnd.pmi.widget', - 'qxd': 'application/vnd.quark.quarkxpress', - 'esf': 'application/vnd.epson.esf', - 'msf': 'application/vnd.epson.msf', - 'ssf': 'application/vnd.epson.ssf', - 'qam': 'application/vnd.epson.quickanime', - 'qfx': 'application/vnd.intu.qfx', - 'qt': 'video/quicktime', - 'rar': 'application/x-rar-compressed', - 'ram': 'audio/x-pn-realaudio', - 'rmp': 'audio/x-pn-realaudio-plugin', - 'rsd': 'application/rsd+xml', - 'rm': 'application/vnd.rn-realmedia', - 'bed': 'application/vnd.realvnc.bed', - 'mxl': 'application/vnd.recordare.musicxml', - 'musicxml': 'application/vnd.recordare.musicxml+xml', - 'rnc': 'application/relax-ng-compact-syntax', - 'rdz': 'application/vnd.data-vision.rdz', - 'rdf': 'application/rdf+xml', - 'rp9': 'application/vnd.cloanto.rp9', - 'jisp': 'application/vnd.jisp', - 'rtf': 'application/rtf', - 'rtx': 'text/richtext', - 'link66': 'application/vnd.route66.link66+xml', - 'rss, .xml': 'application/rss+xml', - 'shf': 'application/shf+xml', - 'st': 'application/vnd.sailingtracker.track', - 'svg': 'image/svg+xml', - 'sus': 'application/vnd.sus-calendar', - 'sru': 'application/sru+xml', - 'setpay': 'application/set-payment-initiation', - 'setreg': 'application/set-registration-initiation', - 'sema': 'application/vnd.sema', - 'semd': 'application/vnd.semd', - 'semf': 'application/vnd.semf', - 'see': 'application/vnd.seemail', - 'snf': 'application/x-font-snf', - 'spq': 'application/scvp-vp-request', - 'spp': 'application/scvp-vp-response', - 'scq': 'application/scvp-cv-request', - 'scs': 'application/scvp-cv-response', - 'sdp': 'application/sdp', - 'etx': 'text/x-setext', - 'movie': 'video/x-sgi-movie', - 'ifm': 'application/vnd.shana.informed.formdata', - 'itp': 'application/vnd.shana.informed.formtemplate', - 'iif': 'application/vnd.shana.informed.interchange', - 'ipk': 'application/vnd.shana.informed.package', - 'tfi': 'application/thraud+xml', - 'shar': 'application/x-shar', - 'rgb': 'image/x-rgb', - 'slt': 'application/vnd.epson.salt', - 'aso': 'application/vnd.accpac.simply.aso', - 'imp': 'application/vnd.accpac.simply.imp', - 'twd': 'application/vnd.simtech-mindmapper', - 'csp': 'application/vnd.commonspace', - 'saf': 'application/vnd.yamaha.smaf-audio', - 'mmf': 'application/vnd.smaf', - 'spf': 'application/vnd.yamaha.smaf-phrase', - 'teacher': 'application/vnd.smart.teacher', - 'svd': 'application/vnd.svd', - 'rq': 'application/sparql-query', - 'srx': 'application/sparql-results+xml', - 'gram': 'application/srgs', - 'grxml': 'application/srgs+xml', - 'ssml': 'application/ssml+xml', - 'skp': 'application/vnd.koan', - 'sgml': 'text/sgml', - 'sdc': 'application/vnd.stardivision.calc', - 'sda': 'application/vnd.stardivision.draw', - 'sdd': 'application/vnd.stardivision.impress', - 'smf': 'application/vnd.stardivision.math', - 'sdw': 'application/vnd.stardivision.writer', - 'sgl': 'application/vnd.stardivision.writer-global', - 'sm': 'application/vnd.stepmania.stepchart', - 'sit': 'application/x-stuffit', - 'sitx': 'application/x-stuffitx', - 'sdkm': 'application/vnd.solent.sdkm+xml', - 'xo': 'application/vnd.olpc-sugar', - 'au': 'audio/basic', - 'wqd': 'application/vnd.wqd', - 'sis': 'application/vnd.symbian.install', - 'smi': 'application/smil+xml', - 'xsm': 'application/vnd.syncml+xml', - 'bdm': 'application/vnd.syncml.dm+wbxml', - 'xdm': 'application/vnd.syncml.dm+xml', - 'sv4cpio': 'application/x-sv4cpio', - 'sv4crc': 'application/x-sv4crc', - 'sbml': 'application/sbml+xml', - 'tsv': 'text/tab-separated-values', - 'tiff': 'image/tiff', - 'tao': 'application/vnd.tao.intent-module-archive', - 'tar': 'application/x-tar', - 'tcl': 'application/x-tcl', - 'tex': 'application/x-tex', - 'tfm': 'application/x-tex-tfm', - 'tei': 'application/tei+xml', - 'txt': 'text/plain', - 'dxp': 'application/vnd.spotfire.dxp', - 'sfs': 'application/vnd.spotfire.sfs', - 'tsd': 'application/timestamped-data', - 'tpt': 'application/vnd.trid.tpt', - 'mxs': 'application/vnd.triscape.mxs', - 't': 'text/troff', - 'tra': 'application/vnd.trueapp', - 'ttf': 'application/x-font-ttf', - 'ttl': 'text/turtle', - 'umj': 'application/vnd.umajin', - 'uoml': 'application/vnd.uoml+xml', - 'unityweb': 'application/vnd.unity', - 'ufd': 'application/vnd.ufdl', - 'uri': 'text/uri-list', - 'utz': 'application/vnd.uiq.theme', - 'ustar': 'application/x-ustar', - 'uu': 'text/x-uuencode', - 'vcs': 'text/x-vcalendar', - 'vcf': 'text/x-vcard', - 'vcd': 'application/x-cdlink', - 'vsf': 'application/vnd.vsf', - 'wrl': 'model/vrml', - 'vcx': 'application/vnd.vcx', - 'mts': 'model/vnd.mts', - 'vtu': 'model/vnd.vtu', - 'vis': 'application/vnd.visionary', - 'viv': 'video/vnd.vivo', - 'ccxml': 'application/ccxml+xml,', - 'vxml': 'application/voicexml+xml', - 'src': 'application/x-wais-source', - 'wbxml': 'application/vnd.wap.wbxml', - 'wbmp': 'image/vnd.wap.wbmp', - 'wav': 'audio/x-wav', - 'davmount': 'application/davmount+xml', - 'woff': 'application/x-font-woff', - 'wspolicy': 'application/wspolicy+xml', - 'webp': 'image/webp', - 'wtb': 'application/vnd.webturbo', - 'wgt': 'application/widget', - 'hlp': 'application/winhlp', - 'wml': 'text/vnd.wap.wml', - 'wmls': 'text/vnd.wap.wmlscript', - 'wmlsc': 'application/vnd.wap.wmlscriptc', - 'wpd': 'application/vnd.wordperfect', - 'stf': 'application/vnd.wt.stf', - 'wsdl': 'application/wsdl+xml', - 'xbm': 'image/x-xbitmap', - 'xpm': 'image/x-xpixmap', - 'xwd': 'image/x-xwindowdump', - 'der': 'application/x-x509-ca-cert', - 'fig': 'application/x-xfig', - 'xhtml': 'application/xhtml+xml', - 'xml': 'application/xml', - 'xdf': 'application/xcap-diff+xml', - 'xenc': 'application/xenc+xml', - 'xer': 'application/patch-ops-error+xml', - 'rl': 'application/resource-lists+xml', - 'rs': 'application/rls-services+xml', - 'rld': 'application/resource-lists-diff+xml', - 'xslt': 'application/xslt+xml', - 'xop': 'application/xop+xml', - 'xpi': 'application/x-xpinstall', - 'xspf': 'application/xspf+xml', - 'xul': 'application/vnd.mozilla.xul+xml', - 'xyz': 'chemical/x-xyz', - 'yaml': 'text/yaml', - 'yang': 'application/yang', - 'yin': 'application/yin+xml', - 'zir': 'application/vnd.zul', - 'zip': 'application/zip', - 'zmm': 'application/vnd.handheld-entertainment+xml', - 'zaz': 'application/vnd.zzazz.deck+xml', -} - const mimeIcons = { pdf: 'mdi-pdf-box', @@ -711,4 +20,4 @@ const mimeIcons = { xlsm: 'mdi-file-excel-outline', } -export { mimeTypes, mimeIcons } +export { mimeIcons } diff --git a/packages/nc-gui/utils/viewUtils.ts b/packages/nc-gui/utils/viewUtils.ts index d373f8378d..29425e31bc 100644 --- a/packages/nc-gui/utils/viewUtils.ts +++ b/packages/nc-gui/utils/viewUtils.ts @@ -6,6 +6,7 @@ import MdiFormIcon from '~icons/mdi/form-select' import MdiCalendarIcon from '~icons/mdi/calendar' import MdiGalleryIcon from '~icons/mdi/camera-image' import MdiKanbanIcon from '~icons/mdi/tablet-dashboard' +import MdiMapIcon from '~icons/mdi/map-outline' import MdiEyeIcon from '~icons/mdi/eye-circle-outline' import type { Language } from '~/lib' @@ -14,6 +15,7 @@ export const viewIcons: Record = [ViewTypes.FORM]: { icon: MdiFormIcon, color: themeV2Colors.pink['500'] }, calendar: { icon: MdiCalendarIcon, color: 'purple' }, [ViewTypes.GALLERY]: { icon: MdiGalleryIcon, color: 'orange' }, + [ViewTypes.MAP]: { icon: MdiMapIcon, color: 'blue' }, [ViewTypes.KANBAN]: { icon: MdiKanbanIcon, color: 'green' }, view: { icon: MdiEyeIcon, color: 'blue' }, } @@ -23,6 +25,7 @@ export const viewTypeAlias: Record = { [ViewTypes.FORM]: 'form', [ViewTypes.GALLERY]: 'gallery', [ViewTypes.KANBAN]: 'kanban', + [ViewTypes.MAP]: 'map', } export const isRtlLang = (lang: keyof typeof Language) => ['fa', 'ar'].includes(lang) diff --git a/packages/nc-lib-gui/package.json b/packages/nc-lib-gui/package.json index 4b69138b3d..c8291f6ecc 100644 --- a/packages/nc-lib-gui/package.json +++ b/packages/nc-lib-gui/package.json @@ -1,6 +1,6 @@ { "name": "nc-lib-gui", - "version": "0.105.2", + "version": "0.105.3", "description": "NocoDB GUI", "author": { "name": "NocoDB", diff --git a/packages/nc-plugin/package-lock.json b/packages/nc-plugin/package-lock.json index aef2ac34db..574708a321 100644 --- a/packages/nc-plugin/package-lock.json +++ b/packages/nc-plugin/package-lock.json @@ -714,18 +714,6 @@ "node": ">= 4" } }, - "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", @@ -1111,12 +1099,30 @@ } }, "node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ansi-regex": { @@ -1195,33 +1201,6 @@ "node": ">=0.6.10" } }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -1280,15 +1259,6 @@ "node": ">=0.10.0" } }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array.prototype.flat": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", @@ -1345,15 +1315,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -1381,18 +1342,6 @@ "node": ">= 4.0.0" } }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/ava": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ava/-/ava-5.2.0.tgz", @@ -1666,73 +1615,25 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/binary-extensions": { "version": "2.2.0", @@ -1743,6 +1644,17 @@ "node": ">=8" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "node_modules/blueimp-md5": { "version": "2.18.0", "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.18.0.tgz", @@ -1810,36 +1722,40 @@ "integrity": "sha512-Mi2m55JrX2BFbNZGKYR+2ItcGnR4O5HhrvgoRRyZQlaMGQULqDhoGkLWHzJoshSzi7k1PUofxcDbNhlFrDZNhg==", "dev": true }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cachedir": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz", - "integrity": "sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", "dev": true, "engines": { "node": ">=6" @@ -1933,9 +1849,9 @@ } }, "node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -2023,33 +1939,6 @@ "integrity": "sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==", "dev": true }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -2068,6 +1957,30 @@ "node": ">=0.10.0" } }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cli-truncate": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", @@ -2135,10 +2048,13 @@ } }, "node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } }, "node_modules/cliui": { "version": "7.0.4", @@ -2151,6 +2067,15 @@ "wrap-ansi": "^7.0.0" } }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, "node_modules/code-excerpt": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-4.0.0.tgz", @@ -2195,19 +2120,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2258,25 +2170,25 @@ } }, "node_modules/commitizen": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.2.3.tgz", - "integrity": "sha512-pYlYEng7XMV2TW4xtjDKBGqeJ0Teq2zyRSx2S3Ml1XAplHSlJZK8vm1KdGclpMEZuGafbS5TeHXIVnHk8RWIzQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.3.0.tgz", + "integrity": "sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==", "dev": true, "dependencies": { - "cachedir": "2.2.0", - "cz-conventional-changelog": "3.2.0", + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", "dedent": "0.7.0", - "detect-indent": "6.0.0", - "find-node-modules": "2.0.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", "find-root": "1.1.0", - "fs-extra": "8.1.0", - "glob": "7.1.4", - "inquirer": "6.5.2", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.5", "is-utf8": "^0.2.1", - "lodash": "^4.17.20", - "minimist": "1.2.5", + "lodash": "4.17.21", + "minimist": "1.2.7", "strip-bom": "4.0.0", - "strip-json-comments": "3.0.1" + "strip-json-comments": "3.1.1" }, "bin": { "commitizen": "bin/commitizen", @@ -2284,195 +2196,40 @@ "git-cz": "bin/git-cz" }, "engines": { - "node": ">= 10" - } - }, - "node_modules/commitizen/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "node": ">= 12" } }, - "node_modules/commitizen/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/commitizen/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/commitizen/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true }, - "node_modules/commitizen/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, - "node_modules/commitizen/node_modules/cz-conventional-changelog": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz", - "integrity": "sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.1", - "commitizen": "^4.0.3", - "conventional-commit-types": "^3.0.0", - "lodash.map": "^4.5.1", - "longest": "^2.0.1", - "word-wrap": "^1.0.3" - }, - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@commitlint/load": ">6.1.1" - } - }, - "node_modules/commitizen/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/commitizen/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/commitizen/node_modules/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/commitizen/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/commitizen/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/commitizen/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/commitizen/node_modules/strip-json-comments": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", - "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/commitizen/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/commitizen/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, "dependencies": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" } }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -3296,15 +3053,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -3697,15 +3445,6 @@ "node": ">=0.10.0" } }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -3748,6 +3487,18 @@ "node": ">=8" } }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -3769,57 +3520,6 @@ "node": ">= 0.4" } }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/del": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/del/-/del-7.0.0.tgz", @@ -3876,16 +3576,16 @@ "node_modules/detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", "dev": true, "engines": { "node": ">=8" @@ -4523,18 +4223,6 @@ "node": ">= 4" } }, - "node_modules/eslint/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/espree": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", @@ -4643,67 +4331,10 @@ "node": ">=0.10.0" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "dev": true, "dependencies": { "homedir-polyfill": "^1.0.1" @@ -4712,43 +4343,6 @@ "node": ">=0.10.0" } }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -4775,92 +4369,11 @@ "node": ">=0.10.0" } }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-diff": { "version": "1.2.0", @@ -5024,13 +4537,13 @@ } }, "node_modules/find-node-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.0.0.tgz", - "integrity": "sha512-8MWIBRgJi/WpjjfVXumjPKCtmQ10B+fjx6zmSA+770GMJirLhWIzg8l763rhjl9xaeaHbnxPNRQKq2mgMhr+aw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", + "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", "dev": true, "dependencies": { - "findup-sync": "^3.0.0", - "merge": "^1.2.1" + "findup-sync": "^4.0.0", + "merge": "^2.1.1" } }, "node_modules/find-root": { @@ -5053,139 +4566,18 @@ } }, "node_modules/findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", "dev": true, "dependencies": { "detect-file": "^1.0.0", "is-glob": "^4.0.0", - "micromatch": "^3.0.4", + "micromatch": "^4.0.2", "resolve-dir": "^1.0.1" }, "engines": { - "node": ">= 0.10" - } - }, - "node_modules/findup-sync/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, "node_modules/flat-cache": { @@ -5207,15 +4599,6 @@ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/foreground-child": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", @@ -5229,18 +4612,6 @@ "node": ">=8.0.0" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fromentries": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", @@ -5657,15 +5028,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gh-pages": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.1.0.tgz", @@ -6033,22 +5395,16 @@ "ini": "^1.3.2" } }, - "node_modules/gitconfiglocal/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -6088,7 +5444,7 @@ "node_modules/global-prefix": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "dev": true, "dependencies": { "expand-tilde": "^2.0.2", @@ -6101,12 +5457,6 @@ "node": ">=0.10.0" } }, - "node_modules/global-prefix/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "node_modules/globals": { "version": "13.7.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", @@ -6241,69 +5591,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/hasha": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", @@ -6553,296 +5840,87 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, "node_modules/inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", "dev": true, "dependencies": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=12.0.0" } }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 0.10" } }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/irregular-plurals": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.4.0.tgz", + "integrity": "sha512-YXxECO/W6N9aMBVKMKKZ8TXESgq7EFrp3emCGGUcrYY1cgJIeZjoB75MTu8qi+NAKntS9NwPU8VdcQ3r6E6aWQ==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/inquirer/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/inquirer/node_modules/cli-cursor": { + "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "dependencies": { - "restore-cursor": "^2.0.0" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/inquirer/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/inquirer/node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/inquirer/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/irregular-plurals": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.4.0.tgz", - "integrity": "sha512-YXxECO/W6N9aMBVKMKKZ8TXESgq7EFrp3emCGGUcrYY1cgJIeZjoB75MTu8qi+NAKntS9NwPU8VdcQ3r6E6aWQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "node_modules/is-boolean-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", "dev": true, "dependencies": { "call-bind": "^1.0.0" @@ -6854,12 +5932,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "node_modules/is-callable": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", @@ -6884,30 +5956,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-date-object": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", @@ -6920,29 +5968,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -6964,15 +5989,6 @@ "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==", "dev": true }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -7015,6 +6031,15 @@ "node": ">=0.10.0" } }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -7226,15 +6251,6 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/istanbul-lib-coverage": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", @@ -7573,6 +6589,34 @@ "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/longest": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", @@ -7655,15 +6699,6 @@ "node": ">=6" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/map-obj": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", @@ -7676,18 +6711,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/marked": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz", @@ -8029,9 +7052,9 @@ } }, "node_modules/merge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", - "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", "dev": true }, "node_modules/merge2": { @@ -8090,10 +7113,13 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minimist-options": { "version": "4.1.0", @@ -8118,43 +7144,6 @@ "node": ">=0.10.0" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", @@ -8171,33 +7160,11 @@ "dev": true }, "node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -8663,44 +7630,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", @@ -8719,18 +7648,6 @@ "node": ">= 0.4" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", @@ -8767,18 +7684,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.values": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", @@ -8806,6 +7711,30 @@ "wrappy": "1" } }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/onetime/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/open": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", @@ -8874,10 +7803,45 @@ "node": ">= 0.8.0" } }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, "engines": { "node": ">=0.10.0" @@ -9074,16 +8038,7 @@ "node_modules/parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true, "engines": { "node": ">=0.10.0" @@ -9314,15 +8269,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -9698,19 +8644,6 @@ "node": ">=8" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/regexpp": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", @@ -9735,15 +8668,6 @@ "node": ">=4" } }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", @@ -9817,7 +8741,7 @@ "node_modules/resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, "dependencies": { "expand-tilde": "^2.0.0", @@ -9855,31 +8779,22 @@ "dev": true, "dependencies": { "ini": "^1.3.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-global/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true + }, + "engines": { + "node": ">=4" + } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, "engines": { - "node": ">=0.12" + "node": ">=8" } }, "node_modules/reusify": { @@ -9940,32 +8855,26 @@ } }, "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", "dev": true, "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" + "tslib": "^2.1.0" } }, + "node_modules/rxjs/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -10008,45 +8917,6 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -10134,161 +9004,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -10310,20 +9025,6 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "node_modules/source-map-support": { "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", @@ -10334,13 +9035,6 @@ "source-map": "^0.6.0" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true - }, "node_modules/spawn-wrap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", @@ -10417,18 +9111,6 @@ "node": "*" } }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/split2": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", @@ -10627,31 +9309,6 @@ "node": ">=4" } }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/stream-events": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", @@ -10816,6 +9473,18 @@ "node": ">=8" } }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-outer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", @@ -11189,45 +9858,6 @@ "node": ">=4" } }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -11340,15 +9970,6 @@ "strip-bom": "^3.0.0" } }, - "node_modules/tsconfig-paths/node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -11487,21 +10108,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -11515,60 +10121,12 @@ } }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 10.0.0" } }, "node_modules/uri-js": { @@ -11580,28 +10138,12 @@ "punycode": "^2.1.0" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, "node_modules/urlgrey": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", "dev": true }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -11640,6 +10182,15 @@ "integrity": "sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==", "dev": true }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -12467,12 +11018,6 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, "type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", @@ -12732,10 +11277,21 @@ "dev": true }, "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } }, "ansi-regex": { "version": "5.0.0", @@ -12795,24 +11351,6 @@ "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", "dev": true }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -12856,12 +11394,6 @@ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, "array.prototype.flat": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", @@ -12897,12 +11429,6 @@ "integrity": "sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==", "dev": true }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -12924,12 +11450,6 @@ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, "ava": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ava/-/ava-5.2.0.tgz", @@ -13126,60 +11646,11 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true }, "binary-extensions": { "version": "2.2.0", @@ -13187,6 +11658,17 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "blueimp-md5": { "version": "2.18.0", "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.18.0.tgz", @@ -13239,33 +11721,26 @@ } } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, "cachedir": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz", - "integrity": "sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", "dev": true }, "caching-transform": { @@ -13331,9 +11806,9 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -13391,29 +11866,6 @@ "integrity": "sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==", "dev": true }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -13426,6 +11878,21 @@ "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", "dev": true }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true + }, "cli-truncate": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", @@ -13471,9 +11938,9 @@ } }, "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, "cliui": { @@ -13487,6 +11954,12 @@ "wrap-ansi": "^7.0.0" } }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, "code-excerpt": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-4.0.0.tgz", @@ -13507,214 +11980,87 @@ "js-yaml": "3.14.0", "teeny-request": "6.0.1", "urlgrey": "0.4.4" - }, - "dependencies": { - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - } - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - }, - "comment-json": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.1.0.tgz", - "integrity": "sha512-WEghmVYaNq9NlWbrkzQTSsya9ycLyxJxpTQfZEan6a5Jomnjw18zS3Podf8q1Zf9BvonvQd/+Z7Z39L7KKzzdQ==", - "dev": true, - "requires": { - "array-timsort": "^1.0.3", - "core-util-is": "^1.0.2", - "esprima": "^4.0.1", - "has-own-prop": "^2.0.0", - "repeat-string": "^1.6.1" - } - }, - "commitizen": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.2.3.tgz", - "integrity": "sha512-pYlYEng7XMV2TW4xtjDKBGqeJ0Teq2zyRSx2S3Ml1XAplHSlJZK8vm1KdGclpMEZuGafbS5TeHXIVnHk8RWIzQ==", - "dev": true, - "requires": { - "cachedir": "2.2.0", - "cz-conventional-changelog": "3.2.0", - "dedent": "0.7.0", - "detect-indent": "6.0.0", - "find-node-modules": "2.0.0", - "find-root": "1.1.0", - "fs-extra": "8.1.0", - "glob": "7.1.4", - "inquirer": "6.5.2", - "is-utf8": "^0.2.1", - "lodash": "^4.17.20", - "minimist": "1.2.5", - "strip-bom": "4.0.0", - "strip-json-comments": "3.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "cz-conventional-changelog": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz", - "integrity": "sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg==", - "dev": true, - "requires": { - "@commitlint/load": ">6.1.1", - "chalk": "^2.4.1", - "commitizen": "^4.0.3", - "conventional-commit-types": "^3.0.0", - "lodash.map": "^4.5.1", - "longest": "^2.0.1", - "word-wrap": "^1.0.3" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + }, + "dependencies": { + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } - }, + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "comment-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.1.0.tgz", + "integrity": "sha512-WEghmVYaNq9NlWbrkzQTSsya9ycLyxJxpTQfZEan6a5Jomnjw18zS3Podf8q1Zf9BvonvQd/+Z7Z39L7KKzzdQ==", + "dev": true, + "requires": { + "array-timsort": "^1.0.3", + "core-util-is": "^1.0.2", + "esprima": "^4.0.1", + "has-own-prop": "^2.0.0", + "repeat-string": "^1.6.1" + } + }, + "commitizen": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.3.0.tgz", + "integrity": "sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==", + "dev": true, + "requires": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.5", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.7", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "dependencies": { "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true - }, - "strip-json-comments": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", - "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true } } }, @@ -13740,12 +12086,6 @@ "dot-prop": "^5.1.0" } }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -14383,12 +12723,6 @@ "integrity": "sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==", "dev": true }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -14698,12 +13032,6 @@ } } }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true - }, "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -14739,6 +13067,15 @@ } } }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, "define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -14754,47 +13091,6 @@ "object-keys": "^1.0.12" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "del": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/del/-/del-7.0.0.tgz", @@ -14835,13 +13131,13 @@ "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", "dev": true }, "detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", "dev": true }, "detect-newline": { @@ -15083,12 +13379,6 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true } } }, @@ -15418,95 +13708,15 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "dev": true, "requires": { "homedir-polyfill": "^1.0.1" } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - } - } - }, "external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -15529,71 +13739,6 @@ } } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -15725,13 +13870,13 @@ } }, "find-node-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.0.0.tgz", - "integrity": "sha512-8MWIBRgJi/WpjjfVXumjPKCtmQ10B+fjx6zmSA+770GMJirLhWIzg8l763rhjl9xaeaHbnxPNRQKq2mgMhr+aw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", + "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", "dev": true, "requires": { - "findup-sync": "^3.0.0", - "merge": "^1.2.1" + "findup-sync": "^4.0.0", + "merge": "^2.1.1" } }, "find-root": { @@ -15751,120 +13896,15 @@ } }, "findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", "dev": true, "requires": { "detect-file": "^1.0.0", "is-glob": "^4.0.0", - "micromatch": "^3.0.4", + "micromatch": "^4.0.2", "resolve-dir": "^1.0.1" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } } }, "flat-cache": { @@ -15883,29 +13923,14 @@ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, "foreground-child": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, "requires": { - "map-cache": "^0.2.2" + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" } }, "fromentries": { @@ -16218,12 +14243,6 @@ "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", "dev": true }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, "gh-pages": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.1.0.tgz", @@ -16500,26 +14519,18 @@ "dev": true, "requires": { "ini": "^1.3.2" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - } } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } @@ -16547,7 +14558,7 @@ "global-prefix": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "dev": true, "requires": { "expand-tilde": "^2.0.2", @@ -16555,14 +14566,6 @@ "ini": "^1.3.4", "is-windows": "^1.0.1", "which": "^1.2.14" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - } } }, "globals": { @@ -16654,58 +14657,6 @@ "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "hasha": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", @@ -16892,176 +14843,33 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", "dev": true, "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" } }, "interpret": { @@ -17076,26 +14884,6 @@ "integrity": "sha512-YXxECO/W6N9aMBVKMKKZ8TXESgq7EFrp3emCGGUcrYY1cgJIeZjoB75MTu8qi+NAKntS9NwPU8VdcQ3r6E6aWQ==", "dev": true }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -17126,12 +14914,6 @@ "call-bind": "^1.0.0" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "is-callable": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", @@ -17147,51 +14929,12 @@ "has": "^1.0.3" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "is-date-object": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, "is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -17204,12 +14947,6 @@ "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==", "dev": true }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -17237,6 +14974,12 @@ "is-extglob": "^2.1.1" } }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -17376,12 +15119,6 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "istanbul-lib-coverage": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", @@ -17653,6 +15390,24 @@ "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + } + } + }, "longest": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", @@ -17716,27 +15471,12 @@ "p-defer": "^1.0.0" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, "map-obj": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", "dev": true }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, "marked": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz", @@ -17954,9 +15694,9 @@ } }, "merge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", - "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", "dev": true }, "merge2": { @@ -17997,9 +15737,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "dev": true }, "minimist-options": { @@ -18021,36 +15761,6 @@ } } }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - } - } - }, "modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", @@ -18063,31 +15773,12 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -18450,37 +16141,6 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "object-inspect": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", @@ -18493,15 +16153,6 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, "object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", @@ -18526,15 +16177,6 @@ "has": "^1.0.3" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, "object.values": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", @@ -18556,6 +16198,23 @@ "wrappy": "1" } }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + } + } + }, "open": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", @@ -18602,10 +16261,35 @@ "word-wrap": "^1.2.3" } }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + } + } + }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true }, "p-defer": { @@ -18735,13 +16419,7 @@ "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true }, "path-exists": { @@ -18886,12 +16564,6 @@ "irregular-plurals": "^3.3.0" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -19156,16 +16828,6 @@ "strip-indent": "^3.0.0" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, "regexpp": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", @@ -19181,12 +16843,6 @@ "es6-error": "^4.0.1" } }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", @@ -19242,7 +16898,7 @@ "resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, "requires": { "expand-tilde": "^2.0.0", @@ -19272,26 +16928,18 @@ "requires": { "ini": "^1.3.4" } - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true } } }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } }, "reusify": { "version": "1.0.4", @@ -19324,12 +16972,20 @@ } }, "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", "dev": true, "requires": { - "tslib": "^1.9.0" + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + } } }, "safe-buffer": { @@ -19338,15 +16994,6 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -19377,38 +17024,6 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - } - } - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -19471,134 +17086,6 @@ } } }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -19614,19 +17101,6 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "source-map-support": { "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", @@ -19637,12 +17111,6 @@ "source-map": "^0.6.0" } }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, "spawn-wrap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", @@ -19709,15 +17177,6 @@ "through": "2" } }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, "split2": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", @@ -19868,27 +17327,6 @@ } } }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "stream-events": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", @@ -20010,6 +17448,12 @@ "min-indent": "^1.0.0" } }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, "strip-outer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", @@ -20280,38 +17724,6 @@ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -20390,14 +17802,6 @@ "json5": "^1.0.1", "minimist": "^1.2.6", "strip-bom": "^3.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "dev": true - } } }, "tslib": { @@ -20495,18 +17899,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, "unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -20522,46 +17914,6 @@ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -20571,24 +17923,12 @@ "punycode": "^2.1.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, "urlgrey": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", "dev": true }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -20623,6 +17963,15 @@ "integrity": "sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==", "dev": true }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", diff --git a/packages/noco-docs/content/en/developer-resources/rest-apis.md b/packages/noco-docs/content/en/developer-resources/rest-apis.md index 738645d7de..328932159d 100644 --- a/packages/noco-docs/content/en/developer-resources/rest-apis.md +++ b/packages/noco-docs/content/en/developer-resources/rest-apis.md @@ -120,14 +120,20 @@ Currently, the default value for {orgs} is noco. Users will be able to ch | Meta | Patch | dbView | update | /api/v1/db/meta/tables/{tableId} | | Meta | Delete| dbView | delete | /api/v1/db/meta/tables/{tableId} | | Meta | Post | dbView | reorder | /api/v1/db/meta/tables/{tableId}/reorder | -| Meta | Post | dbView | formCreate | /api/v1/db/meta/forms | -| Meta | Patch | dbView | formUpdate | /api/v1/db/meta/forms/{formId} | -| Meta | Get | dbView | formRead | /api/v1/db/meta/forms/{formId} | +| Meta | Post | dbView | formCreate | /api/v1/db/meta/tables/{tableId}/forms | +| Meta | Patch | dbView | formUpdate | /api/v1/db/meta/forms/{formViewId} | +| Meta | Get | dbView | formRead | /api/v1/db/meta/forms/{formViewId} | | Meta | Patch | dbView | formColumnUpdate | /api/v1/db/meta/form-columns/{formViewColumnId} | -| Meta | Post | dbView | galleryCreate | /api/v1/db/meta/galleries | -| Meta | Patch | dbView | galleryUpdate | /api/v1/db/meta/galleries/{galleriesId} | -| Meta | Get | dbView | galleryRead | /api/v1/db/meta/galleries/{galleriesId} | -| Meta | Post | dbView | gridCreate | /api/v1/db/meta/tables/${tableId}/grids | +| Meta | Post | dbView | galleryCreate | /api/v1/db/meta/tables/{tableId}/galleries | +| Meta | Patch | dbView | galleryUpdate | /api/v1/db/meta/galleries/{galleryViewId} | +| Meta | Get | dbView | galleryRead | /api/v1/db/meta/galleries/{galleryViewId} | +| Meta | Post | dbView | kanbanCreate | /api/v1/db/meta/tables/{tableId}/kanbans | +| Meta | Patch | dbView | kanbanUpdate | /api/v1/db/meta/kanban/{kanbanViewId} | +| Meta | Get | dbView | kanbanRead | /api/v1/db/meta/kanbans/{kanbanViewId} | +| Meta | Post | dbView | mapCreate | /api/v1/db/meta/tables/{tableId}/maps | +| Meta | Patch | dbView | mapUpdate | /api/v1/db/meta/maps/{mapViewId} | +| Meta | Get | dbView | mapRead | /api/v1/db/meta/maps/{mapViewId} | +| Meta | Post | dbView | gridCreate | /api/v1/db/meta/tables/{tableId}/grids | | Meta | Get | dbView | gridColumnsList | /api/v1/db/meta/grids/{gridId}/grid-columns | | Meta | Patch | dbView | gridColumnUpdate | /api/v1/db/meta/grid-columns/{columnId} | | Meta | Patch | dbView | update | /api/v1/db/meta/views/{viewId} | @@ -221,11 +227,42 @@ Currently, the default value for {orgs} is noco. Users will be able to ch | btw | between | (colName,btw,val1,val2) | | nbtw | not between | (colName,nbtw,val1,val2) | | like | like | (colName,like,%name) | +| isWithin | is Within (Available in `Date` and `DateTime` only) | (colName,isWithin,sub_op) | | allof | includes all of | (colName,allof,val1,val2,...) | | anyof | includes any of | (colName,anyof,val1,val2,...) | | nallof | does not include all of (includes none or some, but not all of) | (colName,nallof,val1,val2,...) | | nanyof | does not include any of (includes none of) | (colName,nanyof,val1,val2,...) | +## Comparison Sub-Operators + +The following sub-operators are available in `Date` and `DateTime` columns. + +| Operation | Meaning | Example | +|-----------------|-------------------------|-----------------------------------| +| today | today | (colName,eq,today) | +| tomorrow | tomorrow | (colName,eq,tomorrow) | +| yesterday | yesterday | (colName,eq,yesterday) | +| oneWeekAgo | one week ago | (colName,eq,oneWeekAgo) | +| oneWeekFromNow | one week from now | (colName,eq,oneWeekFromNow) | +| oneMonthAgo | one month ago | (colName,eq,oneMonthAgo) | +| oneMonthFromNow | one month from now | (colName,eq,oneMonthFromNow) | +| daysAgo | number of days ago | (colName,eq,daysAgo,10) | +| daysFromNow | number of days from now | (colName,eq,daysFromNow,10) | +| exactDate | exact date | (colName,eq,exactDate,2022-02-02) | + +For `isWithin` in `Date` and `DateTime` columns, the different set of sub-operators are used. + +| Operation | Meaning | Example | +|------------------|-------------------------|-----------------------------------------| +| pastWeek | the past week | (colName,isWithin,pastWeek) | +| pastMonth | the past month | (colName,isWithin,pastMonth) | +| pastYear | the past year | (colName,isWithin,pastYear) | +| nextWeek | the next week | (colName,isWithin,nextWeek) | +| nextMonth | the next month | (colName,isWithin,nextMonth) | +| nextYear | the next year | (colName,isWithin,nextYear) | +| nextNumberOfDays | the next number of days | (colName,isWithin,nextNumberOfDays,10) | +| pastNumberOfDays | the past number of days | (colName,isWithin,pastNumberOfDays,10) | + ## Logical Operators | Operation | Example | diff --git a/packages/noco-docs/content/en/setup-and-usages/column-types.md b/packages/noco-docs/content/en/setup-and-usages/column-types.md index 97f44dd51d..182999b520 100644 --- a/packages/noco-docs/content/en/setup-and-usages/column-types.md +++ b/packages/noco-docs/content/en/setup-and-usages/column-types.md @@ -10,9 +10,7 @@ menuTitle: 'Column Types' | Type | Description | |---|---| -| [ID](#id) | Primary column of the table | | [LinkToAnotherRecord](#linktoanotherrecord) | Has Many or Many To Many columns | -| [ForeignKey](#foreignkey)| Belongs To relation | | [SingleLineText](#singlelinetext) | For short text | | [LongText](#longtext) | For lengthy string content | | [Attachment](#attachment) | File attachment column | @@ -26,28 +24,24 @@ menuTitle: 'Column Types' | [Email](#email) | Email field | | [URL](#url) | Valid URL field | | [Number](#number) | Any type of number | -|[Decimal](#decimal)| Fractional number | -|[Currency](#currency)| Currency value | -|[Percent](#percent)| Percentage | -|[Duration](#duration)| Duration | -|[Rating](#rating)| Rating | -|[Formula](#formula)| Formula based generated column | -|[QR Code](#qr-code)| QR Code visualization of another referenced column | -|[Barcode](#barcode)| Barcode visualization of another referenced column | -| [Count](#count) | | -|[DateTime](#datetime)| Date & Time selector | -|[CreateTime](#createtime)| | -|[AutoNumber](#autonumber)| | -|[Geometry](#geometry)| Geometry column | -|[SpecificDBType](#specificdbtype)| Custom DB type option | - - - +| [Decimal](#decimal)| Fractional number | +| [Currency](#currency)| Currency value | +| [Percent](#percent)| Percentage | +| [Duration](#duration)| Duration | +| [Rating](#rating)| Rating | +| [Formula](#formula)| Formula based generated column | +| [Rollup](#rollup)| Performs calculations and aggregations | +| [DateTime](#datetime)| Date & Time selector | +| [QR Code](#qr-code)| QR Code visualization of another referenced column | +| [Barcode](#barcode)| Barcode visualization of another referenced column | +| [Geometry](#geometry)| Geometry column | +| [GeoData](#geodata)| GeoData column | +| [Json](#json)| Json column | +| [SpecificDBType](#specificdbtype)| Custom DB type option | ## Database Types - -### ID + ### LinkToAnotherRecord -N/A +For more about Link To Another Record, please visit [here](./link-to-another-record). -### ForeignKey + ### SingleLineText @@ -292,16 +286,10 @@ Encodes the value of a reference column as Barcode. Supported barcode formats: C * Email Since it's a virtual column, the cell content (Barcode) cannot be changed directly. -### Count -#### Available Database Types +### Rollup -|Database| Types| Default Type| -|-----|----------|----------| -|**MySQL**|int, smallint, mediumint, bigint, serial|int| -|**PostgreSQL**|int, integer, bigint, bigserial, int2, int4, int8, serial, serial2, serial8, smallint, smallserial|int8| -|**SQL Server**|int, bigint, smallint, tinyint|int| -|**SQLite**|int, integer, tinyint, smallint, mediumint, bigint, int2, int8|integer| +For more about rollup, please visit [here](./rollup). ### DateTime @@ -314,7 +302,7 @@ Since it's a virtual column, the cell content (Barcode) cannot be changed direct |**SQL Server**|datetime, datetime2, datetimeoffset|datetime| |**SQLite**|datetime, timestamp|datetime| -### CreateTime + ### Geometry @@ -337,6 +325,20 @@ Since it's a virtual column, the cell content (Barcode) cannot be changed direct |**SQL Server**|geometry| |**SQLite**|text| + + +### JSON + +#### Available Database Types +|Database| Types| +|-----|----------| +|**MySQL**|json| +|**PostgreSQL**|json| +|**SQL Server**|text, ntext| +|**SQLite**|text| + + + ### SpecificDBType #### Available Database Types diff --git a/packages/noco-docs/content/en/setup-and-usages/table-operations.md b/packages/noco-docs/content/en/setup-and-usages/table-operations.md index 2aeeae8c43..e6245bdea3 100644 --- a/packages/noco-docs/content/en/setup-and-usages/table-operations.md +++ b/packages/noco-docs/content/en/setup-and-usages/table-operations.md @@ -70,7 +70,8 @@ After the click, it will show a menu and you can enter the column name and choos You can also click `Show more` for additional menu options. - +![Screenshot 2023-03-03 at 8 13 07 PM](https://user-images.githubusercontent.com/86527202/222749857-0e793db2-a5d2-4b54-8d23-2a0cbbec8f5d.png) + Click `Save` button to create the new column. @@ -86,6 +87,11 @@ You will be able to edit column name & associated datatype using pop-up modal. +Prior to v0.104.3, Advanced menu by default displayed developer specific database configuration options. To avoid unintended tweaks from user, these are now hidden under an easter egg menu. To enable, double click on `show all`/`hide all` button in column edit modal. + +![Screenshot 2023-03-06 at 10 45 26 AM](https://user-images.githubusercontent.com/86527202/223024810-85dac1c6-87ef-4193-90cb-3a05be8ccc1d.png) + + ### Column Delete To delete a column, click the down arrow, select `Delete` from the menu. diff --git a/packages/nocodb-sdk/package-lock.json b/packages/nocodb-sdk/package-lock.json index e9169032f3..8c1bda86b4 100644 --- a/packages/nocodb-sdk/package-lock.json +++ b/packages/nocodb-sdk/package-lock.json @@ -1,12 +1,12 @@ { "name": "nocodb-sdk", - "version": "0.105.2", + "version": "0.105.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "nocodb-sdk", - "version": "0.105.2", + "version": "0.105.3", "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", diff --git a/packages/nocodb-sdk/package.json b/packages/nocodb-sdk/package.json index 86e88d8bc1..442f2c9033 100644 --- a/packages/nocodb-sdk/package.json +++ b/packages/nocodb-sdk/package.json @@ -1,6 +1,6 @@ { "name": "nocodb-sdk", - "version": "0.105.2", + "version": "0.105.3", "description": "NocoDB SDK", "main": "build/main/index.js", "typings": "build/main/index.d.ts", @@ -31,7 +31,7 @@ "test:prettier": "prettier \"src/**/*.ts\" --list-different", "test:spelling": "cspell \"{README.md,.github/*.md,src/**/*.ts}\"", "watch:build": "tsc -p tsconfig.json -w", - "generate:sdk": "npx --yes swagger-typescript-api@10.0.3 -r -p ../../scripts/sdk/swagger.json -o ./src/lib/ --axios --unwrap-response-data --module-name-first-tag --type-suffix=Type --templates ../../scripts/sdk/templates" + "generate:sdk": "npx --yes swagger-typescript-api@10.0.3 -r -p ../nocodb/src/schema/swagger.json -o ./src/lib/ --axios --unwrap-response-data --module-name-first-tag --type-suffix=Type --templates ../../scripts/sdk/templates" }, "dependencies": { "axios": "^0.21.1", @@ -63,4 +63,4 @@ "prettier": { "singleQuote": true } -} \ No newline at end of file +} diff --git a/packages/nocodb-sdk/src/lib/Api.ts b/packages/nocodb-sdk/src/lib/Api.ts index 93ae72c9ec..c6d70193b2 100644 --- a/packages/nocodb-sdk/src/lib/Api.ts +++ b/packages/nocodb-sdk/src/lib/Api.ts @@ -9,687 +9,2293 @@ * --------------------------------------------------------------- */ -export interface UserType { - /** Unique identifier for the given user. */ - id: string; - firstname: string; - lastname: string; - /** @format email */ - email: string; - roles?: string; +/** + * Model for API Token + */ +export interface ApiTokenType { + /** Unique API Token ID */ + id?: IdType; + /** Foreign Key to User */ + fk_user_id?: IdType; /** - * @format date - * @example 1997-10-31 + * API Token Description + * @example This API Token is for ABC application */ - date_of_birth?: string; - /** Set to true if the user's email has been verified. */ - email_verified: boolean; + description?: string; /** - * The date that the user was created. - * @format date + * API Token + * @example DYh540o8hbWpUGdarekECKLdN5OhlgCUWutVJYX2 */ - createDate?: string; + token?: string; } -export interface PageReqQueryParamsType { - offset?: number; - limit?: number; - query?: string; +/** + * Model for API Token Request + */ +export interface ApiTokenReqType { + /** + * Description of the API token + * @example This API Token is for ABC application + */ + description?: string; } -export interface UserListType { - users: { - list: UserType; - pageInfo: PaginatedType; - }; +/** + * Model for API Token List + */ +export interface ApiTokenListType { + /** + * List of api token objects + * @example [{"list":[{"id":"1","fk_user_id":"us_b3xo2i44nx5y9l","description":"This API Token is for ABC application","token":"DYh540o8hbWpUGdarekECKLdN5OhlgCUWutVJYX2"}],"pageInfo":{"isFirstPage":true,"isLastPage":true,"page":1,"pageSize":10,"totalRows":1}}] + */ + list: ApiTokenType[]; + /** Model for Paginated */ + pageInfo: PaginatedType; } -export interface ProjectReqType { +/** + * Model for Attachment + */ +export interface AttachmentType { + /** Data for uploading */ + data?: any; + /** The mimetype of the attachment */ + mimetype?: string; + /** File Path */ + path?: string; + /** Attachment Size */ + size?: number; + /** The title of the attachment. Used in UI. */ title?: string; - description?: string; - color?: string; - bases?: BaseReqType[]; + /** Attachment URL */ + url?: string; } -export interface ProjectType { - id?: string; +/** + * Model for Attachment Request + */ +export interface AttachmentReqType { + /** The mimetype of the attachment */ + mimetype?: string; + /** The file path of the attachment */ + path?: string; + /** The size of the attachment */ + size?: number; + /** The title of the attachment used in UI */ title?: string; + /** Attachment URL to be uploaded via upload-by-url */ + url?: string; +} + +/** + * Model for Audit + */ +export interface AuditType { + /** Unique ID */ + id?: IdType; + /** + * The user name performing the action + * @example w@nocodb.com + */ + user?: string; + /** + * IP address from the user + * @example ::ffff:127.0.0.1 + */ + ip?: string; + /** + * Base ID in where action is performed + * @example ds_3l9qx8xqksenrl + */ + base_id?: string; + /** + * Project ID in where action is performed + * @example p_9sx43moxhqtjm3 + */ + project_id?: string; + /** + * Model ID in where action is performed + * @example md_ehn5izr99m7d45 + */ + fk_model_id?: string; + /** + * Row ID + * @example rec0Adp9PMG9o7uJy + */ + row_id?: string; + /** + * Operation Type + * @example AUTHENTICATION + */ + op_type?: + | 'COMMENT' + | 'DATA' + | 'PROJECT' + | 'VIRTUAL_RELATION' + | 'RELATION' + | 'TABLE_VIEW' + | 'TABLE' + | 'VIEW' + | 'META' + | 'WEBHOOKS' + | 'AUTHENTICATION' + | 'TABLE_COLUMN' + | 'ORG_USER'; + /** + * Operation Sub Type + * @example UPDATE + */ + op_sub_type?: + | 'UPDATE' + | 'INSERT' + | 'BULK_INSERT' + | 'BULK_UPDATE' + | 'BULK_DELETE' + | 'LINK_RECORD' + | 'UNLINK_RECORD' + | 'DELETE' + | 'CREATED' + | 'DELETED' + | 'RENAMED' + | 'IMPORT_FROM_ZIP' + | 'EXPORT_TO_FS' + | 'EXPORT_TO_ZIP' + | 'UPDATED' + | 'SIGNIN' + | 'SIGNUP' + | 'PASSWORD_RESET' + | 'PASSWORD_FORGOT' + | 'PASSWORD_CHANGE' + | 'EMAIL_VERIFICATION' + | 'ROLES_MANAGEMENT' + | 'INVITE' + | 'RESEND_INVITE'; + /** Audit Status */ status?: string; + /** + * Description of the action + * @example Table nc_snms___Table_1 : field Date got changed from 2023-03-12 to + */ description?: string; - meta?: string | object; - color?: string; - deleted?: string | boolean; - order?: number; - bases?: BaseType[]; - is_meta?: boolean; - prefix?: string; - created_at?: any; - updated_at?: any; - slug?: string; + /** + * Detail + * @example Date : 2023-03-12 + */ + details?: string; } -export interface ProjectListType { - list?: ProjectType[]; - pageInfo?: PaginatedType; +/** + * Model for Audit Row Update Request + */ +export interface AuditRowUpdateReqType { + /** + * Column Name + * @example baz + */ + column_name?: string; + /** + * Foreign Key to Model + * @example md_ehn5izr99m7d45 + */ + fk_model_id?: string; + /** + * Row ID + * @example rec0Adp9PMG9o7uJy + */ + row_id?: string; + /** The previous value before the action */ + prev_value?: any; + /** The current value after the action */ + value?: any; } +/** + * Model for Base + */ export interface BaseType { - id?: string; - project_id?: string; - alias?: string; - type?: string; - is_meta?: boolean; + /** Base Name - Default BASE will be null by default */ + alias?: StringOrNullType; + /** Base Configuration */ config?: any; - created_at?: any; - updated_at?: any; + /** Is this base enabled */ + enabled?: BoolType; + /** Unique Base ID */ + id?: string; + /** + * Inflection for columns + * @example camelize + */ inflection_column?: string; + /** + * Inflection for tables + * @example camelize + */ inflection_table?: string; + /** Is the data source connected externally */ + is_meta?: BoolType; + /** + * The order of the list of bases + * @example 1 + */ order?: number; - enabled?: boolean; + /** The project ID that this base belongs to */ + project_id?: string; + /** + * DB Type + * @example mysql2 + */ + type?: + | 'mssql' + | 'mysql' + | 'mysql2' + | 'oracledb' + | 'pg' + | 'snowflake' + | 'sqlite3'; +} + +/** + * Model for Base List + */ +export interface BaseListType { + /** List of base objects */ + list: BaseType[]; + /** Paginated Info */ + pageInfo: PaginatedType; } +/** + * Model for Base Request + */ export interface BaseReqType { - id?: string; - project_id?: string; + /** + * Base Name - Default BASE will be null by default + * @example My Base + */ alias?: string; - type?: string; - is_meta?: boolean; + /** Base Configuration */ config?: any; + /** + * Inflection for columns + * @example camelize + */ inflection_column?: string; + /** + * Inflection for tables + * @example camelize + */ inflection_table?: string; + /** Is the data source connected externally */ + is_meta?: boolean; + /** DB Type */ + type?: + | 'mssql' + | 'mysql' + | 'mysql2' + | 'oracledb' + | 'pg' + | 'snowflake' + | 'sqlite3'; } -export interface BaseListType { - bases: { - list: BaseType[]; - pageInfo: PaginatedType; - }; -} +/** + * Model for Bool + */ +export type BoolType = number | boolean | null; -export interface TableType { - id?: string; - project_id?: string; +/** + * Model for Column + */ +export interface ColumnType { + /** Is Auto-Increment? */ + ai?: BoolType; + /** Auto Update Timestamp */ + au?: BoolType; + /** + * Base ID that this column belongs to + * @example ds_krsappzu9f8vmo + */ base_id?: string; - table_name: string; - title: string; - type?: string; - enabled?: boolean; - parent_id?: string; - show_as?: string; - tags?: string; - pinned?: boolean; - deleted?: boolean; - order?: number; - columns?: ColumnType[]; - columnsById?: object; - slug?: string; - mm?: boolean | number; - meta?: any; -} - -export interface ViewType { - id?: string; - title: string; - deleted?: boolean; - order?: number; + /** Column Comment */ + cc?: string; + /** Column Default */ + cdf?: StringOrNullType; + /** Character Maximum Length */ + clen?: number | null | string; + /** Column Options */ + colOptions?: + | FormulaType + | LinkToAnotherRecordType + | LookupType + | RollupType + | SelectOptionsType + | object + | (FormulaType & + LinkToAnotherRecordType & + LookupType & + RollupType & + SelectOptionsType & + object); + /** + * Column Name + * @example title + */ + column_name?: string; + /** Column Ordinal Position */ + cop?: string; + /** Character Set Name */ + csn?: StringOrNullType; + /** + * Column Type + * @example varchar(45) + */ + ct?: string; + /** Is Deleted? */ + deleted?: BoolType; + /** + * Data Type in DB + * @example varchar + */ + dt?: string; + /** + * Data Type X + * @example specificType + */ + dtx?: string; + /** Data Type X Precision */ + dtxp?: null | number | string; + /** Data Type X Scale */ + dtxs?: null | number | string; + /** + * Model ID that this column belongs to + * @example md_yvwvbt2i78rgcm + */ fk_model_id?: string; - slug?: string; - uuid?: string; - meta?: any; - show_system_fields?: boolean; - lock_type?: 'collaborative' | 'locked' | 'personal'; - type?: number; - view?: FormType | GridType | GalleryType | KanbanType; + /** Unique ID */ + id?: IdType; + /** Meta Info */ + meta?: MetaType; + /** Numeric Precision */ + np?: number | null | string; + /** Numeric Scale */ + ns?: number | null | string; + /** The order of the list of columns */ + order?: number; + /** Is Primary Key? */ + pk?: BoolType; + /** Is Primary Value? */ + pv?: BoolType; + /** Is Required? */ + rqd?: BoolType; + /** Is System Column? */ + system?: BoolType; + /** + * Column Title + * @example Title + */ + title?: string; + /** + * The data type in UI + * @example SingleLineText + */ + uidt?: + | 'Attachment' + | 'AutoNumber' + | 'Barcode' + | 'Button' + | 'Checkbox' + | 'Collaborator' + | 'Count' + | 'CreateTime' + | 'Currency' + | 'Date' + | 'DateTime' + | 'Decimal' + | 'Duration' + | 'Email' + | 'Formula' + | 'ForeignKey' + | 'GeoData' + | 'Geometry' + | 'ID' + | 'JSON' + | 'LastModifiedTime' + | 'LongText' + | 'LinkToAnotherRecord' + | 'Lookup' + | 'MultiSelect' + | 'Number' + | 'Percent' + | 'PhoneNumber' + | 'Rating' + | 'Rollup' + | 'SingleLineText' + | 'SingleSelect' + | 'SpecificDBType' + | 'Time' + | 'URL' + | 'Year' + | 'QrCode'; + /** Is Unsigned? */ + un?: BoolType; + /** Is unique? */ + unique?: BoolType; + /** Is Visible? */ + visible?: BoolType; } -export interface TableInfoType { - id?: string; - fk_project_id?: string; - fk_base_id?: string; - title: string; - table_name: string; - type?: string; - enabled?: string; - parent_id?: string; - show_as?: string; - tags?: string; - pinned?: boolean; - deleted?: boolean; - order?: number; - column?: ColumnType[]; - filters?: FilterType[]; - sort?: SortType[]; +/** + * Model for Column List + */ +export interface ColumnListType { + /** List of column objects */ + list: ColumnType[]; + /** Model for Paginated */ + pageInfo: PaginatedType; } -export interface TableReqType { - id?: string; - fk_project_id?: string; - fk_base_id?: string; - table_name: string; +/** + * Model for Column Request + */ +export type ColumnReqType = ( + | FormulaColumnReqType + | LinkToAnotherColumnReqType + | LookupColumnReqType + | NormalColumnRequestType + | RollupColumnReqType + | (FormulaColumnReqType & + LinkToAnotherColumnReqType & + LookupColumnReqType & + NormalColumnRequestType & + RollupColumnReqType) +) & { + column_name?: string; + /** Column order in a specific view */ + column_order?: { + order?: number; + view_id?: string; + }; title: string; - type?: string; - enabled?: string; - parent_id?: string; - show_as?: string; - tags?: string; - pinned?: boolean; - deleted?: boolean; - order?: number; - mm?: boolean; - columns: ColumnType[]; - meta?: any; -} +}; -export interface TableListType { - list?: TableType[]; - pageInfo?: PaginatedType; +/** + * Model for Comment Request + */ +export interface CommentReqType { + /** + * Description for the target row + * @example This is the comment for the row + */ + description?: string; + /** + * Foreign Key to Model + * @example md_ehn5izr99m7d45 + */ + fk_model_id: string; + /** + * Row ID + * @example 3 + */ + row_id: string; } -export interface FilterType { - id?: string; - fk_model_id?: string; - fk_column_id?: string; - logical_op?: string; - comparison_op?: string; - value?: string | number | boolean | null; - is_group?: boolean; +/** + * Model for Filter + */ +export interface FilterType { + /** Unqiue Base ID */ + base_id?: string; + /** Children filters. Available when the filter is grouped. */ children?: FilterType[]; + /** Comparison Operator */ + comparison_op?: + | 'allof' + | 'anyof' + | 'blank' + | 'btw' + | 'checked' + | 'empty' + | 'eq' + | 'ge' + | 'gt' + | 'gte' + | 'in' + | 'is' + | 'isWithin' + | 'isnot' + | 'le' + | 'like' + | 'lt' + | 'lte' + | 'nallof' + | 'nanyof' + | 'nbtw' + | 'neq' + | 'nlike' + | 'not' + | 'notblank' + | 'notchecked' + | 'notempty' + | 'notnull' + | 'null'; + /** Comparison Sub-Operator */ + comparison_sub_op?: + | 'daysAgo' + | 'daysFromNow' + | 'exactDate' + | 'nextMonth' + | 'nextNumberOfDays' + | 'nextWeek' + | 'nextYear' + | 'oneMonthAgo' + | 'oneMonthFromNow' + | 'oneWeekAgo' + | 'oneWeekFromNow' + | 'pastMonth' + | 'pastNumberOfDays' + | 'pastWeek' + | 'pastYear' + | 'today' + | 'tomorrow' + | 'yesterday' + | null + | ( + | 'daysAgo' + | 'daysFromNow' + | 'exactDate' + | 'nextMonth' + | 'nextNumberOfDays' + | 'nextWeek' + | 'nextYear' + | 'oneMonthAgo' + | 'oneMonthFromNow' + | 'oneWeekAgo' + | 'oneWeekFromNow' + | 'pastMonth' + | 'pastNumberOfDays' + | 'pastWeek' + | 'pastYear' + | 'today' + | 'tomorrow' + | ('yesterday' & null) + ); + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** Foreign Key to Hook */ + fk_hook_id?: StringOrNullType; + /** Foreign Key to Model */ + fk_model_id?: IdType; + /** Foreign Key to parent group. */ + fk_parent_id?: StringOrNullType; + /** Foreign Key to View */ + fk_view_id?: StringOrNullType; + /** Unique ID */ + id?: IdType; + /** Is this filter grouped? */ + is_group?: boolean | number | null; + /** Logical Operator */ + logical_op?: 'and' | 'not' | 'or'; + /** Unique Project ID */ project_id?: string; - base_id?: string; - fk_parent_id?: string; - fk_view_id?: string; - fk_hook_id?: string; + /** The filter value. Can be NULL for some operators. */ + value?: any; } +/** + * Model for Filter List + */ export interface FilterListType { - filters: { - list: FilterType[]; - }; -} - -export interface SortType { - id?: string; - fk_model_id?: string; - fk_column_id?: string; - direction?: string; - order?: number; - project_id?: string; - base_id?: string; + /** List of filter objects */ + list: FilterType[]; + /** Model for Paginated */ + pageInfo: PaginatedType; } -export interface SortListType { - sorts: { - list: SharedViewType[]; - }; +/** + * Model for Filter Request + */ +export interface FilterReqType { + /** Comparison Operator */ + comparison_op?: + | 'allof' + | 'anyof' + | 'blank' + | 'btw' + | 'checked' + | 'empty' + | 'eq' + | 'ge' + | 'gt' + | 'gte' + | 'in' + | 'is' + | 'isWithin' + | 'isnot' + | 'le' + | 'like' + | 'lt' + | 'lte' + | 'nallof' + | 'nanyof' + | 'nbtw' + | 'neq' + | 'nlike' + | 'not' + | 'notblank' + | 'notchecked' + | 'notempty' + | 'notnull' + | 'null'; + /** Comparison Sub-Operator */ + comparison_sub_op?: + | 'daysAgo' + | 'daysFromNow' + | 'exactDate' + | 'nextMonth' + | 'nextNumberOfDays' + | 'nextWeek' + | 'nextYear' + | 'oneMonthAgo' + | 'oneMonthFromNow' + | 'oneWeekAgo' + | 'oneWeekFromNow' + | 'pastMonth' + | 'pastNumberOfDays' + | 'pastWeek' + | 'pastYear' + | 'today' + | 'tomorrow' + | 'yesterday' + | null + | ( + | 'daysAgo' + | 'daysFromNow' + | 'exactDate' + | 'nextMonth' + | 'nextNumberOfDays' + | 'nextWeek' + | 'nextYear' + | 'oneMonthAgo' + | 'oneMonthFromNow' + | 'oneWeekAgo' + | 'oneWeekFromNow' + | 'pastMonth' + | 'pastNumberOfDays' + | 'pastWeek' + | 'pastYear' + | 'today' + | 'tomorrow' + | ('yesterday' & null) + ); + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** Belong to which filter ID */ + fk_parent_id?: IdType; + /** Is this filter grouped? */ + is_group?: BoolType; + /** Logical Operator */ + logical_op?: 'and' | 'not' | 'or'; + /** The filter value. Can be NULL for some operators. */ + value?: any; } -export interface ColumnType { - id?: string; - base_id?: string; +/** + * Model for Form + */ +export interface FormType { + /** Unique ID */ + id?: IdType; + /** Banner Image URL. Not in use currently. */ + banner_image_url?: StringOrNullType; + /** Form Columns */ + columns?: FormColumnType[]; + /** Email to sned after form is submitted */ + email?: StringOrNullType; + /** + * Foreign Key to Model + * @example md_rsu68aqjsbyqtl + */ fk_model_id?: string; + /** + * Base ID + * @example md_rsu68aqjsbyqtl + */ + base_id?: string; + /** + * The heading of the form + * @example My Form + */ + heading?: string; + /** + * Lock Type of this view + * @example collaborative + */ + lock_type?: 'collaborative' | 'locked' | 'personal'; + /** Logo URL. Not in use currently. */ + logo_url?: StringOrNullType; + /** Meta Info for this view */ + meta?: MetaType; + /** The numbers of seconds to redirect after form submission */ + redirect_after_secs?: StringOrNullType; + /** URL to redirect after submission */ + redirect_url?: StringOrNullType; + /** Show `Blank Form` after 5 seconds */ + show_blank_form?: BoolType; + /** + * The subheading of the form + * @example My Form Subheading + */ + subheading?: string; + /** Show `Submit Another Form` button */ + submit_another_form?: BoolType; + /** Custom message after the form is successfully submitted */ + success_msg?: StringOrNullType; + /** + * Form View Title + * @example Form View 1 + */ title?: string; - uidt: string; - dt?: string; - np?: string; - ns?: string; - clen?: string | number; - cop?: string; - pk?: boolean; - pv?: boolean; - rqd?: boolean; - column_name?: string; - un?: boolean; - ct?: string; - ai?: boolean; - unique?: boolean; - cdf?: string; - cc?: string; - csn?: string; - dtx?: string; - dtxp?: string; - dtxs?: string; - au?: boolean; - deleted?: boolean; - visible?: boolean; - order?: number; - system?: number | boolean; - meta?: any; - colOptions?: - | LinkToAnotherRecordType - | FormulaType - | RollupType - | LookupType - | SelectOptionsType - | object; -} - -export interface ColumnListType { - columns: { - list: ColumnType[]; - }; } -export interface LinkToAnotherRecordType { - id?: string; - type?: string; - virtual?: boolean; - fk_column_id?: string; - fk_child_column_id?: string; - fk_parent_column_id?: string; - fk_mm_model_id?: string; - fk_related_model_id?: string; - fk_mm_child_column_id?: string; - fk_mm_parent_column_id?: string; - ur?: string; - dr?: string; - fk_index_name?: string; - deleted?: string; - order?: string; +/** + * Model for Form Update Request + */ +export interface FormUpdateReqType { + /** Banner Image URL. Not in use currently. */ + banner_image_url?: StringOrNullType; + /** Email to sned after form is submitted */ + email?: StringOrNullType; + /** + * The heading of the form + * @example My Form + */ + heading?: string; + /** Logo URL. Not in use currently. */ + logo_url?: StringOrNullType; + /** Meta Info for this view */ + meta?: MetaType; + /** The numbers of seconds to redirect after form submission */ + redirect_after_secs?: StringOrNullType; + /** URL to redirect after submission */ + redirect_url?: StringOrNullType; + /** Show `Blank Form` after 5 seconds */ + show_blank_form?: BoolType; + /** The subheading of the form */ + subheading?: StringOrNullType; + /** Show `Submit Another Form` button */ + submit_another_form?: BoolType; + /** Custom message after the form is successfully submitted */ + success_msg?: StringOrNullType; } -export interface LookupType { - id?: string; - type?: string; - virtual?: boolean; - fk_column_id?: string; - fk_relation_column_id?: string; - fk_lookup_column_id?: string; - deleted?: string; - order?: string; +/** + * Model for Form Column + */ +export interface FormColumnType { + /** Unique ID */ + id?: IdType; + /** Form Column Description (Not in use) */ + description?: StringOrNullType; + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** Foreign Key to View */ + fk_view_id?: IdType; + /** Form Column Help Text */ + help?: StringOrNullType; + /** Form Column Label */ + label?: StringOrNullType; + /** Meta Info */ + meta?: MetaType; + /** + * The order among all the columns in the form + * @example 1 + */ + order?: number; + /** Is this form column required in submission? */ + required?: BoolType; + /** Is this column shown in Form? */ + show?: BoolType; + /** Form Column UUID (Not in use) */ + uuid?: StringOrNullType; } -export interface RollupType { - id?: string; - type?: string; - virtual?: boolean; - fk_column_id?: string; - fk_relation_column_id?: string; - fk_rollup_column_id?: string; - rollup_function?: string; - deleted?: string; - order?: string; +/** + * Model for Form Column Request + */ +export interface FormColumnReqType { + /** Form Column Description (Not in use) */ + description?: StringOrNullType; + /** Form Column Help Text */ + help?: StringOrNullType; + /** Form Column Label */ + label?: StringOrNullType; + /** Meta Info */ + meta?: MetaType; + /** The order among all the columns in the form */ + order?: number; + /** Is this form column required in submission? */ + required?: BoolType; + /** Is this column shown in Form? */ + show?: BoolType; } +/** + * Model for Formula + */ export interface FormulaType { - id?: string; - type?: string; - virtual?: boolean; - fk_column_id?: string; + /** Unique ID */ + id?: IdType; + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** + * Formula with column ID replaced + * @example CONCAT("FOO", {{cl_c5knoi4xs4sfpt}}) + */ formula?: string; + /** + * Original Formula inputted in UI + * @example CONCAT("FOO", {Title}) + */ formula_raw?: string; - deleted?: string; - order?: string; -} - -export interface SelectOptionsType { - options: SelectOptionType[]; -} - -export interface SelectOptionType { - id?: string; - fk_column_id?: string; - title?: string; - color?: string; - order?: number; + /** Error Message */ + error?: string; } -export interface GridType { - id?: string; +/** + * Model for Formula Column Request + */ +export interface FormulaColumnReqType { + /** Formula with column ID replaced */ + formula?: string; + /** Original Formula inputted in UI */ + formula_raw?: string; + /** Formula Title */ title?: string; - alias?: string; - deleted?: boolean; - order?: number; - lock_type?: 'collaborative' | 'locked' | 'personal'; - row_height?: number; + /** UI Data Type */ + uidt?: 'Formula'; } +/** + * Model for Gallery + */ export interface GalleryType { - fk_view_id?: string; - title?: string; alias?: string; - deleted?: boolean; - order?: number; - next_enabled?: boolean; - prev_enabled?: boolean; - cover_image_idx?: number; - cover_image?: string; - restrict_types?: string; - restrict_size?: string; - restrict_number?: string; columns?: GalleryColumnType[]; - fk_model_id?: string; + cover_image?: string; + cover_image_idx?: number; + /** Model for Bool */ + deleted?: BoolType; + /** Foreign Key to Cover Image Column */ fk_cover_image_col_id?: string; + /** Foreign Key to Model */ + fk_model_id?: string; + /** Foreign Key to View */ + fk_view_id?: string; lock_type?: 'collaborative' | 'locked' | 'personal'; + /** Model for Bool */ + next_enabled?: BoolType; + /** Order of Gallery */ + order?: number; + /** Model for Bool */ + prev_enabled?: BoolType; + restrict_number?: string; + restrict_size?: string; + restrict_types?: string; + title?: string; } +/** + * Model for Gallery Column + */ export interface GalleryColumnType { - id?: string; - label?: string; - help?: string; fk_col_id?: string; fk_gallery_id?: string; -} - -export interface GridColumnType { - id?: string; - label?: string; help?: string; - fk_column_id?: string; - fk_gallery_id?: string; - width?: string; -} - -export interface KanbanColumnType { - id?: string; + /** Unique ID */ + id?: IdType; label?: string; - help?: string; - fk_column_id?: string; - fk_kanban_id?: string; -} - -export interface KanbanType { - id?: string; - title?: string; - alias?: string; - columns?: KanbanColumnType[]; - fk_model_id?: string; - fk_grp_col_id?: string | null; - fk_cover_image_col_id?: string; - meta?: string | object; } -export interface FormType { - id?: string; - title?: string; - heading?: string; - subheading?: string; - success_msg?: string; - redirect_url?: string; - redirect_after_secs?: string; - email?: string; - banner_image_url?: string; - logo_url?: string; - submit_another_form?: boolean; - show_blank_form?: boolean; - columns?: FormColumnType[]; - fk_model_id?: string; - lock_type?: 'collaborative' | 'locked' | 'personal'; - meta?: any; +/** + * Model for Gallery View Update Request + */ +export interface GalleryUpdateReqType { + /** The id of the column that contains the cover image */ + fk_cover_image_col_id?: StringOrNullType; + /** Meta Info */ + meta?: MetaType; } -export interface FormColumnType { - fk_column_id?: string; - id?: string; - fk_view_id?: string; - uuid?: any; - label?: string; - help?: any; - required?: boolean; - show?: boolean; - order?: number; - created_at?: string; - updated_at?: string; - description?: string; - meta?: any; +/** + * Model for Geo Location + */ +export interface GeoLocationType { + /** + * The latitude of the location + * @format double + * @example 18.52139 + */ + latitude?: number; + /** + * The longitude of the location + * @format double + * @example 179.87295 + */ + longitude?: number; } -export interface PaginatedType { - pageSize?: number; - totalRows?: number; - sort?: string | any[]; - isFirstPage?: boolean; - isLastPage?: boolean; - page?: number; +/** + * Model for Grid + */ +export interface GridType { + /** Unique ID */ + id?: IdType; + /** Project ID */ + project_id?: IdType; + /** Base ID */ + base_id?: IdType; + /** Foreign Key to View */ + fk_view_id?: IdType; + /** + * Row Height + * @example 1 + */ + row_height?: number; + /** Meta info for Grid Model */ + meta?: MetaType; + /** Grid View Columns */ + columns?: GridColumnType[]; } -export interface HookListType { - list?: object[]; - pageInfo?: PaginatedType; +/** + * Model for Grid Column + */ +export interface GridColumnType { + /** Unique ID */ + id?: IdType; + /** Foreign Key to View */ + fk_view_id?: IdType; + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** Project ID */ + project_id?: IdType; + /** Base ID */ + base_id?: IdType; + /** Model for Bool */ + show?: BoolType; + /** + * Grid Column Order + * @example 1 + */ + order?: number; + /** + * Column Width + * @example 200px + */ + width?: string; + /** Column Help Text */ + help?: StringOrNullType; } -export interface SharedViewType { - id?: string; - fk_view_id?: string; - password?: string; - deleted?: string; +/** + * Model for Grid Column Request + */ +export interface GridColumnReqType { + /** Foreign Key to Column */ + fk_column_id?: IdType; + help?: string; + /** + * The label of the column + * @example My Column + */ + label?: string; + /** + * The width of the column + * @pattern ^[0-9]+(px|%)$ + * @example 200px + */ + width?: string; } -export interface SharedViewListType { - list?: SharedViewType[]; - pageInfo?: PaginatedType; -} - -export interface ViewListType { - list?: ViewType[]; - pageInfo?: PaginatedType; -} - -export interface AttachmentType { - url?: string; - title?: string; - mimetype?: string; - size?: string; - icon?: string; - path?: string; - data?: any; -} - -export interface WebhookType { - id?: string; - title?: string; - type?: string; -} - -export interface AuditType { - id?: string; - user?: string; - ip?: string; - base_id?: string; - project_id?: string; - fk_model_id?: string; - row_id?: string; - op_type?: string; - op_sub_type?: string; - status?: string; - description?: string; - details?: string; +/** + * Model for Grid View Update + */ +export interface GridUpdateReqType { + /** + * Row Height + * @example 1 + */ + row_height?: number; + /** Meta Info for grid view */ + meta?: MetaType; } +/** + * Model for Hook + */ export interface HookType { - id?: string; - fk_model_id?: string; - title?: string; + /** Is the hook active? */ + active?: BoolType; + /** Is the hook aysnc? */ + async?: BoolType; + /** + * Hook Description + * @example This is my hook description + */ description?: string; + /** + * Environment for the hook + * @example all + */ env?: string; - type?: string; - event?: 'After' | 'Before'; - operation?: 'insert' | 'delete' | 'update'; - async?: boolean; - payload?: string; - url?: string; - headers?: string; - condition?: boolean; - notification?: string; + /** + * Event Type for the operation + * @example after + */ + event?: 'after' | 'before'; + /** + * Foreign Key to Model + * @example md_rsu68aqjsbyqtl + */ + fk_model_id?: string; + /** Unique ID */ + id?: IdType; + /** Hook Notification including info such as type, payload, method, body, and etc */ + notification?: object | string; + /** + * Hook Operation + * @example insert + */ + operation?: 'delete' | 'insert' | 'update'; + /** + * Retry Count + * @example 10 + */ retries?: number; + /** + * Retry Interval + * @example 60000 + */ retry_interval?: number; + /** + * Timeout + * @example 60000 + */ timeout?: number; - active?: boolean; -} - -export interface PluginType { - id?: string; + /** + * Hook Title + * @example My Webhook + */ title?: string; - description?: string; - active?: boolean; - rating?: number; - version?: string; - docs?: string; - status?: string; - status_details?: string; - logo?: string; - icon?: string; - tags?: string; - category?: string; - input_schema?: string; - input?: string | null; - creator?: string; - creator_website?: string; - price?: string; + /** Hook Type */ + type?: string; } -export interface ModelRoleVisibilityType { - id?: string; - project_id?: string; - base_id?: string; +/** + * Model for Hook + */ +export interface HookReqType { + /** Is the hook active? */ + active?: BoolType; + /** Is the hook aysnc? */ + async?: BoolType; + /** Hook Description */ + description?: StringOrNullType; + /** + * Environment for the hook + * @example all + */ + env?: string; + /** + * Event Type for the operation + * @example after + */ + event: 'after' | 'before'; + /** + * Foreign Key to Model + * @example md_rsu68aqjsbyqtl + */ fk_model_id?: string; - fk_view_id?: string; - role?: string; - disabled?: boolean; + /** Unique ID */ + id?: IdType; + /** Hook Notification including info such as type, payload, method, body, and etc */ + notification: object | string; + /** + * Hook Operation + * @example insert + */ + operation: 'delete' | 'insert' | 'update'; + /** + * Retry Count + * @example 10 + */ + retries?: number; + /** + * Retry Interval + * @example 60000 + */ + retry_interval?: number; + /** + * Timeout + * @example 60000 + */ + timeout?: number; + /** + * Hook Title + * @example My Webhook + */ + title: string; + /** Hook Type */ + type?: string | null; } -export interface ApiTokenType { - id?: string; - token?: string; - description?: string; - fk_user_id?: string; - created_at?: any; - updated_at?: any; +/** + * Model for Hook List + */ +export interface HookListType { + /** List of hook objects */ + list: HookType[]; + /** Model for Paginated */ + pageInfo: PaginatedType; } +/** + * Model for Hook Log + */ export interface HookLogType { - id?: string; base_id?: string; - project_id?: string; - fk_hook_id?: string; - type?: string; - event?: string; - operation?: string; - test_call?: boolean; - payload?: string; conditions?: string; - notifications?: string; + error?: string; error_code?: string; error_message?: string; - error?: string; + event?: string; execution_time?: string; + /** Model for StringOrNull */ + fk_hook_id?: StringOrNullType; + /** Unique ID */ + id?: IdType; + notifications?: string; + operation?: string; + payload?: any; + project_id?: string; response?: string; + /** Model for Bool */ + test_call?: BoolType; triggered_by?: string; - created_at?: string; - updated_at?: string; + type?: string; } -export interface NormalColumnRequestType { - uidt?: - | 'ID' - | 'SingleLineText' - | 'LongText' - | 'Attachment' - | 'Checkbox' - | 'MultiSelect' - | 'SingleSelect' - | 'Collaborator' - | 'Date' - | 'Year' - | 'Time' - | 'PhoneNumber' - | 'Email' - | 'URL' - | 'Number' - | 'Decimal' - | 'Currency' - | 'Percent' - | 'Duration' - | 'Rating' - | 'Count' - | 'DateTime' - | 'CreateTime' - | 'LastModifiedTime' - | 'AutoNumber' - | 'Geometry' - | 'JSON' - | 'SpecificDBType' - | 'Barcode' - | 'Button'; - id?: string; - base_id?: string; - fk_model_id?: string; +/** + * Model for Hook Test Request + */ +export interface HookTestReqType { + /** Model for Hook */ + hook: HookReqType; + /** Payload to be sent */ + payload: any; +} + +/** + * Model for ID + */ +export type IdType = string; + +/** + * Model for Kanban + */ +export interface KanbanType { + /** Unique ID */ + id?: IdType; + /** Grouping Field Column ID */ + fk_grp_col_id?: StringOrNullType; + /** View ID */ + fk_view_id?: IdType; + /** Cover Image Column ID */ + fk_cover_image_col_id?: IdType; + /** Kanban Columns */ + columns?: KanbanColumnType[]; + /** Meta Info for Kanban */ + meta?: MetaType; + /** + * Kanban Title + * @example My Kanban + */ title?: string; - dt?: string; - np?: string; - ns?: string; - clen?: string | number; - cop?: string; - pk?: boolean; - pv?: boolean; - rqd?: boolean; - column_name?: string; - un?: boolean; - ct?: string; - ai?: boolean; - unique?: boolean; - cdf?: string; - cc?: string; - csn?: string; - dtx?: string; - dtxp?: string; - dtxs?: string; - au?: boolean; } +/** + * Model for Kanban Column + */ +export interface KanbanColumnType { + /** Unique ID */ + id?: IdType; + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** Foreign Key to View */ + fk_view_id?: IdType; + /** + * Baes ID + * + */ + base_id?: IdType; + /** Project ID */ + project_id?: IdType; + /** Project ID */ + title?: string; + /** Is this column shown? */ + show?: BoolType; + /** + * Column Order + * @example 1 + */ + order?: number; +} + +/** + * Model for Kanban Update Request + */ +export interface KanbanUpdateReqType { + /** Foreign Key to Grouping Field Column */ + fk_grp_col_id?: StringOrNullType; + /** Foreign Key to Cover Image Column */ + fk_cover_image_col_id?: StringOrNullType; + /** Meta Info */ + meta?: MetaType; +} + +/** + * Model for Kanban Request + */ +export interface LicenseReqType { + /** + * The license key + * @example 1234567890 + */ + key?: string; +} + +/** + * Model for LinkToAnotherColumn Request + */ export interface LinkToAnotherColumnReqType { - uidt: 'LinkToAnotherRecord'; + /** Foreign Key to chhild column */ + childId: IdType; + /** Foreign Key to parent column */ + parentId: IdType; + /** The title of the virtual column */ title: string; - virtual?: boolean; - parentId: string; - childId: string; - type: 'hm' | 'bt' | 'mm'; + /** The type of the relationship */ + type: 'bt' | 'hm' | 'mm'; + /** Abstract type of the relationship */ + uidt: 'LinkToAnotherRecord'; + /** Is this relationship virtual? */ + virtual?: BoolType; } -export interface RollupColumnReqType { - uidt?: 'Rollup'; - title?: string; - fk_relation_column_id?: string; - fk_rollup_column_id?: string; - rollup_function?: string; +/** + * Model for LinkToAnotherRecord + */ +export interface LinkToAnotherRecordType { + deleted?: string; + dr?: string; + fk_child_column_id?: string; + /** Foreign Key to Column */ + fk_column_id?: IdType; + fk_index_name?: string; + fk_mm_child_column_id?: string; + fk_mm_model_id?: string; + fk_mm_parent_column_id?: string; + fk_parent_column_id?: string; + fk_related_model_id?: string; + /** Unique ID */ + id?: IdType; + order?: string; + type?: string; + ur?: string; + /** Model for Bool */ + virtual?: BoolType; +} + +/** + * Model for Lookup + */ +export interface LookupType { + /** Unique ID */ + id?: IdType; + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** Foreign Key to Lookup Column */ + fk_lookup_column_id?: IdType; + /** Foreign Key to Relation Column */ + fk_relation_column_id?: IdType; + /** + * The order among the list + * @example 1 + */ + order?: number; } +/** + * Model for Lookup Column Request + */ export interface LookupColumnReqType { - uidt?: 'Lookup'; + /** Foreign Key to Lookup Column */ + fk_lookup_column_id?: IdType; + /** Foreign Key to Relation Column */ + fk_relation_column_id?: IdType; + /** + * Lookup Title + * @example My Lookup + */ title?: string; - fk_relation_column_id?: string; - fk_lookup_column_id?: string; + /** UI DataType */ + uidt?: 'Lookup'; } -export interface FormulaColumnReqType { - uidt?: string; - formula_raw?: string; - formula?: string; +/** + * Model for Map + */ +export interface MapType { + /** + * The ID of the base that this view belongs to + * @example ds_g4ccx6e77h1dmi + */ + base_id?: string; + /** Columns in this view */ + columns?: MapColumnType[]; + /** + * Foreign Key to GeoData Column + * @example cl_8iw2o4ejzvdyna + */ + fk_geo_data_col_id?: string; + /** + * Unique ID for Map + * @example vw_qjt7klod1p9kyv + */ + fk_view_id?: string; + /** Meta data for this view */ + meta?: MetaType; + /** The order of the map list */ + order?: number; + /** + * The ID of the project that this view belongs to + * @example p_xm3thidrblw4n7 + */ + project_id?: string; + /** To show this Map or not */ + show?: boolean; + /** + * Title of Map View + * @example My Map + */ title?: string; } -export type ColumnReqType = ( - | NormalColumnRequestType - | LinkToAnotherColumnReqType - | RollupColumnReqType - | FormulaColumnReqType - | LookupColumnReqType -) & { - column_name?: string; - title?: string; - column_order?: { - view_id?: string; - order?: number; +/** + * Model for Map + */ +export interface MapUpdateReqType { + /** + * Foreign Key to GeoData Column + * @example cl_8iw2o4ejzvdyna + */ + fk_geo_data_col_id?: string; + /** Meta data for this view */ + meta?: MetaType; +} + +/** + * Model for Map Column + */ +export interface MapColumnType { + /** + * The ID of the base that this map column belongs to + * @example ds_g4ccx6e77h1dmi + */ + base_id?: string; + /** + * Foreign Key to Column + * @example cl_8iw2o4ejzvdyna + */ + fk_column_id?: string; + /** + * Foreign Key to View + * @example vw_qjt7klod1p9kyv + */ + fk_view_id?: string; + /** + * Unique ID of Map Column + * @example nc_46xcacqn4rc9xf + */ + id?: string; + /** + * the order in the list of map columns + * @example 1 + */ + order?: number; + /** + * The ID of the project that this map column belongs to + * @example p_xm3thidrblw4n7 + */ + project_id?: string; + /** + * Whether to show this column or not + * @example 1 + */ + show?: number; +} + +/** + * Model for Meta + */ +export type MetaType = null | object | string; + +/** + * Model for ModelRoleVisibility + */ +export interface ModelRoleVisibilityType { + base_id?: string; + /** Model for Bool */ + disabled?: BoolType; + fk_model_id?: string; + fk_view_id?: string; + /** Unique ID */ + id?: IdType; + project_id?: string; + role?: string; +} + +/** + * Model for Normal Column Request + */ +export interface NormalColumnRequestType { + /** Is this column auto-incremented? */ + ai?: BoolType; + /** Is this column auto-updated datetime field? */ + au?: BoolType; + /** Column Comment */ + cc?: StringOrNullType; + /** Column Default Value */ + cdf?: StringOrNullType; + /** Column Name */ + column_name: string; + /** Model for StringOrNull */ + csn?: StringOrNullType; + /** Data Type */ + dt?: string; + /** Data Type Extra */ + dtx?: StringOrNullType; + /** Data Type Extra Precision */ + dtxp?: StringOrNullType | number; + /** Data Type Extra Scale */ + dtxs?: StringOrNullType | number; + /** Numeric Precision */ + np?: StringOrNullType | number; + /** Numeric Scale */ + ns?: StringOrNullType | number; + /** Is this column a primary key? */ + pk?: BoolType; + /** Is this column a primary value? */ + pv?: BoolType; + /** Is this column required? */ + rqd?: BoolType; + /** Column Title */ + title?: string; + /** UI Data Type */ + uidt?: + | 'Attachment' + | 'AutoNumber' + | 'Barcode' + | 'Button' + | 'Checkbox' + | 'Collaborator' + | 'Count' + | 'CreateTime' + | 'Currency' + | 'Date' + | 'DateTime' + | 'Decimal' + | 'Duration' + | 'Email' + | 'Formula' + | 'ForeignKey' + | 'GeoData' + | 'Geometry' + | 'ID' + | 'JSON' + | 'LastModifiedTime' + | 'LongText' + | 'LinkToAnotherRecord' + | 'Lookup' + | 'MultiSelect' + | 'Number' + | 'Percent' + | 'PhoneNumber' + | 'Rating' + | 'Rollup' + | 'SingleLineText' + | 'SingleSelect' + | 'SpecificDBType' + | 'Time' + | 'URL' + | 'Year' + | 'QrCode'; + /** Is this column unique? */ + un?: BoolType; + /** Is this column unique? */ + unique?: BoolType; +} + +/** + * Model for Organisation User Update Request + */ +export interface OrgUserReqType { + /** @format email */ + email?: string; + /** Roles for the project user */ + roles?: 'org-level-creator' | 'org-level-viewer'; +} + +/** + * Model for Paginated + */ +export interface PaginatedType { + /** Is the current page the first page */ + isFirstPage?: boolean; + /** Is the current page the last page */ + isLastPage?: boolean; + /** + * The current page + * @example 1 + */ + page?: number; + /** + * The number of pages + * @example 10 + */ + pageSize?: number; + /** + * The number of rows in the given result + * @example 1 + */ + totalRows?: number; +} + +/** + * Model for Password + * @example password123456789 + */ +export type PasswordType = string; + +/** + * Model for Password Change Request + */ +export interface PasswordChangeReqType { + currentPassword: string; + newPassword: string; +} + +/** + * Model for Password Forgot Request + */ +export interface PasswordForgotReqType { + /** + * Email address of the user + * @format email + */ + email: string; +} + +/** + * Model for Password Reset Request + */ +export interface PasswordResetReqType { + /** + * New password + * @example newpassword + */ + password: string; +} + +/** + * Model for Plugin + */ +export interface PluginType { + /** Is plguin active? */ + active?: BoolType; + /** + * Plugin Category + * @example Storage + */ + category?: string; + /** Plugin Creator (Not in use) */ + creator?: string; + /** Plugin Creator website (Not in use) */ + creator_website?: string; + /** + * Plugin Description + * @example Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. + */ + description?: string; + /** Documentation of plugin (Not in use) */ + docs?: string; + /** Plugin Icon (Not in use) */ + icon?: string; + /** Unique ID */ + id?: IdType; + /** Plugin Input */ + input?: StringOrNullType | number; + /** + * Plugin Input Schema + * + */ + input_schema?: string; + /** + * Plugin logo + * @example plugins/s3.png + */ + logo?: string; + /** Plugin Price (Not in use) */ + price?: string; + /** Plugin Rating (Not in use) */ + rating?: number; + /** + * Plugin Status + * @example install + */ + status?: string; + /** Not in use */ + status_details?: string; + /** + * Plugin tags + * @example Storage + */ + tags?: string; + /** Plugin Title */ + title?: string; + /** + * Plugin Version + * @example 0.0.1 + */ + version?: string; +} + +/** + * Model for Plugin Request + */ +export interface PluginReqType { + /** Is Plugin Active? */ + active?: BoolType; + /** Plugin Input */ + input?: StringOrNullType; +} + +/** + * Model for Plugin Test Request + */ +export interface PluginTestReqType { + /** Plugin Title */ + title: string; + /** Plugin Input as JSON string */ + input: string; +} + +/** + * Model for Project + */ +export interface ProjectType { + /** List of base models */ + bases?: BaseType[]; + /** + * Primary Theme Color + * @example #24716E + */ + color?: string; + /** Is the project deleted */ + deleted?: BoolType; + /** + * Project Description + * @example This is my project description + */ + description?: string; + /** + * Unique Project ID + * @example p_124hhlkbeasewh + */ + id?: string; + /** Model for Bool */ + is_meta?: BoolType; + /** Meta Info such as theme colors */ + meta?: MetaType; + /** The order in project list */ + order?: number; + /** + * Project prefix. Used in XCDB only. + * @example nc_vm5q__ + */ + prefix?: string; + status?: string; + /** + * Project Title + * @example my-project + */ + title?: string; +} + +/** + * Model for Project List + */ +export interface ProjectListType { + /** List of Project Models */ + list: ProjectType[]; + /** Pagination Info */ + pageInfo: PaginatedType; +} + +/** + * Model for Project Request + */ +export interface ProjectReqType { + /** Array of Bases */ + bases?: BaseReqType[]; + /** + * Primary Theme Color + * @example #24716E + */ + color?: string; + /** + * Project Description + * @example This is my project description + */ + description?: string; + /** + * Project Title + * @example My Project + */ + title: string; +} + +/** + * Model for Project User Request + */ +export interface ProjectUserReqType { + /** + * Project User Email + * @format email + */ + email: string; + /** Project User Role */ + roles: 'commenter' | 'editor' | 'guest' | 'owner' | 'viewer' | 'creator'; +} + +/** + * Model for Rollup + */ +export interface RollupType { + /** Unique ID */ + id?: IdType; + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** Foreign to Relation Column */ + fk_relation_column_id?: IdType; + /** Foreign to Rollup Column */ + fk_rollup_column_id?: IdType; + /** + * Rollup Function + * @example count + */ + rollup_function?: + | 'count' + | 'min' + | 'max' + | 'avg' + | 'countDistinct' + | 'sumDistinct' + | 'avgDistinct'; +} + +/** + * Model for Rollup Column Request + */ +export interface RollupColumnReqType { + /** Foreign Key to Relation Column */ + fk_relation_column_id?: IdType; + /** Foreign Key to Rollup Column */ + fk_rollup_column_id?: IdType; + /** Rollup Column Title */ + title?: string; + /** Rollup Function */ + rollup_function?: + | 'avg' + | 'avgDistinct' + | 'count' + | 'countDistinct' + | 'max' + | 'min' + | 'sum' + | 'sumDistinct'; + /** UI DataType */ + uidt?: 'Rollup'; +} + +/** + * Model for SelectOption + */ +export interface SelectOptionType { + /** Unique ID */ + id?: IdType; + /** + * Option Title + * + * @example Option A + */ + title?: string; + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** + * Option Color + * @example #cfdffe + */ + color?: string; + /** + * The order among the options + * @example 1 + */ + order?: number; +} + +/** + * Model for SelectOptions + */ +export interface SelectOptionsType { + /** Array of select options */ + options: SelectOptionType[]; +} + +/** + * Model for Shared Base Request + */ +export interface SharedBaseReqType { + /** + * Password to protect the base + * @example password123 + */ + password?: string; + /** + * The role given the target user + * @example editor + */ + roles?: 'commenter' | 'editor' | 'viewer'; +} + +/** + * Model for Shared View + */ +export type SharedViewType = ViewType; + +/** + * Model for Shared View List + */ +export interface SharedViewListType { + /** List of shared view objects */ + list: SharedViewType[]; + /** Paginated Info */ + pageInfo: PaginatedType; +} + +/** + * Model for Shared View Request + */ +export interface SharedViewReqType { + /** Meta data passing to Shared View such as if download is allowed or not. */ + meta?: MetaType; + /** Password to restrict access */ + password?: StringOrNullType; +} + +/** + * Model for Signin Request + */ +export interface SignInReqType { + /** + * Email address of the user + * @format email + */ + email: string; + /** Password of the user */ + password: string; +} + +/** + * Model for Signup Request + */ +export interface SignUpReqType { + /** + * Email address of the user + * @format email + * @example user@example.com + */ + email: string; + /** + * Password of the user + * @example password123456789 + */ + password: string; + /** Model for StringOrNull */ + firstname?: StringOrNullType; + /** Model for StringOrNull */ + lastname?: StringOrNullType; + /** Sign Up Token. Used for invitation. */ + token?: StringOrNullType; + /** Ignore Subscription */ + ignore_subscribe?: BoolType; +} + +/** + * Model for Sort + */ +export interface SortType { + /** Unique ID */ + id?: IdType; + /** Model for ID */ + fk_column_id?: IdType; + /** Model for ID */ + fk_model_id?: IdType; + /** + * Base ID + * @example ds_3l9qx8xqksenrl + */ + base_id?: string; + /** + * Sort direction + * @example desc + */ + direction?: 'asc' | 'desc'; + /** @example 1 */ + order?: number; + /** + * Project ID + * @example p_9sx43moxhqtjm3 + */ + project_id?: string; +} + +/** + * Model for Sort List + */ +export interface SortListType { + /** List of Sort Objects */ + list: SortType[]; + /** Model for Paginated */ + pageInfo: PaginatedType; +} + +/** + * Model for Sort Request + */ +export interface SortReqType { + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** Sort direction */ + direction?: 'asc' | 'desc'; +} + +/** + * Model for StringOrNull + */ +export type StringOrNullType = string | null; + +/** + * Model for Table + */ +export interface TableType { + /** Unique Base ID */ + base_id?: string; + /** The columns included in this table */ + columns?: ColumnType[]; + /** Column Models grouped by IDs */ + columnsById?: object; + /** Model for Bool */ + deleted?: BoolType; + /** Is this table enabled? */ + enabled?: BoolType; + /** Unique Table ID */ + id?: string; + /** Meta Data */ + meta?: MetaType; + /** Is this table used for M2M */ + mm?: BoolType; + /** The order of the list of tables */ + order?: number; + /** Currently not in use */ + pinned?: BoolType; + /** Unique Project ID */ + project_id?: string; + /** Table Name. Prefix will be added for XCDB projects. */ + table_name: string; + /** Currently not in use */ + tags?: StringOrNullType; + /** Table Title */ + title: string; + /** Table Type */ + type?: string; +} + +/** + * Model for Table List + */ +export interface TableListType { + /** List of table objects */ + list: TableType[]; + /** Paginated Info */ + pageInfo: PaginatedType; +} + +/** + * Model for Table Request + */ +export interface TableReqType { + /** The column models in this table */ + columns: NormalColumnRequestType[]; + /** the meta data for this table */ + meta?: MetaType; + /** + * The order of table list + * @example 1 + */ + order?: number; + /** + * Table name + * @example my_table + */ + table_name: string; + /** + * Table title + * @example My Table + */ + title?: string; +} + +/** + * Model for User + */ +export interface UserType { + /** + * The email of the user + * @format email + * @example user@example.com + */ + email: string; + /** Set to true if the user's email has been verified. */ + email_verified: boolean; + /** + * The first name of the user + * @example Alice + */ + firstname: string; + /** + * Unique identifier for the given user. + * @example us_8kugj628ebjngs + */ + id: string; + /** + * The last name of the user + * @example Smith + */ + lastname: string; + /** + * The roles of the user + * @example org-level-viewer + */ + roles?: string; +} + +/** + * Model for User Info + */ +export interface UserInfoType { + /** + * User Email + * @format email + */ + email?: string; + /** Set to true if the user's email has been verified. */ + email_verified?: boolean; + /** The firstname of the user */ + firstname?: string; + /** User ID */ + id?: string; + /** The lastname of the user */ + lastname?: string; + /** The roles of the user */ + roles?: any; +} + +/** + * Model for User List + */ +export interface UserListType { + /** List of user objects */ + list: UserType[]; + /** Paginated Info */ + pageInfo: PaginatedType; +} + +/** + * Model for View + */ +export interface ViewType { + /** Unique Base ID */ + base_id?: IdType; + /** Unique Model ID */ + fk_model_id: IdType; + /** Unique ID for View */ + id?: IdType; + /** Lock Type of the view */ + lock_type?: 'collaborative' | 'locked' | 'personal'; + /** Meta data for this view */ + meta?: MetaType; + /** The rder of the list of views */ + order?: number; + /** Password for protecting the view */ + password?: StringOrNullType; + /** Unique Project ID */ + project_id?: IdType; + /** If this view is shown? */ + show: BoolType; + /** Should show system fields in this view? */ + show_system_fields?: BoolType; + /** View Title */ + title: string; + /** View Type */ + type: number; + /** UUID of the view */ + uuid?: StringOrNullType; + /** Associated View Model */ + view?: + | FormType + | GalleryType + | GridType + | KanbanType + | MapType + | (FormType & GalleryType & GridType & KanbanType & MapType); +} + +/** + * Model for View List + */ +export interface ViewListType { + /** List of view objects */ + list: ViewType[]; + /** Paginated Info */ + pageInfo: PaginatedType; +} + +/** + * Model for View Create Request + */ +export interface ViewCreateReqType { + /** + * View Title + * @example My View + */ + title: string; + /** View Type */ + type?: number; + /** ID of view to be copied from. Used in Copy View. */ + copy_from_id?: StringOrNullType; + /** Foreign Key to Grouping Column. Used in creating Kanban View. */ + fk_grp_col_id?: StringOrNullType; + /** Foreign Key to Geo Data Column. Used in creating Map View. */ + fk_geo_data_col_id?: StringOrNullType; +} + +/** + * Model for View Update Request + */ +export interface ViewUpdateReqType { + /** + * View Title + * @example Grid View 1 + */ + title?: string; + /** + * View UUID. Used in Shared View. + * @example e2457bbf-e29c-4fec-866e-fe3b01dba57f + */ + uuid?: string; + /** + * View Password. Used in Shared View. + * @example password123 + */ + password?: string; + /** + * Lock type of View. + * @example collaborative + */ + lock_type?: 'collaborative' | 'locked' | 'personal'; + /** Meta info used in View. */ + meta?: MetaType; + /** + * The order of the list of views. + * @min 0 + * @example 1 + */ + order?: number; + /** Should this view show system fields? */ + show_system_fields?: BoolType; +} + +/** + * Model for View Column Update Request + */ +export interface ViewColumnUpdateReqType { + /** View Title */ + show?: BoolType; + /** + * The order of the list of views. + * @min 0 + * @example 1 + */ + order?: number; +} + +/** + * Model for View Column Request + */ +export interface ViewColumnReqType { + /** Foreign Key to Column */ + fk_column_id?: IdType; + /** View Title */ + show?: BoolType; + /** + * The order of the list of views. + * @min 0 + * @example 1 + */ + order?: number; +} + +/** + * Model for Visibility Rule Request + */ +export type VisibilityRuleReqType = { + id?: string | null; + disabled?: { + /** Model for Bool */ + commenter?: BoolType; + /** Model for Bool */ + creator?: BoolType; + /** Model for Bool */ + editor?: BoolType; + /** Model for Bool */ + guest?: BoolType; + /** Model for Bool */ + owner?: BoolType; + /** Model for Bool */ + viewer?: BoolType; }; -}; - -export interface UserInfoType { - id?: string; - email?: string; - email_verified?: string; - firstname?: string; - lastname?: string; - roles?: any; -} +}[]; import axios, { AxiosInstance, AxiosRequestConfig, ResponseType } from 'axios'; @@ -853,6 +2459,8 @@ export class HttpClient { * @title nocodb * @version 1.0 * @baseUrl http://localhost:8080 + * + * NocoDB API Documentation */ export class Api< SecurityDataType extends unknown @@ -866,6 +2474,10 @@ export class Api< * @summary Signup * @request POST:/api/v1/auth/user/signup * @response `200` `{ + \** + * The signed JWT token for information exchange + * @example eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6IndAbm9jb2RiLmNvbSIsImZpcnN0bmFtZSI6bnVsbCwibGFzdG5hbWUiOm51bGwsImlkIjoidXNfYjN4bzJpNDRueDV5OWwiLCJyb2xlcyI6Im9yZy1sZXZlbC1jcmVhdG9yLHN1cGVyIiwidG9rZW5fdmVyc2lvbiI6ImJmMTc3ZGUzYjk3YjAzMjY4YjU0NGZmMjMzNGU5YjFhMGUzYzgxM2NiYzliOTJkYWMwYmM5NTRiNmUzN2ZjMTJjYmFkNDM2NmIwYzExZTdjIiwiaWF0IjoxNjc4MDc4NDMyLCJleHAiOjE2NzgxMTQ0MzJ9.gzwp_svZlbA5PV_eawYV-9UFjZVjniy-tCDce16xrkI + *\ token?: string, }` OK @@ -873,27 +2485,65 @@ export class Api< msg?: string, }` Bad Request - * @response `401` `void` Unauthorized - * @response `403` `void` Forbidden */ - signup: ( - data: { - email?: string; - password?: string; - }, - params: RequestParams = {} - ) => + signup: (data: SignUpReqType, params: RequestParams = {}) => this.request< { + /** + * The signed JWT token for information exchange + * @example eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6IndAbm9jb2RiLmNvbSIsImZpcnN0bmFtZSI6bnVsbCwibGFzdG5hbWUiOm51bGwsImlkIjoidXNfYjN4bzJpNDRueDV5OWwiLCJyb2xlcyI6Im9yZy1sZXZlbC1jcmVhdG9yLHN1cGVyIiwidG9rZW5fdmVyc2lvbiI6ImJmMTc3ZGUzYjk3YjAzMjY4YjU0NGZmMjMzNGU5YjFhMGUzYzgxM2NiYzliOTJkYWMwYmM5NTRiNmUzN2ZjMTJjYmFkNDM2NmIwYzExZTdjIiwiaWF0IjoxNjc4MDc4NDMyLCJleHAiOjE2NzgxMTQ0MzJ9.gzwp_svZlbA5PV_eawYV-9UFjZVjniy-tCDce16xrkI + */ token?: string; }, { msg?: string; - } | void + } >({ path: `/api/v1/auth/user/signup`, method: 'POST', body: data, + type: ContentType.Json, + format: 'json', + ...params, + }), + + /** + * @description Clear refresh token from the database and cookie. + * + * @tags Auth + * @name Signout + * @summary Signout + * @request POST:/api/v1/auth/user/signout + * @response `200` `{ + \** + * Success Message + * @example Signed out successfully + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + signout: (params: RequestParams = {}) => + this.request< + { + /** + * Success Message + * @example Signed out successfully + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ + path: `/api/v1/auth/user/signout`, + method: 'POST', format: 'json', ...params, }), @@ -906,27 +2556,31 @@ export class Api< * @summary Signin * @request POST:/api/v1/auth/user/signin * @response `200` `{ + \** + * The signed JWT token for information exchange + * @example eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6IndAbm9jb2RiLmNvbSIsImZpcnN0bmFtZSI6bnVsbCwibGFzdG5hbWUiOm51bGwsImlkIjoidXNfYjN4bzJpNDRueDV5OWwiLCJyb2xlcyI6Im9yZy1sZXZlbC1jcmVhdG9yLHN1cGVyIiwidG9rZW5fdmVyc2lvbiI6ImJmMTc3ZGUzYjk3YjAzMjY4YjU0NGZmMjMzNGU5YjFhMGUzYzgxM2NiYzliOTJkYWMwYmM5NTRiNmUzN2ZjMTJjYmFkNDM2NmIwYzExZTdjIiwiaWF0IjoxNjc4MDc4NDMyLCJleHAiOjE2NzgxMTQ0MzJ9.gzwp_svZlbA5PV_eawYV-9UFjZVjniy-tCDce16xrkI + *\ token?: string, }` OK * @response `400` `{ - msg?: string, + \** @example BadRequest [Error]: *\ + msg: string, -}` Bad Request +}` */ - signin: ( - data: { - email: string; - password: string; - }, - params: RequestParams = {} - ) => + signin: (data: SignInReqType, params: RequestParams = {}) => this.request< { + /** + * The signed JWT token for information exchange + * @example eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6IndAbm9jb2RiLmNvbSIsImZpcnN0bmFtZSI6bnVsbCwibGFzdG5hbWUiOm51bGwsImlkIjoidXNfYjN4bzJpNDRueDV5OWwiLCJyb2xlcyI6Im9yZy1sZXZlbC1jcmVhdG9yLHN1cGVyIiwidG9rZW5fdmVyc2lvbiI6ImJmMTc3ZGUzYjk3YjAzMjY4YjU0NGZmMjMzNGU5YjFhMGUzYzgxM2NiYzliOTJkYWMwYmM5NTRiNmUzN2ZjMTJjYmFkNDM2NmIwYzExZTdjIiwiaWF0IjoxNjc4MDc4NDMyLCJleHAiOjE2NzgxMTQ0MzJ9.gzwp_svZlbA5PV_eawYV-9UFjZVjniy-tCDce16xrkI + */ token?: string; }, { - msg?: string; + /** @example BadRequest [Error]: */ + msg: string; } >({ path: `/api/v1/auth/user/signin`, @@ -938,22 +2592,33 @@ export class Api< }), /** - * @description Returns authenticated user info - * - * @tags Auth - * @name Me - * @summary User info - * @request GET:/api/v1/auth/user/me - * @response `200` `UserInfoType` OK - */ + * @description Returns authenticated user info + * + * @tags Auth + * @name Me + * @summary Get User Info + * @request GET:/api/v1/auth/user/me + * @response `200` `UserInfoType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ me: ( query?: { /** Pass project id to get project specific roles along with user info */ - project_id?: string; + project_id?: IdType; }, params: RequestParams = {} ) => - this.request({ + this.request< + UserInfoType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/auth/user/me`, method: 'GET', query: query, @@ -962,26 +2627,45 @@ export class Api< }), /** - * @description Emails user with a reset url. - * - * @tags Auth - * @name PasswordForgot - * @summary Password forgot - * @request POST:/api/v1/auth/password/forgot - * @response `200` `void` OK - * @response `401` `void` Unauthorized - */ - passwordForgot: ( - data: { - email?: string; - }, - params: RequestParams = {} - ) => - this.request({ + * @description Emails user with a reset url. + * + * @tags Auth + * @name PasswordForgot + * @summary Forget Password + * @request POST:/api/v1/auth/password/forgot + * @response `200` `{ + \** + * Success Message + * @example Please check your email to reset the password + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + passwordForgot: (data: PasswordForgotReqType, params: RequestParams = {}) => + this.request< + { + /** + * Success Message + * @example Please check your email to reset the password + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/auth/password/forgot`, method: 'POST', body: data, type: ContentType.Json, + format: 'json', ...params, }), @@ -990,30 +2674,28 @@ export class Api< * * @tags Auth * @name PasswordChange - * @summary Password change + * @summary Change Password * @request POST:/api/v1/auth/password/change * @response `200` `{ + \** Success Message *\ msg?: string, }` OK * @response `400` `{ - msg?: string, + \** @example BadRequest [Error]: *\ + msg: string, -}` Bad request +}` */ - passwordChange: ( - data: { - currentPassword?: string; - newPassword?: string; - }, - params: RequestParams = {} - ) => + passwordChange: (data: PasswordChangeReqType, params: RequestParams = {}) => this.request< { + /** Success Message */ msg?: string; }, { - msg?: string; + /** @example BadRequest [Error]: */ + msg: string; } >({ path: `/api/v1/auth/password/change`, @@ -1025,102 +2707,210 @@ export class Api< }), /** - * @description Validtae password reset url token. - * - * @tags Auth - * @name PasswordResetTokenValidate - * @summary Reset token verify - * @request POST:/api/v1/auth/token/validate/{token} - * @response `200` `void` OK - */ + * @description Validate password reset url token. + * + * @tags Auth + * @name PasswordResetTokenValidate + * @summary Verify Reset Token + * @request POST:/api/v1/auth/token/validate/{token} + * @response `200` `{ + \** + * Success Message + * @example Token has been validated successfully + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ passwordResetTokenValidate: (token: string, params: RequestParams = {}) => - this.request({ + this.request< + { + /** + * Success Message + * @example Token has been validated successfully + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/auth/token/validate/${token}`, method: 'POST', + format: 'json', ...params, }), /** - * @description Api for verifying email where token need to be passed which is shared to user email. - * - * @tags Auth - * @name EmailValidate - * @summary Verify email - * @request POST:/api/v1/auth/email/validate/{token} - * @response `200` `void` OK - */ + * @description Api for verifying email where token need to be passed which is shared to user email. + * + * @tags Auth + * @name EmailValidate + * @summary Verify Email + * @request POST:/api/v1/auth/email/validate/{token} + * @response `200` `{ + \** + * Success Message + * @example Email has been verified successfully + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ emailValidate: (token: string, params: RequestParams = {}) => - this.request({ + this.request< + { + /** + * Success Message + * @example Email has been verified successfully + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/auth/email/validate/${token}`, method: 'POST', + format: 'json', ...params, }), /** - * @description Update user password to new by using reset token. - * - * @tags Auth - * @name PasswordReset - * @summary Password reset - * @request POST:/api/v1/auth/password/reset/{token} - * @response `200` `void` OK - */ + * @description Update user password to new by using reset token. + * + * @tags Auth + * @name PasswordReset + * @summary Reset Password + * @request POST:/api/v1/auth/password/reset/{token} + * @response `200` `{ + \** + * Success Message + * @example Password has been reset successfully + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ passwordReset: ( token: string, - data: { - new_password?: string; - }, + data: PasswordResetReqType, params: RequestParams = {} ) => - this.request({ + this.request< + { + /** + * Success Message + * @example Password has been reset successfully + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/auth/password/reset/${token}`, method: 'POST', body: data, type: ContentType.Json, + format: 'json', ...params, }), /** - * No description - * - * @tags Auth - * @name TokenRefresh - * @summary Refresh token - * @request POST:/api/v1/auth/token/refresh - * @response `200` `void` OK - */ + * @description Regenerate user refresh token + * + * @tags Auth + * @name TokenRefresh + * @summary Refresh Token + * @request POST:/api/v1/auth/token/refresh + * @response `200` `{ + \** + * New access token for user + * @example 96751db2d53fb834382b682268874a2ea9ee610e4d904e688d1513f11d3c30d62d36d9e05dec0d63 + *\ + token?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ tokenRefresh: (params: RequestParams = {}) => - this.request({ + this.request< + { + /** + * New access token for user + * @example 96751db2d53fb834382b682268874a2ea9ee610e4d904e688d1513f11d3c30d62d36d9e05dec0d63 + */ + token?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/auth/token/refresh`, method: 'POST', + format: 'json', ...params, }), /** - * No description + * @description List all users in the given project. * * @tags Auth * @name ProjectUserList - * @summary Project users + * @summary List Project Users * @request GET:/api/v1/db/meta/projects/{projectId}/users * @response `200` `{ users?: { list: (UserType)[], + \** Model for Paginated *\ pageInfo: PaginatedType, }, }` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` */ - projectUserList: (projectId: string, params: RequestParams = {}) => + projectUserList: (projectId: IdType, params: RequestParams = {}) => this.request< { users?: { list: UserType[]; + /** Model for Paginated */ pageInfo: PaginatedType; }; }, - any + { + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/db/meta/projects/${projectId}/users`, method: 'GET', @@ -1129,20 +2919,44 @@ export class Api< }), /** - * No description - * - * @tags Auth - * @name ProjectUserAdd - * @summary Project User Add - * @request POST:/api/v1/db/meta/projects/{projectId}/users - * @response `200` `any` OK - */ + * @description Create a user and add it to the given project + * + * @tags Auth + * @name ProjectUserAdd + * @summary Create Project User + * @request POST:/api/v1/db/meta/projects/{projectId}/users + * @response `200` `{ + \** + * Success Message + * @example The user has been invited successfully + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ projectUserAdd: ( - projectId: string, - data: any, + projectId: IdType, + data: ProjectUserReqType, params: RequestParams = {} ) => - this.request({ + this.request< + { + /** + * Success Message + * @example The user has been invited successfully + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/users`, method: 'POST', body: data, @@ -1152,21 +2966,45 @@ export class Api< }), /** - * No description - * - * @tags Auth - * @name ProjectUserUpdate - * @summary Project user update - * @request PATCH:/api/v1/db/meta/projects/{projectId}/users/{userId} - * @response `200` `any` OK - */ + * @description Update a given user in a given project. Exclusive for Super Admin. Access with API Tokens will be blocked. + * + * @tags Auth + * @name ProjectUserUpdate + * @summary Update Project User + * @request PATCH:/api/v1/db/meta/projects/{projectId}/users/{userId} + * @response `200` `{ + \** + * Success Message + * @example The user has been updated successfully + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ projectUserUpdate: ( - projectId: string, - userId: string, - data: any, + projectId: IdType, + userId: IdType, + data: ProjectUserReqType, params: RequestParams = {} ) => - this.request({ + this.request< + { + /** + * Success Message + * @example The user has been updated successfully + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/users/${userId}`, method: 'PATCH', body: data, @@ -1176,40 +3014,89 @@ export class Api< }), /** - * No description - * - * @tags Auth - * @name ProjectUserRemove - * @summary Project user remove - * @request DELETE:/api/v1/db/meta/projects/{projectId}/users/{userId} - * @response `200` `any` OK - */ + * @description Delete a given user in a given project. Exclusive for Super Admin. Access with API Tokens will be blocked. + * + * @tags Auth + * @name ProjectUserRemove + * @summary Delete Project User + * @request DELETE:/api/v1/db/meta/projects/{projectId}/users/{userId} + * @response `200` `{ + \** + * Success Message + * @example The user has been updated successfully + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ projectUserRemove: ( - projectId: string, - userId: string, + projectId: IdType, + userId: IdType, params: RequestParams = {} ) => - this.request({ + this.request< + { + /** + * Success Message + * @example The user has been updated successfully + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/users/${userId}`, method: 'DELETE', format: 'json', ...params, }), - /** - * @description Resend Invitation to a specific user - * - * @tags Auth - * @name ProjectUserResendInvite - * @request POST:/api/v1/db/meta/projects/{projectId}/users/{userId}/resend-invite - * @response `200` `any` OK - */ + /** + * @description Resend Invitation to a specific user + * + * @tags Auth + * @name ProjectUserResendInvite + * @summary Resend User Invitation + * @request POST:/api/v1/db/meta/projects/{projectId}/users/{userId}/resend-invite + * @response `200` `{ + \** + * Success Message + * @example The invitation has been sent to the user + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ projectUserResendInvite: ( - projectId: string, - userId: string, + projectId: IdType, + userId: IdType, params: RequestParams = {} ) => - this.request({ + this.request< + { + /** + * Success Message + * @example The invitation has been sent to the user + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/users/${userId}/resend-invite`, method: 'POST', format: 'json', @@ -1218,35 +3105,26 @@ export class Api< }; orgTokens = { /** - * No description + * @description List all organisation API tokens. Access with API tokens will be blocked. * - * @tags Org tokens + * @tags Org Tokens * @name List - * @summary Organisation API Tokens List + * @summary List Organisation API Tokens * @request GET:/api/v1/tokens - * @response `200` `{ - users?: { - list: ((ApiTokenType & { - created_by?: string, - -}))[], - pageInfo: PaginatedType, - -}, + * @response `200` `ApiTokenListType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, -}` OK +}` */ list: (params: RequestParams = {}) => this.request< + ApiTokenListType, { - users?: { - list: (ApiTokenType & { - created_by?: string; - })[]; - pageInfo: PaginatedType; - }; - }, - any + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/tokens`, method: 'GET', @@ -1255,56 +3133,92 @@ export class Api< }), /** - * No description - * - * @tags Org tokens - * @name Create - * @request POST:/api/v1/tokens - * @response `200` `void` OK - */ - create: (data: ApiTokenType, params: RequestParams = {}) => - this.request({ + * @description Creat an organisation API token. Access with API tokens will be blocked. + * + * @tags Org Tokens + * @name Create + * @summary Create Organisation API Token + * @request POST:/api/v1/tokens + * @response `200` `ApiTokenType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + create: (data: ApiTokenReqType, params: RequestParams = {}) => + this.request< + ApiTokenType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/tokens`, method: 'POST', body: data, type: ContentType.Json, + format: 'json', ...params, }), /** - * No description - * - * @tags Org tokens - * @name Delete - * @request DELETE:/api/v1/tokens/{token} - * @response `200` `void` OK - */ + * @description Delete an organisation API token. Access with API tokens will be blocked. + * + * @tags Org Tokens + * @name Delete + * @summary Delete Organisation API Tokens + * @request DELETE:/api/v1/tokens/{token} + * @response `200` `number` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ delete: (token: string, params: RequestParams = {}) => - this.request({ + this.request< + number, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/tokens/${token}`, method: 'DELETE', + format: 'json', ...params, }), }; orgLicense = { /** - * No description + * @description Get the application license key. Exclusive for super admin. * - * @tags Org license + * @tags Org License * @name Get - * @summary App license get + * @summary Get App License * @request GET:/api/v1/license * @response `200` `{ + \** Application license key *\ key?: string, }` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` */ get: (params: RequestParams = {}) => this.request< { + /** Application license key */ key?: string; }, - any + { + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/license`, method: 'GET', @@ -1313,47 +3227,77 @@ export class Api< }), /** - * No description - * - * @tags Org license - * @name Set - * @summary App license get - * @request POST:/api/v1/license - * @response `200` `void` OK - */ - set: ( - data: { - key?: string; - }, - params: RequestParams = {} - ) => - this.request({ + * @description Set the application license key. Exclusive for super admin. + * + * @tags Org License + * @name Set + * @summary Create App License + * @request POST:/api/v1/license + * @response `200` `{ + \** @example The license key has been saved *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + set: (data: LicenseReqType, params: RequestParams = {}) => + this.request< + { + /** @example The license key has been saved */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/license`, method: 'POST', body: data, type: ContentType.Json, + format: 'json', ...params, }), }; orgAppSettings = { /** - * No description + * @description Get the application settings. Exclusive for super admin. * - * @tags Org app settings + * @tags Org App Settings * @name Get - * @summary App settings get + * @summary Get App Settings * @request GET:/api/v1/app-settings * @response `200` `{ + \** + * Status of invite only signup + * @example true + *\ invite_only_signup?: boolean, }` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` */ get: (params: RequestParams = {}) => this.request< { + /** + * Status of invite only signup + * @example true + */ invite_only_signup?: boolean; }, - any + { + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/app-settings`, method: 'GET', @@ -1362,54 +3306,73 @@ export class Api< }), /** - * No description - * - * @tags Org app settings - * @name Set - * @summary App app settings get - * @request POST:/api/v1/app-settings - * @response `200` `void` OK - */ + * @description Update the application settings. Exclusive for super admin. + * + * @tags Org App Settings + * @name Set + * @summary Create App Settings + * @request POST:/api/v1/app-settings + * @response `200` `{ + \** @example The app settings have been saved *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ set: ( data: { + /** + * Status of invite only signup + * @example true + */ invite_only_signup?: boolean; }, params: RequestParams = {} ) => - this.request({ + this.request< + { + /** @example The app settings have been saved */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/app-settings`, method: 'POST', body: data, type: ContentType.Json, + format: 'json', ...params, }), }; orgUsers = { /** - * No description + * @description List all organisation users. Exclusive for Super Admin. Access with API Tokens will be blocked. * - * @tags Org users + * @tags Org Users * @name List - * @summary Organisation Users + * @summary List Organisation Users * @request GET:/api/v1/users - * @response `200` `{ - users?: { - list: (UserType)[], - pageInfo: PaginatedType, - -}, + * @response `200` `UserListType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, -}` OK +}` */ list: (params: RequestParams = {}) => this.request< + UserListType, { - users?: { - list: UserType[]; - pageInfo: PaginatedType; - }; - }, - any + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/users`, method: 'GET', @@ -1418,16 +3381,44 @@ export class Api< }), /** - * No description - * - * @tags Org users - * @name Add - * @summary Organisation User Add - * @request POST:/api/v1/users - * @response `200` `any` OK - */ - add: (data: UserType, params: RequestParams = {}) => - this.request({ + * @description Create an organisation user. Exclusive for Super Admin. Access with API Tokens will be blocked. + * + * @tags Org Users + * @name Add + * @summary Create Organisation User + * @request POST:/api/v1/users + * @response `200` `{ + \** Invite Token *\ + invite_token?: string, + \** + * User email + * @example user@example.com + *\ + email?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + add: (data: OrgUserReqType, params: RequestParams = {}) => + this.request< + { + /** Invite Token */ + invite_token?: string; + /** + * User email + * @example user@example.com + */ + email?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/users`, method: 'POST', body: data, @@ -1437,75 +3428,160 @@ export class Api< }), /** - * No description - * - * @tags Org users - * @name Update - * @summary Organisation User Update - * @request PATCH:/api/v1/users/{userId} - * @response `200` `void` OK - */ - update: (userId: string, data: UserType, params: RequestParams = {}) => - this.request({ + * @description Update an organisation user by User ID. Exclusive for Super Admin. Access with API Tokens will be blocked. + * + * @tags Org Users + * @name Update + * @summary Update Organisation User + * @request PATCH:/api/v1/users/{userId} + * @response `200` `{ + \** @example The user has been updated successfully *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + update: ( + userId: IdType, + data: OrgUserReqType, + params: RequestParams = {} + ) => + this.request< + { + /** @example The user has been updated successfully */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/users/${userId}`, method: 'PATCH', body: data, type: ContentType.Json, + format: 'json', ...params, }), /** - * No description - * - * @tags Org users - * @name Delete - * @summary Organisation User Delete - * @request DELETE:/api/v1/users/{userId} - * @response `200` `void` OK - */ - delete: (userId: string, params: RequestParams = {}) => - this.request({ + * @description Delete an organisation user by User ID. Exclusive for Super Admin. Access with API Tokens will be blocked. + * + * @tags Org Users + * @name Delete + * @summary Delete Organisation User + * @request DELETE:/api/v1/users/{userId} + * @response `200` `{ + \** + * Sucess Message + * @example The user has been deleted successfully + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + delete: (userId: IdType, params: RequestParams = {}) => + this.request< + { + /** + * Sucess Message + * @example The user has been deleted successfully + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/users/${userId}`, method: 'DELETE', + format: 'json', ...params, }), /** - * No description - * - * @tags Org users - * @name ResendInvite - * @summary Organisation User Invite - * @request POST:/api/v1/users/{userId}/resend-invite - * @response `200` `void` OK - */ - resendInvite: (userId: string, params: RequestParams = {}) => - this.request({ + * @description Resend Invitation to a specific user. Exclusive for Super Admin. Access with API Tokens will be blocked. + * + * @tags Org Users + * @name ResendInvite + * @summary Invite Organisation User + * @request POST:/api/v1/users/{userId}/resend-invite + * @response `200` `{ + \** + * Success Message + * @example The invitation has been sent to the target user + *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + resendInvite: (userId: IdType, params: RequestParams = {}) => + this.request< + { + /** + * Success Message + * @example The invitation has been sent to the target user + */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/users/${userId}/resend-invite`, method: 'POST', + format: 'json', ...params, }), /** - * No description + * @description Generate Password Reset Token for Organisation User. Exclusive for Super Admin. Access with API Tokens will be blocked. * - * @tags Org users + * @tags Org Users * @name GeneratePasswordResetToken - * @summary Organisation User Generate Password Reset Token + * @summary Generate Organisation User Password Reset Token * @request POST:/api/v1/users/{userId}/generate-reset-url * @response `200` `{ + \** Password Reset Token for the user *\ reset_password_token?: string, + \** Password Reset URL for the user *\ reset_password_url?: string, }` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` */ - generatePasswordResetToken: (userId: string, params: RequestParams = {}) => + generatePasswordResetToken: (userId: IdType, params: RequestParams = {}) => this.request< { + /** Password Reset Token for the user */ reset_password_token?: string; + /** Password Reset URL for the user */ reset_password_url?: string; }, - any + { + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/users/${userId}/generate-reset-url`, method: 'POST', @@ -1515,62 +3591,144 @@ export class Api< }; project = { /** - * No description + * @description Get info such as node version, arch, platform, is docker, rootdb and package version of a given project * * @tags Project * @name MetaGet - * @summary Project info + * @summary Get Project info * @request GET:/api/v1/db/meta/projects/{projectId}/info * @response `200` `{ + \** + * Node version + * @example v12.16.1 + *\ Node?: string, + \** + * Architecture type + * @example x64 + *\ Arch?: string, + \** + * Platform type + * @example linux + *\ Platform?: string, + \** + * Is docker + * @example false + *\ Docker?: boolean, + \** + * Database type + * @example postgres + *\ Database?: string, - ProjectOnRootDB?: string, + \** + * Is project on rootdb + * @example false + *\ + ProjectOnRootDB?: boolean, + \** + * Root database type + * @example postgres + *\ RootDB?: string, + \** + * Package version + * @example 1.0.0 + *\ PackageVersion?: string, }` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` */ - metaGet: (projectId: string, params: RequestParams = {}, query: object) => + metaGet: (projectId: IdType, params: RequestParams = {}) => this.request< { + /** + * Node version + * @example v12.16.1 + */ Node?: string; + /** + * Architecture type + * @example x64 + */ Arch?: string; + /** + * Platform type + * @example linux + */ Platform?: string; + /** + * Is docker + * @example false + */ Docker?: boolean; + /** + * Database type + * @example postgres + */ Database?: string; - ProjectOnRootDB?: string; + /** + * Is project on rootdb + * @example false + */ + ProjectOnRootDB?: boolean; + /** + * Root database type + * @example postgres + */ RootDB?: string; + /** + * Package version + * @example 1.0.0 + */ PackageVersion?: string; }, - any + { + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/db/meta/projects/${projectId}/info`, method: 'GET', - query: query, format: 'json', ...params, }), /** - * No description - * - * @tags Project - * @name ModelVisibilityList - * @summary UI ACL - * @request GET:/api/v1/db/meta/projects/{projectId}/visibility-rules - * @response `200` `(any)[]` OK - */ + * @description Hide / show views based on user role + * + * @tags Project + * @name ModelVisibilityList + * @summary Get UI ACL + * @request GET:/api/v1/db/meta/projects/{projectId}/visibility-rules + * @response `200` `(any)[]` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ modelVisibilityList: ( - projectId: string, + projectId: IdType, query?: { includeM2M?: boolean; }, params: RequestParams = {} ) => - this.request({ + this.request< + any[], + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/visibility-rules`, method: 'GET', query: query, @@ -1579,19 +3737,38 @@ export class Api< }), /** - * No description - * - * @tags Project - * @name ModelVisibilitySet - * @request POST:/api/v1/db/meta/projects/{projectId}/visibility-rules - * @response `200` `any` OK - */ + * @description Hide / show views based on user role + * + * @tags Project + * @name ModelVisibilitySet + * @summary Create UI ACL + * @request POST:/api/v1/db/meta/projects/{projectId}/visibility-rules + * @response `200` `{ + \** @example UI ACL has been created successfully *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ modelVisibilitySet: ( - projectId: string, - data: any, + projectId: IdType, + data: VisibilityRuleReqType, params: RequestParams = {} ) => - this.request({ + this.request< + { + /** @example UI ACL has been created successfully */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/visibility-rules`, method: 'POST', body: data, @@ -1601,45 +3778,61 @@ export class Api< }), /** - * @description Read project details - * - * @tags Project - * @name List - * @summary Project list - * @request GET:/api/v1/db/meta/projects/ - * @response `201` `ProjectListType` - */ - list: ( - query?: { - page?: number; - pageSize?: number; - sort?: string; - }, - params: RequestParams = {} - ) => - this.request({ + * @description List all project meta data + * + * @tags Project + * @name List + * @summary List Projects + * @request GET:/api/v1/db/meta/projects/ + * @response `200` `ProjectListType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + list: (params: RequestParams = {}) => + this.request< + ProjectListType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/`, method: 'GET', - query: query, + format: 'json', ...params, }), /** - * No description - * - * @tags Project - * @name Create - * @summary Project create - * @request POST:/api/v1/db/meta/projects/ - * @response `200` `ProjectType` OK - */ + * @description Create a new project + * + * @tags Project + * @name Create + * @summary Create Project + * @request POST:/api/v1/db/meta/projects/ + * @response `200` `ProjectReqType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ create: ( data: ProjectType & { + /** If true, the project will us an external database else it will use the root database */ external?: boolean; }, params: RequestParams = {} ) => - this.request({ + this.request< + ProjectReqType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/`, method: 'POST', body: data, @@ -1649,16 +3842,27 @@ export class Api< }), /** - * @description Read project details - * - * @tags Project - * @name Read - * @summary Project read - * @request GET:/api/v1/db/meta/projects/{projectId} - * @response `200` `object` OK - */ - read: (projectId: string, params: RequestParams = {}) => - this.request({ + * @description Get the info of a given project + * + * @tags Project + * @name Read + * @summary Get Project + * @request GET:/api/v1/db/meta/projects/{projectId} + * @response `200` `ProjectType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + read: (projectId: IdType, params: RequestParams = {}) => + this.request< + ProjectType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}`, method: 'GET', format: 'json', @@ -1666,32 +3870,55 @@ export class Api< }), /** - * No description - * - * @tags Project - * @name Delete - * @summary Project delete - * @request DELETE:/api/v1/db/meta/projects/{projectId} - * @response `200` `void` OK - */ - delete: (projectId: string, params: RequestParams = {}) => - this.request({ + * @description Delete the given project + * + * @tags Project + * @name Delete + * @summary Delete Project + * @request DELETE:/api/v1/db/meta/projects/{projectId} + * @response `200` `boolean` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + delete: (projectId: IdType, params: RequestParams = {}) => + this.request< + boolean, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}`, method: 'DELETE', + format: 'json', ...params, }), /** - * No description - * - * @tags Project - * @name Update - * @summary Project update - * @request PATCH:/api/v1/db/meta/projects/{projectId} - * @response `200` `void` OK - */ - update: (projectId: string, data: any, params: RequestParams = {}) => - this.request({ + * @description Update the given project + * + * @tags Project + * @name Update + * @summary Update Project + * @request PATCH:/api/v1/db/meta/projects/{projectId} + * @response `200` `void` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + update: (projectId: IdType, data: number, params: RequestParams = {}) => + this.request< + void, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}`, method: 'PATCH', body: data, @@ -1700,26 +3927,47 @@ export class Api< }), /** - * @description Read project details + * @description Get Project Shared Base * * @tags Project * @name SharedBaseGet + * @summary Get Project Shared Base * @request GET:/api/v1/db/meta/projects/{projectId}/shared * @response `200` `{ + \** + * @format uuid + * @example a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 + *\ uuid?: string, + \** @format uri *\ url?: string, + \** @example viewer *\ roles?: string, }` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` */ - sharedBaseGet: (projectId: string, params: RequestParams = {}) => + sharedBaseGet: (projectId: IdType, params: RequestParams = {}) => this.request< { + /** + * @format uuid + * @example a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 + */ uuid?: string; + /** @format uri */ url?: string; + /** @example viewer */ roles?: string; }, - any + { + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/db/meta/projects/${projectId}/shared`, method: 'GET', @@ -1728,48 +3976,69 @@ export class Api< }), /** - * No description - * - * @tags Project - * @name SharedBaseDisable - * @request DELETE:/api/v1/db/meta/projects/{projectId}/shared - * @response `200` `void` OK - */ - sharedBaseDisable: (projectId: string, params: RequestParams = {}) => - this.request({ + * @description Delete Project Shared Base + * + * @tags Project + * @name SharedBaseDisable + * @summary Delete Project Shared Base + * @request DELETE:/api/v1/db/meta/projects/{projectId}/shared + * @response `200` `boolean` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + sharedBaseDisable: (projectId: IdType, params: RequestParams = {}) => + this.request< + boolean, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/shared`, method: 'DELETE', + format: 'json', ...params, }), /** - * No description + * @description Create Project Shared Base * * @tags Project * @name SharedBaseCreate + * @summary Create Project Shared Base * @request POST:/api/v1/db/meta/projects/{projectId}/shared * @response `200` `{ - uuid?: string, - url?: string, - roles?: string, + \** Model for StringOrNull *\ + uuid?: StringOrNullType, + \** Model for StringOrNull *\ + roles?: StringOrNullType, }` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` */ sharedBaseCreate: ( - projectId: string, - data: { - roles?: string; - password?: string; - }, + projectId: IdType, + data: SharedBaseReqType, params: RequestParams = {} ) => this.request< { - uuid?: string; - url?: string; - roles?: string; + /** Model for StringOrNull */ + uuid?: StringOrNullType; + /** Model for StringOrNull */ + roles?: StringOrNullType; }, - any + { + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/db/meta/projects/${projectId}/shared`, method: 'POST', @@ -1780,33 +4049,51 @@ export class Api< }), /** - * No description + * @description Update Project Shared Base * * @tags Project * @name SharedBaseUpdate + * @summary Update Project Shared Base * @request PATCH:/api/v1/db/meta/projects/{projectId}/shared * @response `200` `{ + \** + * @format uuid + * @example a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 + *\ uuid?: string, + \** @format uri *\ url?: string, + \** @example viewer *\ roles?: string, }` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` */ sharedBaseUpdate: ( - projectId: string, - data: { - roles?: string; - password?: string; - }, + projectId: IdType, + data: SharedBaseReqType, params: RequestParams = {} ) => this.request< { + /** + * @format uuid + * @example a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 + */ uuid?: string; + /** @format uri */ url?: string; + /** @example viewer */ roles?: string; }, - any + { + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/db/meta/projects/${projectId}/shared`, method: 'PATCH', @@ -1817,16 +4104,27 @@ export class Api< }), /** - * @description Project compare cost - * - * @tags Project - * @name Cost - * @summary Project compare cost - * @request GET:/api/v1/db/meta/projects/{projectId}/cost - * @response `200` `object` OK - */ - cost: (projectId: string, params: RequestParams = {}) => - this.request({ + * @description Calculate the Project Cost + * + * @tags Project + * @name Cost + * @summary Project Cost + * @request GET:/api/v1/db/meta/projects/{projectId}/cost + * @response `200` `object` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + cost: (projectId: IdType, params: RequestParams = {}) => + this.request< + object, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/cost`, method: 'GET', format: 'json', @@ -1834,15 +4132,34 @@ export class Api< }), /** - * No description - * - * @tags Project - * @name MetaDiffSync - * @request POST:/api/v1/db/meta/projects/{projectId}/meta-diff - * @response `200` `any` OK - */ - metaDiffSync: (projectId: string, params: RequestParams = {}) => - this.request({ + * @description Synchronise the meta data difference between NC_DB and external data sources + * + * @tags Project + * @name MetaDiffSync + * @summary Sync Meta + * @request POST:/api/v1/db/meta/projects/{projectId}/meta-diff + * @response `200` `{ + \** @example The meta has been synchronized successfully *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + metaDiffSync: (projectId: IdType, params: RequestParams = {}) => + this.request< + { + /** @example The meta has been synchronized successfully */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/meta-diff`, method: 'POST', format: 'json', @@ -1850,15 +4167,64 @@ export class Api< }), /** - * No description - * - * @tags Project - * @name MetaDiffGet - * @request GET:/api/v1/db/meta/projects/{projectId}/meta-diff - * @response `200` `any` OK - */ - metaDiffGet: (projectId: string, params: RequestParams = {}) => - this.request({ + * @description Get the meta data difference between NC_DB and external data sources + * + * @tags Project + * @name MetaDiffGet + * @summary Meta Diff + * @request GET:/api/v1/db/meta/projects/{projectId}/meta-diff + * @response `200` `({ + \** + * Table Name + * @example Table 1 + *\ + table_name?: string, + \** + * Base ID + * @example ds_rrplkgy0pq1f3c + *\ + base_id?: string, + \** + * Change Type + * @example table + *\ + type?: string, + \** Detected Changes *\ + detectedChanges?: (object)[], + +})[]` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + metaDiffGet: (projectId: IdType, params: RequestParams = {}) => + this.request< + { + /** + * Table Name + * @example Table 1 + */ + table_name?: string; + /** + * Base ID + * @example ds_rrplkgy0pq1f3c + */ + base_id?: string; + /** + * Change Type + * @example table + */ + type?: string; + /** Detected Changes */ + detectedChanges?: object[]; + }[], + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/meta-diff`, method: 'GET', format: 'json', @@ -1866,15 +4232,27 @@ export class Api< }), /** - * No description - * - * @tags Project - * @name HasEmptyOrNullFilters - * @request GET:/api/v1/db/meta/projects/{projectId}/has-empty-or-null-filters - * @response `200` `any` OK - */ - hasEmptyOrNullFilters: (projectId: string, params: RequestParams = {}) => - this.request({ + * @description Check if a project contains empty and null filters. Used in `Show NULL and EMPTY in Filter` in Project Setting. + * + * @tags Project + * @name HasEmptyOrNullFilters + * @summary List Empty & Null Filter + * @request GET:/api/v1/db/meta/projects/{projectId}/has-empty-or-null-filters + * @response `200` `any` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + hasEmptyOrNullFilters: (projectId: IdType, params: RequestParams = {}) => + this.request< + any, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/has-empty-or-null-filters`, method: 'GET', format: 'json', @@ -1882,31 +4260,44 @@ export class Api< }), /** - * No description + * @description List all audit data in the given project * * @tags Project * @name AuditList + * @summary List Audits in Project * @request GET:/api/v1/db/meta/projects/{projectId}/audits * @response `200` `{ list: (AuditType)[], + \** Model for Paginated *\ pageInfo: PaginatedType, }` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` */ auditList: ( - projectId: string, + projectId: IdType, query?: { - offset?: string; - limit?: string; + /** @min 0 */ + offset?: number; + /** @max 1 */ + limit?: number; }, params: RequestParams = {} ) => this.request< { list: AuditType[]; + /** Model for Paginated */ pageInfo: PaginatedType; }, - any + { + /** @example BadRequest [Error]: */ + msg: string; + } >({ path: `/api/v1/db/meta/projects/${projectId}/audits`, method: 'GET', @@ -1917,16 +4308,27 @@ export class Api< }; base = { /** - * @description Read project base details - * - * @tags Base - * @name Read - * @summary Base read - * @request GET:/api/v1/db/meta/projects/{projectId}/bases/{baseId} - * @response `200` `object` OK - */ - read: (projectId: string, baseId: string, params: RequestParams = {}) => - this.request({ + * @description Get the base details of a given project + * + * @tags Base + * @name Read + * @summary Get Base + * @request GET:/api/v1/db/meta/projects/{projectId}/bases/{baseId} + * @response `200` `BaseType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + read: (projectId: IdType, baseId: string, params: RequestParams = {}) => + this.request< + BaseType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/bases/${baseId}`, method: 'GET', format: 'json', @@ -1934,55 +4336,90 @@ export class Api< }), /** - * No description - * - * @tags Base - * @name Delete - * @summary Base delete - * @request DELETE:/api/v1/db/meta/projects/{projectId}/bases/{baseId} - * @response `200` `void` OK - */ - delete: (projectId: string, baseId: string, params: RequestParams = {}) => - this.request({ + * @description Delete the base details of a given project + * + * @tags Base + * @name Delete + * @summary Delete Base + * @request DELETE:/api/v1/db/meta/projects/{projectId}/bases/{baseId} + * @response `200` `boolean` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + delete: (projectId: IdType, baseId: string, params: RequestParams = {}) => + this.request< + boolean, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/bases/${baseId}`, method: 'DELETE', + format: 'json', ...params, }), /** - * No description - * - * @tags Base - * @name Update - * @summary Base update - * @request PATCH:/api/v1/db/meta/projects/{projectId}/bases/{baseId} - * @response `200` `void` OK - */ + * @description Update the base details of a given project + * + * @tags Base + * @name Update + * @summary Update Base + * @request PATCH:/api/v1/db/meta/projects/{projectId}/bases/{baseId} + * @response `200` `object` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ update: ( - projectId: string, + projectId: IdType, baseId: string, - data: any, + data: object, params: RequestParams = {} ) => - this.request({ + this.request< + object, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/bases/${baseId}`, method: 'PATCH', body: data, type: ContentType.Json, + format: 'json', ...params, }), /** - * @description Get project base list - * - * @tags Base - * @name List - * @summary Base list - * @request GET:/api/v1/db/meta/projects/{projectId}/bases/ - * @response `200` `object` OK - */ - list: (projectId: string, params: RequestParams = {}) => - this.request({ + * @description Get project base list + * + * @tags Base + * @name List + * @summary List Bases + * @request GET:/api/v1/db/meta/projects/{projectId}/bases/ + * @response `200` `BaseListType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + list: (projectId: IdType, params: RequestParams = {}) => + this.request< + BaseListType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/bases/`, method: 'GET', format: 'json', @@ -1990,22 +4427,33 @@ export class Api< }), /** - * No description - * - * @tags Base - * @name Create - * @summary Base create - * @request POST:/api/v1/db/meta/projects/{projectId}/bases/ - * @response `200` `BaseType` OK - */ + * @description Create a new base on a given project + * + * @tags Base + * @name Create + * @summary Create Base + * @request POST:/api/v1/db/meta/projects/{projectId}/bases/ + * @response `200` `BaseType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ create: ( - projectId: string, + projectId: IdType, data: BaseType & { external?: boolean; }, params: RequestParams = {} ) => - this.request({ + this.request< + BaseType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/bases/`, method: 'POST', body: data, @@ -2015,15 +4463,21 @@ export class Api< }), /** - * No description - * - * @tags Base - * @name TableList - * @request GET:/api/v1/db/meta/projects/{projectId}/{baseId}/tables - * @response `200` `TableListType` - */ + * @description List all tables in a given Project and Base + * + * @tags Base + * @name TableList + * @summary List Tables + * @request GET:/api/v1/db/meta/projects/{projectId}/{baseId}/tables + * @response `200` `TableListType` + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ tableList: ( - projectId: string, + projectId: IdType, baseId: string, query?: { page?: number; @@ -2033,7 +4487,13 @@ export class Api< }, params: RequestParams = {} ) => - this.request({ + this.request< + TableListType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/${baseId}/tables`, method: 'GET', query: query, @@ -2041,20 +4501,32 @@ export class Api< }), /** - * No description - * - * @tags Base - * @name TableCreate - * @request POST:/api/v1/db/meta/projects/{projectId}/{baseId}/tables - * @response `200` `TableType` OK - */ + * @description Create a new table in a given Project and Base + * + * @tags Base + * @name TableCreate + * @summary Create Table + * @request POST:/api/v1/db/meta/projects/{projectId}/{baseId}/tables + * @response `200` `TableType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ tableCreate: ( - projectId: string, + projectId: IdType, baseId: string, data: TableReqType, params: RequestParams = {} ) => - this.request({ + this.request< + TableType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/${baseId}/tables`, method: 'POST', body: data, @@ -2064,39 +4536,107 @@ export class Api< }), /** - * No description - * - * @tags Base - * @name MetaDiffSync - * @request POST:/api/v1/db/meta/projects/{projectId}/meta-diff/{baseId} - * @response `200` `any` OK - */ + * @description Synchronise the meta data difference between NC_DB and external data sources in a given Base + * + * @tags Base + * @name MetaDiffSync + * @summary Synchronise Base Meta + * @request POST:/api/v1/db/meta/projects/{projectId}/meta-diff/{baseId} + * @response `200` `{ + \** @example The base meta has been synchronized successfully *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ metaDiffSync: ( - projectId: string, + projectId: IdType, baseId: string, params: RequestParams = {} ) => - this.request({ + this.request< + { + /** @example The base meta has been synchronized successfully */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/meta-diff/${baseId}`, method: 'POST', format: 'json', ...params, }), - /** - * No description - * - * @tags Base - * @name MetaDiffGet - * @request GET:/api/v1/db/meta/projects/{projectId}/meta-diff/{baseId} - * @response `200` `any` OK - */ + /** + * @description Get the meta data difference between NC_DB and external data sources in a given Base + * + * @tags Base + * @name MetaDiffGet + * @summary Base Meta Diff + * @request GET:/api/v1/db/meta/projects/{projectId}/meta-diff/{baseId} + * @response `200` `({ + \** + * Table Name + * @example Table 1 + *\ + table_name?: string, + \** + * Base ID + * @example ds_rrplkgy0pq1f3c + *\ + base_id?: string, + \** + * Change Type + * @example table + *\ + type?: string, + \** Detected Changes *\ + detectedChanges?: (object)[], + +})[]` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ metaDiffGet: ( - projectId: string, + projectId: IdType, baseId: string, params: RequestParams = {} ) => - this.request({ + this.request< + { + /** + * Table Name + * @example Table 1 + */ + table_name?: string; + /** + * Base ID + * @example ds_rrplkgy0pq1f3c + */ + base_id?: string; + /** + * Change Type + * @example table + */ + type?: string; + /** Detected Changes */ + detectedChanges?: object[]; + }[], + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/meta-diff/${baseId}`, method: 'GET', format: 'json', @@ -2105,19 +4645,31 @@ export class Api< }; dbTable = { /** - * No description - * - * @tags DB table - * @name Create - * @request POST:/api/v1/db/meta/projects/{projectId}/tables - * @response `200` `TableType` OK - */ + * @description Create a new table in a given project + * + * @tags DB Table + * @name Create + * @summary Create Table + * @request POST:/api/v1/db/meta/projects/{projectId}/tables + * @response `200` `TableType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ create: ( - projectId: string, + projectId: IdType, data: TableReqType, params: RequestParams = {} ) => - this.request({ + this.request< + TableType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/tables`, method: 'POST', body: data, @@ -2127,15 +4679,21 @@ export class Api< }), /** - * No description - * - * @tags DB table - * @name List - * @request GET:/api/v1/db/meta/projects/{projectId}/tables - * @response `200` `TableListType` - */ + * @description List all tables in a given project + * + * @tags DB Table + * @name List + * @summary List Tables + * @request GET:/api/v1/db/meta/projects/{projectId}/tables + * @response `200` `TableListType` + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ list: ( - projectId: string, + projectId: IdType, query?: { page?: number; pageSize?: number; @@ -2144,7 +4702,13 @@ export class Api< }, params: RequestParams = {} ) => - this.request({ + this.request< + TableListType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/projects/${projectId}/tables`, method: 'GET', query: query, @@ -2152,15 +4716,27 @@ export class Api< }), /** - * No description - * - * @tags DB table - * @name Read - * @request GET:/api/v1/db/meta/tables/{tableId} - * @response `200` `TableInfoType` OK - */ - read: (tableId: string, params: RequestParams = {}) => - this.request({ + * @description Read the table meta data by the given table ID + * + * @tags DB Table + * @name Read + * @summary Read Table + * @request GET:/api/v1/db/meta/tables/{tableId} + * @response `200` `TableType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + read: (tableId: IdType, params: RequestParams = {}) => + this.request< + TableType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/tables/${tableId}`, method: 'GET', format: 'json', @@ -2168,24 +4744,56 @@ export class Api< }), /** - * No description - * - * @tags DB table - * @name Update - * @request PATCH:/api/v1/db/meta/tables/{tableId} - * @response `200` `any` OK - */ + * @description Update the table meta data by the given table ID + * + * @tags DB Table + * @name Update + * @summary Update Table + * @request PATCH:/api/v1/db/meta/tables/{tableId} + * @response `200` `{ + \** @example The table has been updated successfully *\ + msg?: string, + +}` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ update: ( - tableId: string, + tableId: IdType, data: { + /** + * Table name + * @example users + */ table_name?: string; + /** + * Table title + * @example Users + */ title?: string; + /** + * Project ID + * @example p_124hhlkbeasewh + */ project_id?: string; - meta?: any; + /** Model for Meta */ + meta?: MetaType; }, params: RequestParams = {} ) => - this.request({ + this.request< + { + /** @example The table has been updated successfully */ + msg?: string; + }, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/tables/${tableId}`, method: 'PATCH', body: data, @@ -2195,59 +4803,96 @@ export class Api< }), /** - * No description - * - * @tags DB table - * @name Delete - * @request DELETE:/api/v1/db/meta/tables/{tableId} - * @response `200` `void` OK - */ - delete: (tableId: string, params: RequestParams = {}) => - this.request({ + * @description Delete the table meta data by the given table ID + * + * @tags DB Table + * @name Delete + * @summary Delete Table + * @request DELETE:/api/v1/db/meta/tables/{tableId} + * @response `200` `boolean` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + delete: (tableId: IdType, params: RequestParams = {}) => + this.request< + boolean, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/tables/${tableId}`, method: 'DELETE', + format: 'json', ...params, }), /** - * No description - * - * @tags DB table - * @name Reorder - * @request POST:/api/v1/db/meta/tables/{tableId}/reorder - * @response `200` `void` OK - */ + * @description Update the order of the given Table + * + * @tags DB Table + * @name Reorder + * @summary Reorder Table + * @request POST:/api/v1/db/meta/tables/{tableId}/reorder + * @response `200` `boolean` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ reorder: ( - tableId: string, + tableId: IdType, data: { order?: number; }, params: RequestParams = {} ) => - this.request({ + this.request< + boolean, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/tables/${tableId}/reorder`, method: 'POST', body: data, type: ContentType.Json, + format: 'json', ...params, }), }; dbTableColumn = { /** - * No description - * - * @tags DB table column - * @name Create - * @summary Column create - * @request POST:/api/v1/db/meta/tables/{tableId}/columns - * @response `200` `void` OK - */ + * @description Create a new column in a given Table + * + * @tags DB Table Column + * @name Create + * @summary Create Column + * @request POST:/api/v1/db/meta/tables/{tableId}/columns + * @response `200` `void` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ create: ( - tableId: string, + tableId: IdType, data: ColumnReqType, params: RequestParams = {} ) => - this.request({ + this.request< + void, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/tables/${tableId}/columns`, method: 'POST', body: data, @@ -2256,20 +4901,31 @@ export class Api< }), /** - * No description - * - * @tags DB table column - * @name Update - * @summary Column Update - * @request PATCH:/api/v1/db/meta/columns/{columnId} - * @response `200` `ColumnType` OK - */ + * @description Update the existing column by the given column ID + * + * @tags DB Table Column + * @name Update + * @summary Update Column + * @request PATCH:/api/v1/db/meta/columns/{columnId} + * @response `200` `ColumnType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ update: ( columnId: string, data: ColumnReqType, params: RequestParams = {} ) => - this.request({ + this.request< + ColumnType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/columns/${columnId}`, method: 'PATCH', body: data, @@ -2279,164 +4935,274 @@ export class Api< }), /** - * No description - * - * @tags DB table column - * @name Delete - * @summary Column Delete - * @request DELETE:/api/v1/db/meta/columns/{columnId} - * @response `200` `void` OK - */ + * @description Delete the existing column by the given column ID + * + * @tags DB Table Column + * @name Delete + * @summary Delete Column + * @request DELETE:/api/v1/db/meta/columns/{columnId} + * @response `200` `void` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ delete: (columnId: string, params: RequestParams = {}) => - this.request({ + this.request< + void, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/columns/${columnId}`, method: 'DELETE', ...params, }), /** - * No description - * - * @tags DB Table Column - * @name Get - * @summary Column Get - * @request GET:/api/v1/db/meta/columns/{columnId} - * @response `200` `void` OK - */ + * @description Get the existing column by the given column ID + * + * @tags DB Table Column + * @name Get + * @summary Get Column + * @request GET:/api/v1/db/meta/columns/{columnId} + * @response `200` `void` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ get: (columnId: string, params: RequestParams = {}) => - this.request({ + this.request< + void, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/columns/${columnId}`, method: 'GET', ...params, }), /** - * No description - * - * @tags DB table column - * @name PrimaryColumnSet - * @request POST:/api/v1/db/meta/columns/{columnId}/primary - * @response `200` `void` OK - */ + * @description Set a primary value on a given column + * + * @tags DB Table Column + * @name PrimaryColumnSet + * @summary Create Primary Value + * @request POST:/api/v1/db/meta/columns/{columnId}/primary + * @response `200` `boolean` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ primaryColumnSet: (columnId: string, params: RequestParams = {}) => - this.request({ + this.request< + boolean, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/columns/${columnId}/primary`, method: 'POST', + format: 'json', ...params, }), }; dbView = { /** - * No description - * - * @tags DB view - * @name List - * @request GET:/api/v1/db/meta/tables/{tableId}/views - * @response `200` `ViewListType` - */ - list: (tableId: string, params: RequestParams = {}) => - this.request({ + * @description List all views in a given Table. + * + * @tags DB View + * @name List + * @summary List Views + * @request GET:/api/v1/db/meta/tables/{tableId}/views + * @response `200` `ViewListType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + list: (tableId: IdType, params: RequestParams = {}) => + this.request< + ViewListType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/tables/${tableId}/views`, method: 'GET', + format: 'json', ...params, }), /** - * No description - * - * @tags DB view - * @name Update - * @request PATCH:/api/v1/db/meta/views/{viewId} - * @response `200` `void` OK - */ + * @description Update the view with the given view Id. + * + * @tags DB View + * @name Update + * @summary Update View + * @request PATCH:/api/v1/db/meta/views/{viewId} + * @response `200` `ViewType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ update: ( - viewId: string, - data: { - order?: number; - meta?: any; - title?: string; - show_system_fields?: boolean; - lock_type?: 'collaborative' | 'locked' | 'personal'; - }, + viewId: IdType, + data: ViewUpdateReqType, params: RequestParams = {} ) => - this.request({ + this.request< + ViewType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/views/${viewId}`, method: 'PATCH', body: data, type: ContentType.Json, + format: 'json', ...params, }), /** - * No description - * - * @tags DB view - * @name Delete - * @request DELETE:/api/v1/db/meta/views/{viewId} - * @response `200` `void` OK - */ - delete: (viewId: string, params: RequestParams = {}) => - this.request({ + * @description Delete the view with the given view Id. + * + * @tags DB View + * @name Delete + * @summary Delete View + * @request DELETE:/api/v1/db/meta/views/{viewId} + * @response `200` `boolean` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + delete: (viewId: IdType, params: RequestParams = {}) => + this.request< + boolean, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/views/${viewId}`, method: 'DELETE', + format: 'json', ...params, }), /** - * No description - * - * @tags DB view - * @name ShowAllColumn - * @request POST:/api/v1/db/meta/views/{viewId}/show-all - * @response `200` `void` OK - */ + * @description Show All Columns in a given View + * + * @tags DB View + * @name ShowAllColumn + * @summary Show All Columns In View + * @request POST:/api/v1/db/meta/views/{viewId}/show-all + * @response `200` `boolean` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ showAllColumn: ( - viewId: string, + viewId: IdType, query?: { ignoreIds?: any[]; }, params: RequestParams = {} ) => - this.request({ + this.request< + boolean, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/views/${viewId}/show-all`, method: 'POST', query: query, + format: 'json', ...params, }), /** - * No description - * - * @tags DB view - * @name HideAllColumn - * @request POST:/api/v1/db/meta/views/{viewId}/hide-all - * @response `200` `void` OK - */ + * @description Hide All Columns in a given View + * + * @tags DB View + * @name HideAllColumn + * @summary Hide All Columns In View + * @request POST:/api/v1/db/meta/views/{viewId}/hide-all + * @response `200` `boolean` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ hideAllColumn: ( - viewId: string, + viewId: IdType, query?: { ignoreIds?: any[]; }, params: RequestParams = {} ) => - this.request({ + this.request< + boolean, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/views/${viewId}/hide-all`, method: 'POST', query: query, + format: 'json', ...params, }), /** - * No description - * - * @tags DB view - * @name GridCreate - * @request POST:/api/v1/db/meta/tables/{tableId}/grids - * @response `200` `GridType` OK - */ - gridCreate: (tableId: string, data: GridType, params: RequestParams = {}) => - this.request({ + * @description Create a new grid view in a given Table + * + * @tags DB View + * @name GridCreate + * @summary Create Grid View + * @request POST:/api/v1/db/meta/tables/{tableId}/grids + * @response `200` `ViewType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + gridCreate: ( + tableId: IdType, + data: ViewCreateReqType, + params: RequestParams = {} + ) => + this.request< + ViewType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/tables/${tableId}/grids`, method: 'POST', body: data, @@ -2446,15 +5212,31 @@ export class Api< }), /** - * No description - * - * @tags DB view - * @name FormCreate - * @request POST:/api/v1/db/meta/tables/{tableId}/forms - * @response `200` `FormType` OK - */ - formCreate: (tableId: string, data: FormType, params: RequestParams = {}) => - this.request({ + * @description Create a new form view in a given Table + * + * @tags DB View + * @name FormCreate + * @summary Create Form View + * @request POST:/api/v1/db/meta/tables/{tableId}/forms + * @response `200` `ViewType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + formCreate: ( + tableId: IdType, + data: ViewCreateReqType, + params: RequestParams = {} + ) => + this.request< + ViewType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/tables/${tableId}/forms`, method: 'POST', body: data, @@ -2464,52 +5246,93 @@ export class Api< }), /** - * No description - * - * @tags DB view - * @name FormUpdate - * @request PATCH:/api/v1/db/meta/forms/{formId} - * @response `200` `void` OK - */ - formUpdate: (formId: string, data: FormType, params: RequestParams = {}) => - this.request({ - path: `/api/v1/db/meta/forms/${formId}`, + * @description Update the form data by Form ID + * + * @tags DB View + * @name FormUpdate + * @summary Update Form View + * @request PATCH:/api/v1/db/meta/forms/{formViewId} + * @response `200` `number` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + formUpdate: ( + formViewId: IdType, + data: FormUpdateReqType, + params: RequestParams = {} + ) => + this.request< + number, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ + path: `/api/v1/db/meta/forms/${formViewId}`, method: 'PATCH', body: data, type: ContentType.Json, + format: 'json', ...params, }), /** - * No description - * - * @tags DB view - * @name FormRead - * @request GET:/api/v1/db/meta/forms/{formId} - * @response `200` `FormType` OK - */ - formRead: (formId: string, params: RequestParams = {}) => - this.request({ - path: `/api/v1/db/meta/forms/${formId}`, + * @description Get the form data by Form ID + * + * @tags DB View + * @name FormRead + * @summary Get Form + * @request GET:/api/v1/db/meta/forms/{formViewId} + * @response `200` `FormType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + formRead: (formViewId: IdType, params: RequestParams = {}) => + this.request< + FormType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ + path: `/api/v1/db/meta/forms/${formViewId}`, method: 'GET', format: 'json', ...params, }), /** - * No description - * - * @tags DB view - * @name FormColumnUpdate - * @request PATCH:/api/v1/db/meta/form-columns/{formViewColumnId} - * @response `200` `any` OK - */ + * @description Update the form column(s) by Form View Column ID + * + * @tags DB View + * @name FormColumnUpdate + * @summary Update Form Column + * @request PATCH:/api/v1/db/meta/form-columns/{formViewColumnId} + * @response `200` `FormColumnReqType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ formColumnUpdate: ( - formViewColumnId: string, - data: FormColumnType, + formViewColumnId: IdType, + data: FormColumnReqType, params: RequestParams = {} ) => - this.request({ + this.request< + FormColumnReqType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/form-columns/${formViewColumnId}`, method: 'PATCH', body: data, @@ -2519,15 +5342,31 @@ export class Api< }), /** - * No description - * - * @tags DB view - * @name GridUpdate - * @request PATCH:/api/v1/db/meta/grids/{viewId} - * @response `200` `any` OK - */ - gridUpdate: (viewId: string, data: GridType, params: RequestParams = {}) => - this.request({ + * @description Update Grid View + * + * @tags DB View + * @name GridUpdate + * @summary Update Grid View + * @request PATCH:/api/v1/db/meta/grids/{viewId} + * @response `200` `number` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + gridUpdate: ( + viewId: string, + data: GridUpdateReqType, + params: RequestParams = {} + ) => + this.request< + number, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/grids/${viewId}`, method: 'PATCH', body: data, @@ -2537,15 +5376,27 @@ export class Api< }), /** - * No description - * - * @tags DB view - * @name GridColumnsList - * @request GET:/api/v1/db/meta/grids/{gridId}/grid-columns - * @response `200` `(GridColumnType)[]` OK - */ + * @description List all columns in the given Grid + * + * @tags DB View + * @name GridColumnsList + * @summary List Grid Columns + * @request GET:/api/v1/db/meta/grids/{gridId}/grid-columns + * @response `200` `(GridColumnType)[]` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ gridColumnsList: (gridId: string, params: RequestParams = {}) => - this.request({ + this.request< + GridColumnType[], + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/grids/${gridId}/grid-columns`, method: 'GET', format: 'json', @@ -2553,19 +5404,31 @@ export class Api< }), /** - * No description - * - * @tags DB view - * @name GridColumnUpdate - * @request PATCH:/api/v1/db/meta/grid-columns/{columnId} - * @response `200` `any` OK - */ + * @description Update grid column(s) in the given Grid + * + * @tags DB View + * @name GridColumnUpdate + * @summary Update Grid Column + * @request PATCH:/api/v1/db/meta/grid-columns/{columnId} + * @response `200` `number` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ gridColumnUpdate: ( - columnId: string, - data: GridColumnType, + columnId: IdType, + data: GridColumnReqType, params: RequestParams = {} ) => - this.request({ + this.request< + number, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/grid-columns/${columnId}`, method: 'PATCH', body: data, @@ -2575,19 +5438,31 @@ export class Api< }), /** - * No description - * - * @tags DB view - * @name GalleryCreate - * @request POST:/api/v1/db/meta/tables/{tableId}/galleries - * @response `200` `object` OK - */ + * No description + * + * @tags DB View + * @name GalleryCreate + * @summary Create Gallery View + * @request POST:/api/v1/db/meta/tables/{tableId}/galleries + * @response `200` `ViewType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ galleryCreate: ( - tableId: string, - data: GalleryType, + tableId: IdType, + data: ViewCreateReqType, params: RequestParams = {} ) => - this.request({ + this.request< + ViewType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/tables/${tableId}/galleries`, method: 'POST', body: data, @@ -2597,56 +5472,93 @@ export class Api< }), /** - * No description - * - * @tags DB view - * @name GalleryUpdate - * @request PATCH:/api/v1/db/meta/galleries/{galleryId} - * @response `200` `void` OK - */ + * @description Update the Gallery View data with Gallery ID + * + * @tags DB View + * @name GalleryUpdate + * @summary Update Gallery View + * @request PATCH:/api/v1/db/meta/galleries/{galleryViewId} + * @response `200` `number` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ galleryUpdate: ( - galleryId: string, - data: GalleryType, + galleryViewId: string, + data: GalleryUpdateReqType, params: RequestParams = {} ) => - this.request({ - path: `/api/v1/db/meta/galleries/${galleryId}`, + this.request< + number, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ + path: `/api/v1/db/meta/galleries/${galleryViewId}`, method: 'PATCH', body: data, type: ContentType.Json, + format: 'json', ...params, }), /** - * No description - * - * @tags DB view - * @name GalleryRead - * @request GET:/api/v1/db/meta/galleries/{galleryId} - * @response `200` `GalleryType` OK - */ - galleryRead: (galleryId: string, params: RequestParams = {}) => - this.request({ - path: `/api/v1/db/meta/galleries/${galleryId}`, + * @description Get the Gallery View data with Gallery ID + * + * @tags DB View + * @name GalleryRead + * @summary Get Gallery View + * @request GET:/api/v1/db/meta/galleries/{galleryViewId} + * @response `200` `GalleryType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + galleryRead: (galleryViewId: string, params: RequestParams = {}) => + this.request< + GalleryType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ + path: `/api/v1/db/meta/galleries/${galleryViewId}`, method: 'GET', format: 'json', ...params, }), /** - * No description - * - * @tags DB view - * @name KanbanCreate - * @request POST:/api/v1/db/meta/tables/{tableId}/kanbans - * @response `200` `object` OK - */ + * @description Create a new Kanban View + * + * @tags DB View + * @name KanbanCreate + * @summary Create Kanban View + * @request POST:/api/v1/db/meta/tables/{tableId}/kanbans + * @response `200` `ViewType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ kanbanCreate: ( - tableId: string, - data: KanbanType, + tableId: IdType, + data: ViewCreateReqType, params: RequestParams = {} ) => - this.request({ + this.request< + ViewType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ path: `/api/v1/db/meta/tables/${tableId}/kanbans`, method: 'POST', body: data, @@ -2656,37 +5568,158 @@ export class Api< }), /** - * No description - * - * @tags DB view - * @name KanbanUpdate - * @request PATCH:/api/v1/db/meta/kanbans/{kanbanId} - * @response `200` `void` OK - */ + * @description Update the Kanban View data with Kanban ID + * + * @tags DB View + * @name KanbanUpdate + * @summary Update Kanban View + * @request PATCH:/api/v1/db/meta/kanbans/{kanbanViewId} + * @response `200` `number` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ kanbanUpdate: ( - kanbanId: string, - data: KanbanType, + kanbanViewId: string, + data: KanbanUpdateReqType, params: RequestParams = {} ) => - this.request({ - path: `/api/v1/db/meta/kanbans/${kanbanId}`, + this.request< + number, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ + path: `/api/v1/db/meta/kanbans/${kanbanViewId}`, method: 'PATCH', body: data, type: ContentType.Json, + format: 'json', ...params, }), /** - * No description - * - * @tags DB view - * @name KanbanRead - * @request GET:/api/v1/db/meta/kanbans/{kanbanId} - * @response `200` `KanbanType` OK - */ - kanbanRead: (kanbanId: string, params: RequestParams = {}) => - this.request({ - path: `/api/v1/db/meta/kanbans/${kanbanId}`, + * @description Get the Kanban View data by Kanban ID + * + * @tags DB View + * @name KanbanRead + * @summary Get Kanban View + * @request GET:/api/v1/db/meta/kanbans/{kanbanViewId} + * @response `200` `KanbanType` OK + * @response `400` `{ + \** @example BadRequest [Error]: *\ + msg: string, + +}` + */ + kanbanRead: (kanbanViewId: string, params: RequestParams = {}) => + this.request< + KanbanType, + { + /** @example BadRequest [Error]: */ + msg: string; + } + >({ + path: `/api/v1/db/meta/kanbans/${kanbanViewId}`, + method: 'GET', + format: 'json', + ...params, + }), + + /** + * @description Create a new Map View + * + * @tags DB View + * @name MapCreate + * @summary Create Map View + * @request POST:/api/v1/db/meta/tables/{tableId}/maps + * @response `200` `ViewType` OK + * @response `400` `{ + \** @example BadRequest [Error]: