diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 495a21f7de..0d021b6272 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -40,7 +40,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Checkout uses: actions/checkout@v3 with: @@ -75,7 +75,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Checkout uses: actions/checkout@v3 with: diff --git a/.github/workflows/playwright-test-workflow.yml b/.github/workflows/playwright-test-workflow.yml index deb27e33df..a8dca3b20a 100644 --- a/.github/workflows/playwright-test-workflow.yml +++ b/.github/workflows/playwright-test-workflow.yml @@ -23,7 +23,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Setup pnpm uses: pnpm/action-setup@v2 with: diff --git a/.github/workflows/pre-build-for-playwright.yml b/.github/workflows/pre-build-for-playwright.yml index 267c25100b..192a8ffd38 100644 --- a/.github/workflows/pre-build-for-playwright.yml +++ b/.github/workflows/pre-build-for-playwright.yml @@ -13,7 +13,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Setup pnpm uses: pnpm/action-setup@v2 with: diff --git a/.github/workflows/publish-blog.yml b/.github/workflows/publish-blog.yml index cc97742dc8..12f6748dab 100644 --- a/.github/workflows/publish-blog.yml +++ b/.github/workflows/publish-blog.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Build blogs run: | cd packages/noco-blog diff --git a/.github/workflows/publish-dev-docs.yml b/.github/workflows/publish-dev-docs.yml index ae67180d02..093a36b9f5 100644 --- a/.github/workflows/publish-dev-docs.yml +++ b/.github/workflows/publish-dev-docs.yml @@ -20,7 +20,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Build docs run: | cd packages/noco-docs diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 3708aa1720..60c76cf307 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -19,7 +19,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Build docs run: | cd packages/noco-docs diff --git a/.github/workflows/publish-noco-i18n.yml b/.github/workflows/publish-noco-i18n.yml index dd0f9d709d..c01d411372 100644 --- a/.github/workflows/publish-noco-i18n.yml +++ b/.github/workflows/publish-noco-i18n.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Build noco-i18n run: | cd packages/noco-i18n diff --git a/.github/workflows/publish-prev-docs.yml b/.github/workflows/publish-prev-docs.yml index 18701c67ef..4d282b94b6 100644 --- a/.github/workflows/publish-prev-docs.yml +++ b/.github/workflows/publish-prev-docs.yml @@ -19,7 +19,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Build prev docs run: | cd packages/noco-docs-prev diff --git a/.github/workflows/release-docker.yml b/.github/workflows/release-docker.yml index 3e4a25bfdf..ef758a1802 100644 --- a/.github/workflows/release-docker.yml +++ b/.github/workflows/release-docker.yml @@ -84,7 +84,7 @@ jobs: - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: upgrade packages for nightly build or pr build if: ${{ github.event.inputs.targetEnv == 'DEV' || inputs.targetEnv == 'DEV' }} diff --git a/.github/workflows/release-draft.yml b/.github/workflows/release-draft.yml index e28338f9c6..9ae589c56b 100644 --- a/.github/workflows/release-draft.yml +++ b/.github/workflows/release-draft.yml @@ -70,5 +70,5 @@ jobs: }) - uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - run: "npx github-release-notes@0.17.2 release --token ${{ secrets.GITHUB_TOKEN }} --draft --tags ${{ github.event.inputs.tag || inputs.tag }}..${{ github.event.inputs.prev_tag || inputs.prev_tag }}" diff --git a/.github/workflows/release-executables.yml b/.github/workflows/release-executables.yml index cd73d8ed52..191d912701 100644 --- a/.github/workflows/release-executables.yml +++ b/.github/workflows/release-executables.yml @@ -63,7 +63,7 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name : Install nocodb, other dependencies and build executables run: | diff --git a/.github/workflows/release-npm.yml b/.github/workflows/release-npm.yml index e434068e49..4813ad27a7 100644 --- a/.github/workflows/release-npm.yml +++ b/.github/workflows/release-npm.yml @@ -46,11 +46,11 @@ jobs: with: fetch-depth: 0 ref: ${{ github.ref }} - - name: pnpm Setup and Publish with 18.19.0 + - name: pnpm Setup and Publish with 18.19.1 # Setup .npmrc file to publish to npm uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 registry-url: 'https://registry.npmjs.org' - run: | export NODE_OPTIONS="--max_old_space_size=16384" diff --git a/.github/workflows/release-timely-executables.yml b/.github/workflows/release-timely-executables.yml index c29c17c182..c844945b71 100644 --- a/.github/workflows/release-timely-executables.yml +++ b/.github/workflows/release-timely-executables.yml @@ -64,7 +64,7 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Update nocodb-timely env: diff --git a/.github/workflows/update-sdk-path.yml b/.github/workflows/update-sdk-path.yml index 1f8c94b6ef..84e404deeb 100644 --- a/.github/workflows/update-sdk-path.yml +++ b/.github/workflows/update-sdk-path.yml @@ -16,7 +16,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 18.19.0 + node-version: 18.19.1 - name: Checkout uses: actions/checkout@v3 with: diff --git a/.npmrc b/.npmrc index d12c4ae4a5..cc6faed3c6 100644 --- a/.npmrc +++ b/.npmrc @@ -1,3 +1,3 @@ engine-strict=true shamefully-hoist=true -use-node-version=18.19.0 +use-node-version=18.19.1 diff --git a/README.md b/README.md index 36bcac7497..a655ac2533 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart spreadshe
-[![Node version](https://img.shields.io/badge/node-%3E%3D%2018.19.0-brightgreen)](http://nodejs.org/download/) +[![Node version](https://img.shields.io/badge/node-%3E%3D%2018.19.1-brightgreen)](http://nodejs.org/download/) [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-green.svg)](https://conventionalcommits.org)
@@ -265,11 +265,11 @@ We provide the following ways to let users programmatically invoke actions. You ### Sync Schema -We allow you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from one environment to another. See Sync Schema for details. +We allow you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from one environment to another. See Sync Schema for details. ### Audit -We are keeping all the user operation logs in one place. See Audit for details. +We are keeping all the user operation logs in one place. See Audit for details. # Production Setup @@ -277,7 +277,7 @@ By default, SQLite is used for storing metadata. However, you can specify your d ## Environment variables -Please refer to the [Environment variables](https://docs.nocodb.com/getting-started/environment-variables) +Please refer to the [Environment variables](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # Development Setup diff --git a/markdown/readme/languages/chinese.md b/markdown/readme/languages/chinese.md index bf5a95aefc..1d8cd4e8c7 100644 --- a/markdown/readme/languages/chinese.md +++ b/markdown/readme/languages/chinese.md @@ -189,11 +189,11 @@ docker-compose up -d ### 架构同步 -如果您在 NocoDB GUI 之外进行了更改,我们允许您同步架构更改。 但是,必须注意的是,您必须附有自己的迁移架构才能从一个环境迁移到其他环境。 有关详细信息,请参阅 同步架构。 +如果您在 NocoDB GUI 之外进行了更改,我们允许您同步架构更改。 但是,必须注意的是,您必须附有自己的迁移架构才能从一个环境迁移到其他环境。 有关详细信息,请参阅 同步架构。 ### 审计 -我们将所有用户操作日志保存在一起。 有关详细信息,请参阅 审计。 +我们将所有用户操作日志保存在一起。 有关详细信息,请参阅 审计。 # 生产部署 @@ -201,7 +201,7 @@ docker-compose up -d ## 环境变量 -参见[环境变量](https://docs.nocodb.com/getting-started/environment-variables) +参见[环境变量](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # 开发 diff --git a/markdown/readme/languages/dutch.md b/markdown/readme/languages/dutch.md index 445043774d..1b9930db72 100644 --- a/markdown/readme/languages/dutch.md +++ b/markdown/readme/languages/dutch.md @@ -181,7 +181,7 @@ docker-compose up -d ## Environment variables -Please refer to [Environment variables](https://docs.nocodb.com/getting-started/environment-variables) +Please refer to [Environment variables](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # Development setup diff --git a/markdown/readme/languages/french.md b/markdown/readme/languages/french.md index 52036eaf49..e21c91cf79 100644 --- a/markdown/readme/languages/french.md +++ b/markdown/readme/languages/french.md @@ -182,7 +182,7 @@ docker-compose up -d ## Variables d'environnement -Please refer to [Environment variables](https://docs.nocodb.com/getting-started/environment-variables) +Please refer to [Environment variables](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # Paramétrage du développement diff --git a/markdown/readme/languages/german.md b/markdown/readme/languages/german.md index fdf5ad447e..32f3d8b6d1 100644 --- a/markdown/readme/languages/german.md +++ b/markdown/readme/languages/german.md @@ -190,7 +190,7 @@ docker-compose up -d ## Umgebungsvariablen -Siehe [Environment variables](https://docs.nocodb.com/getting-started/environment-variables) +Siehe [Environment variables](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # Entwicklungsaufbau diff --git a/markdown/readme/languages/indonesian.md b/markdown/readme/languages/indonesian.md index b615bc2b04..76aef028e5 100644 --- a/markdown/readme/languages/indonesian.md +++ b/markdown/readme/languages/indonesian.md @@ -256,11 +256,11 @@ Akses dasbor menggunakan : [http://localhost:8080/dashboard](http://localhost:80 ### Sinkronisasi Skema -Kami memungkinkan Anda untuk menyinkronkan perubahan skema jika Anda telah melakukan perubahan di luar antarmuka NocoDB GUI. Namun, perlu diperhatikan bahwa Anda harus menyediakan migrasi skema sendiri untuk berpindah dari satu lingkungan ke lingkungan lainnya. Lihat [Sinkronisasi Skema](https://docs.nocodb.com/setup-and-usages/sync-schema/) untuk detail lebih lanjut. +Kami memungkinkan Anda untuk menyinkronkan perubahan skema jika Anda telah melakukan perubahan di luar antarmuka NocoDB GUI. Namun, perlu diperhatikan bahwa Anda harus menyediakan migrasi skema sendiri untuk berpindah dari satu lingkungan ke lingkungan lainnya. Lihat [Sinkronisasi Skema](https://docs.nocodb.com/data-sources/sync-with-data-source) untuk detail lebih lanjut. ### Audit -Kami menyimpan semua log operasi pengguna di satu tempat. Lihat [Audit](https://docs.nocodb.com/setup-and-usages/audit) untuk detail lebih lanjut. +Kami menyimpan semua log operasi pengguna di satu tempat. Lihat [Audit](https://docs.nocodb.com/data-sources/actions-on-data-sources/#audit-logs) untuk detail lebih lanjut. # Pengaturan Produksi @@ -268,7 +268,7 @@ Secara default, SQLite digunakan untuk menyimpan metadata. Namun, Anda dapat men ## Environment variables -Silakan lihat [Environment Variables](https://docs.nocodb.com/getting-started/environment-variables) untuk informasi lebih lanjut. +Silakan lihat [Environment Variables](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) untuk informasi lebih lanjut. # Pengaturan Pengembangan diff --git a/markdown/readme/languages/italian.md b/markdown/readme/languages/italian.md index bf53b18865..cb66e8a2b6 100644 --- a/markdown/readme/languages/italian.md +++ b/markdown/readme/languages/italian.md @@ -185,7 +185,7 @@ docker-compose up -d ## Variabili d'ambiente -Please refer to [Environment variables](https://docs.nocodb.com/getting-started/environment-variables) +Please refer to [Environment variables](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # Setup di sviluppo diff --git a/markdown/readme/languages/japanese.md b/markdown/readme/languages/japanese.md index 3253f94d6d..0d2d933bd2 100644 --- a/markdown/readme/languages/japanese.md +++ b/markdown/readme/languages/japanese.md @@ -184,7 +184,7 @@ docker-compose up -d ## 環境変数 -[環境変数](https://docs.nocodb.com/getting-started/environment-variables)をご参照ください +[環境変数](https://docs.nocodb.com/getting-started/self-hosted/environment-variables)をご参照ください # 開発セットアップ diff --git a/markdown/readme/languages/korean.md b/markdown/readme/languages/korean.md index 0abf7ed054..5dcee7be44 100644 --- a/markdown/readme/languages/korean.md +++ b/markdown/readme/languages/korean.md @@ -185,7 +185,7 @@ docker-compose up -d ## 환경변수 여기서 확인해주세요. -[환경변수 ](https://docs.nocodb.com/getting-started/environment-variables) +[환경변수 ](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # 개발 환경에 설치 diff --git a/markdown/readme/languages/portuguese.md b/markdown/readme/languages/portuguese.md index 3b2510c914..22540aefbc 100644 --- a/markdown/readme/languages/portuguese.md +++ b/markdown/readme/languages/portuguese.md @@ -183,7 +183,7 @@ docker-compose up -d ## Environment variables -Please refer to [Environment variables](https://docs.nocodb.com/getting-started/environment-variables) +Please refer to [Environment variables](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # Development setup diff --git a/markdown/readme/languages/russian.md b/markdown/readme/languages/russian.md index cd7ada6be7..2012382c49 100644 --- a/markdown/readme/languages/russian.md +++ b/markdown/readme/languages/russian.md @@ -185,7 +185,7 @@ docker-compose up -d ## Переменные среды -Please refer to [Environment variables](https://docs.nocodb.com/getting-started/environment-variables) +Please refer to [Environment variables](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # Настройка разработки diff --git a/markdown/readme/languages/spanish.md b/markdown/readme/languages/spanish.md index 935bc07e08..8930d0178b 100644 --- a/markdown/readme/languages/spanish.md +++ b/markdown/readme/languages/spanish.md @@ -182,7 +182,7 @@ docker-compose up -d ## Variables de entorno -Por favor diríjase a [Environment variables](https://docs.nocodb.com/getting-started/environment-variables) +Por favor diríjase a [Environment variables](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # Configuración de desarollo diff --git a/markdown/readme/languages/ukrainian.md b/markdown/readme/languages/ukrainian.md index 3b9a4b0e41..eabda7636a 100644 --- a/markdown/readme/languages/ukrainian.md +++ b/markdown/readme/languages/ukrainian.md @@ -15,7 +15,7 @@ Nocodb перетворює будь-яку базу даних MySQL, PostgreSQ
-[![Node version](https://img.shields.io/badge/node-%3E%3D%2018.19.0-brightgreen)](http://nodejs.org/download/) +[![Node version](https://img.shields.io/badge/node-%3E%3D%2018.19.1-brightgreen)](http://nodejs.org/download/) [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-green.svg)](https://conventionalcommits.org)
@@ -238,11 +238,11 @@ npm start ### Синхронізація схеми -Ми дозволяємо вам синхронізувати зміни схеми, якщо ви внесли зміни поза NocoDB GUI. Проте слід зауважити, що вам доведеться мати власні міграції схеми для переміщення з одного середовища в інше. Деталі дивіться у Sync Schema. +Ми дозволяємо вам синхронізувати зміни схеми, якщо ви внесли зміни поза NocoDB GUI. Проте слід зауважити, що вам доведеться мати власні міграції схеми для переміщення з одного середовища в інше. Деталі дивіться у Sync Schema. ### Аудит -Ми зберігаємо всі журнали операцій користувача в одному місці. Деталі дивіться у Audit. +Ми зберігаємо всі журнали операцій користувача в одному місці. Деталі дивіться у Audit. # Налаштування продукції @@ -250,7 +250,7 @@ npm start ## Змінні середовища -Будь ласка, звертайтеся до [Змінні середовища](https://docs.nocodb.com/getting-started/environment-variables) +Будь ласка, звертайтеся до [Змінні середовища](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # Налаштування розробки diff --git a/package.json b/package.json index f7be5e00b6..e9f7a325cf 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,9 @@ "license": "AGPL-3.0-or-later", "devDependencies": { "fs": "0.0.1-security", - "lerna": "^7.0.2", + "lerna": "^7.4.2", "husky": "^8.0.3", - "xlsx": "^0.17.4" + "xlsx": "^0.17.5" }, "husky": { "hooks": { diff --git a/packages/nc-gui/app.vue b/packages/nc-gui/app.vue index 78d86f7c3e..bf4941ab0c 100644 --- a/packages/nc-gui/app.vue +++ b/packages/nc-gui/app.vue @@ -1,4 +1,6 @@ diff --git a/packages/nc-gui/assets/nc-icons/bold.svg b/packages/nc-gui/assets/nc-icons/bold.svg new file mode 100644 index 0000000000..8d0f350794 --- /dev/null +++ b/packages/nc-gui/assets/nc-icons/bold.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/nc-gui/assets/nc-icons/crop.svg b/packages/nc-gui/assets/nc-icons/crop.svg new file mode 100644 index 0000000000..14e9fc6761 --- /dev/null +++ b/packages/nc-gui/assets/nc-icons/crop.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/packages/nc-gui/assets/nc-icons/eye-off.svg b/packages/nc-gui/assets/nc-icons/eye-off.svg new file mode 100644 index 0000000000..196a4ed3a0 --- /dev/null +++ b/packages/nc-gui/assets/nc-icons/eye-off.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/packages/nc-gui/assets/nc-icons/eye.svg b/packages/nc-gui/assets/nc-icons/eye.svg index 3e19595fa4..597b5e291f 100644 --- a/packages/nc-gui/assets/nc-icons/eye.svg +++ b/packages/nc-gui/assets/nc-icons/eye.svg @@ -1,4 +1,8 @@ - - - + + + \ No newline at end of file diff --git a/packages/nc-gui/assets/nc-icons/italic.svg b/packages/nc-gui/assets/nc-icons/italic.svg new file mode 100644 index 0000000000..d548395005 --- /dev/null +++ b/packages/nc-gui/assets/nc-icons/italic.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/nc-gui/assets/nc-icons/underline.svg b/packages/nc-gui/assets/nc-icons/underline.svg new file mode 100644 index 0000000000..caaefbf010 --- /dev/null +++ b/packages/nc-gui/assets/nc-icons/underline.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/nc-gui/assets/style.scss b/packages/nc-gui/assets/style.scss index f3330b1469..8ea1d047ca 100644 --- a/packages/nc-gui/assets/style.scss +++ b/packages/nc-gui/assets/style.scss @@ -749,3 +749,39 @@ svg.nc-cell-icon, svg.nc-virtual-cell-icon { @apply w-1em h-1em flex-none; font-size: 1rem; } + + +// For select type field list layout +.nc-field-layout-list { + @apply !flex !flex-col !items-start w-full !space-y-0.5 !max-w-full; + + .ant-checkbox-wrapper { + @apply !m-0 !h-9 !mr-0 !flex !items-center w-full !max-w-full pl-2 rounded-lg hover:bg-gray-100; + + &:hover { + .ant-checkbox-checked:after { + @apply !rounded; + } + } + .ant-checkbox { + @apply !top-0; + + & + span { + @apply !flex !pl-4 max-w-[calc(100%_-_16px)]; + } + .ant-checkbox-checked:after, + .ant-checkbox-inner { + @apply !rounded; + } + } + } + .ant-radio-wrapper { + @apply !m-0 !h-9 !mr-0 !flex !items-center w-full !max-w-full pl-2 rounded-lg hover:bg-gray-100; + .ant-radio { + @apply !top-0; + } + .ant-radio + span { + @apply !flex !pl-4 max-w-[calc(100%_-_16px)]; + } + } +} \ No newline at end of file diff --git a/packages/nc-gui/components/cell/MultiSelect.vue b/packages/nc-gui/components/cell/MultiSelect.vue index 34080cd190..5c5a205f2a 100644 --- a/packages/nc-gui/components/cell/MultiSelect.vue +++ b/packages/nc-gui/components/cell/MultiSelect.vue @@ -3,6 +3,7 @@ import { message } from 'ant-design-vue' import tinycolor from 'tinycolor2' import type { Select as AntSelect } from 'ant-design-vue' import type { SelectOptionType, SelectOptionsType } from 'nocodb-sdk' +import type { FormFieldsLimitOptionsType } from '~/lib' import { ActiveCellInj, ColumnInj, @@ -95,7 +96,43 @@ const options = computed<(SelectOptionType & { value?: string })[]>(() => { for (const op of opts.filter((el: SelectOptionType) => el.order === null)) { op.title = op.title?.replace(/^'/, '').replace(/'$/, '') } - return opts.map((o: SelectOptionType) => ({ ...o, value: o.title })) + let order = 1 + const limitOptionsById = + ((parseProp(column.value.meta)?.limitOptions || []).reduce( + (o: Record, f: FormFieldsLimitOptionsType) => { + if (order < (f?.order ?? 0)) { + order = f.order + } + return { + ...o, + [f.id]: f, + } + }, + {}, + ) as Record) ?? {} + + if ( + !isEditColumn.value && + isForm.value && + parseProp(column.value.meta)?.isLimitOption && + (parseProp(column.value.meta)?.limitOptions || []).length + ) { + return opts + .filter((o: SelectOptionType) => { + if (limitOptionsById[o.id!]?.show !== undefined) { + return limitOptionsById[o.id!]?.show + } + return false + }) + .map((o) => ({ + ...o, + value: o.title, + order: o.id && limitOptionsById[o.id] ? limitOptionsById[o.id]?.order : order++, + })) + .sort((a, b) => a.order - b.order) + } else { + return opts.map((o: SelectOptionType) => ({ ...o, value: o.title })) + } } return [] }) @@ -353,154 +390,194 @@ const onFocus = () => { + + + -
- -
- {{ $t('msg.selectOption.createNewOptionNamed') }} {{ searchVal }} -
-
- - - + - + + + + + {{ op.title }} + + + + + + + +
+ +
+ {{ $t('msg.selectOption.createNewOptionNamed') }} {{ searchVal }} +
+
+
+ + -
+ + {{ val }} + + + + + diff --git a/packages/nc-gui/components/cell/RichText.vue b/packages/nc-gui/components/cell/RichText.vue index 955d9296dc..b263004f00 100644 --- a/packages/nc-gui/components/cell/RichText.vue +++ b/packages/nc-gui/components/cell/RichText.vue @@ -187,7 +187,7 @@ watch(editorDom, () => { 'max-w-[calc(100%_-_198px)] flex justify-end rounded-tr-2xl overflow-hidden': fullMode, }" > -
+
diff --git a/packages/nc-gui/components/cell/SingleSelect.vue b/packages/nc-gui/components/cell/SingleSelect.vue index 1ca601c92f..57ccd9ee38 100644 --- a/packages/nc-gui/components/cell/SingleSelect.vue +++ b/packages/nc-gui/components/cell/SingleSelect.vue @@ -3,6 +3,7 @@ import { message } from 'ant-design-vue' import tinycolor from 'tinycolor2' import type { Select as AntSelect } from 'ant-design-vue' import type { SelectOptionType } from 'nocodb-sdk' +import type { FormFieldsLimitOptionsType } from '~/lib' import { ActiveCellInj, ColumnInj, @@ -88,7 +89,44 @@ const options = computed<(SelectOptionType & { value: string })[]>(() => { for (const op of opts.filter((el: any) => el.order === null)) { op.title = op.title.replace(/^'/, '').replace(/'$/, '') } - return opts.map((o: any) => ({ ...o, value: o.title })) + + let order = 1 + const limitOptionsById = + ((parseProp(column.value.meta)?.limitOptions || []).reduce( + (o: Record, f: FormFieldsLimitOptionsType) => { + if (order < (f?.order ?? 0)) { + order = f.order + } + return { + ...o, + [f.id]: f, + } + }, + {}, + ) as Record) ?? {} + + if ( + !isEditColumn.value && + isForm.value && + parseProp(column.value.meta)?.isLimitOption && + (parseProp(column.value.meta)?.limitOptions || []).length + ) { + return opts + .filter((o: SelectOptionType & { value: string }) => { + if (limitOptionsById[o.id]?.show !== undefined) { + return limitOptionsById[o.id]?.show + } + return false + }) + .map((o: any) => ({ + ...o, + value: o.title, + order: o.id && limitOptionsById[o.id] ? limitOptionsById[o.id]?.order : order++, + })) + .sort((a, b) => a.order - b.order) + } else { + return opts.map((o: any) => ({ ...o, value: o.title })) + } } return [] }) @@ -272,82 +310,70 @@ const onFocus = () => { diff --git a/packages/nc-gui/components/cell/TextArea.vue b/packages/nc-gui/components/cell/TextArea.vue index 42ee3a4a33..2c5e0139a7 100644 --- a/packages/nc-gui/components/cell/TextArea.vue +++ b/packages/nc-gui/components/cell/TextArea.vue @@ -173,7 +173,7 @@ const dragStart = (e: MouseEvent) => { } watch(editEnabled, () => { - if (editEnabled.value) { + if (editEnabled.value && isRichMode.value) { isVisible.value = true } }) @@ -227,7 +227,7 @@ watch(inputWrapperRef, () => { :ref="focus" v-model="vModel" :rows="isForm ? 5 : 4" - class="h-full w-full outline-none border-none nc-scrollbar-lg" + class="h-full w-full outline-none border-none nc-longtext-scrollbar" :class="{ 'p-2': editEnabled, 'py-1 h-full': isForm, @@ -270,8 +270,8 @@ watch(inputWrapperRef, () => { - +
+ + + + + + + + + +
diff --git a/packages/nc-gui/components/virtual-cell/components/ListChildItems.vue b/packages/nc-gui/components/virtual-cell/components/ListChildItems.vue index fed18d1b11..9fd8672aab 100644 --- a/packages/nc-gui/components/virtual-cell/components/ListChildItems.vue +++ b/packages/nc-gui/components/virtual-cell/components/ListChildItems.vue @@ -188,7 +188,7 @@ const linkedShortcuts = (e: KeyboardEvent) => { try { e.target?.previousElementSibling?.focus() } catch (e) {} - } else if (e.key !== 'Tab' && e.key !== 'Shift' && e.key !== 'Enter' && e.key !== ' ') { + } else if (!expandedFormDlg.value && e.key !== 'Tab' && e.key !== 'Shift' && e.key !== 'Enter' && e.key !== ' ') { try { filterQueryRef.value?.focus() } catch (e) {} @@ -200,6 +200,7 @@ onMounted(() => { }) onUnmounted(() => { + childrenListPagination.query = '' window.removeEventListener('keydown', linkedShortcuts) }) diff --git a/packages/nc-gui/components/virtual-cell/components/ListItems.vue b/packages/nc-gui/components/virtual-cell/components/ListItems.vue index 2fcaa7ea7a..d5628b7c2a 100644 --- a/packages/nc-gui/components/virtual-cell/components/ListItems.vue +++ b/packages/nc-gui/components/virtual-cell/components/ListItems.vue @@ -230,7 +230,7 @@ const linkedShortcuts = (e: KeyboardEvent) => { try { e.target?.previousElementSibling?.focus() } catch (e) {} - } else if (e.key !== 'Tab' && e.key !== 'Shift' && e.key !== 'Enter' && e.key !== ' ') { + } else if (!expandedFormDlg.value && e.key !== 'Tab' && e.key !== 'Shift' && e.key !== 'Enter' && e.key !== ' ') { try { filterQueryRef.value?.focus() } catch (e) {} @@ -242,6 +242,7 @@ onMounted(() => { }) onUnmounted(() => { + childrenExcludedListPagination.query = '' window.removeEventListener('keydown', linkedShortcuts) }) diff --git a/packages/nc-gui/composables/useKanbanViewStore.ts b/packages/nc-gui/composables/useKanbanViewStore.ts index c498e40937..57b5755dfd 100644 --- a/packages/nc-gui/composables/useKanbanViewStore.ts +++ b/packages/nc-gui/composables/useKanbanViewStore.ts @@ -211,7 +211,7 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState( const { fk_grp_col_id, meta: stack_meta } = kanbanMetaData.value - stackMetaObj.value = stack_meta ? JSON.parse(stack_meta as string) : {} + stackMetaObj.value = parseProp(stack_meta) || {} if (stackMetaObj.value && fk_grp_col_id && stackMetaObj.value[fk_grp_col_id]) { // keep the existing order (index of the array) but update the values done outside kanban diff --git a/packages/nc-gui/composables/useMultiSelect/convertCellData.ts b/packages/nc-gui/composables/useMultiSelect/convertCellData.ts index 1ca5e60c32..922c285554 100644 --- a/packages/nc-gui/composables/useMultiSelect/convertCellData.ts +++ b/packages/nc-gui/composables/useMultiSelect/convertCellData.ts @@ -1,6 +1,6 @@ import dayjs from 'dayjs' import type { AttachmentType, ColumnType, LinkToAnotherRecordType, SelectOptionsType } from 'nocodb-sdk' -import { UITypes, populateUniqueFileName } from 'nocodb-sdk' +import { UITypes, getDateFormat, getDateTimeFormat, populateUniqueFileName } from 'nocodb-sdk' import type { AppInfo } from '~/composables/useGlobal' import { isBt, isMm, parseProp } from '#imports' @@ -55,30 +55,24 @@ export default function convertCellData( if (strval === 'false' || strval === '0' || strval === '') return false } return null - case UITypes.Date: { - const parsedDate = dayjs(value, parseProp(column?.meta)?.date_format ?? 'YYYY-MM-DD') - if (!parsedDate.isValid()) { - if (isMultiple) { - return null - } else { - throw new Error('Not a valid date') - } - } - return parsedDate.format('YYYY-MM-DD') - } + case UITypes.Date: case UITypes.DateTime: { - const parsedDateTime = dayjs( - value, - `${parseProp(column?.meta)?.date_format ?? 'YYYY-MM-DD'} ${parseProp(column?.meta)?.time_format ?? 'HH:mm'}`, - ) - if (!parsedDateTime.isValid()) { + let parsedDateOrDateTime = dayjs(value, getDateTimeFormat(value)) + + if (!parsedDateOrDateTime.isValid()) { + parsedDateOrDateTime = dayjs(value, getDateFormat(value)) + } + + if (!parsedDateOrDateTime.isValid()) { if (isMultiple) { return null } else { - throw new Error('Not a valid datetime value') + throw new Error(`Not a valid '${to}' value`) } } - return parsedDateTime.utc().format('YYYY-MM-DD HH:mm:ssZ') + return to === UITypes.Date + ? parsedDateOrDateTime.format('YYYY-MM-DD') + : parsedDateOrDateTime.utc().format('YYYY-MM-DD HH:mm:ssZ') } case UITypes.Time: { let parsedTime = dayjs(value) diff --git a/packages/nc-gui/composables/useMultiSelect/index.ts b/packages/nc-gui/composables/useMultiSelect/index.ts index 4d609ec75f..f61aff8045 100644 --- a/packages/nc-gui/composables/useMultiSelect/index.ts +++ b/packages/nc-gui/composables/useMultiSelect/index.ts @@ -785,7 +785,7 @@ export function useMultiSelect( if (columnObj.uidt === UITypes.LongText) { if (rowObj.row[columnObj.title] === '
') { rowObj.row[columnObj.title] = e.key - } else { + } else if (parseProp(columnObj.meta).richMode) { rowObj.row[columnObj.title] = rowObj.row[columnObj.title] ? rowObj.row[columnObj.title] + e.key : e.key } } else { diff --git a/packages/nc-gui/composables/useSharedFormViewStore.ts b/packages/nc-gui/composables/useSharedFormViewStore.ts index e60f089657..4be41faebc 100644 --- a/packages/nc-gui/composables/useSharedFormViewStore.ts +++ b/packages/nc-gui/composables/useSharedFormViewStore.ts @@ -109,6 +109,7 @@ const [useProvideSharedFormStore, useSharedFormStore] = useInjectionState((share columns.value = viewMeta.model?.columns?.map((c) => ({ ...c, + meta: { ...parseProp(fieldById[c.id].meta), ...parseProp(c.meta) }, description: fieldById[c.id].description, })) diff --git a/packages/nc-gui/composables/useViewColumns.ts b/packages/nc-gui/composables/useViewColumns.ts index c7e0889fdd..c0ed8a0058 100644 --- a/packages/nc-gui/composables/useViewColumns.ts +++ b/packages/nc-gui/composables/useViewColumns.ts @@ -1,8 +1,8 @@ -import { ViewTypes, isHiddenCol, isSystemColumn } from 'nocodb-sdk' import type { ColumnType, GridColumnReqType, GridColumnType, MapType, TableType, ViewType } from 'nocodb-sdk' +import { ViewTypes, isHiddenCol, isSystemColumn } from 'nocodb-sdk' import type { ComputedRef, Ref } from 'vue' -import { computed, ref, storeToRefs, useBase, useNuxtApp, useRoles, useUndoRedo, watch } from '#imports' import type { Field } from '#imports' +import { computed, ref, storeToRefs, useBase, useNuxtApp, useRoles, useUndoRedo, watch } from '#imports' const [useProvideViewColumns, useViewColumns] = useInjectionState( ( @@ -278,6 +278,13 @@ const [useProvideViewColumns, useViewColumns] = useInjectionState( saveOrUpdate(field, fieldIndex) } + const toggleFieldStyles = (field: any, style: 'underline' | 'bold' | 'italic', status: boolean) => { + const fieldIndex = fields.value?.findIndex((f) => f.fk_column_id === field.fk_column_id) + if (!fieldIndex && fieldIndex !== 0) return + field[style] = status + saveOrUpdate(field, fieldIndex, true) + } + // reload view columns when active view changes // or when columns changes(delete/add) watch( @@ -351,6 +358,7 @@ const [useProvideViewColumns, useViewColumns] = useInjectionState( showSystemFields, metaColumnById, toggleFieldVisibility, + toggleFieldStyles, isViewColumnsLoading, updateGridViewColumn, gridViewCols, diff --git a/packages/nc-gui/composables/useViewData.ts b/packages/nc-gui/composables/useViewData.ts index da3c4d105d..853f28a53e 100644 --- a/packages/nc-gui/composables/useViewData.ts +++ b/packages/nc-gui/composables/useViewData.ts @@ -297,6 +297,7 @@ export function useViewData( fk_column_id: c.id, fk_view_id: viewMeta.value?.id, ...(fieldById[c.id!] ? fieldById[c.id!] : {}), + meta: { ...parseProp(fieldById[c.id!]?.meta), ...parseProp(c.meta) }, // TODO: discuss with @pranav order: (fieldById[c.id!] && fieldById[c.id!].order) || order++, id: fieldById[c.id!] && fieldById[c.id!].id, })) diff --git a/packages/nc-gui/lang/ar.json b/packages/nc-gui/lang/ar.json index 0c656e95e8..fe0eeb7b9c 100644 --- a/packages/nc-gui/lang/ar.json +++ b/packages/nc-gui/lang/ar.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "الوصول مقيد بكلمة مرور", "privateLink": "تتم مشاركة هذا العرض عبر رابط خاص", "privateLinkAdditionalInfo": "يمكن للأشخاص الذين لديهم رابط خاص رؤية الخلايا المرئية فقط في طريقة العرض هذه", - "afterFormSubmitted": "بعد تقديم النموذج", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "الوصول للمشروع عبر", "submitAnotherForm": "إظهار زر 'إرسال نموذج آخر'", "showBlankForm": "إظهار نموذج فارغ بعد 5 ثوان", "emailForm": "راسلني بالبريد عبر", "showSysFields": "إظهار حقول النظام", "filterAutoApply": "تطبيق تلقائي", - "showMessage": "اعرض هذه الرسالة", + "formDisplayMessage": "Display Message", "viewNotShared": "لم تتم مشاركة العرض الحالي!", "showAllViews": "عرض جميع المشاهدات المشتركة لهذا الجدول", "collabView": "يمكن للمتعاونين الذين لديهم أذونات تحرير أو أعلى تغيير تكوين العرض.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "تصدير البيانات الوصفية للمشروع بنجاح", diff --git a/packages/nc-gui/lang/bn_IN.json b/packages/nc-gui/lang/bn_IN.json index 58af773acb..73a5359f59 100644 --- a/packages/nc-gui/lang/bn_IN.json +++ b/packages/nc-gui/lang/bn_IN.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "অ্যাক্সেস পাসওয়ার্ড সীমাবদ্ধ", "privateLink": "এই ভিউটি একটি ব্যক্তিগত লিঙ্কের মাধ্যমে ভাগ করা হয়েছে", "privateLinkAdditionalInfo": "ব্যক্তিগত লিঙ্কযুক্ত লোকেরা কেবল এই দৃশ্যে কোষগুলি দৃশ্যমান দেখতে পারে", - "afterFormSubmitted": "ফর্ম জমা দেওয়ার পরে", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "মাধ্যমে অ্যাক্সেস প্রকল্প", "submitAnotherForm": "অন্য ফর্ম জমা দিন' বোতামটি দেখান", "showBlankForm": "5 সেকেন্ড পরে একটি ফাঁকা ফর্ম দেখান", "emailForm": "আমাকে ইমেল করুন", "showSysFields": "সিস্টেম ক্ষেত্রগুলি দেখান", "filterAutoApply": "অটো প্রয়োগ", - "showMessage": "এই বার্তাটি দেখান", + "formDisplayMessage": "Display Message", "viewNotShared": "বর্তমান ভিউ ভাগ করা হয় না!", "showAllViews": "এই টেবিলের সমস্ত ভাগ করা দর্শন দেখান", "collabView": "সম্পাদনা অনুমতি বা উচ্চতর সহ সহযোগীরা ভিউ কনফিগারেশন পরিবর্তন করতে পারে।", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "প্রকল্প মেটাডেটা সফলভাবে রফতানি করেছে", diff --git a/packages/nc-gui/lang/cs.json b/packages/nc-gui/lang/cs.json index af7beb82ee..33bd91d445 100644 --- a/packages/nc-gui/lang/cs.json +++ b/packages/nc-gui/lang/cs.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Přepnout Mobilní režim", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Přístup je omezen heslem", "privateLink": "Tento pohled je sdílen prostřednictvím soukromého odkazu", "privateLinkAdditionalInfo": "Lidé se soukromým odkazem mohou vidět pouze buňky viditelné v tomto zobrazení.", - "afterFormSubmitted": "Po odeslání formuláře", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Přístup k projektu přes", "submitAnotherForm": "Zobrazit tlačítko \"Odeslat další formulář", "showBlankForm": "Zobrazení prázdného formuláře po 5 sekundách", "emailForm": "Pošlete mi e-mail na adresu", "showSysFields": "Zobrazit systémová pole", "filterAutoApply": "Automatické použití", - "showMessage": "Zobrazit tuto zprávu", + "formDisplayMessage": "Display Message", "viewNotShared": "Současný pohled není sdílený!", "showAllViews": "Zobrazit všechna sdílená zobrazení této tabulky", "collabView": "Spolupracovníci s oprávněním k úpravám nebo vyšším mohou měnit konfiguraci zobrazení.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Úspěšný export metadat projektu", diff --git a/packages/nc-gui/lang/da.json b/packages/nc-gui/lang/da.json index 9219dc2206..9ec81ef12c 100644 --- a/packages/nc-gui/lang/da.json +++ b/packages/nc-gui/lang/da.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Skift Mobil Tilstand", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Adgang er adgangskode begrænset", "privateLink": "Denne visning deles via et privat link", "privateLinkAdditionalInfo": "Folk med privat link kan kun se celler synlige i denne opfattelse", - "afterFormSubmitted": "Efter formularen er indsendt", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Access Project Via.", "submitAnotherForm": "Vis 'Indsend en anden formular' -knap", "showBlankForm": "Vis en blank form efter 5 sekunder", "emailForm": "E-mail mig på", "showSysFields": "Vis systemfelter", "filterAutoApply": "Auto Application", - "showMessage": "Vis denne besked", + "formDisplayMessage": "Display Message", "viewNotShared": "Nuværende visning er ikke delt!", "showAllViews": "Vis alle fælles visninger af denne tabel", "collabView": "Samarbejdspartnere med redigeringstilladelser eller højere kan ændre visningskonfigurationen.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Project Metadata eksporteres med succes", diff --git a/packages/nc-gui/lang/de.json b/packages/nc-gui/lang/de.json index 32c2a25fb9..08897f5e39 100644 --- a/packages/nc-gui/lang/de.json +++ b/packages/nc-gui/lang/de.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Mobilen Modus umschalten", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Zugriff ist Passwort-geschützt", "privateLink": "Diese Ansicht wird durch einen persönlichen Link geteilt", "privateLinkAdditionalInfo": "Personen mit einem persönlichen Link können nur Zellen sehen, die in dieser Ansicht angezeigt werden", - "afterFormSubmitted": "Nachdem das Formular übermittelt wurde", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Zugriff auf das Projekt via", "submitAnotherForm": "Weiteres Formular übermitteln'-Button anzeigen", "showBlankForm": "Ein leeres Formular nach 5 Sekunden anzeigen", "emailForm": "E-Mail an mich unter", "showSysFields": "Systemfelder anzeigen", "filterAutoApply": "Automatisch anwenden", - "showMessage": "Diese Nachricht anzeigen", + "formDisplayMessage": "Display Message", "viewNotShared": "Aktuelle Ansicht wird nicht geteilt!", "showAllViews": "Alle geteilten Ansichten dieser Tabelle anzeigen", "collabView": "Mitarbeitern mit Bearbeitungsberechtigung oder höher können die Ansichtenkonfiguration ändern", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Projektmetadaten erfolgreich exportiert", diff --git a/packages/nc-gui/lang/en.json b/packages/nc-gui/lang/en.json index b769565cdb..5de49fc45c 100644 --- a/packages/nc-gui/lang/en.json +++ b/packages/nc-gui/lang/en.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -422,7 +427,8 @@ "setNull": "Set NULL", "setDefault": "Set Default" }, - "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here" + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -685,11 +691,14 @@ "selectField": "Select a field", "selectFieldLabel": "Make changes to field properties by selecting a field from the list" }, - "appearanceSettings":"Appearance Settings", - "backgroundColor":"Background Color", - "hideNocodbBranding":"Hide NocoDB Branding", + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", "showOnConditions": "Show on condtions", - "showFieldOnConditionsMet":"Shows field only when conditions are met" + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit ptions", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { "noRange": "Calendar view requires a date range", @@ -999,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Looks like you haven’t generated any API tokens yet.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Fast track your projects by collaborating on them with your team!" + "inviteYourTeamLabel": "Fast track your projects by collaborating on them with your team!", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1107,7 +1117,7 @@ "tooLargeFieldEntity": "The field is too large to be converted to {entity}", "roleRequired": "Role required", "warning": { - "calendarNoFields": "Calendar view requires a date or date time field to be setup. Try setting up a calendar view after adding a date / date time field!", + "calendarNoFields": "Calendar view requires a date or date time field to be setup. Try setting up a calendar view after adding a date/ date time field!", "kanbanNoFields": "Kanban view requires a single select field to be setup. Try setting up a kanban view after adding a single select field!", "mapNoFields": "Map view requires a geo data field to be setup. Try setting up a map view after adding a geo data field!", "dbValid": "Please make sure database you are trying to connect is valid! This operation can cause schema loss!!", @@ -1294,7 +1304,9 @@ "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", - "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}" + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { "fetchingCalendarData": "Error fetching calendar data", @@ -1382,7 +1394,7 @@ "theAcceptedFileTypesAreXlsXlsxXlsmOdsOts": "The accepted file types are .xls, .xlsx, .xlsm, .ods, .ots", "parameterKeyCannotBeEmpty": "Parameter key cannot be empty", "duplicateParameterKeysAreNotAllowed": "Duplicate parameter keys are not allowed", - "fieldRequired": "{value} cannot be empty", + "fieldRequired": "{value} cannot be empty.", "projectNotAccessible": "Base not accessible", "copyToClipboardError": "Failed to copy to clipboard", "pasteFromClipboardError": "Failed to paste from clipboard", diff --git a/packages/nc-gui/lang/es.json b/packages/nc-gui/lang/es.json index 78669ecc42..b57cc1ad65 100644 --- a/packages/nc-gui/lang/es.json +++ b/packages/nc-gui/lang/es.json @@ -192,13 +192,18 @@ "enter": "Enter", "seconds": "Segundos", "paste": "Pegar", - "restore": "Restaurar" + "restore": "Restaurar", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { - "day": "Day", - "week": "Week", - "month": "Month", - "year": "Year", + "day": "Día", + "week": "Semana", + "month": "Mes", + "year": "Año", "workspace": "Espacio de trabajo", "workspaces": "Espacios de trabajo", "project": "Proyecto", @@ -305,7 +310,7 @@ "isNotNull": "no es nulo" }, "title": { - "sso": "Authentication (SSO)", + "sso": "Autenticación (SSO)", "docs": "Documentos", "forum": "Foro", "parameter": "Parámetro", @@ -336,7 +341,7 @@ "virtualRelation": "Relación virtual", "linkMore": "Enlace más", "linkMoreRecords": "Vincular más registros", - "linkRecords": "Link Records", + "linkRecords": "Registros de Enlaces", "downloadFile": "Descargar archivo", "renameTable": "Renombrar tabla", "renamingTable": "Renombrar tabla", @@ -403,7 +408,7 @@ "findRowByScanningCode": "Find row by scanning a QR or Barcode", "tokenManagement": "Gestión de Token", "addNewToken": "Añadir nuevo token", - "createNewToken": "Create new token", + "createNewToken": "Crear nuevo token", "accountSettings": "Configuración de la cuenta", "resetPasswordMenu": "Restablecer contraseña", "tokens": "Tokens", @@ -421,80 +426,82 @@ "restrict": "Restringir", "setNull": "Establecer NULL", "setDefault": "Establecer por defecto" - } + }, + "selectFieldsFromRightPannelToAddHere": "Selecciona los campos del panel derecho para añadirlos aquí", + "noOptionsFound": "No options found" }, "labels": { - "selectYear": "Select Year", - "save": "Save", - "cancel": "Cancel", - "metadataUrl": "Metadata URL", - "audience-entityId": "Audience/ Entity ID", - "redirectUrl": "Redirect URL", + "selectYear": "Seleccionar Año", + "save": "Guardar", + "cancel": "Cancelar", + "metadataUrl": "URL de metadatos", + "audience-entityId": "Audiencia/ Entidad ID", + "redirectUrl": "URL de redirección", "oidc": "OpenID Connect (OIDC)", "saml": "Security Assertion Markup Language (SAML)", - "newProvider": "New Provider", - "generalSettings": "General Settings", - "ssoSettings": "SSO Settings", - "organizeBy": "Organize by", - "previous": "Previous", - "nextMonth": "Next Month", - "previousMonth": "Previous Month", - "next": "Next", - "organiseBy": "Organise by", + "newProvider": "Nuevo proveedor", + "generalSettings": "Ajustes Generales", + "ssoSettings": "Ajustes SSO", + "organizeBy": "Organizar por", + "previous": "Anterior", + "nextMonth": "Mes siguiente", + "previousMonth": "Mes anterior", + "next": "Siguiente", + "organiseBy": "Organizar por", "heading1": "Encabezado 1", "heading2": "Encabezado 2", - "heading3": "Heading 3", - "bold": "Bold", - "italic": "Italic", - "underline": "Underline", - "strike": "Strike", - "taskList": "Task List", - "bulletList": "Bullet List", - "numberedList": "Numbered List", - "downloadData": "Download Data", - "blockQuote": "Block Quote", - "noToken": "No Token", - "tokenLimit": "Only one token per user is allowed", - "duplicateAttachment": "File with name {filename} already attached", + "heading3": "Encabezado 3", + "bold": "Negrita", + "italic": "Cursiva", + "underline": "Subrayado", + "strike": "Tachado", + "taskList": "Lista de Tareas", + "bulletList": "Lista con viñetas", + "numberedList": "Lista numerada", + "downloadData": "Descargar Datos", + "blockQuote": "Bloque de cita", + "noToken": "Sin Token", + "tokenLimit": "Sólo se permite un token por usuario", + "duplicateAttachment": "Archivo con el nombre {filename} ya adjuntado", "viewIdColon": "VIEW ID: {viewId}", - "toAddress": "To Address", - "subject": "Subject", - "body": "Body", + "toAddress": "A Dirección", + "subject": "Asunto", + "body": "Cuerpo", "commaSeparatedMobileNumber": "Comma separated Mobile #", - "headerName": "Header Name", - "icon": "Icon", - "max": "Max", - "enableRichText": "Enable Rich Text", + "headerName": "Nombre del encabezado", + "icon": "Icono", + "max": "Máximo", + "enableRichText": "Activar Texto Enriquecido", "idColon": "Id:", - "copiedRecordURL": "Copied Record URL", - "copyRecordURL": "Copy Record URL", - "duplicateRecord": "Duplicate record", - "binaryEncodingFormat": "Binary encoding format", - "syntax": "Syntax", - "examples": "Examples", - "durationInfo": "A duration of time in minutes or seconds (e.g. 1:23).", - "addHeader": "Add Header", - "enterDefaultUrlOptional": "Enter default URL (Optional)", - "negative": "Negative", - "discard": "Discard", - "default": "Default", - "defaultNumberPercent": "Default Number (%)", - "durationFormat": "Duration Format", - "dateFormat": "Date Format", - "timeFormat": "Time Format", - "singularLabel": "Singular Label", - "pluralLabel": "Plural Label", - "selectDateField": "Select a date field", - "endDateField": "End date field", - "optional": "(Optional)", - "clickToMake": "Click to make", - "visibleForRole": "visible for role:", + "copiedRecordURL": "URL del registro copiado", + "copyRecordURL": "Copiar URL de registro", + "duplicateRecord": "Duplicar registro", + "binaryEncodingFormat": "Formato de codificación binaria", + "syntax": "Sintaxis", + "examples": "Ejemplos", + "durationInfo": "Una duración de tiempo en minutos o segundos (por ejemplo, 1:23).", + "addHeader": "Añadir Encabezado", + "enterDefaultUrlOptional": "Introdcir URL predeterminada (Opcional)", + "negative": "Negativo", + "discard": "Descartar", + "default": "Por defecto", + "defaultNumberPercent": "Número por defecto (%)", + "durationFormat": "Formato de la duración", + "dateFormat": "Formato de fecha", + "timeFormat": "Formato de hora", + "singularLabel": "Etiqueta Singular", + "pluralLabel": "Etiqueta Plural", + "selectDateField": "Seleccionar un campo de fecha", + "endDateField": "Campo fecha de fin", + "optional": "(Opcional)", + "clickToMake": "Pulsar para hacer", + "visibleForRole": "visible para el rol:", "inUI": "in UI Dashboard", - "projectSettings": "Base Settings", - "clickToHide": "Click to hide", - "clickToDownload": "Click to download", - "forRole": "for role", - "clickToCopyViewID": "Click to copy View ID", + "projectSettings": "Ajustes básicos", + "clickToHide": "Clic para ocultar", + "clickToDownload": "Clic para descargar", + "forRole": "para el rol", + "clickToCopyViewID": "Clic para copiar View ID", "viewMode": "Modo solo lectura", "searchUsers": "Buscar usuarios", "superAdmin": "Super Admin", @@ -528,9 +535,9 @@ "duplicateFormView": "Duplicar vista de formulario", "createFormView": "Crear vista de formulario", "duplicateKanbanView": "Duplicar vista Kanban", - "duplicateCalendarView": "Duplicate Calendar View", + "duplicateCalendarView": "Duplicar vista de calendario", "createKanbanView": "Crear vista Kanban", - "createCalendarView": "Create Calendar View", + "createCalendarView": "Crear vista de calendario", "viewName": "Nombre de la vista", "viewLink": "Ver enlace", "columnName": "Nombre de columna", @@ -683,18 +690,27 @@ "incompleteConfiguration": "Configuración incompleta", "selectField": "Seleccione un campo", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Ajustes de apariencia", + "backgroundColor": "Color de Fondo", + "hideNocodbBranding": "Ocultar marca NocoDB", + "showOnConditions": "Mostrar en condiciones", + "showFieldOnConditionsMet": "Muestra el campo sólo cuando se cumplen las condiciones", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { - "goToToday": "Go to Today", - "toggleSidebar": "Toggle Sidebar", - "addEndDate": "Add end date", - "withEndDate": "with end date", - "calendar": "Calendar", - "viewSettings": "View settings", + "noRange": "La vista del calendario requiere un rango de fechas", + "goToToday": "Ir a Hoy", + "toggleSidebar": "Alternar Barra Lateral", + "addEndDate": "Añadir fecha final", + "withEndDate": "con fecha de fin", + "calendar": "Calendario", + "viewSettings": "Ver ajustes", "googleOAuth": "Google OAuth", - "registerOIDC": "Register OIDC Identity Provider", - "registerSAML": "Register SAML Identity Provider", + "registerOIDC": "Registrar proveedor de identidad OIDC", + "registerSAML": "Registrar proveedor de identidad SAML", "openInANewTab": "Abrir en una nueva pestaña", "copyIFrameCode": "Copiar código IFrame", "onCondition": "En Condición", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Activar el modo móvil", - "startCommenting": "¡Empieza a comentar!" + "startCommenting": "¡Empieza a comentar!", + "clearForm": "Limpiar formulario", + "addFieldFromFormView": "Añadir Campo", + "selectAllFields": "Seleccionar todos los campos" }, "tooltip": { "reachedSourceLimit": "Limitado a una única fuente de datos por el momento", @@ -952,7 +971,7 @@ "selectGroupField": "Seleccione un campo de agrupación", "selectGroupFieldNotFound": "No se encuentra ningún campo de selección único. Por favor, cree uno primero.", "selectGeoField": "Seleccione un campo de datos geográficos", - "notSelected": "-not selected-", + "notSelected": "-no seleccionado-", "selectGeoFieldNotFound": "No se encuentra ningún campo de datos geográficos. Por favor, cree uno primero.", "password": { "enter": "Ingresa la contraseña", @@ -962,7 +981,7 @@ "confirm": "Confirmar nueva contraseña" }, "selectAColumnForTheQRCodeValue": "Select a field for the QR code value", - "allowNegativeNumbers": "Allow negative numbers", + "allowNegativeNumbers": "Permitir números negativos", "searchProjectTree": "Buscar tablas", "searchFields": "Buscar campos", "searchColumn": "Buscar columna {search}", @@ -973,7 +992,7 @@ "filterByEmail": "Filtrar por correo electrónico", "filterQuery": "Filtrar consulta", "selectField": "Seleccionar campo", - "precision": "Precision", + "precision": "Precisión", "decimal1": "1.0", "decimal2": "1.00", "decimal3": "1.000", @@ -982,21 +1001,22 @@ "decimal6": "1.000000", "decimal7": "1.0000000", "decimal8": "1.00000000", - "value": "Value", - "key": "Key", + "value": "Valor", + "key": "Clave", "createTable": "Create your First Table!", "createTableLabel": "Create your first table effortlessly, from scratch, or by importing/connecting to an external database.", "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", - "enterPassword": "Enter password", + "enterPassword": "Introducir la contraseña", "bySigningUp": "By signing up, you agree to the", "subscribeToOurWeeklyNewsletter": "Subscribe to our weekly newsletter", - "verifyingPassword": "Verifying Password", + "verifyingPassword": "Verificando contraseña", "thisSharedViewIsProtected": "This shared view is protected", "successfullySubmittedFormData": "Successfully submitted form data", "formViewNotSupportedOnMobile": "Form view is not supported on mobile", @@ -1004,19 +1024,19 @@ "optimizedQueryDisabled": "Optimized query is disabled", "optimizedQueryEnabled": "Optimized query is enabled", "lookupNonBtWarning": "Lookup field is not supported for non-Belongs to relation", - "invalidTime": "Invalid Time", + "invalidTime": "Hora no válida", "linkColumnClearNotSupportedYet": "You don't have any supported links for Lookup", "recordCouldNotBeFound": "Record could not be found", "invalidPhoneNumber": "Invalid phone number", - "pageSizeChanged": "Page size changed", - "errorLoadingData": "Error loading data", + "pageSizeChanged": "Tamaño de página modificado", + "errorLoadingData": "Error al cargar datos", "webhookBodyMsg1": "Use context variable", - "webhookBodyMsg2": "body", + "webhookBodyMsg2": "cuerpo", "webhookBodyMsg3": "to refer the record under consideration", "formula": { "hintStart": "Hint: Use {placeholder1} to reference fields, e.g: {placeholder2}. For more, please check out", - "hintEnd": "Formulas.", - "noSuggestedFormulaFound": "No suggested formula found", + "hintEnd": "Fórmulas.", + "noSuggestedFormulaFound": "Fórmula sugerida no encontrada", "typeIsExpected": "{calleeName} requires a {type} at position {position}", "numericTypeIsExpected": "Numeric type is expected", "stringTypeIsExpected": "String type is expected", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Restricción mediante contraseña", "privateLink": "Esta vista es compartida por link privado", "privateLinkAdditionalInfo": "Las personas con el link privado podrán únicamente ver celdas visibles de esta vista", - "afterFormSubmitted": "Después de enviar el formulario", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Accede al proyecto a través de", "submitAnotherForm": "Mostrar el botón 'Presentar otro formulario'", "showBlankForm": "Muestra un formulario en blanco después de 5 segundos.", "emailForm": "Envíame un correo electrónico a", "showSysFields": "Mostrar campos del sistema", "filterAutoApply": "Aplicar automáticamente", - "showMessage": "Mostrar este mensaje", + "formDisplayMessage": "Display Message", "viewNotShared": "La vista actual no está compartida!", "showAllViews": "Mostrar todas las vistas compartidas de esta tabla", "collabView": "Los colaboradores con permisos de edición o superior pueden cambiar la configuración de la vista.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Metadatos del proyecto exportados con éxito.", diff --git a/packages/nc-gui/lang/eu.json b/packages/nc-gui/lang/eu.json index d95a084fb5..f31ff13f2b 100644 --- a/packages/nc-gui/lang/eu.json +++ b/packages/nc-gui/lang/eu.json @@ -192,7 +192,12 @@ "enter": "Sartu", "seconds": "Seconds", "paste": "Itsatsi", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Access is password restricted", "privateLink": "This view is shared via a private link", "privateLinkAdditionalInfo": "People with private link can only see cells visible in this view", - "afterFormSubmitted": "After form is submitted", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Access Project via", "submitAnotherForm": "Show 'Submit Another Form' button", "showBlankForm": "Show a blank form after 5 seconds", "emailForm": "E-mail me at", "showSysFields": "Show system fields", "filterAutoApply": "Auto apply", - "showMessage": "Show this message", + "formDisplayMessage": "Display Message", "viewNotShared": "Current view is not shared!", "showAllViews": "Show all shared views of this table", "collabView": "Collaborators with edit permissions or higher can change the view configuration.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Project metadata exported successfully", diff --git a/packages/nc-gui/lang/fa.json b/packages/nc-gui/lang/fa.json index 4da1e4d186..dc315968d1 100644 --- a/packages/nc-gui/lang/fa.json +++ b/packages/nc-gui/lang/fa.json @@ -192,7 +192,12 @@ "enter": "وارد کردن", "seconds": "ثانیه ها", "paste": "جای گذاری", - "restore": "بازیابی" + "restore": "بازیابی", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "تغییر وضعیت حالت موبایل", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "دسترسی با لزوم ورود کلمه عبور محدود شده", "privateLink": "این نمایش از طریق لینک خصوصی به اشتراک گذاشته شده", "privateLinkAdditionalInfo": "افراد با لینک خصوصی تنها می‌توانند سلول‌هایی که در این نمایش قابل مشاهده است را ببینند", - "afterFormSubmitted": "بعد از ارسال فرم", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "دسترسی به پروژه از طریق", "submitAnotherForm": "نمایش دکمه \"ارسال فرمی دیگر\"", "showBlankForm": "نمایش فرم خالی پس از 5 ثانیه", "emailForm": "به این آدرس پست الکترونیکی من پیام ارسال کنید", "showSysFields": "نمایش فیلدهای سیستم", "filterAutoApply": "اعمال خودکار", - "showMessage": "نمایش این پیام", + "formDisplayMessage": "Display Message", "viewNotShared": "نمایش فعلی به اشتراک گذاشته نشده!", "showAllViews": "مشاهده تمام نمایش های به اشتراک گذاشته شده از این جدول", "collabView": "همکاران با دسترسی ویرایش یا فراتر می‌توانند پیکربندی نمایش را تغییر دهند.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "فراداده پروژه با موفقیت خارج شد", diff --git a/packages/nc-gui/lang/fi.json b/packages/nc-gui/lang/fi.json index 69b87c9908..1255b74a89 100644 --- a/packages/nc-gui/lang/fi.json +++ b/packages/nc-gui/lang/fi.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Pääsy on salasana rajoitettu", "privateLink": "Tämä näkymä on jaettu yksityisen linkin kautta", "privateLinkAdditionalInfo": "Ihmiset, joilla on oma linkki, voivat nähdä vain tässä näkymässä näkyviä soluja", - "afterFormSubmitted": "Lomakkeen jälkeen", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Access Project kautta", "submitAnotherForm": "Näytä \"Lähetä toinen lomake\" -painike", "showBlankForm": "Näytä tyhjä lomake 5 sekunnin kuluttua", "emailForm": "Lähetä minulle sähköpostia", "showSysFields": "Näytä järjestelmäkenttiä", "filterAutoApply": "Auto Apply", - "showMessage": "Näytä tämä viesti", + "formDisplayMessage": "Display Message", "viewNotShared": "Nykyistä näkymää ei ole jaettu!", "showAllViews": "Näytä kaikki tämän taulukon yhteiset näkymät", "collabView": "Yhteistyökumppanit, joissa on muokkausoikeudet tai uudempi, voivat muuttaa näkymäasetusta.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Project Metadata viedään onnistuneesti", diff --git a/packages/nc-gui/lang/fr.json b/packages/nc-gui/lang/fr.json index 18dba92db5..d30e967d89 100644 --- a/packages/nc-gui/lang/fr.json +++ b/packages/nc-gui/lang/fr.json @@ -192,7 +192,12 @@ "enter": "Entrée", "seconds": "Secondes", "paste": "Coller", - "restore": "Restaurer" + "restore": "Restaurer", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "(Dés-)activer le mode Mobile", - "startCommenting": "Commencez à commenter !" + "startCommenting": "Commencez à commenter !", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limité à une seule source de données pour le moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Cliquer pour copier l'ID du champ", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "L’accès est restreint par un mot de passe", "privateLink": "Cette vue est partagée avec un lien privé", "privateLinkAdditionalInfo": "Les personnes ayant le lien privé peuvent voir uniquement les cellules visibles de cette vue", - "afterFormSubmitted": "Après que le formulaire a été soumis", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Accéder au projet via", "submitAnotherForm": "Afficher le bouton \"Soumettre un autre formulaire\"", "showBlankForm": "Montrer un formulaire vierge après 5 secondes", "emailForm": "Écrivez-moi à", "showSysFields": "Afficher les champs système", "filterAutoApply": "Appliquer automatiquement", - "showMessage": "Montrer ce message ", + "formDisplayMessage": "Display Message", "viewNotShared": "La vue actuelle n'est pas partagée!", "showAllViews": "Montrer toutes les vues partagées sur cette table", "collabView": "Les collaborateurs avec des autorisations d'édition ou plus peuvent modifier la configuration de la vue.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Les métadonnées de projet sont exportées avec succès", diff --git a/packages/nc-gui/lang/he.json b/packages/nc-gui/lang/he.json index 41d985e8b7..5cc758e23d 100644 --- a/packages/nc-gui/lang/he.json +++ b/packages/nc-gui/lang/he.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "הגישה היא מוגבלת בסיסמה", "privateLink": "תצוגה זו משותפת דרך קישור פרטי", "privateLinkAdditionalInfo": "אנשים עם קישור פרטי יכולים לראות רק תאים גלוי בתצוגה זו", - "afterFormSubmitted": "לאחר הטופס מוגשת", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "גישה לפרויקט דרך", "submitAnotherForm": "הצג 'שלח עוד כפתור' טופס '", "showBlankForm": "הצג טופס ריק לאחר 5 שניות", "emailForm": "דואר אלקטרוני לי ב", "showSysFields": "הצג שדות מערכת", "filterAutoApply": "החל אוטומטי", - "showMessage": "הצג הודעה זו", + "formDisplayMessage": "Display Message", "viewNotShared": "התצוגה הנוכחית אינה משותפת!", "showAllViews": "הצג את כל הנופים המשותפים של השולחן הזה", "collabView": "משתפי פעולה עם הרשאות עריכה או גבוה יותר יכולים לשנות את תצורת התצוגה.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "פרויקט Metadata מיוצא בהצלחה", diff --git a/packages/nc-gui/lang/hi.json b/packages/nc-gui/lang/hi.json index bccb0f1925..8c61dabe6e 100644 --- a/packages/nc-gui/lang/hi.json +++ b/packages/nc-gui/lang/hi.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "एक्सेस पासवर्ड प्रतिबंधित है", "privateLink": "यह दृश्य एक निजी लिंक के माध्यम से साझा किया गया है", "privateLinkAdditionalInfo": "निजी लिंक वाले लोग केवल इस दृश्य में दिखाई देने वाली कोशिकाओं को देख सकते हैं", - "afterFormSubmitted": "फॉर्म के बाद प्रस्तुत किया जाता है", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "के माध्यम से प्रोजेक्ट", "submitAnotherForm": "एक और फॉर्म सबमिट करें' बटन दिखाएं", "showBlankForm": "5 सेकंड के बाद एक खाली फॉर्म दिखाएं", "emailForm": "मुझे ई-मेल करें", "showSysFields": "सिस्टम फ़ील्ड दिखाएं", "filterAutoApply": "ऑटो लागू करें", - "showMessage": "यह संदेश दिखाएं", + "formDisplayMessage": "Display Message", "viewNotShared": "वर्तमान दृश्य साझा नहीं है!", "showAllViews": "इस तालिका के सभी साझा विचार दिखाएं", "collabView": "संपादन अनुमतियों या उच्चतर के साथ सहयोगी दृश्य कॉन्फ़िगरेशन को बदल सकते हैं।", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "परियोजना मेटाडेटा सफलतापूर्वक निर्यात की गई", diff --git a/packages/nc-gui/lang/hr.json b/packages/nc-gui/lang/hr.json index 68e983448e..a1b9614925 100644 --- a/packages/nc-gui/lang/hr.json +++ b/packages/nc-gui/lang/hr.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Preklopi na način za mobilne uređaje", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Pristup je ograničen lozinkom", "privateLink": "Ovaj prikaz se dijeli putem privatne veze", "privateLinkAdditionalInfo": "Osobe s privatnom vezom mogu vidjeti samo ćelije vidljive u ovom pogledu", - "afterFormSubmitted": "Nakon podnošenja obrasca", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Projekt pristupa putem", "submitAnotherForm": "Prikaži \"Pošalji još jedan obrazac\"", "showBlankForm": "Pokažite prazan obrazac nakon 5 sekundi", "emailForm": "E-mail me na", "showSysFields": "Prikaži polja sustava", "filterAutoApply": "Automatsko primjenjivanje", - "showMessage": "Pokažite ovu poruku", + "formDisplayMessage": "Display Message", "viewNotShared": "Trenutni prikaz se ne dijeli!", "showAllViews": "Prikaži sve zajedničke poglede na ovu tablicu", "collabView": "Suradnici s uređivanjem dopuštenja ili više mogu promijeniti konfiguraciju prikaza.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Projektni metapodaci su uspješno izvozili", diff --git a/packages/nc-gui/lang/id.json b/packages/nc-gui/lang/id.json index 7f624cda0d..bc35067502 100644 --- a/packages/nc-gui/lang/id.json +++ b/packages/nc-gui/lang/id.json @@ -192,7 +192,12 @@ "enter": "Masuk", "seconds": "Detik", "paste": "Tempel", - "restore": "Pulihkan" + "restore": "Pulihkan", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Akses dibatasi kata sandi", "privateLink": "Tampilan ini dibagikan melalui tautan pribadi", "privateLinkAdditionalInfo": "Orang dengan tautan pribadi hanya dapat melihat sel yang terlihat dalam pandangan ini", - "afterFormSubmitted": "Setelah formulir dikirimkan", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "PROYEK AKSES VIA.", "submitAnotherForm": "Tampilkan tombol 'Kirim formulir lain'", "showBlankForm": "Tampilkan formulir kosong setelah 5 detik", "emailForm": "E-mail saya di", "showSysFields": "Tampilkan bidang sistem", "filterAutoApply": "Terapkan secara otomatis", - "showMessage": "Tampilkan pesan ini", + "formDisplayMessage": "Display Message", "viewNotShared": "Tampilan saat ini tidak dibagikan!", "showAllViews": "Tampilkan semua tampilan bersama dari tabel ini", "collabView": "Kolaborator dengan izin edit atau lebih tinggi dapat mengubah konfigurasi tampilan.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Metadata proyek berhasil diekspor", diff --git a/packages/nc-gui/lang/it.json b/packages/nc-gui/lang/it.json index f303a496d3..c5545f7a14 100644 --- a/packages/nc-gui/lang/it.json +++ b/packages/nc-gui/lang/it.json @@ -192,7 +192,12 @@ "enter": "Invio", "seconds": "Secondi", "paste": "Incolla", - "restore": "Ripristino" + "restore": "Ripristino", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Limita", "setNull": "Imposta NULL", "setDefault": "Imposta default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Configurazione incompleta", "selectField": "Seleziona un campo", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Attiva/Disattiva Modalità Mobile", - "startCommenting": "Inizi a commentare!" + "startCommenting": "Inizi a commentare!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limitato a una sola sorgente dati per il momento", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Fare clic per copiare l'Id del campo", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "L'accesso è protetto da una password", "privateLink": "Questa vista è condivisa tramite un collegamento privato", "privateLinkAdditionalInfo": "Le persone con collegamento privato possono vedere solo le celle visibili in questa vista", - "afterFormSubmitted": "Dopo che il modulo è stato inviato", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Accedi al progetto tramite", "submitAnotherForm": "Mostra \"Invia un altro modulo\"", "showBlankForm": "Mostra un modulo vuoto dopo 5 secondi", "emailForm": "Mandami un'e-mail a", "showSysFields": "Mostra campi di sistema", "filterAutoApply": "Auto Apply.", - "showMessage": "Mostra questo messaggio", + "formDisplayMessage": "Display Message", "viewNotShared": "La vista corrente non è condivisa!", "showAllViews": "Mostra tutte le viste condivise di questa tabella", "collabView": "I collaboratori con autorizzazioni di modifica o superiore possono modificare la configurazione della vista", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "La modifica della chiave di sistema non è supportata", "notAvailableAtTheMoment": "Non disponibile al momento", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Si prega di completare la configurazione di tutti i campi prima di salvare", "somethingWentWrong": "Qualcosa è andato storto", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Metadati del progetto esportati con successo", diff --git a/packages/nc-gui/lang/ja.json b/packages/nc-gui/lang/ja.json index b81ca284a9..d685d23ee3 100644 --- a/packages/nc-gui/lang/ja.json +++ b/packages/nc-gui/lang/ja.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "アクセスするにはパスワードが必要です", "privateLink": "このビューはプライベートリンクを介して共有されています", "privateLinkAdditionalInfo": "プライベートリンクを持つ人々は、このビューで表示されているセルのみを見ることができます", - "afterFormSubmitted": "フォーム送信後の操作", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "プロジェクトへのアクセス: ", "submitAnotherForm": "「他の回答を送信」ボタンを表示", "showBlankForm": "5秒後に空白のフォームを表示", "emailForm": "次のアドレスへメールを送る", "showSysFields": "システムフィールドを表示", "filterAutoApply": "自動適用", - "showMessage": "このメッセージを表示", + "formDisplayMessage": "Display Message", "viewNotShared": "共有されているビューはありません!", "showAllViews": "このテーブルのすべての共有されているビューを表示する", "collabView": "編集権限を持つコラボレータは、ビュー構成を変更できます。", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "プロジェクトメタデータは正常にエクスポートされました", diff --git a/packages/nc-gui/lang/ko.json b/packages/nc-gui/lang/ko.json index 9d89c8670e..8c3bdb8bdf 100644 --- a/packages/nc-gui/lang/ko.json +++ b/packages/nc-gui/lang/ko.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "초", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "제한", "setNull": "null 설정", "setDefault": "기본값 설정" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "모바일 모드 전환", - "startCommenting": "댓글 달기" + "startCommenting": "댓글 달기", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "데이터 소스 제한에 도달했습니다.", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "클릭하여 필드 ID 복사", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "엑세스 비밀번호 제한", "privateLink": "비공개 링크로 현재 뷰 공유", "privateLinkAdditionalInfo": "비공개 링크가 있는 사용자는 현재 보기에서 표시되는 셀만 볼 수 있습니다.", - "afterFormSubmitted": "양식이 제출 된 후", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "API 옵션", "submitAnotherForm": "다른 양식 제출", "showBlankForm": "5 초 후에 빈 양식을 보여줍니다", "emailForm": "이메일로 공유", "showSysFields": "시스템 필드 표시", "filterAutoApply": "자동 적용", - "showMessage": "아래 메시지 표시", + "formDisplayMessage": "Display Message", "viewNotShared": "현재 뷰가 공유되지 않습니다!", "showAllViews": "테이블의 공유된 모든 뷰 표시", "collabView": "편집 권한 이상의 권한을 보유한 공동 작업자는 뷰 구성을 변경할 수 있습니다.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "프로젝트 메타 데이터를 성공적으로 내보냈습니다.", diff --git a/packages/nc-gui/lang/lv.json b/packages/nc-gui/lang/lv.json index 5de5d187c3..dbcd7e0c3c 100644 --- a/packages/nc-gui/lang/lv.json +++ b/packages/nc-gui/lang/lv.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Piekļuve ir ierobežota ar paroli", "privateLink": "Šis skats ir koplietots izmantojot privātu saiti", "privateLinkAdditionalInfo": "Cilvēkiar privātu saiti var redzēt tikai šūnas šajā skatā", - "afterFormSubmitted": "Pēc formas iesniegšanas", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Piekļūt projektam caur", "submitAnotherForm": "Parādīt 'Iesniegt vēl vienu formu' pogu", "showBlankForm": "Parādīt tukšu formu pēc 5 sekundēm", "emailForm": "Nosūtīt epastu man uz", "showSysFields": "Parādīt sistēmas laukus", "filterAutoApply": "Automātiski pielietot", - "showMessage": "Parādīt šo ziņojumu", + "formDisplayMessage": "Display Message", "viewNotShared": "Esošais skats nav koplietots!", "showAllViews": "Parādīt visus šīs tabulas koplietotos skatus", "collabView": "Līdzautori ar rediģēšanas vai augstākām atļaujām var mainīt šī skata konfigurāciju.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Projekta metadati eksportēti veiksmīgi", diff --git a/packages/nc-gui/lang/nl.json b/packages/nc-gui/lang/nl.json index 96cb2c46dc..2045ac2f36 100644 --- a/packages/nc-gui/lang/nl.json +++ b/packages/nc-gui/lang/nl.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Toegang is wachtwoord beperkt", "privateLink": "Deze weergave wordt gedeeld via een privélink", "privateLinkAdditionalInfo": "Mensen met privélink kunnen alleen cellen zien die zichtbaar zijn in deze weergave", - "afterFormSubmitted": "Nadat het formulier ingediend wordt", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Krijg toegang tot het project via", "submitAnotherForm": "Toon 'Stuur een nieuwe inzending' in", "showBlankForm": "Toon een leeg formulier na 5 seconden", "emailForm": "E-mail me op", "showSysFields": "Toon systeemvelden", "filterAutoApply": "Automatisch toepassen", - "showMessage": "Toon dit bericht", + "formDisplayMessage": "Display Message", "viewNotShared": "Huidige weergave is niet gedeeld!", "showAllViews": "Toon alle gedeelde weergaven van deze tabel", "collabView": "Collaborators met bewerkingsmachtigingen of hoger kunnen de weergaveconfiguratie wijzigen.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Project metadata met succes geëxporteerd", diff --git a/packages/nc-gui/lang/no.json b/packages/nc-gui/lang/no.json index e40e24e3fa..62f341417f 100644 --- a/packages/nc-gui/lang/no.json +++ b/packages/nc-gui/lang/no.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Tilgang er passordbegrenset", "privateLink": "Denne visningen deles via en privat lenke", "privateLinkAdditionalInfo": "Personer med privat kobling kan bare se celler synlige i denne visningen", - "afterFormSubmitted": "Etter skjema er sendt inn", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Tilgang til prosjekt via", "submitAnotherForm": "Vis 'Send inn en annen form' -knapp", "showBlankForm": "Vis et tomt skjema etter 5 sekunder", "emailForm": "E-post meg på", "showSysFields": "Vis systemfelt", "filterAutoApply": "Auto gjelder", - "showMessage": "Vis denne meldingen", + "formDisplayMessage": "Display Message", "viewNotShared": "Nåværende visning er ikke delt!", "showAllViews": "Vis alle felles syn på dette bordet", "collabView": "Samarbeidspartnere med redigeringsrettigheter eller høyere kan endre visningskonfigurasjonen.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Prosjektmetadata eksporteres vellykket", diff --git a/packages/nc-gui/lang/pl.json b/packages/nc-gui/lang/pl.json index 7e6cc551f3..3ada15afb4 100644 --- a/packages/nc-gui/lang/pl.json +++ b/packages/nc-gui/lang/pl.json @@ -192,7 +192,12 @@ "enter": "Wprowadź", "seconds": "Sekundy", "paste": "Wklej", - "restore": "Przywróć" + "restore": "Przywróć", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Ogranicz", "setNull": "Ustaw NULL", "setDefault": "Ustaw domyślne" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Niekompletna konfiguracja", "selectField": "Wybierz pole", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "Otwórz w OpenStreetMap" }, "toggleMobileMode": "Przełącz tryb mobilny", - "startCommenting": "Rozpocznij komentowanie" + "startCommenting": "Rozpocznij komentowanie", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Ograniczenie do jednego źródła danych w tej chwili", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Kliknij, aby skopiować Identyfikator Pola", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Dostęp jest ograniczony hasłem", "privateLink": "Ten widok jest współdzielony przez prywatny link", "privateLinkAdditionalInfo": "Ludzie z prywatnym ogniwem mogą widzieć tylko komórki widoczne w tym widoku", - "afterFormSubmitted": "Po złożeniu formularza", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Dostęp do projektu przez", "submitAnotherForm": "Pokaż przycisk \"Prześlij inny formularz\"", "showBlankForm": "Pokaż pustą formę po 5 sekundach", "emailForm": "E-mail mnie", "showSysFields": "Pokaż pola systemowe.", "filterAutoApply": "Automatyczne zastosowanie", - "showMessage": "Pokaż tę wiadomość", + "formDisplayMessage": "Display Message", "viewNotShared": "Aktualny widok nie jest udostępniany!", "showAllViews": "Pokaż wszystkie wspólne widoki na tę tabelę", "collabView": "Współpracownicy z uprawnieniami edycji lub wyższe mogą zmienić konfigurację widoku.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Edycja klucza systemowego nie jest obsługiwana", "notAvailableAtTheMoment": "Obecnie niedostępne", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Proszę zakończyć konfigurację wszystkich pól przed zapisaniem", "somethingWentWrong": "Coś poszło nie tak", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Pomyślnie wyeksportowano metadane projektu", diff --git a/packages/nc-gui/lang/pt.json b/packages/nc-gui/lang/pt.json index 798a1655ae..279acbe17a 100644 --- a/packages/nc-gui/lang/pt.json +++ b/packages/nc-gui/lang/pt.json @@ -35,7 +35,7 @@ "heatmap_chart": "Gráfico de mapa de calor", "treemap_chart": "Gráfico em árvore", "box_plot_chart": "Gráfico de caixas", - "candlestick_chart": "Candlestick Chart" + "candlestick_chart": "Gráfico castiçal" } }, "general": { @@ -65,7 +65,7 @@ "saving": "Gravando", "cancel": "Cancelar", "null": "Nulo", - "escape": "Escape", + "escape": "Sair", "hex": "Hex", "clear": "Limpar", "slack": "Slack", @@ -75,39 +75,39 @@ "matterMost": "Mattermost", "twilio": "Twilio", "whatsappTwilio": "WhatsApp Twilio", - "quote": "Quote", + "quote": "Citar", "submit": "Enviar", "create": "Criar", - "createEntity": "Create {entity}", - "creating": "Creating", - "creatingEntity": "Creating {entity}", - "details": "Details", - "skip": "Skip", - "code": "Code", + "createEntity": "Criar {entity}", + "creating": "Criando", + "creatingEntity": "Criando {entity}", + "details": "Detalhes", + "skip": "Saltar", + "code": "Código", "duplicate": "Duplicado", - "duplicating": "Duplicating", - "activate": "Activate", - "action": "Action", + "duplicating": "Duplicando", + "activate": "Ativar", + "action": "Ação", "insert": "Inserir", "delete": "Excluir", - "deleteEntity": "Delete {entity}", - "bulkInsert": "Bulk Insert", - "bulkDelete": "Bulk Delete", - "bulkUpdate": "Bulk Update", - "deleting": "Deleting", + "deleteEntity": "Eliminar {entity}", + "bulkInsert": "Inserção em massa", + "bulkDelete": "Excluir em massa", + "bulkUpdate": "Atualização em massa", + "deleting": "Apagando", "update": "Atualizar", "rename": "Renomear", "reload": "recarregar", "reset": "Redefinir", "install": "Instalar", "show": "Mostrar", - "access": "Access", - "visibility": "Visibility", + "access": "Acesso", + "visibility": "Visibilidade", "hide": "Esconder", - "deprecated": "Deprecated", + "deprecated": "Descontinuado", "showAll": "Mostre tudo", "hideAll": "Esconda tudo", - "notFound": "Not found", + "notFound": "Não encontrado", "showMore": "Mostre mais", "showOptions": "Mostrar opções", "hideOptions": "Ocultar opções", @@ -119,7 +119,7 @@ "signIn": "AUTENTIQUE-SE", "signOut": "Sair", "required": "Obrigatório", - "enableScanner": "Enable Scanner for filling", + "enableScanner": "Ativar scanner para preenchimento", "preferred": "Preferido", "mandatory": "Obrigatoriedade", "loading": "Carregando ...", @@ -127,8 +127,8 @@ "upload": "Carregar", "download": "Descarregar", "default": "Predefinição", - "base": "Source", - "datasource": "Data Source", + "base": "Origem", + "datasource": "Origem dos dados", "more": "Mais", "less": "Menos", "event": "Evento", @@ -136,7 +136,7 @@ "after": "Depois de", "before": "Antes de", "search": "Procurar", - "searchIn": "Search In", + "searchIn": "Pesquisar em", "notification": "Notificação", "reference": "Referência", "function": "Função", @@ -157,25 +157,25 @@ "groupingField": "Campo de Agrupamento", "insertAfter": "Inserir depois", "insertBefore": "Inserir Antes", - "insertAbove": "Insert above", - "insertBelow": "Insert below", + "insertAbove": "Inserir acima", + "insertBelow": "Inserir abaixo", "hideField": "Ocultar Campo", "sortAsc": "Ordenar Ascendente", "sortDesc": "Ordenar Descendente", - "move": "Move", - "geoDataField": "GeoData Field", - "type": "Type", - "name": "Name", - "changes": "Changes", - "new": "New", - "old": "Old", - "data": "Data", - "source": "Source", - "destination": "Destination", - "active": "Active", - "inactive": "Inactive", - "linked": "linked", - "finish": "Finish", + "move": "Mover", + "geoDataField": "Campo de dados geográficos", + "type": "Tipo", + "name": "Nome", + "changes": "Alterações", + "new": "Novo", + "old": "Antigo", + "data": "Dados", + "source": "Origem", + "destination": "Destino", + "active": "Ativo", + "inactive": "Inativo", + "linked": "vinculado", + "finish": "Concluir", "min": "Min", "max": "Máximo", "avg": "Média", @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Segundos", "paste": "Colar", - "restore": "Restaurar" + "restore": "Restaurar", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -395,17 +400,17 @@ "quickImportExcel": "Quick Import - Excel", "quickImportJSON": "Quick Import - JSON", "jsonEditor": "JSON Editor", - "comingSoon": "Coming Soon", + "comingSoon": "Brevemente", "advancedSettings": "Configurações avançadas", "codeSnippet": "Código Snippet", "keyboardShortcut": "Atalhos de teclado", - "generateRandomName": "Generate Random Name", + "generateRandomName": "Gerar nome aleatório", "findRowByScanningCode": "Find row by scanning a QR or Barcode", - "tokenManagement": "Token Management", - "addNewToken": "Add new token", - "createNewToken": "Create new token", - "accountSettings": "Account Settings", - "resetPasswordMenu": "Reset Password", + "tokenManagement": "Gestão de tokens", + "addNewToken": "Adicionar novo token", + "createNewToken": "Criar novo token", + "accountSettings": "Configurações da conta", + "resetPasswordMenu": "Repor a palavra-passe", "tokens": "Tokens", "userManagement": "Gestão de utilizadores", "accountManagement": "Gestão de contas", @@ -418,29 +423,31 @@ "links": { "noAction": "Sem ação", "cascade": "Cascata", - "restrict": "Restrict", - "setNull": "Set NULL", - "setDefault": "Set Default" - } + "restrict": "Restringir", + "setNull": "Definir NULL", + "setDefault": "Definir como padrão" + }, + "selectFieldsFromRightPannelToAddHere": "Seleccione campos do painel direito para adicionar aqui", + "noOptionsFound": "No options found" }, "labels": { - "selectYear": "Select Year", + "selectYear": "Selecionar ano", "save": "Guardar", "cancel": "Cancelar", "metadataUrl": "URL de metadados", - "audience-entityId": "Audience/ Entity ID", + "audience-entityId": "Público-alvo/Entidade ID", "redirectUrl": "URL de redirecionamento", - "oidc": "OpenID Connect (OIDC)", + "oidc": "Ligação OpenID (OIDC)", "saml": "Security Assertion Markup Language (SAML)", "newProvider": "Novo provedor", "generalSettings": "Configurações gerais", "ssoSettings": "Configurações SSO", - "organizeBy": "Organize by", - "previous": "Previous", - "nextMonth": "Next Month", - "previousMonth": "Previous Month", - "next": "Next", - "organiseBy": "Organise by", + "organizeBy": "Organizar por", + "previous": "Anterior", + "nextMonth": "Próximo mês", + "previousMonth": "Mês anterior", + "next": "Próximo", + "organiseBy": "Organizar por", "heading1": "Cabeçalho 1", "heading2": "Cabeçalho 2", "heading3": "Cabeçalho 3", @@ -452,36 +459,36 @@ "bulletList": "Lista com marcadores", "numberedList": "Lista numerada", "downloadData": "Transferir dados", - "blockQuote": "Block Quote", - "noToken": "No Token", + "blockQuote": "Bloco de citação", + "noToken": "Nenhum Token", "tokenLimit": "Só é permitido um token por utilizador", "duplicateAttachment": "Arquivo com o nome {filename} já está anexado", - "viewIdColon": "VIEW ID: {viewId}", - "toAddress": "To Address", - "subject": "Subject", + "viewIdColon": "ID DE VISUALIZAÇÃO: {viewId}", + "toAddress": "Para o endereço", + "subject": "Assunto", "body": "Body", "commaSeparatedMobileNumber": "Comma separated Mobile #", - "headerName": "Header Name", - "icon": "Icon", + "headerName": "Nome do cabeçalho", + "icon": "Ícone", "max": "Max", - "enableRichText": "Enable Rich Text", + "enableRichText": "Ativar texto rico", "idColon": "Id:", "copiedRecordURL": "Copied Record URL", "copyRecordURL": "Copy Record URL", - "duplicateRecord": "Duplicate record", - "binaryEncodingFormat": "Binary encoding format", - "syntax": "Syntax", - "examples": "Examples", - "durationInfo": "A duration of time in minutes or seconds (e.g. 1:23).", - "addHeader": "Add Header", - "enterDefaultUrlOptional": "Enter default URL (Optional)", - "negative": "Negative", - "discard": "Discard", - "default": "Default", - "defaultNumberPercent": "Default Number (%)", - "durationFormat": "Duration Format", - "dateFormat": "Date Format", - "timeFormat": "Time Format", + "duplicateRecord": "Duplicar registo", + "binaryEncodingFormat": "Formato de codificação binária", + "syntax": "Sintaxe", + "examples": "Exemplos", + "durationInfo": "Duração de tempo em minutos ou segundos (exp. 1:23).", + "addHeader": "Adicionar cabeçalho", + "enterDefaultUrlOptional": "Introduzir URL predefinido (opcional)", + "negative": "Negativo", + "discard": "Descartar", + "default": "Padrão", + "defaultNumberPercent": "Número padrão (%)", + "durationFormat": "Formato de duração", + "dateFormat": "Formato da data", + "timeFormat": "Formato da hora", "singularLabel": "Singular Label", "pluralLabel": "Plural Label", "selectDateField": "Select a date field", @@ -530,7 +537,7 @@ "duplicateKanbanView": "Duplicate Kanban View", "duplicateCalendarView": "Duplicate Calendar View", "createKanbanView": "Create Kanban View", - "createCalendarView": "Create Calendar View", + "createCalendarView": "Criar visualização de calendário", "viewName": "Visualizar nome", "viewLink": "View link.", "columnName": "Nome da coluna", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "O acesso está protegido por uma palavra-passe", "privateLink": "Esta vista é partilhada através de uma ligação privada", "privateLinkAdditionalInfo": "As pessoas com acesso à ligação privada só podem ver as células visíveis nesta vista", - "afterFormSubmitted": "Após o formulário é submetido", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Aceder ao Projecto por", "submitAnotherForm": "Mostrar 'enviar outro formulário' botão", "showBlankForm": "Mostre um formulário em branco após 5 segundos", "emailForm": "E-mail para", "showSysFields": "Mostrar campos do sistema", "filterAutoApply": "Aplicar automaticamente", - "showMessage": "Mostre esta mensagem", + "formDisplayMessage": "Display Message", "viewNotShared": "A visão atual não é compartilhada!", "showAllViews": "Mostrar todas as vistas compartilhadas desta mesa", "collabView": "Colaboradores com permissões de edição ou maiores podem alterar a configuração da visualização.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Metadados do projeto exportado com sucesso", diff --git a/packages/nc-gui/lang/pt_BR.json b/packages/nc-gui/lang/pt_BR.json index 642541489d..d344b03ede 100644 --- a/packages/nc-gui/lang/pt_BR.json +++ b/packages/nc-gui/lang/pt_BR.json @@ -1,28 +1,28 @@ { "dashboards": { - "create_new_dashboard_project": "Create New Interface", - "connect_data_sources": "Connect data sources", + "create_new_dashboard_project": "Criar nova interface", + "connect_data_sources": "Conectar fontes de dados", "alert": "Alert", "alert-message": "No databases have been connected. Connect database bases to build interfaces. Skip this step and add databases from the base home page later.", - "select_database_projects_that_you_want_to_link_to_this_dashboard_projects": "Select Database Bases that you want to link to this Interface.", - "create_interface": "Create interface", + "select_database_projects_that_you_want_to_link_to_this_dashboard_projects": "Selecione as bases de dados que você deseja vincular a esta interface.", + "create_interface": "Criar interface", "project_name": "Base Name", - "connect": "Connect", + "connect": "Conectar", "buttonActionTypes": { - "open_external_url": "Open external link", - "delete_record": "Delete record", - "update_record": "Update record", - "open_layout": "Open layout" + "open_external_url": "Abrir link externo", + "delete_record": "Excluir registro", + "update_record": "Atualizar registro", + "open_layout": "Abrir layout" }, "widgets": { - "static_text": "Text", - "chart": "Chart", - "table": "Table", - "image": "Image", + "static_text": "Texto", + "chart": "Gráfico", + "table": "Tabela", + "image": "Imagem", "map": "Map", - "button": "Button", - "number": "Number", - "bar_chart": "Bar Chart", + "button": "Botão", + "number": "Número", + "bar_chart": "Gráfico de barras", "line_chart": "Line Chart", "area_chart": "Area Chart", "pie_chart": "Pie Chart", @@ -39,7 +39,7 @@ } }, "general": { - "quit": "Quit", + "quit": "Sair", "home": "Início", "load": "Carregar", "open": "Abrir", @@ -47,7 +47,7 @@ "yes": "Sim", "no": "Não", "ok": "OK", - "back": "Back", + "back": "Voltar", "and": "E", "or": "Ou", "add": "Adicionar", @@ -55,16 +55,16 @@ "link": "Link", "links": "Links", "remove": "Remover", - "import": "Import", - "logout": "Log Out", + "import": "Importar", + "logout": "Encerrar Sessão", "empty": "Empty", - "changeIcon": "Change Icon", + "changeIcon": "Alterar Ícone", "save": "Salvar", - "available": "Available", - "abort": "Abort", + "available": "Disponível", + "abort": "Abortar", "saving": "Saving", "cancel": "Cancelar", - "null": "Null", + "null": "Nulo", "escape": "Escape", "hex": "Hex", "clear": "Clear", @@ -164,17 +164,17 @@ "sortDesc": "Ordenar Descendente", "move": "Move", "geoDataField": "Campo GeoData", - "type": "Type", - "name": "Name", - "changes": "Changes", - "new": "New", - "old": "Old", - "data": "Data", - "source": "Source", - "destination": "Destination", - "active": "Active", - "inactive": "Inactive", - "linked": "linked", + "type": "Tipo", + "name": "Nome", + "changes": "Mudanças", + "new": "Novo", + "old": "Antigo", + "data": "Dados", + "source": "Fonte", + "destination": "Destino", + "active": "Ativo", + "inactive": "Inativo", + "linked": "vinculado", "finish": "Finish", "min": "Min", "max": "Max", @@ -190,15 +190,20 @@ "useSurveyMode": "Use Survey Mode", "shift": "Shift", "enter": "Enter", - "seconds": "Seconds", - "paste": "Paste", - "restore": "Restore" + "seconds": "Segundos", + "paste": "Colar", + "restore": "Restaurar", + "replace": "Substituir", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { - "day": "Day", - "week": "Week", - "month": "Month", - "year": "Year", + "day": "Dia", + "week": "Semana", + "month": "Mês", + "year": "Ano", "workspace": "Workspace", "workspaces": "Workspaces", "project": "Projeto", @@ -217,7 +222,7 @@ "webhooks": "WebHooks.", "view": "Visualizar", "views": "Vizualizações", - "sidebar": "Sidebar", + "sidebar": "Barra lateral", "viewType": { "grid": "Grade", "gallery": "Galeria", @@ -230,7 +235,7 @@ "users": "Usuários", "role": "Função", "roles": "Funções", - "developer": "Developer", + "developer": "Desenvolvedor", "roleType": { "owner": "Proprietário", "creator": "Criador", @@ -238,7 +243,7 @@ "commenter": "Comentarista", "viewer": "Visualizador", "noaccess": "No Access", - "superAdmin": "Super Admin", + "superAdmin": "Super Administrador", "orgLevelCreator": "Criador de Nível da Organização", "orgLevelViewer": "Visualizador de nível da organização" }, @@ -250,7 +255,7 @@ "tall": "Tall", "extra": "Extra" }, - "externalDb": "External Database" + "externalDb": "Banco de Dados externo" }, "datatype": { "ID": "ID", @@ -305,7 +310,7 @@ "isNotNull": "não é nulo" }, "title": { - "sso": "Authentication (SSO)", + "sso": "Autenticação (SSO)", "docs": "Docs", "forum": "Forum", "parameter": "Parameter", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Alternar o modo móvel", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "O acesso está protegido por uma senha", "privateLink": "Esta vizualização é compartilhada através de uma conexão privada", "privateLinkAdditionalInfo": "As pessoas com acesso a conexão privada só podem ver as células visíveis nesta vizualização", - "afterFormSubmitted": "Após o formulário é submetido", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Acesse o projeto via", "submitAnotherForm": "Mostrar 'enviar outro formulário' botão", "showBlankForm": "Mostre um formulário em branco após 5 segundos", "emailForm": "E-mail para", "showSysFields": "Mostrar campos do sistema", "filterAutoApply": "Aplicar automaticamente", - "showMessage": "Mostre esta mensagem", + "formDisplayMessage": "Display Message", "viewNotShared": "A visão atual não é compartilhada!", "showAllViews": "Mostrar todas as vistas compartilhadas desta mesa", "collabView": "Colaboradores com permissões de edição ou maiores podem alterar a configuração da visualização.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Metadados do projeto exportado com sucesso", diff --git a/packages/nc-gui/lang/ru.json b/packages/nc-gui/lang/ru.json index 4efd334b4b..8f6d0684c0 100644 --- a/packages/nc-gui/lang/ru.json +++ b/packages/nc-gui/lang/ru.json @@ -192,7 +192,12 @@ "enter": "Вход", "seconds": "Секунды", "paste": "Вставить", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Установить в NULL", "setDefault": "Установить по умолчанию" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Выбрать поле", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Переключить мобильный режим", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Доступ защищенный паролем", "privateLink": "Это представление передано личной ссылкой.", "privateLinkAdditionalInfo": "Люди с личной ссыкой могу видеть только ячейки видимые в этом представлении", - "afterFormSubmitted": "После отправки формы", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Доступ проекта через", "submitAnotherForm": "Показать кнопку «Отправить другую форму»", "showBlankForm": "Показать пустую форму через 5 секунд", "emailForm": "Напишите мне на", "showSysFields": "Показать системные поля", "filterAutoApply": "Применять автоматически", - "showMessage": "Покажите это сообщение", + "formDisplayMessage": "Display Message", "viewNotShared": "Текущим представлением не поделились", "showAllViews": "Показать все общие представление этой таблицы", "collabView": "Сотрудники с разрешениями редактирования или выше могут изменить конфигурацию представления", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Метаданные проекта успешно экспортированы", diff --git a/packages/nc-gui/lang/sk.json b/packages/nc-gui/lang/sk.json index 84cb1686b0..99b16f0d27 100644 --- a/packages/nc-gui/lang/sk.json +++ b/packages/nc-gui/lang/sk.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Prístup je obmedzený heslom", "privateLink": "Tento pohľad sa zdieľa prostredníctvom súkromného prepojenia", "privateLinkAdditionalInfo": "Ľudia so súkromným prepojením môžu vidieť iba bunky viditeľné v tomto zobrazení", - "afterFormSubmitted": "Po odoslaní formulára", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Prístup k projektu cez", "submitAnotherForm": "Zobrazenie tlačidla Odoslať ďalší formulár", "showBlankForm": "Zobrazenie prázdneho formulára po 5 sekundách", "emailForm": "Napíšte mi na e-mailovú adresu", "showSysFields": "Zobrazenie systémových polí", "filterAutoApply": "Automatická aplikácia", - "showMessage": "Zobraziť túto správu", + "formDisplayMessage": "Display Message", "viewNotShared": "Súčasný pohľad nie je zdieľaný!", "showAllViews": "Zobrazenie všetkých zdieľaných zobrazení tejto tabuľky", "collabView": "Spolupracovníci s oprávneniami na úpravu alebo vyššími môžu zmeniť konfiguráciu zobrazenia.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Úspešný export metadát projektu", diff --git a/packages/nc-gui/lang/sl.json b/packages/nc-gui/lang/sl.json index 8ddeb88c5a..3900fa59d9 100644 --- a/packages/nc-gui/lang/sl.json +++ b/packages/nc-gui/lang/sl.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Za dostop je potrebno geslo", "privateLink": "Ta pogled je v skupni rabi prek zasebne povezave", "privateLinkAdditionalInfo": "Ljudje z zasebno povezavo lahko vidijo le celice, ki so vidne v tem pogledu", - "afterFormSubmitted": "Po obrazec", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Dostopaj projekt prek", "submitAnotherForm": "Pokaži gumb \"Pošljite gumb\"", "showBlankForm": "Po 5 sekundah pokažite prazno obliko", "emailForm": "Pošlji mi e-pošto", "showSysFields": "Pokaži sistemska polja", "filterAutoApply": "Auto Nanesite", - "showMessage": "Pokaži to sporočilo", + "formDisplayMessage": "Display Message", "viewNotShared": "Trenutni pogled ni v skupni rabi!", "showAllViews": "Pokaži vse skupne poglede na to tabelo", "collabView": "Sodelavci z dovoljenji za urejanje ali višje lahko spremenijo konfiguracijo pogleda.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Projekt Metapodatki se je uspešno izvozil", diff --git a/packages/nc-gui/lang/sv.json b/packages/nc-gui/lang/sv.json index ee3d6547d0..2b72319ca9 100644 --- a/packages/nc-gui/lang/sv.json +++ b/packages/nc-gui/lang/sv.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Åtkomst är lösenordsbegränsad", "privateLink": "Denna uppfattning delas via en privat länk", "privateLinkAdditionalInfo": "Människor med privat länk kan bara se celler synliga i den här vyn", - "afterFormSubmitted": "Efter formuläret skickas in", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Åtkomstprojekt via", "submitAnotherForm": "Visa \"Skicka en annan formulär\" -knapp", "showBlankForm": "Visa en tom form efter 5 sekunder", "emailForm": "E-posta mig på", "showSysFields": "Visa systemfält", "filterAutoApply": "Auto ansöker", - "showMessage": "Visa det här meddelandet", + "formDisplayMessage": "Display Message", "viewNotShared": "Aktuell vy är inte delad!", "showAllViews": "Visa alla delade utsikt över denna tabell", "collabView": "Samarbetare med redigeringsbehörigheter eller högre kan ändra visningskonfigurationen.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Projektmetadata exporterades framgångsrikt", diff --git a/packages/nc-gui/lang/th.json b/packages/nc-gui/lang/th.json index f631caf478..1768ad3321 100644 --- a/packages/nc-gui/lang/th.json +++ b/packages/nc-gui/lang/th.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "การเข้าถึงคือรหัสผ่านที่ จำกัด", "privateLink": "มุมมองนี้ใช้ร่วมกันผ่านลิงค์ส่วนตัว", "privateLinkAdditionalInfo": "ผู้ที่มีลิงค์ส่วนตัวสามารถเห็นเซลล์ที่มองเห็นได้ในมุมมองนี้เท่านั้น", - "afterFormSubmitted": "หลังจากส่งแบบฟอร์มแล้ว", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "เข้าถึงโครงการผ่านทาง", "submitAnotherForm": "แสดงปุ่ม 'ส่งฟอร์มอื่น'", "showBlankForm": "แสดงแบบฟอร์มเปล่าหลังจาก 5 วินาที", "emailForm": "ส่งอีเมลถึงฉันที่", "showSysFields": "แสดงฟิลด์ระบบ", "filterAutoApply": "ใช้อัตโนมัติ", - "showMessage": "แสดงข้อความนี้", + "formDisplayMessage": "Display Message", "viewNotShared": "มุมมองปัจจุบันไม่ได้แชร์!", "showAllViews": "แสดงมุมมองที่แชร์ทั้งหมดของตารางนี้", "collabView": "ผู้ทำงานร่วมกันที่มีสิทธิ์แก้ไขหรือสูงกว่าสามารถเปลี่ยนการกำหนดค่ามุมมอง", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "ข้อมูลเมตาของโครงการส่งออกเรียบร้อยแล้ว", diff --git a/packages/nc-gui/lang/tr.json b/packages/nc-gui/lang/tr.json index 6f1a88cbd5..918fdacfb5 100644 --- a/packages/nc-gui/lang/tr.json +++ b/packages/nc-gui/lang/tr.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Mobil Modu Aç / Kapat", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Erişim parola ile kısıtlanmış", "privateLink": "Bu görünüm özel bir bağlantı üzerinden paylaşılıyor", "privateLinkAdditionalInfo": "Özel bağlantısı olan kişiler yalnızca bu görünümdeki hücreleri görebilir", - "afterFormSubmitted": "Form gönderildikten sonra", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Projeye ile eriş", "submitAnotherForm": "Başka Bir Form Gönder' düğmesini göster", "showBlankForm": "5 saniye sonra boş bir form göster", "emailForm": "Bana e-posta gönder", "showSysFields": "Sistem alanlarını göster", "filterAutoApply": "Otomatik Uygula", - "showMessage": "Bu mesajı göster", + "formDisplayMessage": "Display Message", "viewNotShared": "Geçerli görünüm paylaşılmıyor!", "showAllViews": "Bu tablonun tüm paylaşılan görünümlerini göster", "collabView": "Düzenleme ya da üzeri yetkiye sahip katılımcılar görünüm ayarlarını değiştirebilir.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Proje metaverileri başarıyla dışa aktarıldı", diff --git a/packages/nc-gui/lang/uk.json b/packages/nc-gui/lang/uk.json index 0a78b7adc0..e3dd233cca 100644 --- a/packages/nc-gui/lang/uk.json +++ b/packages/nc-gui/lang/uk.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "Відкрити в Google Maps" }, "toggleMobileMode": "Ввімкнути мобільний режим", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Доступ обмежено паролем", "privateLink": "Цей перегляд доступний за приватним посиланням", "privateLinkAdditionalInfo": "Люди з приватним посиланням можуть бачити лише клітини, видимі в цьому вигляді", - "afterFormSubmitted": "Після надсилання форми", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Доступ до проєкту через", "submitAnotherForm": "Показати кнопку \"Надіслати іншу форму\"", "showBlankForm": "Показати порожню форму через 5 секунд", "emailForm": "Надішліть мені повідомлення на пошту", "showSysFields": "Показати системні поля", "filterAutoApply": "Автоматичне застосування", - "showMessage": "Показати це повідомлення", + "formDisplayMessage": "Display Message", "viewNotShared": "До поточного вигляду немає доступу!", "showAllViews": "Показати усі спільні вигляди цієї таблиці", "collabView": "Учасники з дозволом на редагування або вище можуть змінювати конфігурацію перегляду.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Метадані проєкту експортовано", diff --git a/packages/nc-gui/lang/vi.json b/packages/nc-gui/lang/vi.json index 08bbccc9e4..093b567f09 100644 --- a/packages/nc-gui/lang/vi.json +++ b/packages/nc-gui/lang/vi.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "Toggle Mobile Mode", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "Truy cập là mật khẩu bị hạn chế", "privateLink": "Chế độ xem này được chia sẻ thông qua một liên kết riêng tư", "privateLinkAdditionalInfo": "Những người có liên kết riêng tư chỉ có thể nhìn thấy các ô có thể nhìn thấy trong chế độ xem này", - "afterFormSubmitted": "Sau khi mẫu được gửi", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "Dự án truy cập thông qua", "submitAnotherForm": "Hiển thị 'Gửi nút khác'", "showBlankForm": "Hiển thị một hình thức trống sau 5 giây", "emailForm": "Gửi email cho tôi tại", "showSysFields": "Hiển thị các lĩnh vực hệ thống", "filterAutoApply": "Áp dụng tự động", - "showMessage": "Hiển thị thông báo này", + "formDisplayMessage": "Display Message", "viewNotShared": "Quan điểm hiện tại không được chia sẻ!", "showAllViews": "Hiển thị tất cả các chế độ xem chung của bảng này", "collabView": "Các cộng tác viên có quyền chỉnh sửa hoặc cao hơn có thể thay đổi cấu hình xem.", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "Metadata dự án xuất khẩu thành công", diff --git a/packages/nc-gui/lang/zh-Hans.json b/packages/nc-gui/lang/zh-Hans.json index 324f82b655..8fed5c9ebc 100644 --- a/packages/nc-gui/lang/zh-Hans.json +++ b/packages/nc-gui/lang/zh-Hans.json @@ -192,7 +192,12 @@ "enter": "回车键", "seconds": "秒", "paste": "粘贴", - "restore": "还原" + "restore": "还原", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "限制", "setNull": "设置 NULL", "setDefault": "设为默认" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "配置不完整", "selectField": "请设置需要查询的字段", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "切换移动模式", - "startCommenting": "开始评论" + "startCommenting": "开始评论", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "暂时只限于一个数据源", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "点击复制字段ID", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "访问受密码限制", "privateLink": "此视图通过私有链接共享", "privateLinkAdditionalInfo": "拥有私人链接的人只能看到此视图中可见的单元格", - "afterFormSubmitted": "表单提交后", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "访问项目通过", "submitAnotherForm": "显示“提交另一个表单”按钮", "showBlankForm": "5 秒后显示空表单", "emailForm": "发电子邮件给我", "showSysFields": "显示系统字段", "filterAutoApply": "自动应用", - "showMessage": "显示此消息", + "formDisplayMessage": "Display Message", "viewNotShared": "当前视图不共享!", "showAllViews": "显示此表的所有共享视图", "collabView": "具有编辑及更高权限的合作者可以更改视图配置。", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "不支持编辑系统密钥", "notAvailableAtTheMoment": "当前不可用。", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "请在保存前完成所有字段的配置", "somethingWentWrong": "出现了一些错误", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "项目元数据成功导出", diff --git a/packages/nc-gui/lang/zh-Hant.json b/packages/nc-gui/lang/zh-Hant.json index d7e0284876..189f164f9a 100644 --- a/packages/nc-gui/lang/zh-Hant.json +++ b/packages/nc-gui/lang/zh-Hant.json @@ -192,7 +192,12 @@ "enter": "Enter", "seconds": "Seconds", "paste": "Paste", - "restore": "Restore" + "restore": "Restore", + "replace": "Replace", + "banner": "Banner", + "logo": "Logo", + "dropdown": "Dropdown", + "list": "List" }, "objects": { "day": "Day", @@ -421,7 +426,9 @@ "restrict": "Restrict", "setNull": "Set NULL", "setDefault": "Set Default" - } + }, + "selectFieldsFromRightPannelToAddHere": "Select fields from right panel to add here", + "noOptionsFound": "No options found" }, "labels": { "selectYear": "Select Year", @@ -683,9 +690,18 @@ "incompleteConfiguration": "Incomplete configuration", "selectField": "Select a field", "selectFieldLabel": "Begin by selecting a field to customise its properties and structure." - } + }, + "appearanceSettings": "Appearance Settings", + "backgroundColor": "Background Color", + "hideNocodbBranding": "Hide NocoDB Branding", + "showOnConditions": "Show on condtions", + "showFieldOnConditionsMet": "Shows field only when conditions are met", + "limitOptions": "Limit options", + "limitOptionsSubtext": "Limit options visible to users by selecting available options", + "clearSelection": "Clear selection" }, "activity": { + "noRange": "Calendar view requires a date range", "goToToday": "Go to Today", "toggleSidebar": "Toggle Sidebar", "addEndDate": "Add end date", @@ -907,7 +923,10 @@ "openInOpenStreetMap": "OSM" }, "toggleMobileMode": "切換到手機模式", - "startCommenting": "Start commenting!" + "startCommenting": "Start commenting!", + "clearForm": "Clear Form", + "addFieldFromFormView": "Add Field", + "selectAllFields": "Select all fields" }, "tooltip": { "reachedSourceLimit": "Limited to only one data source for the moment", @@ -989,7 +1008,8 @@ "noTokenCreated": "No API Tokens created", "noTokenCreatedLabel": "Begin by creating API tokens to unlock advanced functionalities.", "inviteYourTeam": "Invite your team", - "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace." + "inviteYourTeamLabel": "Streamline collaboration and productivity with your team – start by inviting them to join your workspace.", + "searchOptions": "Search options" }, "msg": { "clickToCopyFieldId": "Click to copy Field Id", @@ -1166,14 +1186,14 @@ "afterEnablePwd": "存取受密碼限制", "privateLink": "此檢視通過私人連結共享", "privateLinkAdditionalInfo": "具有私有連結的人只能看到此檢視中可見的儲存格", - "afterFormSubmitted": "表格提交後", + "postFormSubmissionSettings": "Post Form Submission Settings", "apiOptions": "存取專案方式", "submitAnotherForm": "顯示“提交另一個表格”按鈕", "showBlankForm": "5 秒後顯示空白表格", "emailForm": "發電子郵件給我", "showSysFields": "顯示系統欄位", "filterAutoApply": "自動申請", - "showMessage": "顯示此消息", + "formDisplayMessage": "Display Message", "viewNotShared": "當前檢視不共享!", "showAllViews": "顯示此表的所有共享視圖", "collabView": "擁有編輯權限或更高權限的協作者可以更改檢視配置。", @@ -1283,9 +1303,14 @@ "editingSystemKeyNotSupported": "Editing system key not supported", "notAvailableAtTheMoment": "Not available at the moment", "groupPasteIsNotSupportedOnLinksColumn": "Group paste operation is not supported on Links/LinkToAnotherRecord column", - "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column" + "groupClearIsNotSupportedOnLinksColumn": "Group clear operation is not supported on Links/LinkToAnotherRecord column", + "upgradeToEnterpriseEdition": "Upgrade to Enterprise Edition {extraInfo}", + "yourCurrentRoleIs": "Your current role is", + "pleaseRequestAccessForView": "Please request for higher permission from the Admin / Base owner / Workspace owner to get access to this {viewName}" }, "error": { + "fetchingCalendarData": "Error fetching calendar data", + "fetchingActiveDates": "Error fetching active dates", "scopesRequired": "Scopes required", "authUrlRequired": "Auth URL is required", "userNameAttributeRequired": "Username attribute is required", @@ -1376,7 +1401,8 @@ "multiFieldSaveValidation": "Please complete the configuration of all fields before saving", "somethingWentWrong": "Something went wrong", "draggedContentIsNotTypeOfImage": "Dragged content is not type of image", - "fieldToParseImageData": "Field to parse image data" + "fieldToParseImageData": "Field to parse image data", + "someOfTheRequiredFieldsAreEmpty": "Some of the required fields are empty" }, "toast": { "exportMetadata": "專案中繼資料已成功匯出", diff --git a/packages/nc-gui/lib/types.ts b/packages/nc-gui/lib/types.ts index 2c4f5c5222..f2ef201cc2 100644 --- a/packages/nc-gui/lib/types.ts +++ b/packages/nc-gui/lib/types.ts @@ -32,6 +32,9 @@ interface ProjectMetaInfo { interface Field { order: number show: number | boolean + bold: boolean | number + italic: boolean | number + underline: boolean | number title: string fk_column_id?: string system?: boolean @@ -198,6 +201,12 @@ interface UsersSortType { type CommandPaletteType = 'cmd-k' | 'cmd-j' | 'cmd-l' +interface FormFieldsLimitOptionsType { + id: string + order: number + show: boolean +} + export type { User, ProjectMetaInfo, @@ -226,4 +235,5 @@ export type { UsersSortType, CommandPaletteType, CalendarRangeType, + FormFieldsLimitOptionsType, } diff --git a/packages/nc-gui/package.json b/packages/nc-gui/package.json index 05a64302d0..8fd543f097 100644 --- a/packages/nc-gui/package.json +++ b/packages/nc-gui/package.json @@ -40,13 +40,13 @@ "@ckpack/vue-color": "^1.5.0", "@iconify/vue": "^4.1.1", "@pinia/nuxt": "^0.5.1", - "@tiptap/extension-link": "2.2.1", - "@tiptap/extension-task-list": "2.2.1", - "@tiptap/extension-underline": "^2.2.1", - "@tiptap/html": "2.2.1", - "@tiptap/pm": "^2.2.1", - "@tiptap/starter-kit": "^2.2.1", - "@tiptap/vue-3": "2.2.1", + "@tiptap/extension-link": "2.2.4", + "@tiptap/extension-task-list": "2.2.4", + "@tiptap/extension-underline": "^2.2.4", + "@tiptap/html": "2.2.4", + "@tiptap/pm": "^2.2.4", + "@tiptap/starter-kit": "^2.2.4", + "@tiptap/vue-3": "2.2.4", "@vue-flow/additional-components": "^1.3.3", "@vue-flow/core": "^1.30.1", "@vuelidate/core": "^2.0.3", @@ -54,7 +54,7 @@ "@vueuse/core": "^10.7.2", "@vueuse/integrations": "^10.7.2", "ant-design-vue": "^3.2.20", - "chart.js": "^4.4.1", + "chart.js": "^4.4.2", "crossoriginworker": "^1.1.0", "d3-scale": "^4.0.2", "dagre": "^0.8.5", @@ -73,7 +73,7 @@ "marked": "^4.3.0", "monaco-editor": "^0.45.0", "monaco-sql-languages": "^0.11.0", - "nocodb-sdk": "0.204.1", + "nocodb-sdk": "workspace:^", "papaparse": "^5.4.1", "parse-github-url": "^1.0.2", "pinia": "^2.1.7", @@ -88,6 +88,7 @@ "unique-names-generator": "^4.7.1", "v3-infinite-loading": "^1.3.1", "validator": "^13.11.0", + "vue-advanced-cropper": "^2.8.8", "vue-barcode-reader": "^1.0.3", "vue-chartjs": "^5.3.0", "vue-dompurify-html": "^3.1.2", @@ -114,15 +115,15 @@ "@iconify-json/ion": "^1.1.15", "@iconify-json/la": "^1.1.8", "@iconify-json/logos": "^1.1.42", - "@iconify-json/lucide": "^1.1.165", - "@iconify-json/material-symbols": "^1.1.72", + "@iconify-json/lucide": "^1.1.170", + "@iconify-json/material-symbols": "^1.1.73", "@iconify-json/mdi": "^1.1.64", "@iconify-json/mi": "^1.1.8", "@iconify-json/ph": "^1.1.11", - "@iconify-json/ri": "^1.1.19", - "@iconify-json/simple-icons": "^1.1.91", + "@iconify-json/ri": "^1.1.20", + "@iconify-json/simple-icons": "^1.1.93", "@iconify-json/system-uicons": "^1.1.12", - "@iconify-json/tabler": "^1.1.105", + "@iconify-json/tabler": "^1.1.106", "@iconify-json/vscode-icons": "^1.1.33", "@intlify/unplugin-vue-i18n": "^0.13.0", "@nuxt/image": "^1.3.0", @@ -135,15 +136,15 @@ "@types/parse-github-url": "^1.0.3", "@types/qrcode": "^1.5.5", "@types/showdown": "^2.0.6", - "@types/sortablejs": "^1.15.7", + "@types/sortablejs": "^1.15.8", "@types/splitpanes": "^2.2.6", "@types/tinycolor2": "^1.4.6", "@types/turndown": "^5.0.4", "@types/validator": "^13.11.9", "@types/vue-barcode-reader": "^0.0.3", - "@unocss/nuxt": "^0.58.4", + "@unocss/nuxt": "^0.58.5", "@vitest/ui": "^0.34.7", - "@vue/compiler-sfc": "^3.4.15", + "@vue/compiler-sfc": "^3.4.21", "@vue/test-utils": "^2.4.4", "@vueuse/nuxt": "^10.7.2", "@windicss/plugin-animations": "^1.0.9", @@ -153,12 +154,12 @@ "eslint-config-prettier": "^8.10.0", "eslint-plugin-prettier": "^4.2.1", "happy-dom": "^6.0.4", - "nuxt": "^3.10.2", + "nuxt": "^3.10.3", "nuxt-windicss": "^2.6.1", "prettier": "^2.8.8", "sass": "^1.70.0", "ts-loader": "^9.5.1", - "unplugin-icons": "^0.18.3", + "unplugin-icons": "^0.18.5", "unplugin-vue-components": "^0.26.0", "vite-plugin-monaco-editor": "^1.1.0", "vite-plugin-purge-icons": "^0.10.0", diff --git a/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index.vue b/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index.vue index 13a91b6536..32f8ba8ba7 100644 --- a/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index.vue +++ b/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index.vue @@ -66,8 +66,16 @@ p { } .nc-form-view { + .nc-data-cell { + @apply !border-none rounded-none; + + &:focus-within { + @apply !border-none; + } + } + .nc-cell { - @apply bg-white dark:bg-slate-500; + @apply bg-white dark:bg-slate-500 appearance-none; &.nc-cell-checkbox { @apply color-transition !border-0; @@ -89,7 +97,18 @@ p { @apply bg-white dark:bg-slate-500; &.nc-input { - @apply w-full rounded p-2 min-h-[40px] flex items-center; + @apply w-full; + + &:not(.layout-list) { + @apply rounded-lg border-solid border-1 border-gray-200 focus-within:border-brand-500; + + & > div { + @apply !bg-transparent; + } + } + &.layout-list { + @apply h-auto !pl-0 !py-1 !bg-transparent !dark:bg-none; + } .duration-cell-wrapper { @apply w-full; @@ -105,8 +124,7 @@ p { input, textarea, - &.nc-virtual-cell, - > div { + &.nc-virtual-cell { @apply bg-white dark:(bg-slate-500 text-white); .ant-btn { @@ -117,6 +135,18 @@ p { @apply dark:(bg-slate-700 text-white); } } + &:not(.layout-list) > div { + @apply bg-white dark:(bg-slate-500 text-white); + } + &.layout-list > div { + .ant-btn { + @apply dark:(bg-slate-300); + } + + .chip { + @apply dark:(bg-slate-700 text-white); + } + } &.nc-cell-longtext { @apply p-0 h-auto; @@ -132,7 +162,7 @@ p { } } &:not(.nc-cell-longtext) { - @apply px-2 py-2; + @apply p-2; } textarea { diff --git a/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index/index.vue b/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index/index.vue index 57f239400d..6b36f969d1 100644 --- a/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index/index.vue +++ b/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index/index.vue @@ -176,7 +176,10 @@ const onDecode = async (scannedCodeValue: string) => { v-model="formState[field.title]" class="nc-input truncate" :data-testid="`nc-form-input-cell-${field.label || field.title}`" - :class="`nc-form-input-${field.title?.replaceAll(' ', '')}`" + :class="[ + `nc-form-input-${field.title?.replaceAll(' ', '')}`, + { 'layout-list': parseProp(field?.meta)?.isList }, + ]" :column="field" edit-enabled /> diff --git a/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index/survey.vue b/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index/survey.vue index cc3e0f27a5..f749801aa9 100644 --- a/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index/survey.vue +++ b/packages/nc-gui/pages/index/[typeOrId]/form/[viewId]/index/survey.vue @@ -292,6 +292,7 @@ onMounted(() => { v-else v-model="formState[field.title]" class="nc-input h-auto" + :class="parseProp(field?.meta)?.isList ? 'layout-list' : ''" :data-testid="`nc-survey-form__input-${field.title.replaceAll(' ', '')}`" :column="field" edit-enabled @@ -481,33 +482,6 @@ onMounted(() => { @apply flex items-center justify-center gap-2 text-left; } - .nc-input { - @apply appearance-none w-full !bg-white !rounded-lg border-solid border-1 border-gray-200 focus-within:border-brand-500; - &.nc-cell-rating, - &.nc-cell-geodata { - @apply !py-1; - } - - :deep(input) { - @apply !px-1; - } - &.nc-cell-longtext { - @apply p-0 h-auto overflow-hidden; - } - &:not(.nc-cell-longtext) { - @apply px-2 py-2; - :deep(textarea) { - @apply !p-2; - } - } - - &.nc-cell-checkbox { - > * { - @apply justify-center flex items-center; - } - } - } - .nc-form-data-cell.nc-data-cell { @apply !border-none rounded-none; diff --git a/packages/nc-gui/utils/iconUtils.ts b/packages/nc-gui/utils/iconUtils.ts index 5c00652c20..6832a054a4 100644 --- a/packages/nc-gui/utils/iconUtils.ts +++ b/packages/nc-gui/utils/iconUtils.ts @@ -92,6 +92,7 @@ import Sort from '~icons/nc-icons/sort' // NocoDB Icons import NcEye from '~icons/nc-icons/eye' +import NcEyeOff from '~icons/nc-icons/eye-off' import NcStar from '~icons/nc-icons/star' import NcUnStar from '~icons/nc-icons/star-remove' import NcSearch from '~icons/nc-icons/search' @@ -123,6 +124,10 @@ import NcUpload from '~icons/nc-icons/upload' import NcDownload from '~icons/nc-icons/download' // import NcProjectGray from '~icons/nc-icons/project-gray' import NcPhoneCall from '~icons/nc-icons/phone-call' +import NcItalic from '~icons/nc-icons/italic' +import NcBold from '~icons/nc-icons/bold' +import NcUnderline from '~icons/nc-icons/underline' +import NcCrop from '~icons/nc-icons/crop' // keep it for reference // todo: remove it after all icons are migrated @@ -416,7 +421,7 @@ export const iconMap = { calculator: h('span', { class: 'material-symbols' }, 'calculate'), rollup: h('span', { class: 'material-symbols' }, 'group_work'), eye: NcEye, - eyeSlash: h('span', { class: 'material-symbols' }, 'visibility_off'), + eyeSlash: NcEyeOff, expand: h('span', { class: 'material-symbols' }, 'open_in_full'), shrink: h('span', { class: 'material-symbols' }, 'close_fullscreen'), check: NcCheck, @@ -482,7 +487,11 @@ export const iconMap = { ncEdit: NcEdit, ncArrowUp: NcArrowUp, ncArrowDown: NcArrowDown, + underline: NcUnderline, + bold: NcBold, + italic: NcItalic, phoneCall: NcPhoneCall, + crop: NcCrop, } export const getMdiIcon = (type: string): any => { diff --git a/packages/nc-gui/utils/parseUtils.ts b/packages/nc-gui/utils/parseUtils.ts index ae567ab3b9..7e89c6dd24 100644 --- a/packages/nc-gui/utils/parseUtils.ts +++ b/packages/nc-gui/utils/parseUtils.ts @@ -1,7 +1,7 @@ export function parseProp(v: any): any { if (!v) return {} try { - return typeof v === 'string' ? JSON.parse(v) : v + return typeof v === 'string' ? JSON.parse(v) ?? {} : v } catch { return {} } diff --git a/packages/noco-docs/package-lock.json b/packages/noco-docs/package-lock.json index f9745f380f..edd09af26d 100644 --- a/packages/noco-docs/package-lock.json +++ b/packages/noco-docs/package-lock.json @@ -18,12 +18,12 @@ "clsx": "^1.2.1", "docusaurus-plugin-sass": "^0.2.5", "docusaurus-theme-search-typesense": "^0.14.1", - "nc-analytics": "^0.0.7", + "nc-analytics": "^0.0.9", "plugin-image-zoom": "github:flexanalytics/plugin-image-zoom", "prism-react-renderer": "^1.3.5", "react": "^18.2.0", "react-dom": "^18.2.0", - "sass": "^1.69.7" + "sass": "^1.71.1" }, "devDependencies": { "@docusaurus/module-type-aliases": "3.0.1", @@ -76,74 +76,74 @@ } }, "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", - "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz", + "integrity": "sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==", "dependencies": { - "@algolia/cache-common": "4.20.0" + "@algolia/cache-common": "4.22.1" } }, "node_modules/@algolia/cache-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", - "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==" + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.1.tgz", + "integrity": "sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==" }, "node_modules/@algolia/cache-in-memory": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", - "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz", + "integrity": "sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==", "dependencies": { - "@algolia/cache-common": "4.20.0" + "@algolia/cache-common": "4.22.1" } }, "node_modules/@algolia/client-account": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", - "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.1.tgz", + "integrity": "sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/@algolia/client-analytics": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", - "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.1.tgz", + "integrity": "sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/@algolia/client-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", - "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.1.tgz", + "integrity": "sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==", "dependencies": { - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/@algolia/client-personalization": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", - "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.1.tgz", + "integrity": "sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/@algolia/client-search": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", - "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz", + "integrity": "sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/@algolia/events": { @@ -152,47 +152,47 @@ "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" }, "node_modules/@algolia/logger-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", - "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==" + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.1.tgz", + "integrity": "sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==" }, "node_modules/@algolia/logger-console": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", - "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.1.tgz", + "integrity": "sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==", "dependencies": { - "@algolia/logger-common": "4.20.0" + "@algolia/logger-common": "4.22.1" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", - "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz", + "integrity": "sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==", "dependencies": { - "@algolia/requester-common": "4.20.0" + "@algolia/requester-common": "4.22.1" } }, "node_modules/@algolia/requester-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", - "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==" + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.1.tgz", + "integrity": "sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==" }, "node_modules/@algolia/requester-node-http": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", - "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz", + "integrity": "sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==", "dependencies": { - "@algolia/requester-common": "4.20.0" + "@algolia/requester-common": "4.22.1" } }, "node_modules/@algolia/transporter": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", - "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.1.tgz", + "integrity": "sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==", "dependencies": { - "@algolia/cache-common": "4.20.0", - "@algolia/logger-common": "4.20.0", - "@algolia/requester-common": "4.20.0" + "@algolia/cache-common": "4.22.1", + "@algolia/logger-common": "4.22.1", + "@algolia/requester-common": "4.22.1" } }, "node_modules/@ampproject/remapping": { @@ -208,11 +208,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -284,28 +284,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", - "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", - "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.3", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.3", - "@babel/types": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -329,11 +329,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.3.tgz", - "integrity": "sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dependencies": { - "@babel/types": "^7.23.3", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -365,13 +365,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -388,16 +388,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", + "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -442,9 +442,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -539,9 +539,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "engines": { "node": ">=6.9.0" } @@ -612,9 +612,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } @@ -628,9 +628,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "engines": { "node": ">=6.9.0" } @@ -649,22 +649,22 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -739,9 +739,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", - "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -780,9 +780,9 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", - "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.22.5" @@ -1065,9 +1065,9 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.3.tgz", - "integrity": "sha512-59GsVNavGxAXCDDbakWSMJhajASb4kBCqDjqJsv+p5nKdbz7istmZ3HrX3L2LuiI80+zsOADCvooqQH3qGCucQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.22.5", @@ -1112,9 +1112,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.3.tgz", - "integrity": "sha512-QPZxHrThbQia7UdvfpaRRlq/J9ciz1J4go0k+lPBXbgaNeY7IQrBj/9ceWjvMMI07/ZBzHl/F0R/2K0qH7jCVw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1141,9 +1141,9 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.3.tgz", - "integrity": "sha512-PENDVxdr7ZxKPyi5Ffc0LjXdnJyrJxyqF5T5YjlVg4a0VFfQHW0r8iAtRiDXkfHlu1wwcvdtnndGYIeJLSuRMQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", @@ -1157,15 +1157,14 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz", - "integrity": "sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==", + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-split-export-declaration": "^7.22.6", @@ -1237,9 +1236,9 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.3.tgz", - "integrity": "sha512-vTG+cTGxPFou12Rj7ll+eD5yWeNl5/8xvQvF08y5Gv3v4mZQoyFf8/n9zg4q5vvCWt5jmgymfzMAldO7orBn7A==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -1267,9 +1266,9 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.3.tgz", - "integrity": "sha512-yCLhW34wpJWRdTxxWtFZASJisihrfyMOTOQexhVzA78jlU+dH7Dw+zQgcPepQ5F3C6bAIiblZZ+qBggJdHiBAg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -1282,11 +1281,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", - "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1312,9 +1312,9 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.3.tgz", - "integrity": "sha512-H9Ej2OiISIZowZHaBwF0tsJOih1PftXJtE8EWqlEIwpc7LMTGq0rPOrywKLQ4nefzx8/HMR0D3JGXoMHYvhi0A==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -1341,9 +1341,9 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.3.tgz", - "integrity": "sha512-+pD5ZbxofyOygEp+zZAfujY2ShNCXRpDRIPOiBmTO693hhyOEteZgl876Xs9SAHPQpcV0vz8LvA/T+w8AzyX8A==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -1401,9 +1401,9 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", - "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-module-transforms": "^7.23.3", @@ -1462,9 +1462,9 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.3.tgz", - "integrity": "sha512-xzg24Lnld4DYIdysyf07zJ1P+iIfJpxtVFOzX4g+bsJ3Ng5Le7rXx9KwqKzuyaUeRnt+I1EICwQITqc0E2PmpA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -1477,9 +1477,9 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.3.tgz", - "integrity": "sha512-s9GO7fIBi/BLsZ0v3Rftr6Oe4t0ctJ8h4CCXfPoEJwmvAPMyNrfkOOJzm6b9PX9YXcCJWWQd/sBF/N26eBiMVw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -1492,13 +1492,13 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.3.tgz", - "integrity": "sha512-VxHt0ANkDmu8TANdE9Kc0rndo/ccsmfe2Cx2y5sI4hu3AukHQ5wAu4cM7j3ba8B9548ijVyclBU+nuDQftZsog==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", + "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", "dependencies": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.23.3" }, @@ -1525,9 +1525,9 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.3.tgz", - "integrity": "sha512-LxYSb0iLjUamfm7f1D7GpiS4j0UAC8AOiehnsGAP8BEsIX8EOi3qV6bbctw8M7ZvLtcoZfZX5Z7rN9PlWk0m5A==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -1540,9 +1540,9 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.3.tgz", - "integrity": "sha512-zvL8vIfIUgMccIAK1lxjvNv572JHFJIKb4MWBz5OGdBQA0fB0Xluix5rmOby48exiJc987neOmP/m9Fnpkz3Tg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -1585,9 +1585,9 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.3.tgz", - "integrity": "sha512-a5m2oLNFyje2e/rGKjVfAELTVI5mbA0FeZpBnkOWWV7eSmKQ+T/XW0Vf+29ScLzSxX+rnsarvU0oie/4m6hkxA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.22.15", @@ -1644,15 +1644,15 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", - "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.15" + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" }, "engines": { "node": ">=6.9.0" @@ -1720,15 +1720,15 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.3.tgz", - "integrity": "sha512-XcQ3X58CKBdBnnZpPaQjgVMePsXtSZzHoku70q9tUAQp02ggPQNM04BF3RvlW1GSM/McbSOQAzEK4MXbS7/JFg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz", + "integrity": "sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==", "dependencies": { "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", + "@babel/helper-plugin-utils": "^7.24.0", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", "semver": "^6.3.1" }, "engines": { @@ -1818,12 +1818,12 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.3.tgz", - "integrity": "sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-create-class-features-plugin": "^7.23.6", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-typescript": "^7.23.3" }, @@ -1894,17 +1894,17 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.3.tgz", - "integrity": "sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==", - "dependencies": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", + "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", @@ -1925,41 +1925,41 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", "@babel/plugin-transform-async-to-generator": "^7.23.3", "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.3", - "@babel/plugin-transform-classes": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", "@babel/plugin-transform-computed-properties": "^7.23.3", "@babel/plugin-transform-destructuring": "^7.23.3", "@babel/plugin-transform-dotall-regex": "^7.23.3", "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.3", - "@babel/plugin-transform-for-of": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", "@babel/plugin-transform-member-expression-literals": "^7.23.3", "@babel/plugin-transform-modules-amd": "^7.23.3", "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", "@babel/plugin-transform-modules-umd": "^7.23.3", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.3", - "@babel/plugin-transform-numeric-separator": "^7.23.3", - "@babel/plugin-transform-object-rest-spread": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.24.0", "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.3", - "@babel/plugin-transform-optional-chaining": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", "@babel/plugin-transform-parameters": "^7.23.3", "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", "@babel/plugin-transform-property-literals": "^7.23.3", "@babel/plugin-transform-regenerator": "^7.23.3", "@babel/plugin-transform-reserved-words": "^7.23.3", @@ -1973,9 +1973,9 @@ "@babel/plugin-transform-unicode-regex": "^7.23.3", "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, @@ -2050,9 +2050,9 @@ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2061,9 +2061,9 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz", - "integrity": "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.0.tgz", + "integrity": "sha512-HxiRMOncx3ly6f3fcZ1GVKf+/EROcI9qwPgmij8Czqy6Okm/0T37T4y2ZIlLUuEUFjtM7NRsfdCO8Y3tAiJZew==", "dependencies": { "core-js-pure": "^3.30.2", "regenerator-runtime": "^0.14.0" @@ -2073,32 +2073,32 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.3.tgz", - "integrity": "sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.3", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.3", - "@babel/types": "^7.23.3", - "debug": "^4.1.0", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -2106,11 +2106,11 @@ } }, "node_modules/@babel/types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz", - "integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -2693,9 +2693,9 @@ } }, "node_modules/@docusaurus/theme-classic/node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", "engines": { "node": ">=6" } @@ -2742,9 +2742,9 @@ } }, "node_modules/@docusaurus/theme-common/node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", "engines": { "node": ">=6" } @@ -2792,9 +2792,9 @@ } }, "node_modules/@docusaurus/theme-search-algolia/node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", "engines": { "node": ">=6" } @@ -2940,9 +2940,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.4.tgz", + "integrity": "sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -2953,9 +2953,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" } @@ -2983,9 +2983,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.23.tgz", + "integrity": "sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -2997,9 +2997,9 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" }, "node_modules/@mdx-js/mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.0.tgz", - "integrity": "sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", + "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", @@ -3116,14 +3116,14 @@ } }, "node_modules/@polka/url": { - "version": "1.0.0-next.23", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", - "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==" + "version": "1.0.0-next.24", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", + "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==" }, "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", "dependencies": { "@hapi/hoek": "^9.0.0" } @@ -3493,9 +3493,9 @@ } }, "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.3.tgz", - "integrity": "sha512-6mfQ6iNvhSKCZJoY6sIG3m0pKkdUcweVNOLuBBKvoWGzl2yRxOJcYOTRyLKt3nxXvBLJWa6QkW//tgbIwJehmA==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" @@ -3510,9 +3510,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.44.7", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.7.tgz", - "integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==", + "version": "8.56.4", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.4.tgz", + "integrity": "sha512-lG1GLUnL5vuRBGb3MgWUWLdGMH2Hps+pERuyQXCfWozuGKdnhf9Pbg4pkcrVUHjKrU7Rl+GCZ/299ObBXZFAxg==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -3533,9 +3533,9 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/@types/estree-jsx": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.3.tgz", - "integrity": "sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", "dependencies": { "@types/estree": "*" } @@ -3552,9 +3552,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.41", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", - "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -3568,9 +3568,9 @@ "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==" }, "node_modules/@types/hast": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", - "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dependencies": { "@types/unist": "*" } @@ -3638,9 +3638,9 @@ } }, "node_modules/@types/mdx": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.10.tgz", - "integrity": "sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==" + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz", + "integrity": "sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==" }, "node_modules/@types/mime": { "version": "1.3.5", @@ -3653,17 +3653,17 @@ "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/node": { - "version": "20.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.1.tgz", - "integrity": "sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==", + "version": "20.11.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.21.tgz", + "integrity": "sha512-/ySDLGscFPNasfqStUuWWPfL78jompfIoVzLJPVVAHBh6rpG68+pI2Gk+fNLeI8/f1yPYL4s46EleVIc20F1Ow==", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@types/node-forge": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.9.tgz", - "integrity": "sha512-meK88cx/sTalPSLSoCzkiUB4VPIFHmxtXm5FaaqRDqBX2i/Sy8bJ4odsan0b20RBjPh06dAQ+OTTdnyQyhJZyQ==", + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", "dependencies": { "@types/node": "*" } @@ -3679,14 +3679,14 @@ "integrity": "sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==" }, "node_modules/@types/prop-types": { - "version": "15.7.10", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.10.tgz", - "integrity": "sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==" + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, "node_modules/@types/qs": { - "version": "6.9.10", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", - "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==" + "version": "6.9.12", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", + "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==" }, "node_modules/@types/range-parser": { "version": "1.2.7", @@ -3694,9 +3694,9 @@ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/react": { - "version": "18.2.37", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.37.tgz", - "integrity": "sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==", + "version": "18.2.60", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.60.tgz", + "integrity": "sha512-dfiPj9+k20jJrLGOu9Nf6eqxm2EyJRrq2NvwOFsfbb7sFExZ9WELPs67UImHj3Ayxg8ruTtKtNnbjaF8olPq0A==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -3713,9 +3713,9 @@ } }, "node_modules/@types/react-router-config": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.10.tgz", - "integrity": "sha512-Wn6c/tXdEgi9adCMtDwx8Q2vGty6TsPTc/wCQQ9kAlye8UqFxj0vGFWWuhywNfkwqth+SOgJxQTLTZukrqDQmQ==", + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", @@ -3746,9 +3746,9 @@ } }, "node_modules/@types/scheduler": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.6.tgz", - "integrity": "sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==" + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" }, "node_modules/@types/send": { "version": "0.17.4", @@ -3791,17 +3791,17 @@ "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" }, "node_modules/@types/ws": { - "version": "8.5.9", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.9.tgz", - "integrity": "sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==", + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/yargs": { - "version": "17.0.31", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.31.tgz", - "integrity": "sha512-bocYSx4DI8TmdlvxqGpVNXOgCNR1Jj0gNPhhAY+iz1rgKDAaYrAYdFYnhDV1IFuiuVc9HkOwyDcFxaTElF3/wg==", + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dependencies": { "@types/yargs-parser": "*" } @@ -3989,9 +3989,9 @@ } }, "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "bin": { "acorn": "bin/acorn" }, @@ -4016,9 +4016,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "engines": { "node": ">=0.4.0" } @@ -4086,30 +4086,30 @@ } }, "node_modules/algoliasearch": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", - "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.20.0", - "@algolia/cache-common": "4.20.0", - "@algolia/cache-in-memory": "4.20.0", - "@algolia/client-account": "4.20.0", - "@algolia/client-analytics": "4.20.0", - "@algolia/client-common": "4.20.0", - "@algolia/client-personalization": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/logger-common": "4.20.0", - "@algolia/logger-console": "4.20.0", - "@algolia/requester-browser-xhr": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/requester-node-http": "4.20.0", - "@algolia/transporter": "4.20.0" + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz", + "integrity": "sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.22.1", + "@algolia/cache-common": "4.22.1", + "@algolia/cache-in-memory": "4.22.1", + "@algolia/client-account": "4.22.1", + "@algolia/client-analytics": "4.22.1", + "@algolia/client-common": "4.22.1", + "@algolia/client-personalization": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/logger-common": "4.22.1", + "@algolia/logger-console": "4.22.1", + "@algolia/requester-browser-xhr": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/requester-node-http": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/algoliasearch-helper": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz", - "integrity": "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==", + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.16.2.tgz", + "integrity": "sha512-Yl/Gu5Cq4Z5s/AJ0jR37OPI1H3+z7PHz657ibyaXgMOaWvPlZ3OACN13N+7HCLPUlB0BN+8BtmrG/CqTilowBA==", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -4199,9 +4199,9 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/array-union": { "version": "2.1.0", @@ -4228,9 +4228,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", "funding": [ { "type": "opencollective", @@ -4246,9 +4246,9 @@ } ], "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -4272,9 +4272,9 @@ } }, "node_modules/b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", + "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==" }, "node_modules/babel-loader": { "version": "9.1.3", @@ -4301,12 +4301,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", + "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.5.0", "semver": "^6.3.1" }, "peerDependencies": { @@ -4322,23 +4322,23 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", - "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.33.1" + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "@babel/helper-define-polyfill-provider": "^0.5.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -4358,6 +4358,39 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/bare-events": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.0.tgz", + "integrity": "sha512-Yyyqff4PIFfSuthCZqLlPISTWHmnQxoPuAvkmgzsJEmG3CesdIv6Xweayl0JkCZJSB2yYIdJyEz97tpxNhgjbg==", + "optional": true + }, + "node_modules/bare-fs": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.2.0.tgz", + "integrity": "sha512-+VhW202E9eTVGkX7p+TNXtZC4RTzj9JfJW7PtfIbZ7mIQ/QT9uOafQTx7lx2n9ERmWsXvLHF4hStAFn4gl2mQw==", + "optional": true, + "dependencies": { + "bare-events": "^2.0.0", + "bare-os": "^2.0.0", + "bare-path": "^2.0.0", + "streamx": "^2.13.0" + } + }, + "node_modules/bare-os": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.2.0.tgz", + "integrity": "sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==", + "optional": true + }, + "node_modules/bare-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.0.tgz", + "integrity": "sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==", + "optional": true, + "dependencies": { + "bare-os": "^2.1.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -4453,12 +4486,10 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" } @@ -4510,9 +4541,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "funding": [ { "type": "opencollective", @@ -4528,9 +4559,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, "bin": { @@ -4624,13 +4655,18 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4676,9 +4712,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001562", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001562.tgz", - "integrity": "sha512-kfte3Hym//51EdX4239i+Rmp20EsLIYGdPkERegTgU19hQWCRhsRFGKHTliUlsry53tv17K7n077Kqa0WJU4ng==", + "version": "1.0.30001591", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz", + "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==", "funding": [ { "type": "opencollective", @@ -4799,15 +4835,9 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4820,6 +4850,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -4852,9 +4885,9 @@ } }, "node_modules/clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dependencies": { "source-map": "~0.6.0" }, @@ -5252,9 +5285,9 @@ } }, "node_modules/core-js": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", - "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -5262,11 +5295,11 @@ } }, "node_modules/core-js-compat": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.2.tgz", - "integrity": "sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", "dependencies": { - "browserslist": "^4.22.1" + "browserslist": "^4.22.3" }, "funding": { "type": "opencollective", @@ -5274,9 +5307,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.2.tgz", - "integrity": "sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz", + "integrity": "sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -5353,18 +5386,18 @@ } }, "node_modules/css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", + "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.21", + "postcss": "^8.4.33", "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.4", + "postcss-modules-scope": "^3.1.1", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" + "semver": "^7.5.4" }, "engines": { "node": ">= 12.13.0" @@ -5374,7 +5407,16 @@ "url": "https://opencollective.com/webpack" }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/css-minimizer-webpack-plugin": { @@ -5589,9 +5631,9 @@ } }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/debounce": { "version": "1.2.1", @@ -5676,16 +5718,19 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-lazy-prop": { @@ -5836,11 +5881,6 @@ "node": ">=8" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", @@ -6013,9 +6053,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.587", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.587.tgz", - "integrity": "sha512-RyJX0q/zOkAoefZhB9XHghGeATVP0Q3mwA253XD/zj2OeXc+JZB9pCaEv6R578JUYaWM9PRhye0kXvd/V1cQ3Q==" + "version": "1.4.685", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.685.tgz", + "integrity": "sha512-yDYeobbTEe4TNooEzOQO6xFqg9XnAkVy2Lod1C1B2it8u47JNLYvl9nLDWBamqUakWB8Jc1hhS1uHUNYTNQdfw==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -6061,9 +6101,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.1.tgz", + "integrity": "sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -6091,15 +6131,34 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { "node": ">=6" } @@ -6391,11 +6450,6 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, "node_modules/express/node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -6488,9 +6542,9 @@ } }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dependencies": { "reusify": "^1.0.4" } @@ -6681,9 +6735,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "funding": [ { "type": "individual", @@ -6869,9 +6923,9 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -6921,15 +6975,19 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7192,20 +7250,20 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -7236,9 +7294,9 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", "dependencies": { "function-bind": "^1.1.2" }, @@ -7278,9 +7336,9 @@ } }, "node_modules/hast-util-raw": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz", - "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.2.tgz", + "integrity": "sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==", "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -7554,9 +7612,9 @@ } }, "node_modules/html-webpack-plugin": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -7572,7 +7630,16 @@ "url": "https://opencollective.com/html-webpack-plugin" }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/html-webpack-plugin/node_modules/commander": { @@ -7760,17 +7827,17 @@ ] }, "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "engines": { "node": ">= 4" } }, "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", "dependencies": { "queue": "6.0.2" }, @@ -7778,7 +7845,7 @@ "image-size": "bin/image-size.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.x" } }, "node_modules/immer": { @@ -7791,9 +7858,9 @@ } }, "node_modules/immutable": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", - "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==" + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==" }, "node_modules/import-fresh": { "version": "3.3.0", @@ -8224,13 +8291,13 @@ } }, "node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "version": "17.12.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", + "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } @@ -8431,9 +8498,9 @@ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" }, "node_modules/loglevel": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz", - "integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", + "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", "engines": { "node": ">= 0.6.0" }, @@ -8655,9 +8722,9 @@ } }, "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -8783,9 +8850,9 @@ } }, "node_modules/mdast-util-mdx-jsx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz", - "integrity": "sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz", + "integrity": "sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w==", "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", @@ -8824,9 +8891,9 @@ } }, "node_modules/mdast-util-phrasing": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", - "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" @@ -8837,9 +8904,9 @@ } }, "node_modules/mdast-util-to-hast": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", - "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", + "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -8848,7 +8915,8 @@ "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", @@ -9028,9 +9096,9 @@ } }, "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9099,9 +9167,9 @@ } }, "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9148,9 +9216,9 @@ } }, "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9216,9 +9284,9 @@ } }, "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9288,9 +9356,9 @@ } }, "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9389,9 +9457,9 @@ } }, "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9470,9 +9538,9 @@ } }, "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9548,9 +9616,9 @@ } }, "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9622,9 +9690,9 @@ } }, "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9707,9 +9775,9 @@ } }, "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9761,9 +9829,9 @@ } }, "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9816,9 +9884,9 @@ } }, "node_modules/micromark-factory-label/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9875,9 +9943,9 @@ } }, "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9983,9 +10051,9 @@ } }, "node_modules/micromark-factory-title/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10057,9 +10125,9 @@ } }, "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10178,9 +10246,9 @@ } }, "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10285,9 +10353,9 @@ } }, "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10460,9 +10528,9 @@ } }, "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10579,9 +10647,9 @@ } }, "node_modules/micromark/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10674,11 +10742,12 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", + "integrity": "sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==", "dependencies": { - "schema-utils": "^4.0.0" + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" }, "engines": { "node": ">= 12.13.0" @@ -10721,9 +10790,9 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "node_modules/mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "engines": { "node": ">=10" } @@ -10768,9 +10837,9 @@ "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" }, "node_modules/nc-analytics": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/nc-analytics/-/nc-analytics-0.0.7.tgz", - "integrity": "sha512-ymcfvyVn/20LM/UYLzjnlU+Rm2rD0J+KmVk1nwUdlYyztMdHfQZy9TVszjb9G1J0D3MYWd2jwngYbkg6hDERwQ==" + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/nc-analytics/-/nc-analytics-0.0.9.tgz", + "integrity": "sha512-D1I1jwktjxYsNNUNUNVw43AnbhazLBg8GQzteCjzpQHoazdg33gi+q3fc1bYk/usYRFiA+tndZK2A1OfKUFOIw==" }, "node_modules/negotiator": { "version": "0.6.3", @@ -10795,9 +10864,9 @@ } }, "node_modules/node-abi": { - "version": "3.51.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", - "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", + "version": "3.56.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz", + "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==", "dependencies": { "semver": "^7.3.5" }, @@ -10833,9 +10902,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -10916,12 +10985,12 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -11361,9 +11430,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "funding": [ { "type": "opencollective", @@ -11379,7 +11448,7 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -11490,13 +11559,13 @@ } }, "node_modules/postcss-loader": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", - "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", "dependencies": { - "cosmiconfig": "^8.2.0", - "jiti": "^1.18.2", - "semver": "^7.3.8" + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" }, "engines": { "node": ">= 14.15.0" @@ -11654,9 +11723,9 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", @@ -11670,9 +11739,9 @@ } }, "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -11881,9 +11950,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -12063,9 +12132,9 @@ } }, "node_modules/property-information": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", - "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz", + "integrity": "sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -12587,9 +12656,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { "version": "0.15.2", @@ -12744,9 +12813,9 @@ } }, "node_modules/remark-mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.0.tgz", - "integrity": "sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" @@ -12772,9 +12841,9 @@ } }, "node_modules/remark-rehype": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", - "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -13063,9 +13132,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.69.7", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.7.tgz", - "integrity": "sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ==", + "version": "1.71.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz", + "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -13079,9 +13148,9 @@ } }, "node_modules/sass-loader": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.4.1.tgz", - "integrity": "sha512-aX/iJZTTpNUNx/OSYzo2KsjIUQHqvWsAhhUijFjAPdZTEhstjZI9zTNvkTTwsx+uNUJqUwOw5gacxQMx4hJxGQ==", + "version": "10.5.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.5.2.tgz", + "integrity": "sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ==", "dependencies": { "klona": "^2.0.4", "loader-utils": "^2.0.0", @@ -13098,7 +13167,7 @@ }, "peerDependencies": { "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "sass": "^1.3.0", "webpack": "^4.36.0 || ^5.0.0" }, @@ -13226,9 +13295,9 @@ } }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -13319,9 +13388,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dependencies": { "randombytes": "^2.1.0" } @@ -13431,14 +13500,16 @@ } }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -13531,13 +13602,17 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", + "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -13605,12 +13680,12 @@ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, "node_modules/sirv": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", - "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", "totalist": "^3.0.0" }, "engines": { @@ -13783,17 +13858,20 @@ } }, "node_modules/std-env": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.5.0.tgz", - "integrity": "sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA==" + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" }, "node_modules/streamx": { - "version": "2.15.5", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.5.tgz", - "integrity": "sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", + "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==", "dependencies": { "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" } }, "node_modules/string_decoder": { @@ -14059,19 +14137,22 @@ } }, "node_modules/tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz", + "integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==", "dependencies": { - "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0" } }, "node_modules/tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -14079,9 +14160,9 @@ } }, "node_modules/terser": { - "version": "5.24.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", - "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "version": "5.28.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.28.1.tgz", + "integrity": "sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -14096,15 +14177,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -14216,9 +14297,9 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" }, "node_modules/tiny-warning": { "version": "1.0.3", @@ -14270,9 +14351,9 @@ } }, "node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -14430,12 +14511,15 @@ "integrity": "sha512-b6Z/X4MczChMcfhk6kfRmBzPgjoPzuS9KGR4AFsiLulLNRAAqhP+xZTKtMnZGhLuc61I20d5WqlId02AZvcO6g==" }, "node_modules/typesense-instantsearch-adapter": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/typesense-instantsearch-adapter/-/typesense-instantsearch-adapter-2.7.1.tgz", - "integrity": "sha512-GSEwkNzXoVcL4iSV/LDiZvjx/knctqfGLLKUNRe5twgzFprnoU07UUh2mQ5Z0/aP1moY/UpBF1bMKhTU6ECoAQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/typesense-instantsearch-adapter/-/typesense-instantsearch-adapter-2.8.0.tgz", + "integrity": "sha512-2q4QVpHoUV0ncf1XOqIC0dufOTkFRxQ0mHzg//H3WK02ZYqdNNPCAacZODhQlltl1cNJdTI8Y4uuGVd6fJuGzw==", "hasInstallScript": true, "dependencies": { - "typesense": "^1.7.0" + "typesense": "^1.7.2" + }, + "engines": { + "node": ">=16" }, "peerDependencies": { "@babel/runtime": "^7.17.2" @@ -14842,9 +14926,9 @@ "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" }, "node_modules/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", "engines": { "node": ">= 4" } @@ -14948,18 +15032,18 @@ } }, "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "version": "5.90.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", + "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.11.5", "@webassemblyjs/wasm-edit": "^1.11.5", "@webassemblyjs/wasm-parser": "^1.11.5", "acorn": "^8.7.1", "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.15.0", "es-module-lexer": "^1.2.1", @@ -14973,7 +15057,7 @@ "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", + "terser-webpack-plugin": "^5.3.10", "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, @@ -15135,9 +15219,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "engines": { "node": ">=10.0.0" }, diff --git a/packages/noco-docs/package.json b/packages/noco-docs/package.json index 15363d57f5..6b8ef33d63 100644 --- a/packages/noco-docs/package.json +++ b/packages/noco-docs/package.json @@ -37,12 +37,12 @@ "clsx": "^1.2.1", "docusaurus-plugin-sass": "^0.2.5", "docusaurus-theme-search-typesense": "^0.14.1", - "nc-analytics": "^0.0.7", + "nc-analytics": "^0.0.9", "plugin-image-zoom": "github:flexanalytics/plugin-image-zoom", "prism-react-renderer": "^1.3.5", "react": "^18.2.0", "react-dom": "^18.2.0", - "sass": "^1.69.7" + "sass": "^1.71.1" }, "devDependencies": { "@docusaurus/module-type-aliases": "3.0.1", diff --git a/packages/nocodb-sdk/package.json b/packages/nocodb-sdk/package.json index dd934148ae..e178430b21 100644 --- a/packages/nocodb-sdk/package.json +++ b/packages/nocodb-sdk/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/nocodb/nocodb/issues" }, "engines": { - "node": ">=18.19.0" + "node": ">=18.19.1" }, "license": "AGPL-3.0-or-later", "keywords": [], @@ -44,8 +44,8 @@ "dayjs": "^1.11.10" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "@types/jest": "^29.5.12", "cspell": "^4.2.8", "eslint": "^8.56.0", diff --git a/packages/nocodb-sdk/src/lib/UITypes.ts b/packages/nocodb-sdk/src/lib/UITypes.ts index d5fa23214c..f7895f0cac 100644 --- a/packages/nocodb-sdk/src/lib/UITypes.ts +++ b/packages/nocodb-sdk/src/lib/UITypes.ts @@ -202,4 +202,11 @@ export const getEquivalentUIType = ({ } }; +export const isSelectTypeCol = ( + colOrUidt: ColumnType | { uidt: UITypes | string } | UITypes | string +) => { + return [UITypes.SingleSelect, UITypes.MultiSelect, UITypes.User].includes( + (typeof colOrUidt === 'object' ? colOrUidt?.uidt : colOrUidt) + ); +}; export default UITypes; diff --git a/packages/nocodb-sdk/src/lib/dateTimeHelper.ts b/packages/nocodb-sdk/src/lib/dateTimeHelper.ts index e0652f13b3..1c75886faf 100644 --- a/packages/nocodb-sdk/src/lib/dateTimeHelper.ts +++ b/packages/nocodb-sdk/src/lib/dateTimeHelper.ts @@ -64,7 +64,7 @@ export function getDateTimeFormat(v: string) { } } } - return 'YYYY/MM/DD'; + return 'YYYY/MM/DD HH:mm'; } export function parseStringDate(v: string, dateFormat: string) { diff --git a/packages/nocodb-sdk/src/lib/formulaHelpers.ts b/packages/nocodb-sdk/src/lib/formulaHelpers.ts index d4158a8508..0ba7e1dc54 100644 --- a/packages/nocodb-sdk/src/lib/formulaHelpers.ts +++ b/packages/nocodb-sdk/src/lib/formulaHelpers.ts @@ -323,6 +323,7 @@ export const formulas: Record = { validation: { args: { rqd: 3, + type: FormulaDataTypes.DATE, }, custom: (_argTypes: FormulaDataTypes[], parsedTree: any) => { if (parsedTree.arguments[0].type === JSEPNode.LITERAL) { @@ -378,7 +379,6 @@ export const formulas: Record = { validation: { args: { rqd: 1, - type: FormulaDataTypes.DATE, }, }, syntax: 'DATESTR(date | datetime)', @@ -390,7 +390,6 @@ export const formulas: Record = { validation: { args: { rqd: 1, - type: FormulaDataTypes.DATE, }, }, syntax: 'DAY(date | datetime)', @@ -402,7 +401,6 @@ export const formulas: Record = { validation: { args: { rqd: 1, - type: FormulaDataTypes.DATE, }, }, syntax: 'MONTH(date | datetime)', @@ -414,7 +412,6 @@ export const formulas: Record = { validation: { args: { rqd: 1, - type: FormulaDataTypes.DATE, }, }, syntax: 'DAY(time | datetime)', @@ -430,6 +427,7 @@ export const formulas: Record = { args: { min: 2, max: 3, + type: FormulaDataTypes.DATE, }, custom: (_argTypes: FormulaDataTypes[], parsedTree: any) => { if (parsedTree.arguments[0].type === JSEPNode.LITERAL) { @@ -820,6 +818,7 @@ export const formulas: Record = { validation: { args: { rqd: 0, + type: FormulaDataTypes.DATE, }, }, description: 'Retrieve the current time and day.', @@ -887,29 +886,8 @@ export const formulas: Record = { validation: { args: { rqd: 2, + type: FormulaDataTypes.STRING, }, - custom(argTypes: FormulaDataTypes[], parsedTree) { - if (argTypes[0] !== FormulaDataTypes.STRING) { - throw new FormulaError( - FormulaErrorType.INVALID_ARG, - { - key: 'msg.formula.stringTypeIsExpected', - calleeName: parsedTree.callee?.name?.toUpperCase(), - }, - 'String type is expected' - ); - } - if (argTypes[1] !== FormulaDataTypes.NUMERIC) { - throw new FormulaError( - FormulaErrorType.INVALID_ARG, - { - key: 'msg.formula.numericTypeIsExpected', - calleeName: parsedTree.callee?.name?.toUpperCase(), - }, - 'Numeric type is expected' - ); - } - } }, description: 'Retrieve the last n characters from the input string.', syntax: 'RIGHT(str, n)', @@ -923,29 +901,8 @@ export const formulas: Record = { validation: { args: { rqd: 2, + type: FormulaDataTypes.STRING, }, - custom(argTypes: FormulaDataTypes[], parsedTree) { - if (argTypes[0] !== FormulaDataTypes.STRING) { - throw new FormulaError( - FormulaErrorType.INVALID_ARG, - { - key: 'msg.formula.stringTypeIsExpected', - calleeName: parsedTree.callee?.name?.toUpperCase(), - }, - 'String type is expected' - ); - } - if (argTypes[1] !== FormulaDataTypes.NUMERIC) { - throw new FormulaError( - FormulaErrorType.INVALID_ARG, - { - key: 'msg.formula.numericTypeIsExpected', - calleeName: parsedTree.callee?.name?.toUpperCase(), - }, - 'Numeric type is expected' - ); - } - } }, description: 'Retrieve the first n characters from the input string.', syntax: 'LEFT(str, n)', @@ -990,30 +947,6 @@ export const formulas: Record = { FormulaDataTypes.NUMERIC, ], }, - custom(argTypes: FormulaDataTypes[], parsedTree) { - if (argTypes[0] !== FormulaDataTypes.STRING) { - throw new FormulaError( - FormulaErrorType.INVALID_ARG, - { - key: 'msg.formula.stringTypeIsExpected', - calleeName: parsedTree.callee?.name?.toUpperCase(), - }, - 'String type is expected' - ); - } - for(const i of [1,2]) { - if (argTypes[i] !== FormulaDataTypes.NUMERIC) { - throw new FormulaError( - FormulaErrorType.INVALID_ARG, - { - key: 'msg.formula.numericTypeIsExpected', - calleeName: parsedTree.callee?.name?.toUpperCase(), - }, - 'Numeric type is expected' - ); - } - } - } }, description: 'Extracts a substring; an alias for SUBSTR.', syntax: 'MID(str, position, [count])', @@ -1131,6 +1064,7 @@ export const formulas: Record = { args: { min: 1, max: 2, + type: FormulaDataTypes.NUMERIC, }, custom(_argTypes: FormulaDataTypes[], parsedTree: any) { if (parsedTree.arguments[0].type === JSEPNode.LITERAL) { diff --git a/packages/nocodb-sdk/src/lib/index.ts b/packages/nocodb-sdk/src/lib/index.ts index e06f405e5d..2a38f678de 100644 --- a/packages/nocodb-sdk/src/lib/index.ts +++ b/packages/nocodb-sdk/src/lib/index.ts @@ -18,6 +18,7 @@ export { isCreatedOrLastModifiedByCol, isHiddenCol, getEquivalentUIType, + isSelectTypeCol, } from '~/lib/UITypes'; export { default as CustomAPI, FileType } from '~/lib/CustomAPI'; export { default as TemplateGenerator } from '~/lib/TemplateGenerator'; diff --git a/packages/nocodb/Dockerfile b/packages/nocodb/Dockerfile index dd81ef09e9..4ef1519301 100644 --- a/packages/nocodb/Dockerfile +++ b/packages/nocodb/Dockerfile @@ -18,7 +18,7 @@ RUN cp $GOPATH/bin/litestream /usr/src/lt ########### # Builder ########### -FROM node:18.19.0-alpine as builder +FROM node:18.19.1-alpine as builder WORKDIR /usr/src/app # install node-gyp dependencies diff --git a/packages/nocodb/Dockerfile.local b/packages/nocodb/Dockerfile.local index 94e1bf5644..ee6a0ffd1c 100644 --- a/packages/nocodb/Dockerfile.local +++ b/packages/nocodb/Dockerfile.local @@ -1,7 +1,7 @@ ########### # Builder ########### -FROM node:18.19.0-alpine as builder +FROM node:18.19.1-alpine as builder WORKDIR /usr/src/app # install node-gyp dependencies diff --git a/packages/nocodb/README.md b/packages/nocodb/README.md index 9a06ce8472..fa02c1c80c 100644 --- a/packages/nocodb/README.md +++ b/packages/nocodb/README.md @@ -261,11 +261,11 @@ We provide the following ways to let users programmatically invoke actions. You ### Sync Schema -We allow you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from one environment to another. See Sync Schema for details. +We allow you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from one environment to another. See Sync Schema for details. ### Audit -We are keeping all the user operation logs in one place. See Audit for details. +We are keeping all the user operation logs in one place. See Audit for details. # Production Setup @@ -273,7 +273,7 @@ By default, SQLite is used for storing metadata. However, you can specify your d ## Environment variables -Please refer to the [Environment variables](https://docs.nocodb.com/getting-started/environment-variables) +Please refer to the [Environment variables](https://docs.nocodb.com/getting-started/self-hosted/environment-variables) # Development Setup diff --git a/packages/nocodb/litestream/Dockerfile b/packages/nocodb/litestream/Dockerfile index f8dff284a3..f4a781ecde 100644 --- a/packages/nocodb/litestream/Dockerfile +++ b/packages/nocodb/litestream/Dockerfile @@ -12,7 +12,7 @@ RUN cp $GOPATH/bin/litestream /usr/src/lt -FROM node:18.19.0-alpine as builder +FROM node:18.19.1-alpine as builder WORKDIR /usr/src/app # install pnpm diff --git a/packages/nocodb/package.json b/packages/nocodb/package.json index f63506d4a1..c724ec59aa 100644 --- a/packages/nocodb/package.json +++ b/packages/nocodb/package.json @@ -16,7 +16,7 @@ "url": "https://github.com/nocodb/nocodb/issues" }, "engines": { - "node": ">=18.19.0" + "node": ">=18.19.1" }, "license": "AGPL-3.0-or-later", "scripts": { @@ -53,22 +53,22 @@ "@graphql-tools/merge": "^6.2.17", "@jm18457/kafkajs-msk-iam-authentication-mechanism": "^3.1.2", "@nestjs/bull": "^10.0.1", - "@nestjs/common": "^10.3.1", + "@nestjs/common": "^10.3.3", "@nestjs/config": "^3.1.1", - "@nestjs/core": "^10.3.1", + "@nestjs/core": "^10.3.3", "@nestjs/event-emitter": "^2.0.4", "@nestjs/jwt": "^10.2.0", "@nestjs/mapped-types": "^2.0.5", "@nestjs/passport": "^10.0.3", - "@nestjs/platform-express": "^10.3.1", - "@nestjs/platform-socket.io": "^10.3.1", + "@nestjs/platform-express": "^10.3.3", + "@nestjs/platform-socket.io": "^10.3.3", "@nestjs/serve-static": "^4.0.1", - "@nestjs/throttler": "^5.0.0", - "@nestjs/websockets": "^10.3.1", + "@nestjs/throttler": "^5.1.2", + "@nestjs/websockets": "^10.3.3", "@ntegral/nestjs-sentry": "^4.0.1", "@sentry/node": "^6.19.7", "@techpass/passport-openidconnect": "^0.3.3", - "@types/chai": "^4.3.11", + "@types/chai": "^4.3.12", "airtable": "^0.12.2", "ajv": "^8.12.0", "ajv-formats": "^2.1.1", @@ -97,7 +97,7 @@ "dotenv": "^8.6.0", "ejs": "^3.1.9", "emittery": "^0.13.1", - "express": "^4.18.2", + "express": "^4.18.3", "extract-zip": "^2.0.1", "fast-levenshtein": "^2.0.6", "fs-extra": "^9.1.0", @@ -106,7 +106,7 @@ "graphql-depth-limit": "^1.1.0", "graphql-type-json": "^0.3.2", "handlebars": "^4.7.8", - "html-to-json-parser": "^2.0.0", + "html-to-json-parser": "^2.0.1", "import-fresh": "^3.3.0", "inflection": "^1.13.4", "ioredis": "^5.3.2", @@ -129,16 +129,16 @@ "morgan": "^1.10.0", "mssql": "^10.0.2", "multer": "^1.4.5-lts.1", - "mysql2": "^3.9.1", + "mysql2": "^3.9.2", "nanoid": "^3.3.7", "nc-help": "0.3.1", "nc-lib-gui": "0.204.1", "nc-plugin": "^0.1.3", "ncp": "^2.0.0", "nestjs-kafka": "^1.0.6", - "nestjs-throttler-storage-redis": "^0.4.1", - "nocodb-sdk": "0.204.1", - "nodemailer": "^6.9.8", + "nestjs-throttler-storage-redis": "^0.4.2", + "nocodb-sdk": "workspace:^", + "nodemailer": "^6.9.11", "object-hash": "^3.0.0", "object-sizeof": "^2.6.4", "os-locale": "^6.0.2", @@ -175,21 +175,21 @@ "xlsx": "^0.18.5" }, "devDependencies": { - "@nestjs/cli": "^10.3.0", - "@nestjs/schematics": "^10.1.0", - "@nestjs/testing": "^10.3.1", + "@nestjs/cli": "^10.3.2", + "@nestjs/schematics": "^10.1.1", + "@nestjs/testing": "^10.3.3", "@nestjsplus/dyn-schematics": "^1.0.12", "@types/ejs": "^3.1.5", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", "@types/mocha": "^10.0.6", "@types/multer": "^1.4.11", - "@types/node": "20.11.16", + "@types/node": "20.11.24", "@types/passport-google-oauth20": "^2.0.14", "@types/passport-jwt": "^3.0.13", "@types/supertest": "^2.0.16", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "chai": "^4.4.1", "copy-webpack-plugin": "^11.0.0", "cross-env": "^7.0.3", @@ -200,7 +200,7 @@ "eslint-plugin-import": "^2.29.1", "eslint-plugin-prettier": "^4.2.1", "jest": "29.7.0", - "mocha": "^10.2.0", + "mocha": "^10.3.0", "nodemon": "^3.0.3", "prettier": "^2.8.8", "source-map-support": "^0.5.21", diff --git a/packages/nocodb/src/cache/CacheMgr.ts b/packages/nocodb/src/cache/CacheMgr.ts index d142824972..0b624db85e 100644 --- a/packages/nocodb/src/cache/CacheMgr.ts +++ b/packages/nocodb/src/cache/CacheMgr.ts @@ -500,6 +500,17 @@ export default abstract class CacheMgr { }); } + async update(key: string, value: any): Promise { + let o = await this.get(key, CacheGetType.TYPE_OBJECT); + if (o) { + // update data + o = { ...o, ...value }; + // set cache + await this.set(key, o); + } + return true; + } + // wrap value with metadata prepareValue(args: { value: any; diff --git a/packages/nocodb/src/cache/NocoCache.ts b/packages/nocodb/src/cache/NocoCache.ts index 5bd141b14d..b2383e80a3 100644 --- a/packages/nocodb/src/cache/NocoCache.ts +++ b/packages/nocodb/src/cache/NocoCache.ts @@ -106,6 +106,14 @@ export default class NocoCache { ); } + public static async update( + key: string, + updateObj: Record, + ): Promise { + if (this.cacheDisabled) return Promise.resolve(true); + return this.client.update(`${this.prefix}:${key}`, updateObj); + } + public static async destroy(): Promise { if (this.cacheDisabled) return Promise.resolve(true); return this.client.destroy(); diff --git a/packages/nocodb/src/controllers/base-users.controller.spec.ts b/packages/nocodb/src/controllers/base-users.controller.spec.ts index 255095d5f2..86bf43f3ad 100644 --- a/packages/nocodb/src/controllers/base-users.controller.spec.ts +++ b/packages/nocodb/src/controllers/base-users.controller.spec.ts @@ -1,18 +1,18 @@ import { Test } from '@nestjs/testing'; -import { ProjectUsersService } from '../services/base-users/base-users.service'; -import { ProjectUsersController } from './base-users.controller'; +import { BaseUsersService } from '../services/base-users/base-users.service'; +import { BaseUsersController } from './base-users.controller'; import type { TestingModule } from '@nestjs/testing'; -describe('ProjectUsersController', () => { - let controller: ProjectUsersController; +describe('BaseUsersController', () => { + let controller: BaseUsersController; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - controllers: [ProjectUsersController], - providers: [ProjectUsersService], + controllers: [BaseUsersController], + providers: [BaseUsersService], }).compile(); - controller = module.get(ProjectUsersController); + controller = module.get(BaseUsersController); }); it('should be defined', () => { diff --git a/packages/nocodb/src/controllers/form-columns.controller.ts b/packages/nocodb/src/controllers/form-columns.controller.ts index 865ddf765e..3dd212036c 100644 --- a/packages/nocodb/src/controllers/form-columns.controller.ts +++ b/packages/nocodb/src/controllers/form-columns.controller.ts @@ -16,7 +16,7 @@ export class FormColumnsController { '/api/v1/db/meta/form-columns/:formViewColumnId', '/api/v2/meta/form-columns/:formViewColumnId', ]) - @Acl('columnUpdate') + @Acl('formViewUpdate') async columnUpdate( @Param('formViewColumnId') formViewColumnId: string, @Body() formViewColumnbody: FormColumnUpdateReqType, diff --git a/packages/nocodb/src/controllers/grid-columns.controller.ts b/packages/nocodb/src/controllers/grid-columns.controller.ts index fe307a85ff..039ff3154a 100644 --- a/packages/nocodb/src/controllers/grid-columns.controller.ts +++ b/packages/nocodb/src/controllers/grid-columns.controller.ts @@ -12,6 +12,7 @@ import { GlobalGuard } from '~/guards/global/global.guard'; import { GridColumnsService } from '~/services/grid-columns.service'; import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware'; import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard'; +import { NcRequest } from '~/interface/config'; @Controller() @UseGuards(MetaApiLimiterGuard, GlobalGuard) @@ -37,7 +38,7 @@ export class GridColumnsController { @Param('gridViewColumnId') gridViewColumnId: string, @Body() body: GridColumnReqType, - @Req() req: Request, + @Req() req: NcRequest, ) { return this.gridColumnsService.gridColumnUpdate({ gridViewColumnId, diff --git a/packages/nocodb/src/controllers/grids.controller.ts b/packages/nocodb/src/controllers/grids.controller.ts index 8c819f7fc1..b3a7a00e79 100644 --- a/packages/nocodb/src/controllers/grids.controller.ts +++ b/packages/nocodb/src/controllers/grids.controller.ts @@ -13,6 +13,7 @@ import { GlobalGuard } from '~/guards/global/global.guard'; import { GridsService } from '~/services/grids.service'; import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware'; import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard'; +import { NcRequest } from '~/interface/config'; @Controller() @UseGuards(MetaApiLimiterGuard, GlobalGuard) @@ -28,7 +29,7 @@ export class GridsController { async gridViewCreate( @Param('tableId') tableId: string, @Body() body: ViewCreateReqType, - @Req() req: Request, + @Req() req: NcRequest, ) { const view = await this.gridsService.gridViewCreate({ grid: body, @@ -42,7 +43,7 @@ export class GridsController { async gridViewUpdate( @Param('viewId') viewId: string, @Body() body, - @Req() req: Request, + @Req() req: NcRequest, ) { return await this.gridsService.gridViewUpdate({ viewId, diff --git a/packages/nocodb/src/controllers/model-visibilities.controller.ts b/packages/nocodb/src/controllers/model-visibilities.controller.ts index 4e84697409..6e0f49b9a7 100644 --- a/packages/nocodb/src/controllers/model-visibilities.controller.ts +++ b/packages/nocodb/src/controllers/model-visibilities.controller.ts @@ -13,6 +13,7 @@ import { GlobalGuard } from '~/guards/global/global.guard'; import { ModelVisibilitiesService } from '~/services/model-visibilities.service'; import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware'; import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard'; +import { NcRequest } from '~/interface/config'; @Controller() @UseGuards(MetaApiLimiterGuard, GlobalGuard) @@ -30,7 +31,7 @@ export class ModelVisibilitiesController { async xcVisibilityMetaSetAll( @Param('baseId') baseId: string, @Body() body: any, - @Req() req: Request, + @Req() req: NcRequest, ) { await this.modelVisibilitiesService.xcVisibilityMetaSetAll({ visibilityRule: body, diff --git a/packages/nocodb/src/controllers/plugins.controller.ts b/packages/nocodb/src/controllers/plugins.controller.ts index aa7f7ba620..45e16b1b02 100644 --- a/packages/nocodb/src/controllers/plugins.controller.ts +++ b/packages/nocodb/src/controllers/plugins.controller.ts @@ -14,6 +14,7 @@ import { PagedResponseImpl } from '~/helpers/PagedResponse'; import { PluginsService } from '~/services/plugins.service'; import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware'; import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard'; +import { NcRequest } from '~/interface/config'; // todo: move to a interceptor // const blockInCloudMw = (_req, res, next) => { @@ -48,7 +49,7 @@ export class PluginsController { @Acl('pluginTest', { scope: 'org', }) - async pluginTest(@Body() body: any, @Req() req: Request) { + async pluginTest(@Body() body: any, @Req() req: NcRequest) { return await this.pluginsService.pluginTest({ body: body, req }); } @@ -70,7 +71,7 @@ export class PluginsController { async pluginUpdate( @Body() body: any, @Param('pluginId') pluginId: string, - @Req() req: Request, + @Req() req: NcRequest, ) { const plugin = await this.pluginsService.pluginUpdate({ pluginId: pluginId, diff --git a/packages/nocodb/src/controllers/sorts.controller.ts b/packages/nocodb/src/controllers/sorts.controller.ts index 6311b7416c..d6ec600bd2 100644 --- a/packages/nocodb/src/controllers/sorts.controller.ts +++ b/packages/nocodb/src/controllers/sorts.controller.ts @@ -16,6 +16,7 @@ import { PagedResponseImpl } from '~/helpers/PagedResponse'; import { SortsService } from '~/services/sorts.service'; import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware'; import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard'; +import { NcRequest } from '~/interface/config'; @Controller() @UseGuards(MetaApiLimiterGuard, GlobalGuard) @@ -44,7 +45,7 @@ export class SortsController { async sortCreate( @Param('viewId') viewId: string, @Body() body: SortReqType, - @Req() req: Request, + @Req() req: NcRequest, ) { const sort = await this.sortsService.sortCreate({ sort: body, @@ -68,7 +69,7 @@ export class SortsController { async sortUpdate( @Param('sortId') sortId: string, @Body() body: SortReqType, - @Req() req: Request, + @Req() req: NcRequest, ) { const sort = await this.sortsService.sortUpdate({ sortId, @@ -80,7 +81,7 @@ export class SortsController { @Delete(['/api/v1/db/meta/sorts/:sortId', '/api/v2/meta/sorts/:sortId']) @Acl('sortDelete') - async sortDelete(@Param('sortId') sortId: string, @Req() req: Request) { + async sortDelete(@Param('sortId') sortId: string, @Req() req: NcRequest) { const sort = await this.sortsService.sortDelete({ sortId, req, diff --git a/packages/nocodb/src/controllers/sources.controller.spec.ts b/packages/nocodb/src/controllers/sources.controller.spec.ts index eca1c93913..0adea811e2 100644 --- a/packages/nocodb/src/controllers/sources.controller.spec.ts +++ b/packages/nocodb/src/controllers/sources.controller.spec.ts @@ -1,15 +1,15 @@ import { Test } from '@nestjs/testing'; -import { ProjectsService } from '../services/bases.service'; +import { BasesService } from '../services/bases.service'; import { BasesController } from './bases.controller'; import type { TestingModule } from '@nestjs/testing'; -describe('ProjectsController', () => { +describe('BasesController', () => { let controller: BasesController; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ controllers: [BasesController], - providers: [ProjectsService], + providers: [BasesService], }).compile(); controller = module.get(BasesController); diff --git a/packages/nocodb/src/controllers/sync.controller.ts b/packages/nocodb/src/controllers/sync.controller.ts index 6885e09dd4..0147ef2042 100644 --- a/packages/nocodb/src/controllers/sync.controller.ts +++ b/packages/nocodb/src/controllers/sync.controller.ts @@ -14,6 +14,7 @@ import { GlobalGuard } from '~/guards/global/global.guard'; import { SyncService } from '~/services/sync.service'; import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware'; import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard'; +import { NcRequest } from '~/interface/config'; @Controller() @UseGuards(MetaApiLimiterGuard, GlobalGuard) @@ -48,7 +49,7 @@ export class SyncController { async syncCreate( @Param('baseId') baseId: string, @Body() body: any, - @Req() req: Request, + @Req() req: NcRequest, @Param('sourceId') sourceId?: string, ) { return await this.syncService.syncCreate({ @@ -62,7 +63,7 @@ export class SyncController { @Delete(['/api/v1/db/meta/syncs/:syncId', '/api/v2/meta/syncs/:syncId']) @Acl('syncSourceDelete') - async syncDelete(@Param('syncId') syncId: string, @Req() req: Request) { + async syncDelete(@Param('syncId') syncId: string, @Req() req: NcRequest) { return await this.syncService.syncDelete({ syncId: syncId, req, @@ -74,7 +75,7 @@ export class SyncController { async syncUpdate( @Param('syncId') syncId: string, @Body() body: any, - @Req() req: Request, + @Req() req: NcRequest, ) { return await this.syncService.syncUpdate({ syncId: syncId, diff --git a/packages/nocodb/src/controllers/view-columns.controller.ts b/packages/nocodb/src/controllers/view-columns.controller.ts index 95b1de089c..6e5f0e9851 100644 --- a/packages/nocodb/src/controllers/view-columns.controller.ts +++ b/packages/nocodb/src/controllers/view-columns.controller.ts @@ -15,6 +15,7 @@ import { PagedResponseImpl } from '~/helpers/PagedResponse'; import { ViewColumnsService } from '~/services/view-columns.service'; import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware'; import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard'; +import { NcRequest } from '~/interface/config'; @Controller() @UseGuards(MetaApiLimiterGuard, GlobalGuard) @@ -43,7 +44,7 @@ export class ViewColumnsController { async columnAdd( @Param('viewId') viewId: string, @Body() body: ViewColumnReqType, - @Req() req: Request, + @Req() req: NcRequest, ) { const viewColumn = await this.viewColumnsService.columnAdd({ viewId, @@ -62,7 +63,7 @@ export class ViewColumnsController { @Param('viewId') viewId: string, @Param('columnId') columnId: string, @Body() body: ViewColumnReqType, - @Req() req: Request, + @Req() req: NcRequest, ) { const result = await this.viewColumnsService.columnUpdate({ viewId, diff --git a/packages/nocodb/src/db/BaseModelSqlv2.ts b/packages/nocodb/src/db/BaseModelSqlv2.ts index 6bac3a9673..586882ec0c 100644 --- a/packages/nocodb/src/db/BaseModelSqlv2.ts +++ b/packages/nocodb/src/db/BaseModelSqlv2.ts @@ -2105,7 +2105,8 @@ class BaseModelSqlv2 { obj.conditionGraph = args.conditionGraph || {}; obj.limit = Math.max( Math.min( - args.limit || args.l || BaseModelSqlv2.config.limitDefault, + Math.max(+(args.limit || args.l), 0) || + BaseModelSqlv2.config.limitDefault, BaseModelSqlv2.config.limitMax, ), BaseModelSqlv2.config.limitMin, @@ -3039,6 +3040,8 @@ class BaseModelSqlv2 { // TODO: ag column handling for raw bulk insert const insertDatas = raw ? datas : []; let postInsertOps: ((rowId: any, trx?: any) => Promise)[] = []; + let aiPkCol: Column; + let agPkCol: Column; if (!raw) { const nestedCols = (await this.model.getColumns()).filter((c) => @@ -3194,6 +3197,9 @@ class BaseModelSqlv2 { insertDatas.push(insertObj); } + + aiPkCol = this.model.primaryKeys.find((pk) => pk.ai); + agPkCol = this.model.primaryKeys.find((pk) => pk.meta?.ag); } if ('beforeBulkInsert' in this) { @@ -3219,9 +3225,6 @@ class BaseModelSqlv2 { let responses; - const aiPkCol = this.model.primaryKeys.find((pk) => pk.ai); - const agPkCol = this.model.primaryKeys.find((pk) => pk.meta?.ag); - // insert one by one as fallback to get ids for sqlite and mysql if (insertOneByOneAsFallback && (this.isSqlite || this.isMySQL)) { // sqlite and mysql doesn't support returning, so insert one by one and return ids @@ -3248,8 +3251,10 @@ class BaseModelSqlv2 { } else { const returningArr: string[] = []; - for (const col of this.model.primaryKeys) { - returningArr.push(col.column_name); + if (!raw) { + for (const col of this.model.primaryKeys) { + returningArr.push(col.column_name); + } } responses = @@ -6367,7 +6372,8 @@ export function getListArgs( obj.conditionGraph = args.conditionGraph || {}; obj.limit = Math.max( Math.min( - args?.limit || args?.l || BaseModelSqlv2.config.limitDefault, + Math.max(+(args?.limit || args?.l), 0) || + BaseModelSqlv2.config.limitDefault, BaseModelSqlv2.config.limitMax, ), BaseModelSqlv2.config.limitMin, diff --git a/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts b/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts index 36b2bb4fb6..a32736b44d 100644 --- a/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts +++ b/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts @@ -16,7 +16,7 @@ import type { BaseModelSqlv2 } from '~/db/BaseModelSqlv2'; import type Column from '~/models/Column'; import Model from '~/models/Model'; import NocoCache from '~/cache/NocoCache'; -import { CacheGetType, CacheScope } from '~/utils/globals'; +import { CacheScope } from '~/utils/globals'; import { convertDateFormatForConcat } from '~/helpers/formulaFnHelper'; import FormulaColumn from '~/models/FormulaColumn'; import { Base, BaseUser } from '~/models'; @@ -1217,13 +1217,9 @@ export default async function formulaQueryBuilderv2( error: e.message, }); // update cache to reflect the error in UI - const key = `${CacheScope.COL_FORMULA}:${column.id}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - o = { ...o, error: e.message }; - // set cache - await NocoCache.set(key, o); - } + await NocoCache.update(`${CacheScope.COL_FORMULA}:${column.id}`, { + error: e.message, + }); } throw new Error(`Formula error: ${e.message}`); } diff --git a/packages/nocodb/src/filters/global-exception/global-exception.filter.spec.ts b/packages/nocodb/src/filters/global-exception/global-exception.filter.spec.ts index 167dc01053..4cc1d2f33f 100644 --- a/packages/nocodb/src/filters/global-exception/global-exception.filter.spec.ts +++ b/packages/nocodb/src/filters/global-exception/global-exception.filter.spec.ts @@ -1,7 +1 @@ -import { GlobalExceptionFilter } from './global-exception.filter'; - -describe('GlobalExceptionFilter', () => { - it('should be defined', () => { - expect(new GlobalExceptionFilter()).toBeDefined(); - }); -}); +describe('GlobalExceptionFilter', () => {}); diff --git a/packages/nocodb/src/guards/global/global.guard.spec.ts b/packages/nocodb/src/guards/global/global.guard.spec.ts index a86ddbe7e4..512cd2b606 100644 --- a/packages/nocodb/src/guards/global/global.guard.spec.ts +++ b/packages/nocodb/src/guards/global/global.guard.spec.ts @@ -1,7 +1 @@ -import { GlobalGuard } from './global.guard'; - -describe('GlobalGuard', () => { - it('should be defined', () => { - expect(new GlobalGuard()).toBeDefined(); - }); -}); +describe('GlobalGuard', () => {}); diff --git a/packages/nocodb/src/interceptors/is-upload-allowed/is-upload-allowed.interceptor.spec.ts b/packages/nocodb/src/interceptors/is-upload-allowed/is-upload-allowed.interceptor.spec.ts index 11f3a38e99..f82c082c06 100644 --- a/packages/nocodb/src/interceptors/is-upload-allowed/is-upload-allowed.interceptor.spec.ts +++ b/packages/nocodb/src/interceptors/is-upload-allowed/is-upload-allowed.interceptor.spec.ts @@ -1,7 +1,7 @@ -import { IsUploadAllowedInterceptor } from './is-upload-allowed.interceptor'; +import { UploadAllowedInterceptor } from './is-upload-allowed.interceptor'; -describe('IsUploadAllowedInterceptor', () => { +describe('UploadAllowedInterceptor', () => { it('should be defined', () => { - expect(new IsUploadAllowedInterceptor()).toBeDefined(); + expect(new UploadAllowedInterceptor()).toBeDefined(); }); }); diff --git a/packages/nocodb/src/interface/config.ts b/packages/nocodb/src/interface/config.ts index b6a984f6ea..9b23035d93 100644 --- a/packages/nocodb/src/interface/config.ts +++ b/packages/nocodb/src/interface/config.ts @@ -4,6 +4,7 @@ import type { Handler } from 'express'; import type * as e from 'express'; import type { Knex } from 'knex'; import type { User } from '~/models'; +import type { IncomingHttpHeaders } from 'http'; export interface Route { path: string; diff --git a/packages/nocodb/src/main.ts b/packages/nocodb/src/main.ts index f09ee76f28..981dfead49 100644 --- a/packages/nocodb/src/main.ts +++ b/packages/nocodb/src/main.ts @@ -1,27 +1,23 @@ -import { NestFactory } from '@nestjs/core'; import cors from 'cors'; import express from 'express'; -import { AppModule } from './app.module'; +import Noco from '~/Noco'; + +const server = express(); +server.enable('trust proxy'); +server.disable('etag'); +server.disable('x-powered-by'); +server.use( + cors({ + exposedHeaders: 'xc-db-response', + }), +); + +server.set('view engine', 'ejs'); async function bootstrap() { - const app = await NestFactory.create(AppModule); - if (process.env.NC_WORKER_CONTAINER !== 'true') { - app.use( - express.json({ limit: process.env.NC_REQUEST_BODY_SIZE || '50mb' }), - ); - app.use( - cors({ - exposedHeaders: 'xc-db-response', - }), - ); - await app.listen(8080); - } else { - if (!process.env.NC_REDIS_URL) { - throw new Error('NC_REDIS_URL is required'); - } - process.env.NC_DISABLE_TELE = 'true'; - await app.init(); - } + const httpServer = server.listen(process.env.PORT || 8080, async () => { + server.use(await Noco.init({}, httpServer, server)); + }); } bootstrap(); diff --git a/packages/nocodb/src/middlewares/global/global.middleware.spec.ts b/packages/nocodb/src/middlewares/global/global.middleware.spec.ts index 9668af3eec..f80fe39ee2 100644 --- a/packages/nocodb/src/middlewares/global/global.middleware.spec.ts +++ b/packages/nocodb/src/middlewares/global/global.middleware.spec.ts @@ -1,7 +1 @@ -import { GlobalMiddleware } from './global.middleware'; - -describe('GlobalMiddleware', () => { - it('should be defined', () => { - expect(new GlobalMiddleware()).toBeDefined(); - }); -}); +describe('GlobalMiddleware', () => {}); diff --git a/packages/nocodb/src/middlewares/gui/gui.middleware.spec.ts b/packages/nocodb/src/middlewares/gui/gui.middleware.spec.ts index 33358ac982..c0b2271979 100644 --- a/packages/nocodb/src/middlewares/gui/gui.middleware.spec.ts +++ b/packages/nocodb/src/middlewares/gui/gui.middleware.spec.ts @@ -1,7 +1 @@ -import { GuiMiddleware } from './gui.middleware'; - -describe('GuiMiddleware', () => { - it('should be defined', () => { - expect(new GuiMiddleware()).toBeDefined(); - }); -}); +describe('GuiMiddleware', () => {}); diff --git a/packages/nocodb/src/models/BaseUser.ts b/packages/nocodb/src/models/BaseUser.ts index b450be260f..63d0409b1d 100644 --- a/packages/nocodb/src/models/BaseUser.ts +++ b/packages/nocodb/src/models/BaseUser.ts @@ -3,7 +3,7 @@ import type { BaseType } from 'nocodb-sdk'; import type User from '~/models/User'; import Base from '~/models/Base'; import { - // CacheDelDirection, + CacheDelDirection, CacheGetType, CacheScope, MetaTable, @@ -205,17 +205,8 @@ export default class BaseUser { roles: string, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.BASE_USER}:${baseId}:${userId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - o.roles = roles; - // set cache - await NocoCache.set(key, o); - } - // set meta - return await ncMeta.metaUpdate( + const res = await ncMeta.metaUpdate( null, null, MetaTable.PROJECT_USERS, @@ -227,6 +218,12 @@ export default class BaseUser { base_id: baseId, }, ); + + await NocoCache.update(`${CacheScope.BASE_USER}:${baseId}:${userId}`, { + roles, + }); + + return res; } static async update( @@ -237,18 +234,17 @@ export default class BaseUser { ) { const updateObj = extractProps(baseUser, ['starred', 'hidden', 'order']); - const key = `${CacheScope.BASE_USER}:${baseId}:${userId}`; - // set meta await ncMeta.metaUpdate(null, null, MetaTable.PROJECT_USERS, updateObj, { fk_user_id: userId, base_id: baseId, }); - // delete cache - await NocoCache.del(key); + await NocoCache.update( + `${CacheScope.BASE_USER}:${baseId}:${userId}`, + updateObj, + ); - // cache and return return await this.get(baseId, userId, ncMeta); } @@ -265,8 +261,10 @@ export default class BaseUser { ); // delete list cache to refresh list - await NocoCache.del(`${CacheScope.BASE_USER}:${baseId}:${userId}`); - await NocoCache.del(`${CacheScope.BASE_USER}:${baseId}:list`); + await NocoCache.deepDel( + `${CacheScope.BASE_USER}:${baseId}:${userId}`, + CacheDelDirection.CHILD_TO_PARENT, + ); return response; } diff --git a/packages/nocodb/src/models/CalendarView.ts b/packages/nocodb/src/models/CalendarView.ts index e14e3f1c6e..36d1442afb 100644 --- a/packages/nocodb/src/models/CalendarView.ts +++ b/packages/nocodb/src/models/CalendarView.ts @@ -2,6 +2,7 @@ import type { BoolType, MetaType } from 'nocodb-sdk'; import type { CalendarType } from 'nocodb-sdk'; import View from '~/models/View'; import { extractProps } from '~/helpers/extractProps'; +import { prepareForDb, prepareForResponse } from '~/utils/modelUtils'; import NocoCache from '~/cache/NocoCache'; import Noco from '~/Noco'; import { CacheGetType, CacheScope, MetaTable } from '~/utils/globals'; @@ -85,24 +86,9 @@ export default class CalendarView implements CalendarType { body: Partial, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.CALENDAR_VIEW}:${calendarId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - const updateObj = extractProps(body, ['fk_cover_image_col_id', 'meta']); - if (updateObj.meta && typeof updateObj.meta === 'object') { - updateObj.meta = JSON.stringify(updateObj.meta ?? {}); - } - - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } - if (body.calendar_range) { - await NocoCache.del(`${CacheScope.CALENDAR_VIEW}:${calendarId}`); await ncMeta.metaDelete( null, null, @@ -112,6 +98,8 @@ export default class CalendarView implements CalendarType { fk_view_id: calendarId, }, ); + // if calendar range is updated, delete cache + await NocoCache.del(`${CacheScope.CALENDAR_VIEW}:${calendarId}`); await CalendarRange.bulkInsert( body.calendar_range.map((range) => { return { @@ -121,15 +109,24 @@ export default class CalendarView implements CalendarType { }), ); } + // update meta - return await ncMeta.metaUpdate( + const res = await ncMeta.metaUpdate( null, null, MetaTable.CALENDAR_VIEW, - updateObj, + prepareForDb(updateObj), { fk_view_id: calendarId, }, ); + + // update cache + await NocoCache.update( + `${CacheScope.CALENDAR_VIEW}:${calendarId}`, + prepareForResponse(updateObj), + ); + + return res; } } diff --git a/packages/nocodb/src/models/CalendarViewColumn.ts b/packages/nocodb/src/models/CalendarViewColumn.ts index b24efbffa4..8a0c7ee356 100644 --- a/packages/nocodb/src/models/CalendarViewColumn.ts +++ b/packages/nocodb/src/models/CalendarViewColumn.ts @@ -162,21 +162,20 @@ export default class CalendarViewColumn { 'italic', ]); - // get existing cache - const key = `${CacheScope.CALENDAR_VIEW_COLUMN}:${columnId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - Object.assign(o, updateObj); - // set cache - await NocoCache.set(key, o); - } // update meta - return await ncMeta.metaUpdate( + const res = await ncMeta.metaUpdate( null, null, MetaTable.CALENDAR_VIEW_COLUMNS, updateObj, columnId, ); + + await NocoCache.update( + `${CacheScope.CALENDAR_VIEW_COLUMN}:${columnId}`, + updateObj, + ); + + return res; } } diff --git a/packages/nocodb/src/models/Column.ts b/packages/nocodb/src/models/Column.ts index b0fa080eca..7fd0f4d06b 100644 --- a/packages/nocodb/src/models/Column.ts +++ b/packages/nocodb/src/models/Column.ts @@ -28,7 +28,11 @@ import { MetaTable, } from '~/utils/globals'; import NocoCache from '~/cache/NocoCache'; -import { parseMetaProp, stringifyMetaProp } from '~/utils/modelUtils'; +import { + parseMetaProp, + prepareForDb, + prepareForResponse, +} from '~/utils/modelUtils'; import { getFormulasReferredTheColumn } from '~/helpers/formulaHelpers'; const selectColors = [ @@ -479,13 +483,6 @@ export default class Column implements ColumnType { return this.model; } - public static async clearList({ fk_model_id }) { - await NocoCache.deepDel( - `${CacheScope.COLUMN}:${fk_model_id}:list`, - CacheDelDirection.PARENT_TO_CHILD, - ); - } - public static async list( { fk_model_id, @@ -1084,52 +1081,20 @@ export default class Column implements ColumnType { }); } - // get existing cache - const key = `${CacheScope.COLUMN}:${colId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } - - // get model column list from cache - const columnListFromCache = await NocoCache.getList(CacheScope.COLUMN, [ - oldCol.fk_model_id, - ]); - - // update column list in cache if cache exists - if (!columnListFromCache.list?.length) { - const updatedColumnList = columnListFromCache.list.map((column: any) => { - if (column.id === colId) { - return { - ...column, - ...updateObj, - }; - } - return column; - }); - await NocoCache.setList( - CacheScope.COLUMN, - [oldCol.fk_model_id], - updatedColumnList, - ); - } - // set meta await ncMeta.metaUpdate( null, null, MetaTable.COLUMNS, - { - ...updateObj, - meta: - updateObj.meta && typeof updateObj.meta === 'object' - ? JSON.stringify(updateObj.meta) - : updateObj.meta, - }, + prepareForDb(updateObj), colId, ); + + await NocoCache.update( + `${CacheScope.COLUMN}:${colId}`, + prepareForResponse(updateObj), + ); + await this.insertColOption(column, colId, ncMeta); // on column update, delete any optimised single query cache @@ -1166,15 +1131,6 @@ export default class Column implements ColumnType { { title }: { title: string }, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.COLUMN}:${colId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o.title = title; - // set cache - await NocoCache.set(key, o); - } // set meta await ncMeta.metaUpdate( null, //column.base_id || column.source_id, @@ -1186,6 +1142,8 @@ export default class Column implements ColumnType { colId, ); + await NocoCache.update(`${CacheScope.COLUMN}:${colId}`, { title }); + const column = await Column.get({ colId }, ncMeta); await View.clearSingleQueryCache(column.fk_model_id); @@ -1246,15 +1204,6 @@ export default class Column implements ColumnType { system = true, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.COLUMN}:${colId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o.system = system; - // set cache - await NocoCache.set(key, o); - } // update system field in meta db await ncMeta.metaUpdate( null, @@ -1265,6 +1214,8 @@ export default class Column implements ColumnType { }, colId, ); + + await NocoCache.update(`${CacheScope.COLUMN}:${colId}`, { system }); } static getMaxColumnNameLength(sqlClientType: string) { @@ -1284,25 +1235,19 @@ export default class Column implements ColumnType { { colId, meta }: { colId: string; meta: any }, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.COLUMN}:${colId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update meta - o.meta = meta; - // set cache - await NocoCache.set(key, o); - } // set meta await ncMeta.metaUpdate( null, null, MetaTable.COLUMNS, - { - meta: stringifyMetaProp({ meta }), - }, + prepareForDb({ meta }), colId, ); + + await NocoCache.update( + `${CacheScope.COLUMN}:${colId}`, + prepareForResponse({ meta }), + ); } static async bulkInsert( @@ -1384,10 +1329,7 @@ export default class Column implements ColumnType { true, ); - // insert column options if any - // for (const column of columns) { await Column.bulkInsertColOption(columns, ncMeta); - // } return columns; } diff --git a/packages/nocodb/src/models/Filter.ts b/packages/nocodb/src/models/Filter.ts index addb7e1605..9cb310b6a2 100644 --- a/packages/nocodb/src/models/Filter.ts +++ b/packages/nocodb/src/models/Filter.ts @@ -234,15 +234,6 @@ export default class Filter implements FilterType { if (typeof updateObj.value === 'string') updateObj.value = updateObj.value.slice(0, 255); - // get existing cache - const key = `${CacheScope.FILTER_EXP}:${id}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - // update alias - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } // set meta const res = await ncMeta.metaUpdate( null, @@ -252,6 +243,8 @@ export default class Filter implements FilterType { id, ); + await NocoCache.update(`${CacheScope.FILTER_EXP}:${id}`, updateObj); + // on update delete any optimised single query cache { const filter = await this.get(id, ncMeta); diff --git a/packages/nocodb/src/models/FormView.ts b/packages/nocodb/src/models/FormView.ts index c1bd9b5c1e..22dcbac64a 100644 --- a/packages/nocodb/src/models/FormView.ts +++ b/packages/nocodb/src/models/FormView.ts @@ -7,6 +7,7 @@ import NocoCache from '~/cache/NocoCache'; import Noco from '~/Noco'; import { deserializeJSON, serializeJSON } from '~/utils/serialize'; import { CacheGetType, CacheScope, MetaTable } from '~/utils/globals'; +import { prepareForDb, prepareForResponse } from '~/utils/modelUtils'; export default class FormView implements FormType { show: BoolType; @@ -88,9 +89,6 @@ export default class FormView implements FormType { body: Partial, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.FORM_VIEW}:${formId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); const updateObj = extractProps(body, [ 'heading', 'subheading', @@ -105,20 +103,23 @@ export default class FormView implements FormType { 'meta', ]); - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } + // update meta + const res = await ncMeta.metaUpdate( + null, + null, + MetaTable.FORM_VIEW, + prepareForDb(updateObj), + { + fk_view_id: formId, + }, + ); - if (updateObj.meta) { - updateObj.meta = serializeJSON(updateObj.meta); - } + await NocoCache.update( + `${CacheScope.FORM_VIEW}:${formId}`, + prepareForResponse(updateObj), + ); - // update meta - return await ncMeta.metaUpdate(null, null, MetaTable.FORM_VIEW, updateObj, { - fk_view_id: formId, - }); + return res; } async getColumns(ncMeta = Noco.ncMeta) { diff --git a/packages/nocodb/src/models/FormViewColumn.ts b/packages/nocodb/src/models/FormViewColumn.ts index 55e3575265..518b3cc2dc 100644 --- a/packages/nocodb/src/models/FormViewColumn.ts +++ b/packages/nocodb/src/models/FormViewColumn.ts @@ -10,6 +10,7 @@ import NocoCache from '~/cache/NocoCache'; import { extractProps } from '~/helpers/extractProps'; import { deserializeJSON, serializeJSON } from '~/utils/serialize'; import { CacheGetType, CacheScope, MetaTable } from '~/utils/globals'; +import { prepareForDb, prepareForResponse } from '~/utils/modelUtils'; export default class FormViewColumn implements FormColumnType { id?: string; @@ -168,26 +169,20 @@ export default class FormViewColumn implements FormColumnType { 'enable_scanner', ]); - // get existing cache - const key = `${CacheScope.FORM_VIEW_COLUMN}:${columnId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - Object.assign(o, updateObj); - // set cache - await NocoCache.set(key, o); - } - - if (updateObj.meta) { - updateObj.meta = serializeJSON(updateObj.meta); - } - // update meta - return await ncMeta.metaUpdate( + const res = await ncMeta.metaUpdate( null, null, MetaTable.FORM_VIEW_COLUMNS, - updateObj, + prepareForDb(updateObj), columnId, ); + + await NocoCache.update( + `${CacheScope.FORM_VIEW_COLUMN}:${columnId}`, + prepareForResponse(updateObj), + ); + + return res; } } diff --git a/packages/nocodb/src/models/FormulaColumn.ts b/packages/nocodb/src/models/FormulaColumn.ts index f073f69cd8..40ea7aa76c 100644 --- a/packages/nocodb/src/models/FormulaColumn.ts +++ b/packages/nocodb/src/models/FormulaColumn.ts @@ -74,20 +74,14 @@ export default class FormulaColumn { 'parsed_tree', ]); - // get existing cache - const key = `${CacheScope.COL_FORMULA}:${columnId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } if ('parsed_tree' in updateObj) updateObj.parsed_tree = stringifyMetaProp(updateObj, 'parsed_tree'); // set meta await ncMeta.metaUpdate(null, null, MetaTable.COL_FORMULA, updateObj, { fk_column_id: columnId, }); + + await NocoCache.update(`${CacheScope.COL_FORMULA}:${columnId}`, updateObj); } public getParsedTree() { diff --git a/packages/nocodb/src/models/GalleryView.ts b/packages/nocodb/src/models/GalleryView.ts index 76407dbfe8..d24bd481de 100644 --- a/packages/nocodb/src/models/GalleryView.ts +++ b/packages/nocodb/src/models/GalleryView.ts @@ -10,6 +10,7 @@ import Noco from '~/Noco'; import NocoCache from '~/cache/NocoCache'; import { extractProps } from '~/helpers/extractProps'; import { CacheGetType, CacheScope, MetaTable } from '~/utils/globals'; +import { prepareForDb, prepareForResponse } from '~/utils/modelUtils'; export default class GalleryView implements GalleryType { fk_view_id?: string; @@ -98,29 +99,24 @@ export default class GalleryView implements GalleryType { body: Partial, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.GALLERY_VIEW}:${galleryId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - const updateObj = extractProps(body, ['fk_cover_image_col_id', 'meta']); - if (updateObj.meta && typeof updateObj.meta === 'object') { - updateObj.meta = JSON.stringify(updateObj.meta ?? {}); - } - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } // update meta - return await ncMeta.metaUpdate( + const res = await ncMeta.metaUpdate( null, null, MetaTable.GALLERY_VIEW, - updateObj, + prepareForDb(updateObj), { fk_view_id: galleryId, }, ); + + await NocoCache.update( + `${CacheScope.GALLERY_VIEW}:${galleryId}`, + prepareForResponse(updateObj), + ); + + return res; } } diff --git a/packages/nocodb/src/models/GridView.ts b/packages/nocodb/src/models/GridView.ts index 49175e848a..de20ff83ec 100644 --- a/packages/nocodb/src/models/GridView.ts +++ b/packages/nocodb/src/models/GridView.ts @@ -5,6 +5,7 @@ import Noco from '~/Noco'; import NocoCache from '~/cache/NocoCache'; import { extractProps } from '~/helpers/extractProps'; import { CacheGetType, CacheScope, MetaTable } from '~/utils/globals'; +import { prepareForDb, prepareForResponse } from '~/utils/modelUtils'; export default class GridView implements GridType { fk_view_id: string; @@ -68,23 +69,24 @@ export default class GridView implements GridType { body: Partial, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.GRID_VIEW}:${viewId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); const updateObj = extractProps(body, ['row_height', 'meta']); - if (updateObj.meta && typeof updateObj.meta === 'object') { - updateObj.meta = JSON.stringify(updateObj.meta ?? {}); - } - - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } // update meta - return await ncMeta.metaUpdate(null, null, MetaTable.GRID_VIEW, updateObj, { - fk_view_id: viewId, - }); + const res = await ncMeta.metaUpdate( + null, + null, + MetaTable.GRID_VIEW, + prepareForDb(updateObj), + { + fk_view_id: viewId, + }, + ); + + await NocoCache.update( + `${CacheScope.GRID_VIEW}:${viewId}`, + prepareForResponse(updateObj), + ); + + return res; } } diff --git a/packages/nocodb/src/models/GridViewColumn.ts b/packages/nocodb/src/models/GridViewColumn.ts index d542cdaace..616b4d0428 100644 --- a/packages/nocodb/src/models/GridViewColumn.ts +++ b/packages/nocodb/src/models/GridViewColumn.ts @@ -140,15 +140,7 @@ export default class GridViewColumn implements GridColumnType { 'group_by_order', 'group_by_sort', ]); - // get existing cache - const key = `${CacheScope.GRID_VIEW_COLUMN}:${columnId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } + // set meta const res = await ncMeta.metaUpdate( null, @@ -158,6 +150,11 @@ export default class GridViewColumn implements GridColumnType { columnId, ); + await NocoCache.update( + `${CacheScope.GRID_VIEW_COLUMN}:${columnId}`, + updateObj, + ); + // on view column update, delete any optimised single query cache { const gridCol = await this.get(columnId, ncMeta); diff --git a/packages/nocodb/src/models/Hook.ts b/packages/nocodb/src/models/Hook.ts index 05cba37dd4..d87d37ebd6 100644 --- a/packages/nocodb/src/models/Hook.ts +++ b/packages/nocodb/src/models/Hook.ts @@ -209,20 +209,11 @@ export default class Hook implements HookType { updateObj.notification = JSON.stringify(updateObj.notification); } - // get existing cache - const key = `${CacheScope.HOOK}:${hookId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o = { ...o, ...updateObj }; - // replace notification - o.notification = updateObj.notification; - // set cache - await NocoCache.set(key, o); - } // set meta await ncMeta.metaUpdate(null, null, MetaTable.HOOKS, updateObj, hookId); + await NocoCache.update(`${CacheScope.HOOK}:${hookId}`, updateObj); + return this.get(hookId, ncMeta); } diff --git a/packages/nocodb/src/models/HookFilter.ts b/packages/nocodb/src/models/HookFilter.ts index b7f92356a1..5259be882c 100644 --- a/packages/nocodb/src/models/HookFilter.ts +++ b/packages/nocodb/src/models/HookFilter.ts @@ -152,17 +152,12 @@ export default class Filter { 'is_group', 'logical_op', ]); - // get existing cache - const key = `${CacheScope.FILTER_EXP}:${id}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - // update alias - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } + // set meta await ncMeta.metaUpdate(null, null, MetaTable.FILTER_EXP, updateObj, id); + + // update cache + await NocoCache.update(`${CacheScope.FILTER_EXP}:${id}`, updateObj); } static async delete(id: string, ncMeta = Noco.ncMeta) { diff --git a/packages/nocodb/src/models/KanbanView.ts b/packages/nocodb/src/models/KanbanView.ts index 9237e81fe6..df85f4404c 100644 --- a/packages/nocodb/src/models/KanbanView.ts +++ b/packages/nocodb/src/models/KanbanView.ts @@ -5,6 +5,7 @@ import Noco from '~/Noco'; import NocoCache from '~/cache/NocoCache'; import { extractProps } from '~/helpers/extractProps'; import { CacheGetType, CacheScope, MetaTable } from '~/utils/globals'; +import { prepareForDb, prepareForResponse } from '~/utils/modelUtils'; export default class KanbanView implements KanbanType { fk_view_id: string; @@ -39,6 +40,9 @@ export default class KanbanView implements KanbanType { view = await ncMeta.metaGet2(null, null, MetaTable.KANBAN_VIEW, { fk_view_id: viewId, }); + + view = prepareForResponse(view); + await NocoCache.set(`${CacheScope.KANBAN_VIEW}:${viewId}`, view); } @@ -99,34 +103,28 @@ export default class KanbanView implements KanbanType { body: Partial, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.KANBAN_VIEW}:${kanbanId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - const updateObj = extractProps(body, [ 'fk_cover_image_col_id', 'fk_grp_col_id', 'meta', ]); - if (updateObj.meta && typeof updateObj.meta === 'object') { - updateObj.meta = JSON.stringify(updateObj.meta ?? {}); - } - - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } // update meta - return await ncMeta.metaUpdate( + const res = await ncMeta.metaUpdate( null, null, MetaTable.KANBAN_VIEW, - updateObj, + prepareForDb(updateObj), { fk_view_id: kanbanId, }, ); + + await NocoCache.update( + `${CacheScope.KANBAN_VIEW}:${kanbanId}`, + prepareForResponse(updateObj), + ); + + return res; } } diff --git a/packages/nocodb/src/models/MapView.ts b/packages/nocodb/src/models/MapView.ts index c22cf30c86..260b7482a5 100644 --- a/packages/nocodb/src/models/MapView.ts +++ b/packages/nocodb/src/models/MapView.ts @@ -6,6 +6,7 @@ import { extractProps } from '~/helpers/extractProps'; import NocoCache from '~/cache/NocoCache'; import Noco from '~/Noco'; import { CacheGetType, CacheScope, MetaTable } from '~/utils/globals'; +import { prepareForDb, prepareForResponse } from '~/utils/modelUtils'; export default class MapView implements MapType { fk_view_id: string; @@ -70,22 +71,8 @@ export default class MapView implements MapType { body: Partial, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.MAP_VIEW}:${mapId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - const updateObj = extractProps(body, ['fk_geo_data_col_id', 'meta']); - if (updateObj.meta && typeof updateObj.meta === 'object') { - updateObj.meta = JSON.stringify(updateObj.meta ?? {}); - } - - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - } - if (body.fk_geo_data_col_id != null) { const mapViewColumns = await MapViewColumn.list(mapId); const mapViewMappedByColumn = mapViewColumns.find( @@ -98,8 +85,21 @@ export default class MapView implements MapType { } // update meta - return await ncMeta.metaUpdate(null, null, MetaTable.MAP_VIEW, updateObj, { - fk_view_id: mapId, - }); + const res = await ncMeta.metaUpdate( + null, + null, + MetaTable.MAP_VIEW, + prepareForDb(updateObj), + { + fk_view_id: mapId, + }, + ); + + await NocoCache.update( + `${CacheScope.MAP_VIEW}:${mapId}`, + prepareForResponse(updateObj), + ); + + return res; } } diff --git a/packages/nocodb/src/models/Model.ts b/packages/nocodb/src/models/Model.ts index 3a0ab05696..479c14f91f 100644 --- a/packages/nocodb/src/models/Model.ts +++ b/packages/nocodb/src/models/Model.ts @@ -26,7 +26,11 @@ import { import NocoCache from '~/cache/NocoCache'; import Noco from '~/Noco'; import { BaseModelSqlv2 } from '~/db/BaseModelSqlv2'; -import { parseMetaProp } from '~/utils/modelUtils'; +import { + parseMetaProp, + prepareForDb, + prepareForResponse, +} from '~/utils/modelUtils'; export default class Model implements TableType { copy_enabled: BoolType; @@ -641,27 +645,8 @@ export default class Model implements TableType { if (!table_name) { NcError.badRequest("Missing 'table_name' property in body"); } - // get existing cache - const key = `${CacheScope.MODEL}:${tableId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - let oldModel = { ...o }; - // update alias - if (o) { - o.title = title; - o.table_name = table_name; - // set cache - await NocoCache.set(key, o); - } else { - oldModel = await this.get(tableId); - } - // delete alias cache - await NocoCache.del([ - `${CacheScope.MODEL_ALIAS}:${oldModel.base_id}:${oldModel.id}`, - `${CacheScope.MODEL_ALIAS}:${oldModel.base_id}:${oldModel.source_id}:${oldModel.id}`, - `${CacheScope.MODEL_ALIAS}:${oldModel.base_id}:${oldModel.title}`, - `${CacheScope.MODEL_ALIAS}:${oldModel.base_id}:${oldModel.source_id}:${oldModel.title}`, - ]); + const oldModel = await this.get(tableId, ncMeta); // set meta const res = await ncMeta.metaUpdate( @@ -675,6 +660,19 @@ export default class Model implements TableType { tableId, ); + await NocoCache.update(`${CacheScope.MODEL}:${tableId}`, { + title, + table_name, + }); + + // delete alias cache + await NocoCache.del([ + `${CacheScope.MODEL_ALIAS}:${oldModel.base_id}:${oldModel.id}`, + `${CacheScope.MODEL_ALIAS}:${oldModel.base_id}:${oldModel.source_id}:${oldModel.id}`, + `${CacheScope.MODEL_ALIAS}:${oldModel.base_id}:${oldModel.title}`, + `${CacheScope.MODEL_ALIAS}:${oldModel.base_id}:${oldModel.source_id}:${oldModel.title}`, + ]); + // clear all the cached query under this model await View.clearSingleQueryCache(tableId); @@ -693,17 +691,8 @@ export default class Model implements TableType { } static async markAsMmTable(tableId, isMm = true, ncMeta = Noco.ncMeta) { - // get existing cache - const key = `${CacheScope.MODEL}:${tableId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - // update alias - if (o) { - o.mm = isMm; - // set cache - await NocoCache.set(key, o); - } // set meta - return await ncMeta.metaUpdate( + const res = await ncMeta.metaUpdate( null, null, MetaTable.MODELS, @@ -712,6 +701,12 @@ export default class Model implements TableType { }, tableId, ); + + await NocoCache.update(`${CacheScope.MODEL}:${tableId}`, { + mm: isMm, + }); + + return res; } async getAliasColMapping() { @@ -737,16 +732,8 @@ export default class Model implements TableType { order: number, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.MODEL}:${tableId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - o.order = order; - // set cache - await NocoCache.set(key, o); - } // set meta - return await ncMeta.metaUpdate( + const res = await ncMeta.metaUpdate( null, null, MetaTable.MODELS, @@ -755,6 +742,12 @@ export default class Model implements TableType { }, tableId, ); + + await NocoCache.update(`${CacheScope.MODEL}:${tableId}`, { + order, + }); + + return res; } static async updatePrimaryColumn( @@ -769,14 +762,6 @@ export default class Model implements TableType { // drop existing primary column/s for (const col of model.columns?.filter((c) => c.pv) || []) { - // get existing cache - const key = `${CacheScope.COLUMN}:${col.id}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - o.pv = false; - // set cache - await NocoCache.set(key, o); - } // set meta await ncMeta.metaUpdate( null, @@ -787,16 +772,12 @@ export default class Model implements TableType { }, col.id, ); - } - // get existing cache - const key = `${CacheScope.COLUMN}:${newPvCol.id}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - o.pv = true; - // set cache - await NocoCache.set(key, o); + await NocoCache.update(`${CacheScope.COLUMN}:${col.id}`, { + pv: false, + }); } + // set meta await ncMeta.metaUpdate( null, @@ -808,6 +789,10 @@ export default class Model implements TableType { newPvCol.id, ); + await NocoCache.update(`${CacheScope.COLUMN}:${newPvCol.id}`, { + pv: true, + }); + const grid_views_with_column = await ncMeta.metaList2( null, null, @@ -829,14 +814,6 @@ export default class Model implements TableType { } static async setAsMm(id: any, ncMeta = Noco.ncMeta) { - // get existing cache - const key = `${CacheScope.MODEL}:${id}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - o.mm = true; - // set cache - await NocoCache.set(key, o); - } // set meta await ncMeta.metaUpdate( null, @@ -847,6 +824,10 @@ export default class Model implements TableType { }, id, ); + + await NocoCache.update(`${CacheScope.MODEL}:${id}`, { + mm: true, + }); } static async getByAliasOrId( @@ -976,26 +957,25 @@ export default class Model implements TableType { meta: string | Record, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.MODEL}:${tableId}`; - const existingCache = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (existingCache) { - try { - existingCache.meta = typeof meta === 'string' ? JSON.parse(meta) : meta; - // set cache - await NocoCache.set(key, existingCache); - } catch {} - } // set meta - return await ncMeta.metaUpdate( + const res = await ncMeta.metaUpdate( null, null, MetaTable.MODELS, - { - meta: typeof meta === 'object' ? JSON.stringify(meta) : meta, - }, + prepareForDb({ + meta, + }), tableId, ); + + await NocoCache.update( + `${CacheScope.MODEL}:${tableId}`, + prepareForResponse({ + meta, + }), + ); + + return res; } static async getNonDefaultViewsCountAndReset( diff --git a/packages/nocodb/src/models/ModelRoleVisibility.ts b/packages/nocodb/src/models/ModelRoleVisibility.ts index 6ff43bd2ca..04b18e2d87 100644 --- a/packages/nocodb/src/models/ModelRoleVisibility.ts +++ b/packages/nocodb/src/models/ModelRoleVisibility.ts @@ -86,17 +86,8 @@ export default class ModelRoleVisibility implements ModelRoleVisibilityType { role: string, body: { disabled: any }, ) { - // get existing cache - const key = `${CacheScope.MODEL_ROLE_VISIBILITY}:${fk_view_id}:${role}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o.disabled = body.disabled; - // set cache - await NocoCache.set(key, o); - } // set meta - return await Noco.ncMeta.metaUpdate( + const res = await Noco.ncMeta.metaUpdate( null, null, MetaTable.MODEL_ROLE_VISIBILITY, @@ -108,6 +99,15 @@ export default class ModelRoleVisibility implements ModelRoleVisibilityType { role, }, ); + + await NocoCache.update( + `${CacheScope.MODEL_ROLE_VISIBILITY}:${fk_view_id}:${role}`, + { + disabled: body.disabled, + }, + ); + + return res; } async delete() { diff --git a/packages/nocodb/src/models/Plugin.ts b/packages/nocodb/src/models/Plugin.ts index ec825cd40e..3862a75223 100644 --- a/packages/nocodb/src/models/Plugin.ts +++ b/packages/nocodb/src/models/Plugin.ts @@ -65,16 +65,6 @@ export default class Plugin implements PluginType { updateObj.input = JSON.stringify(updateObj.input); } - // get existing cache - const key = `${CacheScope.PLUGIN}:${pluginId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - // update alias - if (o) { - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); - await NocoCache.set(`${CacheScope.PLUGIN}:${o.title}`, o); - } // set meta await Noco.ncMeta.metaUpdate( null, @@ -84,6 +74,9 @@ export default class Plugin implements PluginType { pluginId, ); + await NocoCache.update(`${CacheScope.PLUGIN}:${pluginId}`, updateObj); + await NocoCache.update(`${CacheScope.PLUGIN}:${plugin.title}`, updateObj); + return this.get(pluginId); } diff --git a/packages/nocodb/src/models/Sort.ts b/packages/nocodb/src/models/Sort.ts index 784c1d1098..efe7f22eb9 100644 --- a/packages/nocodb/src/models/Sort.ts +++ b/packages/nocodb/src/models/Sort.ts @@ -148,16 +148,6 @@ export default class Sort { } public static async update(sortId, body, ncMeta = Noco.ncMeta) { - // get existing cache - const key = `${CacheScope.SORT}:${sortId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update fk_column_id & direction - o.fk_column_id = body.fk_column_id; - o.direction = body.direction; - // set cache - await NocoCache.set(key, o); - } // set meta const res = await ncMeta.metaUpdate( null, @@ -170,6 +160,11 @@ export default class Sort { sortId, ); + await NocoCache.update(`${CacheScope.SORT}:${sortId}`, { + fk_column_id: body.fk_column_id, + direction: body.direction, + }); + // on update, delete any optimised single query cache { const sort = await this.get(sortId, ncMeta); diff --git a/packages/nocodb/src/models/Source.ts b/packages/nocodb/src/models/Source.ts index f283fd4ff1..7dd5cf7b85 100644 --- a/packages/nocodb/src/models/Source.ts +++ b/packages/nocodb/src/models/Source.ts @@ -17,7 +17,12 @@ import Noco from '~/Noco'; import { extractProps } from '~/helpers/extractProps'; import { NcError } from '~/helpers/catchError'; import NcConnectionMgrv2 from '~/utils/common/NcConnectionMgrv2'; -import { parseMetaProp, stringifyMetaProp } from '~/utils/modelUtils'; +import { + parseMetaProp, + prepareForDb, + prepareForResponse, + stringifyMetaProp, +} from '~/utils/modelUtils'; // todo: hide credentials export default class Source implements SourceType { @@ -130,10 +135,6 @@ export default class Source implements SourceType { ).toString(); } - if ('meta' in updateObj) { - updateObj.meta = stringifyMetaProp(updateObj); - } - // type property is undefined even if not provided if (!updateObj.type) { updateObj.type = oldBase.type; @@ -143,11 +144,14 @@ export default class Source implements SourceType { source.baseId, null, MetaTable.BASES, - updateObj, + prepareForDb(updateObj), oldBase.id, ); - await NocoCache.del(`${CacheScope.BASE}:${sourceId}`); + await NocoCache.update( + `${CacheScope.BASE}:${sourceId}`, + prepareForResponse(updateObj), + ); // call before reorder to update cache const returnBase = await this.get(oldBase.id, false, ncMeta); @@ -474,15 +478,7 @@ export default class Source implements SourceType { if (!this.erd_uuid) { const uuid = uuidv4(); this.erd_uuid = uuid; - // get existing cache - const key = `${CacheScope.BASE}:${this.id}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o.erd_uuid = uuid; - // set cache - await NocoCache.set(key, o); - } + // set meta await ncMeta.metaUpdate( null, @@ -493,6 +489,10 @@ export default class Source implements SourceType { }, this.id, ); + + await NocoCache.update(`${CacheScope.BASE}:${this.id}`, { + erd_uuid: this.erd_uuid, + }); } return this; } @@ -500,15 +500,7 @@ export default class Source implements SourceType { async disableShareErd(ncMeta = Noco.ncMeta) { if (this.erd_uuid) { this.erd_uuid = null; - // get existing cache - const key = `${CacheScope.BASE}:${this.id}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o.erd_uuid = null; - // set cache - await NocoCache.set(key, o); - } + // set meta await ncMeta.metaUpdate( null, @@ -519,6 +511,10 @@ export default class Source implements SourceType { }, this.id, ); + + await NocoCache.update(`${CacheScope.BASE}:${this.id}`, { + erd_uuid: this.erd_uuid, + }); } return this; } diff --git a/packages/nocodb/src/models/View.ts b/packages/nocodb/src/models/View.ts index cade561475..ef20b0c05a 100644 --- a/packages/nocodb/src/models/View.ts +++ b/packages/nocodb/src/models/View.ts @@ -26,7 +26,12 @@ import { MetaTable, } from '~/utils/globals'; import Noco from '~/Noco'; -import { parseMetaProp, stringifyMetaProp } from '~/utils/modelUtils'; +import { + parseMetaProp, + prepareForDb, + prepareForResponse, + stringifyMetaProp, +} from '~/utils/modelUtils'; const { v4: uuidv4 } = require('uuid'); @@ -797,6 +802,9 @@ export default class View implements ViewType { colData: { order?: number; show?: BoolType; + underline?: BoolType; + bold?: BoolType; + italic?: BoolType; }, ncMeta = Noco.ncMeta, ) { @@ -828,10 +836,10 @@ export default class View implements ViewType { table = MetaTable.CALENDAR_VIEW_COLUMNS; cacheScope = CacheScope.CALENDAR_VIEW_COLUMN; } - const updateObj = extractProps(colData, ['order', 'show']); + let updateObj = extractProps(colData, ['order', 'show']); // keep primary_value_column always visible and first in grid view - if (view.type === ViewTypes.GRID || view.type === ViewTypes.CALENDAR) { + if (view.type === ViewTypes.GRID) { const primary_value_column_meta = await ncMeta.metaGet2( null, null, @@ -857,19 +865,18 @@ export default class View implements ViewType { updateObj.show = true; } } - - // get existing cache - const key = `${cacheScope}:${colId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o = { ...o, ...updateObj }; - // set cache - await NocoCache.set(key, o); + if (view.type === ViewTypes.CALENDAR) { + updateObj = { + ...updateObj, + ...extractProps(colData, ['underline', 'bold', 'italic']), + }; } + // set meta const res = await ncMeta.metaUpdate(null, null, table, updateObj, colId); + await NocoCache.update(`${cacheScope}:${colId}`, updateObj); + // on view column update, delete corresponding single query cache await View.clearSingleQueryCache(view.fk_model_id, [view]); @@ -988,15 +995,7 @@ export default class View implements ViewType { if (!view.uuid) { const uuid = uuidv4(); view.uuid = uuid; - // get existing cache - const key = `${CacheScope.VIEW}:${view.id}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o.uuid = uuid; - // set cache - await NocoCache.set(key, o); - } + // set meta await ncMeta.metaUpdate( null, @@ -1007,32 +1006,35 @@ export default class View implements ViewType { }, viewId, ); + + await NocoCache.update(`${CacheScope.VIEW}:${view.id}`, { + uuid: view.uuid, + }); } if (!view.meta || !('allowCSVDownload' in view.meta)) { const defaultMeta = { ...(view.meta ?? {}), allowCSVDownload: true, }; - // get existing cache - const key = `${CacheScope.VIEW}:${view.id}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o.meta = defaultMeta; - // set cache - await NocoCache.set(key, o); - } + view.meta = defaultMeta; + // set meta await ncMeta.metaUpdate( null, null, MetaTable.VIEWS, - { - meta: JSON.stringify(defaultMeta), - }, + prepareForDb({ + meta: defaultMeta, + }), viewId, ); - view.meta = defaultMeta; + + await NocoCache.update( + `${CacheScope.VIEW}:${view.id}`, + prepareForResponse({ + meta: defaultMeta, + }), + ); } return view; } @@ -1042,15 +1044,6 @@ export default class View implements ViewType { { password }: { password: string }, ncMeta = Noco.ncMeta, ) { - // get existing cache - const key = `${CacheScope.VIEW}:${viewId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o.password = password; - // set cache - await NocoCache.set(key, o); - } // set meta await ncMeta.metaUpdate( null, @@ -1061,18 +1054,13 @@ export default class View implements ViewType { }, viewId, ); + + await NocoCache.update(`${CacheScope.VIEW}:${viewId}`, { + password, + }); } static async sharedViewDelete(viewId, ncMeta = Noco.ncMeta) { - // get existing cache - const key = `${CacheScope.VIEW}:${viewId}`; - const o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - if (o) { - // update data - o.uuid = null; - // set cache - await NocoCache.set(key, o); - } // set meta await ncMeta.metaUpdate( null, @@ -1083,6 +1071,10 @@ export default class View implements ViewType { }, viewId, ); + + await NocoCache.update(`${CacheScope.VIEW}:${viewId}`, { + uuid: null, + }); } static async update( @@ -1108,37 +1100,33 @@ export default class View implements ViewType { 'uuid', ]); - // get existing cache - const key = `${CacheScope.VIEW}:${viewId}`; - let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); - let oldView = { ...o }; - if (o) { - // update data - o = { - ...o, - ...updateObj, - }; - if (o.is_default) { - await NocoCache.set(`${CacheScope.VIEW}:${o.fk_model_id}:default`, o); - } - // set cache - await NocoCache.set(key, o); - } else { - oldView = await this.get(viewId); - } + const oldView = await this.get(viewId, ncMeta); + + // set meta + await ncMeta.metaUpdate( + null, + null, + MetaTable.VIEWS, + prepareForDb(updateObj), + viewId, + ); // reset alias cache await NocoCache.del( `${CacheScope.VIEW}:${oldView.fk_model_id}:${oldView.title}`, ); - // if meta data defined then stringify it - if ('meta' in updateObj) { - updateObj.meta = stringifyMetaProp(updateObj); - } + await NocoCache.update( + `${CacheScope.VIEW}:${viewId}`, + prepareForResponse(updateObj), + ); - // set meta - await ncMeta.metaUpdate(null, null, MetaTable.VIEWS, updateObj, viewId); + if (oldView.is_default) { + await NocoCache.update( + `${CacheScope.VIEW}:${oldView.fk_model_id}:default`, + prepareForResponse(updateObj), + ); + } const view = await this.get(viewId); @@ -1407,7 +1395,7 @@ export default class View implements ViewType { MetaTable.COLUMNS, col.fk_column_id, ); - view_columns_meta.push(col_meta); + if (col_meta) view_columns_meta.push(col_meta); } const primary_value_column_meta = view_columns_meta.find((col) => col.pv); @@ -1554,10 +1542,16 @@ export default class View implements ViewType { 'base_id', 'source_id', 'order', - 'width', - 'group_by', - 'group_by_order', - 'group_by_sort', + ...(view.type === ViewTypes.FORM + ? [ + 'label', + 'help', + 'description', + 'required', + 'enable_scanner', + 'meta', + ] + : ['width', 'group_by', 'group_by_order', 'group_by_sort']), ]), fk_view_id: view.id, base_id: view.base_id, @@ -1760,6 +1754,7 @@ export default class View implements ViewType { const copyFromView = view.copy_from_id && (await View.get(view.copy_from_id, ncMeta)); + await copyFromView?.getView(); // get base and base id if missing if (!(view.base_id && view.source_id)) { diff --git a/packages/nocodb/src/modules/auth/auth.module.ts b/packages/nocodb/src/modules/auth/auth.module.ts index 878c22abaf..df6d07283a 100644 --- a/packages/nocodb/src/modules/auth/auth.module.ts +++ b/packages/nocodb/src/modules/auth/auth.module.ts @@ -1,17 +1,12 @@ import { forwardRef, Module } from '@nestjs/common'; import { PassportModule } from '@nestjs/passport'; import { GoogleStrategyProvider } from '~/strategies/google.strategy/google.strategy'; -import { GlobalModule } from '~/modules/global/global.module'; import { UsersService } from '~/services/users/users.service'; import { AuthController } from '~/controllers/auth/auth.controller'; import { MetasModule } from '~/modules/metas/metas.module'; @Module({ - imports: [ - forwardRef(() => GlobalModule), - PassportModule, - forwardRef(() => MetasModule), - ], + imports: [PassportModule, forwardRef(() => MetasModule)], controllers: [ ...(process.env.NC_WORKER_CONTAINER !== 'true' ? [AuthController] : []), ], diff --git a/packages/nocodb/src/modules/jobs/fallback/fallback-queue.service.ts b/packages/nocodb/src/modules/jobs/fallback/fallback-queue.service.ts index 6ffd6fe796..49a52c8ad2 100644 --- a/packages/nocodb/src/modules/jobs/fallback/fallback-queue.service.ts +++ b/packages/nocodb/src/modules/jobs/fallback/fallback-queue.service.ts @@ -22,7 +22,7 @@ export class QueueService { static queueIdCounter = 1; static processed = 0; static queueMemory: Job[] = []; - static emitter = new Emittery(); + static _emitter: Emittery = new Emittery(); constructor( protected readonly jobsEventService: JobsEventService, @@ -103,8 +103,8 @@ export class QueueService { } } - get emitter() { - return QueueService.emitter; + get emitter(): Emittery { + return QueueService._emitter; } get queue() { diff --git a/packages/nocodb/src/modules/jobs/jobs.module.ts b/packages/nocodb/src/modules/jobs/jobs.module.ts index 87a61d7b42..736d0c7ddd 100644 --- a/packages/nocodb/src/modules/jobs/jobs.module.ts +++ b/packages/nocodb/src/modules/jobs/jobs.module.ts @@ -1,4 +1,4 @@ -import { forwardRef, Module } from '@nestjs/common'; +import { Module } from '@nestjs/common'; import { BullModule } from '@nestjs/bull'; // Jobs @@ -30,11 +30,9 @@ import { JobsEventService as FallbackJobsEventService } from '~/modules/jobs/fal import { JOBS_QUEUE } from '~/interface/Jobs'; import { MetasModule } from '~/modules/metas/metas.module'; import { DatasModule } from '~/modules/datas/datas.module'; -import { GlobalModule } from '~/modules/global/global.module'; export const JobsModuleMetadata = { imports: [ - forwardRef(() => GlobalModule), DatasModule, MetasModule, ...(process.env.NC_REDIS_JOB_URL diff --git a/packages/nocodb/src/modules/jobs/jobs/export-import/export.service.ts b/packages/nocodb/src/modules/jobs/jobs/export-import/export.service.ts index 967fbbf099..15b383663c 100644 --- a/packages/nocodb/src/modules/jobs/jobs/export-import/export.service.ts +++ b/packages/nocodb/src/modules/jobs/jobs/export-import/export.service.ts @@ -515,6 +515,8 @@ export class ExportService { if (hasLink) { linkStream.setEncoding('utf8'); + let streamedHeaders = false; + for (const mm of mmColumns) { if (handledMmList.includes(mm.colOptions?.fk_mm_model_id)) continue; @@ -573,8 +575,11 @@ export class ExportService { mmOffset, mmLimit, mmFields, - true, + streamedHeaders ? false : true, ); + + // avoid writing headers for same model multiple times + streamedHeaders = true; } catch (e) { this.debugLog(e); throw e; diff --git a/packages/nocodb/src/modules/jobs/jobs/export-import/import.service.ts b/packages/nocodb/src/modules/jobs/jobs/export-import/import.service.ts index a2175cb8fb..ff73a86593 100644 --- a/packages/nocodb/src/modules/jobs/jobs/export-import/import.service.ts +++ b/packages/nocodb/src/modules/jobs/jobs/export-import/import.service.ts @@ -1,5 +1,5 @@ import { isLinksOrLTAR, isVirtualCol, UITypes, ViewTypes } from 'nocodb-sdk'; -import { Injectable } from '@nestjs/common'; +import { Injectable, Logger } from '@nestjs/common'; import papaparse from 'papaparse'; import debug from 'debug'; import { elapsedTime, initTime } from '../../helpers'; @@ -44,7 +44,8 @@ import { sanitizeColumnName } from '~/helpers'; @Injectable() export class ImportService { - private readonly debugLog = debug('nc:jobs:import'); + protected readonly debugLog = debug('nc:jobs:import'); + protected readonly logger = new Logger(ImportService.name); constructor( private tablesService: TablesService, @@ -1515,7 +1516,7 @@ export class ImportService { raw: true, }); } catch (e) { - this.debugLog(e); + this.logger.error(e); } chunk = []; parser.resume(); @@ -1536,7 +1537,7 @@ export class ImportService { raw: true, }); } catch (e) { - this.debugLog(e); + this.logger.error(e); } chunk = []; } @@ -1573,7 +1574,7 @@ export class ImportService { }); lChunks[k] = []; } catch (e) { - this.debugLog(e); + this.logger.error(e); } } }; diff --git a/packages/nocodb/src/modules/metas/metas.module.ts b/packages/nocodb/src/modules/metas/metas.module.ts index fc316292bd..e7ed58663b 100644 --- a/packages/nocodb/src/modules/metas/metas.module.ts +++ b/packages/nocodb/src/modules/metas/metas.module.ts @@ -1,7 +1,6 @@ -import { forwardRef, Module } from '@nestjs/common'; +import { Module } from '@nestjs/common'; import { MulterModule } from '@nestjs/platform-express'; import multer from 'multer'; -import { GlobalModule } from '~/modules/global/global.module'; import { NC_ATTACHMENT_FIELD_SIZE } from '~/constants'; import { ApiDocsController } from '~/controllers/api-docs/api-docs.controller'; import { ApiTokensController } from '~/controllers/api-tokens.controller'; @@ -86,7 +85,6 @@ export const metaModuleMetadata = { fieldSize: NC_ATTACHMENT_FIELD_SIZE, }, }), - forwardRef(() => GlobalModule), ], controllers: [ ...(process.env.NC_WORKER_CONTAINER !== 'true' diff --git a/packages/nocodb/src/modules/users/users.module.ts b/packages/nocodb/src/modules/users/users.module.ts index 8fc5677adb..1ee14b3f2d 100644 --- a/packages/nocodb/src/modules/users/users.module.ts +++ b/packages/nocodb/src/modules/users/users.module.ts @@ -1,16 +1,11 @@ import { forwardRef, Module } from '@nestjs/common'; import { PassportModule } from '@nestjs/passport'; -import { GlobalModule } from '~/modules/global/global.module'; import { UsersService } from '~/services/users/users.service'; import { UsersController } from '~/controllers/users/users.controller'; import { MetasModule } from '~/modules/metas/metas.module'; @Module({ - imports: [ - forwardRef(() => GlobalModule), - PassportModule, - forwardRef(() => MetasModule), - ], + imports: [PassportModule, forwardRef(() => MetasModule)], controllers: [ ...(process.env.NC_WORKER_CONTAINER !== 'true' ? [UsersController] : []), ], diff --git a/packages/nocodb/src/schema/swagger-v2.json b/packages/nocodb/src/schema/swagger-v2.json index b85ee22884..47740de402 100644 --- a/packages/nocodb/src/schema/swagger-v2.json +++ b/packages/nocodb/src/schema/swagger-v2.json @@ -13024,7 +13024,7 @@ } }, "banner_image_url": { - "$ref": "#/components/schemas/TextOrNull", + "$ref": "#/components/schemas/StringOrNull", "description": "Banner Image URL. Not in use currently." }, "columns": { @@ -13067,7 +13067,7 @@ "example": "collaborative" }, "logo_url": { - "$ref": "#/components/schemas/TextOrNull", + "$ref": "#/components/schemas/StringOrNull", "description": "Logo URL. Not in use currently." }, "meta": { diff --git a/packages/nocodb/src/schema/swagger.json b/packages/nocodb/src/schema/swagger.json index a37552fea3..71f2920c9b 100644 --- a/packages/nocodb/src/schema/swagger.json +++ b/packages/nocodb/src/schema/swagger.json @@ -18772,7 +18772,7 @@ "type": "object", "properties": { "banner_image_url": { - "$ref": "#/components/schemas/TextOrNull", + "$ref": "#/components/schemas/StringOrNull", "description": "Banner Image URL. Not in use currently." }, "email": { @@ -18786,7 +18786,7 @@ "type": "string" }, "logo_url": { - "$ref": "#/components/schemas/TextOrNull", + "$ref": "#/components/schemas/StringOrNull", "description": "Logo URL. Not in use currently." }, "meta": { diff --git a/packages/nocodb/src/services/app-hooks/interfaces.ts b/packages/nocodb/src/services/app-hooks/interfaces.ts index ee2013f535..5fc492fe57 100644 --- a/packages/nocodb/src/services/app-hooks/interfaces.ts +++ b/packages/nocodb/src/services/app-hooks/interfaces.ts @@ -16,8 +16,9 @@ import type { UserType, ViewType, } from 'nocodb-sdk'; +import type { NcRequest } from '~/interface/config'; -export interface NcBaseEvent extends NcBaseEvent { +export interface NcBaseEvent { req: NcRequest; clientId?: string; } diff --git a/packages/nocodb/src/services/attachments.service.ts b/packages/nocodb/src/services/attachments.service.ts index 71f1c18532..8f4d7fd58e 100644 --- a/packages/nocodb/src/services/attachments.service.ts +++ b/packages/nocodb/src/services/attachments.service.ts @@ -12,6 +12,7 @@ import Local from '~/plugins/storage/Local'; import mimetypes, { mimeIcons } from '~/utils/mimeTypes'; import { PresignedUrl } from '~/models'; import { utf8ify } from '~/helpers/stringHelpers'; +import { NcError } from '~/helpers/catchError'; @Injectable() export class AttachmentsService { @@ -34,6 +35,10 @@ export class AttachmentsService { const attachments = []; const errors = []; + if (!param.files?.length) { + NcError.badRequest('No attachment provided!'); + } + queue.addAll( param.files?.map((file) => async () => { try { @@ -127,6 +132,10 @@ export class AttachmentsService { const attachments = []; const errors = []; + if (!param.urls?.length) { + NcError.badRequest('No attachment provided!'); + } + queue.addAll( param.urls?.map?.((urlMeta) => async () => { try { diff --git a/packages/nocodb/src/services/base-users/base-users.service.spec.ts b/packages/nocodb/src/services/base-users/base-users.service.spec.ts index bc2ab9819d..fe15c6a844 100644 --- a/packages/nocodb/src/services/base-users/base-users.service.spec.ts +++ b/packages/nocodb/src/services/base-users/base-users.service.spec.ts @@ -1,16 +1,16 @@ import { Test } from '@nestjs/testing'; -import { ProjectUsersService } from './base-users.service'; +import { BaseUsersService } from './base-users.service'; import type { TestingModule } from '@nestjs/testing'; -describe('ProjectUsersService', () => { - let service: ProjectUsersService; +describe('BaseUsersService', () => { + let service: BaseUsersService; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - providers: [ProjectUsersService], + providers: [BaseUsersService], }).compile(); - service = module.get(ProjectUsersService); + service = module.get(BaseUsersService); }); it('should be defined', () => { diff --git a/packages/nocodb/src/services/bases.service.spec.ts b/packages/nocodb/src/services/bases.service.spec.ts index 3fb27154fa..bf50406021 100644 --- a/packages/nocodb/src/services/bases.service.spec.ts +++ b/packages/nocodb/src/services/bases.service.spec.ts @@ -1,16 +1,16 @@ import { Test } from '@nestjs/testing'; -import { ProjectsService } from './bases.service'; +import { BasesService } from './bases.service'; import type { TestingModule } from '@nestjs/testing'; -describe('ProjectsService', () => { - let service: ProjectsService; +describe('BasesService', () => { + let service: BasesService; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - providers: [ProjectsService], + providers: [BasesService], }).compile(); - service = module.get(ProjectsService); + service = module.get(BasesService); }); it('should be defined', () => { diff --git a/packages/nocodb/src/services/columns.service.ts b/packages/nocodb/src/services/columns.service.ts index 33306cd326..82f3b142ca 100644 --- a/packages/nocodb/src/services/columns.service.ts +++ b/packages/nocodb/src/services/columns.service.ts @@ -2091,6 +2091,17 @@ export class ColumnsService { ProjectMgrv2.getSqlMgr({ id: source.base_id }, ncMeta), ); + /** + * @Note: When using 'falls through to default' cases in a switch statement, + * it is crucial to place them after cases with break statements. + * Additionally, include a check for column.uidt inside these 'falls through to default' cases + * to conditionally execute logic based on the value of column.uidt. + * + * This check becomes essential when there are multiple 'falls through to default' cases. + * By adding the column.uidt check, we ensure that each case has its own specific conditions. + * This prevents unintended execution of logic from subsequent cases due to fall-through, + * providing a more controlled and predictable behavior in the switch statement. + */ switch (column.uidt) { case UITypes.Lookup: case UITypes.Rollup: @@ -2099,6 +2110,14 @@ export class ColumnsService { case UITypes.Formula: await Column.delete(param.columnId, ncMeta); break; + // on deleting created/last modified columns, keep the column in table and delete the column from meta + case UITypes.CreatedTime: + case UITypes.LastModifiedTime: + case UITypes.CreatedBy: + case UITypes.LastModifiedBy: { + await Column.delete(param.columnId, ncMeta); + break; + } // Since Links is just an extended version of LTAR, we can use the same logic case UITypes.Links: case UITypes.LinkToAnotherRecord: @@ -2256,34 +2275,25 @@ export class ColumnsService { break; } case UITypes.SingleSelect: { - if (column.uidt === UITypes.SingleSelect) { - if (await KanbanView.IsColumnBeingUsedAsGroupingField(column.id)) { - NcError.badRequest( - `The column '${column.column_name}' is being used in Kanban View. Please delete Kanban View first.`, - ); - } + if (await KanbanView.IsColumnBeingUsedAsGroupingField(column.id)) { + NcError.badRequest( + `The column '${column.column_name}' is being used in Kanban View. Please delete Kanban View first.`, + ); } /* falls through to default */ } case UITypes.DateTime: case UITypes.Date: { - if (await CalendarRange.IsColumnBeingUsedAsRange(column.id, ncMeta)) { + if ( + [UITypes.DateTime, UITypes.Date].includes(column.uidt) && + (await CalendarRange.IsColumnBeingUsedAsRange(column.id, ncMeta)) + ) { NcError.badRequest( `The column '${column.column_name}' is being used in Calendar View. Please delete Calendar View first.`, ); } - break; + /* falls through to default */ } - - // on deleting created/last modified columns, keep the column in table and delete the column from meta - case UITypes.CreatedTime: - case UITypes.LastModifiedTime: - case UITypes.CreatedBy: - case UITypes.LastModifiedBy: - { - await Column.delete(param.columnId, ncMeta); - } - break; default: { const tableUpdateBody = { ...table, diff --git a/packages/nocodb/src/services/data-table.service.ts b/packages/nocodb/src/services/data-table.service.ts index a567596018..3077cb9f8f 100644 --- a/packages/nocodb/src/services/data-table.service.ts +++ b/packages/nocodb/src/services/data-table.service.ts @@ -21,15 +21,13 @@ export class DataTableService { viewId?: string; ignorePagination?: boolean; }) { - const { model, view } = await this.getModelAndView(param); - - return await this.datasService.getDataList({ - model, - view, - query: param.query, - throwErrorIfInvalidParams: true, - ignorePagination: param.ignorePagination, + const { modelId, viewId, baseId, ...rest } = param; + const { model, view } = await this.getModelAndView({ + modelId, + viewId, + baseId, }); + return await this.datasService.dataList({ ...rest, model, view }); } async dataRead(param: { diff --git a/packages/nocodb/src/services/datas.service.ts b/packages/nocodb/src/services/datas.service.ts index 07250afc22..17f3c41de4 100644 --- a/packages/nocodb/src/services/datas.service.ts +++ b/packages/nocodb/src/services/datas.service.ts @@ -20,13 +20,22 @@ export class DatasService { constructor() {} async dataList( - param: PathParams & { + param: (PathParams | { view?: View; model: Model }) & { query: any; disableOptimization?: boolean; ignorePagination?: boolean; + throwErrorIfInvalidParams?: boolean; }, ) { - const { model, view } = await getViewAndModelByAliasOrId(param); + let { model, view } = param as { view?: View; model?: Model }; + + if (!model) { + const modelAndView = await getViewAndModelByAliasOrId( + param as PathParams, + ); + model = modelAndView.model; + view = modelAndView.view; + } return await this.getDataList({ model, diff --git a/packages/nocodb/src/services/org-tokens-ee.service.spec.ts b/packages/nocodb/src/services/org-tokens-ee.service.spec.ts index 3cfcfc0956..ca1f229d4d 100644 --- a/packages/nocodb/src/services/org-tokens-ee.service.spec.ts +++ b/packages/nocodb/src/services/org-tokens-ee.service.spec.ts @@ -1,16 +1,16 @@ import { Test } from '@nestjs/testing'; -import { OrgTokensEeService } from './org-tokens.service'; +import { OrgTokensService } from './org-tokens.service'; import type { TestingModule } from '@nestjs/testing'; describe('OrgTokensService', () => { - let service: OrgTokensEeService; + let service: OrgTokensService; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - providers: [OrgTokensEeService], + providers: [OrgTokensService], }).compile(); - service = module.get(OrgTokensEeService); + service = module.get(OrgTokensService); }); it('should be defined', () => { diff --git a/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.spec.ts b/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.spec.ts index dc620b9ef7..20c7d0b131 100644 --- a/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.spec.ts +++ b/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.spec.ts @@ -1,16 +1,16 @@ import { Test } from '@nestjs/testing'; -import { AuthtokenStrategy } from './authtoken.strategy'; +import { AuthTokenStrategy } from './authtoken.strategy'; import type { TestingModule } from '@nestjs/testing'; describe('AuthtokenStrategy', () => { - let provider: AuthtokenStrategy; + let provider: AuthTokenStrategy; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - providers: [AuthtokenStrategy], + providers: [AuthTokenStrategy], }).compile(); - provider = module.get(AuthtokenStrategy); + provider = module.get(AuthTokenStrategy); }); it('should be defined', () => { diff --git a/packages/nocodb/src/strategies/google.strategy/google.strategy.ts b/packages/nocodb/src/strategies/google.strategy/google.strategy.ts index ecd43c9e66..0acc4440a6 100644 --- a/packages/nocodb/src/strategies/google.strategy/google.strategy.ts +++ b/packages/nocodb/src/strategies/google.strategy/google.strategy.ts @@ -6,6 +6,7 @@ import bcrypt from 'bcryptjs'; import type { Request } from 'express'; import type { VerifyCallback } from 'passport-google-oauth20'; import type { FactoryProvider } from '@nestjs/common/interfaces/modules/provider.interface'; +import type { NcRequest } from '~/interface/config'; import Noco from '~/Noco'; import { UsersService } from '~/services/users/users.service'; import { BaseUser, Plugin, User } from '~/models'; @@ -21,7 +22,7 @@ export class GoogleStrategy extends PassportStrategy(Strategy, 'google') { } async validate( - req: Request, + req: NcRequest, accessToken: string, refreshToken: string, profile: any, @@ -55,7 +56,7 @@ export class GoogleStrategy extends PassportStrategy(Strategy, 'google') { password: '', salt, req, - }); + } as any); return done(null, sanitiseUserObj(user)); } } catch (err) { diff --git a/packages/nocodb/src/utils/acl.ts b/packages/nocodb/src/utils/acl.ts index 0f4034a3d2..1501d27e84 100644 --- a/packages/nocodb/src/utils/acl.ts +++ b/packages/nocodb/src/utils/acl.ts @@ -70,6 +70,7 @@ const permissionScopes = { 'galleryViewGet', 'kanbanViewGet', 'gridViewUpdate', + 'formViewUpdate', 'calendarViewGet', 'groupedDataList', 'mmList', @@ -208,6 +209,7 @@ const rolePermissions: dataInsert: true, viewColumnUpdate: true, gridViewUpdate: true, + formViewUpdate: true, sortCreate: true, sortUpdate: true, sortDelete: true, diff --git a/packages/nocodb/src/utils/modelUtils.ts b/packages/nocodb/src/utils/modelUtils.ts index 9a03d8539c..62761ef2a3 100644 --- a/packages/nocodb/src/utils/modelUtils.ts +++ b/packages/nocodb/src/utils/modelUtils.ts @@ -23,3 +23,38 @@ export function stringifyMetaProp(model: any, propName = 'meta'): string { return '{}'; } } + +export function prepareForDb(model: any, props: string | string[] = 'meta') { + if (!model) return model; + + if (typeof props === 'string') { + props = [props]; + } + + props.forEach((prop) => { + if (prop in model) { + model[prop] = stringifyMetaProp(model, prop); + } + }); + + return model; +} + +export function prepareForResponse( + model: any, + props: string | string[] = 'meta', +) { + if (!model) return model; + + if (typeof props === 'string') { + props = [props]; + } + + props.forEach((prop) => { + if (prop in model) { + model[prop] = parseMetaProp(model, prop); + } + }); + + return model; +} diff --git a/packages/nocodb/tsconfig.json b/packages/nocodb/tsconfig.json index a9f79b3ffb..e406799ca1 100644 --- a/packages/nocodb/tsconfig.json +++ b/packages/nocodb/tsconfig.json @@ -26,18 +26,20 @@ "esModuleInterop": true, "paths": { "src/*": [ - "./src/*" + "src/*" ], "~/*": [ - "./src/*" + "src/*" ], "@/*": [ - "./src/*" + "src/*" ] }, "typeRoots": [ - "./src/types", - "./node_modules/@types" + "src/types", + "node_modules/@types" ] - } + }, + "include": ["src/**/*"], + "exclude": ["src/ee", "src/ee-on-prem"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eefb789db1..245c40d22a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,11 +19,11 @@ importers: specifier: ^8.0.3 version: 8.0.3 lerna: - specifier: ^7.0.2 + specifier: ^7.4.2 version: 7.4.2 xlsx: - specifier: ^0.17.4 - version: 0.17.4 + specifier: ^0.17.5 + version: 0.17.5 packages/nc-gui: dependencies: @@ -40,26 +40,26 @@ importers: specifier: ^0.5.1 version: 0.5.1(vue@3.3.13) '@tiptap/extension-link': - specifier: 2.2.1 - version: 2.2.1(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2) + specifier: 2.2.4 + version: 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) '@tiptap/extension-task-list': - specifier: 2.2.1 - version: 2.2.1(@tiptap/core@2.2.2) + specifier: 2.2.4 + version: 2.2.4(@tiptap/core@2.2.4) '@tiptap/extension-underline': - specifier: ^2.2.1 - version: 2.2.2(@tiptap/core@2.2.2) + specifier: ^2.2.4 + version: 2.2.4(@tiptap/core@2.2.4) '@tiptap/html': - specifier: 2.2.1 - version: 2.2.1(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2) + specifier: 2.2.4 + version: 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) '@tiptap/pm': - specifier: ^2.2.1 - version: 2.2.2 + specifier: ^2.2.4 + version: 2.2.4 '@tiptap/starter-kit': - specifier: ^2.2.1 - version: 2.2.2(@tiptap/pm@2.2.2) + specifier: ^2.2.4 + version: 2.2.4(@tiptap/pm@2.2.4) '@tiptap/vue-3': - specifier: 2.2.1 - version: 2.2.1(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2)(vue@3.3.13) + specifier: 2.2.4 + version: 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4)(vue@3.3.13) '@vue-flow/additional-components': specifier: ^1.3.3 version: 1.3.3(@vue-flow/core@1.31.0)(vue@3.3.13) @@ -82,8 +82,8 @@ importers: specifier: ^3.2.20 version: 3.2.20(vue@3.3.13) chart.js: - specifier: ^4.4.1 - version: 4.4.1 + specifier: ^4.4.2 + version: 4.4.2 crossoriginworker: specifier: ^1.1.0 version: 1.1.0 @@ -139,7 +139,7 @@ importers: specifier: ^0.11.0 version: 0.11.0 nocodb-sdk: - specifier: 0.204.1 + specifier: workspace:^ version: link:../nocodb-sdk papaparse: specifier: ^5.4.1 @@ -183,12 +183,15 @@ importers: validator: specifier: ^13.11.0 version: 13.11.0 + vue-advanced-cropper: + specifier: ^2.8.8 + version: 2.8.8(vue@3.3.13) vue-barcode-reader: specifier: ^1.0.3 version: 1.0.3 vue-chartjs: specifier: ^5.3.0 - version: 5.3.0(chart.js@4.4.1)(vue@3.3.13) + version: 5.3.0(chart.js@4.4.2)(vue@3.3.13) vue-dompurify-html: specifier: ^3.1.2 version: 3.1.2(vue@3.3.13) @@ -257,11 +260,11 @@ importers: specifier: ^1.1.42 version: 1.1.42 '@iconify-json/lucide': - specifier: ^1.1.165 - version: 1.1.165 + specifier: ^1.1.170 + version: 1.1.170 '@iconify-json/material-symbols': - specifier: ^1.1.72 - version: 1.1.72 + specifier: ^1.1.73 + version: 1.1.73 '@iconify-json/mdi': specifier: ^1.1.64 version: 1.1.64 @@ -272,17 +275,17 @@ importers: specifier: ^1.1.11 version: 1.1.11 '@iconify-json/ri': - specifier: ^1.1.19 - version: 1.1.19 + specifier: ^1.1.20 + version: 1.1.20 '@iconify-json/simple-icons': - specifier: ^1.1.91 - version: 1.1.91 + specifier: ^1.1.93 + version: 1.1.93 '@iconify-json/system-uicons': specifier: ^1.1.12 version: 1.1.12 '@iconify-json/tabler': - specifier: ^1.1.105 - version: 1.1.105 + specifier: ^1.1.106 + version: 1.1.106 '@iconify-json/vscode-icons': specifier: ^1.1.33 version: 1.1.33 @@ -320,8 +323,8 @@ importers: specifier: ^2.0.6 version: 2.0.6 '@types/sortablejs': - specifier: ^1.15.7 - version: 1.15.7 + specifier: ^1.15.8 + version: 1.15.8 '@types/splitpanes': specifier: ^2.2.6 version: 2.2.6 @@ -338,20 +341,20 @@ importers: specifier: ^0.0.3 version: 0.0.3 '@unocss/nuxt': - specifier: ^0.58.4 - version: 0.58.5(postcss@8.4.35)(vite@4.5.1)(webpack@5.90.1) + specifier: ^0.58.5 + version: 0.58.5(postcss@8.4.35)(vite@4.5.2)(webpack@5.90.3) '@vitest/ui': specifier: ^0.34.7 version: 0.34.7(vitest@1.2.2) '@vue/compiler-sfc': - specifier: ^3.4.15 - version: 3.4.18 + specifier: ^3.4.21 + version: 3.4.21 '@vue/test-utils': specifier: ^2.4.4 version: 2.4.4(vue@3.3.13) '@vueuse/nuxt': specifier: ^10.7.2 - version: 10.7.2(nuxt@3.10.2)(vue@3.3.13) + version: 10.7.2(nuxt@3.10.3)(vue@3.3.13) '@windicss/plugin-animations': specifier: ^1.0.9 version: 1.0.9 @@ -374,11 +377,11 @@ importers: specifier: ^6.0.4 version: 6.0.4 nuxt: - specifier: ^3.10.2 - version: 3.10.2(eslint@8.56.0)(sass@1.70.0)(vite@4.5.1) + specifier: ^3.10.3 + version: 3.10.3(eslint@8.56.0)(sass@1.70.0)(vite@4.5.2) nuxt-windicss: specifier: ^2.6.1 - version: 2.6.1(vite@4.5.1) + version: 2.6.1(vite@4.5.2) prettier: specifier: ^2.8.8 version: 2.8.8 @@ -387,10 +390,10 @@ importers: version: 1.70.0 ts-loader: specifier: ^9.5.1 - version: 9.5.1(webpack@5.90.1) + version: 9.5.1(webpack@5.90.3) unplugin-icons: - specifier: ^0.18.3 - version: 0.18.5(@vue/compiler-sfc@3.4.18) + specifier: ^0.18.5 + version: 0.18.5(@vue/compiler-sfc@3.4.21) unplugin-vue-components: specifier: ^0.26.0 version: 0.26.0(vue@3.3.13) @@ -399,7 +402,7 @@ importers: version: 1.1.0(monaco-editor@0.45.0) vite-plugin-purge-icons: specifier: ^0.10.0 - version: 0.10.0(vite@4.5.1) + version: 0.10.0(vite@4.5.2) vitest: specifier: ^1.2.2 version: 1.2.2(@vitest/ui@0.34.7)(happy-dom@6.0.4)(sass@1.70.0) @@ -432,46 +435,46 @@ importers: version: 3.1.2 '@nestjs/bull': specifier: ^10.0.1 - version: 10.0.1(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(bull@4.12.2) + version: 10.0.1(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(bull@4.12.2) '@nestjs/common': - specifier: ^10.3.1 - version: 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) + specifier: ^10.3.3 + version: 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) '@nestjs/config': specifier: ^3.1.1 - version: 3.1.1(@nestjs/common@10.3.2)(reflect-metadata@0.2.1) + version: 3.1.1(@nestjs/common@10.3.3)(reflect-metadata@0.2.1) '@nestjs/core': - specifier: ^10.3.1 - version: 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) + specifier: ^10.3.3 + version: 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) '@nestjs/event-emitter': specifier: ^2.0.4 - version: 2.0.4(@nestjs/common@10.3.2)(@nestjs/core@10.3.2) + version: 2.0.4(@nestjs/common@10.3.3)(@nestjs/core@10.3.3) '@nestjs/jwt': specifier: ^10.2.0 - version: 10.2.0(@nestjs/common@10.3.2) + version: 10.2.0(@nestjs/common@10.3.3) '@nestjs/mapped-types': specifier: ^2.0.5 - version: 2.0.5(@nestjs/common@10.3.2)(reflect-metadata@0.2.1) + version: 2.0.5(@nestjs/common@10.3.3)(reflect-metadata@0.2.1) '@nestjs/passport': specifier: ^10.0.3 - version: 10.0.3(@nestjs/common@10.3.2)(passport@0.7.0) + version: 10.0.3(@nestjs/common@10.3.3)(passport@0.7.0) '@nestjs/platform-express': - specifier: ^10.3.1 - version: 10.3.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2) + specifier: ^10.3.3 + version: 10.3.3(@nestjs/common@10.3.3)(@nestjs/core@10.3.3) '@nestjs/platform-socket.io': - specifier: ^10.3.1 - version: 10.3.2(@nestjs/common@10.3.2)(@nestjs/websockets@10.3.2)(rxjs@7.8.1) + specifier: ^10.3.3 + version: 10.3.3(@nestjs/common@10.3.3)(@nestjs/websockets@10.3.3)(rxjs@7.8.1) '@nestjs/serve-static': specifier: ^4.0.1 - version: 4.0.1(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(express@4.18.2) + version: 4.0.1(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(express@4.18.3) '@nestjs/throttler': - specifier: ^5.0.0 - version: 5.1.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(reflect-metadata@0.2.1) + specifier: ^5.1.2 + version: 5.1.2(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(reflect-metadata@0.2.1) '@nestjs/websockets': - specifier: ^10.3.1 - version: 10.3.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(@nestjs/platform-socket.io@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) + specifier: ^10.3.3 + version: 10.3.3(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(@nestjs/platform-socket.io@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) '@ntegral/nestjs-sentry': specifier: ^4.0.1 - version: 4.0.1(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(@sentry/hub@7.93.0)(@sentry/node@6.19.7)(graphql@15.8.0)(reflect-metadata@0.2.1)(rimraf@3.0.2)(rxjs@7.8.1) + version: 4.0.1(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(@sentry/hub@7.103.0)(@sentry/node@6.19.7)(graphql@15.8.0)(reflect-metadata@0.2.1)(rimraf@3.0.2)(rxjs@7.8.1) '@sentry/node': specifier: ^6.19.7 version: 6.19.7 @@ -479,8 +482,8 @@ importers: specifier: ^0.3.3 version: 0.3.3 '@types/chai': - specifier: ^4.3.11 - version: 4.3.11 + specifier: ^4.3.12 + version: 4.3.12 airtable: specifier: ^0.12.2 version: 0.12.2 @@ -566,8 +569,8 @@ importers: specifier: ^0.13.1 version: 0.13.1 express: - specifier: ^4.18.2 - version: 4.18.2 + specifier: ^4.18.3 + version: 4.18.3 extract-zip: specifier: ^2.0.1 version: 2.0.1 @@ -593,8 +596,8 @@ importers: specifier: ^4.7.8 version: 4.7.8 html-to-json-parser: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.0.1 + version: 2.0.1 import-fresh: specifier: ^3.3.0 version: 3.3.0 @@ -630,7 +633,7 @@ importers: version: 2.2.4 knex: specifier: 2.4.2 - version: 2.4.2(mysql2@3.9.1)(pg@8.11.3)(sqlite3@5.1.7)(tedious@16.6.1) + version: 2.4.2(mysql2@3.9.2)(pg@8.11.3)(sqlite3@5.1.7)(tedious@16.6.1) list-github-dir-content: specifier: ^3.0.0 version: 3.0.0 @@ -662,8 +665,8 @@ importers: specifier: ^1.4.5-lts.1 version: 1.4.5-lts.1 mysql2: - specifier: ^3.9.1 - version: 3.9.1 + specifier: ^3.9.2 + version: 3.9.2 nanoid: specifier: ^3.3.7 version: 3.3.7 @@ -683,14 +686,14 @@ importers: specifier: ^1.0.6 version: 1.0.6(debug@4.3.4)(kafkajs@2.2.4)(reflect-metadata@0.2.1) nestjs-throttler-storage-redis: - specifier: ^0.4.1 - version: 0.4.1(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(@nestjs/throttler@5.1.2)(ioredis@5.3.2)(reflect-metadata@0.2.1) + specifier: ^0.4.2 + version: 0.4.2(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(@nestjs/throttler@5.1.2)(ioredis@5.3.2)(reflect-metadata@0.2.1) nocodb-sdk: - specifier: 0.204.1 + specifier: workspace:^ version: link:../nocodb-sdk nodemailer: - specifier: ^6.9.8 - version: 6.9.8 + specifier: ^6.9.11 + version: 6.9.11 object-hash: specifier: ^3.0.0 version: 3.0.0 @@ -795,14 +798,14 @@ importers: version: 0.18.5 devDependencies: '@nestjs/cli': - specifier: ^10.3.0 + specifier: ^10.3.2 version: 10.3.2(webpack-cli@5.1.4) '@nestjs/schematics': - specifier: ^10.1.0 + specifier: ^10.1.1 version: 10.1.1(typescript@5.3.2) '@nestjs/testing': - specifier: ^10.3.1 - version: 10.3.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(@nestjs/platform-express@10.3.2) + specifier: ^10.3.3 + version: 10.3.3(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(@nestjs/platform-express@10.3.3) '@nestjsplus/dyn-schematics': specifier: ^1.0.12 version: 1.0.12 @@ -822,8 +825,8 @@ importers: specifier: ^1.4.11 version: 1.4.11 '@types/node': - specifier: 20.11.16 - version: 20.11.16 + specifier: 20.11.24 + version: 20.11.24 '@types/passport-google-oauth20': specifier: ^2.0.14 version: 2.0.14 @@ -834,17 +837,17 @@ importers: specifier: ^2.0.16 version: 2.0.16 '@typescript-eslint/eslint-plugin': - specifier: ^6.20.0 + specifier: ^6.21.0 version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.2) '@typescript-eslint/parser': - specifier: ^6.20.0 + specifier: ^6.21.0 version: 6.21.0(eslint@8.56.0)(typescript@5.3.2) chai: specifier: ^4.4.1 version: 4.4.1 copy-webpack-plugin: specifier: ^11.0.0 - version: 11.0.0(webpack@5.90.1) + version: 11.0.0(webpack@5.90.3) cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -868,9 +871,9 @@ importers: version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.56.0)(prettier@2.8.8) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.11.16)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.11.24)(ts-node@10.9.2) mocha: - specifier: ^10.2.0 + specifier: ^10.3.0 version: 10.3.0 nodemon: specifier: ^3.0.3 @@ -889,10 +892,10 @@ importers: version: 29.1.2(@babel/core@7.23.9)(jest@29.7.0)(typescript@5.3.2) ts-loader: specifier: ^9.5.1 - version: 9.5.1(typescript@5.3.2)(webpack@5.90.1) + version: 9.5.1(typescript@5.3.2)(webpack@5.90.3) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.16)(typescript@5.3.2) + version: 10.9.2(@types/node@20.11.24)(typescript@5.3.2) tsconfig-paths: specifier: ^4.2.0 version: 4.2.0 @@ -901,7 +904,7 @@ importers: version: 5.3.2 webpack-cli: specifier: ^5.1.4 - version: 5.1.4(webpack@5.90.1) + version: 5.1.4(webpack@5.90.3) packages/nocodb-sdk: dependencies: @@ -919,10 +922,10 @@ importers: specifier: ^29.5.12 version: 29.5.12 '@typescript-eslint/eslint-plugin': - specifier: ^6.20.0 + specifier: ^6.21.0 version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.2) '@typescript-eslint/parser': - specifier: ^6.20.0 + specifier: ^6.21.0 version: 6.21.0(eslint@8.56.0)(typescript@5.3.2) cspell: specifier: ^4.2.8 @@ -2666,10 +2669,10 @@ packages: '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helpers': 7.23.2 - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@babel/template': 7.22.15 '@babel/traverse': 7.23.4 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@5.5.0) gensync: 1.0.0-beta.2 @@ -2688,10 +2691,10 @@ packages: '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) '@babel/helpers': 7.23.8 - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@babel/template': 7.22.15 '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@5.5.0) gensync: 1.0.0-beta.2 @@ -2730,7 +2733,7 @@ packages: dependencies: '@babel/types': 7.23.9 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 /@babel/generator@7.23.6: @@ -2741,13 +2744,12 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 - dev: true /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-compilation-targets@7.22.15: @@ -2756,7 +2758,7 @@ packages: dependencies: '@babel/compat-data': 7.22.9 '@babel/helper-validator-option': 7.22.15 - browserslist: 4.22.2 + browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 @@ -2766,7 +2768,7 @@ packages: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 dev: true @@ -2797,8 +2799,8 @@ packages: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} @@ -2810,7 +2812,7 @@ packages: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-module-imports@7.22.15: @@ -2864,7 +2866,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-plugin-utils@7.22.5: @@ -2888,20 +2890,20 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} @@ -2924,8 +2926,8 @@ packages: resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color @@ -2934,8 +2936,8 @@ packages: resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color @@ -2960,19 +2962,12 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.6 - /@babel/parser@7.23.9: resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@babel/plugin-proposal-decorators@7.23.2(@babel/core@7.23.9): resolution: {integrity: sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==} @@ -3236,14 +3231,13 @@ packages: '@babel/code-frame': 7.23.5 '@babel/parser': 7.23.9 '@babel/types': 7.23.9 - dev: true /@babel/traverse@7.23.4: resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.4 + '@babel/generator': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 @@ -3289,23 +3283,6 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true - - /@babel/types@7.23.4: - resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - - /@babel/types@7.23.6: - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 /@babel/types@7.23.9: resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} @@ -4540,14 +4517,14 @@ packages: '@iconify/types': 2.0.0 dev: true - /@iconify-json/lucide@1.1.165: - resolution: {integrity: sha512-JkfIpIxKKpvJ2Xx7mGpUkYSpxVy3WrJTp3F/dhmX3ShxE47e90YMFfl8TyANNLSVgxSC/LMnY4I4Xh+7h34h9w==} + /@iconify-json/lucide@1.1.170: + resolution: {integrity: sha512-PRo/1IbIKE6O++XJjPUNM/+enA4sVOZLS8ykpy3ztPziNfmKgrgzx/1+fe6O6Zhy51C7RPQFkVuYPsCLiUiKFQ==} dependencies: '@iconify/types': 2.0.0 dev: true - /@iconify-json/material-symbols@1.1.72: - resolution: {integrity: sha512-5IRqdI4HSbdatHBn6NZG+O9M1pJA39IrUhoBD824dXkKKE/3OmS2aU16w1hAhnr7n/euBqclkXAeUG3rDs0l1A==} + /@iconify-json/material-symbols@1.1.73: + resolution: {integrity: sha512-3ioEMQvxUR0eWg3jCxeydowS7xlqJzUHqeKJg29Z5HN15ZBYniQhHYrDCRpmFjopgwxox9OIsoonBiBSLV4EMA==} dependencies: '@iconify/types': 2.0.0 dev: true @@ -4570,14 +4547,14 @@ packages: '@iconify/types': 2.0.0 dev: true - /@iconify-json/ri@1.1.19: - resolution: {integrity: sha512-S9usTucQOY//J3LGIGZ+A6i8AYGCStDcLKjmWzI2UPnWJo+Xd5dESMQGkhOI5BlG3W4AtH6RmiXcpbPy3krmjQ==} + /@iconify-json/ri@1.1.20: + resolution: {integrity: sha512-yScIGjLFBCJKWKskQTWRjNI2Awoq+VRDkRxEsCQvSfdz41n+xkRtFG2K6J1OVI90ClRHfjFC8VJ2+WzxxyFjTQ==} dependencies: '@iconify/types': 2.0.0 dev: true - /@iconify-json/simple-icons@1.1.91: - resolution: {integrity: sha512-hFWxeQWjCh26nObKnEm+AMB5W+bh4pXtmT3PnecS7rP2Crh0AHi5QBHPtH+6L8R6xZtBk5I2TLoA0TRzCgrF8A==} + /@iconify-json/simple-icons@1.1.93: + resolution: {integrity: sha512-rPsEIJlNZQJekCy5Qj6QHhrCJyCF0UAAql5PEz+B8iNvEn/BDyqq2zgpfxsU2KQn2NdCui8xnjZiuyTc5nwIqw==} dependencies: '@iconify/types': 2.0.0 dev: true @@ -4588,8 +4565,8 @@ packages: '@iconify/types': 2.0.0 dev: true - /@iconify-json/tabler@1.1.105: - resolution: {integrity: sha512-USJbNfa0fAHBLilxTKn70wkvFnopmfcomfpqD0ul/69uyZnonztHhyrbM8MI9Ua4eYXaPymoB7tuZ+Ionx6xfg==} + /@iconify-json/tabler@1.1.106: + resolution: {integrity: sha512-TcGGQ2nDhb2OmKsMPk3SuNxf259Rjirbvkz3gX1C8fexJmSWqR8AsH98/VMbK7VVYb2L2FIfX3QJxKpJvXEryw==} dependencies: '@iconify/types': 2.0.0 dev: true @@ -4623,7 +4600,7 @@ packages: resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} dependencies: '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.6 + '@antfu/utils': 0.7.7 '@iconify/types': 2.0.0 debug: 4.3.4(supports-color@5.5.0) kolorist: 1.8.0 @@ -4940,7 +4917,7 @@ packages: escodegen: 2.1.0 estree-walker: 2.0.2 jsonc-eslint-parser: 2.3.0 - magic-string: 0.30.5 + magic-string: 0.30.7 mlly: 1.5.0 source-map-js: 1.0.2 vue-i18n: 9.9.1(vue@3.3.13) @@ -4983,7 +4960,7 @@ packages: '@intlify/bundle-utils': 7.5.0(vue-i18n@9.9.1) '@intlify/shared': 9.9.1 '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - '@vue/compiler-sfc': 3.4.18 + '@vue/compiler-sfc': 3.4.21 debug: 4.3.4(supports-color@5.5.0) fast-glob: 3.3.2 js-yaml: 4.1.0 @@ -5038,7 +5015,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -5059,14 +5036,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.11.16)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.11.24)(ts-node@10.9.2) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -5094,7 +5071,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 jest-mock: 29.7.0 dev: true @@ -5128,7 +5105,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.11.16 + '@types/node': 20.11.24 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -5161,7 +5138,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.20 - '@types/node': 20.11.16 + '@types/node': 20.11.24 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -5249,7 +5226,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.11.16 + '@types/node': 20.11.24 '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true @@ -5291,12 +5268,6 @@ packages: /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.19: - resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - /@jridgewell/trace-mapping@0.3.20: resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} dependencies: @@ -5421,7 +5392,7 @@ packages: resolution: {integrity: sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 dev: true /@lukeed/csprng@1.1.0: @@ -5493,27 +5464,27 @@ packages: dev: false optional: true - /@nestjs/bull-shared@10.0.1(@nestjs/common@10.3.2)(@nestjs/core@10.3.2): + /@nestjs/bull-shared@10.0.1(@nestjs/common@10.3.3)(@nestjs/core@10.3.3): resolution: {integrity: sha512-8Td36l2i5x9+iQWjPB5Bd5+6u5Eangb5DclNcwrdwKqvd28xE92MSW97P4JV52C2kxrTjZwx8ck/wObAwtpQPw==} peerDependencies: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 '@nestjs/core': ^8.0.0 || ^9.0.0 || ^10.0.0 dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) tslib: 2.6.0 dev: false - /@nestjs/bull@10.0.1(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(bull@4.12.2): + /@nestjs/bull@10.0.1(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(bull@4.12.2): resolution: {integrity: sha512-1GcJ8BkHDgQdBMZ7SqAqgUHiFnISXmpGvewFeTc8wf87JLk2PweiKv9j9/KQKU+NI237pCe82XB0bXzTnsdxSw==} peerDependencies: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 '@nestjs/core': ^8.0.0 || ^9.0.0 || ^10.0.0 bull: ^3.3 || ^4.0.0 dependencies: - '@nestjs/bull-shared': 10.0.1(@nestjs/common@10.3.2)(@nestjs/core@10.3.2) - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/bull-shared': 10.0.1(@nestjs/common@10.3.3)(@nestjs/core@10.3.3) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) bull: 4.12.2 tslib: 2.6.0 dev: false @@ -5559,8 +5530,8 @@ packages: - webpack-cli dev: true - /@nestjs/common@10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1): - resolution: {integrity: sha512-yrtohmQlN5J/gFS/ui86SO+KIfUKeL39JPR3f/3AWgpz+duIfc9cGkfh7FGZQMfG9ZqXf7Zw+PRO9G+D4iEbPw==} + /@nestjs/common@10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1): + resolution: {integrity: sha512-LAkTe8/CF0uNWM0ecuDwUNTHCi1lVSITmmR4FQ6Ftz1E7ujQCnJ5pMRzd8JRN14vdBkxZZ8VbVF0BDUKoKNxMQ==} peerDependencies: class-transformer: '*' class-validator: '*' @@ -5604,13 +5575,13 @@ packages: - debug dev: false - /@nestjs/config@3.1.1(@nestjs/common@10.3.2)(reflect-metadata@0.2.1): + /@nestjs/config@3.1.1(@nestjs/common@10.3.3)(reflect-metadata@0.2.1): resolution: {integrity: sha512-qu5QlNiJdqQtOsnB6lx4JCXPQ96jkKUsOGd+JXfXwqJqZcOSAq6heNFg0opW4pq4J/VZoNwoo87TNnx9wthnqQ==} peerDependencies: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 reflect-metadata: ^0.1.13 dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) dotenv: 16.3.1 dotenv-expand: 10.0.0 lodash: 4.17.21 @@ -5618,8 +5589,8 @@ packages: uuid: 9.0.0 dev: false - /@nestjs/core@10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1): - resolution: {integrity: sha512-JW3bQvDFY1gB+xXR6E5DzCdKftRszyWtd0YyDkdlKh1+44e2IGybFhSa5HcQBOiRqdVgPqAM5Vqc81rmhgeBnQ==} + /@nestjs/core@10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1): + resolution: {integrity: sha512-kxJWggQAPX3RuZx9JVec69eSLaYLNIox2emkZJpfBJ5Qq7cAq7edQIt1r4LGjTKq6kFubNTPsqhWf5y7yFRBPw==} requiresBuild: true peerDependencies: '@nestjs/common': ^10.0.0 @@ -5636,9 +5607,9 @@ packages: '@nestjs/websockets': optional: true dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/platform-express': 10.3.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2) - '@nestjs/websockets': 10.3.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(@nestjs/platform-socket.io@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/platform-express': 10.3.3(@nestjs/common@10.3.3)(@nestjs/core@10.3.3) + '@nestjs/websockets': 10.3.3(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(@nestjs/platform-socket.io@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) '@nuxtjs/opencollective': 0.3.2 fast-safe-stringify: 2.1.1 iterare: 1.2.1 @@ -5650,18 +5621,18 @@ packages: transitivePeerDependencies: - encoding - /@nestjs/event-emitter@2.0.4(@nestjs/common@10.3.2)(@nestjs/core@10.3.2): + /@nestjs/event-emitter@2.0.4(@nestjs/common@10.3.3)(@nestjs/core@10.3.3): resolution: {integrity: sha512-quMiw8yOwoSul0pp3mOonGz8EyXWHSBTqBy8B0TbYYgpnG1Ix2wGUnuTksLWaaBiiOTDhciaZ41Y5fJZsSJE1Q==} peerDependencies: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 '@nestjs/core': ^8.0.0 || ^9.0.0 || ^10.0.0 dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) eventemitter2: 6.4.9 dev: false - /@nestjs/graphql@12.0.11(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(graphql@15.8.0)(reflect-metadata@0.2.1): + /@nestjs/graphql@12.0.11(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(graphql@15.8.0)(reflect-metadata@0.2.1): resolution: {integrity: sha512-iCyVs9+utCQt9ehMhUjQcEdjRN/MrcTBINd7P44O1fzGENuWMbt1Z8RCoZbeGi5iVPBY63HgYik+BnnICqmxZw==} requiresBuild: true peerDependencies: @@ -5686,9 +5657,9 @@ packages: '@graphql-tools/merge': 9.0.0(graphql@15.8.0) '@graphql-tools/schema': 10.0.0(graphql@15.8.0) '@graphql-tools/utils': 10.0.8(graphql@15.8.0) - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/mapped-types': 2.0.2(@nestjs/common@10.3.2)(reflect-metadata@0.2.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/mapped-types': 2.0.2(@nestjs/common@10.3.3)(reflect-metadata@0.2.1) chokidar: 3.5.3 fast-glob: 3.3.2 graphql: 15.8.0 @@ -5707,17 +5678,17 @@ packages: dev: false optional: true - /@nestjs/jwt@10.2.0(@nestjs/common@10.3.2): + /@nestjs/jwt@10.2.0(@nestjs/common@10.3.3): resolution: {integrity: sha512-x8cG90SURkEiLOehNaN2aRlotxT0KZESUliOPKKnjWiyJOcWurkF3w345WOX0P4MgFzUjGoZ1Sy0aZnxeihT0g==} peerDependencies: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) '@types/jsonwebtoken': 9.0.5 jsonwebtoken: 9.0.2 dev: false - /@nestjs/mapped-types@2.0.2(@nestjs/common@10.3.2)(reflect-metadata@0.2.1): + /@nestjs/mapped-types@2.0.2(@nestjs/common@10.3.3)(reflect-metadata@0.2.1): resolution: {integrity: sha512-V0izw6tWs6fTp9+KiiPUbGHWALy563Frn8X6Bm87ANLRuE46iuBMD5acKBDP5lKL/75QFvrzSJT7HkCbB0jTpg==} requiresBuild: true peerDependencies: @@ -5731,12 +5702,12 @@ packages: class-validator: optional: true dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) reflect-metadata: 0.2.1 dev: false optional: true - /@nestjs/mapped-types@2.0.5(@nestjs/common@10.3.2)(reflect-metadata@0.2.1): + /@nestjs/mapped-types@2.0.5(@nestjs/common@10.3.3)(reflect-metadata@0.2.1): resolution: {integrity: sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==} peerDependencies: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 @@ -5749,28 +5720,28 @@ packages: class-validator: optional: true dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) reflect-metadata: 0.2.1 dev: false - /@nestjs/passport@10.0.3(@nestjs/common@10.3.2)(passport@0.7.0): + /@nestjs/passport@10.0.3(@nestjs/common@10.3.3)(passport@0.7.0): resolution: {integrity: sha512-znJ9Y4S8ZDVY+j4doWAJ8EuuVO7SkQN3yOBmzxbGaXbvcSwFDAdGJ+OMCg52NdzIO4tQoN4pYKx8W6M0ArfFRQ==} peerDependencies: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 passport: ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) passport: 0.7.0 dev: false - /@nestjs/platform-express@10.3.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2): - resolution: {integrity: sha512-jS0uQ5VCsOezhzW6xzlWquGEaDHQ9B+JTVsuxbac+3XOPt6sbKry8HHOWyjKss9wAKo0lDRSFvpV5oQAF/yl6w==} + /@nestjs/platform-express@10.3.3(@nestjs/common@10.3.3)(@nestjs/core@10.3.3): + resolution: {integrity: sha512-GGKSEU48Os7nYFIsUM0nutuFUGn5AbeP8gzFBiBCAtiuJWrXZXpZ58pMBYxAbMf7IrcOZFInHEukjHGAQU0OZw==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) body-parser: 1.20.2 cors: 2.8.5 express: 4.18.2 @@ -5779,15 +5750,15 @@ packages: transitivePeerDependencies: - supports-color - /@nestjs/platform-socket.io@10.3.2(@nestjs/common@10.3.2)(@nestjs/websockets@10.3.2)(rxjs@7.8.1): - resolution: {integrity: sha512-BnU2tmH6cMSY6PUxen8QKmmLu7fZwe5b/IEx0kipBV9jGnidii+9VhW9sbdbZOQhrZVdGLByYEuaX7rdguq0lg==} + /@nestjs/platform-socket.io@10.3.3(@nestjs/common@10.3.3)(@nestjs/websockets@10.3.3)(rxjs@7.8.1): + resolution: {integrity: sha512-QqM9BMTdYPvXOqx3oWrv130HOtc2krPvfgqgDsPWkBLfR+TssrA5QDaTW8HSjEQAfmugvHwhEAAU4+yXRl6tKg==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/websockets': ^10.0.0 rxjs: ^7.1.0 dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/websockets': 10.3.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(@nestjs/platform-socket.io@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/websockets': 10.3.3(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(@nestjs/platform-socket.io@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) rxjs: 7.8.1 socket.io: 4.7.4 tslib: 2.6.2 @@ -5826,7 +5797,7 @@ packages: - chokidar dev: true - /@nestjs/serve-static@4.0.1(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(express@4.18.2): + /@nestjs/serve-static@4.0.1(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(express@4.18.3): resolution: {integrity: sha512-AoOrVdAe+WmsceuCcA8nWmKUYmaOsg9pqBCbIj7PS4W3XdikJQMtfxgSIoOlyUksZdhTBFjHqKh0Yhpj6pulwQ==} peerDependencies: '@fastify/static': ^6.5.0 @@ -5842,14 +5813,14 @@ packages: fastify: optional: true dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) - express: 4.18.2 + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) + express: 4.18.3 path-to-regexp: 0.2.5 dev: false - /@nestjs/testing@10.3.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(@nestjs/platform-express@10.3.2): - resolution: {integrity: sha512-jetqEPqOPuxmhBinkizmJQg4UZ2IRFrUoMrBDSgg0ogQClokKjnLgkoC5de+Jfm2kub/VpqorHB0me8cCr5jEQ==} + /@nestjs/testing@10.3.3(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(@nestjs/platform-express@10.3.3): + resolution: {integrity: sha512-kX20GfjAImL5grd/i69uD/x7sc00BaqGcP2dRG3ilqshQUuy5DOmspLCr3a2C8xmVU7kzK4spT0oTxhe6WcCAA==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 @@ -5861,26 +5832,26 @@ packages: '@nestjs/platform-express': optional: true dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/platform-express': 10.3.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/platform-express': 10.3.3(@nestjs/common@10.3.3)(@nestjs/core@10.3.3) tslib: 2.6.2 dev: true - /@nestjs/throttler@5.1.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(reflect-metadata@0.2.1): + /@nestjs/throttler@5.1.2(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(reflect-metadata@0.2.1): resolution: {integrity: sha512-60MqhSLYUqWOgc38P6C6f76JIpf6mVjly7gpuPBCKtVd0p5e8Fq855j7bJuO4/v25vgaOo1OdVs0U1qtgYioGw==} peerDependencies: '@nestjs/common': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 '@nestjs/core': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 reflect-metadata: ^0.1.13 || ^0.2.0 dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) reflect-metadata: 0.2.1 dev: false - /@nestjs/websockets@10.3.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(@nestjs/platform-socket.io@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1): - resolution: {integrity: sha512-SMQM8hcRgngOabnluRLei46JUYvZ6j3DaZ2bDNYu57G3nlmkxXNktz7/pJG07NcetZL4CyF9pNyuICZql4Nhww==} + /@nestjs/websockets@10.3.3(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(@nestjs/platform-socket.io@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1): + resolution: {integrity: sha512-cR5cB0bLS87vd0iu7Nud/4x2EH1Vs0aIgwGWd0eH/5SAw0rrDNU81PiOde+rnMXETbxvSVfOZuLRyn7/WQtGUg==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 @@ -5891,9 +5862,9 @@ packages: '@nestjs/platform-socket.io': optional: true dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/platform-socket.io': 10.3.2(@nestjs/common@10.3.2)(@nestjs/websockets@10.3.2)(rxjs@7.8.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/platform-socket.io': 10.3.3(@nestjs/common@10.3.3)(@nestjs/websockets@10.3.3)(rxjs@7.8.1) iterare: 1.2.1 object-hash: 3.0.0 reflect-metadata: 0.2.1 @@ -6092,7 +6063,7 @@ packages: - debug dev: true - /@ntegral/nestjs-sentry@4.0.1(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(@sentry/hub@7.93.0)(@sentry/node@6.19.7)(graphql@15.8.0)(reflect-metadata@0.2.1)(rimraf@3.0.2)(rxjs@7.8.1): + /@ntegral/nestjs-sentry@4.0.1(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(@sentry/hub@7.103.0)(@sentry/node@6.19.7)(graphql@15.8.0)(reflect-metadata@0.2.1)(rimraf@3.0.2)(rxjs@7.8.1): resolution: {integrity: sha512-GQUL0Bm0T+FhTNJXUbnF5mZc2u5YuvUV2H6naXxrnw8tY0b9eE/DGj+GUyHNL7V2DuHHFzsYP2c30O5FoGoYfQ==} peerDependencies: '@nestjs/common': '>=10.0.0' @@ -6103,15 +6074,15 @@ packages: rimraf: ^3.0.2 rxjs: ^7.2.0 dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@sentry/hub': 7.93.0 + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@sentry/hub': 7.103.0 '@sentry/node': 6.19.7 reflect-metadata: 0.2.1 rimraf: 3.0.2 rxjs: 7.8.1 optionalDependencies: - '@nestjs/graphql': 12.0.11(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(graphql@15.8.0)(reflect-metadata@0.2.1) + '@nestjs/graphql': 12.0.11(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(graphql@15.8.0)(reflect-metadata@0.2.1) transitivePeerDependencies: - '@apollo/subgraph' - bufferutil @@ -6126,17 +6097,17 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: true - /@nuxt/devtools-kit@1.0.8(nuxt@3.10.2)(vite@4.5.1): + /@nuxt/devtools-kit@1.0.8(nuxt@3.10.3)(vite@4.5.2): resolution: {integrity: sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==} peerDependencies: nuxt: ^3.9.0 vite: '*' dependencies: - '@nuxt/kit': 3.10.2 - '@nuxt/schema': 3.10.2 + '@nuxt/kit': 3.10.3 + '@nuxt/schema': 3.10.3 execa: 7.2.0 - nuxt: 3.10.2(eslint@8.56.0)(sass@1.70.0)(vite@4.5.1) - vite: 4.5.1(sass@1.70.0) + nuxt: 3.10.3(eslint@8.56.0)(sass@1.70.0)(vite@4.5.2) + vite: 4.5.2(sass@1.70.0) transitivePeerDependencies: - rollup - supports-color @@ -6158,7 +6129,7 @@ packages: semver: 7.6.0 dev: true - /@nuxt/devtools@1.0.8(nuxt@3.10.2)(vite@4.5.1): + /@nuxt/devtools@1.0.8(nuxt@3.10.3)(vite@4.5.2): resolution: {integrity: sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==} hasBin: true peerDependencies: @@ -6166,12 +6137,12 @@ packages: vite: '*' dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.0.8(nuxt@3.10.2)(vite@4.5.1) + '@nuxt/devtools-kit': 1.0.8(nuxt@3.10.3)(vite@4.5.2) '@nuxt/devtools-wizard': 1.0.8 - '@nuxt/kit': 3.10.2 + '@nuxt/kit': 3.10.3 birpc: 0.2.14 consola: 3.2.3 - destr: 2.0.2 + destr: 2.0.3 error-stack-parser-es: 0.1.1 execa: 7.2.0 fast-glob: 3.3.2 @@ -6183,7 +6154,7 @@ packages: launch-editor: 2.6.1 local-pkg: 0.5.0 magicast: 0.3.2 - nuxt: 3.10.2(eslint@8.56.0)(sass@1.70.0)(vite@4.5.1) + nuxt: 3.10.3(eslint@8.56.0)(sass@1.70.0)(vite@4.5.2) nypm: 0.3.6 ohash: 1.1.3 pacote: 17.0.6 @@ -6196,9 +6167,9 @@ packages: simple-git: 3.22.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.12.0) - vite: 4.5.1(sass@1.70.0) - vite-plugin-inspect: 0.8.3(@nuxt/kit@3.10.2)(vite@4.5.1) - vite-plugin-vue-inspector: 4.0.2(vite@4.5.1) + vite: 4.5.2(sass@1.70.0) + vite-plugin-inspect: 0.8.3(@nuxt/kit@3.10.3)(vite@4.5.2) + vite-plugin-vue-inspector: 4.0.2(vite@4.5.2) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -6247,10 +6218,10 @@ packages: engines: {node: ^14.18.0 || >=16.10.0} dependencies: '@nuxt/schema': 3.10.1 - c12: 1.6.1 + c12: 1.8.0 consola: 3.2.3 defu: 6.1.4 - globby: 14.0.0 + globby: 14.0.1 hash-sum: 2.0.0 ignore: 5.3.1 jiti: 1.21.0 @@ -6258,9 +6229,9 @@ packages: mlly: 1.5.0 pathe: 1.1.2 pkg-types: 1.0.3 - scule: 1.2.0 - semver: 7.5.4 - ufo: 1.3.2 + scule: 1.3.0 + semver: 7.6.0 + ufo: 1.4.0 unctx: 2.3.1 unimport: 3.7.1(rollup@4.12.0) untyped: 1.4.2 @@ -6296,6 +6267,33 @@ packages: - supports-color dev: true + /@nuxt/kit@3.10.3: + resolution: {integrity: sha512-PUjYB9Mvx0qD9H1QZBwwtY4fLlCLET+Mm9BVqUOtXCaGoXd6u6BE4e/dGFPk2UEKkIcDGrUMSbqkHYvsEuK9NQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dependencies: + '@nuxt/schema': 3.10.3 + c12: 1.9.0 + consola: 3.2.3 + defu: 6.1.4 + globby: 14.0.1 + hash-sum: 2.0.0 + ignore: 5.3.1 + jiti: 1.21.0 + knitwork: 1.0.0 + mlly: 1.6.1 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + semver: 7.6.0 + ufo: 1.4.0 + unctx: 2.3.1 + unimport: 3.7.1(rollup@4.12.0) + untyped: 1.4.2 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + /@nuxt/kit@3.4.0: resolution: {integrity: sha512-CBS1wyyGnXpmzIDINnL96WPLvTjf2IQXrgz/hSKTUWra9h/iO/crLjqcuJWpIIMS420qiRoTnHDFALAXY8ktsw==} engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} @@ -6359,9 +6357,9 @@ packages: hookable: 5.5.3 pathe: 1.1.2 pkg-types: 1.0.3 - scule: 1.2.0 + scule: 1.3.0 std-env: 3.7.0 - ufo: 1.3.2 + ufo: 1.4.0 unimport: 3.7.1(rollup@4.12.0) untyped: 1.4.2 transitivePeerDependencies: @@ -6389,6 +6387,26 @@ packages: - supports-color dev: true + /@nuxt/schema@3.10.3: + resolution: {integrity: sha512-a4cYbeskEVBPazgAhvUGkL/j7ho/iPWMK3vCEm6dRMjSqHVEITRosrj0aMfLbRrDpTrMjlRs0ZitxiaUfE/p5Q==} + engines: {node: ^14.18.0 || >=16.10.0} + dependencies: + '@nuxt/ui-templates': 1.3.1 + consola: 3.2.3 + defu: 6.1.4 + hookable: 5.5.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + std-env: 3.7.0 + ufo: 1.4.0 + unimport: 3.7.1(rollup@4.12.0) + untyped: 1.4.2 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + /@nuxt/schema@3.4.0: resolution: {integrity: sha512-i04UuprxtMaBK1qCaAupJEIkUUJDt6vyMpBTJ0aajAxehL6O6xV3xqHB5iqDBmtOWlsRL8vGM+M/E/5E+lKuPg==} engines: {node: ^14.18.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} @@ -6434,12 +6452,12 @@ packages: resolution: {integrity: sha512-Ghv2MgWbJcUM9G5Dy3oQP0cJkUwEgaiuQxEF61FXJdn0a69Q4StZEP/hLF0MWPM9m6EvAwI7orxkJHM7MrmtVg==} hasBin: true dependencies: - '@nuxt/kit': 3.10.2 + '@nuxt/kit': 3.10.3 ci-info: 4.0.0 consola: 3.2.3 create-require: 1.1.1 defu: 6.1.4 - destr: 2.0.2 + destr: 2.0.3 dotenv: 16.4.4 git-url-parse: 13.1.1 is-docker: 3.0.0 @@ -6459,16 +6477,16 @@ packages: /@nuxt/ui-templates@1.3.1: resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} - /@nuxt/vite-builder@3.10.2(eslint@8.56.0)(sass@1.70.0)(vue@3.3.13): - resolution: {integrity: sha512-FFMfcb/o2ID42QqX7LyspjG+cbibTUVMVYDNbxXviIsj0VWt5trlSL4zU81HaLn8nAgGTozMYqV5SJgT4rp/Zg==} + /@nuxt/vite-builder@3.10.3(eslint@8.56.0)(sass@1.70.0)(vue@3.3.13): + resolution: {integrity: sha512-BqkbrYkEk1AVUJleofbqTRV+ltf2p1CDjGDK78zENPCgrSABlj4F4oK8rze8vmRY5qoH7kMZxgMa2dXVXCp6OA==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: vue: 3.3.13 dependencies: - '@nuxt/kit': 3.10.2 + '@nuxt/kit': 3.10.3 '@rollup/plugin-replace': 5.0.5(rollup@4.12.0) - '@vitejs/plugin-vue': 5.0.4(vite@5.1.1)(vue@3.3.13) - '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.1.1)(vue@3.3.13) + '@vitejs/plugin-vue': 5.0.4(vite@5.1.4)(vue@3.3.13) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.1.4)(vue@3.3.13) autoprefixer: 10.4.17(postcss@8.4.35) clear: 0.1.0 consola: 3.2.3 @@ -6480,10 +6498,10 @@ packages: externality: 1.0.2 fs-extra: 11.2.0 get-port-please: 3.1.2 - h3: 1.10.1 + h3: 1.11.1 knitwork: 1.0.0 magic-string: 0.30.7 - mlly: 1.5.0 + mlly: 1.6.1 ohash: 1.1.3 pathe: 1.1.2 perfect-debounce: 1.0.0 @@ -6495,9 +6513,9 @@ packages: ufo: 1.4.0 unenv: 1.9.0 unplugin: 1.7.1 - vite: 5.1.1(sass@1.70.0) - vite-node: 1.2.2(sass@1.70.0) - vite-plugin-checker: 0.6.4(eslint@8.56.0)(vite@5.1.1) + vite: 5.1.4(sass@1.70.0) + vite-node: 1.3.1(sass@1.70.0) + vite-plugin-checker: 0.6.4(eslint@8.56.0)(vite@5.1.4) vue: 3.3.13 vue-bundle-renderer: 2.0.0 transitivePeerDependencies: @@ -6515,6 +6533,7 @@ packages: - supports-color - terser - typescript + - uWebSockets.js - vls - vti - vue-tsc @@ -6954,6 +6973,7 @@ packages: dependencies: is-glob: 4.0.3 micromatch: 4.0.5 + napi-wasm: 1.1.0 dev: true bundledDependencies: - napi-wasm @@ -7304,14 +7324,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-android-arm-eabi@4.5.0: - resolution: {integrity: sha512-OINaBGY+Wc++U0rdr7BLuFClxcoWaVW3vQYqmQq6B3bqQ/2olkaoz+K8+af/Mmka/C2yN5j+L9scBkv4BtKsDA==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-android-arm64@4.12.0: resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} cpu: [arm64] @@ -7319,14 +7331,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.5.0: - resolution: {integrity: sha512-UdMf1pOQc4ZmUA/NTmKhgJTBimbSKnhPS2zJqucqFyBRFPnPDtwA8MzrGNTjDeQbIAWfpJVAlxejw+/lQyBK/w==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-arm64@4.12.0: resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} cpu: [arm64] @@ -7334,14 +7338,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.5.0: - resolution: {integrity: sha512-L0/CA5p/idVKI+c9PcAPGorH6CwXn6+J0Ys7Gg1axCbTPgI8MeMlhA6fLM9fK+ssFhqogMHFC8HDvZuetOii7w==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-x64@4.12.0: resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} cpu: [x64] @@ -7349,14 +7345,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.5.0: - resolution: {integrity: sha512-QZCbVqU26mNlLn8zi/XDDquNmvcr4ON5FYAHQQsyhrHx8q+sQi/6xduoznYXwk/KmKIXG5dLfR0CvY+NAWpFYQ==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} cpu: [arm] @@ -7364,14 +7352,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.5.0: - resolution: {integrity: sha512-VpSQ+xm93AeV33QbYslgf44wc5eJGYfYitlQzAi3OObu9iwrGXEnmu5S3ilkqE3Pr/FkgOiJKV/2p0ewf4Hrtg==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-gnu@4.12.0: resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} cpu: [arm64] @@ -7379,14 +7359,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.5.0: - resolution: {integrity: sha512-OrEyIfpxSsMal44JpEVx9AEcGpdBQG1ZuWISAanaQTSMeStBW+oHWwOkoqR54bw3x8heP8gBOyoJiGg+fLY8qQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-musl@4.12.0: resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} cpu: [arm64] @@ -7394,14 +7366,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.5.0: - resolution: {integrity: sha512-1H7wBbQuE6igQdxMSTjtFfD+DGAudcYWhp106z/9zBA8OQhsJRnemO4XGavdzHpGhRtRxbgmUGdO3YQgrWf2RA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.0: resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} cpu: [riscv64] @@ -7416,14 +7380,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.5.0: - resolution: {integrity: sha512-FVyFI13tXw5aE65sZdBpNjPVIi4Q5mARnL/39UIkxvSgRAIqCo5sCpCELk0JtXHGee2owZz5aNLbWNfBHzr71Q==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-musl@4.12.0: resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} cpu: [x64] @@ -7431,14 +7387,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.5.0: - resolution: {integrity: sha512-eBPYl2sLpH/o8qbSz6vPwWlDyThnQjJfcDOGFbNjmjb44XKC1F5dQfakOsADRVrXCNzM6ZsSIPDG5dc6HHLNFg==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.0: resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} cpu: [arm64] @@ -7446,14 +7394,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.5.0: - resolution: {integrity: sha512-xaOHIfLOZypoQ5U2I6rEaugS4IYtTgP030xzvrBf5js7p9WI9wik07iHmsKaej8Z83ZDxN5GyypfoyKV5O5TJA==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.0: resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} cpu: [ia32] @@ -7461,14 +7401,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.5.0: - resolution: {integrity: sha512-Al6quztQUrHwcOoU2TuFblUQ5L+/AmPBXFR6dUvyo4nRj2yQRK0WIUaGMF/uwKulvRcXkpHe3k9A8Vf93VDktA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-x64-msvc@4.12.0: resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} cpu: [x64] @@ -7476,14 +7408,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.5.0: - resolution: {integrity: sha512-8kdW+brNhI/NzJ4fxDufuJUjepzINqJKLGHuxyAtpPG9bMbn8P5mtaCcbOm0EzLJ+atg+kF9dwg8jpclkVqx5w==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@sentry/core@6.19.7: resolution: {integrity: sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw==} engines: {node: '>=6'} @@ -7495,12 +7419,12 @@ packages: tslib: 1.14.1 dev: false - /@sentry/core@7.93.0: - resolution: {integrity: sha512-vZQSUiDn73n+yu2fEcH+Wpm4GbRmtxmnXnYCPgM6IjnXqkVm3awWAkzrheADblx3kmxrRiOlTXYHw9NTWs56fg==} + /@sentry/core@7.103.0: + resolution: {integrity: sha512-LCI+PIDoF/RLqN41fNXum3ilmS6ukni6L7t38vSdibbe2G0804EbPLtOIpv2PkS8E6CFuRW5zOb+8OwEAAtZWw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.93.0 - '@sentry/utils': 7.93.0 + '@sentry/types': 7.103.0 + '@sentry/utils': 7.103.0 dev: false /@sentry/hub@6.19.7: @@ -7512,13 +7436,13 @@ packages: tslib: 1.14.1 dev: false - /@sentry/hub@7.93.0: - resolution: {integrity: sha512-gfPyT3DFGYYM5d+CHiS0YJHkIJHa8MKSfl32RkCMA5KQr9RF0H+GR5LZCinQOWq43fpsncSLyuoMfBjgbMLN+w==} + /@sentry/hub@7.103.0: + resolution: {integrity: sha512-61o906jj5i2T9iUeFy/UwisLaCYt5SMU6i64w3pbFM4CJJRsufc+zcrSDfngLJMYOawlXJPa85iekBEkfpOzzQ==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.93.0 - '@sentry/types': 7.93.0 - '@sentry/utils': 7.93.0 + '@sentry/core': 7.103.0 + '@sentry/types': 7.103.0 + '@sentry/utils': 7.103.0 dev: false /@sentry/minimal@6.19.7: @@ -7551,8 +7475,8 @@ packages: engines: {node: '>=6'} dev: false - /@sentry/types@7.93.0: - resolution: {integrity: sha512-UnzUccNakhFRA/esWBWP+0v7cjNg+RilFBQC03Mv9OEMaZaS29zSbcOGtRzuFOXXLBdbr44BWADqpz3VW0XaNw==} + /@sentry/types@7.103.0: + resolution: {integrity: sha512-NCvKyx8d2AGBQKPARrJemZmZ16DiMo688OEikZg4BbvFNDUzK5Egm2BH0vfLDhbNkU19o3maJowrYo42m8r9Zw==} engines: {node: '>=8'} dev: false @@ -7564,11 +7488,11 @@ packages: tslib: 1.14.1 dev: false - /@sentry/utils@7.93.0: - resolution: {integrity: sha512-Iovj7tUnbgSkh/WrAaMrd5UuYjW7AzyzZlFDIUrwidsyIdUficjCG2OIxYzh76H6nYIx9SxewW0R54Q6XoB4uA==} + /@sentry/utils@7.103.0: + resolution: {integrity: sha512-phkUJt3F0UOkVq+M4GfdAh2ewI3ASrNiJddx9aO7GnT0aDwwVBHZltnqt95qgAB8W+BipTSt1dAh8yUbbq1Ceg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.93.0 + '@sentry/types': 7.103.0 dev: false /@sigstore/bundle@1.1.0: @@ -8639,230 +8563,230 @@ packages: resolution: {integrity: sha512-7qSgZbincDDDFyRweCIEvZULFAw5iz/DeunhvuxpL31nfntX3P4Yd4HkHBRg9H8CdqY1e5WFN1PZIz/REL9MVQ==} dev: false - /@tiptap/core@2.2.2(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-fec26LtNgYFGhKzEA9+Of+qLKIKUxDL/XZQofoPcxP71NffcmpZ+ZjAx9NjnvuYtvylUSySZiPauY6WhN3aprw==} + /@tiptap/core@2.2.4(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-cRrI8IlLIhCE1hacBQzXIC8dsRvGq6a4lYWQK/BaHuZg21CG7szp3Vd8Ix+ra1f5v0xPOT+Hy+QFNQooRMKMCw==} peerDependencies: '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/pm': 2.2.2 + '@tiptap/pm': 2.2.4 dev: false - /@tiptap/extension-blockquote@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-ENCGx/yhNdUQ0epGOeTN4HFeUSfQDK2CQBy2szkQVtzG/Vhv8ExxBWTxHJcMoeSfEVmKag4B506vfRkKH24IMA==} + /@tiptap/extension-blockquote@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-FrfPnn0VgVrUwWLwja1afX99JGLp6PE9ThVcmri+tLwUZQvTTVcCvHoCdOakav3/nge1+aV4iE3tQdyq1tWI9Q==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-bold@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-8/KLpPHwO+GXlWsXEION7ppLfFIaSpnw5m2QYXz/LGRK32hzpTavbdXV3rx9+Vu+7Z+0yQF9G/ro1z9dqTQHpw==} + /@tiptap/extension-bold@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-v3tTLc8YESFZPOGj5ByFr8VbmQ/PTo49T1vsK50VubxIN/5r9cXlKH8kb3dZlZxCxJa3FrXNO/M8rdGBSWQvSg==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-bubble-menu@2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-W3OvoHxgBdQSrlX8FXvIs5wA+eHXe/0jGsqQdwLXPtqZOSR4Ks9OLmxDk2+O8ci0KCLPb6/doJYg7j/8Ic4KRg==} + /@tiptap/extension-bubble-menu@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-Nx1fS9jcFlhxaTDYlnayz2UulhK6CMaePc36+7PQIVI+u20RhgTCRNr25zKNemvsiM0RPZZVUjlHkxC0l5as1Q==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/pm': 2.2.2 + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/pm': 2.2.4 tippy.js: 6.3.7 dev: false - /@tiptap/extension-bullet-list@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-mZznxwymWitQRHYxEN8LX7theJdQ1/O6kUsvwDyHw42+jaCsZumTHEWGckBwkxk3BWWKbrkRGv/cC78sa3cNJw==} + /@tiptap/extension-bullet-list@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-z/MPmW8bhRougMuorl6MAQBXeK4rhlP+jBWlNwT+CT8h5IkXqPnDbM1sZeagp2nYfVV6Yc4RWpzimqHHtGnYTA==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-code-block@2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-CKn4xqhpCfwkVdkj//A+LVf0hFrRkBbDx8u3KG+I7cegjXxvDSqb2OGhn/tXpFatLAE50GJiPIvqf+TmhIWBvA==} + /@tiptap/extension-code-block@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-h6WV9TmaBEZmvqe1ezMR83DhCPUap6P2mSR5pwVk0WVq6rvZjfgU0iF3EetBJOeDgPlz7cNe2NMDfVb1nGTM/g==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/pm': 2.2.2 + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/pm': 2.2.4 dev: false - /@tiptap/extension-code@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-CHMHK76fGFrY3TpsyNmPB393VvRgjnvLVOfc0Qx4KKEkntDQ1v2jg90XupLf0+H0aq0KQBHlSooW0Bh+7SxbmQ==} + /@tiptap/extension-code@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-JB4SJ2mUU/9qXFUf+K5K9szvovnN9AIcCb0f0UlcVBuddKHSqCl3wO3QJgYt44BfQTLMNuyzr+zVqfFd6BNt/g==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-document@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-eUhpYq8ErVAlxuTg5wslc96mniEQs+VN+tFmRrx9Q0n0nG/aDKUQFDgcSMpAMpHK7+h7tGc/rDq+ydpzZhFXlQ==} + /@tiptap/extension-document@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-z+05xGK0OFoXV1GL+/8bzcZuWMdMA3+EKwk5c+iziG60VZcvGTF7jBRsZidlu9Oaj0cDwWHCeeo6L9SgSh6i2A==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-dropcursor@2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-HxXEf6m+W3PnT63Ib49qAmcwmapZvmyWgq9cvB5kSfl/znQT04wBgShEigkgUBLqgcM/R/RI8NS1GQl1Zpv9iQ==} + /@tiptap/extension-dropcursor@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-IHwkEKmqpqXyJi16h7871NrcIqeyN7I6XRE2qdqi+MhGigVWI8nWHoYbjRKa7K/1uhs5zeRYyDlq5EuZyL6mgA==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/pm': 2.2.2 + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/pm': 2.2.4 dev: false - /@tiptap/extension-floating-menu@2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-DRz9kzcPt7S8s22EQC+KS/ghnHRV6j7Qequ+0kLjfLYPdqj2u4G5xTrFM7sWfzUqf2HdH8SS8Yo9WFMYm69D9w==} + /@tiptap/extension-floating-menu@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-U25l7PEzOmlAPugNRl8t8lqyhQZS6W/+3f92+FdwW9qXju3i62iX/3OGCC3Gv+vybmQ4fbZmMjvl+VDfenNi3A==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/pm': 2.2.2 + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/pm': 2.2.4 tippy.js: 6.3.7 dev: false - /@tiptap/extension-gapcursor@2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-qsE8yI9nZOLHg6XdFwn4BYMhR2f/50gppHJdsHx53575y2ci6uowMI+WjdEentl6yR9ctgV1jelHLs9ShmPzwQ==} + /@tiptap/extension-gapcursor@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-Y6htT/RDSqkQ1UwG2Ia+rNVRvxrKPOs3RbqKHPaWr3vbFWwhHyKhMCvi/FqfI3d5pViVHOZQ7jhb5hT/a0BmNw==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/pm': 2.2.2 + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/pm': 2.2.4 dev: false - /@tiptap/extension-hard-break@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-zbG6/7xyMim2fnRESIx2FiFHjdY7BXKMe+GUgLGPnRfXrJqSZhdVguBrtYGBnBFCnuSiOZZ6rFy+k5uORGSrhA==} + /@tiptap/extension-hard-break@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-FPvS57GcqHIeLbPKGJa3gnH30Xw+YB1PXXnAWG2MpnMtc2Vtj1l5xaYYBZB+ADdXLAlU0YMbKhFLQO4+pg1Isg==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-heading@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-oCd8VsLnrqJFY+lgA+5I/2EjBa4mQzB5DFLzCI460PfZnQJ2DmaNUdpY38BpHUv8E2PbBXzxxWS9h88yycW6yw==} + /@tiptap/extension-heading@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-gkq7Ns2FcrOCRq7Q+VRYt5saMt2R9g4REAtWy/jEevJ5UV5vA2AiGnYDmxwAkHutoYU0sAUkjqx37wE0wpamNw==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-history@2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-hcCEh7mP5H38ZY3YtbyyUOTNfKWAvITkJhVqjKbrRI3E+FOlG3pWPH3wz4srW5bHK38oUsiKwyP9FqC3C2Mixg==} + /@tiptap/extension-history@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-FDM32XYF5NU4mzh+fJ8w2CyUqv0l2Nl15sd6fOhQkVxSj8t57z+DUXc9ZR3zkH+1RAagYJo/2Gu3e99KpMr0tg==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/pm': 2.2.2 + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/pm': 2.2.4 dev: false - /@tiptap/extension-horizontal-rule@2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-5hun56M9elO6slOoDH03q2of06KB1rX8MLvfiKpfAvjbhmuQJav20fz2MQ2lCunek0D8mUIySwhfMvBrTcd90A==} + /@tiptap/extension-horizontal-rule@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-iCRHjFQQHApWg3R4fkKkJQhWEOdu1Fdc4YEAukdOXPSg3fg36IwjvsMXjt9SYBtVZ+iio3rORCZGXyMvgCH9uw==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/pm': 2.2.2 + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/pm': 2.2.4 dev: false - /@tiptap/extension-italic@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-l9NZK4vYqYY9Y5UskLQpdbvi0sXG4I/MuhRxPdjitK8E3SVhZxMnoNwCTkq0+I1xBjCD/jSrDMV4FqkKesrl2w==} + /@tiptap/extension-italic@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-qIhGNvWnsQswSgEMRA8jQQjxfkOGNAuNWKEVQX9DPoqAUgknT41hQcAMP8L2+OdACpb2jbVMOO5Cy5Dof2L8/w==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-link@2.2.1(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-3oh+tRFGtj3Scv3i6FBJOakX650NBI+cmemJxggaiH8PPw3+q+eZneqDQHqINcgel5/HQXFdXWSpfYsZi7EDoQ==} + /@tiptap/extension-link@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-Qsx0cFZm4dxbkToXs5TcXbSoUdicv8db1gV1DYIZdETqjBm4wFjlzCUP7hPHFlvNfeSy1BzAMRt+RpeuiwvxWQ==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/pm': 2.2.2 + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/pm': 2.2.4 linkifyjs: 4.1.3 dev: false - /@tiptap/extension-list-item@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-VuHlbhLePXvKTx55X0iIZ1EXARAoOf6lpbKJK8180jny2gpYxGhk7rwG1G8s6G6ZDST+kyVa04gncxz8F/z6oA==} + /@tiptap/extension-list-item@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-lPLKGKsHpM9ClUa8n7GEUn8pG6HCYU0vFruIy3l2t6jZdHkrgBnYtVGMZ13K8UDnj/hlAlccxku0D0P4mA1Vrg==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-ordered-list@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-TgG+mJyQB5CfeqCD65B9CLesl2IQTjc7tAKm8ZxRzF80GrCrmWNnoXi424TWmSF6cUV/4TY0G5dTkc9kB+S2tw==} + /@tiptap/extension-ordered-list@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-TpFy140O9Af1JciXt+xwqYUXxcJ6YG8zi/B5UDJujp+FH5sCmlYYBBnWxiFMhVaj6yEmA2eafu1qUkic/1X5Aw==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-paragraph@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-USTzajni/hsQXsBF0Lbw++FyPJKCDlROyaKbZi77QQoUsU2MbJIka7k4tGc0kwyTB04aAl+E6+0iS4xIhC3rug==} + /@tiptap/extension-paragraph@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-m1KwyvTNJxsq7StbspbcOhxO4Wk4YpElDbqOouWi+H4c8azdpI5Pn96ZqhFeE9bSyjByg6OcB/wqoJsLbeFWdQ==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-strike@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-0wsqiZPatw9QrK3DJ1jCMukenc8DRQtEXo4/dQjtnzNDhe7ZySed6kPpGO9A4lASG7NV7GmYZ/k5iEELr+iE6Q==} + /@tiptap/extension-strike@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-/a2EwQgA+PpG17V2tVRspcrIY0SN3blwcgM7lxdW4aucGkqSKnf7+91dkhQEwCZ//o8kv9mBCyRoCUcGy6S5Xg==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-task-list@2.2.1(@tiptap/core@2.2.2): - resolution: {integrity: sha512-hE/h7a2fYm0olWax7ywm+K10L4whyWZdlwDSTHiuE44++o+ANn4AcV/izz8/qFBbPUnf9qG0QZituzLQlTTenw==} + /@tiptap/extension-task-list@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-URh1Yzj/YZBOMkobK4/U8s1QYwIIqHm4b0YadLPPZx9IzTjyV/2bvIakphCmBtxWxeTXW5TbO9eNod3qatq21w==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-text@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-Zj53Vp/9MSQj5uiaObFaD3y7grUpMy+PfHmrK5XAZSFhRx+QpGUp+oItlKod6IJEIu8rq4dChgE7i6kT9uwWlA==} + /@tiptap/extension-text@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-NlKHMPnRJXB+0AGtDlU0P2Pg+SdesA2lMMd7JzDUgJgL7pX2jOb8eUqSeOjFKuSzFSqYfH6C3o6mQiNhuQMv+g==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/extension-underline@2.2.2(@tiptap/core@2.2.2): - resolution: {integrity: sha512-sCgbFbBU1fMWKCmDjZ6Am257kXM6ZjCV24AwbNusweieQnnD3aTXC7/iZg101sa2VshLsXozm8t2QDTyafnL+Q==} + /@tiptap/extension-underline@2.2.4(@tiptap/core@2.2.4): + resolution: {integrity: sha512-jCHgIJMwtXlGHVy/j3L8/QvglHCikkHJw7YS5yf8E/8HlPh1tZfVy/IxdgacDOpUN30X+UPJZQDdVKymafgwdA==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) dev: false - /@tiptap/html@2.2.1(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-EN4cEJImXG+wtYhWeVtpJ6F4MXn64m3Gtr+qbywdHwbDf6u/6TJ9Um2QB1YqbBYBP0QBS/pBpgBghKZeVrtB0g==} + /@tiptap/html@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-a6ORgv+X5CExUOdLVjAd4uIPPTrETLylyed/4vhaPIhe3fZKc+2oJrj87lxfUGasY4LV7Gpn+s08XM5fXyB61g==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/pm': 2.2.2 + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/pm': 2.2.4 zeed-dom: 0.10.11 dev: false - /@tiptap/pm@2.2.2: - resolution: {integrity: sha512-TcUxqevVcqLYOcbAGlmvZfOB5LL5zZmb6jxSHyevl41SRpGZLe9Jt0e1v98jS0o9GMS7nvcTK/scYQu9e0HqTA==} + /@tiptap/pm@2.2.4: + resolution: {integrity: sha512-Po0klR165zgtinhVp1nwMubjyKx6gAY9kH3IzcniYLCkqhPgiqnAcCr61TBpp4hfK8YURBS4ihvCB1dyfCyY8A==} dependencies: prosemirror-changeset: 2.2.1 prosemirror-collab: 1.3.1 @@ -8884,43 +8808,43 @@ packages: prosemirror-view: 1.32.7 dev: false - /@tiptap/starter-kit@2.2.2(@tiptap/pm@2.2.2): - resolution: {integrity: sha512-J8nbrVBggGJwO7CPEwdUqG6Q8btiQJjjnYWZEs+ImM9GMUfXJ8lyaGT0My3wDvTeq537N9BjTEcQ88pMtOqbOw==} - dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/extension-blockquote': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-bold': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-bullet-list': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-code': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-code-block': 2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2) - '@tiptap/extension-document': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-dropcursor': 2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2) - '@tiptap/extension-gapcursor': 2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2) - '@tiptap/extension-hard-break': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-heading': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-history': 2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2) - '@tiptap/extension-horizontal-rule': 2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2) - '@tiptap/extension-italic': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-list-item': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-ordered-list': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-paragraph': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-strike': 2.2.2(@tiptap/core@2.2.2) - '@tiptap/extension-text': 2.2.2(@tiptap/core@2.2.2) + /@tiptap/starter-kit@2.2.4(@tiptap/pm@2.2.4): + resolution: {integrity: sha512-Kbk7qUfIZg3+bNa3e/wBeDQt4jJB46uQgM+xy5NSY6H8NZP6gdmmap3aIrn9S/W/hGpxJl4RcXAeaT0CQji9XA==} + dependencies: + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/extension-blockquote': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-bold': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-bullet-list': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-code': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-code-block': 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) + '@tiptap/extension-document': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-dropcursor': 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) + '@tiptap/extension-gapcursor': 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) + '@tiptap/extension-hard-break': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-heading': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-history': 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) + '@tiptap/extension-horizontal-rule': 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) + '@tiptap/extension-italic': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-list-item': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-ordered-list': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-paragraph': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-strike': 2.2.4(@tiptap/core@2.2.4) + '@tiptap/extension-text': 2.2.4(@tiptap/core@2.2.4) transitivePeerDependencies: - '@tiptap/pm' dev: false - /@tiptap/vue-3@2.2.1(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2)(vue@3.3.13): - resolution: {integrity: sha512-vRYTPnpKJBrpQEjj+7WDx7AKcjNskOlHMEfgCPlwFMG6o1dwbDDtXWj9U53SyiZfitRkudb7WAbX0RyleBjdIQ==} + /@tiptap/vue-3@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4)(vue@3.3.13): + resolution: {integrity: sha512-6Rue56OUmDl/OT07QcLsH1UvYGUmV8OFSDCrLrUyku/2lAYHwHz6+KhAB5paZt70nEGIw03G1KCT074negj6NQ==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 vue: 3.3.13 dependencies: - '@tiptap/core': 2.2.2(@tiptap/pm@2.2.2) - '@tiptap/extension-bubble-menu': 2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2) - '@tiptap/extension-floating-menu': 2.2.2(@tiptap/core@2.2.2)(@tiptap/pm@2.2.2) - '@tiptap/pm': 2.2.2 + '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) + '@tiptap/extension-bubble-menu': 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) + '@tiptap/extension-floating-menu': 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) + '@tiptap/pm': 2.2.4 vue: 3.3.13 dev: false @@ -9015,27 +8939,27 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/caseless@0.12.5: resolution: {integrity: sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg==} dev: false - /@types/chai@4.3.11: - resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} + /@types/chai@4.3.12: + resolution: {integrity: sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==} dev: false /@types/concat-stream@1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/cookie@0.4.1: @@ -9048,7 +8972,7 @@ packages: /@types/cors@2.8.13: resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 /@types/d3-scale@4.0.8: resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} @@ -9081,6 +9005,13 @@ packages: '@types/estree': 1.0.5 dev: true + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + dependencies: + '@types/eslint': 8.56.5 + '@types/estree': 1.0.5 + dev: true + /@types/eslint@8.44.2: resolution: {integrity: sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==} dependencies: @@ -9088,8 +9019,12 @@ packages: '@types/json-schema': 7.0.12 dev: true - /@types/estree@1.0.1: - resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + /@types/eslint@8.56.5: + resolution: {integrity: sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==} + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + dev: true /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -9097,7 +9032,7 @@ packages: /@types/express-serve-static-core@4.17.36: resolution: {integrity: sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 @@ -9119,7 +9054,7 @@ packages: /@types/form-data@0.0.33: resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/geojson@7946.0.10: @@ -9130,13 +9065,13 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/http-errors@2.0.1: @@ -9146,13 +9081,13 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/ioredis-mock@8.2.5: resolution: {integrity: sha512-cZyuwC9LGtg7s5G9/w6rpy3IOZ6F/hFR0pQlWYZESMo1xQUYbDpa6haqB4grTePjsGzcB/YLBFCjqRunK5wieg==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 ioredis: 5.3.2 transitivePeerDependencies: - supports-color @@ -9185,6 +9120,10 @@ packages: resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} dev: true + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true @@ -9192,13 +9131,13 @@ packages: /@types/jsonwebtoken@9.0.2: resolution: {integrity: sha512-drE6uz7QBKq1fYqqoFKTDRdFCPHd5TCub75BM+D+cMx7NU9hUz7SESLfC2fSCXVFMO5Yj8sOWHuGqPgjc+fz0Q==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/jsonwebtoken@9.0.5: resolution: {integrity: sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: false /@types/leaflet.markercluster@1.5.4: @@ -9252,7 +9191,7 @@ packages: /@types/node-fetch@2.6.4: resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 form-data: 3.0.1 dev: false @@ -9264,8 +9203,8 @@ packages: resolution: {integrity: sha512-+k+57NVS9opgrEn5l9c0gvD1r6C+PtyhVE4BTnMMRwiEA8ZO8uFcs6Yy2sXIy0eC95ZurBtRSvhZiHXBysbl6w==} dev: false - /@types/node@20.11.16: - resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} dependencies: undici-types: 5.26.5 @@ -9284,7 +9223,7 @@ packages: /@types/oauth@0.9.1: resolution: {integrity: sha512-a1iY62/a3yhZ7qH7cNUsxoI3U/0Fe9+RnuFrpTKr+0WVOzbKlSLojShCKe20aOD1Sppv+i8Zlq0pLDuTJnwS4A==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/object.omit@3.0.3: @@ -9362,7 +9301,7 @@ packages: resolution: {integrity: sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==} dependencies: '@types/caseless': 0.12.5 - '@types/node': 20.11.16 + '@types/node': 20.11.24 '@types/tough-cookie': 4.0.5 form-data: 2.5.1 dev: false @@ -9379,7 +9318,7 @@ packages: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/serve-static@1.15.2: @@ -9387,15 +9326,15 @@ packages: dependencies: '@types/http-errors': 2.0.1 '@types/mime': 3.0.1 - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/showdown@2.0.6: resolution: {integrity: sha512-pTvD/0CIeqe4x23+YJWlX2gArHa8G0J0Oh6GKaVXV7TAeickpkkZiNOgFcFcmLQ5lB/K0qBJL1FtRYltBfbGCQ==} dev: true - /@types/sortablejs@1.15.7: - resolution: {integrity: sha512-PvgWCx1Lbgm88FdQ6S7OGvLIjWS66mudKPlfdrWil0TjsO5zmoZmzoKiiwRShs1dwPgrlkr0N4ewuy0/+QUXYQ==} + /@types/sortablejs@1.15.8: + resolution: {integrity: sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==} dev: true /@types/splitpanes@2.2.6: @@ -9414,7 +9353,7 @@ packages: resolution: {integrity: sha512-LOWgpacIV8GHhrsQU+QMZuomfqXiqzz3ILLkCtKx3Us6AmomFViuzKT9D693QTKgyut2oCytMG8/efOop+DB+w==} dependencies: '@types/cookiejar': 2.1.2 - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: true /@types/supertest@2.0.16: @@ -9446,7 +9385,7 @@ packages: /@types/tunnel@0.0.3: resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: false /@types/turndown@5.0.4: @@ -9486,7 +9425,7 @@ packages: resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 dev: false optional: true @@ -9566,9 +9505,9 @@ packages: debug: 4.3.4(supports-color@5.5.0) eslint: 8.56.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.5.4 + semver: 7.6.0 ts-api-utils: 1.0.2(typescript@5.3.2) typescript: 5.3.2 transitivePeerDependencies: @@ -9808,7 +9747,7 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.5.4 + semver: 7.6.0 ts-api-utils: 1.0.2(typescript@5.3.2) typescript: 5.3.2 transitivePeerDependencies: @@ -9887,7 +9826,7 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.2) eslint: 8.56.0 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript @@ -9960,7 +9899,7 @@ packages: vue: 3.3.13 dev: true - /@unocss/astro@0.58.5(vite@4.5.1): + /@unocss/astro@0.58.5(vite@4.5.2): resolution: {integrity: sha512-LtuVnj8oFAK9663OVhQO8KpdJFiOyyPsYfnOZlDCOFK3gHb/2WMrzdBwr1w8LoQF3bDedkFMKirVF7gWjyZiaw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -9970,8 +9909,8 @@ packages: dependencies: '@unocss/core': 0.58.5 '@unocss/reset': 0.58.5 - '@unocss/vite': 0.58.5(vite@4.5.1) - vite: 4.5.1(sass@1.70.0) + '@unocss/vite': 0.58.5(vite@4.5.2) + vite: 4.5.2(sass@1.70.0) transitivePeerDependencies: - rollup dev: true @@ -10025,10 +9964,10 @@ packages: sirv: 2.0.4 dev: true - /@unocss/nuxt@0.58.5(postcss@8.4.35)(vite@4.5.1)(webpack@5.90.1): + /@unocss/nuxt@0.58.5(postcss@8.4.35)(vite@4.5.2)(webpack@5.90.3): resolution: {integrity: sha512-x5iIGATNAhAGfN2w0f+ulRzmJTgu7PcJ8XAFmAx9QMKkVGnnurZEyW4IEm3Kr/EsRMhJXLtmZnsAGjC09qUh6A==} dependencies: - '@nuxt/kit': 3.10.1 + '@nuxt/kit': 3.10.2 '@unocss/config': 0.58.5 '@unocss/core': 0.58.5 '@unocss/preset-attributify': 0.58.5 @@ -10039,9 +9978,9 @@ packages: '@unocss/preset-web-fonts': 0.58.5 '@unocss/preset-wind': 0.58.5 '@unocss/reset': 0.58.5 - '@unocss/vite': 0.58.5(vite@4.5.1) - '@unocss/webpack': 0.58.5(webpack@5.90.1) - unocss: 0.58.5(@unocss/webpack@0.58.5)(postcss@8.4.35)(vite@4.5.1) + '@unocss/vite': 0.58.5(vite@4.5.2) + '@unocss/webpack': 0.58.5(webpack@5.90.3) + unocss: 0.58.5(@unocss/webpack@0.58.5)(postcss@8.4.35)(vite@4.5.2) transitivePeerDependencies: - postcss - rollup @@ -10179,7 +10118,7 @@ packages: '@unocss/core': 0.58.5 dev: true - /@unocss/vite@0.58.5(vite@4.5.1): + /@unocss/vite@0.58.5(vite@4.5.2): resolution: {integrity: sha512-p4o1XNX1rvjmoUqSSdua8XyWNg/d+YUChDd2L/xEty+6j2qv0wUaohs3UQ87vWlv632/UmgdX+2MbrgtqthCtw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -10194,12 +10133,12 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.7 - vite: 4.5.1(sass@1.70.0) + vite: 4.5.2(sass@1.70.0) transitivePeerDependencies: - rollup dev: true - /@unocss/webpack@0.58.5(webpack@5.90.1): + /@unocss/webpack@0.58.5(webpack@5.90.3): resolution: {integrity: sha512-FR17fZRZA+dHJtk7mmUUOlWuuhAxahhsQlTG0WSHh1FVDtpHGwGKDqWHrfmhFRi0XOcV+5bkVc6cp05yjfYqdA==} peerDependencies: webpack: ^4 || ^5 @@ -10212,7 +10151,7 @@ packages: fast-glob: 3.3.2 magic-string: 0.30.7 unplugin: 1.7.1 - webpack: 5.90.1(esbuild@0.20.1) + webpack: 5.90.3(esbuild@0.20.1) webpack-sources: 3.2.3 transitivePeerDependencies: - rollup @@ -10239,7 +10178,7 @@ packages: - supports-color dev: true - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.1)(vue@3.3.13): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.4)(vue@3.3.13): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -10249,20 +10188,20 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.1(sass@1.70.0) + vite: 5.1.4(sass@1.70.0) vue: 3.3.13 transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.1.1)(vue@3.3.13): + /@vitejs/plugin-vue@5.0.4(vite@5.1.4)(vue@3.3.13): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: 3.3.13 dependencies: - vite: 5.1.1(sass@1.70.0) + vite: 5.1.4(sass@1.70.0) vue: 3.3.13 dev: true @@ -10285,7 +10224,7 @@ packages: /@vitest/snapshot@1.2.2: resolution: {integrity: sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==} dependencies: - magic-string: 0.30.5 + magic-string: 0.30.7 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -10365,7 +10304,7 @@ packages: dependencies: '@babel/types': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - '@vue/compiler-sfc': 3.4.18 + '@vue/compiler-sfc': 3.4.21 ast-kit: 0.11.2 local-pkg: 0.4.3 magic-string-ast: 0.3.0 @@ -10400,16 +10339,26 @@ packages: /@vue/compiler-core@3.3.13: resolution: {integrity: sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A==} dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@vue/shared': 3.3.13 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-core@3.4.18: - resolution: {integrity: sha512-F7YK8lMK0iv6b9/Gdk15A67wM0KKZvxDxed0RR60C1z9tIJTKta+urs4j0RTN5XqHISzI3etN3mX0uHhjmoqjQ==} + /@vue/compiler-core@3.4.20: + resolution: {integrity: sha512-l7M+xUuL8hrGtRLkrf+62d9zucAdgqNBTbJ/NufCOIuJQhauhfyAKH9ra/qUctCXcULwmclGAVpvmxjbBO30qg==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.20 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-core@3.4.21: + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: '@babel/parser': 7.23.9 - '@vue/shared': 3.4.18 + '@vue/shared': 3.4.21 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 @@ -10421,17 +10370,24 @@ packages: '@vue/compiler-core': 3.3.13 '@vue/shared': 3.3.13 - /@vue/compiler-dom@3.4.18: - resolution: {integrity: sha512-24Eb8lcMfInefvQ6YlEVS18w5Q66f4+uXWVA+yb7praKbyjHRNuKVWGuinfSSjM0ZIiPi++QWukhkgznBaqpEA==} + /@vue/compiler-dom@3.4.20: + resolution: {integrity: sha512-/cSBGL79HFBYgDnqCNKErOav3bPde3n0sJwJM2Z09rXlkiowV/2SG1tgDAiWS1CatS4Cvo0o74e1vNeCK1R3RA==} + dependencies: + '@vue/compiler-core': 3.4.20 + '@vue/shared': 3.4.20 + dev: true + + /@vue/compiler-dom@3.4.21: + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} dependencies: - '@vue/compiler-core': 3.4.18 - '@vue/shared': 3.4.18 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 dev: true /@vue/compiler-sfc@3.3.13: resolution: {integrity: sha512-DQVmHEy/EKIgggvnGRLx21hSqnr1smUS9Aq8tfxiiot8UR0/pXKHN9k78/qQ7etyQTFj5em5nruODON7dBeumw==} dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@vue/compiler-core': 3.3.13 '@vue/compiler-dom': 3.3.13 '@vue/compiler-ssr': 3.3.13 @@ -10439,20 +10395,20 @@ packages: '@vue/shared': 3.3.13 estree-walker: 2.0.2 magic-string: 0.30.7 - postcss: 8.4.33 + postcss: 8.4.35 source-map-js: 1.0.2 - /@vue/compiler-sfc@3.4.18: - resolution: {integrity: sha512-rG5tqtnzwrVpMqAQ7FHtvHaV70G6LLfJIWLYZB/jZ9m/hrnZmIQh+H3ewnC5onwe/ibljm9+ZupxeElzqCkTAw==} + /@vue/compiler-sfc@3.4.21: + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} dependencies: '@babel/parser': 7.23.9 - '@vue/compiler-core': 3.4.18 - '@vue/compiler-dom': 3.4.18 - '@vue/compiler-ssr': 3.4.18 - '@vue/shared': 3.4.18 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 estree-walker: 2.0.2 magic-string: 0.30.7 - postcss: 8.4.33 + postcss: 8.4.35 source-map-js: 1.0.2 dev: true @@ -10462,20 +10418,24 @@ packages: '@vue/compiler-dom': 3.3.13 '@vue/shared': 3.3.13 - /@vue/compiler-ssr@3.4.18: - resolution: {integrity: sha512-hSlv20oUhPxo2UYUacHgGaxtqP0tvFo6ixxxD6JlXIkwzwoZ9eKK6PFQN4hNK/R13JlNyldwWt/fqGBKgWJ6nQ==} + /@vue/compiler-ssr@3.4.21: + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} dependencies: - '@vue/compiler-dom': 3.4.18 - '@vue/shared': 3.4.18 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 dev: true /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} + /@vue/devtools-api@6.6.1: + resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} + dev: true + /@vue/reactivity-transform@3.3.13: resolution: {integrity: sha512-oWnydGH0bBauhXvh5KXUy61xr9gKaMbtsMHk40IK9M4gMuKPJ342tKFarY0eQ6jef8906m35q37wwA8DMZOm5Q==} dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@vue/compiler-core': 3.3.13 '@vue/shared': 3.3.13 estree-walker: 2.0.2 @@ -10511,14 +10471,18 @@ packages: /@vue/shared@3.3.13: resolution: {integrity: sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==} - /@vue/shared@3.4.18: - resolution: {integrity: sha512-CxouGFxxaW5r1WbrSmWwck3No58rApXgRSBxrqgnY1K+jk20F6DrXJkHdH9n4HVT+/B6G2CAn213Uq3npWiy8Q==} - dev: true - /@vue/shared@3.4.19: resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} dev: true + /@vue/shared@3.4.20: + resolution: {integrity: sha512-KTEngal0aiUvNJ6I1Chk5Ew5XqChsFsxP4GKAYXWb99zKJWjNU72p2FWEOmZWHxHcqtniOJsgnpd3zizdpfEag==} + dev: true + + /@vue/shared@3.4.21: + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + dev: true + /@vue/test-utils@2.4.4(vue@3.3.13): resolution: {integrity: sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==} peerDependencies: @@ -10642,7 +10606,7 @@ packages: /@vueuse/metadata@10.7.2: resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==} - /@vueuse/nuxt@10.7.2(nuxt@3.10.2)(vue@3.3.13): + /@vueuse/nuxt@10.7.2(nuxt@3.10.3)(vue@3.3.13): resolution: {integrity: sha512-yv2hY4AiRoSqg9ELNpN6gOkDWxGuLiKE/bEbuTAAuUBhS5OeEDf5aB/kY0e/V6ZXj5XiU4LX3nE8YV8c+UKfmQ==} peerDependencies: nuxt: ^3.0.0 @@ -10651,7 +10615,7 @@ packages: '@vueuse/core': 10.7.2(vue@3.3.13) '@vueuse/metadata': 10.7.2 local-pkg: 0.5.0 - nuxt: 3.10.2(eslint@8.56.0)(sass@1.70.0)(vite@4.5.1) + nuxt: 3.10.3(eslint@8.56.0)(sass@1.70.0)(vite@4.5.2) vue-demi: 0.14.7(vue@3.3.13) transitivePeerDependencies: - '@vue/composition-api' @@ -10789,29 +10753,29 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.90.1): + /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.90.3): resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} engines: {node: '>=14.15.0'} peerDependencies: webpack: 5.x.x webpack-cli: 5.x.x dependencies: - webpack: 5.90.1(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.90.1) + webpack: 5.90.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.90.3) dev: true - /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.90.1): + /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.90.3): resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} engines: {node: '>=14.15.0'} peerDependencies: webpack: 5.x.x webpack-cli: 5.x.x dependencies: - webpack: 5.90.1(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.90.1) + webpack: 5.90.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.90.3) dev: true - /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.90.1): + /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.90.3): resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} engines: {node: '>=14.15.0'} peerDependencies: @@ -10822,8 +10786,8 @@ packages: webpack-dev-server: optional: true dependencies: - webpack: 5.90.1(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.90.1) + webpack: 5.90.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.90.3) dev: true /@windicss/config@1.9.1: @@ -10855,13 +10819,18 @@ packages: '@windicss/config': 1.9.1 debug: 4.3.4(supports-color@5.5.0) fast-glob: 3.3.2 - magic-string: 0.30.5 + magic-string: 0.30.7 micromatch: 4.0.5 windicss: 3.5.6 transitivePeerDependencies: - supports-color dev: true + /@xmldom/xmldom@0.8.10: + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} + dev: false + /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} dev: true @@ -11744,7 +11713,7 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.22.15 + '@babel/template': 7.23.9 '@babel/types': 7.23.9 '@types/babel__core': 7.20.1 '@types/babel__traverse': 7.20.1 @@ -12015,16 +11984,6 @@ packages: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} dev: true - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001588 - electron-to-chromium: 1.4.628 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) - /browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -12034,7 +11993,6 @@ packages: electron-to-chromium: 1.4.673 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: true /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -12193,6 +12151,23 @@ packages: rc9: 2.1.1 dev: true + /c12@1.9.0: + resolution: {integrity: sha512-7KTCZXdIbOA2hLRQ+1KzJ15Qp9Wn58one74dkihMVp2H6EzKTa3OYBy0BSfS1CCcmxYyqeX8L02m40zjQ+dstg==} + dependencies: + chokidar: 3.6.0 + confbox: 0.1.3 + defu: 6.1.4 + dotenv: 16.4.4 + giget: 1.2.1 + jiti: 1.21.0 + mlly: 1.6.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + dev: true + /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -12417,9 +12392,9 @@ packages: resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} dev: false - /chart.js@4.4.1: - resolution: {integrity: sha512-C74QN1bxwV1v2PEujhmKjOZ7iUM4w6BWs23Md/6aOZZSlwMzeCIDGuZay++rBgChYru7/+QFeoQW0fQoP534Dg==} - engines: {pnpm: '>=7'} + /chart.js@4.4.2: + resolution: {integrity: sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==} + engines: {pnpm: '>=8'} dependencies: '@kurkle/color': 0.3.2 dev: false @@ -12515,6 +12490,10 @@ packages: resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} dev: true + /classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + dev: false + /clean-regexp@1.0.0: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} engines: {node: '>=4'} @@ -12899,6 +12878,10 @@ packages: typedarray: 0.0.6 dev: true + /confbox@0.1.3: + resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} + dev: true + /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} dependencies: @@ -13069,7 +13052,7 @@ packages: resolution: {integrity: sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==} dev: false - /copy-webpack-plugin@11.0.0(webpack@5.90.1): + /copy-webpack-plugin@11.0.0(webpack@5.90.3): resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -13081,7 +13064,7 @@ packages: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.1 - webpack: 5.90.1(webpack-cli@5.1.4) + webpack: 5.90.3(webpack-cli@5.1.4) dev: true /core-js@3.32.1: @@ -13134,7 +13117,7 @@ packages: readable-stream: 3.6.2 dev: true - /create-jest@29.7.0(@types/node@20.11.16)(ts-node@10.9.2): + /create-jest@29.7.0(@types/node@20.11.24)(ts-node@10.9.2): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -13143,7 +13126,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.11.16)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.11.24)(ts-node@10.9.2) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -13227,6 +13210,15 @@ packages: requiresBuild: true dev: true + /crossws@0.2.4: + resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==} + peerDependencies: + uWebSockets.js: '*' + peerDependenciesMeta: + uWebSockets.js: + optional: true + dev: true + /crypt@0.0.2: resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} dev: false @@ -13614,6 +13606,10 @@ packages: resolution: {integrity: sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==} dev: false + /debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + dev: false + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -13841,6 +13837,10 @@ packages: /destr@2.0.2: resolution: {integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==} + /destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + dev: true + /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -14042,6 +14042,10 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true + /easy-bem@1.1.1: + resolution: {integrity: sha512-GJRqdiy2h+EXy6a8E6R+ubmqUM08BK0FWNq41k24fup6045biQ8NXxoXimiwegMQvFFV3t1emADdGNL1TlS61A==} + dev: false + /ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: @@ -14076,12 +14080,8 @@ packages: dependencies: jake: 10.8.7 - /electron-to-chromium@1.4.628: - resolution: {integrity: sha512-2k7t5PHvLsufpP6Zwk0nof62yLOsCf032wZx7/q0mv8gwlXjhcxI3lz6f0jBr0GrnWKcm3burXzI3t5IrcdUxw==} - /electron-to-chromium@1.4.673: resolution: {integrity: sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==} - dev: true /element-resize-detector@1.2.4: resolution: {integrity: sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg==} @@ -14163,7 +14163,7 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.13 - '@types/node': 20.11.16 + '@types/node': 20.11.24 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -14193,6 +14193,14 @@ packages: tapable: 2.2.1 dev: true + /enhanced-resolve@5.15.1: + resolution: {integrity: sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + /enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -14386,6 +14394,10 @@ packages: resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} dev: true + /es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + dev: true + /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} @@ -15257,7 +15269,7 @@ packages: /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: - '@types/estree': 1.0.1 + '@types/estree': 1.0.5 /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} @@ -15469,13 +15481,51 @@ packages: - supports-color dev: false - /express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + /express@4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + /express@4.18.3: + resolution: {integrity: sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.1 + body-parser: 1.20.2 content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.5.0 @@ -15506,6 +15556,7 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color + dev: false /extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -15531,7 +15582,7 @@ packages: resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} dependencies: enhanced-resolve: 5.15.0 - mlly: 1.5.0 + mlly: 1.6.1 pathe: 1.1.2 ufo: 1.4.0 dev: true @@ -15870,7 +15921,7 @@ packages: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.5.4 + semver: 7.6.0 tapable: 2.2.1 typescript: 5.3.3 webpack: 5.90.1(webpack-cli@5.1.4) @@ -16706,13 +16757,14 @@ packages: destr: 2.0.2 iron-webcrypto: 1.0.0 radix3: 1.1.0 - ufo: 1.3.2 + ufo: 1.4.0 uncrypto: 0.1.3 unenv: 1.9.0 dev: true /h3@1.10.1: resolution: {integrity: sha512-UBAUp47hmm4BB5/njB4LrEa9gpuvZj4/Qf/ynSMzO6Ku2RXaouxEfiG2E2IFnv6fxbhAkzjasDxmo6DFdEeXRg==} + requiresBuild: true dependencies: cookie-es: 1.0.0 defu: 6.1.4 @@ -16725,6 +16777,23 @@ packages: unenv: 1.9.0 dev: true + /h3@1.11.1: + resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} + dependencies: + cookie-es: 1.0.0 + crossws: 0.2.4 + defu: 6.1.4 + destr: 2.0.3 + iron-webcrypto: 1.0.0 + ohash: 1.1.3 + radix3: 1.1.0 + ufo: 1.4.0 + uncrypto: 0.1.3 + unenv: 1.9.0 + transitivePeerDependencies: + - uWebSockets.js + dev: true + /h3@1.8.1: resolution: {integrity: sha512-m5rFuu+5bpwBBHqqS0zexjK+Q8dhtFRvO9JXQG0RvSPL6QrIT6vv42vuBM22SLOgGMoZYsHk0y7VPidt9s+nkw==} dependencies: @@ -16937,10 +17006,10 @@ packages: engines: {node: '>=8'} dev: true - /html-to-json-parser@2.0.0: - resolution: {integrity: sha512-x83te6MTtOGupRk0ljjWsDaBTq5VoyWWUT6yOZJFTrbLa59fWSXIlK4F3H3Pgtsa8OBf8cgBTg92nN3aUazVGA==} + /html-to-json-parser@2.0.1: + resolution: {integrity: sha512-M5m9PnTRbIQCSpj13mecIUThKgWnxDhjEYCjo2PgadXUbYhvJsjY/tyf5AeJDnw0/UPRVAh85VzCxH1bXEX9rw==} dependencies: - xmldom: 0.6.0 + '@xmldom/xmldom': 0.8.10 dev: false /htmlparser2@8.0.2: @@ -17956,8 +18025,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.23.7 - '@babel/parser': 7.23.6 + '@babel/core': 7.23.9 + '@babel/parser': 7.23.9 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -17969,8 +18038,8 @@ packages: resolution: {integrity: sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.23.7 - '@babel/parser': 7.23.6 + '@babel/core': 7.23.9 + '@babel/parser': 7.23.9 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 7.6.0 @@ -18067,7 +18136,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 @@ -18088,7 +18157,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.11.16)(ts-node@10.9.2): + /jest-cli@29.7.0(@types/node@20.11.24)(ts-node@10.9.2): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -18102,10 +18171,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.11.16)(ts-node@10.9.2) + create-jest: 29.7.0(@types/node@20.11.24)(ts-node@10.9.2) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.11.16)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.11.24)(ts-node@10.9.2) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -18116,7 +18185,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@20.11.16)(ts-node@10.9.2): + /jest-config@29.7.0(@types/node@20.11.24)(ts-node@10.9.2): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -18131,7 +18200,7 @@ packages: '@babel/core': 7.23.7 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 babel-jest: 29.7.0(@babel/core@7.23.7) chalk: 4.1.2 ci-info: 3.8.0 @@ -18151,7 +18220,7 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.2(@types/node@20.11.16)(typescript@5.3.2) + ts-node: 10.9.2(@types/node@20.11.24)(typescript@5.3.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -18192,7 +18261,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -18208,7 +18277,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 - '@types/node': 20.11.16 + '@types/node': 20.11.24 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -18284,7 +18353,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 jest-util: 29.7.0 dev: true @@ -18339,7 +18408,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -18370,7 +18439,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 @@ -18397,7 +18466,7 @@ packages: '@babel/generator': 7.23.6 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.7) '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.7) - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -18422,7 +18491,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -18434,7 +18503,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -18459,7 +18528,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.16 + '@types/node': 20.11.24 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -18471,7 +18540,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -18480,13 +18549,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.24 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.11.16)(ts-node@10.9.2): + /jest@29.7.0(@types/node@20.11.24)(ts-node@10.9.2): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -18499,7 +18568,7 @@ packages: '@jest/core': 29.7.0(ts-node@10.9.2) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.11.16)(ts-node@10.9.2) + jest-cli: 29.7.0(@types/node@20.11.24)(ts-node@10.9.2) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -18679,7 +18748,7 @@ packages: resolution: {integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.2 + acorn: 8.11.3 eslint-visitor-keys: 3.4.3 espree: 9.6.1 semver: 7.6.0 @@ -18697,10 +18766,10 @@ packages: /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true /jsonc-parser@3.2.1: resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -18884,7 +18953,7 @@ packages: - supports-color dev: false - /knex@2.4.2(mysql2@3.9.1)(pg@8.11.3)(sqlite3@5.1.7)(tedious@16.6.1): + /knex@2.4.2(mysql2@3.9.2)(pg@8.11.3)(sqlite3@5.1.7)(tedious@16.6.1): resolution: {integrity: sha512-tMI1M7a+xwHhPxjbl/H9K1kHX+VncEYcvCx5K00M16bWvpYPKAZd6QrCu68PtHAdIZNQPWZn0GVhqVBEthGWCg==} engines: {node: '>=12'} hasBin: true @@ -18921,7 +18990,7 @@ packages: getopts: 2.3.0 interpret: 2.2.0 lodash: 4.17.21 - mysql2: 3.9.1 + mysql2: 3.9.2 pg: 8.11.3 pg-connection-string: 2.5.0 rechoir: 0.8.0 @@ -19191,30 +19260,6 @@ packages: uqr: 0.1.2 dev: true - /listhen@1.5.5: - resolution: {integrity: sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA==} - hasBin: true - requiresBuild: true - dependencies: - '@parcel/watcher': 2.3.0 - '@parcel/watcher-wasm': 2.3.0 - citty: 0.1.5 - clipboardy: 3.0.0 - consola: 3.2.3 - defu: 6.1.4 - get-port-please: 3.1.1 - h3: 1.10.1 - http-shutdown: 1.2.2 - jiti: 1.21.0 - mlly: 1.5.0 - node-forge: 1.3.1 - pathe: 1.1.2 - std-env: 3.7.0 - ufo: 1.4.0 - untun: 0.1.2 - uqr: 0.1.2 - dev: true - /listhen@1.6.0: resolution: {integrity: sha512-z0RcEXVX5oTpY1bO02SKoTU/kmZSrFSngNNzHRM6KICR17PTq7ANush6AE6ztGJwJD4RLpBrVHd9GnV51J7s3w==} hasBin: true @@ -19527,6 +19572,7 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + dev: true /magic-string@0.30.7: resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} @@ -20048,6 +20094,14 @@ packages: pkg-types: 1.0.3 ufo: 1.3.2 + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + /mocha@10.3.0: resolution: {integrity: sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==} engines: {node: '>= 14.0.0'} @@ -20257,8 +20311,8 @@ packages: seq-queue: 0.0.5 sqlstring: 2.3.3 - /mysql2@3.9.1: - resolution: {integrity: sha512-3njoWAAhGBYy0tWBabqUQcLtczZUxrmmtc2vszQUekg3kTJyZ5/IeLC3Fo04u6y6Iy5Sba7pIIa2P/gs8D3ZeQ==} + /mysql2@3.9.2: + resolution: {integrity: sha512-3Cwg/UuRkAv/wm6RhtPE5L7JlPB877vwSF6gfLAS68H+zhH+u5oa3AieqEd0D0/kC3W7qIhYbH419f7O9i/5nw==} engines: {node: '>= 8.0'} dependencies: denque: 2.1.0 @@ -20336,7 +20390,7 @@ packages: axios: 0.27.2(debug@4.3.4) emittery: 0.13.1 is-docker: 2.2.1 - knex: 2.4.2(mysql2@3.9.1)(pg@8.11.3)(sqlite3@5.1.7)(tedious@16.6.1) + knex: 2.4.2(mysql2@3.9.2)(pg@8.11.3)(sqlite3@5.1.7)(tedious@16.6.1) lodash: 4.17.21 posthog-node: 1.3.0(debug@4.3.4) snowflake-sdk: 1.8.0(asn1.js@5.4.1) @@ -20351,7 +20405,7 @@ packages: /nc-lib-gui@0.204.1: resolution: {integrity: sha512-8Nyfg1o0K/QunDQLO1Io8bZjW0vB66yqUTAPBF7qN2Kjcyv12MaInfi9oLqJnZs7DORdTP0v3YFeKoQJfn5AjA==} dependencies: - express: 4.18.2 + express: 4.18.3 transitivePeerDependencies: - supports-color dev: false @@ -20393,8 +20447,8 @@ packages: - reflect-metadata dev: false - /nestjs-throttler-storage-redis@0.4.1(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(@nestjs/throttler@5.1.2)(ioredis@5.3.2)(reflect-metadata@0.2.1): - resolution: {integrity: sha512-nSjPWfzAqwTFl6WA+wqwjJIHf63ffG9RJTojccHrDIE6cEk5Iw5IjO98crcBbu4PEqezWoX2eaUwAtpB1Ei8jA==} + /nestjs-throttler-storage-redis@0.4.2(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(@nestjs/throttler@5.1.2)(ioredis@5.3.2)(reflect-metadata@0.2.1): + resolution: {integrity: sha512-aYiTAhkRDNbvTx8RlliZ7wW6B2EoxbioBHlBEnFAo3VT2jBNZB4JjVE4n84mt2YQvImM95NvXiDg72uxzlooKw==} peerDependencies: '@nestjs/common': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 '@nestjs/core': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 @@ -20402,9 +20456,9 @@ packages: ioredis: '>=5.0.0' reflect-metadata: ^0.1.13 dependencies: - '@nestjs/common': 10.3.2(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/core': 10.3.2(@nestjs/common@10.3.2)(@nestjs/platform-express@10.3.2)(@nestjs/websockets@10.3.2)(reflect-metadata@0.2.1)(rxjs@7.8.1) - '@nestjs/throttler': 5.1.2(@nestjs/common@10.3.2)(@nestjs/core@10.3.2)(reflect-metadata@0.2.1) + '@nestjs/common': 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/core': 10.3.3(@nestjs/common@10.3.3)(@nestjs/platform-express@10.3.3)(@nestjs/websockets@10.3.3)(reflect-metadata@0.2.1)(rxjs@7.8.1) + '@nestjs/throttler': 5.1.2(@nestjs/common@10.3.3)(@nestjs/core@10.3.3)(reflect-metadata@0.2.1) ioredis: 5.3.2 reflect-metadata: 0.2.1 dev: false @@ -20437,14 +20491,14 @@ packages: '@types/http-proxy': 1.17.14 '@vercel/nft': 0.24.3 archiver: 6.0.1 - c12: 1.8.0 + c12: 1.9.0 chalk: 5.3.0 chokidar: 3.6.0 citty: 0.1.5 consola: 3.2.3 cookie-es: 1.0.0 defu: 6.1.4 - destr: 2.0.2 + destr: 2.0.3 dot-prop: 8.0.2 esbuild: 0.19.11 escape-string-regexp: 5.0.0 @@ -20453,7 +20507,7 @@ packages: fs-extra: 11.2.0 globby: 14.0.1 gzip-size: 7.0.0 - h3: 1.10.1 + h3: 1.11.1 hookable: 5.5.3 httpxy: 0.1.5 is-primitive: 3.0.1 @@ -20463,7 +20517,7 @@ packages: listhen: 1.6.0 magic-string: 0.30.7 mime: 3.0.0 - mlly: 1.5.0 + mlly: 1.6.1 mri: 1.2.0 node-fetch-native: 1.6.1 ofetch: 1.3.3 @@ -20502,6 +20556,7 @@ packages: - encoding - idb-keyval - supports-color + - uWebSockets.js dev: true /node-abi@3.47.0: @@ -20660,8 +20715,8 @@ packages: node.extend: 1.0.8 dev: false - /nodemailer@6.9.8: - resolution: {integrity: sha512-cfrYUk16e67Ks051i4CntM9kshRYei1/o/Gi8K1d+R34OIs21xdFnW7Pt7EucmVKA0LKtqUGNcjMZ7ehjl49mQ==} + /nodemailer@6.9.11: + resolution: {integrity: sha512-UiAkgiERuG94kl/3bKfE8o10epvDnl0vokNEtZDPTq9BWzIl6EFT9336SbIT4oaTBD8NmmUTLsQyXHV82eXSWg==} engines: {node: '>=6.0.0'} dev: false @@ -20945,15 +21000,15 @@ packages: boolbase: 1.0.0 dev: true - /nuxi@3.10.0: - resolution: {integrity: sha512-veZXw2NuaQ1PrpvHrnQ1dPgkAjv0WqPlvFReg5Iubum0QVGWdJJvGuNsltDQyPcZ7X7mhMXq9SLIpokK4kpvKA==} + /nuxi@3.10.1: + resolution: {integrity: sha512-ZNt858+FOZDIiKKFJkXO7uJAnALytDdn1XbLgtZAqbtWNMayHbOnWcnxh+WSOE4H9uOi2+loWXEqKElmNWLgcQ==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true optionalDependencies: fsevents: 2.3.3 dev: true - /nuxt-windicss@2.6.1(vite@4.5.1): + /nuxt-windicss@2.6.1(vite@4.5.2): resolution: {integrity: sha512-tm1i5Vdpa0ie5+d+eiHxuYq2tkVBJ8Y5zMLLt6LA+Eq+FhSsnv+cW9NhzAPwkZZy5DISdwVKUUw8HmNEf2Uv5Q==} dependencies: '@nuxt/kit': 3.4.0 @@ -20967,7 +21022,7 @@ packages: pathe: 1.1.1 read-cache: 1.0.0 sirv: 2.0.3 - vite-plugin-windicss: 1.9.1(vite@4.5.1) + vite-plugin-windicss: 1.9.1(vite@4.5.2) windicss: 3.5.6 windicss-analysis: 0.3.5 windicss-webpack-plugin: 1.7.8 @@ -20977,8 +21032,8 @@ packages: - vite dev: true - /nuxt@3.10.2(eslint@8.56.0)(sass@1.70.0)(vite@4.5.1): - resolution: {integrity: sha512-EYRPNPEHRoOzL5ZusOMoBvv1/yifGwdv7BLJPD/jaEDeEZvdXjLXLSRh2NukmdB1SdNmfL3wEnt5xtRpQO1niQ==} + /nuxt@3.10.3(eslint@8.56.0)(sass@1.70.0)(vite@4.5.2): + resolution: {integrity: sha512-NchGNiiz9g/ErJAb462W/lpX2NqcXYb9hugySKWvLXNdrjeAPiJ2/7mhgwUSiZA9MpjuQg3saiEajr1zlRIOCg==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true peerDependencies: @@ -20991,37 +21046,37 @@ packages: optional: true dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.0.8(nuxt@3.10.2)(vite@4.5.1) - '@nuxt/kit': 3.10.2 - '@nuxt/schema': 3.10.2 + '@nuxt/devtools': 1.0.8(nuxt@3.10.3)(vite@4.5.2) + '@nuxt/kit': 3.10.3 + '@nuxt/schema': 3.10.3 '@nuxt/telemetry': 2.5.3 '@nuxt/ui-templates': 1.3.1 - '@nuxt/vite-builder': 3.10.2(eslint@8.56.0)(sass@1.70.0)(vue@3.3.13) + '@nuxt/vite-builder': 3.10.3(eslint@8.56.0)(sass@1.70.0)(vue@3.3.13) '@unhead/dom': 1.8.10 '@unhead/ssr': 1.8.10 '@unhead/vue': 1.8.10(vue@3.3.13) '@vue/shared': 3.4.19 acorn: 8.11.3 - c12: 1.8.0 + c12: 1.9.0 chokidar: 3.6.0 cookie-es: 1.0.0 defu: 6.1.4 - destr: 2.0.2 + destr: 2.0.3 devalue: 4.3.2 esbuild: 0.20.1 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fs-extra: 11.2.0 globby: 14.0.1 - h3: 1.10.1 + h3: 1.11.1 hookable: 5.5.3 jiti: 1.21.0 klona: 2.0.6 knitwork: 1.0.0 magic-string: 0.30.7 - mlly: 1.5.0 + mlly: 1.6.1 nitropack: 2.8.1 - nuxi: 3.10.0 + nuxi: 3.10.1 nypm: 0.3.6 ofetch: 1.3.3 ohash: 1.1.3 @@ -21033,18 +21088,18 @@ packages: std-env: 3.7.0 strip-literal: 2.0.0 ufo: 1.4.0 - ultrahtml: 1.5.2 + ultrahtml: 1.5.3 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 unimport: 3.7.1(rollup@4.12.0) unplugin: 1.7.1 - unplugin-vue-router: 0.7.0(vue-router@4.2.5)(vue@3.3.13) + unplugin-vue-router: 0.7.0(vue-router@4.3.0)(vue@3.3.13) untyped: 1.4.2 vue: 3.3.13 vue-bundle-renderer: 2.0.0 vue-devtools-stub: 0.1.0 - vue-router: 4.2.5(vue@3.3.13) + vue-router: 4.3.0(vue@3.3.13) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -21074,6 +21129,7 @@ packages: - supports-color - terser - typescript + - uWebSockets.js - utf-8-validate - vite - vls @@ -21153,7 +21209,7 @@ packages: citty: 0.1.5 execa: 8.0.1 pathe: 1.1.2 - ufo: 1.3.2 + ufo: 1.4.0 /nypm@0.3.6: resolution: {integrity: sha512-2CATJh3pd6CyNfU5VZM7qSwFu0ieyabkEdnogE30Obn1czrmOYiZ8DOZLe1yBdLKWoyD3Mcy2maUs+0MR3yVjQ==} @@ -21291,9 +21347,9 @@ packages: /ofetch@1.3.3: resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} dependencies: - destr: 2.0.2 + destr: 2.0.3 node-fetch-native: 1.6.1 - ufo: 1.3.2 + ufo: 1.4.0 dev: true /ohash@1.1.3: @@ -22037,8 +22093,8 @@ packages: /pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: - jsonc-parser: 3.2.0 - mlly: 1.5.0 + jsonc-parser: 3.2.1 + mlly: 1.6.1 pathe: 1.1.2 /playwright-core@1.38.0: @@ -22382,14 +22438,6 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - /postcss@8.4.35: resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} @@ -22397,7 +22445,6 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: true /postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} @@ -23418,26 +23465,6 @@ packages: '@rollup/rollup-win32-x64-msvc': 4.12.0 fsevents: 2.3.3 - /rollup@4.5.0: - resolution: {integrity: sha512-41xsWhzxqjMDASCxH5ibw1mXk+3c4TNI2UjKbLxe6iEzrSQnqOzmmK8/3mufCPbzHNJ2e04Fc1ddI35hHy+8zg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.5.0 - '@rollup/rollup-android-arm64': 4.5.0 - '@rollup/rollup-darwin-arm64': 4.5.0 - '@rollup/rollup-darwin-x64': 4.5.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.5.0 - '@rollup/rollup-linux-arm64-gnu': 4.5.0 - '@rollup/rollup-linux-arm64-musl': 4.5.0 - '@rollup/rollup-linux-x64-gnu': 4.5.0 - '@rollup/rollup-linux-x64-musl': 4.5.0 - '@rollup/rollup-win32-arm64-msvc': 4.5.0 - '@rollup/rollup-win32-ia32-msvc': 4.5.0 - '@rollup/rollup-win32-x64-msvc': 4.5.0 - fsevents: 2.3.3 - dev: true - /rootpath@0.1.2: resolution: {integrity: sha512-R3wLbuAYejpxQjL/SjXo1Cjv4wcJECnMRT/FlcCfTwCBhaji9rWaRCoVEQ1SPiTJ4kKK+yh+bZLAV7SCafoDDw==} dev: false @@ -23603,7 +23630,6 @@ packages: /scule@1.3.0: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} - dev: true /sdp@2.12.0: resolution: {integrity: sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==} @@ -24877,7 +24903,7 @@ packages: engines: {node: '>=4'} dev: true - /terser-webpack-plugin@5.3.10(esbuild@0.20.1)(webpack@5.90.1): + /terser-webpack-plugin@5.3.10(esbuild@0.20.1)(webpack@5.90.3): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -24899,7 +24925,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.27.0 - webpack: 5.90.1(esbuild@0.20.1) + webpack: 5.90.3(esbuild@0.20.1) dev: true /terser-webpack-plugin@5.3.10(webpack@5.90.1): @@ -24926,6 +24952,30 @@ packages: webpack: 5.90.1(webpack-cli@5.1.4) dev: true + /terser-webpack-plugin@5.3.10(webpack@5.90.3): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.1 + terser: 5.27.0 + webpack: 5.90.3(webpack-cli@5.1.4) + dev: true + /terser@5.27.0: resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} engines: {node: '>=10'} @@ -25179,7 +25229,7 @@ packages: '@babel/core': 7.23.9 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.11.16)(ts-node@10.9.2) + jest: 29.7.0(@types/node@20.11.24)(ts-node@10.9.2) jest-util: 29.6.3 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -25189,7 +25239,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-loader@9.5.1(typescript@5.3.2)(webpack@5.90.1): + /ts-loader@9.5.1(typescript@5.3.2)(webpack@5.90.3): resolution: {integrity: sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -25202,10 +25252,10 @@ packages: semver: 7.5.4 source-map: 0.7.4 typescript: 5.3.2 - webpack: 5.90.1(webpack-cli@5.1.4) + webpack: 5.90.3(webpack-cli@5.1.4) dev: true - /ts-loader@9.5.1(webpack@5.90.1): + /ts-loader@9.5.1(webpack@5.90.3): resolution: {integrity: sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -25217,7 +25267,7 @@ packages: micromatch: 4.0.5 semver: 7.5.4 source-map: 0.7.4 - webpack: 5.90.1(esbuild@0.20.1) + webpack: 5.90.3(esbuild@0.20.1) dev: true /ts-morph@4.3.3: @@ -25234,7 +25284,7 @@ packages: typescript: 5.3.2 dev: true - /ts-node@10.9.2(@types/node@20.11.16)(typescript@5.3.2): + /ts-node@10.9.2(@types/node@20.11.24)(typescript@5.3.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -25253,7 +25303,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.16 + '@types/node': 20.11.24 acorn: 8.11.2 acorn-walk: 8.2.0 arg: 4.1.3 @@ -25539,7 +25589,6 @@ packages: /ufo@1.4.0: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} @@ -25558,8 +25607,8 @@ packages: dependencies: '@lukeed/csprng': 1.1.0 - /ultrahtml@1.5.2: - resolution: {integrity: sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==} + /ultrahtml@1.5.3: + resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} dev: true /unbox-primitive@1.0.2: @@ -25578,7 +25627,7 @@ packages: /unconfig@0.3.11: resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==} dependencies: - '@antfu/utils': 0.7.6 + '@antfu/utils': 0.7.7 defu: 6.1.4 jiti: 1.21.0 mlly: 1.5.0 @@ -25593,8 +25642,8 @@ packages: dependencies: acorn: 8.11.3 estree-walker: 3.0.3 - magic-string: 0.30.5 - unplugin: 1.5.1 + magic-string: 0.30.7 + unplugin: 1.7.1 /undefsafe@2.0.5: resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} @@ -25654,10 +25703,10 @@ packages: fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.7 - mlly: 1.5.0 + mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - scule: 1.2.0 + scule: 1.3.0 strip-literal: 1.3.0 unplugin: 1.7.1 transitivePeerDependencies: @@ -25727,7 +25776,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.5(@unocss/webpack@0.58.5)(postcss@8.4.35)(vite@4.5.1): + /unocss@0.58.5(@unocss/webpack@0.58.5)(postcss@8.4.35)(vite@4.5.2): resolution: {integrity: sha512-0g4P6jLgRRNnhscxw7nQ9RHGrKJ1UPPiHPet+YT3TXUcmy4mTiYgo9+kGQf5bjyrzsELJ10cT6Qz2y6g9Tls4g==} engines: {node: '>=14'} peerDependencies: @@ -25739,7 +25788,7 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.5(vite@4.5.1) + '@unocss/astro': 0.58.5(vite@4.5.2) '@unocss/cli': 0.58.5 '@unocss/core': 0.58.5 '@unocss/extractor-arbitrary-variants': 0.58.5 @@ -25758,9 +25807,9 @@ packages: '@unocss/transformer-compile-class': 0.58.5 '@unocss/transformer-directives': 0.58.5 '@unocss/transformer-variant-group': 0.58.5 - '@unocss/vite': 0.58.5(vite@4.5.1) - '@unocss/webpack': 0.58.5(webpack@5.90.1) - vite: 4.5.1(sass@1.70.0) + '@unocss/vite': 0.58.5(vite@4.5.2) + '@unocss/webpack': 0.58.5(webpack@5.90.3) + vite: 4.5.2(sass@1.70.0) transitivePeerDependencies: - postcss - rollup @@ -25771,7 +25820,7 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - /unplugin-icons@0.18.5(@vue/compiler-sfc@3.4.18): + /unplugin-icons@0.18.5(@vue/compiler-sfc@3.4.21): resolution: {integrity: sha512-KVNAohXbZ7tVcG1C3p6QaC7wU9Qrj7etv4XvsMMJAxr5LccQZ+Iuv5LOIv/7GtqXaGN1BuFCqRO1ErsHEgEXdQ==} peerDependencies: '@svgr/core': '>=7.0.0' @@ -25794,7 +25843,7 @@ packages: '@antfu/install-pkg': 0.3.1 '@antfu/utils': 0.7.7 '@iconify/utils': 2.1.22 - '@vue/compiler-sfc': 3.4.18 + '@vue/compiler-sfc': 3.4.21 debug: 4.3.4(supports-color@5.5.0) kolorist: 1.8.0 local-pkg: 0.5.0 @@ -25832,7 +25881,7 @@ packages: - supports-color dev: true - /unplugin-vue-router@0.7.0(vue-router@4.2.5)(vue@3.3.13): + /unplugin-vue-router@0.7.0(vue-router@4.3.0)(vue@3.3.13): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -25848,11 +25897,11 @@ packages: fast-glob: 3.3.2 json5: 2.2.3 local-pkg: 0.4.3 - mlly: 1.5.0 + mlly: 1.6.1 pathe: 1.1.2 scule: 1.3.0 unplugin: 1.7.1 - vue-router: 4.2.5(vue@3.3.13) + vue-router: 4.3.0(vue@3.3.13) yaml: 2.3.4 transitivePeerDependencies: - rollup @@ -25863,9 +25912,10 @@ packages: resolution: {integrity: sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==} dependencies: acorn: 8.11.3 - chokidar: 3.5.3 + chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.0 + dev: true /unplugin@1.7.1: resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==} @@ -25921,7 +25971,7 @@ packages: destr: 2.0.2 h3: 1.10.1 ioredis: 5.3.2 - listhen: 1.5.5 + listhen: 1.6.0 lru-cache: 10.0.3 mri: 1.2.0 node-fetch-native: 1.6.1 @@ -25957,7 +26007,7 @@ packages: dependencies: '@babel/core': 7.23.3 '@babel/standalone': 7.22.12 - '@babel/types': 7.23.4 + '@babel/types': 7.23.9 defu: 6.1.4 jiti: 1.21.0 mri: 1.2.0 @@ -25969,13 +26019,13 @@ packages: resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} hasBin: true dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/standalone': 7.23.10 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 defu: 6.1.4 jiti: 1.21.0 mri: 1.2.0 - scule: 1.2.0 + scule: 1.3.0 transitivePeerDependencies: - supports-color dev: true @@ -25985,16 +26035,6 @@ packages: engines: {node: '>=4'} dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 - picocolors: 1.0.0 - /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -26004,7 +26044,6 @@ packages: browserslist: 4.23.0 escalade: 3.1.1 picocolors: 1.0.0 - dev: true /uqr@0.1.2: resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} @@ -26194,7 +26233,28 @@ packages: debug: 4.3.4(supports-color@5.5.0) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.0.12(sass@1.70.0) + vite: 5.1.4(sass@1.70.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite-node@1.3.1(sass@1.70.0): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4(supports-color@5.5.0) + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(sass@1.70.0) transitivePeerDependencies: - '@types/node' - less @@ -26206,7 +26266,7 @@ packages: - terser dev: true - /vite-plugin-checker@0.6.4(eslint@8.56.0)(vite@5.1.1): + /vite-plugin-checker@0.6.4(eslint@8.56.0)(vite@5.1.4): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -26249,14 +26309,14 @@ packages: semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - vite: 5.1.1(sass@1.70.0) + vite: 5.1.4(sass@1.70.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 vscode-uri: 3.0.7 dev: true - /vite-plugin-inspect@0.8.3(@nuxt/kit@3.10.2)(vite@4.5.1): + /vite-plugin-inspect@0.8.3(@nuxt/kit@3.10.3)(vite@4.5.2): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: @@ -26267,7 +26327,7 @@ packages: optional: true dependencies: '@antfu/utils': 0.7.7 - '@nuxt/kit': 3.10.2 + '@nuxt/kit': 3.10.3 '@rollup/pluginutils': 5.1.0(rollup@4.12.0) debug: 4.3.4(supports-color@5.5.0) error-stack-parser-es: 0.1.1 @@ -26276,7 +26336,7 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 4.5.1(sass@1.70.0) + vite: 4.5.2(sass@1.70.0) transitivePeerDependencies: - rollup - supports-color @@ -26290,7 +26350,7 @@ packages: monaco-editor: 0.45.0 dev: true - /vite-plugin-purge-icons@0.10.0(vite@4.5.1): + /vite-plugin-purge-icons@0.10.0(vite@4.5.2): resolution: {integrity: sha512-4fMJKQuBu9lAPJWjqGEytRaxty1pP9bWgQLA68dwbbaCXu6NBrOUb/3kMaUc7TP09kerEk+qTriCk05OZXpjwA==} engines: {node: '>= 12'} peerDependencies: @@ -26299,13 +26359,13 @@ packages: '@purge-icons/core': 0.10.0 '@purge-icons/generated': 0.10.0 rollup-plugin-purge-icons: 0.10.0 - vite: 4.5.1(sass@1.70.0) + vite: 4.5.2(sass@1.70.0) transitivePeerDependencies: - encoding - supports-color dev: true - /vite-plugin-vue-inspector@4.0.2(vite@4.5.1): + /vite-plugin-vue-inspector@4.0.2(vite@4.5.2): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 @@ -26316,15 +26376,15 @@ packages: '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - '@vue/compiler-dom': 3.4.18 + '@vue/compiler-dom': 3.4.20 kolorist: 1.8.0 magic-string: 0.30.7 - vite: 4.5.1(sass@1.70.0) + vite: 4.5.2(sass@1.70.0) transitivePeerDependencies: - supports-color dev: true - /vite-plugin-windicss@1.9.1(vite@4.5.1): + /vite-plugin-windicss@1.9.1(vite@4.5.2): resolution: {integrity: sha512-CWm1b/tXVCJTbEGn4oB8B7Gev9xDuY9k4E/KiJqDuLYspBUFQyZKPF2mSZ3DfNdojsfqgzxu9ervqvlb9jJ7fw==} peerDependencies: vite: ^2.0.1 || ^3.0.0 || ^4.0.0 @@ -26332,14 +26392,14 @@ packages: '@windicss/plugin-utils': 1.9.1 debug: 4.3.4(supports-color@5.5.0) kolorist: 1.8.0 - vite: 4.5.1(sass@1.70.0) + vite: 4.5.2(sass@1.70.0) windicss: 3.5.6 transitivePeerDependencies: - supports-color dev: true - /vite@4.5.1(sass@1.70.0): - resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==} + /vite@4.5.2(sass@1.70.0): + resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -26374,44 +26434,8 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.0.12(sass@1.70.0): - resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.19.11 - postcss: 8.4.33 - rollup: 4.5.0 - sass: 1.70.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vite@5.1.1(sass@1.70.0): - resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} + /vite@5.1.4(sass@1.70.0): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -26491,7 +26515,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.0.12(sass@1.70.0) + vite: 5.1.4(sass@1.70.0) vite-node: 1.2.2(sass@1.70.0) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -26562,6 +26586,18 @@ packages: resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} dev: true + /vue-advanced-cropper@2.8.8(vue@3.3.13): + resolution: {integrity: sha512-yDM7Jb/gnxcs//JdbOogBUoHr1bhCQSto7/ohgETKAe4wvRpmqIkKSppMm1huVQr+GP1YoVlX/fkjKxvYzwwDQ==} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + vue: 3.3.13 + dependencies: + classnames: 2.5.1 + debounce: 1.2.1 + easy-bem: 1.1.1 + vue: 3.3.13 + dev: false + /vue-barcode-reader@1.0.3: resolution: {integrity: sha512-z4mv7+ai/8vECppBTb00tHnyFMMx6W1rAaQe+v214ihoaWK9iGrn8ZZsmgSxf3lwnrtGaibLdkonTtMrGsO+dA==} dependencies: @@ -26574,13 +26610,13 @@ packages: ufo: 1.4.0 dev: true - /vue-chartjs@5.3.0(chart.js@4.4.1)(vue@3.3.13): + /vue-chartjs@5.3.0(chart.js@4.4.2)(vue@3.3.13): resolution: {integrity: sha512-8XqX0JU8vFZ+WA2/knz4z3ThClduni2Nm0BMe2u0mXgTfd9pXrmJ07QBI+WAij5P/aPmPMX54HCE1seWL37ZdQ==} peerDependencies: chart.js: ^4.1.1 vue: 3.3.13 dependencies: - chart.js: 4.4.1 + chart.js: 4.4.2 vue: 3.3.13 dev: false @@ -26695,12 +26731,12 @@ packages: - typescript dev: false - /vue-router@4.2.5(vue@3.3.13): - resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} + /vue-router@4.3.0(vue@3.3.13): + resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} peerDependencies: vue: 3.3.13 dependencies: - '@vue/devtools-api': 6.5.0 + '@vue/devtools-api': 6.6.1 vue: 3.3.13 dev: true @@ -26848,7 +26884,7 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - /webpack-cli@5.1.4(webpack@5.90.1): + /webpack-cli@5.1.4(webpack@5.90.3): resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} engines: {node: '>=14.15.0'} hasBin: true @@ -26866,9 +26902,9 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.90.1) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.90.1) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.90.1) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.90.3) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.90.3) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.90.3) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -26877,7 +26913,7 @@ packages: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.90.1(webpack-cli@5.1.4) + webpack: 5.90.3(webpack-cli@5.1.4) webpack-merge: 5.9.0 dev: true @@ -26904,11 +26940,12 @@ packages: /webpack-virtual-modules@0.6.0: resolution: {integrity: sha512-KnaMTE6EItz/f2q4Gwg5/rmeKVi79OR58NoYnwDJqCk9ywMtTGbBnBcfoBtN4QbYu0lWXvyMoH2Owxuhe4qI6Q==} + dev: true /webpack-virtual-modules@0.6.1: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} - /webpack@5.90.1(esbuild@0.20.1): + /webpack@5.90.1(webpack-cli@5.1.4): resolution: {integrity: sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==} engines: {node: '>=10.13.0'} hasBin: true @@ -26925,7 +26962,7 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.2 + browserslist: 4.23.0 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.3.0 @@ -26939,8 +26976,9 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.20.1)(webpack@5.90.1) + terser-webpack-plugin: 5.3.10(webpack@5.90.1) watchpack: 2.4.0 + webpack-cli: 5.1.4(webpack@5.90.3) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -26948,8 +26986,8 @@ packages: - uglify-js dev: true - /webpack@5.90.1(webpack-cli@5.1.4): - resolution: {integrity: sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==} + /webpack@5.90.3(esbuild@0.20.1): + resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -26958,17 +26996,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.4 + '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.2 + browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.15.0 - es-module-lexer: 1.3.0 + enhanced-resolve: 5.15.1 + es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -26979,9 +27017,49 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.90.1) + terser-webpack-plugin: 5.3.10(esbuild@0.20.1)(webpack@5.90.3) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + + /webpack@5.90.3(webpack-cli@5.1.4): + resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.11.3 + acorn-import-assertions: 1.9.0(acorn@8.11.3) + browserslist: 4.23.0 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.15.1 + es-module-lexer: 1.4.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(webpack@5.90.3) watchpack: 2.4.0 - webpack-cli: 5.1.4(webpack@5.90.1) + webpack-cli: 5.1.4(webpack@5.90.3) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -27389,8 +27467,8 @@ packages: engines: {node: '>=8'} dev: true - /xlsx@0.17.4: - resolution: {integrity: sha512-9aKt8g9ZLP0CUdBX8L5xnoMDFwSiLI997eQnDThCaqQMYB9AEBIRzblSSNN/ICMGLYIHUO3VKaItcedZJ3ijIg==} + /xlsx@0.17.5: + resolution: {integrity: sha512-lXNU0TuYsvElzvtI6O7WIVb9Zar1XYw7Xb3VAx2wn8N/n0whBYrCnHMxtFyIiUU1Wjf09WzmLALDfBO5PqTb1g==} engines: {node: '>=0.8'} hasBin: true dependencies: @@ -27474,11 +27552,6 @@ packages: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: false - /xmldom@0.6.0: - resolution: {integrity: sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==} - engines: {node: '>=10.0.0'} - dev: false - /xmlhttprequest-ssl@2.0.0: resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} engines: {node: '>=0.4.0'} diff --git a/scripts/pkg-executable/package.json b/scripts/pkg-executable/package.json index c81b039926..8be174cdf9 100644 --- a/scripts/pkg-executable/package.json +++ b/scripts/pkg-executable/package.json @@ -27,10 +27,10 @@ "author": "", "license": "ISC", "dependencies": { - "@nestjs/common": "^10.3.1", - "@nestjs/core": "^10.3.1", - "express": "^4.18.2", - "nocodb": "0.204.0" + "@nestjs/common": "^10.3.3", + "@nestjs/core": "^10.3.3", + "express": "^4.18.3", + "nocodb": "0.204.1" }, "overrides": { "sqlite3": "5.1.7" diff --git a/tests/playwright/scripts/self-hosted-gh-runner/node-pnpm-check.sh b/tests/playwright/scripts/self-hosted-gh-runner/node-pnpm-check.sh index 7a7ce137a2..a82d032a74 100755 --- a/tests/playwright/scripts/self-hosted-gh-runner/node-pnpm-check.sh +++ b/tests/playwright/scripts/self-hosted-gh-runner/node-pnpm-check.sh @@ -6,7 +6,7 @@ # docker image created from /Users/rajanishgj/Documents/GitHub/nocohub/tests/docker/Dockerfile # -NC_REQ_NODE_V="18.19.0" +NC_REQ_NODE_V="18.19.1" NC_REQ_PNPM_V="8.8.0" NODE_PATH="/home/docker/actions-runner/_work/_tool/node/${NC_REQ_NODE_V}/x64/bin/node" diff --git a/tests/playwright/tests/db/features/filters.spec.ts b/tests/playwright/tests/db/features/filters.spec.ts index 7fcf83f3e1..fcf7571056 100644 --- a/tests/playwright/tests/db/features/filters.spec.ts +++ b/tests/playwright/tests/db/features/filters.spec.ts @@ -788,6 +788,15 @@ test.describe('Filter Tests: Date based', () => { } // "is within" filter list + // if today is Feb 29, then past year will have 1 more record and next year will have 1 less record + const dateToday = new Date(); + if (dateToday.getMonth() === 1 && dateToday.getDate() === 29) { + // past year + isWithinFilterList[2].rowCount += 1; + // next year + isWithinFilterList[5].rowCount -= 1; + } + for (let i = 0; i < isWithinFilterList.length; i++) { await verifyFilter_withFixedModal({ column: dataType,