From 1f9e5788e1a011542f850d2abd35f12201a19b8b Mon Sep 17 00:00:00 2001 From: Riccardo Perra Date: Sat, 6 Jan 2024 11:41:43 +0100 Subject: [PATCH 1/8] feat(config): yaml language support #618 (#621) * docs(changeset): add yaml language * feat(config): add yaml language --- .changeset/sharp-panthers-vanish.md | 5 +++++ packages/config/src/lib/base/languages.ts | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 .changeset/sharp-panthers-vanish.md diff --git a/.changeset/sharp-panthers-vanish.md b/.changeset/sharp-panthers-vanish.md new file mode 100644 index 000000000..1535bfdf2 --- /dev/null +++ b/.changeset/sharp-panthers-vanish.md @@ -0,0 +1,5 @@ +--- +'@codeimage/config': patch +--- + +add yaml language diff --git a/packages/config/src/lib/base/languages.ts b/packages/config/src/lib/base/languages.ts index d58da0056..48f53c970 100644 --- a/packages/config/src/lib/base/languages.ts +++ b/packages/config/src/lib/base/languages.ts @@ -660,4 +660,22 @@ export const SUPPORTED_LANGUAGES: readonly LanguageDefinition[] = [ }, ], }, + { + id: 'yaml', + label: 'Yaml', + color: '#cb171e', + plugin: () => + Promise.all([ + importLegacy(), + import('@codemirror/legacy-modes/mode/yaml'), + ]).then(([cb, m]) => cb(m.yaml)), + icons: [ + { + name: 'Yaml', + extension: '.yaml', + content: () => import('material-icon-theme/icons/yaml.svg?raw'), + matcher: /^.*\.(yaml|yml)$/, + }, + ], + }, ]; From 8046d566b2e9542a8d0c6d66c156afd396713746 Mon Sep 17 00:00:00 2001 From: Riccardo Perra Date: Sat, 6 Jan 2024 11:42:18 +0100 Subject: [PATCH 2/8] feat: update umami (#620) * feat: update umami * Create tricky-kangaroos-relax.md --- .changeset/tricky-kangaroos-relax.md | 5 +++++ .../Presets/PresetSwitcher/PresetSwitcher.tsx | 2 +- .../PropertyEditor/EditorStyleForm.tsx | 4 +++- .../PropertyEditor/FrameStyleForm.tsx | 2 +- .../PropertyEditor/WindowStyleForm.tsx | 11 ++++++++-- .../ThemeSwitcher/ThemeSwitcher.tsx | 4 +++- .../src/components/Toolbar/ExportButton.tsx | 9 ++++---- .../components/Toolbar/ExportNewTabButton.tsx | 2 +- .../src/components/Toolbar/SettingsDialog.tsx | 2 +- apps/codeimage/src/core/constants/umami.ts | 22 +++++++++---------- .../src/state/effects/onCopyToClipboard.tsx | 2 +- .../src/state/effects/onThemeChange.tsx | 2 +- .../src/state/version/version.store.ts | 2 +- apps/codeimage/src/umami.d.ts | 13 ++++------- 14 files changed, 46 insertions(+), 36 deletions(-) create mode 100644 .changeset/tricky-kangaroos-relax.md diff --git a/.changeset/tricky-kangaroos-relax.md b/.changeset/tricky-kangaroos-relax.md new file mode 100644 index 000000000..8d2a98261 --- /dev/null +++ b/.changeset/tricky-kangaroos-relax.md @@ -0,0 +1,5 @@ +--- +"@codeimage/app": patch +--- + +feat: update umami diff --git a/apps/codeimage/src/components/Presets/PresetSwitcher/PresetSwitcher.tsx b/apps/codeimage/src/components/Presets/PresetSwitcher/PresetSwitcher.tsx index 74808945f..1c9948edc 100644 --- a/apps/codeimage/src/components/Presets/PresetSwitcher/PresetSwitcher.tsx +++ b/apps/codeimage/src/components/Presets/PresetSwitcher/PresetSwitcher.tsx @@ -55,7 +55,7 @@ export const PresetSwitcher: ParentComponent< editor.actions.setFromPreset(data.editor); frame.setFromPreset(data.frame); terminal.setFromPreset(data.terminal); - getUmami().trackEvent('preset', 'select-preset'); + getUmami().track('select-preset-theme'); }; const exampleCode = diff --git a/apps/codeimage/src/components/PropertyEditor/EditorStyleForm.tsx b/apps/codeimage/src/components/PropertyEditor/EditorStyleForm.tsx index 065acead1..8504db422 100644 --- a/apps/codeimage/src/components/PropertyEditor/EditorStyleForm.tsx +++ b/apps/codeimage/src/components/PropertyEditor/EditorStyleForm.tsx @@ -114,7 +114,9 @@ export const EditorStyleForm: ParentComponent = () => { () => editor().languageId, language => { setLanguageId(language!); - getUmami().trackEvent(language!, 'change-language'); + getUmami().track('change-language', { + language: language!, + }); }, )} options={languagesOptions.options()} diff --git a/apps/codeimage/src/components/PropertyEditor/FrameStyleForm.tsx b/apps/codeimage/src/components/PropertyEditor/FrameStyleForm.tsx index 63c929fbc..2e666af8b 100644 --- a/apps/codeimage/src/components/PropertyEditor/FrameStyleForm.tsx +++ b/apps/codeimage/src/components/PropertyEditor/FrameStyleForm.tsx @@ -129,7 +129,7 @@ export const FrameStyleForm: ParentComponent = () => { value={frame.store.aspectRatio} onChange={ratio => { frame.setAspectRatio(ratio); - getUmami().trackEvent(ratio ?? 'auto', 'aspect-ratio'); + getUmami().track('aspect-ratio', {ratio: ratio ?? 'unset'}); }} /> diff --git a/apps/codeimage/src/components/PropertyEditor/WindowStyleForm.tsx b/apps/codeimage/src/components/PropertyEditor/WindowStyleForm.tsx index f8bc6fa1d..1faf7c0c3 100644 --- a/apps/codeimage/src/components/PropertyEditor/WindowStyleForm.tsx +++ b/apps/codeimage/src/components/PropertyEditor/WindowStyleForm.tsx @@ -78,7 +78,12 @@ export const WindowStyleForm: ParentComponent = () => { { + terminal.setType(type); + getUmami().track('change-terminal-type', { + type, + }); + }} onShowAccentChange={terminal.setAccentVisible} /> @@ -133,7 +138,9 @@ export const WindowStyleForm: ParentComponent = () => { {...terminalShadowsSelect.controlled( () => terminal.state.shadow ?? undefined, shadow => { - getUmami().trackEvent(shadow ?? 'none', 'change-shadow'); + getUmami().track('change-shadow', { + shadow: shadow ?? 'none', + }); terminal.setShadow(shadow ?? null); }, )} diff --git a/apps/codeimage/src/components/ThemeSwitcher/ThemeSwitcher.tsx b/apps/codeimage/src/components/ThemeSwitcher/ThemeSwitcher.tsx index 3a1370722..77b2a4f47 100644 --- a/apps/codeimage/src/components/ThemeSwitcher/ThemeSwitcher.tsx +++ b/apps/codeimage/src/components/ThemeSwitcher/ThemeSwitcher.tsx @@ -42,7 +42,9 @@ export const ThemeSwitcher: ParentComponent = props => { const onSelectTheme = (theme: CustomTheme) => { dispatchUpdateTheme({theme, updateBackground: true}); - getUmami().trackEvent(theme.id, `theme-change`); + getUmami().track('theme-change', { + themeId: theme.id, + }); }; const exampleCode = '// Just a code example \n' + diff --git a/apps/codeimage/src/components/Toolbar/ExportButton.tsx b/apps/codeimage/src/components/Toolbar/ExportButton.tsx index 0d238ad13..e469d5f21 100644 --- a/apps/codeimage/src/components/Toolbar/ExportButton.tsx +++ b/apps/codeimage/src/components/Toolbar/ExportButton.tsx @@ -163,11 +163,10 @@ export function ExportDialog(props: ExportDialogProps & DialogProps) { const selectedExtension = extension(); - const name = selectedMode === ExportMode.export ? 'Download' : 'Share'; - getUmami().trackEvent( - `${name} ${selectedExtension.toUpperCase()}`, - selectedMode, - ); + getUmami().track('export-confirm', { + mode: selectedMode, + extension: selectedExtension, + }); props.onConfirm({ type: selectedMode, diff --git a/apps/codeimage/src/components/Toolbar/ExportNewTabButton.tsx b/apps/codeimage/src/components/Toolbar/ExportNewTabButton.tsx index 9e128d8a8..06e2d8d5c 100644 --- a/apps/codeimage/src/components/Toolbar/ExportNewTabButton.tsx +++ b/apps/codeimage/src/components/Toolbar/ExportNewTabButton.tsx @@ -25,7 +25,7 @@ export const ExportInNewTabButton: Component = props => { const label = () => t('toolbar.openNewTab'); function openInTab() { - getUmami().trackEvent(`true`, 'export-new-tab'); + getUmami().track('export-new-tab'); const exportSettings = getExportCanvasStore(); notify({ ref: props.canvasRef, diff --git a/apps/codeimage/src/components/Toolbar/SettingsDialog.tsx b/apps/codeimage/src/components/Toolbar/SettingsDialog.tsx index 308c0974c..6100881d3 100644 --- a/apps/codeimage/src/components/Toolbar/SettingsDialog.tsx +++ b/apps/codeimage/src/components/Toolbar/SettingsDialog.tsx @@ -142,7 +142,7 @@ export function SettingsDialog(props: SettingsDialogProps) { size={'md'} onChange={locale => { ui.setLocale(locale); - getUmami().trackEvent(locale, `change-app-language`); + getUmami().track('change-app-language', {locale}); }} value={ui.get.locale} orientation={'vertical'} diff --git a/apps/codeimage/src/core/constants/umami.ts b/apps/codeimage/src/core/constants/umami.ts index 8aa89f926..89a0a569d 100644 --- a/apps/codeimage/src/core/constants/umami.ts +++ b/apps/codeimage/src/core/constants/umami.ts @@ -7,22 +7,22 @@ declare global { const isDev = import.meta.env.DEV; function getUmamiMock() { - const umamiMock: Umami = () => void 0; + const umamiMock: Umami = {} as Umami; if (isDev) { - umamiMock.trackEvent = (event_value, event_type, url, website_id) => { + umamiMock.track = (( + event_name: string, + event_data?: {[key: string]: string | number}, + ) => { console.groupCollapsed(`[DEV] Umami track event`); - console.table([{event_value, event_type, website_id, url}]); + console.log({ + event_name, + event_data, + }); console.groupEnd(); - }; - umamiMock.trackView = (url, referrer, website_id) => { - console.groupCollapsed(`[DEV] Umami track view`); - console.table([{url, referrer, website_id}]); - console.groupEnd(); - }; + }) as typeof umamiMock.track; } else { - umamiMock.trackEvent = () => void 0; - umamiMock.trackView = () => void 0; + umamiMock.track = () => void 0; } return umamiMock; diff --git a/apps/codeimage/src/state/effects/onCopyToClipboard.tsx b/apps/codeimage/src/state/effects/onCopyToClipboard.tsx index ddd2220ba..be2115cff 100644 --- a/apps/codeimage/src/state/effects/onCopyToClipboard.tsx +++ b/apps/codeimage/src/state/effects/onCopyToClipboard.tsx @@ -44,7 +44,7 @@ export const dispatchCopyToClipboard = effect( ).pipe( tap(() => runWithOwner(owner, openSnackbar)), catchError(() => EMPTY), - tap(() => getUmami().trackEvent('true', `copy-to-clipboard`)), + tap(() => getUmami().track('copy-to-clipboard')), ); }), ); diff --git a/apps/codeimage/src/state/effects/onThemeChange.tsx b/apps/codeimage/src/state/effects/onThemeChange.tsx index bcfec7720..a3b408c9c 100644 --- a/apps/codeimage/src/state/effects/onThemeChange.tsx +++ b/apps/codeimage/src/state/effects/onThemeChange.tsx @@ -38,7 +38,7 @@ export function dispatchUpdateTheme(params: DispatchUpdateThemeParams): void { terminal.setState('background', theme.properties.terminal.main); terminal.setState('textColor', theme.properties.terminal.text); editor.actions.setThemeId(theme.id); - getUmami().trackEvent(theme.id, `theme-change`); + getUmami().track('theme-change', {theme: theme.id}); } }); } diff --git a/apps/codeimage/src/state/version/version.store.ts b/apps/codeimage/src/state/version/version.store.ts index 7c9442656..af85f8d2e 100644 --- a/apps/codeimage/src/state/version/version.store.ts +++ b/apps/codeimage/src/state/version/version.store.ts @@ -138,7 +138,7 @@ export const VersionStore = defineStore(initialValue) }; }); if (log) { - getUmami().trackEvent('open', featureName); + getUmami().track('see-feature', {featureName}); } }, getFeature( diff --git a/apps/codeimage/src/umami.d.ts b/apps/codeimage/src/umami.d.ts index a9a80c5fc..dd230a87b 100644 --- a/apps/codeimage/src/umami.d.ts +++ b/apps/codeimage/src/umami.d.ts @@ -2,14 +2,9 @@ declare const umami: Umami; // https://umami.is/docs/tracker-functions interface Umami { - (event_value: string): void; - - trackEvent( - event_value: string, - event_type: string, - url?: string, - website_id?: string, + track(view_properties?: {website: string; [key: string]: string}): void; + track( + event_name: string, + event_data?: {[key: string]: string | number}, ): void; - - trackView(url: string, referrer?: string, website_id?: string): void; } From a482f6f703acd631657f753570530a4e42d2f745 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 6 Jan 2024 11:50:01 +0100 Subject: [PATCH 3/8] chore(release): version packages (#622) * RELEASING: Releasing 2 package(s) Releases: @codeimage/config@8.2.5 @codeimage/app@1.5.1 [skip ci] * chore(release): version packages --------- Co-authored-by: github-actions[bot] Co-authored-by: riccardoperra --- .changeset/sharp-panthers-vanish.md | 5 ----- .changeset/tricky-kangaroos-relax.md | 5 ----- apps/codeimage/CHANGELOG.md | 9 +++++++++ apps/codeimage/package.json | 2 +- package.json | 2 +- packages/config/CHANGELOG.md | 6 ++++++ packages/config/package.json | 2 +- 7 files changed, 18 insertions(+), 13 deletions(-) delete mode 100644 .changeset/sharp-panthers-vanish.md delete mode 100644 .changeset/tricky-kangaroos-relax.md diff --git a/.changeset/sharp-panthers-vanish.md b/.changeset/sharp-panthers-vanish.md deleted file mode 100644 index 1535bfdf2..000000000 --- a/.changeset/sharp-panthers-vanish.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@codeimage/config': patch ---- - -add yaml language diff --git a/.changeset/tricky-kangaroos-relax.md b/.changeset/tricky-kangaroos-relax.md deleted file mode 100644 index 8d2a98261..000000000 --- a/.changeset/tricky-kangaroos-relax.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@codeimage/app": patch ---- - -feat: update umami diff --git a/apps/codeimage/CHANGELOG.md b/apps/codeimage/CHANGELOG.md index a74fddc7e..91e30b327 100644 --- a/apps/codeimage/CHANGELOG.md +++ b/apps/codeimage/CHANGELOG.md @@ -1,5 +1,14 @@ # @codeimage/app +## 1.5.1 + +### Patch Changes + +- [#620](https://github.com/riccardoperra/codeimage/pull/620) [`8046d566`](https://github.com/riccardoperra/codeimage/commit/8046d566b2e9542a8d0c6d66c156afd396713746) Thanks [@riccardoperra](https://github.com/riccardoperra)! - feat: update umami + +- Updated dependencies [[`1f9e5788`](https://github.com/riccardoperra/codeimage/commit/1f9e5788e1a011542f850d2abd35f12201a19b8b)]: + - @codeimage/config@8.2.5 + ## 1.5.0 ### Minor Changes diff --git a/apps/codeimage/package.json b/apps/codeimage/package.json index 7a2041e91..58a344380 100644 --- a/apps/codeimage/package.json +++ b/apps/codeimage/package.json @@ -1,7 +1,7 @@ { "name": "@codeimage/app", "private": true, - "version": "1.5.0", + "version": "1.5.1", "type": "module", "scripts": { "start": "vite", diff --git a/package.json b/package.json index 0dbf47384..8165b01be 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codeimage", - "version": "1.5.0", + "version": "1.5.1", "description": "Create elegant code screenshots of your source code", "info": "Codeimage is the newest open source tool to help developers to create beautiful screenshots of their code, providing several features to speed up the process to post in social media. It's built on the top of solid-js and has a rich choice of customizations, 15+ custom themes, supports for mobile devices and much more!", "homepage": "https://codeimage.dev/", diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index 16af8754a..a794b9219 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,11 @@ # @codeimage/highlight +## 8.2.5 + +### Patch Changes + +- [#621](https://github.com/riccardoperra/codeimage/pull/621) [`1f9e5788`](https://github.com/riccardoperra/codeimage/commit/1f9e5788e1a011542f850d2abd35f12201a19b8b) Thanks [@riccardoperra](https://github.com/riccardoperra)! - add yaml language + ## 8.2.4 ### Patch Changes diff --git a/packages/config/package.json b/packages/config/package.json index bf20f37aa..9af83dc53 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@codeimage/config", - "version": "8.2.4", + "version": "8.2.5", "module": "./dist/config.mjs", "source": "./src/public-api.ts", "types": "./dist/public-api.d.ts", From d3bcdacda3cd707500463ff0e4e2e5587584cacb Mon Sep 17 00:00:00 2001 From: riccardoperra Date: Sat, 6 Jan 2024 12:16:35 +0100 Subject: [PATCH 4/8] ci: ci fix --- .github/workflows/prod-deploy.yml | 75 +++++++++++++++---------------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/.github/workflows/prod-deploy.yml b/.github/workflows/prod-deploy.yml index d8d1e32f5..861c48f66 100644 --- a/.github/workflows/prod-deploy.yml +++ b/.github/workflows/prod-deploy.yml @@ -1,4 +1,4 @@ -name: "Deploy (Production)" +name: 'Deploy (Production)' on: workflow_dispatch: inputs: @@ -22,8 +22,8 @@ jobs: steps: - name: Checkout PR uses: actions/checkout@v3 -# with: -# submodules: 'true' + # with: + # submodules: 'true' - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: @@ -33,20 +33,20 @@ jobs: lint: name: Lint - needs: [ "install" ] + needs: ['install'] runs-on: ubuntu-latest steps: - name: Checkout PR uses: actions/checkout@v3 -# with: -# submodules: 'true' + # with: + # submodules: 'true' - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: 📥 Monorepo install uses: ./.github/actions/pnpm-install - - name: "[API] Generate Prisma Migration" + - name: '[API] Generate Prisma Migration' run: | pnpm --filter=@codeimage/api exec prisma generate pnpm --filter=@codeimage/prisma-models build @@ -55,12 +55,12 @@ jobs: build-packages: name: Build packages/** - needs: [ "install" ] + needs: ['install'] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 -# with: -# submodules: 'true' + # with: + # submodules: 'true' - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: @@ -68,12 +68,12 @@ jobs: - name: 📥 Monorepo install uses: ./.github/actions/pnpm-install - - name: "[API] Generate Prisma Migration" + - name: '[API] Generate Prisma Migration' run: | pnpm --filter=@codeimage/api exec prisma generate pnpm --filter=@codeimage/prisma-models build - - name: "Build packages" + - name: 'Build packages' run: | pnpm libs:build @@ -84,13 +84,13 @@ jobs: key: packages-dist-${{ github.run_id }}-${{ github.run_number }} build-api: - name: "Build @codeimage/api" - needs: [ "install" ] + name: 'Build @codeimage/api' + needs: ['install'] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 -# with: -# submodules: 'true' + # with: + # submodules: 'true' - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: @@ -98,7 +98,7 @@ jobs: - name: 📥 Monorepo install uses: ./.github/actions/pnpm-install - - name: "[API] Generate Prisma Migration" + - name: '[API] Generate Prisma Migration' run: | pnpm --filter=@codeimage/api exec prisma generate pnpm --filter=@codeimage/prisma-models build @@ -118,7 +118,7 @@ jobs: test-api: name: Api test - needs: [ install ] + needs: [install] runs-on: ubuntu-latest services: @@ -146,7 +146,7 @@ jobs: GRANT_TYPE_AUTH0: client_credentials MOCK_AUTH: false MOCK_AUTH_EMAIL: dev@example.it - ALLOWED_ORIGINS: "*" + ALLOWED_ORIGINS: '*' steps: - uses: actions/checkout@v3 @@ -159,7 +159,7 @@ jobs: - name: 📥 Monorepo install uses: ./.github/actions/pnpm-install - - name: "Run prisma DB migrations" + - name: 'Run prisma DB migrations' run: | cd apps/api pnpm exec prisma migrate deploy @@ -174,12 +174,12 @@ jobs: typecheck-packages: name: Type-checking packages/** - needs: [ "install", "build-packages" ] + needs: ['install', 'build-packages'] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 -# with: -# submodules: 'true' + # with: + # submodules: 'true' - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: @@ -205,12 +205,12 @@ jobs: deploy-highlight-package: name: Deploy @codeimage/highlight app environment: Production - needs: [ "install", "lint", "build-packages" ] + needs: ['install', 'lint', 'build-packages'] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 -# with: -# submodules: 'true' + # with: + # submodules: 'true' - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: @@ -239,12 +239,12 @@ jobs: deploy-api: name: Build and Deploy Api environment: Production - needs: [ install, lint, typecheck-packages, test-api, build-api ] + needs: [install, lint, typecheck-packages, test-api, build-api] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 -# with: -# submodules: 'true' + # with: + # submodules: 'true' - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: @@ -274,7 +274,7 @@ jobs: find -type f -name '.gitignore' -delete pnpm railway link --environment production $RAILWAY_API_PROJECT_ID cd dist/api-bundle - pnpm railway up --detach + pnpm railway up -s codeimage env: RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }} RAILWAY_API_PROJECT_ID: ${{ secrets.RAILWAY_API_PROJECT_ID }} @@ -282,13 +282,13 @@ jobs: deploy-app: name: Deploy @codeimage/app environment: Production - needs: [ install, lint, typecheck-packages, build-packages, deploy-api ] + needs: [install, lint, typecheck-packages, build-packages, deploy-api] runs-on: ubuntu-latest steps: - name: Checkout PR uses: actions/checkout@v3 -# with: -# submodules: 'true' + # with: + # submodules: 'true' - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: @@ -325,23 +325,22 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} #Optional vercel-args: '--prebuilt --prod' #Optional working-directory: apps/codeimage - vercel-org-id: ${{ secrets.VERCEL_ORG_ID}} #Required + vercel-org-id: ${{ secrets.VERCEL_ORG_ID}} #Required vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }} #Required alias-domains: | #Optional app.codeimage.dev - deploy-website: if: ${{ github.event.inputs.deploy-website == 'true' }} name: Deploy @codeimage/website environment: Production - needs: [ install, lint, typecheck-packages, build-packages ] + needs: [install, lint, typecheck-packages, build-packages] runs-on: ubuntu-latest steps: - name: Checkout PR uses: actions/checkout@v3 -# with: -# submodules: 'true' + # with: + # submodules: 'true' - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: From 4d27d1468451ee36a64613a03a167ed607aee0ba Mon Sep 17 00:00:00 2001 From: Sarju Date: Mon, 15 Apr 2024 23:32:51 +0530 Subject: [PATCH 5/8] feat(app): allow zero padding (#625) --- .changeset/tame-deers-whisper.md | 5 +++ .../PropertyEditor/FrameStyleForm.tsx | 34 ++++++++++++++----- .../src/components/Terminal/TerminalHost.tsx | 3 ++ apps/codeimage/src/core/configuration.ts | 8 ++++- apps/codeimage/src/state/editor/frame.ts | 6 ++-- 5 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 .changeset/tame-deers-whisper.md diff --git a/.changeset/tame-deers-whisper.md b/.changeset/tame-deers-whisper.md new file mode 100644 index 000000000..b47e056b9 --- /dev/null +++ b/.changeset/tame-deers-whisper.md @@ -0,0 +1,5 @@ +--- +'@codeimage/app': minor +--- + +feat: allow zero padding diff --git a/apps/codeimage/src/components/PropertyEditor/FrameStyleForm.tsx b/apps/codeimage/src/components/PropertyEditor/FrameStyleForm.tsx index 2e666af8b..0579b3996 100644 --- a/apps/codeimage/src/components/PropertyEditor/FrameStyleForm.tsx +++ b/apps/codeimage/src/components/PropertyEditor/FrameStyleForm.tsx @@ -12,12 +12,24 @@ import {CustomColorPicker} from './controls/ColorPicker/CustomColorPicker'; import {PanelHeader} from './PanelHeader'; import {PanelRow, TwoColumnPanelRow} from './PanelRow'; import {SuspenseEditorItem} from './SuspenseEditorItem'; +import {Select, createSelectOptions} from '@codeui/kit'; export const FrameStyleForm: ParentComponent = () => { const [t] = useI18n(); const {editorPadding, editorRadius} = appEnvironment; const frame = getFrameState(); + const paddingOptions = createSelectOptions( + editorPadding.map(padding => ({ + label: padding.label, + value: padding.value, + })), + { + key: 'label', + valueKey: 'value', + }, + ); + return ( <> @@ -27,16 +39,22 @@ export const FrameStyleForm: ParentComponent = () => { } > - String(frame.store.padding), + padding => { + if (typeof padding === 'undefined') { + return; + } + frame.setPadding(Number(padding)); + }, + )} + options={paddingOptions.options()} + aria-label={'Padding'} id={'paddingField'} size={'xs'} - value={frame.store.padding} - onChange={frame.setPadding} - items={editorPadding.map(padding => ({ - label: padding.toString(), - value: padding, - }))} /> diff --git a/apps/codeimage/src/components/Terminal/TerminalHost.tsx b/apps/codeimage/src/components/Terminal/TerminalHost.tsx index e74d27632..de1c5439f 100644 --- a/apps/codeimage/src/components/Terminal/TerminalHost.tsx +++ b/apps/codeimage/src/components/Terminal/TerminalHost.tsx @@ -8,6 +8,7 @@ import {FlowComponent} from 'solid-js'; import {TerminalGlassReflection} from './GlassReflection/TerminalGlassReflection'; import {createTabTheme} from './Tabs/createTabTheme'; import * as styles from './terminal.css'; +import {getFrameState} from '@codeimage/store/editor/frame'; export interface BaseTerminalProps extends Omit, @@ -30,6 +31,7 @@ export interface TerminalHostProps extends BaseTerminalProps { export const TerminalHost: FlowComponent = props => { const tabTheme = createTabTheme(() => props.themeId); const darkMode = () => tabTheme().darkMode; + const frameState = getFrameState().store; const background = () => { if (props.alternativeTheme) { @@ -62,6 +64,7 @@ export const TerminalHost: FlowComponent = props => { tabTheme().activeTabBackground ?? '', [styles.terminalVars.tabAccentInactiveBackground]: tabTheme().inactiveTabBackground ?? '', + [styles.terminalVars.radius]: frameState.padding === 0 ? 0 : undefined, ...(props.style ?? {}), })} > diff --git a/apps/codeimage/src/core/configuration.ts b/apps/codeimage/src/core/configuration.ts index c258ba618..c4fe12de1 100644 --- a/apps/codeimage/src/core/configuration.ts +++ b/apps/codeimage/src/core/configuration.ts @@ -7,7 +7,13 @@ export const [appEnvironment] = createConfiguration({ locales: SUPPORTED_LOCALES, themes: [], languages: [], - editorPadding: [16, 32, 64, 128], + editorPadding: [ + {label: '0', value: "0"}, + {label: '16', value: "16"}, + {label: '32', value: "32"}, + {label: '64', value: "64"}, + {label: '128', value: "128"}, + ], editorRadius: [ {label: '0', value: 0}, {label: '8', value: 8}, diff --git a/apps/codeimage/src/state/editor/frame.ts b/apps/codeimage/src/state/editor/frame.ts index f148e9f24..5066763f3 100644 --- a/apps/codeimage/src/state/editor/frame.ts +++ b/apps/codeimage/src/state/editor/frame.ts @@ -86,9 +86,11 @@ const frameState = defineStore(() => getInitialFrameState()) .hold(store.commands.setNextPadding, (_, {state}) => { const availablePadding = appEnvironment.editorPadding; const padding = state.padding; - const currentIndex = appEnvironment.editorPadding.indexOf(padding); + const currentIndex = appEnvironment.editorPadding.findIndex( + item => Number(item.value) === padding, + ); const next = (currentIndex + 1) % availablePadding.length; - return {...state, padding: availablePadding[next]}; + return {...state, padding: Number(availablePadding[next].value)}; }) .hold(store.commands.setFromPreset, presetData => { store.set(state => ({...state, ...presetData})); From 8b4908769b7d548dad0cbd6dcbd1b50e08999c80 Mon Sep 17 00:00:00 2001 From: Riccardo Perra Date: Mon, 15 Apr 2024 20:08:42 +0200 Subject: [PATCH 6/8] Update stale.yml --- .github/stale.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/stale.yml b/.github/stale.yml index dc90e5a1c..24ed5161d 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -1,7 +1,7 @@ # Number of days of inactivity before an issue becomes stale -daysUntilStale: 60 +daysUntilStale: 120 # Number of days of inactivity before a stale issue is closed -daysUntilClose: 7 +daysUntilClose: 120 # Issues with these labels will never be considered stale exemptLabels: - pinned From 9e537bcdf92ffaf43eb5e38f5f7fb578eaef9709 Mon Sep 17 00:00:00 2001 From: Riccardo Perra Date: Sat, 20 Apr 2024 20:21:12 +0200 Subject: [PATCH 7/8] feat(app,api): add line number start option (#624) * feat(app,api): add line number start option * chore: cleanup * Create slimy-dolphins-add.md * test(api): add integration test * lint: fix lint * lint: fix lint --- .changeset/slimy-dolphins-add.md | 6 + .../migration.sql | 2 + apps/api/prisma/schema.prisma | 2 + .../project/domain/projectUpdateRequest.ts | 2 + .../infra/prisma/prisma-project.repository.ts | 6 +- .../project/mapper/create-project-mapper.ts | 1 + .../mapper/get-project-by-id-mapper.ts | 1 + .../project/schema/project-create.schema.ts | 1 + .../project/schema/project-update.schema.ts | 1 + .../modules/project/schema/project.schema.ts | 1 + .../v1/project/create.integration.test.ts | 7 +- .../v1/project/update.integration.test.ts | 4 + apps/api/tsconfig.json | 11 +- apps/codeimage/package.json | 2 +- .../components/CustomEditor/CustomEditor.tsx | 12 +- .../PropertyEditor/EditorStyleForm.tsx | 35 +- apps/codeimage/src/core/configuration.ts | 14 +- apps/codeimage/src/i18n/sidebar.ts | 4 + .../src/pages/Dashboard/dashboard.state.ts | 1 + .../src/state/editor/activeEditor.ts | 18 +- apps/codeimage/src/state/editor/editor.ts | 5 + apps/codeimage/src/state/editor/model.ts | 2 + pnpm-lock.yaml | 1723 +++++++++++++++-- 23 files changed, 1706 insertions(+), 155 deletions(-) create mode 100644 .changeset/slimy-dolphins-add.md create mode 100644 apps/api/prisma/migrations/20240107110836_add_line_number_start/migration.sql diff --git a/.changeset/slimy-dolphins-add.md b/.changeset/slimy-dolphins-add.md new file mode 100644 index 000000000..81a0d01ae --- /dev/null +++ b/.changeset/slimy-dolphins-add.md @@ -0,0 +1,6 @@ +--- +"@codeimage/api": minor +"@codeimage/app": minor +--- + +feat(app,api): add line number start option diff --git a/apps/api/prisma/migrations/20240107110836_add_line_number_start/migration.sql b/apps/api/prisma/migrations/20240107110836_add_line_number_start/migration.sql new file mode 100644 index 000000000..5f6b5312f --- /dev/null +++ b/apps/api/prisma/migrations/20240107110836_add_line_number_start/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "SnippetEditorTab" ADD COLUMN "lineNumberStart" INTEGER NOT NULL DEFAULT 1; diff --git a/apps/api/prisma/schema.prisma b/apps/api/prisma/schema.prisma index 4425eda66..695753c87 100644 --- a/apps/api/prisma/schema.prisma +++ b/apps/api/prisma/schema.prisma @@ -82,6 +82,8 @@ model SnippetEditorTab { languageId String tabName String @default("") + lineNumberStart Int @default(1) + @@unique([id, projectId]) } diff --git a/apps/api/src/modules/project/domain/projectUpdateRequest.ts b/apps/api/src/modules/project/domain/projectUpdateRequest.ts index 0298ef1c8..e3447be7e 100644 --- a/apps/api/src/modules/project/domain/projectUpdateRequest.ts +++ b/apps/api/src/modules/project/domain/projectUpdateRequest.ts @@ -13,6 +13,7 @@ interface EditorUpdateRequest { code: NonNullable; languageId: NonNullable; tabName: NonNullable; + lineNumberStart: NonNullable; } interface EditorTabResponse { @@ -20,6 +21,7 @@ interface EditorTabResponse { code: NonNullable; languageId: NonNullable; tabName: NonNullable; + lineNumberStart: NonNullable; } export interface ProjectUpdateRequest { diff --git a/apps/api/src/modules/project/infra/prisma/prisma-project.repository.ts b/apps/api/src/modules/project/infra/prisma/prisma-project.repository.ts index ad37ebe4f..c7f78f7ee 100644 --- a/apps/api/src/modules/project/infra/prisma/prisma-project.repository.ts +++ b/apps/api/src/modules/project/infra/prisma/prisma-project.repository.ts @@ -138,20 +138,22 @@ export function makePrismaProjectRepository( }, }, upsert: data.editors.map(editor => { - const {languageId, code, tabName} = editor; + const {languageId, code, tabName, lineNumberStart, id} = editor; return { where: { - id: editor.id, + id, }, create: { code, tabName, languageId, + lineNumberStart, }, update: { code, tabName, languageId, + lineNumberStart, }, }; }), diff --git a/apps/api/src/modules/project/mapper/create-project-mapper.ts b/apps/api/src/modules/project/mapper/create-project-mapper.ts index 423a2ac11..9923d15ab 100644 --- a/apps/api/src/modules/project/mapper/create-project-mapper.ts +++ b/apps/api/src/modules/project/mapper/create-project-mapper.ts @@ -62,6 +62,7 @@ export function createProjectRequestMapper( languageId: editor.languageId, code: editor.code, tabName: editor.tabName, + lineNumberStart: editor.lineNumberStart, })), }; } diff --git a/apps/api/src/modules/project/mapper/get-project-by-id-mapper.ts b/apps/api/src/modules/project/mapper/get-project-by-id-mapper.ts index c5322015e..5fe1ef6b4 100644 --- a/apps/api/src/modules/project/mapper/get-project-by-id-mapper.ts +++ b/apps/api/src/modules/project/mapper/get-project-by-id-mapper.ts @@ -45,6 +45,7 @@ export function createCompleteProjectGetByIdResponseMapper( languageId: editor.languageId, code: editor.code, tabName: editor.tabName, + lineNumberStart: editor.lineNumberStart, })), isOwner: false, }; diff --git a/apps/api/src/modules/project/schema/project-create.schema.ts b/apps/api/src/modules/project/schema/project-create.schema.ts index c6584b8fd..317ecd741 100644 --- a/apps/api/src/modules/project/schema/project-create.schema.ts +++ b/apps/api/src/modules/project/schema/project-create.schema.ts @@ -26,6 +26,7 @@ export const SnippetEditorTabsCreateRequestSchema = Type.Array( code: Type.String(), languageId: Type.String(), tabName: Type.String(), + lineNumberStart: Type.Integer({minimum: 1, maximum: 999_999}), }, {title: 'SnippetEditorTabCreateRequest'}, ), diff --git a/apps/api/src/modules/project/schema/project-update.schema.ts b/apps/api/src/modules/project/schema/project-update.schema.ts index 0909d8066..37f99a671 100644 --- a/apps/api/src/modules/project/schema/project-update.schema.ts +++ b/apps/api/src/modules/project/schema/project-update.schema.ts @@ -21,6 +21,7 @@ export const SnippetEditorTabsUpdateRequestSchema = Type.Array( code: Type.String(), languageId: Type.String(), tabName: Type.String(), + lineNumberStart: Type.Integer({minimum: 1, maximum: 999_999}), }, {title: 'SnippetEditorTabUpdateRequest'}, ), diff --git a/apps/api/src/modules/project/schema/project.schema.ts b/apps/api/src/modules/project/schema/project.schema.ts index fc0682169..c474b20b8 100644 --- a/apps/api/src/modules/project/schema/project.schema.ts +++ b/apps/api/src/modules/project/schema/project.schema.ts @@ -21,6 +21,7 @@ export const BaseSnippetEditorTabsSchema = Type.Array( code: Type.String(), languageId: Type.String(), tabName: Type.String(), + lineNumberStart: Type.Integer({minimum: 1, maximum: 999_999}), }), ); diff --git a/apps/api/test/routes/v1/project/create.integration.test.ts b/apps/api/test/routes/v1/project/create.integration.test.ts index 0c9fccc33..6ed03cac9 100644 --- a/apps/api/test/routes/v1/project/create.integration.test.ts +++ b/apps/api/test/routes/v1/project/create.integration.test.ts @@ -35,7 +35,12 @@ test('POST /v1/project/ [Create Project] -> 200', async context => padding: 0, }, editors: [ - {code: 'function(){}', languageId: 'javascript', tabName: 'index.jsx'}, + { + code: 'function(){}', + languageId: 'javascript', + tabName: 'index.jsx', + lineNumberStart: 300, + }, ], editorOptions: { fontWeight: 400, diff --git a/apps/api/test/routes/v1/project/update.integration.test.ts b/apps/api/test/routes/v1/project/update.integration.test.ts index 1966f4cee..c660490c4 100644 --- a/apps/api/test/routes/v1/project/update.integration.test.ts +++ b/apps/api/test/routes/v1/project/update.integration.test.ts @@ -44,12 +44,14 @@ test('POST /v1/project/:id [Update Project] -> 200', async context code: '## title', languageId: 'markdown', tabName: 'README.md', + lineNumberStart: 1, }, { id: 'temp', code: '2', languageId: 'typescript', tabName: 'index.tsx', + lineNumberStart: 300, }, ], editorOptions: { @@ -134,12 +136,14 @@ test('POST /v1/project/:id [Update Project] -> 200', async context code: '## title', languageId: 'markdown', tabName: 'README.md', + lineNumberStart: 1, }, { id: body.editorTabs[1].id, code: '2', languageId: 'typescript', tabName: 'index.tsx', + lineNumberStart: 300, }, ] as ProjectUpdateResponse['editorTabs'], 'return updated editor tabs', diff --git a/apps/api/tsconfig.json b/apps/api/tsconfig.json index ac335409f..e9966bd19 100644 --- a/apps/api/tsconfig.json +++ b/apps/api/tsconfig.json @@ -3,16 +3,13 @@ "compilerOptions": { "outDir": "dist", "resolveJsonModule": false, + "declarationMap": true, "allowSyntheticDefaultImports": true, "sourceMap": true, "moduleResolution": "NodeNext", "module": "NodeNext", "target": "ES2022", - "typeRoots": [ - "./src/common/domainFunctions/functions.d.ts" - ] + "typeRoots": ["./src/common/domainFunctions/functions.d.ts"] }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/apps/codeimage/package.json b/apps/codeimage/package.json index 58a344380..98c4ed6ee 100644 --- a/apps/codeimage/package.json +++ b/apps/codeimage/package.json @@ -67,7 +67,7 @@ "@codemirror/search": "^6.4.0", "@codemirror/state": "^6.2.0", "@codemirror/view": "^6.11.0", - "@codeui/kit": "^0.0.36", + "@codeui/kit": "^0.0.37", "@floating-ui/core": "^1.2.2", "@floating-ui/dom": "^1.2.3", "@formatjs/intl-relativetimeformat": "11.1.4", diff --git a/apps/codeimage/src/components/CustomEditor/CustomEditor.tsx b/apps/codeimage/src/components/CustomEditor/CustomEditor.tsx index f829423dd..5871676f2 100644 --- a/apps/codeimage/src/components/CustomEditor/CustomEditor.tsx +++ b/apps/codeimage/src/components/CustomEditor/CustomEditor.tsx @@ -172,9 +172,15 @@ export default function CustomEditor(props: VoidProps) { createExtension(() => customFontExtension()); createExtension(currentLanguage); createExtension(currentExtraLanguage); - createExtension(() => - editorState.options.showLineNumbers ? lineNumbers() : [], - ); + + const lineNumberStart = createMemo(() => editor()?.lineNumberStart); + createExtension(() => { + const lnStart = lineNumberStart() ?? 1; + const newLn = (ln: number) => ln + (lnStart - 1); + return editorState.options.showLineNumbers + ? lineNumbers({formatNumber: lineNo => String(newLn(lineNo))}) + : []; + }); createExtension(() => themeConfiguration()?.editorTheme || []); createExtension(baseTheme); diff --git a/apps/codeimage/src/components/PropertyEditor/EditorStyleForm.tsx b/apps/codeimage/src/components/PropertyEditor/EditorStyleForm.tsx index 8504db422..028d300a6 100644 --- a/apps/codeimage/src/components/PropertyEditor/EditorStyleForm.tsx +++ b/apps/codeimage/src/components/PropertyEditor/EditorStyleForm.tsx @@ -6,7 +6,7 @@ import {getRootEditorStore} from '@codeimage/store/editor'; import {getActiveEditorStore} from '@codeimage/store/editor/activeEditor'; import {dispatchUpdateTheme} from '@codeimage/store/effects/onThemeChange'; import {getThemeStore} from '@codeimage/store/theme/theme.store'; -import {createSelectOptions, Select} from '@codeui/kit'; +import {createSelectOptions, Select, NumberField} from '@codeui/kit'; import {getUmami} from '@core/constants/umami'; import {DynamicSizedContainer} from '@ui/DynamicSizedContainer/DynamicSizedContainer'; import {SegmentedField} from '@ui/SegmentedField/SegmentedField'; @@ -18,6 +18,7 @@ import {PanelDivider} from './PanelDivider'; import {PanelHeader} from './PanelHeader'; import {PanelRow, TwoColumnPanelRow} from './PanelRow'; import {SuspenseEditorItem} from './SuspenseEditorItem'; +import {appEnvironment} from '@core/configuration'; const languages: readonly LanguageDefinition[] = [...SUPPORTED_LANGUAGES].sort( (a, b) => { @@ -35,9 +36,15 @@ const languages: readonly LanguageDefinition[] = [...SUPPORTED_LANGUAGES].sort( export const EditorStyleForm: ParentComponent = () => { const {themeArray} = getThemeStore(); + const {lineNumbers: lineNumbersConfig} = appEnvironment; const [t] = useI18n(); - const {editor, setLanguageId, formatter, setFormatterName} = - getActiveEditorStore(); + const { + editor, + setLanguageId, + formatter, + setFormatterName, + setLineNumberStart, + } = getActiveEditorStore(); const { state, actions: {setShowLineNumbers, setFontWeight, setFontId, setEnableLigatures}, @@ -207,6 +214,28 @@ export const EditorStyleForm: ParentComponent = () => { + + + + + } + > + + + + + diff --git a/apps/codeimage/src/core/configuration.ts b/apps/codeimage/src/core/configuration.ts index c4fe12de1..6296166d9 100644 --- a/apps/codeimage/src/core/configuration.ts +++ b/apps/codeimage/src/core/configuration.ts @@ -7,12 +7,16 @@ export const [appEnvironment] = createConfiguration({ locales: SUPPORTED_LOCALES, themes: [], languages: [], + lineNumbers: { + min: 1, + max: 999_999, + }, editorPadding: [ - {label: '0', value: "0"}, - {label: '16', value: "16"}, - {label: '32', value: "32"}, - {label: '64', value: "64"}, - {label: '128', value: "128"}, + {label: '0', value: '0'}, + {label: '16', value: '16'}, + {label: '32', value: '32'}, + {label: '64', value: '64'}, + {label: '128', value: '128'}, ], editorRadius: [ {label: '0', value: 0}, diff --git a/apps/codeimage/src/i18n/sidebar.ts b/apps/codeimage/src/i18n/sidebar.ts index b8731ec55..d8a2d33ee 100644 --- a/apps/codeimage/src/i18n/sidebar.ts +++ b/apps/codeimage/src/i18n/sidebar.ts @@ -17,6 +17,7 @@ export default { editor: 'Editor', language: 'Language', lineNumbers: 'Line number', + lineNumberStart: 'Line start', font: 'Font', theme: 'Theme', fontWeight: 'Font weight', @@ -43,6 +44,7 @@ export default { editor: 'Editor', language: 'Linguaggio', lineNumbers: 'Numeri di riga', + lineNumberStart: 'Line start', font: 'Carattere', fontWeight: 'Peso carattere', reflection: 'Riflesso', @@ -70,6 +72,7 @@ export default { editor: 'Editor', language: 'Sprache', lineNumbers: 'Zeilennummer', + lineNumberStart: 'Line start', font: 'Schriftart', fontWeight: 'Schriftstärke', reflection: 'Reflektion', @@ -97,6 +100,7 @@ export default { editor: 'Editor', language: 'Idioma', lineNumbers: 'Número de línea', + lineNumberStart: 'Line start', font: 'Fuente', fontWeight: 'Peso de fuente', reflection: 'Reflexión', diff --git a/apps/codeimage/src/pages/Dashboard/dashboard.state.ts b/apps/codeimage/src/pages/Dashboard/dashboard.state.ts index fcdff5579..0fa4eb209 100644 --- a/apps/codeimage/src/pages/Dashboard/dashboard.state.ts +++ b/apps/codeimage/src/pages/Dashboard/dashboard.state.ts @@ -74,6 +74,7 @@ function makeDashboardState(authState = getAuth0State()) { code: appEnvironment.defaultState.editor.code, languageId: appEnvironment.defaultState.editor.languageId, tabName: 'index.tsx', + lineNumberStart: 1, }, ], }, diff --git a/apps/codeimage/src/state/editor/activeEditor.ts b/apps/codeimage/src/state/editor/activeEditor.ts index 14159ae2f..51a5774dc 100644 --- a/apps/codeimage/src/state/editor/activeEditor.ts +++ b/apps/codeimage/src/state/editor/activeEditor.ts @@ -3,7 +3,8 @@ import {useI18n} from '@codeimage/locale'; import {getRootEditorStore} from '@codeimage/store/editor'; import {getUiStore} from '@codeimage/store/ui'; import {toast} from '@codeimage/ui'; -import {isNonNullable} from '@solid-primitives/utils'; +import {appEnvironment} from '@core/configuration'; +import {clamp, isNonNullable} from '@solid-primitives/utils'; import {createEffect, createMemo, createRoot, on} from 'solid-js'; import {createPrettierFormatter} from '../../hooks/createPrettierFormatter'; import {AppLocaleEntries} from '../../i18n'; @@ -46,6 +47,20 @@ const $activeEditorState = () => { const setCode = (code: string) => setEditors(currentEditorIndex(), 'code', code); + const setLineNumberStart = (lineNumberStart: number | null | undefined) => { + if (lineNumberStart === null) return; + return setEditors( + currentEditorIndex(), + 'lineNumberStart', + // TODO Already done by @codeui/kit but I don't feel safe about this component I made + clamp( + lineNumberStart ?? 1, + appEnvironment.lineNumbers.min, + appEnvironment.lineNumbers.max, + ), + ); + }; + const setFormatterName = (formatter: string | null) => setEditors(currentEditorIndex(), 'formatter', formatter); @@ -83,6 +98,7 @@ const $activeEditorState = () => { editor: currentEditor, setLanguageId, setCode, + setLineNumberStart, formatter, setFormatterName, canFormat: formatter.canFormat, diff --git a/apps/codeimage/src/state/editor/editor.ts b/apps/codeimage/src/state/editor/editor.ts index 987087c8a..ca6c96b24 100644 --- a/apps/codeimage/src/state/editor/editor.ts +++ b/apps/codeimage/src/state/editor/editor.ts @@ -22,6 +22,7 @@ export function getInitialEditorState(): EditorState { code: appEnvironment.defaultState.editor.code, languageId: appEnvironment.defaultState.editor.languageId, formatter: null, + lineNumberStart: 1, tab: { tabName: 'index.tsx', tabIcon: undefined, @@ -104,6 +105,7 @@ export function createEditorsStore() { languageId: editor.languageId, id: editor.id, code: editor.code, + lineNumberStart: editor.lineNumberStart, })); return { options: {...state.options, ...persistedState.options}, @@ -114,6 +116,7 @@ export function createEditorsStore() { languageId: editor.languageId, tab: {tabName: editor.tabName}, id: editor.id, + lineNumberStart: editor.lineNumberStart, }; }), }; @@ -136,6 +139,7 @@ export function createEditorsStore() { code: editor.code, tabName: editor.tab.tabName ?? '', id: editor.id, + lineNumberStart: editor.lineNumberStart ?? 1, }; }), options: { @@ -245,6 +249,7 @@ export function createEditorsStore() { languageId: editor.languageId, id: editor.id, code: editor.code, + lineNumberStart: editor.lineNumberStart ?? 1, } as EditorState), ), ); diff --git a/apps/codeimage/src/state/editor/model.ts b/apps/codeimage/src/state/editor/model.ts index dbb2a4cf9..11328b5fa 100644 --- a/apps/codeimage/src/state/editor/model.ts +++ b/apps/codeimage/src/state/editor/model.ts @@ -19,6 +19,7 @@ export interface EditorState { tab: TabState; formatter?: string | null; languageId: string; + lineNumberStart: number; } export interface EditorUIOptions { @@ -37,6 +38,7 @@ export interface PersistedEditorState { code: string; tabName: string; languageId: string; + lineNumberStart: number; }[]; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 672fc358e..847802aaf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -88,7 +88,7 @@ importers: version: 13.2.1(enquirer@2.3.6) pnpm-bundle-workspace-package: specifier: ^1.0.2 - version: 1.0.2(@yarnpkg/core@4.0.1)(typanion@3.14.0) + version: 1.0.2(@yarnpkg/core@4.0.2)(typanion@3.14.0) prettier: specifier: ^2.8.4 version: 2.8.7 @@ -239,7 +239,7 @@ importers: version: link:../../packages/vanilla-extract '@codemirror/autocomplete': specifier: ^6.6.1 - version: 6.6.1(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.1.1) + version: 6.6.1(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.2.0) '@codemirror/commands': specifier: ^6.2.4 version: 6.2.4 @@ -269,13 +269,13 @@ importers: version: 6.0.1 '@codemirror/lang-python': specifier: ^6.1.2 - version: 6.1.2(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.1.1) + version: 6.1.2(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.2.0) '@codemirror/lang-rust': specifier: ^6.0.1 version: 6.0.1 '@codemirror/lang-sql': specifier: ^6.4.1 - version: 6.4.1(@codemirror/view@6.11.0)(@lezer/common@1.1.1) + version: 6.4.1(@codemirror/view@6.11.0)(@lezer/common@1.2.0) '@codemirror/language': specifier: ^6.6.0 version: 6.6.0 @@ -292,8 +292,8 @@ importers: specifier: ^6.11.0 version: 6.11.0 '@codeui/kit': - specifier: ^0.0.36 - version: 0.0.36(solid-js@1.8.6)(ts-node@10.9.1)(vite@3.2.5) + specifier: ^0.0.37 + version: 0.0.37(solid-js@1.8.6)(ts-node@10.9.1)(vite@3.2.5) '@floating-ui/core': specifier: ^1.2.2 version: 1.5.0 @@ -438,7 +438,7 @@ importers: version: 3.0.0 '@mdx-js/rollup': specifier: 3.0.0 - version: 3.0.0(rollup@2.79.1) + version: 3.0.0(rollup@4.9.4) '@mswjs/data': specifier: ^0.10.2 version: 0.10.2(typescript@5.3.2) @@ -635,7 +635,7 @@ importers: version: link:../highlight '@codemirror/autocomplete': specifier: ^6.6.1 - version: 6.6.1(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.1.1) + version: 6.6.1(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.2.0) '@codemirror/commands': specifier: ^6.2.4 version: 6.2.4 @@ -665,13 +665,13 @@ importers: version: 6.0.1 '@codemirror/lang-python': specifier: ^6.1.2 - version: 6.1.2(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.1.1) + version: 6.1.2(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.2.0) '@codemirror/lang-rust': specifier: ^6.0.1 version: 6.0.1 '@codemirror/lang-sql': specifier: ^6.4.1 - version: 6.4.1(@codemirror/view@6.11.0)(@lezer/common@1.1.1) + version: 6.4.1(@codemirror/view@6.11.0)(@lezer/common@1.2.0) '@codemirror/lang-xml': specifier: ^6.0.2 version: 6.0.2(@codemirror/view@6.11.0) @@ -732,7 +732,7 @@ importers: version: 3.2.5(@types/node@18.16.17) vite-plugin-dts: specifier: ^1.7.3 - version: 1.7.3(@types/node@18.16.17)(vite@3.2.5) + version: 1.7.3(@types/node@18.16.17)(rollup@2.79.1)(vite@3.2.5) vite-plugin-solid: specifier: ^2.6.1 version: 2.7.0(solid-js@1.8.6)(vite@3.2.5) @@ -772,7 +772,7 @@ importers: version: 3.2.5(@types/node@18.16.17) vite-plugin-dts: specifier: ^1.7.3 - version: 1.7.3(@types/node@18.16.17)(vite@3.2.5) + version: 1.7.3(@types/node@18.16.17)(rollup@2.79.1)(vite@3.2.5) vitest: specifier: 0.26.2 version: 0.26.2(happy-dom@8.1.1) @@ -966,10 +966,10 @@ importers: devDependencies: '@babel/plugin-syntax-jsx': specifier: ^7.21.4 - version: 7.21.4(@babel/core@7.23.3) + version: 7.21.4(@babel/core@7.23.7) '@rollup/plugin-babel': specifier: ^6.0.3 - version: 6.0.3(@babel/core@7.23.3)(rollup@2.79.1) + version: 6.0.3(@babel/core@7.23.7)(rollup@2.79.1) '@rollup/plugin-node-resolve': specifier: ^15.0.2 version: 15.0.2(rollup@2.79.1) @@ -984,7 +984,7 @@ importers: version: 1.2.1(rollup@2.79.1) acorn-jsx: specifier: ^5.3.2 - version: 5.3.2(acorn@8.11.2) + version: 5.3.2(acorn@8.11.3) chalk: specifier: 5.1.2 version: 5.1.2 @@ -1118,10 +1118,23 @@ packages: '@babel/highlight': 7.22.20 chalk: 2.4.2 + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: true + /@babel/compat-data@7.23.3: resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} engines: {node: '>=6.9.0'} + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/core@7.23.3: resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} engines: {node: '>=6.9.0'} @@ -1144,6 +1157,29 @@ packages: transitivePeerDependencies: - supports-color + /@babel/core@7.23.7: + resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@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/core@7.23.7) + '@babel/helpers': 7.23.7 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/generator@7.23.3: resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==} engines: {node: '>=6.9.0'} @@ -1153,6 +1189,16 @@ packages: '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 + /@babel/generator@7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + '@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'} @@ -1175,6 +1221,17 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@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 + dev: true + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} @@ -1192,6 +1249,42 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.7): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-annotate-as-pure': 7.22.5 + '@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.20(@babel/core@7.23.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.23.7): + resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-annotate-as-pure': 7.22.5 + '@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.20(@babel/core@7.23.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.3): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} @@ -1203,6 +1296,18 @@ packages: regexpu-core: 5.3.2 semver: 6.3.1 + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.7): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.3): resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} peerDependencies: @@ -1217,6 +1322,21 @@ packages: transitivePeerDependencies: - supports-color + /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.23.7): + resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} @@ -1265,6 +1385,20 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} @@ -1286,6 +1420,18 @@ packages: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.7): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + dev: true + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} @@ -1297,6 +1443,18 @@ packages: '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.7): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -1319,6 +1477,11 @@ packages: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} @@ -1327,6 +1490,11 @@ packages: resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-wrap-function@7.22.20: resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} @@ -1345,6 +1513,17 @@ packages: transitivePeerDependencies: - supports-color + /@babel/helpers@7.23.7: + resolution: {integrity: sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/highlight@7.22.20: resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} @@ -1353,6 +1532,16 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + requiresBuild: true + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + /@babel/parser@7.23.3: resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} engines: {node: '>=6.0.0'} @@ -1360,6 +1549,14 @@ packages: dependencies: '@babel/types': 7.23.3 + /@babel/parser@7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.6 + dev: true + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} @@ -1369,6 +1566,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} @@ -1380,6 +1587,18 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.23.3(@babel/core@7.23.3) + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.23.3(@babel/core@7.23.7) + dev: true + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==} engines: {node: '>=6.9.0'} @@ -1390,6 +1609,17 @@ packages: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.7): + resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} @@ -1398,6 +1628,15 @@ packages: dependencies: '@babel/core': 7.23.3 + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + dev: true + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.3): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -1406,6 +1645,15 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.3): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: @@ -1414,6 +1662,15 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.3): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} @@ -1423,6 +1680,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.7): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: @@ -1431,6 +1698,15 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.7): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: @@ -1439,6 +1715,15 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.7): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} @@ -1448,6 +1733,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} @@ -1457,6 +1752,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.3): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: @@ -1465,6 +1770,15 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -1473,6 +1787,15 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.23.3): resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} engines: {node: '>=6.9.0'} @@ -1482,30 +1805,67 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.3): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.23.7): + resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.3): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.3): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -1514,6 +1874,15 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -1522,6 +1891,15 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -1530,6 +1908,15 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.3): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} @@ -1539,6 +1926,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.7): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.3): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} @@ -1548,6 +1945,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.23.3): resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} engines: {node: '>=6.9.0'} @@ -1567,6 +1974,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.7): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} @@ -1576,6 +1994,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-async-generator-functions@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-59GsVNavGxAXCDDbakWSMJhajASb4kBCqDjqJsv+p5nKdbz7istmZ3HrX3L2LuiI80+zsOADCvooqQH3qGCucQ==} engines: {node: '>=6.9.0'} @@ -1588,6 +2016,19 @@ packages: '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) + /@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.23.7): + resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) + dev: true + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} @@ -1599,6 +2040,18 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) + dev: true + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} @@ -1608,6 +2061,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-block-scoping@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-QPZxHrThbQia7UdvfpaRRlq/J9ciz1J4go0k+lPBXbgaNeY7IQrBj/9ceWjvMMI07/ZBzHl/F0R/2K0qH7jCVw==} engines: {node: '>=6.9.0'} @@ -1617,6 +2080,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} @@ -1627,6 +2100,17 @@ packages: '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-class-static-block@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-PENDVxdr7ZxKPyi5Ffc0LjXdnJyrJxyqF5T5YjlVg4a0VFfQHW0r8iAtRiDXkfHlu1wwcvdtnndGYIeJLSuRMQ==} engines: {node: '>=6.9.0'} @@ -1638,6 +2122,18 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) + dev: true + /@babel/plugin-transform-classes@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==} engines: {node: '>=6.9.0'} @@ -1655,6 +2151,24 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 + /@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.7): + resolution: {integrity: sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-annotate-as-pure': 7.22.5 + '@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/core@7.23.7) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + dev: true + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} @@ -1665,6 +2179,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.15 + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 + dev: true + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} @@ -1674,6 +2199,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} @@ -1684,6 +2219,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} @@ -1693,6 +2239,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-dynamic-import@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-vTG+cTGxPFou12Rj7ll+eD5yWeNl5/8xvQvF08y5Gv3v4mZQoyFf8/n9zg4q5vvCWt5jmgymfzMAldO7orBn7A==} engines: {node: '>=6.9.0'} @@ -1703,6 +2259,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) + dev: true + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} @@ -1713,6 +2280,17 @@ packages: '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-export-namespace-from@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-yCLhW34wpJWRdTxxWtFZASJisihrfyMOTOQexhVzA78jlU+dH7Dw+zQgcPepQ5F3C6bAIiblZZ+qBggJdHiBAg==} engines: {node: '>=6.9.0'} @@ -1723,6 +2301,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) + dev: true + /@babel/plugin-transform-for-of@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==} engines: {node: '>=6.9.0'} @@ -1732,6 +2321,17 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.7): + resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} @@ -1743,6 +2343,18 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-json-strings@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-H9Ej2OiISIZowZHaBwF0tsJOih1PftXJtE8EWqlEIwpc7LMTGq0rPOrywKLQ4nefzx8/HMR0D3JGXoMHYvhi0A==} engines: {node: '>=6.9.0'} @@ -1753,6 +2365,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) + dev: true + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} @@ -1762,6 +2385,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-logical-assignment-operators@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-+pD5ZbxofyOygEp+zZAfujY2ShNCXRpDRIPOiBmTO693hhyOEteZgl876Xs9SAHPQpcV0vz8LvA/T+w8AzyX8A==} engines: {node: '>=6.9.0'} @@ -1772,6 +2405,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) + dev: true + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} @@ -1781,6 +2425,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} @@ -1791,6 +2445,17 @@ packages: '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} @@ -1802,6 +2467,18 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + dev: true + /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} engines: {node: '>=6.9.0'} @@ -1814,6 +2491,19 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 + /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} @@ -1824,6 +2514,17 @@ packages: '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.3): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} @@ -1834,6 +2535,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.7): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} @@ -1843,6 +2555,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-nullish-coalescing-operator@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-xzg24Lnld4DYIdysyf07zJ1P+iIfJpxtVFOzX4g+bsJ3Ng5Le7rXx9KwqKzuyaUeRnt+I1EICwQITqc0E2PmpA==} engines: {node: '>=6.9.0'} @@ -1853,6 +2575,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) + dev: true + /@babel/plugin-transform-numeric-separator@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-s9GO7fIBi/BLsZ0v3Rftr6Oe4t0ctJ8h4CCXfPoEJwmvAPMyNrfkOOJzm6b9PX9YXcCJWWQd/sBF/N26eBiMVw==} engines: {node: '>=6.9.0'} @@ -1861,70 +2594,162 @@ packages: dependencies: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) + + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) + dev: true + + /@babel/plugin-transform-object-rest-spread@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-VxHt0ANkDmu8TANdE9Kc0rndo/ccsmfe2Cx2y5sI4hu3AukHQ5wAu4cM7j3ba8B9548ijVyclBU+nuDQftZsog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) + + /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.7 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) + dev: true + + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-LxYSb0iLjUamfm7f1D7GpiS4j0UAC8AOiehnsGAP8BEsIX8EOi3qV6bbctw8M7ZvLtcoZfZX5Z7rN9PlWk0m5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) + + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) + dev: true + + /@babel/plugin-transform-optional-chaining@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zvL8vIfIUgMccIAK1lxjvNv572JHFJIKb4MWBz5OGdBQA0fB0Xluix5rmOby48exiJc987neOmP/m9Fnpkz3Tg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) - /@babel/plugin-transform-object-rest-spread@7.23.3(@babel/core@7.23.3): - resolution: {integrity: sha512-VxHt0ANkDmu8TANdE9Kc0rndo/ccsmfe2Cx2y5sI4hu3AukHQ5wAu4cM7j3ba8B9548ijVyclBU+nuDQftZsog==} + /@babel/plugin-transform-optional-chaining@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-zvL8vIfIUgMccIAK1lxjvNv572JHFJIKb4MWBz5OGdBQA0fB0Xluix5rmOby48exiJc987neOmP/m9Fnpkz3Tg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.3 - '@babel/core': 7.23.3 - '@babel/helper-compilation-targets': 7.22.15 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) + dev: true - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.3): - resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) + dev: true - /@babel/plugin-transform-optional-catch-binding@7.23.3(@babel/core@7.23.3): - resolution: {integrity: sha512-LxYSb0iLjUamfm7f1D7GpiS4j0UAC8AOiehnsGAP8BEsIX8EOi3qV6bbctw8M7ZvLtcoZfZX5Z7rN9PlWk0m5A==} + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) - /@babel/plugin-transform-optional-chaining@7.23.3(@babel/core@7.23.3): - resolution: {integrity: sha512-zvL8vIfIUgMccIAK1lxjvNv572JHFJIKb4MWBz5OGdBQA0fB0Xluix5rmOby48exiJc987neOmP/m9Fnpkz3Tg==} + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) + dev: true - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.3): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.3): + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/core': 7.23.7 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-private-property-in-object@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-a5m2oLNFyje2e/rGKjVfAELTVI5mbA0FeZpBnkOWWV7eSmKQ+T/XW0Vf+29ScLzSxX+rnsarvU0oie/4m6hkxA==} @@ -1938,6 +2763,19 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) + dev: true + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} @@ -1947,6 +2785,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} @@ -1957,6 +2805,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 + dev: true + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} @@ -1966,6 +2825,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} @@ -1975,6 +2844,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} @@ -1985,6 +2864,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} @@ -1994,6 +2884,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} @@ -2003,6 +2903,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} @@ -2012,6 +2922,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.23.3): resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==} engines: {node: '>=6.9.0'} @@ -2033,6 +2953,16 @@ packages: '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} @@ -2043,6 +2973,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} @@ -2053,6 +2994,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} @@ -2063,6 +3015,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/preset-env@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==} engines: {node: '>=6.9.0'} @@ -2153,6 +3116,97 @@ packages: transitivePeerDependencies: - supports-color + /@babel/preset-env@7.23.7(@babel/core@7.23.7): + resolution: {integrity: sha512-SY27X/GtTz/L4UryMNJ6p4fH4nsgWbz84y9FE0bQeWJP6O5BhgVCt53CotQKHCOeXJel8VyhlhujhlltKms/CA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.7 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.7) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.23.7) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.7) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.7) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.7) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.7) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.7) + babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.7) + babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.7) + babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.7) + core-js-compat: 3.35.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.3): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: @@ -2163,6 +3217,17 @@ packages: '@babel/types': 7.23.3 esutils: 2.0.3 + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.7): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/types': 7.23.3 + esutils: 2.0.3 + dev: true + /@babel/preset-typescript@7.21.4(@babel/core@7.23.3): resolution: {integrity: sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A==} engines: {node: '>=6.9.0'} @@ -2185,6 +3250,13 @@ packages: dependencies: regenerator-runtime: 0.14.0 + /@babel/runtime@7.23.7: + resolution: {integrity: sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: true + /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} @@ -2210,6 +3282,24 @@ packages: transitivePeerDependencies: - supports-color + /@babel/traverse@7.23.7: + resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} + engines: {node: '>=6.9.0'} + dependencies: + '@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.6 + '@babel/types': 7.23.6 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/types@7.23.3: resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} engines: {node: '>=6.9.0'} @@ -2218,6 +3308,15 @@ packages: '@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 + dev: true + /@bundled-es-modules/cookie@2.0.0: resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} requiresBuild: true @@ -2441,6 +3540,20 @@ packages: '@codemirror/view': 6.11.0 '@lezer/common': 1.1.1 + /@codemirror/autocomplete@6.6.1(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.2.0): + resolution: {integrity: sha512-RpsvnYOopnyNbZg487qoRD5bKg63KMMUVP5d8MQ4Luc7Mb6JBWTORovLi6cTvWaKlbmLW8Zd2dAJkIdrhBsXug==} + peerDependencies: + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + '@lezer/common': ^1.0.0 + dependencies: + '@codemirror/language': 6.6.0 + '@codemirror/state': 6.2.0 + '@codemirror/view': 6.11.0 + '@lezer/common': 1.2.0 + dev: false + /@codemirror/commands@6.2.4: resolution: {integrity: sha512-42lmDqVH0ttfilLShReLXsDfASKLXzfyC36bzwcqzox9PlHulMcsUOfHXNo2X2aFMVNUoQ7j+d4q5bnfseYoOA==} dependencies: @@ -2529,10 +3642,10 @@ packages: '@lezer/php': 1.0.1 dev: false - /@codemirror/lang-python@6.1.2(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.1.1): + /@codemirror/lang-python@6.1.2(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.2.0): resolution: {integrity: sha512-nbQfifLBZstpt6Oo4XxA2LOzlSp4b/7Bc5cmodG1R+Cs5PLLCTUvsMNWDnziiCfTOG/SW1rVzXq/GbIr6WXlcw==} dependencies: - '@codemirror/autocomplete': 6.6.1(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.1.1) + '@codemirror/autocomplete': 6.6.1(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.2.0) '@codemirror/language': 6.6.0 '@lezer/python': 1.1.5 transitivePeerDependencies: @@ -2548,10 +3661,10 @@ packages: '@lezer/rust': 1.0.0 dev: false - /@codemirror/lang-sql@6.4.1(@codemirror/view@6.11.0)(@lezer/common@1.1.1): + /@codemirror/lang-sql@6.4.1(@codemirror/view@6.11.0)(@lezer/common@1.2.0): resolution: {integrity: sha512-PFB56L+A0WGY35uRya+Trt5g19V9k2V9X3c55xoFW4RgiATr/yLqWsbbnEsdxuMn5tLpuikp7Kmj9smRsqBXAg==} dependencies: - '@codemirror/autocomplete': 6.6.1(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.1.1) + '@codemirror/autocomplete': 6.6.1(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.2.0) '@codemirror/language': 6.6.0 '@codemirror/state': 6.2.0 '@lezer/highlight': 1.1.4 @@ -2649,24 +3762,26 @@ packages: - vite dev: true - /@codeui/kit@0.0.36(solid-js@1.8.6)(ts-node@10.9.1)(vite@3.2.5): - resolution: {integrity: sha512-JVuj/S47X90eN8s3GN7MWlj+GqzlRxsfqzR3w0fmYswqzctjuLTKXOCrHIlRFeqVDrDq0pyOOnVuoISXZAMz1Q==} + /@codeui/kit@0.0.37(solid-js@1.8.6)(ts-node@10.9.1)(vite@3.2.5): + resolution: {integrity: sha512-zX212tQNUwy8ezuExlIRA5JRWAt7QmGOUzxT/JWf85AlfABKyXIv/13G4hxKXkDC/1botgqfeKfkwHB70XdK9A==} peerDependencies: solid-js: ^1.7.0 dependencies: '@kobalte/core': 0.11.2(solid-js@1.8.6) '@kobalte/utils': 0.9.0(solid-js@1.8.6) '@kobalte/vanilla-extract': 0.4.0(@vanilla-extract/css@1.11.0) + '@maskito/core': 1.9.0 + '@maskito/kit': 1.9.0(@maskito/core@1.9.0) '@motionone/solid': 10.16.2(solid-js@1.8.6) '@radix-ui/colors': 0.1.9 '@solid-primitives/pagination': 0.2.9(solid-js@1.8.6) '@solid-primitives/scheduled': 1.4.1(solid-js@1.8.6) - '@tanstack/solid-virtual': 3.0.0-beta.6 - '@tanstack/virtual-core': 3.0.0-alpha.1 + '@tanstack/solid-virtual': 3.0.1(solid-js@1.8.6) + '@tanstack/virtual-core': 3.0.1 '@vanilla-extract/css': 1.11.0 '@vanilla-extract/dynamic': 2.0.3 '@vanilla-extract/recipes': 0.4.0(@vanilla-extract/css@1.11.0) - '@vanilla-extract/vite-plugin': 3.9.0(ts-node@10.9.1)(vite@3.2.5) + '@vanilla-extract/vite-plugin': 3.9.3(ts-node@10.9.1)(vite@3.2.5) motion: 10.15.5 polished: 4.2.2 solid-js: 1.8.6 @@ -3430,6 +4545,10 @@ packages: /@lezer/common@1.1.1: resolution: {integrity: sha512-aAPB9YbvZHqAW+bIwiuuTDGB4DG0sYNRObGLxud8cW7osw1ZQxfDuTZ8KQiqfZ0QJGcR34CvpTMDXEyo/+Htgg==} + /@lezer/common@1.2.0: + resolution: {integrity: sha512-Wmvlm4q6tRpwiy20TnB3yyLTZim38Tkc50dPY8biQRwqE+ati/wD84rm3N15hikvdT4uSg9phs9ubjvcLmkpKg==} + dev: false + /@lezer/cpp@1.1.0: resolution: {integrity: sha512-zUHrjNFuY/DOZCkOBJ6qItQIkcopHM/Zv/QOE0a4XNG3HDNahxTNu5fQYl8dIuKCpxCqRdMl5cEwl5zekFc7BA==} dependencies: @@ -3581,6 +4700,18 @@ packages: globby: 11.1.0 read-yaml-file: 1.1.0 + /@maskito/core@1.9.0: + resolution: {integrity: sha512-WQIUrwkdIUg6PzAb4Apa0RjTPHB0EqZLc9/7kWCKVIixhkITRFXFg2BhiDVSRv0mIKVlAEJcOvvjHK5T3UaIig==} + dev: false + + /@maskito/kit@1.9.0(@maskito/core@1.9.0): + resolution: {integrity: sha512-LNNgOJ0tAfrPoPehvoP+ZyYF9giOYL02sOMKyDC3IcqDNA8BAU0PARmS7TNsVEBpvSuJhU6xVt40nxJaONgUdw==} + peerDependencies: + '@maskito/core': ^1.9.0 + dependencies: + '@maskito/core': 1.9.0 + dev: false + /@mdx-js/mdx@3.0.0: resolution: {integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==} dependencies: @@ -3611,14 +4742,14 @@ packages: - supports-color dev: true - /@mdx-js/rollup@3.0.0(rollup@2.79.1): + /@mdx-js/rollup@3.0.0(rollup@4.9.4): resolution: {integrity: sha512-ITvGiwPGEBW+D7CCnpSA9brzAosIWHAi4y+Air8wgfLnez8aWue50avHtWMfnFLCp7vt+JQ9UM8nwfuQuuydxw==} peerDependencies: rollup: '>=2' dependencies: '@mdx-js/mdx': 3.0.0 - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) - rollup: 2.79.1 + '@rollup/pluginutils': 5.0.2(rollup@4.9.4) + rollup: 4.9.4 source-map: 0.7.4 vfile: 6.0.1 transitivePeerDependencies: @@ -3765,7 +4896,7 @@ packages: strict-event-emitter: 0.2.8 uuid: 8.3.2 optionalDependencies: - msw: 2.0.11(typescript@5.3.2) + msw: 2.0.12(typescript@5.3.2) transitivePeerDependencies: - supports-color - typescript @@ -3936,15 +5067,15 @@ packages: load-json-file: 6.2.0 dev: true - /@pnpm/cli-utils@0.7.43(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0): + /@pnpm/cli-utils@0.7.43(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0): resolution: {integrity: sha512-xawa2YteWQT6KS3tlU2t7SzHIS7hi6LYRQNwxFfNl4da89pTu3szZvVcYMTuEYjXsue5+L0OkJbWZL64lNME5A==} engines: {node: '>=14.6'} peerDependencies: '@pnpm/logger': ^4.0.0 dependencies: '@pnpm/cli-meta': 3.0.8 - '@pnpm/config': 15.10.12(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0) - '@pnpm/default-reporter': 10.1.1(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0) + '@pnpm/config': 15.10.12(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0) + '@pnpm/default-reporter': 10.1.1(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0) '@pnpm/error': 3.1.0 '@pnpm/logger': 4.0.0 '@pnpm/manifest-utils': 3.1.6(@pnpm/logger@4.0.0) @@ -3961,7 +5092,7 @@ packages: - typanion dev: true - /@pnpm/config@15.10.12(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0): + /@pnpm/config@15.10.12(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0): resolution: {integrity: sha512-yCxgplRZOkQ9Y8V5MNjOIAL9cncbplTNlr+FWIvueRrCiU6zARZhsj7BIOXh+N8SKgtKyIb3UKOtgIslh1KYxQ==} engines: {node: '>=14.6'} dependencies: @@ -3970,7 +5101,7 @@ packages: '@pnpm/git-utils': 0.1.0 '@pnpm/matcher': 3.2.0 '@pnpm/npm-conf': 2.0.0 - '@pnpm/pnpmfile': 3.0.3(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0) + '@pnpm/pnpmfile': 3.0.3(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0) '@pnpm/read-project-manifest': 3.0.13 '@pnpm/types': 8.7.0 camelcase: 6.3.0 @@ -4012,7 +5143,7 @@ packages: '@pnpm/types': 8.7.0 dev: true - /@pnpm/core@6.0.3(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0): + /@pnpm/core@6.0.3(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0): resolution: {integrity: sha512-fTmsXqX/zPNGn46OQqnmhI94jigXarCNo/E3LlB4Sr5WEQrZ/x6UIqXNY6NNBacXkzwBnFECe+quIi9lZOao/w==} engines: {node: '>=14.6'} peerDependencies: @@ -4029,7 +5160,7 @@ packages: '@pnpm/graph-sequencer': 1.0.0 '@pnpm/headless': 18.7.6(@pnpm/logger@4.0.0)(typanion@3.14.0) '@pnpm/hoist': 6.2.14(@pnpm/logger@4.0.0) - '@pnpm/hooks.read-package-hook': 1.0.2(@yarnpkg/core@4.0.1) + '@pnpm/hooks.read-package-hook': 1.0.2(@yarnpkg/core@4.0.2) '@pnpm/lifecycle': 13.1.12(@pnpm/logger@4.0.0)(typanion@3.14.0) '@pnpm/link-bins': 7.2.10(@pnpm/logger@4.0.0) '@pnpm/lockfile-file': 5.3.8(@pnpm/logger@4.0.0) @@ -4084,13 +5215,13 @@ packages: rfc4648: 1.5.2 dev: true - /@pnpm/default-reporter@10.1.1(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0): + /@pnpm/default-reporter@10.1.1(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0): resolution: {integrity: sha512-HLLuntUHLYiONcuQmpOTpZgRnncb6aVQTXhCKQDqeXDQrG8Hl0uAoG7qQ7Qj9JNBO1Y3BlEwe4VIw8ELed9XJw==} engines: {node: '>=14.6'} peerDependencies: '@pnpm/logger': ^4.0.0 dependencies: - '@pnpm/config': 15.10.12(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0) + '@pnpm/config': 15.10.12(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0) '@pnpm/core-loggers': 7.1.0(@pnpm/logger@4.0.0) '@pnpm/error': 3.1.0 '@pnpm/logger': 4.0.0 @@ -4179,11 +5310,11 @@ packages: ramda: /@pnpm/ramda@0.28.1 dev: true - /@pnpm/find-workspace-packages@4.0.43(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0): + /@pnpm/find-workspace-packages@4.0.43(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0): resolution: {integrity: sha512-2bkesfy8IfOnii6xhr0+HeDXjM95faZOX1nvbNJ1bvXYZCVc13QiDmukKP0ovzbhQ2mcVM5K16PsekeFHDrq7g==} engines: {node: '>=14.6'} dependencies: - '@pnpm/cli-utils': 0.7.43(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0) + '@pnpm/cli-utils': 0.7.43(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0) '@pnpm/constants': 6.1.0 '@pnpm/types': 8.7.0 find-packages: 9.0.13 @@ -4296,7 +5427,7 @@ packages: ramda: /@pnpm/ramda@0.28.1 dev: true - /@pnpm/hooks.read-package-hook@1.0.2(@yarnpkg/core@4.0.1): + /@pnpm/hooks.read-package-hook@1.0.2(@yarnpkg/core@4.0.2): resolution: {integrity: sha512-zet25UoINhER3hZKgE+6wPlpuXOprD+VlKemgpt7c8r5+l44S4qytfDpuPnkBT3/oxIUbkTmajFDPfL5F8hRIA==} engines: {node: '>=14.6'} dependencies: @@ -4304,7 +5435,7 @@ packages: '@pnpm/parse-overrides': 2.0.4 '@pnpm/parse-wanted-dependency': 3.0.2 '@pnpm/types': 8.7.0 - '@yarnpkg/extensions': 2.0.0-rc.6(@yarnpkg/core@4.0.1) + '@yarnpkg/extensions': 2.0.0-rc.6(@yarnpkg/core@4.0.2) normalize-path: 3.0.0 ramda: /@pnpm/ramda@0.28.1 semver: 7.5.4 @@ -4661,13 +5792,13 @@ packages: '@pnpm/types': 8.7.0 dev: true - /@pnpm/pnpmfile@3.0.3(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0): + /@pnpm/pnpmfile@3.0.3(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0): resolution: {integrity: sha512-QCxTHgsFe3ff58l1ps1v5Bzg4tu4o3h1v8JfojL4I3NX86JSQZHyF434ikVWGAp7nHl3UAbV9dvtimw/iZyshg==} engines: {node: '>=14.6'} peerDependencies: '@pnpm/logger': ^4.0.0 dependencies: - '@pnpm/core': 6.0.3(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0) + '@pnpm/core': 6.0.3(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0) '@pnpm/core-loggers': 7.1.0(@pnpm/logger@4.0.0) '@pnpm/error': 3.1.0 '@pnpm/lockfile-types': 4.3.3 @@ -4950,10 +6081,6 @@ packages: tar: 6.2.0 dev: true - /@reach/observe-rect@1.2.0: - resolution: {integrity: sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==} - dev: false - /@rollup/plugin-babel@5.3.1(@babel/core@7.23.3)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} @@ -4971,7 +6098,24 @@ packages: rollup: 2.79.1 dev: true - /@rollup/plugin-babel@6.0.3(@babel/core@7.23.3)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.23.7)(rollup@2.79.1): + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-module-imports': 7.22.15 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + rollup: 2.79.1 + dev: true + + /@rollup/plugin-babel@6.0.3(@babel/core@7.23.3)(rollup@3.25.1): resolution: {integrity: sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4986,11 +6130,11 @@ packages: dependencies: '@babel/core': 7.23.3 '@babel/helper-module-imports': 7.22.15 - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) - rollup: 2.79.1 + '@rollup/pluginutils': 5.0.2(rollup@3.25.1) + rollup: 3.25.1 dev: true - /@rollup/plugin-babel@6.0.3(@babel/core@7.23.3)(rollup@3.25.1): + /@rollup/plugin-babel@6.0.3(@babel/core@7.23.7)(rollup@2.79.1): resolution: {integrity: sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -5003,10 +6147,10 @@ packages: rollup: optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-module-imports': 7.22.15 - '@rollup/pluginutils': 5.0.2(rollup@3.25.1) - rollup: 3.25.1 + '@rollup/pluginutils': 5.0.2(rollup@2.79.1) + rollup: 2.79.1 dev: true /@rollup/plugin-commonjs@24.0.1(rollup@3.25.1): @@ -5183,9 +6327,23 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 2.79.1 + rollup: 2.79.1 + + /@rollup/pluginutils@5.0.2(rollup@3.25.1): + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 3.25.1 - /@rollup/pluginutils@5.0.2(rollup@3.25.1): + /@rollup/pluginutils@5.0.2(rollup@4.9.4): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -5197,7 +6355,112 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.25.1 + rollup: 4.9.4 + dev: true + + /@rollup/rollup-android-arm-eabi@4.9.4: + resolution: {integrity: sha512-ub/SN3yWqIv5CWiAZPHVS1DloyZsJbtXmX4HxUTIpS0BHm9pW5iYBo2mIZi+hE3AeiTzHz33blwSnhdUo+9NpA==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.9.4: + resolution: {integrity: sha512-ehcBrOR5XTl0W0t2WxfTyHCR/3Cq2jfb+I4W+Ch8Y9b5G+vbAecVv0Fx/J1QKktOrgUYsIKxWAKgIpvw56IFNA==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.9.4: + resolution: {integrity: sha512-1fzh1lWExwSTWy8vJPnNbNM02WZDS8AW3McEOb7wW+nPChLKf3WG2aG7fhaUmfX5FKw9zhsF5+MBwArGyNM7NA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.9.4: + resolution: {integrity: sha512-Gc6cukkF38RcYQ6uPdiXi70JB0f29CwcQ7+r4QpfNpQFVHXRd0DfWFidoGxjSx1DwOETM97JPz1RXL5ISSB0pA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.9.4: + resolution: {integrity: sha512-g21RTeFzoTl8GxosHbnQZ0/JkuFIB13C3T7Y0HtKzOXmoHhewLbVTFBQZu+z5m9STH6FZ7L/oPgU4Nm5ErN2fw==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.9.4: + resolution: {integrity: sha512-TVYVWD/SYwWzGGnbfTkrNpdE4HON46orgMNHCivlXmlsSGQOx/OHHYiQcMIOx38/GWgwr/po2LBn7wypkWw/Mg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.4: + resolution: {integrity: sha512-XcKvuendwizYYhFxpvQ3xVpzje2HHImzg33wL9zvxtj77HvPStbSGI9czrdbfrf8DGMcNNReH9pVZv8qejAQ5A==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.9.4: + resolution: {integrity: sha512-LFHS/8Q+I9YA0yVETyjonMJ3UA+DczeBd/MqNEzsGSTdNvSJa1OJZcSH8GiXLvcizgp9AlHs2walqRcqzjOi3A==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.9.4: + resolution: {integrity: sha512-dIYgo+j1+yfy81i0YVU5KnQrIJZE8ERomx17ReU4GREjGtDW4X+nvkBak2xAUpyqLs4eleDSj3RrV72fQos7zw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.9.4: + resolution: {integrity: sha512-RoaYxjdHQ5TPjaPrLsfKqR3pakMr3JGqZ+jZM0zP2IkDtsGa4CqYaWSfQmZVgFUCgLrTnzX+cnHS3nfl+kB6ZQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.9.4: + resolution: {integrity: sha512-T8Q3XHV+Jjf5e49B4EAaLKV74BbX7/qYBRQ8Wop/+TyyU0k+vSjiLVSHNWdVd1goMjZcbhDmYZUYW5RFqkBNHQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.9.4: + resolution: {integrity: sha512-z+JQ7JirDUHAsMecVydnBPWLwJjbppU+7LZjffGf+Jvrxq+dVjIE7By163Sc9DKc3ADSU50qPVw0KonBS+a+HQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.9.4: + resolution: {integrity: sha512-LfdGXCV9rdEify1oxlN9eamvDSjv9md9ZVMAbNHA87xqIfFCxImxan9qZ8+Un54iK2nnqPlbnSi4R54ONtbWBw==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true /@rushstack/node-core-library@3.55.2(@types/node@18.16.17): resolution: {integrity: sha512-SaLe/x/Q/uBVdNFK5V1xXvsVps0y7h1sN7aSJllQyFbugyOaxhNRF25bwEDnicARNEjJw0pk0lYnJQ9Kr6ev0A==} @@ -5673,18 +6936,21 @@ packages: defer-to-connect: 2.0.1 dev: true - /@tanstack/solid-virtual@3.0.0-beta.6: - resolution: {integrity: sha512-/HjeHZb4UZxxFSAkICUEWOozGwHQpKlvtnUoS5uSMSuLOz0XM5vFq6zR6ENwAczKWDtkh8ntddk+zXAhyXOlEw==} - engines: {node: '>=12'} + /@tanstack/solid-virtual@3.0.1(solid-js@1.8.6): + resolution: {integrity: sha512-DxP3GUBEDUNdCH50Q2RgRkaol3bAGpkMcJAdUIPWywEL37TkH/MC748nees0EXRylrC7RMP0zVNN3Z94WFBULA==} + peerDependencies: + solid-js: ^1.3.0 dependencies: - '@reach/observe-rect': 1.2.0 + '@tanstack/virtual-core': 3.0.0 + solid-js: 1.8.6 dev: false - /@tanstack/virtual-core@3.0.0-alpha.1: - resolution: {integrity: sha512-Fa82aHSjxMVpqIg+yuxEj+mlSVadOjcqaMeD7uJ39JE8FHpGoO+53kyedIf+ypWD7zYlSWXB4ah/3W9NNHaI6g==} - engines: {node: '>=12'} - dependencies: - '@reach/observe-rect': 1.2.0 + /@tanstack/virtual-core@3.0.0: + resolution: {integrity: sha512-SYXOBTjJb05rXa2vl55TTwO40A6wKu0R5i1qQwhJYNDIqaIGF7D0HsLw+pJAyi2OvntlEIVusx3xtbbgSUi6zg==} + dev: false + + /@tanstack/virtual-core@3.0.1: + resolution: {integrity: sha512-By6TTR3u6rmAWRD7STXqI8WP9q1jYrqVCz88lNTgOf/cUm5cNF6Uj7dej/1+LUj42KMwFusyxGS908HlGBhE2Q==} dev: false /@thisbeyond/solid-dnd@0.7.2(solid-js@1.8.6): @@ -5818,6 +7084,10 @@ packages: /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + /@types/hast@3.0.3: resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} dependencies: @@ -5918,6 +7188,10 @@ packages: resolution: {integrity: sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==} dev: true + /@types/semver@7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + dev: true + /@types/set-cookie-parser@2.4.2: resolution: {integrity: sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w==} dependencies: @@ -6212,10 +7486,26 @@ packages: outdent: 0.8.0 postcss: 8.4.31 postcss-load-config: 3.1.4(postcss@8.4.31)(ts-node@10.9.1) + vite: 3.2.5(@types/node@18.16.17) + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + + /@vanilla-extract/vite-plugin@3.9.3(ts-node@10.9.1)(vite@3.2.5): + resolution: {integrity: sha512-bGyHG98OYTRs5roLRv7LDeyRnD72+vBLonk8cC9VG/xd6hsiHPPj5GyBwoKElT7DyDRfapxWLwLlhgYynrW2Fw==} + peerDependencies: + vite: ^2.2.3 || ^3.0.0 || ^4.0.3 || ^5.0.0 + dependencies: + '@vanilla-extract/integration': 6.0.1 + outdent: 0.8.0 + postcss: 8.4.33 + postcss-load-config: 4.0.2(postcss@8.4.33)(ts-node@10.9.1) vite: 3.2.5(@types/node@18.16.17)(sass@1.61.0) transitivePeerDependencies: - supports-color - ts-node + dev: false /@vitest/expect@0.31.4: resolution: {integrity: sha512-tibyx8o7GUyGHZGyPgzwiaPaLDQ9MMuCOrc03BYT0nryUuhLbL7NV2r/q98iv5STlwMgaKuFJkgBW/8iPKwlSg==} @@ -6349,13 +7639,47 @@ packages: - typanion dev: true - /@yarnpkg/extensions@2.0.0-rc.6(@yarnpkg/core@4.0.1): + /@yarnpkg/core@4.0.2(typanion@3.14.0): + resolution: {integrity: sha512-YSibU3htZ3ZyslCUCG0aI4xcnmPZwZnHSUYl8TgC/Ck3++9xr474Mzh3t4Zv8olh9BguMC7FmRSpKAThiaFafw==} + engines: {node: '>=18.12.0'} + dependencies: + '@arcanis/slice-ansi': 1.1.1 + '@types/semver': 7.5.6 + '@types/treeify': 1.0.3 + '@yarnpkg/fslib': 3.0.1 + '@yarnpkg/libzip': 3.0.0(@yarnpkg/fslib@3.0.1) + '@yarnpkg/parsers': 3.0.0 + '@yarnpkg/shell': 4.0.0(typanion@3.14.0) + camelcase: 5.3.1 + chalk: 3.0.0 + ci-info: 3.9.0 + clipanion: 4.0.0-rc.2(typanion@3.14.0) + cross-spawn: 7.0.3 + diff: 5.1.0 + dotenv: 16.3.1 + fast-glob: 3.3.2 + got: 11.8.6 + lodash: 4.17.21 + micromatch: 4.0.5 + p-limit: 2.3.0 + semver: 7.5.4 + strip-ansi: 6.0.1 + tar: 6.2.0 + tinylogic: 2.0.0 + treeify: 1.1.0 + tslib: 2.6.2 + tunnel: 0.0.6 + transitivePeerDependencies: + - typanion + dev: true + + /@yarnpkg/extensions@2.0.0-rc.6(@yarnpkg/core@4.0.2): resolution: {integrity: sha512-hqp7U6bJTTe3mLIt5c7+U1TD2y9kRUzCjvzLpkAwNR5uoo6Tww5/XxdmhXeDiPbb3J3kLHTFNxEg3FhcGQ03UQ==} engines: {node: '>=14.15.0'} peerDependencies: '@yarnpkg/core': ^4.0.0-rc.24 dependencies: - '@yarnpkg/core': 4.0.1(typanion@3.14.0) + '@yarnpkg/core': 4.0.2(typanion@3.14.0) dev: true /@yarnpkg/fslib@2.10.2: @@ -6546,6 +7870,14 @@ packages: acorn: 8.11.2 dev: true + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} @@ -6555,6 +7887,12 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -6874,6 +8212,19 @@ packages: transitivePeerDependencies: - supports-color + /babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.7): + resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.7 + '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.23.3): resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==} peerDependencies: @@ -6885,6 +8236,18 @@ packages: transitivePeerDependencies: - supports-color + /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.23.7): + resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + core-js-compat: 3.35.0 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.3): resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} peerDependencies: @@ -6895,6 +8258,17 @@ packages: transitivePeerDependencies: - supports-color + /babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.23.7): + resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + transitivePeerDependencies: + - supports-color + dev: true + /babel-preset-solid@1.7.3(@babel/core@7.23.3): resolution: {integrity: sha512-HOdyrij99zo+CBrmtDxSexBAl54vCBCfBoyueLBvcfVniaEXNd4ftKqSN6XQcLvFfCY28UFO+DHaigXzWKOfzg==} peerDependencies: @@ -7038,6 +8412,17 @@ packages: node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) + /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.30001574 + electron-to-chromium: 1.4.623 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) + dev: true + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -7188,6 +8573,10 @@ packages: /caniuse-lite@1.0.30001561: resolution: {integrity: sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==} + /caniuse-lite@1.0.30001574: + resolution: {integrity: sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==} + dev: true + /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: true @@ -7752,6 +9141,12 @@ packages: dependencies: browserslist: 4.22.1 + /core-js-compat@3.35.0: + resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} + dependencies: + browserslist: 4.22.2 + dev: true + /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true @@ -8212,6 +9607,10 @@ packages: /electron-to-chromium@1.4.581: resolution: {integrity: sha512-6uhqWBIapTJUxgPTCHH9sqdbxIMPt7oXl0VcAL1kOtlU6aECdcMncCrX5Z7sHQ/invtrC9jUQUef7+HhO8vVFw==} + /electron-to-chromium@1.4.623: + resolution: {integrity: sha512-lKoz10iCYlP1WtRYdh5MvocQPWVRoI7ysp6qf18bmeBgR8abE6+I2CsfyNKztRDZvhdWc+krKT6wS7Neg8sw3A==} + dev: true + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} requiresBuild: true @@ -10596,6 +11995,11 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} + /lilconfig@3.0.0: + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} + dev: false + /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -11688,8 +13092,8 @@ packages: - supports-color dev: true - /msw@2.0.11(typescript@5.3.2): - resolution: {integrity: sha512-dAXFS2DxZX0uFqMPhS3oUAu8S/5IQ5qKKSwtXl3/dMTeML0C8JfSvbeWtowYg6pu4Iehgp5L/pHLrlIcG++y/A==} + /msw@2.0.12(typescript@5.3.2): + resolution: {integrity: sha512-TN9HuRDRf8dA2tmIhc7xpX45A37zBMcjBBem490lBK+zz/eyveGoQZQTARAIiEHld6rz9bpzl1GSuxmy1mG87A==} engines: {node: '>=18'} hasBin: true requiresBuild: true @@ -11865,6 +13269,10 @@ packages: /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true + /node-sql-parser@4.6.6: resolution: {integrity: sha512-zpash5xnRY6+0C9HFru32iRJV1LTkwtrVpO90i385tYVF6efyXK/B3Nsq/15Fuv2utxrqHNjKtL55OHb8sl+eQ==} engines: {node: '>=8'} @@ -12514,11 +13922,11 @@ packages: engines: {node: '>=4'} dev: true - /pnpm-bundle-workspace-package@1.0.2(@yarnpkg/core@4.0.1)(typanion@3.14.0): + /pnpm-bundle-workspace-package@1.0.2(@yarnpkg/core@4.0.2)(typanion@3.14.0): resolution: {integrity: sha512-tWnzQouHNDzy4t+pgb//9cFc5dPIk9gJ1iz353c9OK1TdcjcITasPRg7WADvNF8KyIHIG0aJ9Jz2Jgh5O1E7xQ==} hasBin: true dependencies: - '@pnpm/find-workspace-packages': 4.0.43(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.1)(typanion@3.14.0) + '@pnpm/find-workspace-packages': 4.0.43(@pnpm/logger@4.0.0)(@yarnpkg/core@4.0.2)(typanion@3.14.0) '@pnpm/logger': 4.0.0 fs-extra: 10.1.0 yargs: 17.7.2 @@ -12559,6 +13967,7 @@ packages: postcss: 8.4.31 ts-node: 10.9.1(@types/node@18.16.17)(typescript@5.3.2) yaml: 1.10.2 + dev: true /postcss-load-config@4.0.1(postcss@8.4.31)(ts-node@10.9.1): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} @@ -12578,6 +13987,24 @@ packages: yaml: 2.3.1 dev: false + /postcss-load-config@4.0.2(postcss@8.4.33)(ts-node@10.9.1): + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 3.0.0 + postcss: 8.4.33 + ts-node: 10.9.1(@types/node@18.16.17)(typescript@5.3.2) + yaml: 2.3.4 + dev: false + /postcss-selector-parser@6.0.11: resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} engines: {node: '>=4'} @@ -12602,6 +14029,15 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /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 + dev: false + /preferred-pm@3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} engines: {node: '>=10'} @@ -12981,6 +14417,10 @@ packages: /regenerator-runtime@0.14.0: resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: true + /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: @@ -13215,7 +14655,7 @@ packages: rollup: 2.79.1 typescript: 5.3.2 optionalDependencies: - '@babel/code-frame': 7.22.13 + '@babel/code-frame': 7.23.5 dev: true /rollup-plugin-import-css@3.2.1(rollup@2.79.1): @@ -13327,6 +14767,29 @@ packages: fsevents: 2.3.3 dev: true + /rollup@4.9.4: + resolution: {integrity: sha512-2ztU7pY/lrQyXSCnnoU4ICjT/tCG9cdH3/G25ERqE3Lst6vl2BCM5hL2Nw+sslAvAf+ccKsAq1SkKQALyqhR7g==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.4 + '@rollup/rollup-android-arm64': 4.9.4 + '@rollup/rollup-darwin-arm64': 4.9.4 + '@rollup/rollup-darwin-x64': 4.9.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.4 + '@rollup/rollup-linux-arm64-gnu': 4.9.4 + '@rollup/rollup-linux-arm64-musl': 4.9.4 + '@rollup/rollup-linux-riscv64-gnu': 4.9.4 + '@rollup/rollup-linux-x64-gnu': 4.9.4 + '@rollup/rollup-linux-x64-musl': 4.9.4 + '@rollup/rollup-win32-arm64-msvc': 4.9.4 + '@rollup/rollup-win32-ia32-msvc': 4.9.4 + '@rollup/rollup-win32-x64-msvc': 4.9.4 + fsevents: 2.3.3 + dev: true + /route-sort@1.0.0: resolution: {integrity: sha512-SFgmvjoIhp5S4iBEDW3XnbT+7PRuZ55oRuNjY+CDB1SGZkyCG9bqQ3/dhaZTctTBYMAvDxd2Uy9dStuaUfgJqQ==} engines: {node: '>= 6'} @@ -15035,6 +16498,17 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 + /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 + dev: true + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -15187,27 +16661,6 @@ packages: - supports-color dev: true - /vite-plugin-dts@1.7.3(@types/node@18.16.17)(vite@3.2.5): - resolution: {integrity: sha512-u3t45p6fTbzUPMkwYe0ESwuUeiRMlwdPfD3dRyDKUwLe2WmEYcFyVp2o9/ke2EMrM51lQcmNWdV9eLcgjD1/ng==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: '>=2.9.0' - dependencies: - '@microsoft/api-extractor': 7.34.4(@types/node@18.16.17) - '@rollup/pluginutils': 5.0.2(rollup@3.25.1) - '@rushstack/node-core-library': 3.55.2(@types/node@18.16.17) - debug: 4.3.4 - fast-glob: 3.3.2 - fs-extra: 10.1.0 - kolorist: 1.7.0 - ts-morph: 17.0.1 - vite: 3.2.5(@types/node@18.16.17) - transitivePeerDependencies: - - '@types/node' - - rollup - - supports-color - dev: true - /vite-plugin-dts@2.2.0(@types/node@18.16.17)(vite@3.2.5): resolution: {integrity: sha512-XmZtv02I7eGWm3DrZbLo1AdJK5gCisk9GqJBpY4N63pDYR6AVUnlyjFP5FCBvSBUfgE0Ppl90bKgtJU9k3AzFw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -15216,7 +16669,7 @@ packages: dependencies: '@babel/parser': 7.23.3 '@microsoft/api-extractor': 7.34.4(@types/node@18.16.17) - '@rollup/pluginutils': 5.0.2(rollup@3.25.1) + '@rollup/pluginutils': 5.0.2(rollup@2.79.1) '@rushstack/node-core-library': 3.55.2(@types/node@18.16.17) debug: 4.3.4 fast-glob: 3.3.2 @@ -15747,10 +17200,10 @@ packages: engines: {node: '>=10.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.23.3 - '@babel/preset-env': 7.23.3(@babel/core@7.23.3) - '@babel/runtime': 7.23.2 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.3)(rollup@2.79.1) + '@babel/core': 7.23.7 + '@babel/preset-env': 7.23.7(@babel/core@7.23.7) + '@babel/runtime': 7.23.7 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.7)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -15956,11 +17409,17 @@ packages: /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} + dev: true /yaml@2.3.1: resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} engines: {node: '>= 14'} + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: false + /yargs-parser@13.1.2: resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} dependencies: From e94e8a2d5ec01cddd7593c837bf59f55b8a4e231 Mon Sep 17 00:00:00 2001 From: Riccardo Perra Date: Thu, 25 Apr 2024 12:17:15 +0200 Subject: [PATCH 8/8] feat(app,api) add new border type glass option (#611) * feat: add glass border type option * feat: add borderType property * feat: api schema validation borderType * fix types * update types * fix lint and integration test * update styles * Add border type select * update window style form settings icon --- .changeset/red-zoos-march.md | 6 +++ .../migration.sql | 2 + apps/api/prisma/schema.prisma | 1 + apps/api/src/common/typebox/enum.ts | 10 +++++ .../infra/prisma/prisma-project.repository.ts | 2 + .../project/mapper/create-project-mapper.ts | 1 + .../mapper/get-project-by-id-mapper.ts | 1 + .../project/schema/project-create.schema.ts | 2 + .../project/schema/project-update.schema.ts | 2 + .../modules/project/schema/project.schema.ts | 4 ++ .../mapper/create-project-mapper.test.ts | 2 + .../mapper/get-project-by-id-mapper.test.ts | 2 + .../v1/project/update.integration.test.ts | 4 +- .../FeatureBadge/FeatureBadge.css.ts | 2 +- .../src/components/Frame/ManagedFrame.tsx | 1 + .../src/components/Frame/PreviewFrame.tsx | 1 + .../src/components/Icons/SettingsIcon.tsx | 25 +++++++++++ .../Presets/PresetPreview/PresetPreview.tsx | 1 + .../PropertyEditor/WindowStyleForm.tsx | 44 +++++++++++++++++++ .../TerminalControlField.tsx | 7 ++- .../src/components/Terminal/TerminalHost.tsx | 6 ++- .../src/components/Terminal/terminal.css.ts | 14 +++++- .../ThemeSwitcher/ThemeSwitcher.tsx | 1 + apps/codeimage/src/i18n/sidebar.ts | 4 ++ apps/codeimage/src/state/editor/model.ts | 3 ++ apps/codeimage/src/state/editor/terminal.ts | 8 ++++ apps/codeimage/src/state/presets/bridge.ts | 1 + .../src/state/version/version.store.ts | 19 +++++--- package.json | 2 +- 29 files changed, 165 insertions(+), 13 deletions(-) create mode 100644 .changeset/red-zoos-march.md create mode 100644 apps/api/prisma/migrations/20231231115803_add_terminal_border_type_property/migration.sql create mode 100644 apps/api/src/common/typebox/enum.ts create mode 100644 apps/codeimage/src/components/Icons/SettingsIcon.tsx diff --git a/.changeset/red-zoos-march.md b/.changeset/red-zoos-march.md new file mode 100644 index 000000000..3bd8a05bd --- /dev/null +++ b/.changeset/red-zoos-march.md @@ -0,0 +1,6 @@ +--- +"@codeimage/api": minor +"@codeimage/app": minor +--- + +feat(app,api) add new border type glass option diff --git a/apps/api/prisma/migrations/20231231115803_add_terminal_border_type_property/migration.sql b/apps/api/prisma/migrations/20231231115803_add_terminal_border_type_property/migration.sql new file mode 100644 index 000000000..07b42de0b --- /dev/null +++ b/apps/api/prisma/migrations/20231231115803_add_terminal_border_type_property/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "SnippetTerminal" ADD COLUMN "borderType" TEXT; diff --git a/apps/api/prisma/schema.prisma b/apps/api/prisma/schema.prisma index 695753c87..8883dda9b 100644 --- a/apps/api/prisma/schema.prisma +++ b/apps/api/prisma/schema.prisma @@ -62,6 +62,7 @@ model SnippetTerminal { showGlassReflection Boolean @default(false) opacity Float @default(100) alternativeTheme Boolean @default(false) + borderType String? } model SnippetEditorOptions { diff --git a/apps/api/src/common/typebox/enum.ts b/apps/api/src/common/typebox/enum.ts new file mode 100644 index 000000000..d28c3823c --- /dev/null +++ b/apps/api/src/common/typebox/enum.ts @@ -0,0 +1,10 @@ +import {TString, Type} from '@sinclair/typebox'; + +export const enumLiteral = (values: T[]): TString => { + const literals = values.map(value => Type.Literal(value)); + // TODO: validation should work but type must work as a string... + return Type.Intersect([ + Type.Union(literals), + Type.String(), + ]) as unknown as TString; +}; diff --git a/apps/api/src/modules/project/infra/prisma/prisma-project.repository.ts b/apps/api/src/modules/project/infra/prisma/prisma-project.repository.ts index c7f78f7ee..850b64260 100644 --- a/apps/api/src/modules/project/infra/prisma/prisma-project.repository.ts +++ b/apps/api/src/modules/project/infra/prisma/prisma-project.repository.ts @@ -105,6 +105,7 @@ export function makePrismaProjectRepository( showWatermark: data.terminal.showWatermark, textColor: data.terminal.textColor, type: data.terminal.type, + borderType: data.terminal.borderType, }, }, }, @@ -188,6 +189,7 @@ export function makePrismaProjectRepository( showWatermark: data.terminal.showWatermark, textColor: data.terminal.textColor, type: data.terminal.type, + borderType: data.terminal.borderType, }, }, }, diff --git a/apps/api/src/modules/project/mapper/create-project-mapper.ts b/apps/api/src/modules/project/mapper/create-project-mapper.ts index 9923d15ab..989097e82 100644 --- a/apps/api/src/modules/project/mapper/create-project-mapper.ts +++ b/apps/api/src/modules/project/mapper/create-project-mapper.ts @@ -48,6 +48,7 @@ export function createProjectRequestMapper( data.terminal.alternativeTheme ?? SnippetTerminalCreateRequestSchema.properties.alternativeTheme.default, shadow: data.terminal.shadow ?? null, + borderType: data.terminal.borderType ?? null, }, editorOptions: { fontWeight: data.editorOptions.fontWeight, diff --git a/apps/api/src/modules/project/mapper/get-project-by-id-mapper.ts b/apps/api/src/modules/project/mapper/get-project-by-id-mapper.ts index 5fe1ef6b4..1749d40bd 100644 --- a/apps/api/src/modules/project/mapper/get-project-by-id-mapper.ts +++ b/apps/api/src/modules/project/mapper/get-project-by-id-mapper.ts @@ -30,6 +30,7 @@ export function createCompleteProjectGetByIdResponseMapper( accentVisible: data.terminal.accentVisible, alternativeTheme: data.terminal.alternativeTheme, shadow: data.terminal.shadow, + borderType: data.terminal.borderType as 'glass' | null, }, editorOptions: { id: data.editorOptions.id, diff --git a/apps/api/src/modules/project/schema/project-create.schema.ts b/apps/api/src/modules/project/schema/project-create.schema.ts index 317ecd741..375ffe689 100644 --- a/apps/api/src/modules/project/schema/project-create.schema.ts +++ b/apps/api/src/modules/project/schema/project-create.schema.ts @@ -1,5 +1,6 @@ import {Static, Type} from '@sinclair/typebox'; import {Nullable} from '../../../common/typebox/nullable.js'; +import {SnippetTerminalBorderType} from './project.schema.js'; export const SnippetFrameCreateRequestSchema = Type.Object( { @@ -45,6 +46,7 @@ export const SnippetTerminalCreateRequestSchema = Type.Object( opacity: Nullable(Type.Number({minimum: 0, maximum: 100, default: 100})), showHeader: Type.Boolean(), showWatermark: Nullable(Type.Boolean({default: true})), + borderType: Nullable(SnippetTerminalBorderType), }, {title: 'SnippetTerminalCreateRequest'}, ); diff --git a/apps/api/src/modules/project/schema/project-update.schema.ts b/apps/api/src/modules/project/schema/project-update.schema.ts index 37f99a671..73eb7a8d5 100644 --- a/apps/api/src/modules/project/schema/project-update.schema.ts +++ b/apps/api/src/modules/project/schema/project-update.schema.ts @@ -1,5 +1,6 @@ import {Static, Type} from '@sinclair/typebox'; import {Nullable} from '../../../common/typebox/nullable.js'; +import {SnippetTerminalBorderType} from './project.schema.js'; export const SnippetFrameUpdateRequestSchema = Type.Object( { @@ -40,6 +41,7 @@ const SnippetTerminalUpdateRequestSchema = Type.Object( showWatermark: Type.Boolean(), textColor: Nullable(Type.String()), type: Type.String(), + borderType: Nullable(SnippetTerminalBorderType), }, {title: 'SnippetTerminalUpdateRequest'}, ); diff --git a/apps/api/src/modules/project/schema/project.schema.ts b/apps/api/src/modules/project/schema/project.schema.ts index c474b20b8..82f9ef1be 100644 --- a/apps/api/src/modules/project/schema/project.schema.ts +++ b/apps/api/src/modules/project/schema/project.schema.ts @@ -1,4 +1,5 @@ import {Type} from '@sinclair/typebox'; +import {enumLiteral} from '../../../common/typebox/enum.js'; import {Nullable} from '../../../common/typebox/nullable.js'; export const BaseProjectResponseSchema = Type.Object( @@ -34,6 +35,8 @@ export const BaseSnippetFrameSchema = Type.Object({ opacity: Type.Number(), }); +export const SnippetTerminalBorderType = enumLiteral(['glass'] as const); + export const BaseSnippetTerminalSchema = Type.Object({ id: Type.String({format: 'uuid'}), showHeader: Type.Boolean(), @@ -46,6 +49,7 @@ export const BaseSnippetTerminalSchema = Type.Object({ showGlassReflection: Type.Boolean(), opacity: Type.Number(), alternativeTheme: Type.Boolean(), + borderType: Nullable(SnippetTerminalBorderType), }); export const BaseSnippetEditorOptionsSchema = Type.Object({ diff --git a/apps/api/test/modules/project/mapper/create-project-mapper.test.ts b/apps/api/test/modules/project/mapper/create-project-mapper.test.ts index fdc4cfcf3..d9136c7c8 100644 --- a/apps/api/test/modules/project/mapper/create-project-mapper.test.ts +++ b/apps/api/test/modules/project/mapper/create-project-mapper.test.ts @@ -22,6 +22,7 @@ test('should map ProjectCreateRequest to Prisma ProjectCreateRequest with defaul shadow: null, textColor: null, accentVisible: null, + borderType: null, }, name: 'Untitled', editors: [], @@ -53,6 +54,7 @@ test('should map ProjectCreateRequest to Prisma ProjectCreateRequest with defaul showWatermark: true, opacity: 100, showHeader: true, + borderType: null, }, editors: [], name: 'Untitled', diff --git a/apps/api/test/modules/project/mapper/get-project-by-id-mapper.test.ts b/apps/api/test/modules/project/mapper/get-project-by-id-mapper.test.ts index 5a7d9d32f..270d7ef25 100644 --- a/apps/api/test/modules/project/mapper/get-project-by-id-mapper.test.ts +++ b/apps/api/test/modules/project/mapper/get-project-by-id-mapper.test.ts @@ -31,6 +31,7 @@ test('should map Prisma ProjectGetByIdResponse to schema ProjectGetByIdResponse' shadow: null, textColor: null, accentVisible: true, + borderType: 'glass', }, editorOptionsId: 'editorOptionsId', terminalId: 'terminalId', @@ -75,6 +76,7 @@ test('should map Prisma ProjectGetByIdResponse to schema ProjectGetByIdResponse' showWatermark: false, opacity: 100, showHeader: true, + borderType: 'glass', }, editorOptions: { id: 'editorOptionsId', diff --git a/apps/api/test/routes/v1/project/update.integration.test.ts b/apps/api/test/routes/v1/project/update.integration.test.ts index c660490c4..8f4b08581 100644 --- a/apps/api/test/routes/v1/project/update.integration.test.ts +++ b/apps/api/test/routes/v1/project/update.integration.test.ts @@ -72,6 +72,7 @@ test('POST /v1/project/:id [Update Project] -> 200', async context alternativeTheme: true, accentVisible: false, type: 'windows', + borderType: 'glass', }, }; @@ -125,7 +126,8 @@ test('POST /v1/project/:id [Update Project] -> 200', async context alternativeTheme: true, accentVisible: false, type: 'windows', - } as ProjectUpdateResponse['terminal'], + borderType: 'glass', + } satisfies ProjectUpdateResponse['terminal'], 'return updated terminal', ); assert.deepStrictEqual( diff --git a/apps/codeimage/src/components/FeatureBadge/FeatureBadge.css.ts b/apps/codeimage/src/components/FeatureBadge/FeatureBadge.css.ts index 0d6ab38d6..883937732 100644 --- a/apps/codeimage/src/components/FeatureBadge/FeatureBadge.css.ts +++ b/apps/codeimage/src/components/FeatureBadge/FeatureBadge.css.ts @@ -12,7 +12,7 @@ export const badge = style({ position: 'absolute', left: '100%', top: '50%', - transform: `translateX(10px) translateY(-50%)`, + transform: `translateX(2px) translateY(-50%)`, borderRadius: themeTokens.radii.lg, whiteSpace: 'nowrap', }); diff --git a/apps/codeimage/src/components/Frame/ManagedFrame.tsx b/apps/codeimage/src/components/Frame/ManagedFrame.tsx index c841ddecb..94d9352c4 100644 --- a/apps/codeimage/src/components/Frame/ManagedFrame.tsx +++ b/apps/codeimage/src/components/Frame/ManagedFrame.tsx @@ -40,6 +40,7 @@ export function ManagedFrame() { showWatermark={terminal.showWatermark} opacity={terminal.opacity} alternativeTheme={terminal.alternativeTheme} + borderType={terminal.borderType} themeId={editor.state.options.themeId} > diff --git a/apps/codeimage/src/components/Frame/PreviewFrame.tsx b/apps/codeimage/src/components/Frame/PreviewFrame.tsx index 2bdc66e66..3ee7bbdd9 100644 --- a/apps/codeimage/src/components/Frame/PreviewFrame.tsx +++ b/apps/codeimage/src/components/Frame/PreviewFrame.tsx @@ -121,6 +121,7 @@ export function PreviewFrame(props: VoidProps) { showWatermark={terminal.showWatermark} opacity={terminal.opacity} alternativeTheme={terminal.alternativeTheme} + borderType={terminal.borderType} themeId={editor.state.options.themeId} > diff --git a/apps/codeimage/src/components/Icons/SettingsIcon.tsx b/apps/codeimage/src/components/Icons/SettingsIcon.tsx new file mode 100644 index 000000000..660e0ecbf --- /dev/null +++ b/apps/codeimage/src/components/Icons/SettingsIcon.tsx @@ -0,0 +1,25 @@ +import {SvgIconProps} from '@codeimage/ui'; +import {SvgIcon} from '@codeui/kit'; + +export function SettingsIcon(props: SvgIconProps) { + return ( + + + + + + ); +} diff --git a/apps/codeimage/src/components/Presets/PresetPreview/PresetPreview.tsx b/apps/codeimage/src/components/Presets/PresetPreview/PresetPreview.tsx index f3a636e2e..4dde585c3 100644 --- a/apps/codeimage/src/components/Presets/PresetPreview/PresetPreview.tsx +++ b/apps/codeimage/src/components/Presets/PresetPreview/PresetPreview.tsx @@ -39,6 +39,7 @@ export function PresetPreview(props: PresetPreviewProps) { accentVisible={props.data.terminal.accentVisible} textColor={props.data.terminal.textColor} showHeader={props.data.terminal.showHeader} + borderType={props.data.terminal.borderType} showGlassReflection={props.data.terminal.showGlassReflection} showWatermark={false} opacity={props.data.terminal.opacity} diff --git a/apps/codeimage/src/components/PropertyEditor/WindowStyleForm.tsx b/apps/codeimage/src/components/PropertyEditor/WindowStyleForm.tsx index 1faf7c0c3..e45aa1a2f 100644 --- a/apps/codeimage/src/components/PropertyEditor/WindowStyleForm.tsx +++ b/apps/codeimage/src/components/PropertyEditor/WindowStyleForm.tsx @@ -1,11 +1,13 @@ import {useI18n} from '@codeimage/locale'; import {getTerminalState} from '@codeimage/store/editor/terminal'; +import {VersionStore} from '@codeimage/store/version/version.store'; import {createSelectOptions, Select} from '@codeui/kit'; import {shadowsLabel} from '@core/configuration/shadow'; import {getUmami} from '@core/constants/umami'; import {SegmentedField} from '@ui/SegmentedField/SegmentedField'; import {SkeletonLine} from '@ui/Skeleton/Skeleton'; import {createMemo, ParentComponent, Show} from 'solid-js'; +import {provideState} from 'statebuilder'; import {AppLocaleEntries} from '../../i18n'; import {TerminalControlField} from './controls/TerminalControlField/TerminalControlField'; import {PanelHeader} from './PanelHeader'; @@ -14,6 +16,7 @@ import {SuspenseEditorItem} from './SuspenseEditorItem'; export const WindowStyleForm: ParentComponent = () => { const terminal = getTerminalState(); + const versionStore = provideState(VersionStore); const [t] = useI18n(); const terminalShadows = createMemo( @@ -25,6 +28,17 @@ export const WindowStyleForm: ParentComponent = () => { valueKey: 'value', }); + const borderTypeSelect = createSelectOptions( + [ + {label: 'None', value: 'none'}, + {label: 'Glass', value: 'glass'}, + ], + { + key: 'label', + valueKey: 'value', + }, + ); + return ( <> @@ -151,6 +165,36 @@ export const WindowStyleForm: ParentComponent = () => { + + + } + > +