From 8ab20c3c9fcac1023a3ec52f0c2920a6b081cddf Mon Sep 17 00:00:00 2001 From: zomars Date: Tue, 11 Apr 2023 11:21:17 -0700 Subject: [PATCH 01/13] Update lockfile.yml --- .github/workflows/lockfile.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/lockfile.yml b/.github/workflows/lockfile.yml index 6fa1d3d8982c72..aa1bf165a39b76 100644 --- a/.github/workflows/lockfile.yml +++ b/.github/workflows/lockfile.yml @@ -18,5 +18,7 @@ jobs: - uses: ./.github/actions/yarn-install - name: Commit new lockfile if updated run: | + git config --global user.email "${GITHUB_ACTOR}" + git config --global user.name "${GITHUB_ACTOR}@users.noreply.github.com" git commit -am "Update yarn.lock" git push From ee155c3643fe15a43eacf4976b30a56b24eace7b Mon Sep 17 00:00:00 2001 From: "zomars@users.noreply.github.com" Date: Tue, 11 Apr 2023 18:23:33 +0000 Subject: [PATCH 02/13] Update yarn.lock --- yarn.lock | 1711 ++--------------------------------------------------- 1 file changed, 36 insertions(+), 1675 deletions(-) diff --git a/yarn.lock b/yarn.lock index 81069dc0dcd5a0..e2a35a1325cf05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,34 +5,6 @@ __metadata: version: 6 cacheKey: 8 -"@47ng/cloak@npm:^1.1.0": - version: 1.1.0 - resolution: "@47ng/cloak@npm:1.1.0" - dependencies: - "@47ng/codec": ^1.0.1 - "@stablelib/base64": ^1.0.1 - "@stablelib/hex": ^1.0.1 - "@stablelib/utf8": ^1.0.1 - chalk: ^4.1.2 - commander: ^8.3.0 - dotenv: ^10.0.0 - s-ago: ^2.2.0 - bin: - cloak: dist/cli.js - checksum: 7d72c66ff7837368e9ca8f5ba402d72041427eb47c53c340b4640e3352f2956d8673a4a8e97591fb2b9dfe27f3d2765bcd925617273ef2488df2565c77c78299 - languageName: node - linkType: hard - -"@47ng/codec@npm:^1.0.1": - version: 1.1.0 - resolution: "@47ng/codec@npm:1.1.0" - dependencies: - "@stablelib/base64": ^1.0.1 - "@stablelib/hex": ^1.0.1 - checksum: 4f780c4413fe78bbedbaff4135340c0e5f5a30df88f5cffbec51349eb0a1c909728e6c2bbda52506ff8c12653bf39b78c67b78bbe9501b0b9741da0cdaeec6ff - languageName: node - linkType: hard - "@achrinza/event-pubsub@npm:5.0.8": version: 5.0.8 resolution: "@achrinza/event-pubsub@npm:5.0.8" @@ -80,67 +52,6 @@ __metadata: languageName: node linkType: hard -"@apidevtools/json-schema-ref-parser@npm:9.0.9": - version: 9.0.9 - resolution: "@apidevtools/json-schema-ref-parser@npm:9.0.9" - dependencies: - "@jsdevtools/ono": ^7.1.3 - "@types/json-schema": ^7.0.6 - call-me-maybe: ^1.0.1 - js-yaml: ^4.1.0 - checksum: b21f6bdd37d2942c3967ee77569bc74fadd1b922f688daf5ef85057789a2c3a7f4afc473aa2f3a93ec950dabb6ef365f8bd9cf51e4e062a1ee1e59b989f8f9b4 - languageName: node - linkType: hard - -"@apidevtools/openapi-schemas@npm:^2.0.4": - version: 2.1.0 - resolution: "@apidevtools/openapi-schemas@npm:2.1.0" - checksum: 4a8f64935b9049ef21e41fa4b188f39f6bc3f5291cebd451701db1115451ccb246a739e46cc5ce9ecdec781671431db40db7851acdac84a990a45756e0f32de3 - languageName: node - linkType: hard - -"@apidevtools/swagger-methods@npm:^3.0.2": - version: 3.0.2 - resolution: "@apidevtools/swagger-methods@npm:3.0.2" - checksum: d06b1ac5c1956613c4c6be695612ef860cd4e962b93a509ca551735a328a856cae1e33399cac1dcbf8333ba22b231746f3586074769ef0e172cf549ec9e7eaae - languageName: node - linkType: hard - -"@apidevtools/swagger-parser@npm:10.0.2": - version: 10.0.2 - resolution: "@apidevtools/swagger-parser@npm:10.0.2" - dependencies: - "@apidevtools/json-schema-ref-parser": ^9.0.6 - "@apidevtools/openapi-schemas": ^2.0.4 - "@apidevtools/swagger-methods": ^3.0.2 - "@jsdevtools/ono": ^7.1.3 - call-me-maybe: ^1.0.1 - z-schema: ^4.2.3 - peerDependencies: - openapi-types: ">=7" - checksum: fbae8e363c4944c10b9c5702a9b64d04ce2d55b5418d0ca4ef044aeaa92c7f3160ba8d3e335798f7482ab1179d947bdd7393cddf9861d76393789d7559ddf7ba - languageName: node - linkType: hard - -"@auth/core@npm:^0.1.4": - version: 0.1.4 - resolution: "@auth/core@npm:0.1.4" - dependencies: - "@panva/hkdf": 1.0.2 - cookie: 0.5.0 - jose: 4.11.1 - oauth4webapi: 2.0.5 - preact: 10.11.3 - preact-render-to-string: 5.2.3 - peerDependencies: - nodemailer: 6.8.0 - peerDependenciesMeta: - nodemailer: - optional: true - checksum: 64854404ea1883e0deb5535b34bed95cd43fc85094aeaf4f15a79e14045020eb944f844defe857edfc8528a0a024be89cbb2a3069dedef0e9217a74ca6c3eb79 - languageName: node - linkType: hard - "@aws-crypto/ie11-detection@npm:^3.0.0": version: 3.0.0 resolution: "@aws-crypto/ie11-detection@npm:3.0.0" @@ -3889,41 +3800,6 @@ __metadata: languageName: unknown linkType: soft -"@calcom/api@workspace:apps/api": - version: 0.0.0-use.local - resolution: "@calcom/api@workspace:apps/api" - dependencies: - "@calcom/app-store": "*" - "@calcom/core": "*" - "@calcom/dayjs": "*" - "@calcom/emails": "*" - "@calcom/embed-core": "workspace:*" - "@calcom/embed-snippet": "workspace:*" - "@calcom/features": "*" - "@calcom/lib": "*" - "@calcom/prisma": "*" - "@calcom/trpc": "*" - "@calcom/tsconfig": "*" - "@calcom/types": "*" - "@sentry/nextjs": ^7.20.0 - babel-jest: ^28.1.0 - bcryptjs: ^2.4.3 - jest: ^28.1.0 - memory-cache: ^0.2.0 - modify-response-middleware: ^1.1.0 - next: ^13.2.1 - next-api-middleware: ^1.0.1 - next-axiom: ^0.16.0 - next-swagger-doc: ^0.3.4 - next-validations: ^0.2.0 - node-mocks-http: ^1.11.0 - typescript: ^4.9.4 - tzdata: ^1.0.30 - uuid: ^8.3.2 - zod: ^3.20.2 - languageName: unknown - linkType: soft - "@calcom/app-store-cli@*, @calcom/app-store-cli@workspace:packages/app-store-cli": version: 0.0.0-use.local resolution: "@calcom/app-store-cli@workspace:packages/app-store-cli" @@ -3982,39 +3858,6 @@ __metadata: languageName: unknown linkType: soft -"@calcom/auth@workspace:apps/auth": - version: 0.0.0-use.local - resolution: "@calcom/auth@workspace:apps/auth" - dependencies: - "@auth/core": ^0.1.4 - "@calcom/app-store": "*" - "@calcom/app-store-cli": "*" - "@calcom/config": "*" - "@calcom/core": "*" - "@calcom/dayjs": "*" - "@calcom/embed-core": "workspace:*" - "@calcom/embed-react": "workspace:*" - "@calcom/embed-snippet": "workspace:*" - "@calcom/features": "*" - "@calcom/lib": "*" - "@calcom/prisma": "*" - "@calcom/trpc": "*" - "@calcom/tsconfig": "*" - "@calcom/types": "*" - "@calcom/ui": "*" - "@types/node": 16.9.1 - "@types/react": 18.0.26 - "@types/react-dom": 18.0.9 - eslint: ^8.34.0 - eslint-config-next: ^13.2.1 - next: ^13.2.1 - next-auth: ^4.20.1 - react: ^18.2.0 - react-dom: ^18.2.0 - typescript: ^4.9.4 - languageName: unknown - linkType: soft - "@calcom/caldavcalendar@workspace:packages/app-store/caldavcalendar": version: 0.0.0-use.local resolution: "@calcom/caldavcalendar@workspace:packages/app-store/caldavcalendar" @@ -4073,43 +3916,6 @@ __metadata: languageName: unknown linkType: soft -"@calcom/console@workspace:apps/console": - version: 0.0.0-use.local - resolution: "@calcom/console@workspace:apps/console" - dependencies: - "@calcom/dayjs": "*" - "@calcom/features": "*" - "@calcom/lib": "*" - "@calcom/tsconfig": "*" - "@calcom/ui": "*" - "@headlessui/react": ^1.5.0 - "@heroicons/react": ^1.0.6 - "@prisma/client": ^4.11.0 - "@tailwindcss/forms": ^0.5.2 - "@types/node": 16.9.1 - "@types/react": 18.0.26 - autoprefixer: ^10.4.12 - chart.js: ^3.7.1 - client-only: ^0.0.1 - eslint: ^8.34.0 - next: ^13.2.1 - next-auth: ^4.20.1 - next-i18next: ^11.3.0 - postcss: ^8.4.18 - prisma: ^4.11.0 - prisma-field-encryption: ^1.4.0 - react: ^18.2.0 - react-chartjs-2: ^4.0.1 - react-dom: ^18.2.0 - react-hook-form: ^7.43.3 - react-live-chat-loader: ^2.7.3 - swr: ^1.2.2 - tailwindcss: ^3.2.1 - typescript: ^4.9.4 - zod: ^3.20.2 - languageName: unknown - linkType: soft - "@calcom/core@*, @calcom/core@workspace:packages/core": version: 0.0.0-use.local resolution: "@calcom/core@workspace:packages/core" @@ -4222,7 +4028,7 @@ __metadata: languageName: unknown linkType: soft -"@calcom/embed-react@workspace:*, @calcom/embed-react@workspace:^, @calcom/embed-react@workspace:packages/embeds/embed-react": +"@calcom/embed-react@workspace:*, @calcom/embed-react@workspace:packages/embeds/embed-react": version: 0.0.0-use.local resolution: "@calcom/embed-react@workspace:packages/embeds/embed-react" dependencies: @@ -4997,91 +4803,6 @@ __metadata: languageName: unknown linkType: soft -"@calcom/website@workspace:apps/website": - version: 0.0.0-use.local - resolution: "@calcom/website@workspace:apps/website" - dependencies: - "@calcom/app-store": "*" - "@calcom/config": "*" - "@calcom/dayjs": "*" - "@calcom/embed-react": "workspace:^" - "@calcom/features": "*" - "@calcom/lib": "*" - "@calcom/prisma": "*" - "@calcom/tsconfig": "*" - "@calcom/ui": "*" - "@floating-ui/react-dom": ^1.0.0 - "@headlessui/react": ^1.5.0 - "@heroicons/react": ^1.0.6 - "@hookform/resolvers": ^2.9.7 - "@juggle/resize-observer": ^3.4.0 - "@next/bundle-analyzer": ^13.1.6 - "@radix-ui/react-accordion": ^1.0.0 - "@radix-ui/react-navigation-menu": ^1.0.0 - "@radix-ui/react-portal": ^1.0.0 - "@radix-ui/react-slider": ^1.0.0 - "@radix-ui/react-tabs": ^1.0.0 - "@radix-ui/react-tooltip": ^1.0.0 - "@stripe/stripe-js": ^1.35.0 - "@tanstack/react-query": ^4.3.9 - "@typeform/embed-react": ^1.2.4 - "@types/bcryptjs": ^2.4.2 - "@types/debounce": ^1.2.1 - "@types/gtag.js": ^0.0.10 - "@types/micro": 7.3.7 - "@types/node": 16.9.1 - "@types/react": 18.0.26 - "@types/react-gtm-module": ^2.0.1 - "@vercel/analytics": ^0.1.6 - "@vercel/edge-functions-ui": ^0.2.1 - "@vercel/og": ^0.5.0 - autoprefixer: ^10.4.12 - bcryptjs: ^2.4.3 - cobe: ^0.4.1 - concurrently: ^7.6.0 - cross-env: ^7.0.3 - datocms-structured-text-to-plain-text: ^2.0.4 - datocms-structured-text-utils: ^2.0.4 - debounce: ^1.2.1 - env-cmd: ^10.1.0 - eslint: ^8.34.0 - fathom-client: ^3.5.0 - globby: ^13.1.3 - gray-matter: ^4.0.3 - gsap: ^3.11.0 - iframe-resizer-react: ^1.1.0 - keen-slider: ^6.8.0 - lucide-react: ^0.125.0 - micro: ^10.0.1 - next: 13.2.4-canary.5 - next-auth: ^4.20.1 - next-i18next: ^11.3.0 - playwright: ^1.31.2 - postcss: ^8.4.18 - prism-react-renderer: ^1.3.5 - react: ^18.2.0 - react-confetti: ^6.0.1 - react-datocms: ^3.1.0 - react-device-detect: ^2.2.2 - react-dom: ^18.2.0 - react-fast-marquee: ^1.3.5 - react-github-btn: ^1.4.0 - react-hook-form: ^7.43.3 - react-hot-toast: ^2.3.0 - react-live-chat-loader: ^2.8.1 - react-merge-refs: 1.1.0 - react-twemoji: ^0.3.0 - react-use-measure: ^2.1.1 - remark: ^14.0.2 - remark-html: ^14.0.1 - stripe: ^9.16.0 - tailwindcss: ^3.2.1 - typescript: ^4.9.4 - wait-on: ^7.0.1 - zod: ^3.20.2 - languageName: unknown - linkType: soft - "@calcom/whatsapp@workspace:packages/app-store/whatsapp": version: 0.0.0-use.local resolution: "@calcom/whatsapp@workspace:packages/app-store/whatsapp" @@ -6390,7 +6111,7 @@ __metadata: languageName: node linkType: hard -"@floating-ui/react-dom@npm:^1.0.0, @floating-ui/react-dom@npm:^1.3.0": +"@floating-ui/react-dom@npm:^1.3.0": version: 1.3.0 resolution: "@floating-ui/react-dom@npm:1.3.0" dependencies: @@ -6528,34 +6249,6 @@ __metadata: languageName: node linkType: hard -"@hapi/hoek@npm:^9.0.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 4771c7a776242c3c022b168046af4e324d116a9d2e1d60631ee64f474c6e38d1bb07092d898bf95c7bc5d334c5582798a1456321b2e53ca817d4e7c88bc25b43 - languageName: node - linkType: hard - -"@hapi/topo@npm:^5.0.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" - dependencies: - "@hapi/hoek": ^9.0.0 - checksum: 604dfd5dde76d5c334bd03f9001fce69c7ce529883acf92da96f4fe7e51221bf5e5110e964caca287a6a616ba027c071748ab636ff178ad750547fba611d6014 - languageName: node - linkType: hard - -"@headlessui/react@npm:^1.5.0": - version: 1.7.13 - resolution: "@headlessui/react@npm:1.7.13" - dependencies: - client-only: ^0.0.1 - peerDependencies: - react: ^16 || ^17 || ^18 - react-dom: ^16 || ^17 || ^18 - checksum: 132e5fce86978b9a6fd9d669fb556acec783debcd8f510c99226b3b3229dad50a13aeed69fc9af66465fc7029487ecfc46e6226f14218b760d5a309e08c0d059 - languageName: node - linkType: hard - "@heroicons/react@npm:^1.0.6": version: 1.0.6 resolution: "@heroicons/react@npm:1.0.6" @@ -7500,13 +7193,6 @@ __metadata: languageName: node linkType: hard -"@jsdevtools/ono@npm:^7.1.3": - version: 7.1.3 - resolution: "@jsdevtools/ono@npm:7.1.3" - checksum: 2297fcd472ba810bffe8519d2249171132844c7174f3a16634f9260761c8c78bc0428a4190b5b6d72d45673c13918ab9844d706c3ed4ef8f62ab11a2627a08ad - languageName: node - linkType: hard - "@json-rpc-tools/provider@npm:^1.5.5": version: 1.7.6 resolution: "@json-rpc-tools/provider@npm:1.7.6" @@ -7538,13 +7224,6 @@ __metadata: languageName: node linkType: hard -"@juggle/resize-observer@npm:^3.4.0": - version: 3.4.0 - resolution: "@juggle/resize-observer@npm:3.4.0" - checksum: 2505028c05cc2e17639fcad06218b1c4b60f932a4ebb4b41ab546ef8c157031ae377e3f560903801f6d01706dbefd4943b6c4704bf19ed86dfa1c62f1473a570 - languageName: node - linkType: hard - "@lexical/clipboard@npm:0.5.0": version: 0.5.0 resolution: "@lexical/clipboard@npm:0.5.0" @@ -7954,13 +7633,6 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/env@npm:13.2.4-canary.5" - checksum: d46767ba464334b8487b671a9b366b25e7c1b6bf262bd66afd62b07b17f52066158fe69b14db3abc8219e1e580cd60e0655af6c71550506770780d1ba28ae92d - languageName: node - linkType: hard - "@next/eslint-plugin-next@npm:13.2.1": version: 13.2.1 resolution: "@next/eslint-plugin-next@npm:13.2.1" @@ -7977,13 +7649,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-android-arm-eabi@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-android-arm-eabi@npm:13.2.4-canary.5" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - "@next/swc-android-arm64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-android-arm64@npm:13.2.3" @@ -7991,13 +7656,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-android-arm64@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-android-arm64@npm:13.2.4-canary.5" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - "@next/swc-darwin-arm64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-darwin-arm64@npm:13.2.3" @@ -8005,13 +7663,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-darwin-arm64@npm:13.2.4-canary.5" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@next/swc-darwin-x64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-darwin-x64@npm:13.2.3" @@ -8019,13 +7670,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-darwin-x64@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-darwin-x64@npm:13.2.4-canary.5" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@next/swc-freebsd-x64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-freebsd-x64@npm:13.2.3" @@ -8033,13 +7677,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-freebsd-x64@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-freebsd-x64@npm:13.2.4-canary.5" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@next/swc-linux-arm-gnueabihf@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm-gnueabihf@npm:13.2.3" @@ -8047,13 +7684,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-arm-gnueabihf@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-linux-arm-gnueabihf@npm:13.2.4-canary.5" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@next/swc-linux-arm64-gnu@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm64-gnu@npm:13.2.3" @@ -8061,13 +7691,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-linux-arm64-gnu@npm:13.2.4-canary.5" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@next/swc-linux-arm64-musl@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm64-musl@npm:13.2.3" @@ -8075,13 +7698,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-linux-arm64-musl@npm:13.2.4-canary.5" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@next/swc-linux-x64-gnu@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-x64-gnu@npm:13.2.3" @@ -8089,13 +7705,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-linux-x64-gnu@npm:13.2.4-canary.5" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@next/swc-linux-x64-musl@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-x64-musl@npm:13.2.3" @@ -8103,13 +7712,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-linux-x64-musl@npm:13.2.4-canary.5" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@next/swc-win32-arm64-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-arm64-msvc@npm:13.2.3" @@ -8117,13 +7719,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-win32-arm64-msvc@npm:13.2.4-canary.5" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@next/swc-win32-ia32-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-ia32-msvc@npm:13.2.3" @@ -8131,13 +7726,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-win32-ia32-msvc@npm:13.2.4-canary.5" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@next/swc-win32-x64-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-x64-msvc@npm:13.2.3" @@ -8145,13 +7733,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-win32-x64-msvc@npm:13.2.4-canary.5" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@node-ipc/js-queue@npm:2.0.3": version: 2.0.3 resolution: "@node-ipc/js-queue@npm:2.0.3" @@ -8297,13 +7878,6 @@ __metadata: languageName: node linkType: hard -"@panva/hkdf@npm:1.0.2": - version: 1.0.2 - resolution: "@panva/hkdf@npm:1.0.2" - checksum: 75183b4d5ea816ef516dcea70985c610683579a9e2ac540c2d59b9a3ed27eedaff830a43a1c43c1683556a457c92ac66e09109ee995ab173090e4042c4c4bb03 - languageName: node - linkType: hard - "@panva/hkdf@npm:^1.0.2": version: 1.0.4 resolution: "@panva/hkdf@npm:1.0.4" @@ -8419,17 +7993,6 @@ __metadata: languageName: node linkType: hard -"@prisma/debug@npm:4.12.0": - version: 4.12.0 - resolution: "@prisma/debug@npm:4.12.0" - dependencies: - "@types/debug": 4.1.7 - debug: 4.3.4 - strip-ansi: 6.0.1 - checksum: 0ae182634f4a25231ff946768e1da1f694b5141d21c92cb2a142580de30d67ebd1595f8575a4c63356740e415d5d64829449a4710d8421e7147016ea0acb2643 - languageName: node - linkType: hard - "@prisma/engines-version@npm:4.11.0-57.8fde8fef4033376662cad983758335009d522acb": version: 4.11.0-57.8fde8fef4033376662cad983758335009d522acb resolution: "@prisma/engines-version@npm:4.11.0-57.8fde8fef4033376662cad983758335009d522acb" @@ -8444,18 +8007,6 @@ __metadata: languageName: node linkType: hard -"@prisma/generator-helper@npm:^4.0.0": - version: 4.12.0 - resolution: "@prisma/generator-helper@npm:4.12.0" - dependencies: - "@prisma/debug": 4.12.0 - "@types/cross-spawn": 6.0.2 - chalk: 4.1.2 - cross-spawn: 7.0.3 - checksum: b844fcf736c922ce39e6aa1081b7c133b921ceb5d272f51296cf7afc3128ca6085ef1594ce63045ef47a462c56e5e37b9a1094a36d5dd484f77017d6f227641f - languageName: node - linkType: hard - "@prisma/generator-helper@npm:~3.8.1": version: 3.8.1 resolution: "@prisma/generator-helper@npm:3.8.1" @@ -8504,27 +8055,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-accordion@npm:^1.0.0": - version: 1.1.1 - resolution: "@radix-ui/react-accordion@npm:1.1.1" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-collapsible": 1.0.2 - "@radix-ui/react-collection": 1.0.2 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-direction": 1.0.0 - "@radix-ui/react-id": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-use-controllable-state": 1.0.0 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: a666da8abca778a150e2cb6d2c0e19fa32912b2cd9aca04359a7a50f238d30b056d46a3119f93376da5ee964262a7fe1174f16e34096d9f51d6639beb9f0e8cd - languageName: node - linkType: hard - "@radix-ui/react-arrow@npm:1.0.0": version: 1.0.0 resolution: "@radix-ui/react-arrow@npm:1.0.0" @@ -8567,26 +8097,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-collapsible@npm:1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-collapsible@npm:1.0.2" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-id": 1.0.0 - "@radix-ui/react-presence": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-use-controllable-state": 1.0.0 - "@radix-ui/react-use-layout-effect": 1.0.0 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: a0fcfd3aad5159e1fb6fc54fd09210d7de9c1ee1e19739a5a82af81d3f2233e4e5eb204da326f32e2f2a4740aa4c3b42530b61e36b7ced9f857801809d1d3527 - languageName: node - linkType: hard - "@radix-ui/react-collapsible@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-collapsible@npm:1.0.0" @@ -8638,22 +8148,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-collection@npm:1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-collection@npm:1.0.2" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-slot": 1.0.1 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: f7d92f52c7f92b53c055370a5cbf077eea54366706eec9100973737577d841c0cc76a2a577fec67dd85b2853d03c20c4810058f0f511821052358439017e9e5d - languageName: node - linkType: hard - "@radix-ui/react-compose-refs@npm:0.1.0": version: 0.1.0 resolution: "@radix-ui/react-compose-refs@npm:0.1.0" @@ -8786,23 +8280,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-dismissable-layer@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-dismissable-layer@npm:1.0.3" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-use-callback-ref": 1.0.0 - "@radix-ui/react-use-escape-keydown": 1.0.2 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: cb2a38a65dd129d1fd58436bedee765f46f6a6edc2ec15d534a1499c10f768ae06ad874704e030c85869b3ee4b61103076a116dfdb7e0c761a8c8cdc30a5c951 - languageName: node - linkType: hard - "@radix-ui/react-dropdown-menu@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-dropdown-menu@npm:1.0.0" @@ -8962,32 +8439,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-navigation-menu@npm:^1.0.0": - version: 1.1.2 - resolution: "@radix-ui/react-navigation-menu@npm:1.1.2" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-collection": 1.0.2 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-direction": 1.0.0 - "@radix-ui/react-dismissable-layer": 1.0.3 - "@radix-ui/react-id": 1.0.0 - "@radix-ui/react-presence": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-use-callback-ref": 1.0.0 - "@radix-ui/react-use-controllable-state": 1.0.0 - "@radix-ui/react-use-layout-effect": 1.0.0 - "@radix-ui/react-use-previous": 1.0.0 - "@radix-ui/react-visually-hidden": 1.0.2 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 2c321a10acf532cfead8f63c1eca9acb742fb94de3d67c8c8e2614845086376995e78cb3d31ac1bc4a915e961e5c19d60b52106c1c9196c9789d4da3e831fd5b - languageName: node - linkType: hard - "@radix-ui/react-popover@npm:^1.0.2": version: 1.0.2 resolution: "@radix-ui/react-popover@npm:1.0.2" @@ -9149,19 +8600,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-primitive@npm:1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-primitive@npm:1.0.2" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-slot": 1.0.1 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 070b1770749eb629425ef959c4cdbd86957b83c5286ae4423e55ab1a89fa286a51f5aeee44e3a13eb6ca44771415ac1acbaeb0ba03013b49ecb5253e1a5a8996 - languageName: node - linkType: hard - "@radix-ui/react-radio-group@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-radio-group@npm:1.0.0" @@ -9206,27 +8644,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-roving-focus@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-roving-focus@npm:1.0.3" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-collection": 1.0.2 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-direction": 1.0.0 - "@radix-ui/react-id": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-use-callback-ref": 1.0.0 - "@radix-ui/react-use-controllable-state": 1.0.0 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 08f33c7cd2962b5603a83c67e54f4b1d43f89138bc598644bde551845a302da2fc32f53cad712aa2b17915b2c598fc36244d88fbc5f01986ea93d788faf32101 - languageName: node - linkType: hard - "@radix-ui/react-select@npm:^0.1.1": version: 0.1.1 resolution: "@radix-ui/react-select@npm:0.1.1" @@ -9336,26 +8753,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-tabs@npm:^1.0.0": - version: 1.0.3 - resolution: "@radix-ui/react-tabs@npm:1.0.3" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-direction": 1.0.0 - "@radix-ui/react-id": 1.0.0 - "@radix-ui/react-presence": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-roving-focus": 1.0.3 - "@radix-ui/react-use-controllable-state": 1.0.0 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 603b06a1c071fec7b01cf82c3058aff239079b14f7d7988b559b9877bcd4e3f23d287b8cf38ebef6bb6b0c4f238a80f67525aa5fc9db519fbf1b70777a40f0ec - languageName: node - linkType: hard - "@radix-ui/react-toggle-group@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-toggle-group@npm:1.0.0" @@ -9601,19 +8998,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-visually-hidden@npm:1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-visually-hidden@npm:1.0.2" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-primitive": 1.0.2 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 67c4a55cfad9a8ff519a9b4ce24d2cc9d78c34d08a128a85de1a0a41228fdeb961eaeb4e50ca0d2080c5e31cef6f6e703cb06786579b44e5c66af161b941adb6 - languageName: node - linkType: hard - "@radix-ui/rect@npm:1.0.0": version: 1.0.0 resolution: "@radix-ui/rect@npm:1.0.0" @@ -10039,29 +9423,6 @@ __metadata: languageName: node linkType: hard -"@sideway/address@npm:^4.1.3": - version: 4.1.4 - resolution: "@sideway/address@npm:4.1.4" - dependencies: - "@hapi/hoek": ^9.0.0 - checksum: b9fca2a93ac2c975ba12e0a6d97853832fb1f4fb02393015e012b47fa916a75ca95102d77214b2a29a2784740df2407951af8c5dde054824c65577fd293c4cdb - languageName: node - linkType: hard - -"@sideway/formula@npm:^3.0.1": - version: 3.0.1 - resolution: "@sideway/formula@npm:3.0.1" - checksum: e4beeebc9dbe2ff4ef0def15cec0165e00d1612e3d7cea0bc9ce5175c3263fc2c818b679bd558957f49400ee7be9d4e5ac90487e1625b4932e15c4aa7919c57a - languageName: node - linkType: hard - -"@sideway/pinpoint@npm:^2.0.0": - version: 2.0.0 - resolution: "@sideway/pinpoint@npm:2.0.0" - checksum: 0f4491e5897fcf5bf02c46f5c359c56a314e90ba243f42f0c100437935daa2488f20482f0f77186bd6bf43345095a95d8143ecf8b1f4d876a7bc0806aba9c3d2 - languageName: node - linkType: hard - "@sinclair/typebox@npm:^0.24.1": version: 0.24.19 resolution: "@sinclair/typebox@npm:0.24.19" @@ -10153,27 +9514,13 @@ __metadata: languageName: node linkType: hard -"@stablelib/base64@npm:^1.0.0, @stablelib/base64@npm:^1.0.1": +"@stablelib/base64@npm:^1.0.0": version: 1.0.1 resolution: "@stablelib/base64@npm:1.0.1" checksum: 3ef4466d1d6889ac3fc67407bc21aa079953981c322eeca3b29f426d05506c63011faab1bfc042d7406e0677a94de6c9d2db2ce079afdd1eccae90031bfb5859 languageName: node linkType: hard -"@stablelib/hex@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/hex@npm:1.0.1" - checksum: 557f1c5d6b42963deee7627d4be1ae3542607851c5561e9419c42682d09562ebd3a06e2d92e088c52213a71ed121ec38221abfc5acd9e65707a77ecee3c96915 - languageName: node - linkType: hard - -"@stablelib/utf8@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/utf8@npm:1.0.1" - checksum: 098d9446f38a641a8ee265a7fc3467fefd561fc46ca65e1216c1df7a9b4d004e616347ce79f4b83d62e944f0f91d6be4af029ad0b027a20c3271951921ebfac5 - languageName: node - linkType: hard - "@storybook/addon-actions@npm:6.5.13, @storybook/addon-actions@npm:^6.5.13": version: 6.5.13 resolution: "@storybook/addon-actions@npm:6.5.13" @@ -12172,25 +11519,6 @@ __metadata: languageName: node linkType: hard -"@typeform/embed-react@npm:^1.2.4": - version: 1.21.0 - resolution: "@typeform/embed-react@npm:1.21.0" - dependencies: - "@typeform/embed": 1.38.0 - fast-deep-equal: ^3.1.3 - peerDependencies: - react: ">=16.8.0" - checksum: 1d91cb797dfe7b27e08798f7a571f34724a8f56bf9c89a8ed2a454820efce2de4db44fd4a18f446573784c28f79478f269c1719500e1b332e7ea34ea77ffa185 - languageName: node - linkType: hard - -"@typeform/embed@npm:1.38.0": - version: 1.38.0 - resolution: "@typeform/embed@npm:1.38.0" - checksum: 41115134e5cee28f5e031181b4525c7885d23707699cf183921110262717c7544bfd101428267410b812914c235687783e373ce98e37bdc447d72f8177663597 - languageName: node - linkType: hard - "@types/accept-language-parser@npm:1.5.2": version: 1.5.2 resolution: "@types/accept-language-parser@npm:1.5.2" @@ -12403,13 +11731,6 @@ __metadata: languageName: node linkType: hard -"@types/debounce@npm:^1.2.1": - version: 1.2.1 - resolution: "@types/debounce@npm:1.2.1" - checksum: bea6d414acefbee50adfe87cee10f8a855d033e4778567ab03bdc3cb2648b6bf9237ca53f4ee76fe4be75f77f86d4688411499626fe409bc870f53631d24231f - languageName: node - linkType: hard - "@types/debug@npm:4.1.7, @types/debug@npm:^4.0.0": version: 4.1.7 resolution: "@types/debug@npm:4.1.7" @@ -12569,13 +11890,6 @@ __metadata: languageName: node linkType: hard -"@types/gtag.js@npm:^0.0.10": - version: 0.0.10 - resolution: "@types/gtag.js@npm:0.0.10" - checksum: 5c18ffdc64418887763ec1a564e73c9fbf222ff3eece1fbc35a182fdd884e7884bb7708f67e6e4939f157bb9f2cb7a4aff42be7834527e35c5aac4f98783164c - languageName: node - linkType: hard - "@types/hast@npm:^2.0.0": version: 2.3.4 resolution: "@types/hast@npm:2.3.4" @@ -12699,7 +12013,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.7, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.7, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.11 resolution: "@types/json-schema@npm:7.0.11" checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d @@ -12904,7 +12218,7 @@ __metadata: languageName: node linkType: hard -"@types/parse5@npm:^6.0.0, @types/parse5@npm:^6.0.3": +"@types/parse5@npm:^6.0.3": version: 6.0.3 resolution: "@types/parse5@npm:6.0.3" checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7 @@ -12982,13 +12296,6 @@ __metadata: languageName: node linkType: hard -"@types/react-gtm-module@npm:^2.0.1": - version: 2.0.1 - resolution: "@types/react-gtm-module@npm:2.0.1" - checksum: cd57eece80d80453e79b16c977e13d51dc22c19af69a16ac6ea1eda01ab471f4dbe46ce80ce04ef13a0ecd0082372addec4c2e394978d1ce7fe86dbda4dfb922 - languageName: node - linkType: hard - "@types/react-phone-number-input@npm:^3.0.14": version: 3.0.14 resolution: "@types/react-phone-number-input@npm:3.0.14" @@ -13529,15 +12836,6 @@ __metadata: languageName: node linkType: hard -"@vercel/analytics@npm:^0.1.6": - version: 0.1.11 - resolution: "@vercel/analytics@npm:0.1.11" - peerDependencies: - react: ^16.8||^17||^18 - checksum: 05b8180ac6e23ebe7c09d74c43f8ee78c408cd0b6546e676389cbf4fba44dfeeae3648c9b52e2421be64fe3aeee8b026e6ea4bdfc0589fb5780670f2b090a167 - languageName: node - linkType: hard - "@vercel/edge-config@npm:^0.1.1": version: 0.1.1 resolution: "@vercel/edge-config@npm:0.1.1" @@ -14342,7 +13640,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.7, accepts@npm:~1.3.5, accepts@npm:~1.3.8": +"accepts@npm:~1.3.5, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -14974,13 +14272,6 @@ __metadata: languageName: node linkType: hard -"array-flatten@npm:^3.0.0": - version: 3.0.0 - resolution: "array-flatten@npm:3.0.0" - checksum: ad00c51ca70cf837501fb6da823ba39bc6a86b43d0b76d840daa02fe0f8e68e94ad5bc2d0d038053118b879aaca8ea6168c32c7387a2fa5b118ad28db4f1f863 - languageName: node - linkType: hard - "array-includes@npm:^3.0.3, array-includes@npm:^3.1.5": version: 3.1.5 resolution: "array-includes@npm:3.1.5" @@ -15752,7 +15043,7 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.0.2, base64-js@npm:^1.1.2, base64-js@npm:^1.3.0, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": +"base64-js@npm:^1.0.2, base64-js@npm:^1.3.0, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 @@ -16119,15 +15410,6 @@ __metadata: languageName: node linkType: hard -"brotli@npm:^1.3.2": - version: 1.3.3 - resolution: "brotli@npm:1.3.3" - dependencies: - base64-js: ^1.1.2 - checksum: 2c97329f4ccb8e4332cedd2f63b85c2e15ffb305b1cbf046df86201434caf93cb7992ca73c0f7053b6a1417f595069ec7783c26e01510cefc10035a0f466e594 - languageName: node - linkType: hard - "browser-assert@npm:^1.2.1": version: 1.2.1 resolution: "browser-assert@npm:1.2.1" @@ -17009,13 +16291,6 @@ __metadata: languageName: node linkType: hard -"chart.js@npm:^3.7.1": - version: 3.9.1 - resolution: "chart.js@npm:3.9.1" - checksum: 9ab0c0ac01215af0b3f020f2e313030fd6e347b48ed17d5484ee9c4e8ead45e78ae71bea16c397621c386b409ce0b14bf17f9f6c2492cd15b56c0f433efdfff6 - languageName: node - linkType: hard - "check-more-types@npm:2.24.0": version: 2.24.0 resolution: "check-more-types@npm:2.24.0" @@ -17209,16 +16484,6 @@ __metadata: languageName: node linkType: hard -"cleye@npm:1.2.1": - version: 1.2.1 - resolution: "cleye@npm:1.2.1" - dependencies: - terminal-columns: ^1.4.1 - type-flag: ^2.1.0 - checksum: 80ccfe7aba18d61bcf30248a7fd55848df50c1eb4215bad8b661716335ae1bca504e649e7b0204976c1d1c104cab0e8d4141d9e9b4333ec3696de11c9ed4a3b7 - languageName: node - linkType: hard - "cli-boxes@npm:^2.2.0, cli-boxes@npm:^2.2.1": version: 2.2.1 resolution: "cli-boxes@npm:2.2.1" @@ -17298,7 +16563,7 @@ __metadata: languageName: node linkType: hard -"client-only@npm:0.0.1, client-only@npm:^0.0.1": +"client-only@npm:0.0.1": version: 0.0.1 resolution: "client-only@npm:0.0.1" checksum: 0c16bf660dadb90610553c1d8946a7fdfb81d624adea073b8440b7d795d5b5b08beb3c950c6a2cf16279365a3265158a236876d92bce16423c485c322d7dfaf8 @@ -17437,15 +16702,6 @@ __metadata: languageName: node linkType: hard -"cobe@npm:^0.4.1": - version: 0.4.2 - resolution: "cobe@npm:0.4.2" - dependencies: - phenomenon: ^1.6.0 - checksum: 4c11dd8cf3c6614a2ff2f6eacca5283278c6db06c2e441011aa90f58c66d045e66ef98a5e4b9d0282d58ee22f5b87d965538aa4c6064ed97f436f3e4cd9ee3ed - languageName: node - linkType: hard - "code-block-writer@npm:^11.0.0": version: 11.0.0 resolution: "code-block-writer@npm:11.0.0" @@ -17590,13 +16846,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:6.2.0": - version: 6.2.0 - resolution: "commander@npm:6.2.0" - checksum: 59baef90f07ba8ae941e9d41a0a15be721d69e948ff833c218d936ffbbe2141580ce1ae2b1103c41436c30eefd1eb7bc3285de8936cd283fb78409f54a93f45a - languageName: node - linkType: hard - "commander@npm:9.1.0": version: 9.1.0 resolution: "commander@npm:9.1.0" @@ -17604,7 +16853,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.7.1, commander@npm:^2.8.1, commander@npm:^2.9.0": +"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.8.1, commander@npm:^2.9.0": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e @@ -17741,26 +16990,6 @@ __metadata: languageName: node linkType: hard -"concurrently@npm:^7.6.0": - version: 7.6.0 - resolution: "concurrently@npm:7.6.0" - dependencies: - chalk: ^4.1.0 - date-fns: ^2.29.1 - lodash: ^4.17.21 - rxjs: ^7.0.0 - shell-quote: ^1.7.3 - spawn-command: ^0.0.2-1 - supports-color: ^8.1.0 - tree-kill: ^1.2.2 - yargs: ^17.3.1 - bin: - conc: dist/bin/concurrently.js - concurrently: dist/bin/concurrently.js - checksum: f705c9a7960f1b16559ca64958043faeeef6385c0bf30a03d1375e15ab2d96dba4f8166f1bbbb1c85e8da35ca0ce3c353875d71dff2aa132b2357bb533b3332e - languageName: node - linkType: hard - "console-browserify@npm:^1.1.0": version: 1.2.0 resolution: "console-browserify@npm:1.2.0" @@ -17792,7 +17021,7 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4, content-disposition@npm:^0.5.2, content-disposition@npm:^0.5.3": +"content-disposition@npm:0.5.4, content-disposition@npm:^0.5.2": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" dependencies: @@ -18117,18 +17346,6 @@ __metadata: languageName: node linkType: hard -"cross-env@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-env@npm:7.0.3" - dependencies: - cross-spawn: ^7.0.1 - bin: - cross-env: src/bin/cross-env.js - cross-env-shell: src/bin/cross-env-shell.js - checksum: 26f2f3ea2ab32617f57effb70d329c2070d2f5630adc800985d8b30b56e8bf7f5f439dd3a0358b79cee6f930afc23cf8e23515f17ccfb30092c6b62c6b630a79 - languageName: node - linkType: hard - "cross-fetch@npm:3.1.5, cross-fetch@npm:^3.1.4, cross-fetch@npm:^3.1.5": version: 3.1.5 resolution: "cross-fetch@npm:3.1.5" @@ -18138,7 +17355,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -18539,48 +17756,13 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:^2.28.0, date-fns@npm:^2.29.1, date-fns@npm:^2.29.3": +"date-fns@npm:^2.28.0, date-fns@npm:^2.29.3": version: 2.29.3 resolution: "date-fns@npm:2.29.3" checksum: e01cf5b62af04e05dfff921bb9c9933310ed0e1ae9a81eb8653452e64dc841acf7f6e01e1a5ae5644d0337e9a7f936175fd2cb6819dc122fdd9c5e86c56be484 languageName: node linkType: hard -"datocms-listen@npm:^0.1.9": - version: 0.1.14 - resolution: "datocms-listen@npm:0.1.14" - checksum: 220309b8c35179160c2992b4f266cba10093984c51c16f459cc404962c8f5d859d596da42d70e3193190c227e31ac7406f2e2944830a35673be2757f895bfa93 - languageName: node - linkType: hard - -"datocms-structured-text-generic-html-renderer@npm:^2.0.1, datocms-structured-text-generic-html-renderer@npm:^2.0.4": - version: 2.0.4 - resolution: "datocms-structured-text-generic-html-renderer@npm:2.0.4" - dependencies: - datocms-structured-text-utils: ^2.0.4 - checksum: 58831e7bbcf8b8a18eb79af482898ba59b22ca18a52fafd9e855dce91933c26d0ae5ba53f002b1f34f4ebc106eb679232f3d00c560a4921b648a1787546f32b2 - languageName: node - linkType: hard - -"datocms-structured-text-to-plain-text@npm:^2.0.4": - version: 2.0.4 - resolution: "datocms-structured-text-to-plain-text@npm:2.0.4" - dependencies: - datocms-structured-text-generic-html-renderer: ^2.0.4 - datocms-structured-text-utils: ^2.0.4 - checksum: 24b36817849e6f8959bcdb3082f25487584d0f376765c0f1f94f3b549c10502220ea1c4936e6b323cc68d84da75488ce94d68528d9acecb835f3e5bcfb76a84a - languageName: node - linkType: hard - -"datocms-structured-text-utils@npm:^2.0.1, datocms-structured-text-utils@npm:^2.0.4": - version: 2.0.4 - resolution: "datocms-structured-text-utils@npm:2.0.4" - dependencies: - array-flatten: ^3.0.0 - checksum: 9e10d4faae0c47eebeee028cb0e8c459ecea6fb3dc4950ed0ab310d9b7f18d8ee014071142a42098b20c77264b60a2dd928e9a6462ae4ffea50a70d867f82f34 - languageName: node - linkType: hard - "dayjs-business-days2@npm:1.1.0": version: 1.1.0 resolution: "dayjs-business-days2@npm:1.1.0" @@ -18604,13 +17786,6 @@ __metadata: languageName: node linkType: hard -"debounce@npm:^1.2.1": - version: 1.2.1 - resolution: "debounce@npm:1.2.1" - checksum: 682a89506d9e54fb109526f4da255c5546102fbb8e3ae75eef3b04effaf5d4853756aee97475cd4650641869794e44f410eeb20ace2b18ea592287ab2038519e - languageName: node - linkType: hard - "debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -18936,7 +18111,7 @@ __metadata: languageName: node linkType: hard -"depd@npm:^1.1.0, depd@npm:~1.1.2": +"depd@npm:~1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 @@ -18950,7 +18125,7 @@ __metadata: languageName: node linkType: hard -"dequal@npm:^2.0.2, dequal@npm:^2.0.3": +"dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" checksum: 8679b850e1a3d0ebbc46ee780d5df7b478c23f335887464023a631d1b9af051ad4a6595a44220f9ff8ff95a8ddccf019b5ad778a976fd7bbf77383d36f412f90 @@ -19124,21 +18299,21 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:3.0.0, doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" +"doctrine@npm:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" dependencies: esutils: ^2.0.2 - checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce + checksum: a45e277f7feaed309fe658ace1ff286c6e2002ac515af0aaf37145b8baa96e49899638c7cd47dccf84c3d32abfc113246625b3ac8f552d1046072adee13b0dc8 languageName: node linkType: hard -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" dependencies: esutils: ^2.0.2 - checksum: a45e277f7feaed309fe658ace1ff286c6e2002ac515af0aaf37145b8baa96e49899638c7cd47dccf84c3d32abfc113246625b3ac8f552d1046072adee13b0dc8 + checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce languageName: node linkType: hard @@ -19362,13 +18537,6 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^10.0.0": - version: 10.0.0 - resolution: "dotenv@npm:10.0.0" - checksum: f412c5fe8c24fbe313d302d2500e247ba8a1946492db405a4de4d30dd0eb186a88a43f13c958c5a7de303938949c4231c56994f97d05c4bc1f22478d631b4005 - languageName: node - linkType: hard - "dotenv@npm:^16.0.0, dotenv@npm:^16.0.1": version: 16.0.1 resolution: "dotenv@npm:16.0.1" @@ -21687,13 +20855,6 @@ __metadata: languageName: node linkType: hard -"fathom-client@npm:^3.5.0": - version: 3.5.0 - resolution: "fathom-client@npm:3.5.0" - checksum: 16299bd50dc6bcc716a0d6c81fdad65272ff4f08d68695b64b00e19a04de14771c96ddc1205ce7c4220eddd0d3cf70c65ee9c8fb32b8b776ef155faf61e44479 - languageName: node - linkType: hard - "fault@npm:^1.0.0": version: 1.0.4 resolution: "fault@npm:1.0.4" @@ -22277,7 +21438,7 @@ __metadata: languageName: node linkType: hard -"fresh@npm:0.5.2, fresh@npm:^0.5.2": +"fresh@npm:0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 @@ -22330,17 +21491,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^8.0.1": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^4.0.0 - universalify: ^0.1.0 - checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 - languageName: node - linkType: hard - "fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1": version: 9.1.0 resolution: "fs-extra@npm:9.1.0" @@ -22742,13 +21892,6 @@ __metadata: languageName: node linkType: hard -"github-buttons@npm:^2.22.0": - version: 2.27.0 - resolution: "github-buttons@npm:2.27.0" - checksum: 1954e04fc7e65a5c14b9c0726b486015deee648c9de62f7f0d4267bbd548090f57137d33e1755490736b10578c4fc7bf149fe64c296d7634a1bfc3707e25e96b - languageName: node - linkType: hard - "github-slugger@npm:^1.0.0, github-slugger@npm:^1.3.0": version: 1.4.0 resolution: "github-slugger@npm:1.4.0" @@ -22989,19 +22132,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^13.1.3": - version: 13.1.4 - resolution: "globby@npm:13.1.4" - dependencies: - dir-glob: ^3.0.1 - fast-glob: ^3.2.11 - ignore: ^5.2.0 - merge2: ^1.4.1 - slash: ^4.0.0 - checksum: e8bc13879972082d590cd1b0e27080d90d2e12fff7eeb2cee9329c29115ace14cc5b9f899e3d6beb136ba826307a727016658919a6f383e1511d698acee81741 - languageName: node - linkType: hard - "globby@npm:^9.2.0": version: 9.2.0 resolution: "globby@npm:9.2.0" @@ -23204,13 +22334,6 @@ __metadata: languageName: node linkType: hard -"gsap@npm:^3.11.0": - version: 3.11.5 - resolution: "gsap@npm:3.11.5" - checksum: 0d62c9405ed9703f8c65e6190b648d9691fa84bd03bcde0d286cd29d80c5865c22aa57a128b33299c0c15d41473e83f13be1645700325f3821dd912a3022350d - languageName: node - linkType: hard - "gtoken@npm:^5.0.4": version: 5.3.2 resolution: "gtoken@npm:5.3.2" @@ -23472,21 +22595,6 @@ __metadata: languageName: node linkType: hard -"hast-util-from-parse5@npm:^7.0.0": - version: 7.1.2 - resolution: "hast-util-from-parse5@npm:7.1.2" - dependencies: - "@types/hast": ^2.0.0 - "@types/unist": ^2.0.0 - hastscript: ^7.0.0 - property-information: ^6.0.0 - vfile: ^5.0.0 - vfile-location: ^4.0.0 - web-namespaces: ^2.0.0 - checksum: 7b4ed5b508b1352127c6719f7b0c0880190cf9859fe54ccaf7c9228ecf623d36cef3097910b3874d2fe1aac6bf4cf45d3cc2303daac3135a05e9ade6534ddddb - languageName: node - linkType: hard - "hast-util-parse-selector@npm:^2.0.0": version: 2.2.5 resolution: "hast-util-parse-selector@npm:2.2.5" @@ -23494,15 +22602,6 @@ __metadata: languageName: node linkType: hard -"hast-util-parse-selector@npm:^3.0.0": - version: 3.1.1 - resolution: "hast-util-parse-selector@npm:3.1.1" - dependencies: - "@types/hast": ^2.0.0 - checksum: 511d373465f60dd65e924f88bf0954085f4fb6e3a2b062a4b5ac43b93cbfd36a8dce6234b5d1e3e63499d936375687e83fc5da55628b22bd6b581b5ee167d1c4 - languageName: node - linkType: hard - "hast-util-raw@npm:6.0.1": version: 6.0.1 resolution: "hast-util-raw@npm:6.0.1" @@ -23521,34 +22620,6 @@ __metadata: languageName: node linkType: hard -"hast-util-raw@npm:^7.0.0": - version: 7.2.3 - resolution: "hast-util-raw@npm:7.2.3" - dependencies: - "@types/hast": ^2.0.0 - "@types/parse5": ^6.0.0 - hast-util-from-parse5: ^7.0.0 - hast-util-to-parse5: ^7.0.0 - html-void-elements: ^2.0.0 - parse5: ^6.0.0 - unist-util-position: ^4.0.0 - unist-util-visit: ^4.0.0 - vfile: ^5.0.0 - web-namespaces: ^2.0.0 - zwitch: ^2.0.0 - checksum: 21857eea3ffb8fd92d2d9be7793b56d0b2c40db03c4cfa14828855ae41d7c584917aa83efb7157220b2e41e25e95f81f24679ac342c35145e5f1c1d39015f81f - languageName: node - linkType: hard - -"hast-util-sanitize@npm:^4.0.0": - version: 4.1.0 - resolution: "hast-util-sanitize@npm:4.1.0" - dependencies: - "@types/hast": ^2.0.0 - checksum: 4f1786d6556bae6485a657a3e77e7e71b573fd20e4e2d70678e0f445eb8fe3dc6c4441cda6d18b89a79b53e2c03b6232eb6c470ecd478737050724ea09398603 - languageName: node - linkType: hard - "hast-util-to-estree@npm:^2.0.0": version: 2.0.2 resolution: "hast-util-to-estree@npm:2.0.2" @@ -23571,25 +22642,6 @@ __metadata: languageName: node linkType: hard -"hast-util-to-html@npm:^8.0.0": - version: 8.0.4 - resolution: "hast-util-to-html@npm:8.0.4" - dependencies: - "@types/hast": ^2.0.0 - "@types/unist": ^2.0.0 - ccount: ^2.0.0 - comma-separated-tokens: ^2.0.0 - hast-util-raw: ^7.0.0 - hast-util-whitespace: ^2.0.0 - html-void-elements: ^2.0.0 - property-information: ^6.0.0 - space-separated-tokens: ^2.0.0 - stringify-entities: ^4.0.0 - zwitch: ^2.0.4 - checksum: 8f2ae071df2ced5afb4f19f76af8fd3a2f837dc47bcc1c0e0c1578d29dafcd28738f9617505d13c4a2adf13d70e043143e2ad8f130d5554ab4fc11bfa8f74094 - languageName: node - linkType: hard - "hast-util-to-parse5@npm:^6.0.0": version: 6.0.0 resolution: "hast-util-to-parse5@npm:6.0.0" @@ -23603,20 +22655,6 @@ __metadata: languageName: node linkType: hard -"hast-util-to-parse5@npm:^7.0.0": - version: 7.1.0 - resolution: "hast-util-to-parse5@npm:7.1.0" - dependencies: - "@types/hast": ^2.0.0 - comma-separated-tokens: ^2.0.0 - property-information: ^6.0.0 - space-separated-tokens: ^2.0.0 - web-namespaces: ^2.0.0 - zwitch: ^2.0.0 - checksum: 3a7f2175a3db599bbae7e49ba73d3e5e688e5efca7590ff50130ba108ad649f728402815d47db49146f6b94c14c934bf119915da9f6964e38802c122bcc8af6b - languageName: node - linkType: hard - "hast-util-whitespace@npm:^2.0.0": version: 2.0.0 resolution: "hast-util-whitespace@npm:2.0.0" @@ -23637,19 +22675,6 @@ __metadata: languageName: node linkType: hard -"hastscript@npm:^7.0.0": - version: 7.2.0 - resolution: "hastscript@npm:7.2.0" - dependencies: - "@types/hast": ^2.0.0 - comma-separated-tokens: ^2.0.0 - hast-util-parse-selector: ^3.0.0 - property-information: ^6.0.0 - space-separated-tokens: ^2.0.0 - checksum: 928a21576ff7b9a8c945e7940bcbf2d27f770edb4279d4d04b33dc90753e26ca35c1172d626f54afebd377b2afa32331e399feb3eb0f7b91a399dca5927078ae - languageName: node - linkType: hard - "he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -23796,13 +22821,6 @@ __metadata: languageName: node linkType: hard -"html-void-elements@npm:^2.0.0": - version: 2.0.1 - resolution: "html-void-elements@npm:2.0.1" - checksum: 06d41f13b9d5d6e0f39861c4bec9a9196fa4906d56cd5cf6cf54ad2e52a85bf960cca2bf9600026bde16c8331db171bedba5e5a35e2e43630c8f1d497b2fb658 - languageName: node - linkType: hard - "html-webpack-plugin@npm:^4.0.0": version: 4.5.2 resolution: "html-webpack-plugin@npm:4.5.2" @@ -24205,13 +23223,6 @@ __metadata: languageName: node linkType: hard -"immer@npm:^9.0.15": - version: 9.0.21 - resolution: "immer@npm:9.0.21" - checksum: 70e3c274165995352f6936695f0ef4723c52c92c92dd0e9afdfe008175af39fa28e76aafb3a2ca9d57d1fb8f796efc4dd1e1cc36f18d33fa5b74f3dfb0375432 - languageName: node - linkType: hard - "immutable@npm:^3.8.2, immutable@npm:^3.x.x": version: 3.8.2 resolution: "immutable@npm:3.8.2" @@ -26043,26 +25054,6 @@ __metadata: languageName: node linkType: hard -"joi@npm:^17.7.0": - version: 17.9.1 - resolution: "joi@npm:17.9.1" - dependencies: - "@hapi/hoek": ^9.0.0 - "@hapi/topo": ^5.0.0 - "@sideway/address": ^4.1.3 - "@sideway/formula": ^3.0.1 - "@sideway/pinpoint": ^2.0.0 - checksum: 055df3841e00d7ed065ef1cc3330cf69097ab2ffec3083d8b1d6edfd2e25504bf2983f5249d6f0459bcad99fe21bb0c9f6f1cc03569713af27cd5eb00ee7bb7d - languageName: node - linkType: hard - -"jose@npm:4.11.1": - version: 4.11.1 - resolution: "jose@npm:4.11.1" - checksum: cd15cba258d0fd20f6168631ce2e94fda8442df80e43c1033c523915cecdf390a1cc8efe0eab0c2d65935ca973d791c668aea80724d2aa9c2879d4e70f3081d7 - languageName: node - linkType: hard - "jose@npm:4.12.0": version: 4.12.0 resolution: "jose@npm:4.12.0" @@ -26439,19 +25430,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^5.0.0": - version: 5.0.0 - resolution: "jsonfile@npm:5.0.0" - dependencies: - graceful-fs: ^4.1.6 - universalify: ^0.1.2 - dependenciesMeta: - graceful-fs: - optional: true - checksum: e0ecff572dba34153a66e3a3bc5c6cb01a2c1d2cf4a2c19b6728dcfcab39d94be9cca4a0fc86a17ff2c815f2aeb43768ac75545780dbea4009433fdc32aa14d1 - languageName: node - linkType: hard - "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -26614,13 +25592,6 @@ __metadata: languageName: node linkType: hard -"keen-slider@npm:^6.8.0": - version: 6.8.5 - resolution: "keen-slider@npm:6.8.5" - checksum: 1ef25cde02636068a0c66de994eb1e5ac1935a1a1f28e5cf4dcbf2c9cf2b802e0e23bdcd97dd9a9ae93de335ccc990379ab21bda75637fe04e86cbb7d799e23a - languageName: node - linkType: hard - "keypress@npm:~0.2.1": version: 0.2.1 resolution: "keypress@npm:0.2.1" @@ -27144,13 +26115,6 @@ __metadata: languageName: node linkType: hard -"lodash.mergewith@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.mergewith@npm:4.6.2" - checksum: a6db2a9339752411f21b956908c404ec1e088e783a65c8b29e30ae5b3b6384f82517662d6f425cc97c2070b546cc2c7daaa8d33f78db7b6e9be06cd834abdeb8 - languageName: node - linkType: hard - "lodash.once@npm:^4.0.0, lodash.once@npm:^4.1.1": version: 4.1.1 resolution: "lodash.once@npm:4.1.1" @@ -27394,15 +26358,6 @@ __metadata: languageName: node linkType: hard -"lucide-react@npm:^0.125.0": - version: 0.125.0 - resolution: "lucide-react@npm:0.125.0" - peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 - checksum: 6d86330fd4316a42624d537cc07adc3c51c18a699a02ef3abbd221c3140ae5ac5685396e1f5cb20f5f5ba80fa100523a5a6811c22a51bd13bbfdf65546cfffdf - languageName: node - linkType: hard - "luxon@npm:^1.26.0": version: 1.28.0 resolution: "luxon@npm:1.28.0" @@ -27840,23 +26795,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-hast@npm:^11.0.0": - version: 11.3.0 - resolution: "mdast-util-to-hast@npm:11.3.0" - dependencies: - "@types/hast": ^2.0.0 - "@types/mdast": ^3.0.0 - "@types/mdurl": ^1.0.0 - mdast-util-definitions: ^5.0.0 - mdurl: ^1.0.0 - unist-builder: ^3.0.0 - unist-util-generated: ^2.0.0 - unist-util-position: ^4.0.0 - unist-util-visit: ^4.0.0 - checksum: a968d034613aa5cfb44b9c03d8e61a08bb563bfde3a233fb3d83a28857357e2beef56b6767bab2867d3c3796dc5dd796af4d03fb83e3133aeb7f4187b5cc9327 - languageName: node - linkType: hard - "mdast-util-to-hast@npm:^12.1.0": version: 12.1.1 resolution: "mdast-util-to-hast@npm:12.1.1" @@ -28076,7 +27014,7 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.1, merge-descriptors@npm:^1.0.1": +"merge-descriptors@npm:1.0.1": version: 1.0.1 resolution: "merge-descriptors@npm:1.0.1" checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 @@ -28718,13 +27656,6 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.7": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 - languageName: node - linkType: hard - "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -28928,15 +27859,6 @@ __metadata: languageName: node linkType: hard -"modify-response-middleware@npm:^1.1.0": - version: 1.1.0 - resolution: "modify-response-middleware@npm:1.1.0" - dependencies: - brotli: ^1.3.2 - checksum: eeee5c14ae9492f8b3949b10786af35e7ff362c1f54ef2015ee4db770492b1ba41ec8b5ffd08dee6401346c94bffff663ef93187c3487913cd3a79df10379081 - languageName: node - linkType: hard - "module-alias@npm:^2.2.2": version: 2.2.2 resolution: "module-alias@npm:2.2.2" @@ -29308,17 +28230,6 @@ __metadata: languageName: node linkType: hard -"next-api-middleware@npm:^1.0.1": - version: 1.0.1 - resolution: "next-api-middleware@npm:1.0.1" - dependencies: - debug: ^4.3.2 - peerDependencies: - next: ">=10" - checksum: c370494616edaef7f8a4efa33c35fe18b1b15405c74f3d77f6475efa5b792346fffd87679affb5936c2fc604bfcd4e64a8e679049a8fc432bf8426eada48c9fc - languageName: node - linkType: hard - "next-auth@npm:^4.20.1": version: 4.20.1 resolution: "next-auth@npm:4.20.1" @@ -29397,21 +28308,6 @@ __metadata: languageName: node linkType: hard -"next-swagger-doc@npm:^0.3.4": - version: 0.3.6 - resolution: "next-swagger-doc@npm:0.3.6" - dependencies: - cleye: 1.2.1 - isarray: 2.0.5 - swagger-jsdoc: 6.2.5 - peerDependencies: - next: ">=9" - bin: - next-swagger-doc-cli: dist/cli.js - checksum: b9e11ecda6327e4a881a61f17b96407d9a260a532467b3552eb4bdb874c48889fc437db437395c121c80b33ba3be87cbff00f34c6f103259df78588227c83a2e - languageName: node - linkType: hard - "next-themes@npm:^0.0.8": version: 0.0.8 resolution: "next-themes@npm:0.0.8" @@ -29451,86 +28347,6 @@ __metadata: languageName: node linkType: hard -"next-validations@npm:^0.2.0": - version: 0.2.1 - resolution: "next-validations@npm:0.2.1" - peerDependencies: - next: "*" - checksum: f0af51cd0e07e5ece3353b290f36c36f859436b465071a0765cc0dcea630ecccaaa217cf992e174b9f357a6ca24ea65c85084bb0c4bc2029d4b2ac93c1a66ca2 - languageName: node - linkType: hard - -"next@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "next@npm:13.2.4-canary.5" - dependencies: - "@next/env": 13.2.4-canary.5 - "@next/swc-android-arm-eabi": 13.2.4-canary.5 - "@next/swc-android-arm64": 13.2.4-canary.5 - "@next/swc-darwin-arm64": 13.2.4-canary.5 - "@next/swc-darwin-x64": 13.2.4-canary.5 - "@next/swc-freebsd-x64": 13.2.4-canary.5 - "@next/swc-linux-arm-gnueabihf": 13.2.4-canary.5 - "@next/swc-linux-arm64-gnu": 13.2.4-canary.5 - "@next/swc-linux-arm64-musl": 13.2.4-canary.5 - "@next/swc-linux-x64-gnu": 13.2.4-canary.5 - "@next/swc-linux-x64-musl": 13.2.4-canary.5 - "@next/swc-win32-arm64-msvc": 13.2.4-canary.5 - "@next/swc-win32-ia32-msvc": 13.2.4-canary.5 - "@next/swc-win32-x64-msvc": 13.2.4-canary.5 - "@swc/helpers": 0.4.14 - caniuse-lite: ^1.0.30001406 - postcss: 8.4.14 - styled-jsx: 5.1.1 - peerDependencies: - "@opentelemetry/api": ^1.4.0 - fibers: ">= 3.1.0" - node-sass: ^6.0.0 || ^7.0.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - dependenciesMeta: - "@next/swc-android-arm-eabi": - optional: true - "@next/swc-android-arm64": - optional: true - "@next/swc-darwin-arm64": - optional: true - "@next/swc-darwin-x64": - optional: true - "@next/swc-freebsd-x64": - optional: true - "@next/swc-linux-arm-gnueabihf": - optional: true - "@next/swc-linux-arm64-gnu": - optional: true - "@next/swc-linux-arm64-musl": - optional: true - "@next/swc-linux-x64-gnu": - optional: true - "@next/swc-linux-x64-musl": - optional: true - "@next/swc-win32-arm64-msvc": - optional: true - "@next/swc-win32-ia32-msvc": - optional: true - "@next/swc-win32-x64-msvc": - optional: true - peerDependenciesMeta: - "@opentelemetry/api": - optional: true - fibers: - optional: true - node-sass: - optional: true - sass: - optional: true - bin: - next: dist/bin/next - checksum: 47616f1ebbf0e716ca67313d247d56f646e1f663dcfc99125a0e882ed74a6ebc2c776a7e05438b4e928d38d8dae42933c5b314dfb8e4c0a566edd0e26647335a - languageName: node - linkType: hard - "next@npm:^13.2.1": version: 13.2.3 resolution: "next@npm:13.2.3" @@ -29785,24 +28601,6 @@ __metadata: languageName: node linkType: hard -"node-mocks-http@npm:^1.11.0": - version: 1.12.2 - resolution: "node-mocks-http@npm:1.12.2" - dependencies: - accepts: ^1.3.7 - content-disposition: ^0.5.3 - depd: ^1.1.0 - fresh: ^0.5.2 - merge-descriptors: ^1.0.1 - methods: ^1.1.2 - mime: ^1.3.4 - parseurl: ^1.3.3 - range-parser: ^1.2.0 - type-is: ^1.6.18 - checksum: 39e50b7146bd37fd56a0588ee3df46fd310f76395d52e9b8889545910aca6cc8e8a41de3cdd3e103903d4bbfc556e67624fcbe934c0bd3b0cca6ee1358a0f440 - languageName: node - linkType: hard - "node-releases@npm:^2.0.2": version: 2.0.2 resolution: "node-releases@npm:2.0.2" @@ -30040,13 +28838,6 @@ __metadata: languageName: node linkType: hard -"oauth4webapi@npm:2.0.5": - version: 2.0.5 - resolution: "oauth4webapi@npm:2.0.5" - checksum: 32d0cb7b1cca42d51dfb88075ca2d69fe33172a807e8ea50e317d17cab3bc80588ab8ebcb7eb4600c371a70af4674595b4b341daf6f3a655f1efa1ab715bb6c9 - languageName: node - linkType: hard - "oauth@npm:^0.9.15": version: 0.9.15 resolution: "oauth@npm:0.9.15" @@ -30107,13 +28898,6 @@ __metadata: languageName: node linkType: hard -"object-path@npm:^0.11.8": - version: 0.11.8 - resolution: "object-path@npm:0.11.8" - checksum: 684ccf0fb6b82f067dc81e2763481606692b8485bec03eb2a64e086a44dbea122b2b9ef44423a08e09041348fe4b4b67bd59985598f1652f67df95f0618f5968 - languageName: node - linkType: hard - "object-visit@npm:^1.0.0": version: 1.0.1 resolution: "object-visit@npm:1.0.1" @@ -30905,7 +29689,7 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:^1.3.3, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": +"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 @@ -31186,13 +29970,6 @@ __metadata: languageName: node linkType: hard -"phenomenon@npm:^1.6.0": - version: 1.6.0 - resolution: "phenomenon@npm:1.6.0" - checksum: e05ca8223a9df42c5cee02c082103ef96a349424fec18a8478d2171060a63095e21bef394529263c64d8082aff43204a0fa1355211fd7ac2a338c2839fffbca3 - languageName: node - linkType: hard - "phin@npm:^2.9.1": version: 2.9.3 resolution: "phin@npm:2.9.3" @@ -31353,26 +30130,6 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.32.3": - version: 1.32.3 - resolution: "playwright-core@npm:1.32.3" - bin: - playwright: cli.js - checksum: 7ea091c41a7d1bb97b445bc541a85b123ffcf167bcc00fb7e13e9079f06c92f59fd27caf9d1c1d7e0054f2b5765d1a16d198833c2be7266cebb9dbb916cd90f4 - languageName: node - linkType: hard - -"playwright@npm:^1.31.2": - version: 1.32.3 - resolution: "playwright@npm:1.32.3" - dependencies: - playwright-core: 1.32.3 - bin: - playwright: cli.js - checksum: 9627771a131ab96a26d702757e89dcf09a228f0038c43a14f982cc59a2eca672cb27c9d92c324ddc2c44457b82d77c30b3562b386601969e0456b52dba5df176 - languageName: node - linkType: hard - "pngjs@npm:^3.0.0, pngjs@npm:^3.3.0, pngjs@npm:^3.3.3": version: 3.4.0 resolution: "pngjs@npm:3.4.0" @@ -31712,17 +30469,6 @@ __metadata: languageName: node linkType: hard -"preact-render-to-string@npm:5.2.3": - version: 5.2.3 - resolution: "preact-render-to-string@npm:5.2.3" - dependencies: - pretty-format: ^3.8.0 - peerDependencies: - preact: ">=10" - checksum: 6e46288d8956adde35b9fe3a21aecd9dea29751b40f0f155dea62f3896f27cb8614d457b32f48d33909d2da81135afcca6c55077520feacd7d15164d1371fb44 - languageName: node - linkType: hard - "preact-render-to-string@npm:^5.1.19": version: 5.2.6 resolution: "preact-render-to-string@npm:5.2.6" @@ -31734,13 +30480,6 @@ __metadata: languageName: node linkType: hard -"preact@npm:10.11.3, preact@npm:^10.6.3": - version: 10.11.3 - resolution: "preact@npm:10.11.3" - checksum: 9387115aa0581e8226309e6456e9856f17dfc0e3d3e63f774de80f3d462a882ba7c60914c05942cb51d51e23e120dcfe904b8d392d46f29ad15802941fe7a367 - languageName: node - linkType: hard - "preact@npm:10.4.1": version: 10.4.1 resolution: "preact@npm:10.4.1" @@ -31755,6 +30494,13 @@ __metadata: languageName: node linkType: hard +"preact@npm:^10.6.3": + version: 10.11.3 + resolution: "preact@npm:10.11.3" + checksum: 9387115aa0581e8226309e6456e9856f17dfc0e3d3e63f774de80f3d462a882ba7c60914c05942cb51d51e23e120dcfe904b8d392d46f29ad15802941fe7a367 + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -31940,33 +30686,6 @@ __metadata: languageName: node linkType: hard -"prism-react-renderer@npm:^1.3.5": - version: 1.3.5 - resolution: "prism-react-renderer@npm:1.3.5" - peerDependencies: - react: ">=0.14.9" - checksum: c18806dcbc4c0b4fd6fd15bd06b4f7c0a6da98d93af235c3e970854994eb9b59e23315abb6cfc29e69da26d36709a47e25da85ab27fed81b6812f0a52caf6dfa - languageName: node - linkType: hard - -"prisma-field-encryption@npm:^1.4.0": - version: 1.4.1 - resolution: "prisma-field-encryption@npm:1.4.1" - dependencies: - "@47ng/cloak": ^1.1.0 - "@prisma/generator-helper": ^4.0.0 - debug: ^4.3.4 - immer: ^9.0.15 - object-path: ^0.11.8 - zod: ^3.17.3 - peerDependencies: - "@prisma/client": ^3.8.0 || ^4 - bin: - prisma-field-encryption: dist/generator/main.js - checksum: cf059abc1c39ae9252494aaf6ce2bfa0f415583b8cd11b9d84eeadfbb504e00f61570b0e3158ba4b7d52daf91353ffe92766a717c03b9965c421cc08ed49c303 - languageName: node - linkType: hard - "prisma@npm:^4.11.0": version: 4.11.0 resolution: "prisma@npm:4.11.0" @@ -32452,7 +31171,7 @@ __metadata: languageName: node linkType: hard -"range-parser@npm:^1.2.0, range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": +"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 @@ -32561,16 +31280,6 @@ __metadata: languageName: node linkType: hard -"react-chartjs-2@npm:^4.0.1": - version: 4.3.1 - resolution: "react-chartjs-2@npm:4.3.1" - peerDependencies: - chart.js: ^3.5.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 574d12cc43b9b4a0f1e04cc692982e16ef7083c03da2a8a9fc2180fe9bcadc793008f81d8f4eec5465925eff84c95d7c523cb74376858b363ae75a83bb3c2a5d - languageName: node - linkType: hard - "react-colorful@npm:^5.6.0": version: 5.6.0 resolution: "react-colorful@npm:5.6.0" @@ -32581,17 +31290,6 @@ __metadata: languageName: node linkType: hard -"react-confetti@npm:^6.0.1": - version: 6.1.0 - resolution: "react-confetti@npm:6.1.0" - dependencies: - tween-functions: ^1.2.0 - peerDependencies: - react: ^16.3.0 || ^17.0.1 || ^18.0.0 - checksum: 24b6975df144d2bf09d8e1c95ddc49e547775f911efaa8d96b49e522659d931539e9d9e48cc0db3a01f3a671be7e3824e6e728db85096f5527db5d1c69ebb153 - languageName: node - linkType: hard - "react-copy-to-clipboard@npm:5.0.4": version: 5.0.4 resolution: "react-copy-to-clipboard@npm:5.0.4" @@ -32625,23 +31323,6 @@ __metadata: languageName: node linkType: hard -"react-datocms@npm:^3.1.0": - version: 3.1.4 - resolution: "react-datocms@npm:3.1.4" - dependencies: - datocms-listen: ^0.1.9 - datocms-structured-text-generic-html-renderer: ^2.0.1 - datocms-structured-text-utils: ^2.0.1 - react-intersection-observer: ^8.33.1 - react-string-replace: ^1.1.0 - universal-base64: ^2.1.0 - use-deep-compare-effect: ^1.6.1 - peerDependencies: - react: ">= 16.12.0" - checksum: 54aba12aef4937175c2011548a8a576c96c8d8a596e84d191826910624c1d596e76a49782689dc236388a10803b02e700ac820cb7500cca7fd147a81f6c544c3 - languageName: node - linkType: hard - "react-debounce-input@npm:=3.2.4": version: 3.2.4 resolution: "react-debounce-input@npm:3.2.4" @@ -32654,18 +31335,6 @@ __metadata: languageName: node linkType: hard -"react-device-detect@npm:^2.2.2": - version: 2.2.3 - resolution: "react-device-detect@npm:2.2.3" - dependencies: - ua-parser-js: ^1.0.33 - peerDependencies: - react: ">= 0.14.0" - react-dom: ">= 0.14.0" - checksum: 42d9b3182b9d2495bf0d7914c9f370da51d8bdb853a3eba2acaf433894ae760386a075ba103185be825b33d42f50d85ef462087f261656d433f4c74dab23861f - languageName: node - linkType: hard - "react-devtools-core@npm:^4.19.1": version: 4.24.6 resolution: "react-devtools-core@npm:4.24.6" @@ -32771,16 +31440,6 @@ __metadata: languageName: node linkType: hard -"react-fast-marquee@npm:^1.3.5": - version: 1.3.5 - resolution: "react-fast-marquee@npm:1.3.5" - peerDependencies: - react: ">= 16.8.0 || 18.0.0" - react-dom: ">= 16.8.0 || 18.0.0" - checksum: 95301d63faa858ac0e8c2ab32e1e864ed49d8b36e96216960af0ac797bc30fe11c7747b9c3bed3728f5371e57a93277a064fd433c6f8e1a24a9a32bbf1d354e8 - languageName: node - linkType: hard - "react-feather@npm:^2.0.10": version: 2.0.10 resolution: "react-feather@npm:2.0.10" @@ -32806,17 +31465,6 @@ __metadata: languageName: node linkType: hard -"react-github-btn@npm:^1.4.0": - version: 1.4.0 - resolution: "react-github-btn@npm:1.4.0" - dependencies: - github-buttons: ^2.22.0 - peerDependencies: - react: ">=16.3.0" - checksum: 33a416ad76ab4cc9238ac5cf5cfcab636bb2127c48fb30805385350fd3a3c2aa0aaeb78f6c726c52a0d3d133ca469be35d4b3d188c8e40c735c7ff458d2c8c3c - languageName: node - linkType: hard - "react-hook-form@npm:^7.43.3": version: 7.43.3 resolution: "react-hook-form@npm:7.43.3" @@ -32910,15 +31558,6 @@ __metadata: languageName: node linkType: hard -"react-intersection-observer@npm:^8.33.1": - version: 8.34.0 - resolution: "react-intersection-observer@npm:8.34.0" - peerDependencies: - react: ^15.0.0 || ^16.0.0 || ^17.0.0|| ^18.0.0 - checksum: 7713fecfd1512c7f5a60f9f0bf15403b8f8bbd4110bcafaeaea6de36a0e0eb60368c3638f99e9c97b75ad8fc787ea48c241dcb5c694f821d7f2976f709082cc5 - languageName: node - linkType: hard - "react-intl@npm:^5.25.1": version: 5.25.1 resolution: "react-intl@npm:5.25.1" @@ -32980,16 +31619,7 @@ __metadata: languageName: node linkType: hard -"react-live-chat-loader@npm:^2.8.1": - version: 2.8.1 - resolution: "react-live-chat-loader@npm:2.8.1" - peerDependencies: - react: ^16.14.0 || ^17.0.0 || ^18.0.0 - checksum: 784648dc5c8e56ad11517433b2685c4e562efde6116d03444d2e8a0f87076860712800551698f82e980939ed3ac305947b78a514187ae2d5a1a0fc0a659c5c22 - languageName: node - linkType: hard - -"react-merge-refs@npm:1.1.0, react-merge-refs@npm:^1.0.0": +"react-merge-refs@npm:^1.0.0": version: 1.1.0 resolution: "react-merge-refs@npm:1.1.0" checksum: 90884352999002d868ab9f1bcfe3222fb0f2178ed629f1da7e98e5a9b02a2c96b4aa72800db92aabd69d2483211b4be57a2088e89a11a0b660e7ada744d4ddf7 @@ -33243,13 +31873,6 @@ __metadata: languageName: node linkType: hard -"react-string-replace@npm:^1.1.0": - version: 1.1.0 - resolution: "react-string-replace@npm:1.1.0" - checksum: 5df67fbdb49cacdc9f4488d4bc3dedef1f85d6156b3626d9b4b6c317ec8cc534494def078ab0b2df7aea8fa3cbcecd8d3f76a161f04bf8b29869daccf33785ec - languageName: node - linkType: hard - "react-style-singleton@npm:^2.1.0": version: 2.1.1 resolution: "react-style-singleton@npm:2.1.1" @@ -33358,20 +31981,6 @@ __metadata: languageName: node linkType: hard -"react-twemoji@npm:^0.3.0": - version: 0.3.0 - resolution: "react-twemoji@npm:0.3.0" - dependencies: - lodash.isequal: ^4.5.0 - prop-types: ^15.7.2 - twemoji: ^13.0.1 - peerDependencies: - react: ^16.4.2 - react-dom: ^16.4.2 - checksum: d4e56477c28c0ad65b98a062a2e9a1777b808a16c05dfa35d77d84fea26f7d1e884d2e30f95a8f14c94c31330d3d4f53a4fd0bfce917bc4be9fb21d34a05db8a - languageName: node - linkType: hard - "react-use-intercom@npm:1.5.1": version: 1.5.1 resolution: "react-use-intercom@npm:1.5.1" @@ -33382,18 +31991,6 @@ __metadata: languageName: node linkType: hard -"react-use-measure@npm:^2.1.1": - version: 2.1.1 - resolution: "react-use-measure@npm:2.1.1" - dependencies: - debounce: ^1.2.1 - peerDependencies: - react: ">=16.13" - react-dom: ">=16.13" - checksum: b8e8939229d463c3c505f7b617925c0228efae0cd6f651371f463846417b06c9170be57df51293a61027c41770f8a090fdb8a08717c4e36290ccb496e0318f1f - languageName: node - linkType: hard - "react-virtual@npm:^2.8.2": version: 2.10.4 resolution: "react-virtual@npm:2.10.4" @@ -33819,19 +32416,6 @@ __metadata: languageName: node linkType: hard -"remark-html@npm:^14.0.1": - version: 14.0.1 - resolution: "remark-html@npm:14.0.1" - dependencies: - "@types/mdast": ^3.0.0 - hast-util-sanitize: ^4.0.0 - hast-util-to-html: ^8.0.0 - mdast-util-to-hast: ^11.0.0 - unified: ^10.0.0 - checksum: 5d689b05dc6b4f24e08ece07aabca98685949198a8b6ceacb2fbf7fba8f45f55cea5623caddfd92aaf6e6f082bc1c93797dfb82dc48a6f6e1c5263947a4779c9 - languageName: node - linkType: hard - "remark-mdx@npm:1.6.22": version: 1.6.22 resolution: "remark-mdx@npm:1.6.22" @@ -34503,15 +33087,6 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^7.0.0, rxjs@npm:^7.8.0": - version: 7.8.0 - resolution: "rxjs@npm:7.8.0" - dependencies: - tslib: ^2.1.0 - checksum: 61b4d4fd323c1043d8d6ceb91f24183b28bcf5def4f01ca111511d5c6b66755bc5578587fe714ef5d67cf4c9f2e26f4490d4e1d8cabf9bd5967687835e9866a2 - languageName: node - linkType: hard - "rxjs@npm:^7.5.5": version: 7.5.5 resolution: "rxjs@npm:7.5.5" @@ -34521,13 +33096,6 @@ __metadata: languageName: node linkType: hard -"s-ago@npm:^2.2.0": - version: 2.2.0 - resolution: "s-ago@npm:2.2.0" - checksum: f665fef44d9d88322ce5a798ca3c49b40f96231ddc7bd46dc23c883e98215675aa422985760d45d3779faa3c0bc94edb2a50630bf15f54c239d11963e53d998c - languageName: node - linkType: hard - "sade@npm:^1.7.3": version: 1.8.1 resolution: "sade@npm:1.8.1" @@ -35154,13 +33722,6 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.7.3": - version: 1.8.1 - resolution: "shell-quote@npm:1.8.1" - checksum: 5f01201f4ef504d4c6a9d0d283fa17075f6770bfbe4c5850b074974c68062f37929ca61700d95ad2ac8822e14e8c4b990ca0e6e9272e64befd74ce5e19f0736b - languageName: node - linkType: hard - "short-uuid@npm:^4.2.0": version: 4.2.0 resolution: "short-uuid@npm:4.2.0" @@ -35497,13 +34058,6 @@ __metadata: languageName: node linkType: hard -"spawn-command@npm:^0.0.2-1": - version: 0.0.2 - resolution: "spawn-command@npm:0.0.2" - checksum: e35c5d28177b4d461d33c88cc11f6f3a5079e2b132c11e1746453bbb7a0c0b8a634f07541a2a234fa4758239d88203b758def509161b651e81958894c0b4b64b - languageName: node - linkType: hard - "spdx-correct@npm:^3.0.0": version: 3.1.1 resolution: "spdx-correct@npm:3.1.1" @@ -36459,7 +35013,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0, supports-color@npm:^8.1.0": +"supports-color@npm:^8.0.0": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -36547,31 +35101,6 @@ __metadata: languageName: node linkType: hard -"swagger-jsdoc@npm:6.2.5": - version: 6.2.5 - resolution: "swagger-jsdoc@npm:6.2.5" - dependencies: - commander: 6.2.0 - doctrine: 3.0.0 - glob: 7.1.6 - lodash.mergewith: ^4.6.2 - swagger-parser: 10.0.2 - yaml: 2.0.0-1 - bin: - swagger-jsdoc: bin/swagger-jsdoc.js - checksum: 8ad468bce4934fdca4e5a857fda9cbf98f305b73ffa0ca3ebb5dc34e8c53452c01684010bfa487f17179b860b6b3291e7e5b14433007ca79109dfc7a10441864 - languageName: node - linkType: hard - -"swagger-parser@npm:10.0.2": - version: 10.0.2 - resolution: "swagger-parser@npm:10.0.2" - dependencies: - "@apidevtools/swagger-parser": 10.0.2 - checksum: 02aa7d6caa5dde20fe93f00928a7803b11099a7cffa70c1750b89add23e8dfb220ee5354d3f691dce91300f25dd155060be9a28ed7772d6aa4ff4ab3f5a36db0 - languageName: node - linkType: hard - "swagger-ui-react@npm:4.11.1": version: 4.11.1 resolution: "swagger-ui-react@npm:4.11.1" @@ -36645,15 +35174,6 @@ __metadata: languageName: node linkType: hard -"swr@npm:^1.2.2": - version: 1.3.0 - resolution: "swr@npm:1.3.0" - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 - checksum: e7a184f0d560e9c8be85c023cc8e65e56a88a6ed46f9394b301b07f838edca23d2e303685319a4fcd620b81d447a7bcb489c7fa0a752c259f91764903c690cdb - languageName: node - linkType: hard - "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -36915,13 +35435,6 @@ __metadata: languageName: node linkType: hard -"terminal-columns@npm:^1.4.1": - version: 1.4.1 - resolution: "terminal-columns@npm:1.4.1" - checksum: 54a3d625963fa9cb2110bd2af982f31865438c7cf3dfe95d8e9c453c3cd67b7352fa4a78e8b31dc6f4955ccd9fe2ab8ac8224c5b1db61c6226364a12150739bc - languageName: node - linkType: hard - "terminal-link@npm:^2.0.0": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" @@ -37399,15 +35912,6 @@ __metadata: languageName: node linkType: hard -"tree-kill@npm:^1.2.2": - version: 1.2.2 - resolution: "tree-kill@npm:1.2.2" - bin: - tree-kill: cli.js - checksum: 49117f5f410d19c84b0464d29afb9642c863bc5ba40fcb9a245d474c6d5cc64d1b177a6e6713129eb346b40aebb9d4631d967517f9fbe8251c35b21b13cd96c7 - languageName: node - linkType: hard - "trim-newlines@npm:^1.0.0": version: 1.0.0 resolution: "trim-newlines@npm:1.0.0" @@ -37801,13 +36305,6 @@ __metadata: languageName: node linkType: hard -"tween-functions@npm:^1.2.0": - version: 1.2.0 - resolution: "tween-functions@npm:1.2.0" - checksum: 880708d680eff5c347ddcb9f922ad121703a91c78ce308ed309073e73a794b633eb0b80589a839365803f150515ad34c9646809ae8a0e90f09e62686eefb1ab6 - languageName: node - linkType: hard - "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -37822,25 +36319,6 @@ __metadata: languageName: node linkType: hard -"twemoji-parser@npm:13.1.0": - version: 13.1.0 - resolution: "twemoji-parser@npm:13.1.0" - checksum: 8046ce003c03dd92d68c2648cfbfa39c659fca4f05c10da8d14957985dc3c0c680f3ecf2de8245dc1ddffedc5b2a675f2032053e1e77cc7474301a88fe192ad3 - languageName: node - linkType: hard - -"twemoji@npm:^13.0.1": - version: 13.1.1 - resolution: "twemoji@npm:13.1.1" - dependencies: - fs-extra: ^8.0.1 - jsonfile: ^5.0.0 - twemoji-parser: 13.1.0 - universalify: ^0.1.2 - checksum: f60a8785ad6eb1a673c4f1bccb00a852ead13639db9f763c0e3e9dee6e3e67d88f1d2b481bcee34c35570ab060918b30b6ee68aa65ea1042ad35cd83212a102a - languageName: node - linkType: hard - "twilio@npm:^3.80.1": version: 3.80.1 resolution: "twilio@npm:3.80.1" @@ -37941,14 +36419,7 @@ __metadata: languageName: node linkType: hard -"type-flag@npm:^2.1.0": - version: 2.2.0 - resolution: "type-flag@npm:2.2.0" - checksum: 728218708795c84b81a4923049b357be1ad12880e15f39940cba89472664b590368d3383f254246876edbd2eb01872b4675be62570088d7377f052420f5e9c9a - languageName: node - linkType: hard - -"type-is@npm:^1.6.18, type-is@npm:~1.6.18": +"type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: @@ -38090,20 +36561,6 @@ __metadata: languageName: node linkType: hard -"tzdata@npm:^1.0.30": - version: 1.0.38 - resolution: "tzdata@npm:1.0.38" - checksum: 866abff1316bd1311057f5de9da702c78a27f3bba213aa6986e8e4d22d0d25b554dda2330e6d853e2c34566270bb327babe467ad9a5f069ad466f09571872800 - languageName: node - linkType: hard - -"ua-parser-js@npm:^1.0.33": - version: 1.0.35 - resolution: "ua-parser-js@npm:1.0.35" - checksum: 02370d38a0c8b586f2503d1c3bbba5cbc0b97d407282f9023201a99e4c03eae4357a2800fdf50cf80d73ec25c0b0cc5bfbaa03975b0add4043d6e4c86712c9c1 - languageName: node - linkType: hard - "uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": version: 1.0.6 resolution: "uc.micro@npm:1.0.6" @@ -38488,13 +36945,6 @@ __metadata: languageName: node linkType: hard -"universal-base64@npm:^2.1.0": - version: 2.1.0 - resolution: "universal-base64@npm:2.1.0" - checksum: 03bc6f7de04aee83038c26038cd2639f470fd9665f99b3613934c4ccde5d59047d45e34ea4c843ac582da83ea1b050bf8defba8eb390e566f0be314646ddbc9b - languageName: node - linkType: hard - "universalify@npm:^0.1.0, universalify@npm:^0.1.2": version: 0.1.2 resolution: "universalify@npm:0.1.2" @@ -38734,18 +37184,6 @@ __metadata: languageName: node linkType: hard -"use-deep-compare-effect@npm:^1.6.1": - version: 1.8.1 - resolution: "use-deep-compare-effect@npm:1.8.1" - dependencies: - "@babel/runtime": ^7.12.5 - dequal: ^2.0.2 - peerDependencies: - react: ">=16.13" - checksum: 2b9b6291df3f772f44d259b352e5d998963ccee0db2efeb76bb05525d928064aeeb69bb0dee5a5e428fea7cf3db67c097a770ebd30caa080662b565f6ef02b2e - languageName: node - linkType: hard - "use-isomorphic-layout-effect@npm:^1.1.1, use-isomorphic-layout-effect@npm:^1.1.2": version: 1.1.2 resolution: "use-isomorphic-layout-effect@npm:1.1.2" @@ -38983,13 +37421,6 @@ __metadata: languageName: node linkType: hard -"validator@npm:^13.6.0": - version: 13.9.0 - resolution: "validator@npm:13.9.0" - checksum: e2c936f041f61faa42bafd17c6faddf939498666cd82e88d733621c286893730b008959f4cb12ab3e236148a4f3805c30b85e3dcf5e0efd8b0cbcd36c02bfc0c - languageName: node - linkType: hard - "varint@npm:^5.0.0": version: 5.0.2 resolution: "varint@npm:5.0.2" @@ -39022,16 +37453,6 @@ __metadata: languageName: node linkType: hard -"vfile-location@npm:^4.0.0": - version: 4.1.0 - resolution: "vfile-location@npm:4.1.0" - dependencies: - "@types/unist": ^2.0.0 - vfile: ^5.0.0 - checksum: c894e8e5224170d1f85288f4a1d1ebcee0780823ea2b49d881648ab360ebf01b37ecb09b1c4439a75f9a51f31a9f9742cd045e987763e367c352a1ef7c50d446 - languageName: node - linkType: hard - "vfile-message@npm:^2.0.0": version: 2.0.4 resolution: "vfile-message@npm:2.0.4" @@ -39215,21 +37636,6 @@ __metadata: languageName: node linkType: hard -"wait-on@npm:^7.0.1": - version: 7.0.1 - resolution: "wait-on@npm:7.0.1" - dependencies: - axios: ^0.27.2 - joi: ^17.7.0 - lodash: ^4.17.21 - minimist: ^1.2.7 - rxjs: ^7.8.0 - bin: - wait-on: bin/wait-on - checksum: 1e8a17d8ee6436f71d3ab82781ce31267481fcd7bbccde49b0f8124871e6e40a1acac3401f04f775ba6203853a5813352fa131620fc139914351f3b2894d573f - languageName: node - linkType: hard - "walker@npm:^1.0.7, walker@npm:^1.0.8, walker@npm:~1.0.5": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -39307,13 +37713,6 @@ __metadata: languageName: node linkType: hard -"web-namespaces@npm:^2.0.0": - version: 2.0.1 - resolution: "web-namespaces@npm:2.0.1" - checksum: b6d9f02f1a43d0ef0848a812d89c83801d5bbad57d8bb61f02eb6d7eb794c3736f6cc2e1191664bb26136594c8218ac609f4069722c6f56d9fc2d808fa9271c6 - languageName: node - linkType: hard - "web-streams-polyfill@npm:4.0.0-beta.1": version: 4.0.0-beta.1 resolution: "web-streams-polyfill@npm:4.0.0-beta.1" @@ -40426,13 +38825,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:2.0.0-1": - version: 2.0.0-1 - resolution: "yaml@npm:2.0.0-1" - checksum: ccfbd1424dbf205a8828593faa91dfd40bd21e3fb575e257280d3526ade9508f3ea0acbe7605abc81bac6b4d6729ddb5b3de6bd818232f48480fd1eda8d7fd4c - languageName: node - linkType: hard - "yaml@npm:^1.10.0, yaml@npm:^1.10.2, yaml@npm:^1.7.2": version: 1.10.2 resolution: "yaml@npm:1.10.2" @@ -40625,23 +39017,6 @@ __metadata: languageName: node linkType: hard -"z-schema@npm:^4.2.3": - version: 4.2.4 - resolution: "z-schema@npm:4.2.4" - dependencies: - commander: ^2.7.1 - lodash.get: ^4.4.2 - lodash.isequal: ^4.5.0 - validator: ^13.6.0 - dependenciesMeta: - commander: - optional: true - bin: - z-schema: bin/z-schema - checksum: 9afc0b8d4f75122fbbac8835b0398fc6ab3cfa3f68792e4e86edcd9be1e9ae9d982368a8ae25a4eeea6aad3ab35a24379b76e1525b105c23169c4f93b3185004 - languageName: node - linkType: hard - "zenscroll@npm:^4.0.2": version: 4.0.2 resolution: "zenscroll@npm:4.0.2" @@ -40669,13 +39044,6 @@ __metadata: languageName: node linkType: hard -"zod@npm:^3.17.3": - version: 3.21.4 - resolution: "zod@npm:3.21.4" - checksum: f185ba87342ff16f7a06686767c2b2a7af41110c7edf7c1974095d8db7a73792696bcb4a00853de0d2edeb34a5b2ea6a55871bc864227dace682a0a28de33e1f - languageName: node - linkType: hard - "zod@npm:^3.20.2": version: 3.20.2 resolution: "zod@npm:3.20.2" @@ -40730,10 +39098,3 @@ __metadata: checksum: 8edd7af8375f12f64d8dbef815af32cd77bd9237d0b013210ba4e3aef25fdc460fe264cd0a19deabe9f86ef0c607240ebac1a336bf4a70bf06ef53e0652de116 languageName: node linkType: hard - -"zwitch@npm:^2.0.4": - version: 2.0.4 - resolution: "zwitch@npm:2.0.4" - checksum: f22ec5fc2d5f02c423c93d35cdfa83573a3a3bd98c66b927c368ea4d0e7252a500df2a90a6b45522be536a96a73404393c958e945fdba95e6832c200791702b6 - languageName: node - linkType: hard From 31f20026549a3d131d22a8b6c8e1fa7ad22a8a9c Mon Sep 17 00:00:00 2001 From: zomars Date: Tue, 11 Apr 2023 11:38:18 -0700 Subject: [PATCH 03/13] Update lockfile.yml --- .github/workflows/lockfile.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/lockfile.yml b/.github/workflows/lockfile.yml index aa1bf165a39b76..640ace358762b6 100644 --- a/.github/workflows/lockfile.yml +++ b/.github/workflows/lockfile.yml @@ -14,11 +14,12 @@ jobs: ref: main fetch-depth: 0 token: ${{ secrets.GH_ACCESS_TOKEN }} - - run: ./git-setup.sh website auth api console + - run: | + git config --global user.email "${GITHUB_ACTOR}@me.com" + git config --global user.name "${GITHUB_ACTOR}" + ./git-setup.sh website auth api console - uses: ./.github/actions/yarn-install - name: Commit new lockfile if updated run: | - git config --global user.email "${GITHUB_ACTOR}" - git config --global user.name "${GITHUB_ACTOR}@users.noreply.github.com" git commit -am "Update yarn.lock" git push From 53097ee3bcb97c1af8328edf4660b0ef60205060 Mon Sep 17 00:00:00 2001 From: zomars Date: Tue, 11 Apr 2023 11:40:13 -0700 Subject: [PATCH 04/13] Delete lockfile.yml --- .github/workflows/lockfile.yml | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 .github/workflows/lockfile.yml diff --git a/.github/workflows/lockfile.yml b/.github/workflows/lockfile.yml deleted file mode 100644 index 640ace358762b6..00000000000000 --- a/.github/workflows/lockfile.yml +++ /dev/null @@ -1,25 +0,0 @@ -on: - push: - branches: - - main -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - lockfile: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - ref: main - fetch-depth: 0 - token: ${{ secrets.GH_ACCESS_TOKEN }} - - run: | - git config --global user.email "${GITHUB_ACTOR}@me.com" - git config --global user.name "${GITHUB_ACTOR}" - ./git-setup.sh website auth api console - - uses: ./.github/actions/yarn-install - - name: Commit new lockfile if updated - run: | - git commit -am "Update yarn.lock" - git push From 709bbf662619b9253217d4d60e4d83f2de06443c Mon Sep 17 00:00:00 2001 From: zomars Date: Tue, 11 Apr 2023 11:41:48 -0700 Subject: [PATCH 05/13] Update yarn.lock --- yarn.lock | 1711 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 1675 insertions(+), 36 deletions(-) diff --git a/yarn.lock b/yarn.lock index e2a35a1325cf05..81069dc0dcd5a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,34 @@ __metadata: version: 6 cacheKey: 8 +"@47ng/cloak@npm:^1.1.0": + version: 1.1.0 + resolution: "@47ng/cloak@npm:1.1.0" + dependencies: + "@47ng/codec": ^1.0.1 + "@stablelib/base64": ^1.0.1 + "@stablelib/hex": ^1.0.1 + "@stablelib/utf8": ^1.0.1 + chalk: ^4.1.2 + commander: ^8.3.0 + dotenv: ^10.0.0 + s-ago: ^2.2.0 + bin: + cloak: dist/cli.js + checksum: 7d72c66ff7837368e9ca8f5ba402d72041427eb47c53c340b4640e3352f2956d8673a4a8e97591fb2b9dfe27f3d2765bcd925617273ef2488df2565c77c78299 + languageName: node + linkType: hard + +"@47ng/codec@npm:^1.0.1": + version: 1.1.0 + resolution: "@47ng/codec@npm:1.1.0" + dependencies: + "@stablelib/base64": ^1.0.1 + "@stablelib/hex": ^1.0.1 + checksum: 4f780c4413fe78bbedbaff4135340c0e5f5a30df88f5cffbec51349eb0a1c909728e6c2bbda52506ff8c12653bf39b78c67b78bbe9501b0b9741da0cdaeec6ff + languageName: node + linkType: hard + "@achrinza/event-pubsub@npm:5.0.8": version: 5.0.8 resolution: "@achrinza/event-pubsub@npm:5.0.8" @@ -52,6 +80,67 @@ __metadata: languageName: node linkType: hard +"@apidevtools/json-schema-ref-parser@npm:9.0.9": + version: 9.0.9 + resolution: "@apidevtools/json-schema-ref-parser@npm:9.0.9" + dependencies: + "@jsdevtools/ono": ^7.1.3 + "@types/json-schema": ^7.0.6 + call-me-maybe: ^1.0.1 + js-yaml: ^4.1.0 + checksum: b21f6bdd37d2942c3967ee77569bc74fadd1b922f688daf5ef85057789a2c3a7f4afc473aa2f3a93ec950dabb6ef365f8bd9cf51e4e062a1ee1e59b989f8f9b4 + languageName: node + linkType: hard + +"@apidevtools/openapi-schemas@npm:^2.0.4": + version: 2.1.0 + resolution: "@apidevtools/openapi-schemas@npm:2.1.0" + checksum: 4a8f64935b9049ef21e41fa4b188f39f6bc3f5291cebd451701db1115451ccb246a739e46cc5ce9ecdec781671431db40db7851acdac84a990a45756e0f32de3 + languageName: node + linkType: hard + +"@apidevtools/swagger-methods@npm:^3.0.2": + version: 3.0.2 + resolution: "@apidevtools/swagger-methods@npm:3.0.2" + checksum: d06b1ac5c1956613c4c6be695612ef860cd4e962b93a509ca551735a328a856cae1e33399cac1dcbf8333ba22b231746f3586074769ef0e172cf549ec9e7eaae + languageName: node + linkType: hard + +"@apidevtools/swagger-parser@npm:10.0.2": + version: 10.0.2 + resolution: "@apidevtools/swagger-parser@npm:10.0.2" + dependencies: + "@apidevtools/json-schema-ref-parser": ^9.0.6 + "@apidevtools/openapi-schemas": ^2.0.4 + "@apidevtools/swagger-methods": ^3.0.2 + "@jsdevtools/ono": ^7.1.3 + call-me-maybe: ^1.0.1 + z-schema: ^4.2.3 + peerDependencies: + openapi-types: ">=7" + checksum: fbae8e363c4944c10b9c5702a9b64d04ce2d55b5418d0ca4ef044aeaa92c7f3160ba8d3e335798f7482ab1179d947bdd7393cddf9861d76393789d7559ddf7ba + languageName: node + linkType: hard + +"@auth/core@npm:^0.1.4": + version: 0.1.4 + resolution: "@auth/core@npm:0.1.4" + dependencies: + "@panva/hkdf": 1.0.2 + cookie: 0.5.0 + jose: 4.11.1 + oauth4webapi: 2.0.5 + preact: 10.11.3 + preact-render-to-string: 5.2.3 + peerDependencies: + nodemailer: 6.8.0 + peerDependenciesMeta: + nodemailer: + optional: true + checksum: 64854404ea1883e0deb5535b34bed95cd43fc85094aeaf4f15a79e14045020eb944f844defe857edfc8528a0a024be89cbb2a3069dedef0e9217a74ca6c3eb79 + languageName: node + linkType: hard + "@aws-crypto/ie11-detection@npm:^3.0.0": version: 3.0.0 resolution: "@aws-crypto/ie11-detection@npm:3.0.0" @@ -3800,6 +3889,41 @@ __metadata: languageName: unknown linkType: soft +"@calcom/api@workspace:apps/api": + version: 0.0.0-use.local + resolution: "@calcom/api@workspace:apps/api" + dependencies: + "@calcom/app-store": "*" + "@calcom/core": "*" + "@calcom/dayjs": "*" + "@calcom/emails": "*" + "@calcom/embed-core": "workspace:*" + "@calcom/embed-snippet": "workspace:*" + "@calcom/features": "*" + "@calcom/lib": "*" + "@calcom/prisma": "*" + "@calcom/trpc": "*" + "@calcom/tsconfig": "*" + "@calcom/types": "*" + "@sentry/nextjs": ^7.20.0 + babel-jest: ^28.1.0 + bcryptjs: ^2.4.3 + jest: ^28.1.0 + memory-cache: ^0.2.0 + modify-response-middleware: ^1.1.0 + next: ^13.2.1 + next-api-middleware: ^1.0.1 + next-axiom: ^0.16.0 + next-swagger-doc: ^0.3.4 + next-validations: ^0.2.0 + node-mocks-http: ^1.11.0 + typescript: ^4.9.4 + tzdata: ^1.0.30 + uuid: ^8.3.2 + zod: ^3.20.2 + languageName: unknown + linkType: soft + "@calcom/app-store-cli@*, @calcom/app-store-cli@workspace:packages/app-store-cli": version: 0.0.0-use.local resolution: "@calcom/app-store-cli@workspace:packages/app-store-cli" @@ -3858,6 +3982,39 @@ __metadata: languageName: unknown linkType: soft +"@calcom/auth@workspace:apps/auth": + version: 0.0.0-use.local + resolution: "@calcom/auth@workspace:apps/auth" + dependencies: + "@auth/core": ^0.1.4 + "@calcom/app-store": "*" + "@calcom/app-store-cli": "*" + "@calcom/config": "*" + "@calcom/core": "*" + "@calcom/dayjs": "*" + "@calcom/embed-core": "workspace:*" + "@calcom/embed-react": "workspace:*" + "@calcom/embed-snippet": "workspace:*" + "@calcom/features": "*" + "@calcom/lib": "*" + "@calcom/prisma": "*" + "@calcom/trpc": "*" + "@calcom/tsconfig": "*" + "@calcom/types": "*" + "@calcom/ui": "*" + "@types/node": 16.9.1 + "@types/react": 18.0.26 + "@types/react-dom": 18.0.9 + eslint: ^8.34.0 + eslint-config-next: ^13.2.1 + next: ^13.2.1 + next-auth: ^4.20.1 + react: ^18.2.0 + react-dom: ^18.2.0 + typescript: ^4.9.4 + languageName: unknown + linkType: soft + "@calcom/caldavcalendar@workspace:packages/app-store/caldavcalendar": version: 0.0.0-use.local resolution: "@calcom/caldavcalendar@workspace:packages/app-store/caldavcalendar" @@ -3916,6 +4073,43 @@ __metadata: languageName: unknown linkType: soft +"@calcom/console@workspace:apps/console": + version: 0.0.0-use.local + resolution: "@calcom/console@workspace:apps/console" + dependencies: + "@calcom/dayjs": "*" + "@calcom/features": "*" + "@calcom/lib": "*" + "@calcom/tsconfig": "*" + "@calcom/ui": "*" + "@headlessui/react": ^1.5.0 + "@heroicons/react": ^1.0.6 + "@prisma/client": ^4.11.0 + "@tailwindcss/forms": ^0.5.2 + "@types/node": 16.9.1 + "@types/react": 18.0.26 + autoprefixer: ^10.4.12 + chart.js: ^3.7.1 + client-only: ^0.0.1 + eslint: ^8.34.0 + next: ^13.2.1 + next-auth: ^4.20.1 + next-i18next: ^11.3.0 + postcss: ^8.4.18 + prisma: ^4.11.0 + prisma-field-encryption: ^1.4.0 + react: ^18.2.0 + react-chartjs-2: ^4.0.1 + react-dom: ^18.2.0 + react-hook-form: ^7.43.3 + react-live-chat-loader: ^2.7.3 + swr: ^1.2.2 + tailwindcss: ^3.2.1 + typescript: ^4.9.4 + zod: ^3.20.2 + languageName: unknown + linkType: soft + "@calcom/core@*, @calcom/core@workspace:packages/core": version: 0.0.0-use.local resolution: "@calcom/core@workspace:packages/core" @@ -4028,7 +4222,7 @@ __metadata: languageName: unknown linkType: soft -"@calcom/embed-react@workspace:*, @calcom/embed-react@workspace:packages/embeds/embed-react": +"@calcom/embed-react@workspace:*, @calcom/embed-react@workspace:^, @calcom/embed-react@workspace:packages/embeds/embed-react": version: 0.0.0-use.local resolution: "@calcom/embed-react@workspace:packages/embeds/embed-react" dependencies: @@ -4803,6 +4997,91 @@ __metadata: languageName: unknown linkType: soft +"@calcom/website@workspace:apps/website": + version: 0.0.0-use.local + resolution: "@calcom/website@workspace:apps/website" + dependencies: + "@calcom/app-store": "*" + "@calcom/config": "*" + "@calcom/dayjs": "*" + "@calcom/embed-react": "workspace:^" + "@calcom/features": "*" + "@calcom/lib": "*" + "@calcom/prisma": "*" + "@calcom/tsconfig": "*" + "@calcom/ui": "*" + "@floating-ui/react-dom": ^1.0.0 + "@headlessui/react": ^1.5.0 + "@heroicons/react": ^1.0.6 + "@hookform/resolvers": ^2.9.7 + "@juggle/resize-observer": ^3.4.0 + "@next/bundle-analyzer": ^13.1.6 + "@radix-ui/react-accordion": ^1.0.0 + "@radix-ui/react-navigation-menu": ^1.0.0 + "@radix-ui/react-portal": ^1.0.0 + "@radix-ui/react-slider": ^1.0.0 + "@radix-ui/react-tabs": ^1.0.0 + "@radix-ui/react-tooltip": ^1.0.0 + "@stripe/stripe-js": ^1.35.0 + "@tanstack/react-query": ^4.3.9 + "@typeform/embed-react": ^1.2.4 + "@types/bcryptjs": ^2.4.2 + "@types/debounce": ^1.2.1 + "@types/gtag.js": ^0.0.10 + "@types/micro": 7.3.7 + "@types/node": 16.9.1 + "@types/react": 18.0.26 + "@types/react-gtm-module": ^2.0.1 + "@vercel/analytics": ^0.1.6 + "@vercel/edge-functions-ui": ^0.2.1 + "@vercel/og": ^0.5.0 + autoprefixer: ^10.4.12 + bcryptjs: ^2.4.3 + cobe: ^0.4.1 + concurrently: ^7.6.0 + cross-env: ^7.0.3 + datocms-structured-text-to-plain-text: ^2.0.4 + datocms-structured-text-utils: ^2.0.4 + debounce: ^1.2.1 + env-cmd: ^10.1.0 + eslint: ^8.34.0 + fathom-client: ^3.5.0 + globby: ^13.1.3 + gray-matter: ^4.0.3 + gsap: ^3.11.0 + iframe-resizer-react: ^1.1.0 + keen-slider: ^6.8.0 + lucide-react: ^0.125.0 + micro: ^10.0.1 + next: 13.2.4-canary.5 + next-auth: ^4.20.1 + next-i18next: ^11.3.0 + playwright: ^1.31.2 + postcss: ^8.4.18 + prism-react-renderer: ^1.3.5 + react: ^18.2.0 + react-confetti: ^6.0.1 + react-datocms: ^3.1.0 + react-device-detect: ^2.2.2 + react-dom: ^18.2.0 + react-fast-marquee: ^1.3.5 + react-github-btn: ^1.4.0 + react-hook-form: ^7.43.3 + react-hot-toast: ^2.3.0 + react-live-chat-loader: ^2.8.1 + react-merge-refs: 1.1.0 + react-twemoji: ^0.3.0 + react-use-measure: ^2.1.1 + remark: ^14.0.2 + remark-html: ^14.0.1 + stripe: ^9.16.0 + tailwindcss: ^3.2.1 + typescript: ^4.9.4 + wait-on: ^7.0.1 + zod: ^3.20.2 + languageName: unknown + linkType: soft + "@calcom/whatsapp@workspace:packages/app-store/whatsapp": version: 0.0.0-use.local resolution: "@calcom/whatsapp@workspace:packages/app-store/whatsapp" @@ -6111,7 +6390,7 @@ __metadata: languageName: node linkType: hard -"@floating-ui/react-dom@npm:^1.3.0": +"@floating-ui/react-dom@npm:^1.0.0, @floating-ui/react-dom@npm:^1.3.0": version: 1.3.0 resolution: "@floating-ui/react-dom@npm:1.3.0" dependencies: @@ -6249,6 +6528,34 @@ __metadata: languageName: node linkType: hard +"@hapi/hoek@npm:^9.0.0": + version: 9.3.0 + resolution: "@hapi/hoek@npm:9.3.0" + checksum: 4771c7a776242c3c022b168046af4e324d116a9d2e1d60631ee64f474c6e38d1bb07092d898bf95c7bc5d334c5582798a1456321b2e53ca817d4e7c88bc25b43 + languageName: node + linkType: hard + +"@hapi/topo@npm:^5.0.0": + version: 5.1.0 + resolution: "@hapi/topo@npm:5.1.0" + dependencies: + "@hapi/hoek": ^9.0.0 + checksum: 604dfd5dde76d5c334bd03f9001fce69c7ce529883acf92da96f4fe7e51221bf5e5110e964caca287a6a616ba027c071748ab636ff178ad750547fba611d6014 + languageName: node + linkType: hard + +"@headlessui/react@npm:^1.5.0": + version: 1.7.13 + resolution: "@headlessui/react@npm:1.7.13" + dependencies: + client-only: ^0.0.1 + peerDependencies: + react: ^16 || ^17 || ^18 + react-dom: ^16 || ^17 || ^18 + checksum: 132e5fce86978b9a6fd9d669fb556acec783debcd8f510c99226b3b3229dad50a13aeed69fc9af66465fc7029487ecfc46e6226f14218b760d5a309e08c0d059 + languageName: node + linkType: hard + "@heroicons/react@npm:^1.0.6": version: 1.0.6 resolution: "@heroicons/react@npm:1.0.6" @@ -7193,6 +7500,13 @@ __metadata: languageName: node linkType: hard +"@jsdevtools/ono@npm:^7.1.3": + version: 7.1.3 + resolution: "@jsdevtools/ono@npm:7.1.3" + checksum: 2297fcd472ba810bffe8519d2249171132844c7174f3a16634f9260761c8c78bc0428a4190b5b6d72d45673c13918ab9844d706c3ed4ef8f62ab11a2627a08ad + languageName: node + linkType: hard + "@json-rpc-tools/provider@npm:^1.5.5": version: 1.7.6 resolution: "@json-rpc-tools/provider@npm:1.7.6" @@ -7224,6 +7538,13 @@ __metadata: languageName: node linkType: hard +"@juggle/resize-observer@npm:^3.4.0": + version: 3.4.0 + resolution: "@juggle/resize-observer@npm:3.4.0" + checksum: 2505028c05cc2e17639fcad06218b1c4b60f932a4ebb4b41ab546ef8c157031ae377e3f560903801f6d01706dbefd4943b6c4704bf19ed86dfa1c62f1473a570 + languageName: node + linkType: hard + "@lexical/clipboard@npm:0.5.0": version: 0.5.0 resolution: "@lexical/clipboard@npm:0.5.0" @@ -7633,6 +7954,13 @@ __metadata: languageName: node linkType: hard +"@next/env@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/env@npm:13.2.4-canary.5" + checksum: d46767ba464334b8487b671a9b366b25e7c1b6bf262bd66afd62b07b17f52066158fe69b14db3abc8219e1e580cd60e0655af6c71550506770780d1ba28ae92d + languageName: node + linkType: hard + "@next/eslint-plugin-next@npm:13.2.1": version: 13.2.1 resolution: "@next/eslint-plugin-next@npm:13.2.1" @@ -7649,6 +7977,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-android-arm-eabi@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-android-arm-eabi@npm:13.2.4-canary.5" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@next/swc-android-arm64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-android-arm64@npm:13.2.3" @@ -7656,6 +7991,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-android-arm64@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-android-arm64@npm:13.2.4-canary.5" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@next/swc-darwin-arm64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-darwin-arm64@npm:13.2.3" @@ -7663,6 +8005,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-darwin-arm64@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-darwin-arm64@npm:13.2.4-canary.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@next/swc-darwin-x64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-darwin-x64@npm:13.2.3" @@ -7670,6 +8019,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-darwin-x64@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-darwin-x64@npm:13.2.4-canary.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@next/swc-freebsd-x64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-freebsd-x64@npm:13.2.3" @@ -7677,6 +8033,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-freebsd-x64@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-freebsd-x64@npm:13.2.4-canary.5" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@next/swc-linux-arm-gnueabihf@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm-gnueabihf@npm:13.2.3" @@ -7684,6 +8047,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-arm-gnueabihf@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-linux-arm-gnueabihf@npm:13.2.4-canary.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@next/swc-linux-arm64-gnu@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm64-gnu@npm:13.2.3" @@ -7691,6 +8061,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-arm64-gnu@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-linux-arm64-gnu@npm:13.2.4-canary.5" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@next/swc-linux-arm64-musl@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm64-musl@npm:13.2.3" @@ -7698,6 +8075,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-arm64-musl@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-linux-arm64-musl@npm:13.2.4-canary.5" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@next/swc-linux-x64-gnu@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-x64-gnu@npm:13.2.3" @@ -7705,6 +8089,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-x64-gnu@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-linux-x64-gnu@npm:13.2.4-canary.5" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@next/swc-linux-x64-musl@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-x64-musl@npm:13.2.3" @@ -7712,6 +8103,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-x64-musl@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-linux-x64-musl@npm:13.2.4-canary.5" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@next/swc-win32-arm64-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-arm64-msvc@npm:13.2.3" @@ -7719,6 +8117,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-win32-arm64-msvc@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-win32-arm64-msvc@npm:13.2.4-canary.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@next/swc-win32-ia32-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-ia32-msvc@npm:13.2.3" @@ -7726,6 +8131,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-win32-ia32-msvc@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-win32-ia32-msvc@npm:13.2.4-canary.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@next/swc-win32-x64-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-x64-msvc@npm:13.2.3" @@ -7733,6 +8145,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-win32-x64-msvc@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-win32-x64-msvc@npm:13.2.4-canary.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@node-ipc/js-queue@npm:2.0.3": version: 2.0.3 resolution: "@node-ipc/js-queue@npm:2.0.3" @@ -7878,6 +8297,13 @@ __metadata: languageName: node linkType: hard +"@panva/hkdf@npm:1.0.2": + version: 1.0.2 + resolution: "@panva/hkdf@npm:1.0.2" + checksum: 75183b4d5ea816ef516dcea70985c610683579a9e2ac540c2d59b9a3ed27eedaff830a43a1c43c1683556a457c92ac66e09109ee995ab173090e4042c4c4bb03 + languageName: node + linkType: hard + "@panva/hkdf@npm:^1.0.2": version: 1.0.4 resolution: "@panva/hkdf@npm:1.0.4" @@ -7993,6 +8419,17 @@ __metadata: languageName: node linkType: hard +"@prisma/debug@npm:4.12.0": + version: 4.12.0 + resolution: "@prisma/debug@npm:4.12.0" + dependencies: + "@types/debug": 4.1.7 + debug: 4.3.4 + strip-ansi: 6.0.1 + checksum: 0ae182634f4a25231ff946768e1da1f694b5141d21c92cb2a142580de30d67ebd1595f8575a4c63356740e415d5d64829449a4710d8421e7147016ea0acb2643 + languageName: node + linkType: hard + "@prisma/engines-version@npm:4.11.0-57.8fde8fef4033376662cad983758335009d522acb": version: 4.11.0-57.8fde8fef4033376662cad983758335009d522acb resolution: "@prisma/engines-version@npm:4.11.0-57.8fde8fef4033376662cad983758335009d522acb" @@ -8007,6 +8444,18 @@ __metadata: languageName: node linkType: hard +"@prisma/generator-helper@npm:^4.0.0": + version: 4.12.0 + resolution: "@prisma/generator-helper@npm:4.12.0" + dependencies: + "@prisma/debug": 4.12.0 + "@types/cross-spawn": 6.0.2 + chalk: 4.1.2 + cross-spawn: 7.0.3 + checksum: b844fcf736c922ce39e6aa1081b7c133b921ceb5d272f51296cf7afc3128ca6085ef1594ce63045ef47a462c56e5e37b9a1094a36d5dd484f77017d6f227641f + languageName: node + linkType: hard + "@prisma/generator-helper@npm:~3.8.1": version: 3.8.1 resolution: "@prisma/generator-helper@npm:3.8.1" @@ -8055,6 +8504,27 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-accordion@npm:^1.0.0": + version: 1.1.1 + resolution: "@radix-ui/react-accordion@npm:1.1.1" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-collapsible": 1.0.2 + "@radix-ui/react-collection": 1.0.2 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-direction": 1.0.0 + "@radix-ui/react-id": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-use-controllable-state": 1.0.0 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: a666da8abca778a150e2cb6d2c0e19fa32912b2cd9aca04359a7a50f238d30b056d46a3119f93376da5ee964262a7fe1174f16e34096d9f51d6639beb9f0e8cd + languageName: node + linkType: hard + "@radix-ui/react-arrow@npm:1.0.0": version: 1.0.0 resolution: "@radix-ui/react-arrow@npm:1.0.0" @@ -8097,6 +8567,26 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-collapsible@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-collapsible@npm:1.0.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-id": 1.0.0 + "@radix-ui/react-presence": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-use-controllable-state": 1.0.0 + "@radix-ui/react-use-layout-effect": 1.0.0 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: a0fcfd3aad5159e1fb6fc54fd09210d7de9c1ee1e19739a5a82af81d3f2233e4e5eb204da326f32e2f2a4740aa4c3b42530b61e36b7ced9f857801809d1d3527 + languageName: node + linkType: hard + "@radix-ui/react-collapsible@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-collapsible@npm:1.0.0" @@ -8148,6 +8638,22 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-collection@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-collection@npm:1.0.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-slot": 1.0.1 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: f7d92f52c7f92b53c055370a5cbf077eea54366706eec9100973737577d841c0cc76a2a577fec67dd85b2853d03c20c4810058f0f511821052358439017e9e5d + languageName: node + linkType: hard + "@radix-ui/react-compose-refs@npm:0.1.0": version: 0.1.0 resolution: "@radix-ui/react-compose-refs@npm:0.1.0" @@ -8280,6 +8786,23 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-dismissable-layer@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-dismissable-layer@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-use-callback-ref": 1.0.0 + "@radix-ui/react-use-escape-keydown": 1.0.2 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: cb2a38a65dd129d1fd58436bedee765f46f6a6edc2ec15d534a1499c10f768ae06ad874704e030c85869b3ee4b61103076a116dfdb7e0c761a8c8cdc30a5c951 + languageName: node + linkType: hard + "@radix-ui/react-dropdown-menu@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-dropdown-menu@npm:1.0.0" @@ -8439,6 +8962,32 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-navigation-menu@npm:^1.0.0": + version: 1.1.2 + resolution: "@radix-ui/react-navigation-menu@npm:1.1.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-collection": 1.0.2 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-direction": 1.0.0 + "@radix-ui/react-dismissable-layer": 1.0.3 + "@radix-ui/react-id": 1.0.0 + "@radix-ui/react-presence": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-use-callback-ref": 1.0.0 + "@radix-ui/react-use-controllable-state": 1.0.0 + "@radix-ui/react-use-layout-effect": 1.0.0 + "@radix-ui/react-use-previous": 1.0.0 + "@radix-ui/react-visually-hidden": 1.0.2 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: 2c321a10acf532cfead8f63c1eca9acb742fb94de3d67c8c8e2614845086376995e78cb3d31ac1bc4a915e961e5c19d60b52106c1c9196c9789d4da3e831fd5b + languageName: node + linkType: hard + "@radix-ui/react-popover@npm:^1.0.2": version: 1.0.2 resolution: "@radix-ui/react-popover@npm:1.0.2" @@ -8600,6 +9149,19 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-primitive@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-primitive@npm:1.0.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-slot": 1.0.1 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: 070b1770749eb629425ef959c4cdbd86957b83c5286ae4423e55ab1a89fa286a51f5aeee44e3a13eb6ca44771415ac1acbaeb0ba03013b49ecb5253e1a5a8996 + languageName: node + linkType: hard + "@radix-ui/react-radio-group@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-radio-group@npm:1.0.0" @@ -8644,6 +9206,27 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-roving-focus@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-roving-focus@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-collection": 1.0.2 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-direction": 1.0.0 + "@radix-ui/react-id": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-use-callback-ref": 1.0.0 + "@radix-ui/react-use-controllable-state": 1.0.0 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: 08f33c7cd2962b5603a83c67e54f4b1d43f89138bc598644bde551845a302da2fc32f53cad712aa2b17915b2c598fc36244d88fbc5f01986ea93d788faf32101 + languageName: node + linkType: hard + "@radix-ui/react-select@npm:^0.1.1": version: 0.1.1 resolution: "@radix-ui/react-select@npm:0.1.1" @@ -8753,6 +9336,26 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-tabs@npm:^1.0.0": + version: 1.0.3 + resolution: "@radix-ui/react-tabs@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-direction": 1.0.0 + "@radix-ui/react-id": 1.0.0 + "@radix-ui/react-presence": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-roving-focus": 1.0.3 + "@radix-ui/react-use-controllable-state": 1.0.0 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: 603b06a1c071fec7b01cf82c3058aff239079b14f7d7988b559b9877bcd4e3f23d287b8cf38ebef6bb6b0c4f238a80f67525aa5fc9db519fbf1b70777a40f0ec + languageName: node + linkType: hard + "@radix-ui/react-toggle-group@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-toggle-group@npm:1.0.0" @@ -8998,6 +9601,19 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-visually-hidden@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-visually-hidden@npm:1.0.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-primitive": 1.0.2 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: 67c4a55cfad9a8ff519a9b4ce24d2cc9d78c34d08a128a85de1a0a41228fdeb961eaeb4e50ca0d2080c5e31cef6f6e703cb06786579b44e5c66af161b941adb6 + languageName: node + linkType: hard + "@radix-ui/rect@npm:1.0.0": version: 1.0.0 resolution: "@radix-ui/rect@npm:1.0.0" @@ -9423,6 +10039,29 @@ __metadata: languageName: node linkType: hard +"@sideway/address@npm:^4.1.3": + version: 4.1.4 + resolution: "@sideway/address@npm:4.1.4" + dependencies: + "@hapi/hoek": ^9.0.0 + checksum: b9fca2a93ac2c975ba12e0a6d97853832fb1f4fb02393015e012b47fa916a75ca95102d77214b2a29a2784740df2407951af8c5dde054824c65577fd293c4cdb + languageName: node + linkType: hard + +"@sideway/formula@npm:^3.0.1": + version: 3.0.1 + resolution: "@sideway/formula@npm:3.0.1" + checksum: e4beeebc9dbe2ff4ef0def15cec0165e00d1612e3d7cea0bc9ce5175c3263fc2c818b679bd558957f49400ee7be9d4e5ac90487e1625b4932e15c4aa7919c57a + languageName: node + linkType: hard + +"@sideway/pinpoint@npm:^2.0.0": + version: 2.0.0 + resolution: "@sideway/pinpoint@npm:2.0.0" + checksum: 0f4491e5897fcf5bf02c46f5c359c56a314e90ba243f42f0c100437935daa2488f20482f0f77186bd6bf43345095a95d8143ecf8b1f4d876a7bc0806aba9c3d2 + languageName: node + linkType: hard + "@sinclair/typebox@npm:^0.24.1": version: 0.24.19 resolution: "@sinclair/typebox@npm:0.24.19" @@ -9514,13 +10153,27 @@ __metadata: languageName: node linkType: hard -"@stablelib/base64@npm:^1.0.0": +"@stablelib/base64@npm:^1.0.0, @stablelib/base64@npm:^1.0.1": version: 1.0.1 resolution: "@stablelib/base64@npm:1.0.1" checksum: 3ef4466d1d6889ac3fc67407bc21aa079953981c322eeca3b29f426d05506c63011faab1bfc042d7406e0677a94de6c9d2db2ce079afdd1eccae90031bfb5859 languageName: node linkType: hard +"@stablelib/hex@npm:^1.0.1": + version: 1.0.1 + resolution: "@stablelib/hex@npm:1.0.1" + checksum: 557f1c5d6b42963deee7627d4be1ae3542607851c5561e9419c42682d09562ebd3a06e2d92e088c52213a71ed121ec38221abfc5acd9e65707a77ecee3c96915 + languageName: node + linkType: hard + +"@stablelib/utf8@npm:^1.0.1": + version: 1.0.1 + resolution: "@stablelib/utf8@npm:1.0.1" + checksum: 098d9446f38a641a8ee265a7fc3467fefd561fc46ca65e1216c1df7a9b4d004e616347ce79f4b83d62e944f0f91d6be4af029ad0b027a20c3271951921ebfac5 + languageName: node + linkType: hard + "@storybook/addon-actions@npm:6.5.13, @storybook/addon-actions@npm:^6.5.13": version: 6.5.13 resolution: "@storybook/addon-actions@npm:6.5.13" @@ -11519,6 +12172,25 @@ __metadata: languageName: node linkType: hard +"@typeform/embed-react@npm:^1.2.4": + version: 1.21.0 + resolution: "@typeform/embed-react@npm:1.21.0" + dependencies: + "@typeform/embed": 1.38.0 + fast-deep-equal: ^3.1.3 + peerDependencies: + react: ">=16.8.0" + checksum: 1d91cb797dfe7b27e08798f7a571f34724a8f56bf9c89a8ed2a454820efce2de4db44fd4a18f446573784c28f79478f269c1719500e1b332e7ea34ea77ffa185 + languageName: node + linkType: hard + +"@typeform/embed@npm:1.38.0": + version: 1.38.0 + resolution: "@typeform/embed@npm:1.38.0" + checksum: 41115134e5cee28f5e031181b4525c7885d23707699cf183921110262717c7544bfd101428267410b812914c235687783e373ce98e37bdc447d72f8177663597 + languageName: node + linkType: hard + "@types/accept-language-parser@npm:1.5.2": version: 1.5.2 resolution: "@types/accept-language-parser@npm:1.5.2" @@ -11731,6 +12403,13 @@ __metadata: languageName: node linkType: hard +"@types/debounce@npm:^1.2.1": + version: 1.2.1 + resolution: "@types/debounce@npm:1.2.1" + checksum: bea6d414acefbee50adfe87cee10f8a855d033e4778567ab03bdc3cb2648b6bf9237ca53f4ee76fe4be75f77f86d4688411499626fe409bc870f53631d24231f + languageName: node + linkType: hard + "@types/debug@npm:4.1.7, @types/debug@npm:^4.0.0": version: 4.1.7 resolution: "@types/debug@npm:4.1.7" @@ -11890,6 +12569,13 @@ __metadata: languageName: node linkType: hard +"@types/gtag.js@npm:^0.0.10": + version: 0.0.10 + resolution: "@types/gtag.js@npm:0.0.10" + checksum: 5c18ffdc64418887763ec1a564e73c9fbf222ff3eece1fbc35a182fdd884e7884bb7708f67e6e4939f157bb9f2cb7a4aff42be7834527e35c5aac4f98783164c + languageName: node + linkType: hard + "@types/hast@npm:^2.0.0": version: 2.3.4 resolution: "@types/hast@npm:2.3.4" @@ -12013,7 +12699,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.7, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.7, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.11 resolution: "@types/json-schema@npm:7.0.11" checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d @@ -12218,7 +12904,7 @@ __metadata: languageName: node linkType: hard -"@types/parse5@npm:^6.0.3": +"@types/parse5@npm:^6.0.0, @types/parse5@npm:^6.0.3": version: 6.0.3 resolution: "@types/parse5@npm:6.0.3" checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7 @@ -12296,6 +12982,13 @@ __metadata: languageName: node linkType: hard +"@types/react-gtm-module@npm:^2.0.1": + version: 2.0.1 + resolution: "@types/react-gtm-module@npm:2.0.1" + checksum: cd57eece80d80453e79b16c977e13d51dc22c19af69a16ac6ea1eda01ab471f4dbe46ce80ce04ef13a0ecd0082372addec4c2e394978d1ce7fe86dbda4dfb922 + languageName: node + linkType: hard + "@types/react-phone-number-input@npm:^3.0.14": version: 3.0.14 resolution: "@types/react-phone-number-input@npm:3.0.14" @@ -12836,6 +13529,15 @@ __metadata: languageName: node linkType: hard +"@vercel/analytics@npm:^0.1.6": + version: 0.1.11 + resolution: "@vercel/analytics@npm:0.1.11" + peerDependencies: + react: ^16.8||^17||^18 + checksum: 05b8180ac6e23ebe7c09d74c43f8ee78c408cd0b6546e676389cbf4fba44dfeeae3648c9b52e2421be64fe3aeee8b026e6ea4bdfc0589fb5780670f2b090a167 + languageName: node + linkType: hard + "@vercel/edge-config@npm:^0.1.1": version: 0.1.1 resolution: "@vercel/edge-config@npm:0.1.1" @@ -13640,7 +14342,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.5, accepts@npm:~1.3.8": +"accepts@npm:^1.3.7, accepts@npm:~1.3.5, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -14272,6 +14974,13 @@ __metadata: languageName: node linkType: hard +"array-flatten@npm:^3.0.0": + version: 3.0.0 + resolution: "array-flatten@npm:3.0.0" + checksum: ad00c51ca70cf837501fb6da823ba39bc6a86b43d0b76d840daa02fe0f8e68e94ad5bc2d0d038053118b879aaca8ea6168c32c7387a2fa5b118ad28db4f1f863 + languageName: node + linkType: hard + "array-includes@npm:^3.0.3, array-includes@npm:^3.1.5": version: 3.1.5 resolution: "array-includes@npm:3.1.5" @@ -15043,7 +15752,7 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.0.2, base64-js@npm:^1.3.0, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": +"base64-js@npm:^1.0.2, base64-js@npm:^1.1.2, base64-js@npm:^1.3.0, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 @@ -15410,6 +16119,15 @@ __metadata: languageName: node linkType: hard +"brotli@npm:^1.3.2": + version: 1.3.3 + resolution: "brotli@npm:1.3.3" + dependencies: + base64-js: ^1.1.2 + checksum: 2c97329f4ccb8e4332cedd2f63b85c2e15ffb305b1cbf046df86201434caf93cb7992ca73c0f7053b6a1417f595069ec7783c26e01510cefc10035a0f466e594 + languageName: node + linkType: hard + "browser-assert@npm:^1.2.1": version: 1.2.1 resolution: "browser-assert@npm:1.2.1" @@ -16291,6 +17009,13 @@ __metadata: languageName: node linkType: hard +"chart.js@npm:^3.7.1": + version: 3.9.1 + resolution: "chart.js@npm:3.9.1" + checksum: 9ab0c0ac01215af0b3f020f2e313030fd6e347b48ed17d5484ee9c4e8ead45e78ae71bea16c397621c386b409ce0b14bf17f9f6c2492cd15b56c0f433efdfff6 + languageName: node + linkType: hard + "check-more-types@npm:2.24.0": version: 2.24.0 resolution: "check-more-types@npm:2.24.0" @@ -16484,6 +17209,16 @@ __metadata: languageName: node linkType: hard +"cleye@npm:1.2.1": + version: 1.2.1 + resolution: "cleye@npm:1.2.1" + dependencies: + terminal-columns: ^1.4.1 + type-flag: ^2.1.0 + checksum: 80ccfe7aba18d61bcf30248a7fd55848df50c1eb4215bad8b661716335ae1bca504e649e7b0204976c1d1c104cab0e8d4141d9e9b4333ec3696de11c9ed4a3b7 + languageName: node + linkType: hard + "cli-boxes@npm:^2.2.0, cli-boxes@npm:^2.2.1": version: 2.2.1 resolution: "cli-boxes@npm:2.2.1" @@ -16563,7 +17298,7 @@ __metadata: languageName: node linkType: hard -"client-only@npm:0.0.1": +"client-only@npm:0.0.1, client-only@npm:^0.0.1": version: 0.0.1 resolution: "client-only@npm:0.0.1" checksum: 0c16bf660dadb90610553c1d8946a7fdfb81d624adea073b8440b7d795d5b5b08beb3c950c6a2cf16279365a3265158a236876d92bce16423c485c322d7dfaf8 @@ -16702,6 +17437,15 @@ __metadata: languageName: node linkType: hard +"cobe@npm:^0.4.1": + version: 0.4.2 + resolution: "cobe@npm:0.4.2" + dependencies: + phenomenon: ^1.6.0 + checksum: 4c11dd8cf3c6614a2ff2f6eacca5283278c6db06c2e441011aa90f58c66d045e66ef98a5e4b9d0282d58ee22f5b87d965538aa4c6064ed97f436f3e4cd9ee3ed + languageName: node + linkType: hard + "code-block-writer@npm:^11.0.0": version: 11.0.0 resolution: "code-block-writer@npm:11.0.0" @@ -16846,6 +17590,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:6.2.0": + version: 6.2.0 + resolution: "commander@npm:6.2.0" + checksum: 59baef90f07ba8ae941e9d41a0a15be721d69e948ff833c218d936ffbbe2141580ce1ae2b1103c41436c30eefd1eb7bc3285de8936cd283fb78409f54a93f45a + languageName: node + linkType: hard + "commander@npm:9.1.0": version: 9.1.0 resolution: "commander@npm:9.1.0" @@ -16853,7 +17604,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.8.1, commander@npm:^2.9.0": +"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.7.1, commander@npm:^2.8.1, commander@npm:^2.9.0": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e @@ -16990,6 +17741,26 @@ __metadata: languageName: node linkType: hard +"concurrently@npm:^7.6.0": + version: 7.6.0 + resolution: "concurrently@npm:7.6.0" + dependencies: + chalk: ^4.1.0 + date-fns: ^2.29.1 + lodash: ^4.17.21 + rxjs: ^7.0.0 + shell-quote: ^1.7.3 + spawn-command: ^0.0.2-1 + supports-color: ^8.1.0 + tree-kill: ^1.2.2 + yargs: ^17.3.1 + bin: + conc: dist/bin/concurrently.js + concurrently: dist/bin/concurrently.js + checksum: f705c9a7960f1b16559ca64958043faeeef6385c0bf30a03d1375e15ab2d96dba4f8166f1bbbb1c85e8da35ca0ce3c353875d71dff2aa132b2357bb533b3332e + languageName: node + linkType: hard + "console-browserify@npm:^1.1.0": version: 1.2.0 resolution: "console-browserify@npm:1.2.0" @@ -17021,7 +17792,7 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4, content-disposition@npm:^0.5.2": +"content-disposition@npm:0.5.4, content-disposition@npm:^0.5.2, content-disposition@npm:^0.5.3": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" dependencies: @@ -17346,6 +18117,18 @@ __metadata: languageName: node linkType: hard +"cross-env@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-env@npm:7.0.3" + dependencies: + cross-spawn: ^7.0.1 + bin: + cross-env: src/bin/cross-env.js + cross-env-shell: src/bin/cross-env-shell.js + checksum: 26f2f3ea2ab32617f57effb70d329c2070d2f5630adc800985d8b30b56e8bf7f5f439dd3a0358b79cee6f930afc23cf8e23515f17ccfb30092c6b62c6b630a79 + languageName: node + linkType: hard + "cross-fetch@npm:3.1.5, cross-fetch@npm:^3.1.4, cross-fetch@npm:^3.1.5": version: 3.1.5 resolution: "cross-fetch@npm:3.1.5" @@ -17355,7 +18138,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -17756,13 +18539,48 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:^2.28.0, date-fns@npm:^2.29.3": +"date-fns@npm:^2.28.0, date-fns@npm:^2.29.1, date-fns@npm:^2.29.3": version: 2.29.3 resolution: "date-fns@npm:2.29.3" checksum: e01cf5b62af04e05dfff921bb9c9933310ed0e1ae9a81eb8653452e64dc841acf7f6e01e1a5ae5644d0337e9a7f936175fd2cb6819dc122fdd9c5e86c56be484 languageName: node linkType: hard +"datocms-listen@npm:^0.1.9": + version: 0.1.14 + resolution: "datocms-listen@npm:0.1.14" + checksum: 220309b8c35179160c2992b4f266cba10093984c51c16f459cc404962c8f5d859d596da42d70e3193190c227e31ac7406f2e2944830a35673be2757f895bfa93 + languageName: node + linkType: hard + +"datocms-structured-text-generic-html-renderer@npm:^2.0.1, datocms-structured-text-generic-html-renderer@npm:^2.0.4": + version: 2.0.4 + resolution: "datocms-structured-text-generic-html-renderer@npm:2.0.4" + dependencies: + datocms-structured-text-utils: ^2.0.4 + checksum: 58831e7bbcf8b8a18eb79af482898ba59b22ca18a52fafd9e855dce91933c26d0ae5ba53f002b1f34f4ebc106eb679232f3d00c560a4921b648a1787546f32b2 + languageName: node + linkType: hard + +"datocms-structured-text-to-plain-text@npm:^2.0.4": + version: 2.0.4 + resolution: "datocms-structured-text-to-plain-text@npm:2.0.4" + dependencies: + datocms-structured-text-generic-html-renderer: ^2.0.4 + datocms-structured-text-utils: ^2.0.4 + checksum: 24b36817849e6f8959bcdb3082f25487584d0f376765c0f1f94f3b549c10502220ea1c4936e6b323cc68d84da75488ce94d68528d9acecb835f3e5bcfb76a84a + languageName: node + linkType: hard + +"datocms-structured-text-utils@npm:^2.0.1, datocms-structured-text-utils@npm:^2.0.4": + version: 2.0.4 + resolution: "datocms-structured-text-utils@npm:2.0.4" + dependencies: + array-flatten: ^3.0.0 + checksum: 9e10d4faae0c47eebeee028cb0e8c459ecea6fb3dc4950ed0ab310d9b7f18d8ee014071142a42098b20c77264b60a2dd928e9a6462ae4ffea50a70d867f82f34 + languageName: node + linkType: hard + "dayjs-business-days2@npm:1.1.0": version: 1.1.0 resolution: "dayjs-business-days2@npm:1.1.0" @@ -17786,6 +18604,13 @@ __metadata: languageName: node linkType: hard +"debounce@npm:^1.2.1": + version: 1.2.1 + resolution: "debounce@npm:1.2.1" + checksum: 682a89506d9e54fb109526f4da255c5546102fbb8e3ae75eef3b04effaf5d4853756aee97475cd4650641869794e44f410eeb20ace2b18ea592287ab2038519e + languageName: node + linkType: hard + "debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -18111,7 +18936,7 @@ __metadata: languageName: node linkType: hard -"depd@npm:~1.1.2": +"depd@npm:^1.1.0, depd@npm:~1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 @@ -18125,7 +18950,7 @@ __metadata: languageName: node linkType: hard -"dequal@npm:^2.0.3": +"dequal@npm:^2.0.2, dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" checksum: 8679b850e1a3d0ebbc46ee780d5df7b478c23f335887464023a631d1b9af051ad4a6595a44220f9ff8ff95a8ddccf019b5ad778a976fd7bbf77383d36f412f90 @@ -18299,21 +19124,21 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" +"doctrine@npm:3.0.0, doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" dependencies: esutils: ^2.0.2 - checksum: a45e277f7feaed309fe658ace1ff286c6e2002ac515af0aaf37145b8baa96e49899638c7cd47dccf84c3d32abfc113246625b3ac8f552d1046072adee13b0dc8 + checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" +"doctrine@npm:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" dependencies: esutils: ^2.0.2 - checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce + checksum: a45e277f7feaed309fe658ace1ff286c6e2002ac515af0aaf37145b8baa96e49899638c7cd47dccf84c3d32abfc113246625b3ac8f552d1046072adee13b0dc8 languageName: node linkType: hard @@ -18537,6 +19362,13 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:^10.0.0": + version: 10.0.0 + resolution: "dotenv@npm:10.0.0" + checksum: f412c5fe8c24fbe313d302d2500e247ba8a1946492db405a4de4d30dd0eb186a88a43f13c958c5a7de303938949c4231c56994f97d05c4bc1f22478d631b4005 + languageName: node + linkType: hard + "dotenv@npm:^16.0.0, dotenv@npm:^16.0.1": version: 16.0.1 resolution: "dotenv@npm:16.0.1" @@ -20855,6 +21687,13 @@ __metadata: languageName: node linkType: hard +"fathom-client@npm:^3.5.0": + version: 3.5.0 + resolution: "fathom-client@npm:3.5.0" + checksum: 16299bd50dc6bcc716a0d6c81fdad65272ff4f08d68695b64b00e19a04de14771c96ddc1205ce7c4220eddd0d3cf70c65ee9c8fb32b8b776ef155faf61e44479 + languageName: node + linkType: hard + "fault@npm:^1.0.0": version: 1.0.4 resolution: "fault@npm:1.0.4" @@ -21438,7 +22277,7 @@ __metadata: languageName: node linkType: hard -"fresh@npm:0.5.2": +"fresh@npm:0.5.2, fresh@npm:^0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 @@ -21491,6 +22330,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^8.0.1": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 + languageName: node + linkType: hard + "fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1": version: 9.1.0 resolution: "fs-extra@npm:9.1.0" @@ -21892,6 +22742,13 @@ __metadata: languageName: node linkType: hard +"github-buttons@npm:^2.22.0": + version: 2.27.0 + resolution: "github-buttons@npm:2.27.0" + checksum: 1954e04fc7e65a5c14b9c0726b486015deee648c9de62f7f0d4267bbd548090f57137d33e1755490736b10578c4fc7bf149fe64c296d7634a1bfc3707e25e96b + languageName: node + linkType: hard + "github-slugger@npm:^1.0.0, github-slugger@npm:^1.3.0": version: 1.4.0 resolution: "github-slugger@npm:1.4.0" @@ -22132,6 +22989,19 @@ __metadata: languageName: node linkType: hard +"globby@npm:^13.1.3": + version: 13.1.4 + resolution: "globby@npm:13.1.4" + dependencies: + dir-glob: ^3.0.1 + fast-glob: ^3.2.11 + ignore: ^5.2.0 + merge2: ^1.4.1 + slash: ^4.0.0 + checksum: e8bc13879972082d590cd1b0e27080d90d2e12fff7eeb2cee9329c29115ace14cc5b9f899e3d6beb136ba826307a727016658919a6f383e1511d698acee81741 + languageName: node + linkType: hard + "globby@npm:^9.2.0": version: 9.2.0 resolution: "globby@npm:9.2.0" @@ -22334,6 +23204,13 @@ __metadata: languageName: node linkType: hard +"gsap@npm:^3.11.0": + version: 3.11.5 + resolution: "gsap@npm:3.11.5" + checksum: 0d62c9405ed9703f8c65e6190b648d9691fa84bd03bcde0d286cd29d80c5865c22aa57a128b33299c0c15d41473e83f13be1645700325f3821dd912a3022350d + languageName: node + linkType: hard + "gtoken@npm:^5.0.4": version: 5.3.2 resolution: "gtoken@npm:5.3.2" @@ -22595,6 +23472,21 @@ __metadata: languageName: node linkType: hard +"hast-util-from-parse5@npm:^7.0.0": + version: 7.1.2 + resolution: "hast-util-from-parse5@npm:7.1.2" + dependencies: + "@types/hast": ^2.0.0 + "@types/unist": ^2.0.0 + hastscript: ^7.0.0 + property-information: ^6.0.0 + vfile: ^5.0.0 + vfile-location: ^4.0.0 + web-namespaces: ^2.0.0 + checksum: 7b4ed5b508b1352127c6719f7b0c0880190cf9859fe54ccaf7c9228ecf623d36cef3097910b3874d2fe1aac6bf4cf45d3cc2303daac3135a05e9ade6534ddddb + languageName: node + linkType: hard + "hast-util-parse-selector@npm:^2.0.0": version: 2.2.5 resolution: "hast-util-parse-selector@npm:2.2.5" @@ -22602,6 +23494,15 @@ __metadata: languageName: node linkType: hard +"hast-util-parse-selector@npm:^3.0.0": + version: 3.1.1 + resolution: "hast-util-parse-selector@npm:3.1.1" + dependencies: + "@types/hast": ^2.0.0 + checksum: 511d373465f60dd65e924f88bf0954085f4fb6e3a2b062a4b5ac43b93cbfd36a8dce6234b5d1e3e63499d936375687e83fc5da55628b22bd6b581b5ee167d1c4 + languageName: node + linkType: hard + "hast-util-raw@npm:6.0.1": version: 6.0.1 resolution: "hast-util-raw@npm:6.0.1" @@ -22620,6 +23521,34 @@ __metadata: languageName: node linkType: hard +"hast-util-raw@npm:^7.0.0": + version: 7.2.3 + resolution: "hast-util-raw@npm:7.2.3" + dependencies: + "@types/hast": ^2.0.0 + "@types/parse5": ^6.0.0 + hast-util-from-parse5: ^7.0.0 + hast-util-to-parse5: ^7.0.0 + html-void-elements: ^2.0.0 + parse5: ^6.0.0 + unist-util-position: ^4.0.0 + unist-util-visit: ^4.0.0 + vfile: ^5.0.0 + web-namespaces: ^2.0.0 + zwitch: ^2.0.0 + checksum: 21857eea3ffb8fd92d2d9be7793b56d0b2c40db03c4cfa14828855ae41d7c584917aa83efb7157220b2e41e25e95f81f24679ac342c35145e5f1c1d39015f81f + languageName: node + linkType: hard + +"hast-util-sanitize@npm:^4.0.0": + version: 4.1.0 + resolution: "hast-util-sanitize@npm:4.1.0" + dependencies: + "@types/hast": ^2.0.0 + checksum: 4f1786d6556bae6485a657a3e77e7e71b573fd20e4e2d70678e0f445eb8fe3dc6c4441cda6d18b89a79b53e2c03b6232eb6c470ecd478737050724ea09398603 + languageName: node + linkType: hard + "hast-util-to-estree@npm:^2.0.0": version: 2.0.2 resolution: "hast-util-to-estree@npm:2.0.2" @@ -22642,6 +23571,25 @@ __metadata: languageName: node linkType: hard +"hast-util-to-html@npm:^8.0.0": + version: 8.0.4 + resolution: "hast-util-to-html@npm:8.0.4" + dependencies: + "@types/hast": ^2.0.0 + "@types/unist": ^2.0.0 + ccount: ^2.0.0 + comma-separated-tokens: ^2.0.0 + hast-util-raw: ^7.0.0 + hast-util-whitespace: ^2.0.0 + html-void-elements: ^2.0.0 + property-information: ^6.0.0 + space-separated-tokens: ^2.0.0 + stringify-entities: ^4.0.0 + zwitch: ^2.0.4 + checksum: 8f2ae071df2ced5afb4f19f76af8fd3a2f837dc47bcc1c0e0c1578d29dafcd28738f9617505d13c4a2adf13d70e043143e2ad8f130d5554ab4fc11bfa8f74094 + languageName: node + linkType: hard + "hast-util-to-parse5@npm:^6.0.0": version: 6.0.0 resolution: "hast-util-to-parse5@npm:6.0.0" @@ -22655,6 +23603,20 @@ __metadata: languageName: node linkType: hard +"hast-util-to-parse5@npm:^7.0.0": + version: 7.1.0 + resolution: "hast-util-to-parse5@npm:7.1.0" + dependencies: + "@types/hast": ^2.0.0 + comma-separated-tokens: ^2.0.0 + property-information: ^6.0.0 + space-separated-tokens: ^2.0.0 + web-namespaces: ^2.0.0 + zwitch: ^2.0.0 + checksum: 3a7f2175a3db599bbae7e49ba73d3e5e688e5efca7590ff50130ba108ad649f728402815d47db49146f6b94c14c934bf119915da9f6964e38802c122bcc8af6b + languageName: node + linkType: hard + "hast-util-whitespace@npm:^2.0.0": version: 2.0.0 resolution: "hast-util-whitespace@npm:2.0.0" @@ -22675,6 +23637,19 @@ __metadata: languageName: node linkType: hard +"hastscript@npm:^7.0.0": + version: 7.2.0 + resolution: "hastscript@npm:7.2.0" + dependencies: + "@types/hast": ^2.0.0 + comma-separated-tokens: ^2.0.0 + hast-util-parse-selector: ^3.0.0 + property-information: ^6.0.0 + space-separated-tokens: ^2.0.0 + checksum: 928a21576ff7b9a8c945e7940bcbf2d27f770edb4279d4d04b33dc90753e26ca35c1172d626f54afebd377b2afa32331e399feb3eb0f7b91a399dca5927078ae + languageName: node + linkType: hard + "he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -22821,6 +23796,13 @@ __metadata: languageName: node linkType: hard +"html-void-elements@npm:^2.0.0": + version: 2.0.1 + resolution: "html-void-elements@npm:2.0.1" + checksum: 06d41f13b9d5d6e0f39861c4bec9a9196fa4906d56cd5cf6cf54ad2e52a85bf960cca2bf9600026bde16c8331db171bedba5e5a35e2e43630c8f1d497b2fb658 + languageName: node + linkType: hard + "html-webpack-plugin@npm:^4.0.0": version: 4.5.2 resolution: "html-webpack-plugin@npm:4.5.2" @@ -23223,6 +24205,13 @@ __metadata: languageName: node linkType: hard +"immer@npm:^9.0.15": + version: 9.0.21 + resolution: "immer@npm:9.0.21" + checksum: 70e3c274165995352f6936695f0ef4723c52c92c92dd0e9afdfe008175af39fa28e76aafb3a2ca9d57d1fb8f796efc4dd1e1cc36f18d33fa5b74f3dfb0375432 + languageName: node + linkType: hard + "immutable@npm:^3.8.2, immutable@npm:^3.x.x": version: 3.8.2 resolution: "immutable@npm:3.8.2" @@ -25054,6 +26043,26 @@ __metadata: languageName: node linkType: hard +"joi@npm:^17.7.0": + version: 17.9.1 + resolution: "joi@npm:17.9.1" + dependencies: + "@hapi/hoek": ^9.0.0 + "@hapi/topo": ^5.0.0 + "@sideway/address": ^4.1.3 + "@sideway/formula": ^3.0.1 + "@sideway/pinpoint": ^2.0.0 + checksum: 055df3841e00d7ed065ef1cc3330cf69097ab2ffec3083d8b1d6edfd2e25504bf2983f5249d6f0459bcad99fe21bb0c9f6f1cc03569713af27cd5eb00ee7bb7d + languageName: node + linkType: hard + +"jose@npm:4.11.1": + version: 4.11.1 + resolution: "jose@npm:4.11.1" + checksum: cd15cba258d0fd20f6168631ce2e94fda8442df80e43c1033c523915cecdf390a1cc8efe0eab0c2d65935ca973d791c668aea80724d2aa9c2879d4e70f3081d7 + languageName: node + linkType: hard + "jose@npm:4.12.0": version: 4.12.0 resolution: "jose@npm:4.12.0" @@ -25430,6 +26439,19 @@ __metadata: languageName: node linkType: hard +"jsonfile@npm:^5.0.0": + version: 5.0.0 + resolution: "jsonfile@npm:5.0.0" + dependencies: + graceful-fs: ^4.1.6 + universalify: ^0.1.2 + dependenciesMeta: + graceful-fs: + optional: true + checksum: e0ecff572dba34153a66e3a3bc5c6cb01a2c1d2cf4a2c19b6728dcfcab39d94be9cca4a0fc86a17ff2c815f2aeb43768ac75545780dbea4009433fdc32aa14d1 + languageName: node + linkType: hard + "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -25592,6 +26614,13 @@ __metadata: languageName: node linkType: hard +"keen-slider@npm:^6.8.0": + version: 6.8.5 + resolution: "keen-slider@npm:6.8.5" + checksum: 1ef25cde02636068a0c66de994eb1e5ac1935a1a1f28e5cf4dcbf2c9cf2b802e0e23bdcd97dd9a9ae93de335ccc990379ab21bda75637fe04e86cbb7d799e23a + languageName: node + linkType: hard + "keypress@npm:~0.2.1": version: 0.2.1 resolution: "keypress@npm:0.2.1" @@ -26115,6 +27144,13 @@ __metadata: languageName: node linkType: hard +"lodash.mergewith@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.mergewith@npm:4.6.2" + checksum: a6db2a9339752411f21b956908c404ec1e088e783a65c8b29e30ae5b3b6384f82517662d6f425cc97c2070b546cc2c7daaa8d33f78db7b6e9be06cd834abdeb8 + languageName: node + linkType: hard + "lodash.once@npm:^4.0.0, lodash.once@npm:^4.1.1": version: 4.1.1 resolution: "lodash.once@npm:4.1.1" @@ -26358,6 +27394,15 @@ __metadata: languageName: node linkType: hard +"lucide-react@npm:^0.125.0": + version: 0.125.0 + resolution: "lucide-react@npm:0.125.0" + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 + checksum: 6d86330fd4316a42624d537cc07adc3c51c18a699a02ef3abbd221c3140ae5ac5685396e1f5cb20f5f5ba80fa100523a5a6811c22a51bd13bbfdf65546cfffdf + languageName: node + linkType: hard + "luxon@npm:^1.26.0": version: 1.28.0 resolution: "luxon@npm:1.28.0" @@ -26795,6 +27840,23 @@ __metadata: languageName: node linkType: hard +"mdast-util-to-hast@npm:^11.0.0": + version: 11.3.0 + resolution: "mdast-util-to-hast@npm:11.3.0" + dependencies: + "@types/hast": ^2.0.0 + "@types/mdast": ^3.0.0 + "@types/mdurl": ^1.0.0 + mdast-util-definitions: ^5.0.0 + mdurl: ^1.0.0 + unist-builder: ^3.0.0 + unist-util-generated: ^2.0.0 + unist-util-position: ^4.0.0 + unist-util-visit: ^4.0.0 + checksum: a968d034613aa5cfb44b9c03d8e61a08bb563bfde3a233fb3d83a28857357e2beef56b6767bab2867d3c3796dc5dd796af4d03fb83e3133aeb7f4187b5cc9327 + languageName: node + linkType: hard + "mdast-util-to-hast@npm:^12.1.0": version: 12.1.1 resolution: "mdast-util-to-hast@npm:12.1.1" @@ -27014,7 +28076,7 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.1": +"merge-descriptors@npm:1.0.1, merge-descriptors@npm:^1.0.1": version: 1.0.1 resolution: "merge-descriptors@npm:1.0.1" checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 @@ -27656,6 +28718,13 @@ __metadata: languageName: node linkType: hard +"minimist@npm:^1.2.7": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 + languageName: node + linkType: hard + "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -27859,6 +28928,15 @@ __metadata: languageName: node linkType: hard +"modify-response-middleware@npm:^1.1.0": + version: 1.1.0 + resolution: "modify-response-middleware@npm:1.1.0" + dependencies: + brotli: ^1.3.2 + checksum: eeee5c14ae9492f8b3949b10786af35e7ff362c1f54ef2015ee4db770492b1ba41ec8b5ffd08dee6401346c94bffff663ef93187c3487913cd3a79df10379081 + languageName: node + linkType: hard + "module-alias@npm:^2.2.2": version: 2.2.2 resolution: "module-alias@npm:2.2.2" @@ -28230,6 +29308,17 @@ __metadata: languageName: node linkType: hard +"next-api-middleware@npm:^1.0.1": + version: 1.0.1 + resolution: "next-api-middleware@npm:1.0.1" + dependencies: + debug: ^4.3.2 + peerDependencies: + next: ">=10" + checksum: c370494616edaef7f8a4efa33c35fe18b1b15405c74f3d77f6475efa5b792346fffd87679affb5936c2fc604bfcd4e64a8e679049a8fc432bf8426eada48c9fc + languageName: node + linkType: hard + "next-auth@npm:^4.20.1": version: 4.20.1 resolution: "next-auth@npm:4.20.1" @@ -28308,6 +29397,21 @@ __metadata: languageName: node linkType: hard +"next-swagger-doc@npm:^0.3.4": + version: 0.3.6 + resolution: "next-swagger-doc@npm:0.3.6" + dependencies: + cleye: 1.2.1 + isarray: 2.0.5 + swagger-jsdoc: 6.2.5 + peerDependencies: + next: ">=9" + bin: + next-swagger-doc-cli: dist/cli.js + checksum: b9e11ecda6327e4a881a61f17b96407d9a260a532467b3552eb4bdb874c48889fc437db437395c121c80b33ba3be87cbff00f34c6f103259df78588227c83a2e + languageName: node + linkType: hard + "next-themes@npm:^0.0.8": version: 0.0.8 resolution: "next-themes@npm:0.0.8" @@ -28347,6 +29451,86 @@ __metadata: languageName: node linkType: hard +"next-validations@npm:^0.2.0": + version: 0.2.1 + resolution: "next-validations@npm:0.2.1" + peerDependencies: + next: "*" + checksum: f0af51cd0e07e5ece3353b290f36c36f859436b465071a0765cc0dcea630ecccaaa217cf992e174b9f357a6ca24ea65c85084bb0c4bc2029d4b2ac93c1a66ca2 + languageName: node + linkType: hard + +"next@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "next@npm:13.2.4-canary.5" + dependencies: + "@next/env": 13.2.4-canary.5 + "@next/swc-android-arm-eabi": 13.2.4-canary.5 + "@next/swc-android-arm64": 13.2.4-canary.5 + "@next/swc-darwin-arm64": 13.2.4-canary.5 + "@next/swc-darwin-x64": 13.2.4-canary.5 + "@next/swc-freebsd-x64": 13.2.4-canary.5 + "@next/swc-linux-arm-gnueabihf": 13.2.4-canary.5 + "@next/swc-linux-arm64-gnu": 13.2.4-canary.5 + "@next/swc-linux-arm64-musl": 13.2.4-canary.5 + "@next/swc-linux-x64-gnu": 13.2.4-canary.5 + "@next/swc-linux-x64-musl": 13.2.4-canary.5 + "@next/swc-win32-arm64-msvc": 13.2.4-canary.5 + "@next/swc-win32-ia32-msvc": 13.2.4-canary.5 + "@next/swc-win32-x64-msvc": 13.2.4-canary.5 + "@swc/helpers": 0.4.14 + caniuse-lite: ^1.0.30001406 + postcss: 8.4.14 + styled-jsx: 5.1.1 + peerDependencies: + "@opentelemetry/api": ^1.4.0 + fibers: ">= 3.1.0" + node-sass: ^6.0.0 || ^7.0.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + dependenciesMeta: + "@next/swc-android-arm-eabi": + optional: true + "@next/swc-android-arm64": + optional: true + "@next/swc-darwin-arm64": + optional: true + "@next/swc-darwin-x64": + optional: true + "@next/swc-freebsd-x64": + optional: true + "@next/swc-linux-arm-gnueabihf": + optional: true + "@next/swc-linux-arm64-gnu": + optional: true + "@next/swc-linux-arm64-musl": + optional: true + "@next/swc-linux-x64-gnu": + optional: true + "@next/swc-linux-x64-musl": + optional: true + "@next/swc-win32-arm64-msvc": + optional: true + "@next/swc-win32-ia32-msvc": + optional: true + "@next/swc-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@opentelemetry/api": + optional: true + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + bin: + next: dist/bin/next + checksum: 47616f1ebbf0e716ca67313d247d56f646e1f663dcfc99125a0e882ed74a6ebc2c776a7e05438b4e928d38d8dae42933c5b314dfb8e4c0a566edd0e26647335a + languageName: node + linkType: hard + "next@npm:^13.2.1": version: 13.2.3 resolution: "next@npm:13.2.3" @@ -28601,6 +29785,24 @@ __metadata: languageName: node linkType: hard +"node-mocks-http@npm:^1.11.0": + version: 1.12.2 + resolution: "node-mocks-http@npm:1.12.2" + dependencies: + accepts: ^1.3.7 + content-disposition: ^0.5.3 + depd: ^1.1.0 + fresh: ^0.5.2 + merge-descriptors: ^1.0.1 + methods: ^1.1.2 + mime: ^1.3.4 + parseurl: ^1.3.3 + range-parser: ^1.2.0 + type-is: ^1.6.18 + checksum: 39e50b7146bd37fd56a0588ee3df46fd310f76395d52e9b8889545910aca6cc8e8a41de3cdd3e103903d4bbfc556e67624fcbe934c0bd3b0cca6ee1358a0f440 + languageName: node + linkType: hard + "node-releases@npm:^2.0.2": version: 2.0.2 resolution: "node-releases@npm:2.0.2" @@ -28838,6 +30040,13 @@ __metadata: languageName: node linkType: hard +"oauth4webapi@npm:2.0.5": + version: 2.0.5 + resolution: "oauth4webapi@npm:2.0.5" + checksum: 32d0cb7b1cca42d51dfb88075ca2d69fe33172a807e8ea50e317d17cab3bc80588ab8ebcb7eb4600c371a70af4674595b4b341daf6f3a655f1efa1ab715bb6c9 + languageName: node + linkType: hard + "oauth@npm:^0.9.15": version: 0.9.15 resolution: "oauth@npm:0.9.15" @@ -28898,6 +30107,13 @@ __metadata: languageName: node linkType: hard +"object-path@npm:^0.11.8": + version: 0.11.8 + resolution: "object-path@npm:0.11.8" + checksum: 684ccf0fb6b82f067dc81e2763481606692b8485bec03eb2a64e086a44dbea122b2b9ef44423a08e09041348fe4b4b67bd59985598f1652f67df95f0618f5968 + languageName: node + linkType: hard + "object-visit@npm:^1.0.0": version: 1.0.1 resolution: "object-visit@npm:1.0.1" @@ -29689,7 +30905,7 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": +"parseurl@npm:^1.3.3, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 @@ -29970,6 +31186,13 @@ __metadata: languageName: node linkType: hard +"phenomenon@npm:^1.6.0": + version: 1.6.0 + resolution: "phenomenon@npm:1.6.0" + checksum: e05ca8223a9df42c5cee02c082103ef96a349424fec18a8478d2171060a63095e21bef394529263c64d8082aff43204a0fa1355211fd7ac2a338c2839fffbca3 + languageName: node + linkType: hard + "phin@npm:^2.9.1": version: 2.9.3 resolution: "phin@npm:2.9.3" @@ -30130,6 +31353,26 @@ __metadata: languageName: node linkType: hard +"playwright-core@npm:1.32.3": + version: 1.32.3 + resolution: "playwright-core@npm:1.32.3" + bin: + playwright: cli.js + checksum: 7ea091c41a7d1bb97b445bc541a85b123ffcf167bcc00fb7e13e9079f06c92f59fd27caf9d1c1d7e0054f2b5765d1a16d198833c2be7266cebb9dbb916cd90f4 + languageName: node + linkType: hard + +"playwright@npm:^1.31.2": + version: 1.32.3 + resolution: "playwright@npm:1.32.3" + dependencies: + playwright-core: 1.32.3 + bin: + playwright: cli.js + checksum: 9627771a131ab96a26d702757e89dcf09a228f0038c43a14f982cc59a2eca672cb27c9d92c324ddc2c44457b82d77c30b3562b386601969e0456b52dba5df176 + languageName: node + linkType: hard + "pngjs@npm:^3.0.0, pngjs@npm:^3.3.0, pngjs@npm:^3.3.3": version: 3.4.0 resolution: "pngjs@npm:3.4.0" @@ -30469,6 +31712,17 @@ __metadata: languageName: node linkType: hard +"preact-render-to-string@npm:5.2.3": + version: 5.2.3 + resolution: "preact-render-to-string@npm:5.2.3" + dependencies: + pretty-format: ^3.8.0 + peerDependencies: + preact: ">=10" + checksum: 6e46288d8956adde35b9fe3a21aecd9dea29751b40f0f155dea62f3896f27cb8614d457b32f48d33909d2da81135afcca6c55077520feacd7d15164d1371fb44 + languageName: node + linkType: hard + "preact-render-to-string@npm:^5.1.19": version: 5.2.6 resolution: "preact-render-to-string@npm:5.2.6" @@ -30480,6 +31734,13 @@ __metadata: languageName: node linkType: hard +"preact@npm:10.11.3, preact@npm:^10.6.3": + version: 10.11.3 + resolution: "preact@npm:10.11.3" + checksum: 9387115aa0581e8226309e6456e9856f17dfc0e3d3e63f774de80f3d462a882ba7c60914c05942cb51d51e23e120dcfe904b8d392d46f29ad15802941fe7a367 + languageName: node + linkType: hard + "preact@npm:10.4.1": version: 10.4.1 resolution: "preact@npm:10.4.1" @@ -30494,13 +31755,6 @@ __metadata: languageName: node linkType: hard -"preact@npm:^10.6.3": - version: 10.11.3 - resolution: "preact@npm:10.11.3" - checksum: 9387115aa0581e8226309e6456e9856f17dfc0e3d3e63f774de80f3d462a882ba7c60914c05942cb51d51e23e120dcfe904b8d392d46f29ad15802941fe7a367 - languageName: node - linkType: hard - "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -30686,6 +31940,33 @@ __metadata: languageName: node linkType: hard +"prism-react-renderer@npm:^1.3.5": + version: 1.3.5 + resolution: "prism-react-renderer@npm:1.3.5" + peerDependencies: + react: ">=0.14.9" + checksum: c18806dcbc4c0b4fd6fd15bd06b4f7c0a6da98d93af235c3e970854994eb9b59e23315abb6cfc29e69da26d36709a47e25da85ab27fed81b6812f0a52caf6dfa + languageName: node + linkType: hard + +"prisma-field-encryption@npm:^1.4.0": + version: 1.4.1 + resolution: "prisma-field-encryption@npm:1.4.1" + dependencies: + "@47ng/cloak": ^1.1.0 + "@prisma/generator-helper": ^4.0.0 + debug: ^4.3.4 + immer: ^9.0.15 + object-path: ^0.11.8 + zod: ^3.17.3 + peerDependencies: + "@prisma/client": ^3.8.0 || ^4 + bin: + prisma-field-encryption: dist/generator/main.js + checksum: cf059abc1c39ae9252494aaf6ce2bfa0f415583b8cd11b9d84eeadfbb504e00f61570b0e3158ba4b7d52daf91353ffe92766a717c03b9965c421cc08ed49c303 + languageName: node + linkType: hard + "prisma@npm:^4.11.0": version: 4.11.0 resolution: "prisma@npm:4.11.0" @@ -31171,7 +32452,7 @@ __metadata: languageName: node linkType: hard -"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": +"range-parser@npm:^1.2.0, range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 @@ -31280,6 +32561,16 @@ __metadata: languageName: node linkType: hard +"react-chartjs-2@npm:^4.0.1": + version: 4.3.1 + resolution: "react-chartjs-2@npm:4.3.1" + peerDependencies: + chart.js: ^3.5.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 574d12cc43b9b4a0f1e04cc692982e16ef7083c03da2a8a9fc2180fe9bcadc793008f81d8f4eec5465925eff84c95d7c523cb74376858b363ae75a83bb3c2a5d + languageName: node + linkType: hard + "react-colorful@npm:^5.6.0": version: 5.6.0 resolution: "react-colorful@npm:5.6.0" @@ -31290,6 +32581,17 @@ __metadata: languageName: node linkType: hard +"react-confetti@npm:^6.0.1": + version: 6.1.0 + resolution: "react-confetti@npm:6.1.0" + dependencies: + tween-functions: ^1.2.0 + peerDependencies: + react: ^16.3.0 || ^17.0.1 || ^18.0.0 + checksum: 24b6975df144d2bf09d8e1c95ddc49e547775f911efaa8d96b49e522659d931539e9d9e48cc0db3a01f3a671be7e3824e6e728db85096f5527db5d1c69ebb153 + languageName: node + linkType: hard + "react-copy-to-clipboard@npm:5.0.4": version: 5.0.4 resolution: "react-copy-to-clipboard@npm:5.0.4" @@ -31323,6 +32625,23 @@ __metadata: languageName: node linkType: hard +"react-datocms@npm:^3.1.0": + version: 3.1.4 + resolution: "react-datocms@npm:3.1.4" + dependencies: + datocms-listen: ^0.1.9 + datocms-structured-text-generic-html-renderer: ^2.0.1 + datocms-structured-text-utils: ^2.0.1 + react-intersection-observer: ^8.33.1 + react-string-replace: ^1.1.0 + universal-base64: ^2.1.0 + use-deep-compare-effect: ^1.6.1 + peerDependencies: + react: ">= 16.12.0" + checksum: 54aba12aef4937175c2011548a8a576c96c8d8a596e84d191826910624c1d596e76a49782689dc236388a10803b02e700ac820cb7500cca7fd147a81f6c544c3 + languageName: node + linkType: hard + "react-debounce-input@npm:=3.2.4": version: 3.2.4 resolution: "react-debounce-input@npm:3.2.4" @@ -31335,6 +32654,18 @@ __metadata: languageName: node linkType: hard +"react-device-detect@npm:^2.2.2": + version: 2.2.3 + resolution: "react-device-detect@npm:2.2.3" + dependencies: + ua-parser-js: ^1.0.33 + peerDependencies: + react: ">= 0.14.0" + react-dom: ">= 0.14.0" + checksum: 42d9b3182b9d2495bf0d7914c9f370da51d8bdb853a3eba2acaf433894ae760386a075ba103185be825b33d42f50d85ef462087f261656d433f4c74dab23861f + languageName: node + linkType: hard + "react-devtools-core@npm:^4.19.1": version: 4.24.6 resolution: "react-devtools-core@npm:4.24.6" @@ -31440,6 +32771,16 @@ __metadata: languageName: node linkType: hard +"react-fast-marquee@npm:^1.3.5": + version: 1.3.5 + resolution: "react-fast-marquee@npm:1.3.5" + peerDependencies: + react: ">= 16.8.0 || 18.0.0" + react-dom: ">= 16.8.0 || 18.0.0" + checksum: 95301d63faa858ac0e8c2ab32e1e864ed49d8b36e96216960af0ac797bc30fe11c7747b9c3bed3728f5371e57a93277a064fd433c6f8e1a24a9a32bbf1d354e8 + languageName: node + linkType: hard + "react-feather@npm:^2.0.10": version: 2.0.10 resolution: "react-feather@npm:2.0.10" @@ -31465,6 +32806,17 @@ __metadata: languageName: node linkType: hard +"react-github-btn@npm:^1.4.0": + version: 1.4.0 + resolution: "react-github-btn@npm:1.4.0" + dependencies: + github-buttons: ^2.22.0 + peerDependencies: + react: ">=16.3.0" + checksum: 33a416ad76ab4cc9238ac5cf5cfcab636bb2127c48fb30805385350fd3a3c2aa0aaeb78f6c726c52a0d3d133ca469be35d4b3d188c8e40c735c7ff458d2c8c3c + languageName: node + linkType: hard + "react-hook-form@npm:^7.43.3": version: 7.43.3 resolution: "react-hook-form@npm:7.43.3" @@ -31558,6 +32910,15 @@ __metadata: languageName: node linkType: hard +"react-intersection-observer@npm:^8.33.1": + version: 8.34.0 + resolution: "react-intersection-observer@npm:8.34.0" + peerDependencies: + react: ^15.0.0 || ^16.0.0 || ^17.0.0|| ^18.0.0 + checksum: 7713fecfd1512c7f5a60f9f0bf15403b8f8bbd4110bcafaeaea6de36a0e0eb60368c3638f99e9c97b75ad8fc787ea48c241dcb5c694f821d7f2976f709082cc5 + languageName: node + linkType: hard + "react-intl@npm:^5.25.1": version: 5.25.1 resolution: "react-intl@npm:5.25.1" @@ -31619,7 +32980,16 @@ __metadata: languageName: node linkType: hard -"react-merge-refs@npm:^1.0.0": +"react-live-chat-loader@npm:^2.8.1": + version: 2.8.1 + resolution: "react-live-chat-loader@npm:2.8.1" + peerDependencies: + react: ^16.14.0 || ^17.0.0 || ^18.0.0 + checksum: 784648dc5c8e56ad11517433b2685c4e562efde6116d03444d2e8a0f87076860712800551698f82e980939ed3ac305947b78a514187ae2d5a1a0fc0a659c5c22 + languageName: node + linkType: hard + +"react-merge-refs@npm:1.1.0, react-merge-refs@npm:^1.0.0": version: 1.1.0 resolution: "react-merge-refs@npm:1.1.0" checksum: 90884352999002d868ab9f1bcfe3222fb0f2178ed629f1da7e98e5a9b02a2c96b4aa72800db92aabd69d2483211b4be57a2088e89a11a0b660e7ada744d4ddf7 @@ -31873,6 +33243,13 @@ __metadata: languageName: node linkType: hard +"react-string-replace@npm:^1.1.0": + version: 1.1.0 + resolution: "react-string-replace@npm:1.1.0" + checksum: 5df67fbdb49cacdc9f4488d4bc3dedef1f85d6156b3626d9b4b6c317ec8cc534494def078ab0b2df7aea8fa3cbcecd8d3f76a161f04bf8b29869daccf33785ec + languageName: node + linkType: hard + "react-style-singleton@npm:^2.1.0": version: 2.1.1 resolution: "react-style-singleton@npm:2.1.1" @@ -31981,6 +33358,20 @@ __metadata: languageName: node linkType: hard +"react-twemoji@npm:^0.3.0": + version: 0.3.0 + resolution: "react-twemoji@npm:0.3.0" + dependencies: + lodash.isequal: ^4.5.0 + prop-types: ^15.7.2 + twemoji: ^13.0.1 + peerDependencies: + react: ^16.4.2 + react-dom: ^16.4.2 + checksum: d4e56477c28c0ad65b98a062a2e9a1777b808a16c05dfa35d77d84fea26f7d1e884d2e30f95a8f14c94c31330d3d4f53a4fd0bfce917bc4be9fb21d34a05db8a + languageName: node + linkType: hard + "react-use-intercom@npm:1.5.1": version: 1.5.1 resolution: "react-use-intercom@npm:1.5.1" @@ -31991,6 +33382,18 @@ __metadata: languageName: node linkType: hard +"react-use-measure@npm:^2.1.1": + version: 2.1.1 + resolution: "react-use-measure@npm:2.1.1" + dependencies: + debounce: ^1.2.1 + peerDependencies: + react: ">=16.13" + react-dom: ">=16.13" + checksum: b8e8939229d463c3c505f7b617925c0228efae0cd6f651371f463846417b06c9170be57df51293a61027c41770f8a090fdb8a08717c4e36290ccb496e0318f1f + languageName: node + linkType: hard + "react-virtual@npm:^2.8.2": version: 2.10.4 resolution: "react-virtual@npm:2.10.4" @@ -32416,6 +33819,19 @@ __metadata: languageName: node linkType: hard +"remark-html@npm:^14.0.1": + version: 14.0.1 + resolution: "remark-html@npm:14.0.1" + dependencies: + "@types/mdast": ^3.0.0 + hast-util-sanitize: ^4.0.0 + hast-util-to-html: ^8.0.0 + mdast-util-to-hast: ^11.0.0 + unified: ^10.0.0 + checksum: 5d689b05dc6b4f24e08ece07aabca98685949198a8b6ceacb2fbf7fba8f45f55cea5623caddfd92aaf6e6f082bc1c93797dfb82dc48a6f6e1c5263947a4779c9 + languageName: node + linkType: hard + "remark-mdx@npm:1.6.22": version: 1.6.22 resolution: "remark-mdx@npm:1.6.22" @@ -33087,6 +34503,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^7.0.0, rxjs@npm:^7.8.0": + version: 7.8.0 + resolution: "rxjs@npm:7.8.0" + dependencies: + tslib: ^2.1.0 + checksum: 61b4d4fd323c1043d8d6ceb91f24183b28bcf5def4f01ca111511d5c6b66755bc5578587fe714ef5d67cf4c9f2e26f4490d4e1d8cabf9bd5967687835e9866a2 + languageName: node + linkType: hard + "rxjs@npm:^7.5.5": version: 7.5.5 resolution: "rxjs@npm:7.5.5" @@ -33096,6 +34521,13 @@ __metadata: languageName: node linkType: hard +"s-ago@npm:^2.2.0": + version: 2.2.0 + resolution: "s-ago@npm:2.2.0" + checksum: f665fef44d9d88322ce5a798ca3c49b40f96231ddc7bd46dc23c883e98215675aa422985760d45d3779faa3c0bc94edb2a50630bf15f54c239d11963e53d998c + languageName: node + linkType: hard + "sade@npm:^1.7.3": version: 1.8.1 resolution: "sade@npm:1.8.1" @@ -33722,6 +35154,13 @@ __metadata: languageName: node linkType: hard +"shell-quote@npm:^1.7.3": + version: 1.8.1 + resolution: "shell-quote@npm:1.8.1" + checksum: 5f01201f4ef504d4c6a9d0d283fa17075f6770bfbe4c5850b074974c68062f37929ca61700d95ad2ac8822e14e8c4b990ca0e6e9272e64befd74ce5e19f0736b + languageName: node + linkType: hard + "short-uuid@npm:^4.2.0": version: 4.2.0 resolution: "short-uuid@npm:4.2.0" @@ -34058,6 +35497,13 @@ __metadata: languageName: node linkType: hard +"spawn-command@npm:^0.0.2-1": + version: 0.0.2 + resolution: "spawn-command@npm:0.0.2" + checksum: e35c5d28177b4d461d33c88cc11f6f3a5079e2b132c11e1746453bbb7a0c0b8a634f07541a2a234fa4758239d88203b758def509161b651e81958894c0b4b64b + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.1.1 resolution: "spdx-correct@npm:3.1.1" @@ -35013,7 +36459,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0": +"supports-color@npm:^8.0.0, supports-color@npm:^8.1.0": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -35101,6 +36547,31 @@ __metadata: languageName: node linkType: hard +"swagger-jsdoc@npm:6.2.5": + version: 6.2.5 + resolution: "swagger-jsdoc@npm:6.2.5" + dependencies: + commander: 6.2.0 + doctrine: 3.0.0 + glob: 7.1.6 + lodash.mergewith: ^4.6.2 + swagger-parser: 10.0.2 + yaml: 2.0.0-1 + bin: + swagger-jsdoc: bin/swagger-jsdoc.js + checksum: 8ad468bce4934fdca4e5a857fda9cbf98f305b73ffa0ca3ebb5dc34e8c53452c01684010bfa487f17179b860b6b3291e7e5b14433007ca79109dfc7a10441864 + languageName: node + linkType: hard + +"swagger-parser@npm:10.0.2": + version: 10.0.2 + resolution: "swagger-parser@npm:10.0.2" + dependencies: + "@apidevtools/swagger-parser": 10.0.2 + checksum: 02aa7d6caa5dde20fe93f00928a7803b11099a7cffa70c1750b89add23e8dfb220ee5354d3f691dce91300f25dd155060be9a28ed7772d6aa4ff4ab3f5a36db0 + languageName: node + linkType: hard + "swagger-ui-react@npm:4.11.1": version: 4.11.1 resolution: "swagger-ui-react@npm:4.11.1" @@ -35174,6 +36645,15 @@ __metadata: languageName: node linkType: hard +"swr@npm:^1.2.2": + version: 1.3.0 + resolution: "swr@npm:1.3.0" + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + checksum: e7a184f0d560e9c8be85c023cc8e65e56a88a6ed46f9394b301b07f838edca23d2e303685319a4fcd620b81d447a7bcb489c7fa0a752c259f91764903c690cdb + languageName: node + linkType: hard + "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -35435,6 +36915,13 @@ __metadata: languageName: node linkType: hard +"terminal-columns@npm:^1.4.1": + version: 1.4.1 + resolution: "terminal-columns@npm:1.4.1" + checksum: 54a3d625963fa9cb2110bd2af982f31865438c7cf3dfe95d8e9c453c3cd67b7352fa4a78e8b31dc6f4955ccd9fe2ab8ac8224c5b1db61c6226364a12150739bc + languageName: node + linkType: hard + "terminal-link@npm:^2.0.0": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" @@ -35912,6 +37399,15 @@ __metadata: languageName: node linkType: hard +"tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 49117f5f410d19c84b0464d29afb9642c863bc5ba40fcb9a245d474c6d5cc64d1b177a6e6713129eb346b40aebb9d4631d967517f9fbe8251c35b21b13cd96c7 + languageName: node + linkType: hard + "trim-newlines@npm:^1.0.0": version: 1.0.0 resolution: "trim-newlines@npm:1.0.0" @@ -36305,6 +37801,13 @@ __metadata: languageName: node linkType: hard +"tween-functions@npm:^1.2.0": + version: 1.2.0 + resolution: "tween-functions@npm:1.2.0" + checksum: 880708d680eff5c347ddcb9f922ad121703a91c78ce308ed309073e73a794b633eb0b80589a839365803f150515ad34c9646809ae8a0e90f09e62686eefb1ab6 + languageName: node + linkType: hard + "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -36319,6 +37822,25 @@ __metadata: languageName: node linkType: hard +"twemoji-parser@npm:13.1.0": + version: 13.1.0 + resolution: "twemoji-parser@npm:13.1.0" + checksum: 8046ce003c03dd92d68c2648cfbfa39c659fca4f05c10da8d14957985dc3c0c680f3ecf2de8245dc1ddffedc5b2a675f2032053e1e77cc7474301a88fe192ad3 + languageName: node + linkType: hard + +"twemoji@npm:^13.0.1": + version: 13.1.1 + resolution: "twemoji@npm:13.1.1" + dependencies: + fs-extra: ^8.0.1 + jsonfile: ^5.0.0 + twemoji-parser: 13.1.0 + universalify: ^0.1.2 + checksum: f60a8785ad6eb1a673c4f1bccb00a852ead13639db9f763c0e3e9dee6e3e67d88f1d2b481bcee34c35570ab060918b30b6ee68aa65ea1042ad35cd83212a102a + languageName: node + linkType: hard + "twilio@npm:^3.80.1": version: 3.80.1 resolution: "twilio@npm:3.80.1" @@ -36419,7 +37941,14 @@ __metadata: languageName: node linkType: hard -"type-is@npm:~1.6.18": +"type-flag@npm:^2.1.0": + version: 2.2.0 + resolution: "type-flag@npm:2.2.0" + checksum: 728218708795c84b81a4923049b357be1ad12880e15f39940cba89472664b590368d3383f254246876edbd2eb01872b4675be62570088d7377f052420f5e9c9a + languageName: node + linkType: hard + +"type-is@npm:^1.6.18, type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: @@ -36561,6 +38090,20 @@ __metadata: languageName: node linkType: hard +"tzdata@npm:^1.0.30": + version: 1.0.38 + resolution: "tzdata@npm:1.0.38" + checksum: 866abff1316bd1311057f5de9da702c78a27f3bba213aa6986e8e4d22d0d25b554dda2330e6d853e2c34566270bb327babe467ad9a5f069ad466f09571872800 + languageName: node + linkType: hard + +"ua-parser-js@npm:^1.0.33": + version: 1.0.35 + resolution: "ua-parser-js@npm:1.0.35" + checksum: 02370d38a0c8b586f2503d1c3bbba5cbc0b97d407282f9023201a99e4c03eae4357a2800fdf50cf80d73ec25c0b0cc5bfbaa03975b0add4043d6e4c86712c9c1 + languageName: node + linkType: hard + "uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": version: 1.0.6 resolution: "uc.micro@npm:1.0.6" @@ -36945,6 +38488,13 @@ __metadata: languageName: node linkType: hard +"universal-base64@npm:^2.1.0": + version: 2.1.0 + resolution: "universal-base64@npm:2.1.0" + checksum: 03bc6f7de04aee83038c26038cd2639f470fd9665f99b3613934c4ccde5d59047d45e34ea4c843ac582da83ea1b050bf8defba8eb390e566f0be314646ddbc9b + languageName: node + linkType: hard + "universalify@npm:^0.1.0, universalify@npm:^0.1.2": version: 0.1.2 resolution: "universalify@npm:0.1.2" @@ -37184,6 +38734,18 @@ __metadata: languageName: node linkType: hard +"use-deep-compare-effect@npm:^1.6.1": + version: 1.8.1 + resolution: "use-deep-compare-effect@npm:1.8.1" + dependencies: + "@babel/runtime": ^7.12.5 + dequal: ^2.0.2 + peerDependencies: + react: ">=16.13" + checksum: 2b9b6291df3f772f44d259b352e5d998963ccee0db2efeb76bb05525d928064aeeb69bb0dee5a5e428fea7cf3db67c097a770ebd30caa080662b565f6ef02b2e + languageName: node + linkType: hard + "use-isomorphic-layout-effect@npm:^1.1.1, use-isomorphic-layout-effect@npm:^1.1.2": version: 1.1.2 resolution: "use-isomorphic-layout-effect@npm:1.1.2" @@ -37421,6 +38983,13 @@ __metadata: languageName: node linkType: hard +"validator@npm:^13.6.0": + version: 13.9.0 + resolution: "validator@npm:13.9.0" + checksum: e2c936f041f61faa42bafd17c6faddf939498666cd82e88d733621c286893730b008959f4cb12ab3e236148a4f3805c30b85e3dcf5e0efd8b0cbcd36c02bfc0c + languageName: node + linkType: hard + "varint@npm:^5.0.0": version: 5.0.2 resolution: "varint@npm:5.0.2" @@ -37453,6 +39022,16 @@ __metadata: languageName: node linkType: hard +"vfile-location@npm:^4.0.0": + version: 4.1.0 + resolution: "vfile-location@npm:4.1.0" + dependencies: + "@types/unist": ^2.0.0 + vfile: ^5.0.0 + checksum: c894e8e5224170d1f85288f4a1d1ebcee0780823ea2b49d881648ab360ebf01b37ecb09b1c4439a75f9a51f31a9f9742cd045e987763e367c352a1ef7c50d446 + languageName: node + linkType: hard + "vfile-message@npm:^2.0.0": version: 2.0.4 resolution: "vfile-message@npm:2.0.4" @@ -37636,6 +39215,21 @@ __metadata: languageName: node linkType: hard +"wait-on@npm:^7.0.1": + version: 7.0.1 + resolution: "wait-on@npm:7.0.1" + dependencies: + axios: ^0.27.2 + joi: ^17.7.0 + lodash: ^4.17.21 + minimist: ^1.2.7 + rxjs: ^7.8.0 + bin: + wait-on: bin/wait-on + checksum: 1e8a17d8ee6436f71d3ab82781ce31267481fcd7bbccde49b0f8124871e6e40a1acac3401f04f775ba6203853a5813352fa131620fc139914351f3b2894d573f + languageName: node + linkType: hard + "walker@npm:^1.0.7, walker@npm:^1.0.8, walker@npm:~1.0.5": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -37713,6 +39307,13 @@ __metadata: languageName: node linkType: hard +"web-namespaces@npm:^2.0.0": + version: 2.0.1 + resolution: "web-namespaces@npm:2.0.1" + checksum: b6d9f02f1a43d0ef0848a812d89c83801d5bbad57d8bb61f02eb6d7eb794c3736f6cc2e1191664bb26136594c8218ac609f4069722c6f56d9fc2d808fa9271c6 + languageName: node + linkType: hard + "web-streams-polyfill@npm:4.0.0-beta.1": version: 4.0.0-beta.1 resolution: "web-streams-polyfill@npm:4.0.0-beta.1" @@ -38825,6 +40426,13 @@ __metadata: languageName: node linkType: hard +"yaml@npm:2.0.0-1": + version: 2.0.0-1 + resolution: "yaml@npm:2.0.0-1" + checksum: ccfbd1424dbf205a8828593faa91dfd40bd21e3fb575e257280d3526ade9508f3ea0acbe7605abc81bac6b4d6729ddb5b3de6bd818232f48480fd1eda8d7fd4c + languageName: node + linkType: hard + "yaml@npm:^1.10.0, yaml@npm:^1.10.2, yaml@npm:^1.7.2": version: 1.10.2 resolution: "yaml@npm:1.10.2" @@ -39017,6 +40625,23 @@ __metadata: languageName: node linkType: hard +"z-schema@npm:^4.2.3": + version: 4.2.4 + resolution: "z-schema@npm:4.2.4" + dependencies: + commander: ^2.7.1 + lodash.get: ^4.4.2 + lodash.isequal: ^4.5.0 + validator: ^13.6.0 + dependenciesMeta: + commander: + optional: true + bin: + z-schema: bin/z-schema + checksum: 9afc0b8d4f75122fbbac8835b0398fc6ab3cfa3f68792e4e86edcd9be1e9ae9d982368a8ae25a4eeea6aad3ab35a24379b76e1525b105c23169c4f93b3185004 + languageName: node + linkType: hard + "zenscroll@npm:^4.0.2": version: 4.0.2 resolution: "zenscroll@npm:4.0.2" @@ -39044,6 +40669,13 @@ __metadata: languageName: node linkType: hard +"zod@npm:^3.17.3": + version: 3.21.4 + resolution: "zod@npm:3.21.4" + checksum: f185ba87342ff16f7a06686767c2b2a7af41110c7edf7c1974095d8db7a73792696bcb4a00853de0d2edeb34a5b2ea6a55871bc864227dace682a0a28de33e1f + languageName: node + linkType: hard + "zod@npm:^3.20.2": version: 3.20.2 resolution: "zod@npm:3.20.2" @@ -39098,3 +40730,10 @@ __metadata: checksum: 8edd7af8375f12f64d8dbef815af32cd77bd9237d0b013210ba4e3aef25fdc460fe264cd0a19deabe9f86ef0c607240ebac1a336bf4a70bf06ef53e0652de116 languageName: node linkType: hard + +"zwitch@npm:^2.0.4": + version: 2.0.4 + resolution: "zwitch@npm:2.0.4" + checksum: f22ec5fc2d5f02c423c93d35cdfa83573a3a3bd98c66b927c368ea4d0e7252a500df2a90a6b45522be536a96a73404393c958e945fdba95e6832c200791702b6 + languageName: node + linkType: hard From af0123a606ad56247a3814c980c5183ec35cb025 Mon Sep 17 00:00:00 2001 From: Keith Williams Date: Tue, 11 Apr 2023 17:39:53 -0300 Subject: [PATCH 06/13] Updated issue/PR staleness checks (#8209) * Updated issue/PR staleness checks * Changed order of settings to group them better --- .github/workflows/cron-stale-issue.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cron-stale-issue.yml b/.github/workflows/cron-stale-issue.yml index c8c86354bc6cbe..fe0244f79838f0 100644 --- a/.github/workflows/cron-stale-issue.yml +++ b/.github/workflows/cron-stale-issue.yml @@ -15,6 +15,9 @@ jobs: steps: - uses: actions/stale@v7 with: - days-before-stale: 60 - include-only-assigned: true - days-before-close: -1 + days-before-issue-stale: 60 + days-before-issue-close: -1 + days-before-pr-stale: 14 + days-before-pr-close: 7 + stale-pr-message: "This PR is being marked as stale due to inactivity." + close-pr-message: "This PR is being closed due to inactivity. Please reopen if work is intended to be continued. From 817e20f11e3a75ec0bc62535a77c618bd27eaaf4 Mon Sep 17 00:00:00 2001 From: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Date: Tue, 11 Apr 2023 17:44:14 -0400 Subject: [PATCH 07/13] Stripe add the ability to place hold on cards (#8022) * Add payment option to schema * Add payment option to Stripe zod * Set payment option on event type * Create manual payment intent in Stripe * Set payment option from Stripe app * Add payment option to DB * Pass React.ReactNode to checkbox * Create uncaptured payment intent * WIP * Capture card in setup intent * Show charge card option * Charge card from booking page * Bug fixes * Clean up * Clean up app card * Add no-show fee messaging on booking page * Send payment email on payment & add price * Fix messaging * Create no show fee charged email * Send charge fee collected email * Disable submit on card failure * Clean up * Serverside prevent charging card again if already charged * Only confirm booking if paid for * Type fixes * More type fixes * More type fixes * Type fix * Type fixes * UI changes * Payment component rework * Update apps/web/public/static/locales/en/common.json Co-authored-by: Alex van Andel * Update apps/web/public/static/locales/en/common.json Co-authored-by: Alex van Andel * Update apps/web/components/dialog/ChargeCardDialog.tsx Co-authored-by: Alex van Andel * Update packages/trpc/server/routers/viewer/payments.tsx Co-authored-by: Alex van Andel * Revert GTM config * Adjust payment option dropdown * Show alert when seats are set * Small bug fixes * Create collect card method * clean up * Prevent seats & charge no-show fee to be enabled together * Do not charge no-show fee on unconfirmed bookings * Add check to collect card method * Webhook send request emails * Fix some dark mode colours * Change awaiting payment language * Type fixes * Set height of Select and TextField both to 38px to fix alignment * Fix message seats & payment error message * Type fix --------- Co-authored-by: Alex van Andel --- .../booking/BookingDescriptionPayment.tsx | 29 ++- .../components/booking/BookingListItem.tsx | 66 +++++-- .../booking/pages/AvailabilityPage.tsx | 33 +++- .../components/booking/pages/BookingPage.tsx | 2 +- .../components/dialog/ChargeCardDialog.tsx | 100 ++++++++++ .../components/eventtype/EventAdvancedTab.tsx | 99 +++++----- apps/web/pages/event-types/[type]/index.tsx | 81 ++++---- apps/web/public/static/locales/en/common.json | 22 +++ .../app-store/_utils/getEventTypeAppData.ts | 1 + .../components/EventTypeAppCardInterface.tsx | 61 ++++-- .../stripepayment/lib/PaymentService.ts | 182 +++++++++++++++++- .../app-store/stripepayment/lib/constants.ts | 11 ++ .../app-store/stripepayment/lib/customer.ts | 24 +++ .../app-store/stripepayment/lib/server.ts | 5 + packages/app-store/stripepayment/zod.ts | 13 +- packages/app-store/types.d.ts | 2 +- packages/emails/email-manager.ts | 5 + .../emails/src/components/BaseEmailHtml.tsx | 5 +- .../AttendeeAwaitingPaymentEmail.tsx | 28 ++- .../src/templates/BaseScheduledEmail.tsx | 10 + .../src/templates/NoShowFeeChargedEmail.tsx | 33 ++++ packages/emails/src/templates/index.ts | 1 + .../attendee-awaiting-payment-email.ts | 2 +- .../templates/no-show-fee-charged-email.ts | 24 +++ .../features/bookings/lib/handleNewBooking.ts | 21 +- .../weeklyview/components/Calendar.tsx | 2 +- packages/features/ee/payments/api/webhook.ts | 139 ++++++++++++- .../ee/payments/components/Payment.tsx | 89 ++++++--- .../ee/payments/components/PaymentPage.tsx | 14 +- .../features/ee/payments/pages/payment.tsx | 7 +- .../features/ee/sso/page/teams-sso-view.tsx | 2 +- .../features/ee/sso/page/user-sso-view.tsx | 2 +- .../components/EventWorkflowsTab.tsx | 2 +- .../schedules/components/DateOverrideList.tsx | 2 +- .../schedules/components/Schedule.tsx | 4 +- packages/lib/PaymentService.ts | 16 +- packages/lib/getEventTypeById.ts | 4 +- packages/lib/getPaymentAppData.ts | 7 +- packages/lib/payment/handlePayment.ts | 36 +++- .../migration.sql | 5 + packages/prisma/schema.prisma | 32 +-- packages/trpc/server/routers/viewer.tsx | 2 + .../trpc/server/routers/viewer/bookings.tsx | 8 + .../trpc/server/routers/viewer/payments.tsx | 125 ++++++++++++ packages/types/Calendar.d.ts | 3 + packages/ui/components/button/Button.tsx | 2 +- .../ui/components/form/checkbox/Checkbox.tsx | 7 +- 47 files changed, 1149 insertions(+), 221 deletions(-) create mode 100644 apps/web/components/dialog/ChargeCardDialog.tsx create mode 100644 packages/emails/src/templates/NoShowFeeChargedEmail.tsx create mode 100644 packages/emails/templates/no-show-fee-charged-email.ts create mode 100644 packages/prisma/migrations/20230330030031_add_payment_option/migration.sql create mode 100644 packages/trpc/server/routers/viewer/payments.tsx diff --git a/apps/web/components/booking/BookingDescriptionPayment.tsx b/apps/web/components/booking/BookingDescriptionPayment.tsx index 92fa5e755b3062..9904c2b6c31d33 100644 --- a/apps/web/components/booking/BookingDescriptionPayment.tsx +++ b/apps/web/components/booking/BookingDescriptionPayment.tsx @@ -1,22 +1,35 @@ +import type { TFunction } from "next-i18next"; import { FormattedNumber, IntlProvider } from "react-intl"; import getPaymentAppData from "@calcom/lib/getPaymentAppData"; import { FiCreditCard } from "@calcom/ui/components/icon"; -const BookingDescriptionPayment = (props: { eventType: Parameters[0] }) => { +const BookingDescriptionPayment = (props: { + eventType: Parameters[0]; + t: TFunction; +}) => { const paymentAppData = getPaymentAppData(props.eventType); if (!paymentAppData || paymentAppData.price <= 0) return null; return (

- - - + {paymentAppData.paymentOption === "HOLD" ? ( + <> + {props.t("no_show_fee_amount", { + amount: paymentAppData.price / 100.0, + formatParams: { amount: { currency: paymentAppData.currency } }, + })} + + ) : ( + + + + )}

); }; diff --git a/apps/web/components/booking/BookingListItem.tsx b/apps/web/components/booking/BookingListItem.tsx index 6577367b4328dd..3d98abb1fe23b5 100644 --- a/apps/web/components/booking/BookingListItem.tsx +++ b/apps/web/components/booking/BookingListItem.tsx @@ -28,10 +28,20 @@ import { TableActions, TextAreaField, } from "@calcom/ui"; -import { FiCheck, FiClock, FiMapPin, FiRefreshCcw, FiSend, FiSlash, FiX } from "@calcom/ui/components/icon"; +import { + FiCheck, + FiClock, + FiMapPin, + FiRefreshCcw, + FiSend, + FiSlash, + FiX, + FiCreditCard, +} from "@calcom/ui/components/icon"; import useMeQuery from "@lib/hooks/useMeQuery"; +import { ChargeCardDialog } from "@components/dialog/ChargeCardDialog"; import { EditLocationDialog } from "@components/dialog/EditLocationDialog"; import { RescheduleDialog } from "@components/dialog/RescheduleDialog"; @@ -56,7 +66,9 @@ function BookingListItem(booking: BookingItemProps) { const router = useRouter(); const [rejectionReason, setRejectionReason] = useState(""); const [rejectionDialogIsOpen, setRejectionDialogIsOpen] = useState(false); + const [chargeCardDialogIsOpen, setChargeCardDialogIsOpen] = useState(false); const [viewRecordingsDialogIsOpen, setViewRecordingsDialogIsOpen] = useState(false); + const cardCharged = booking?.payment[0]?.success; const mutation = trpc.viewer.bookings.confirm.useMutation({ onSuccess: (data) => { if (data?.status === BookingStatus.REJECTED) { @@ -116,16 +128,20 @@ function BookingListItem(booking: BookingItemProps) { icon: FiSlash, disabled: mutation.isLoading, }, - { - id: "confirm", - label: (isTabRecurring || isTabUnconfirmed) && isRecurring ? t("confirm_all") : t("confirm"), - onClick: () => { - bookingConfirm(true); - }, - icon: FiCheck, - disabled: mutation.isLoading, - color: "primary", - }, + // For bookings with payment, only confirm if the booking is paid for + ...((isPending && !booking?.eventType?.price) || (!!booking?.eventType?.price && booking.paid) + ? [ + { + id: "confirm", + label: (isTabRecurring || isTabUnconfirmed) && isRecurring ? t("confirm_all") : t("confirm"), + onClick: () => { + bookingConfirm(true); + }, + icon: FiCheck, + disabled: mutation.isLoading, + }, + ] + : []), ]; const showRecordingActions: ActionType[] = [ @@ -184,6 +200,18 @@ function BookingListItem(booking: BookingItemProps) { }, ]; + const chargeCardActions: ActionType[] = [ + { + id: "charge_card", + label: cardCharged ? t("no_show_fee_charged") : t("collect_no_show_fee"), + disabled: cardCharged, + onClick: () => { + setChargeCardDialogIsOpen(true); + }, + icon: FiCreditCard, + }, + ]; + if (isTabRecurring && isRecurring) { bookedActions = bookedActions.filter((action) => action.id !== "edit_booking"); } @@ -254,6 +282,15 @@ function BookingListItem(booking: BookingItemProps) { isOpenDialog={isOpenSetLocationDialog} setShowLocationModal={setIsOpenLocationDialog} /> + {booking.paid && ( + + )} {showRecordingsButtons && ( - {t("paid")} + {booking.payment[0].paymentOption === "HOLD" ? t("card_held") : t("paid")} )} {recurringDates !== undefined && ( @@ -423,6 +460,11 @@ function BookingListItem(booking: BookingItemProps) { )} + {booking.status === "ACCEPTED" && booking.paid && booking?.payment[0]?.paymentOption === "HOLD" && ( +
+ +
+ )} diff --git a/apps/web/components/booking/pages/AvailabilityPage.tsx b/apps/web/components/booking/pages/AvailabilityPage.tsx index 0effbe999718d3..f0f5170a3959b4 100644 --- a/apps/web/components/booking/pages/AvailabilityPage.tsx +++ b/apps/web/components/booking/pages/AvailabilityPage.tsx @@ -124,6 +124,16 @@ const AvailabilityPage = ({ profile, eventType, ...restProps }: Props) => { [timeZone] ); const paymentAppData = getPaymentAppData(eventType); + const paymentAmount = () => { + return; + + + ; + }; const rainbowAppData = getEventTypeAppData(eventType, "rainbow") || {}; const rawSlug = profile.slug ? profile.slug.split("/") : []; if (rawSlug.length > 1) rawSlug.pop(); //team events have team name as slug, but user events have [user]/[type] as slug. @@ -237,13 +247,22 @@ const AvailabilityPage = ({ profile, eventType, ...restProps }: Props) => { {paymentAppData.price > 0 && (

- - - + {paymentAppData.paymentOption === "HOLD" ? ( + <> + {t("no_show_fee_amount", { + amount: paymentAppData.price / 100.0, + formatParams: { amount: { currency: paymentAppData.currency } }, + })} + + ) : ( + + + + )}

)} {timezoneDropdown} diff --git a/apps/web/components/booking/pages/BookingPage.tsx b/apps/web/components/booking/pages/BookingPage.tsx index af3cd4e67c2ed4..dc93af6ab16b40 100644 --- a/apps/web/components/booking/pages/BookingPage.tsx +++ b/apps/web/components/booking/pages/BookingPage.tsx @@ -535,7 +535,7 @@ const BookingPage = ({ {showEventTypeDetails && (
- + {!rescheduleUid && eventType.recurringEvent?.freq && recurringEventCount && (
diff --git a/apps/web/components/dialog/ChargeCardDialog.tsx b/apps/web/components/dialog/ChargeCardDialog.tsx new file mode 100644 index 00000000000000..331b887ab8f87b --- /dev/null +++ b/apps/web/components/dialog/ChargeCardDialog.tsx @@ -0,0 +1,100 @@ +import { Trans } from "next-i18next"; +import { useState } from "react"; +import type { Dispatch, SetStateAction } from "react"; +import { IntlProvider, FormattedNumber } from "react-intl"; + +import { useLocale } from "@calcom/lib/hooks/useLocale"; +import { trpc } from "@calcom/trpc/react"; +import { + Button, + Dialog, + DialogClose, + DialogContent, + DialogFooter, + DialogHeader, + showToast, +} from "@calcom/ui"; +import { FiCreditCard, FiAlertTriangle } from "@calcom/ui/components/icon"; + +interface IRescheduleDialog { + isOpenDialog: boolean; + setIsOpenDialog: Dispatch>; + bookingId: number; + paymentAmount: number; + paymentCurrency: string; +} + +export const ChargeCardDialog = (props: IRescheduleDialog) => { + const { t } = useLocale(); + const utils = trpc.useContext(); + const { isOpenDialog, setIsOpenDialog, bookingId } = props; + const [chargeError, setChargeError] = useState(false); + const chargeCardMutation = trpc.viewer.payments.chargeCard.useMutation({ + onSuccess: () => { + utils.viewer.bookings.invalidate(); + setIsOpenDialog(false); + showToast("Charge successful", "success"); + }, + onError: () => { + setChargeError(true); + }, + }); + + return ( + + +
+
+ +
+
+ + +

+ You are about to charge the attendee{" "} + + + + . Are you sure you want to continue? +

+
+ + {chargeError && ( +
+
+ )} + + + + + +
+
+
+
+ ); +}; diff --git a/apps/web/components/eventtype/EventAdvancedTab.tsx b/apps/web/components/eventtype/EventAdvancedTab.tsx index f9ec5cafe8dad4..d94780d658def8 100644 --- a/apps/web/components/eventtype/EventAdvancedTab.tsx +++ b/apps/web/components/eventtype/EventAdvancedTab.tsx @@ -16,7 +16,7 @@ import { APP_NAME, CAL_URL } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import type { Prisma } from "@calcom/prisma/client"; import { trpc } from "@calcom/trpc/react"; -import { Button, Checkbox, Label, SettingsToggle, showToast, TextField, Tooltip } from "@calcom/ui"; +import { Button, Checkbox, Label, SettingsToggle, showToast, TextField, Tooltip, Alert } from "@calcom/ui"; import { FiEdit, FiCopy } from "@calcom/ui/components/icon"; import RequiresConfirmationController from "./RequiresConfirmationController"; @@ -58,6 +58,7 @@ export const EventAdvancedTab = ({ eventType, team }: Pick { !hashedUrl && setHashedUrl(generateHashedLink(eventType.users[0]?.id ?? team?.id)); @@ -262,54 +263,58 @@ export const EventAdvancedTab = ({ eventType, team }: Pick ( - { - // Enabling seats will disable guests and requiring confirmation until fully supported - if (e) { - toggleGuests(false); - formMethods.setValue("requiresConfirmation", false); - setRequiresConfirmation(false); - formMethods.setValue("seatsPerTimeSlot", 2); - } else { - formMethods.setValue("seatsPerTimeSlot", null); - toggleGuests(true); - } - onChange(e); - }}> - ( -
- {t("seats")}} - onChange={(e) => { - onChange(Math.abs(Number(e.target.value))); - }} - /> -
- formMethods.setValue("seatsShowAttendees", e.target.checked)} - defaultChecked={!!eventType.seatsShowAttendees} + <> + { + // Enabling seats will disable guests and requiring confirmation until fully supported + if (e) { + toggleGuests(false); + formMethods.setValue("requiresConfirmation", false); + setRequiresConfirmation(false); + formMethods.setValue("seatsPerTimeSlot", 2); + } else { + formMethods.setValue("seatsPerTimeSlot", null); + toggleGuests(true); + } + onChange(e); + }}> + ( +
+ {t("seats")}} + onChange={(e) => { + onChange(Math.abs(Number(e.target.value))); + }} /> +
+ formMethods.setValue("seatsShowAttendees", e.target.checked)} + defaultChecked={!!eventType.seatsShowAttendees} + /> +
-
- )} - /> - + )} + /> + + {noShowFeeEnabled && } + )} /> diff --git a/apps/web/pages/event-types/[type]/index.tsx b/apps/web/pages/event-types/[type]/index.tsx index 0067865610ec8e..d01c2a3c44d5b8 100644 --- a/apps/web/pages/event-types/[type]/index.tsx +++ b/apps/web/pages/event-types/[type]/index.tsx @@ -126,41 +126,6 @@ const EventTypePage = (props: EventTypeSetupProps) => { const { eventType, locationOptions, team, teamMembers, currentUserMembership, destinationCalendar } = props; const [animationParentRef] = useAutoAnimate(); - const updateMutation = trpc.viewer.eventTypes.update.useMutation({ - onSuccess: async () => { - showToast( - t("event_type_updated_successfully", { - eventTypeTitle: eventType.title, - }), - "success" - ); - }, - async onSettled() { - await utils.viewer.eventTypes.get.invalidate(); - }, - onError: (err) => { - let message = ""; - if (err instanceof HttpError) { - const message = `${err.statusCode}: ${err.message}`; - showToast(message, "error"); - } - - if (err.data?.code === "UNAUTHORIZED") { - message = `${err.data.code}: You are not able to update this event`; - } - - if (err.data?.code === "PARSE_ERROR" || err.data?.code === "BAD_REQUEST") { - message = `${err.data.code}: ${err.message}`; - } - - if (message) { - showToast(message, "error"); - } else { - showToast(err.message, "error"); - } - }, - }); - const [periodDates] = useState<{ startDate: Date; endDate: Date }>({ startDate: new Date(eventType.periodStartDate || Date.now()), endDate: new Date(eventType.periodEndDate || Date.now()), @@ -235,6 +200,48 @@ const EventTypePage = (props: EventTypeSetupProps) => { ), }); + const updateMutation = trpc.viewer.eventTypes.update.useMutation({ + onSuccess: async () => { + showToast( + t("event_type_updated_successfully", { + eventTypeTitle: eventType.title, + }), + "success" + ); + }, + async onSettled() { + await utils.viewer.eventTypes.get.invalidate(); + }, + onError: (err) => { + let message = ""; + if (err instanceof HttpError) { + const message = `${err.statusCode}: ${err.message}`; + showToast(message, "error"); + } + + if (err.data?.code === "UNAUTHORIZED") { + message = `${err.data.code}: You are not able to update this event`; + } + + if (err.data?.code === "PARSE_ERROR" || err.data?.code === "BAD_REQUEST") { + message = `${err.data.code}: ${err.message}`; + } + + if (message) { + showToast(message, "error"); + } else { + showToast(err.message, "error"); + } + + console.log(formMethods.formState.isSubmitting); + + // formMethods.setFormState((prevState) => ({ + // ...prevState, + // isSubmitting: false, + // })); + }, + }); + useEffect(() => { if (!formMethods.formState.isDirty) { //TODO: What's the best way to sync the form with backend @@ -337,6 +344,10 @@ const EventTypePage = (props: EventTypeSetupProps) => { } } + if (metadata?.apps?.stripe?.paymentOption === "HOLD" && seatsPerTimeSlot) { + throw new Error(t("seats_and_no_show_fee_error")); + } + updateMutation.mutate({ ...input, locations, diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index 001264cda242f1..7598e263a5c322 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -1693,7 +1693,29 @@ "redirect_url_warning": "Adding a redirect will disable the success page. Make sure to mention \"Booking Confirmed\" on your custom success page.", "event_trends": "Event Trends", "clear_filters": "Clear Filters", + "hold": "Hold", + "on_booking_option": "Collect payment on booking", + "hold_option": "Charge no-show fee", + "card_held": "Card held", + "charge_card": "Charge card", + "card_charged": "Card charged", + "no_show_fee_amount": "{{amount, currency}} no-show fee", + "no_show_fee": "No-show Fee", + "submit_card": "Submit card", + "submit_payment_information": "Submit payment information", + "meeting_awaiting_payment_method": "Your meeting is awaiting a payment method", + "no_show_fee_charged_email_subject": "No-show fee of {{amount, currency}} charged for {{title}} at {{date}}", + "no_show_fee_charged_text_body": "No-show fee was charged", + "no_show_fee_charged_subtitle": "No-show fee of {{amount, currency}} was charged for the following event", + "error_charging_card": "Something went wrong charging the no-show fee. Please try again later.", + "collect_no_show_fee": "Collect no-show fee", + "no_show_fee_charged": "No-show fee charged", "insights": "Insights", "insights_no_data_found_for_filter": "No data found for the selected filter or selected dates.", + "acknowledge_booking_no_show_fee": "I acknowledge that if I do not attend this event that a {{amount, currency}} no show fee will be applied to my card.", + "card_details": "Card details", + "seats_and_no_show_fee_error": "Currently cannot enable seats and charge a no-show fee", + "complete_your_booking": "Complete your booking", + "complete_your_booking_subject": "Complete your booking: {{title}} on {{date}}", "email_invite_team": "{{email}} has been invited" } diff --git a/packages/app-store/_utils/getEventTypeAppData.ts b/packages/app-store/_utils/getEventTypeAppData.ts index 0b1d757b9a0986..e2795391860d78 100644 --- a/packages/app-store/_utils/getEventTypeAppData.ts +++ b/packages/app-store/_utils/getEventTypeAppData.ts @@ -28,6 +28,7 @@ export const getEventTypeAppData = ( price: eventType.price, // Currency default is "usd" in DB.So, it would also be available always currency: eventType.currency, + paymentOption: "ON_BOOKING", }, rainbow: { enabled: !!(eventType.metadata?.smartContractAddress && eventType.metadata?.blockchainId), diff --git a/packages/app-store/stripepayment/components/EventTypeAppCardInterface.tsx b/packages/app-store/stripepayment/components/EventTypeAppCardInterface.tsx index 58ec0142bc70be..494f3ce196f10d 100644 --- a/packages/app-store/stripepayment/components/EventTypeAppCardInterface.tsx +++ b/packages/app-store/stripepayment/components/EventTypeAppCardInterface.tsx @@ -7,18 +7,24 @@ import AppCard from "@calcom/app-store/_components/AppCard"; import type { EventTypeAppCardComponent } from "@calcom/app-store/types"; import { WEBAPP_URL } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { Alert, TextField } from "@calcom/ui"; +import { Alert, TextField, Select } from "@calcom/ui"; +import { paymentOptions } from "../lib/constants"; import type { appDataSchema } from "../zod"; +type Option = { value: string; label: string }; + const EventTypeAppCard: EventTypeAppCardComponent = function EventTypeAppCard({ app, eventType }) { const { asPath } = useRouter(); const [getAppData, setAppData] = useAppContextWithSchema(); const price = getAppData("price"); const currency = getAppData("currency"); + const paymentOption = getAppData("paymentOption"); + const paymentOptionSelectValue = paymentOptions.find((option) => paymentOption === option.value); const [requirePayment, setRequirePayment] = useState(getAppData("enabled")); const { t } = useLocale(); const recurringEventDefined = eventType.recurringEvent?.count !== undefined; + const seatsEnabled = !!eventType.seatsPerTimeSlot; const getCurrencySymbol = (locale: string, currency: string) => (0) .toLocaleString(locale, { @@ -54,22 +60,43 @@ const EventTypeAppCard: EventTypeAppCardComponent = function EventTypeAppCard({ ) : ( requirePayment && ( -
- {currency ? getCurrencySymbol("en", currency) : ""}} - step="0.01" - min="0.5" - type="number" - required - className="border-default block w-full rounded-sm pl-2 pr-12 text-sm" - placeholder="Price" - onChange={(e) => { - setAppData("price", Number(e.target.value) * 100); - }} - value={price > 0 ? price / 100 : undefined} - /> -
+ <> +
+ {currency ? getCurrencySymbol("en", currency) : ""}} + addOnClassname="h-[38px]" + step="0.01" + min="0.5" + type="number" + required + placeholder="Price" + onChange={(e) => { + setAppData("price", Number(e.target.value) * 100); + }} + value={price > 0 ? price / 100 : undefined} + /> + + defaultValue={ + paymentOptionSelectValue + ? { ...paymentOptionSelectValue, label: t(paymentOptionSelectValue.label) } + : { ...paymentOptions[0], label: t(paymentOptions[0].label) } + } + options={paymentOptions.map((option) => { + return { ...option, label: t(option.label) || option.label }; + })} + onChange={(input) => { + if (input) setAppData("paymentOption", input.value); + }} + className="mb-1 h-[38px] w-full" + isDisabled={seatsEnabled} + /> +
+ {seatsEnabled && paymentOption === "HOLD" && ( + + )} + ) )} diff --git a/packages/app-store/stripepayment/lib/PaymentService.ts b/packages/app-store/stripepayment/lib/PaymentService.ts index 71ff45f332ddcd..a5098ad4b96f80 100644 --- a/packages/app-store/stripepayment/lib/PaymentService.ts +++ b/packages/app-store/stripepayment/lib/PaymentService.ts @@ -1,4 +1,4 @@ -import type { Booking, Payment, Prisma } from "@prisma/client"; +import type { Booking, Payment, Prisma, PaymentOption } from "@prisma/client"; import Stripe from "stripe"; import { v4 as uuidv4 } from "uuid"; import z from "zod"; @@ -9,8 +9,10 @@ import { getErrorFromUnknown } from "@calcom/lib/errors"; import prisma from "@calcom/prisma"; import type { CalendarEvent } from "@calcom/types/Calendar"; +import { paymentOptionEnum } from "../zod"; import { createPaymentLink } from "./client"; -import type { StripePaymentData } from "./server"; +import { retrieveOrCreateStripeCustomerByEmail } from "./customer"; +import type { StripeSetupIntentData, StripePaymentData } from "./server"; const stripeCredentialKeysSchema = z.object({ stripe_user_id: z.string(), @@ -36,11 +38,19 @@ export class PaymentService implements IAbstractPaymentService { }); } + /* This method is for creating charges at the time of booking */ async create( payment: Pick, - bookingId: Booking["id"] + bookingId: Booking["id"], + bookerEmail: string, + paymentOption: PaymentOption ) { try { + // Ensure that the payment service can support the passed payment option + if (paymentOptionEnum.parse(paymentOption) !== "ON_BOOKING") { + throw new Error("Payment option is not compatible with create method"); + } + // Load stripe keys const stripeAppKeys = await prisma?.app.findFirst({ select: { @@ -57,10 +67,17 @@ export class PaymentService implements IAbstractPaymentService { ); const paymentFee = Math.round(payment.amount * payment_fee_percentage + payment_fee_fixed); + const customer = await retrieveOrCreateStripeCustomerByEmail( + bookerEmail, + this.credentials.stripe_user_id + ); + const params: Stripe.PaymentIntentCreateParams = { amount: payment.amount, currency: this.credentials.default_currency, payment_method_types: ["card"], + application_fee_amount: paymentFee, + customer: customer.id, }; const paymentIntent = await this.stripe.paymentIntents.create(params, { @@ -91,11 +108,167 @@ export class PaymentService implements IAbstractPaymentService { fee: paymentFee, refunded: false, success: false, + paymentOption: paymentOption || "ON_BOOKING", + }, + }); + if (!paymentData) { + throw new Error(); + } + return paymentData; + } catch (error) { + console.error(error); + throw new Error("Payment could not be created"); + } + } + + async collectCard( + payment: Pick, + bookingId: Booking["id"], + bookerEmail: string, + paymentOption: PaymentOption + ): Promise { + // Ensure that the payment service can support the passed payment option + if (paymentOptionEnum.parse(paymentOption) !== "HOLD") { + throw new Error("Payment option is not compatible with create method"); + } + + // Load stripe keys + const stripeAppKeys = await prisma?.app.findFirst({ + select: { + keys: true, + }, + where: { + slug: "stripe", + }, + }); + + // Parse keys with zod + const { client_id, payment_fee_fixed, payment_fee_percentage } = stripeAppKeysSchema.parse( + stripeAppKeys?.keys + ); + const paymentFee = Math.round(payment.amount * payment_fee_percentage + payment_fee_fixed); + + const customer = await retrieveOrCreateStripeCustomerByEmail( + bookerEmail, + this.credentials.stripe_user_id + ); + + const params = { + customer: customer.id, + payment_method_types: ["card"], + metadata: { + bookingId, + }, + }; + + const setupIntent = await this.stripe.setupIntents.create(params, { + stripeAccount: this.credentials.stripe_user_id, + }); + + const paymentData = await prisma?.payment.create({ + data: { + uid: uuidv4(), + app: { + connect: { + slug: "stripe", + }, + }, + booking: { + connect: { + id: bookingId, + }, + }, + amount: payment.amount, + currency: payment.currency, + externalId: setupIntent.id, + + data: Object.assign( + {}, + { + setupIntent, + stripe_publishable_key: this.credentials.stripe_publishable_key, + stripeAccount: this.credentials.stripe_user_id, + } + ) as unknown as Prisma.InputJsonValue, + fee: paymentFee, + refunded: false, + success: false, + paymentOption: paymentOption || "ON_BOOKING", + }, + }); + + return paymentData; + } + + async chargeCard(payment: Payment, bookingId: Booking["id"]): Promise { + try { + const stripeAppKeys = await prisma?.app.findFirst({ + select: { + keys: true, + }, + where: { + slug: "stripe", + }, + }); + + const paymentObject = payment.data as unknown as StripeSetupIntentData; + + const setupIntent = paymentObject.setupIntent; + + // Parse keys with zod + const { client_id, payment_fee_fixed, payment_fee_percentage } = stripeAppKeysSchema.parse( + stripeAppKeys?.keys + ); + + const paymentFee = Math.round(payment.amount * payment_fee_percentage + payment_fee_fixed); + + // Ensure that the stripe customer & payment method still exists + const customer = await this.stripe.customers.retrieve(setupIntent.customer as string, { + stripeAccount: this.credentials.stripe_user_id, + }); + const paymentMethod = await this.stripe.paymentMethods.retrieve(setupIntent.payment_method as string, { + stripeAccount: this.credentials.stripe_user_id, + }); + + if (!customer) { + throw new Error(`Stripe customer does not exist for setupIntent ${setupIntent.id}`); + } + + if (!paymentMethod) { + throw new Error(`Stripe paymentMethod does not exist for setupIntent ${setupIntent.id}`); + } + + const params = { + amount: payment.amount, + currency: payment.currency, + application_fee_amount: paymentFee, + customer: setupIntent.customer as string, + payment_method: setupIntent.payment_method as string, + off_session: true, + confirm: true, + }; + + const paymentIntent = await this.stripe.paymentIntents.create(params, { + stripeAccount: this.credentials.stripe_user_id, + }); + + const paymentData = await prisma.payment.update({ + where: { + id: payment.id, + }, + data: { + success: true, + data: { + ...paymentObject, + paymentIntent, + } as unknown as Prisma.InputJsonValue, }, }); + if (!paymentData) { throw new Error(); } + return paymentData; } catch (error) { console.error(error); @@ -165,6 +338,9 @@ export class PaymentService implements IAbstractPaymentService { email: booking.user?.email, date: booking.startTime.toISOString(), }), + paymentOption: paymentData.paymentOption || "ON_BOOKING", + amount: paymentData.amount, + currency: paymentData.currency, }, }); } diff --git a/packages/app-store/stripepayment/lib/constants.ts b/packages/app-store/stripepayment/lib/constants.ts index e36dd8c730ef30..5499427359e11d 100644 --- a/packages/app-store/stripepayment/lib/constants.ts +++ b/packages/app-store/stripepayment/lib/constants.ts @@ -1,3 +1,14 @@ export const PREMIUM_MONTHLY_PLAN_PRICE = process.env.NEXT_PUBLIC_STRIPE_PREMIUM_PLAN_PRICE_MONTHLY || ""; export const PREMIUM_PLAN_PRODUCT_ID = process.env.NEXT_PUBLIC_STRIPE_PREMIUM_PLAN_PRODUCT_ID || ""; export const STRIPE_TEAM_MONTHLY_PRICE_ID = process.env.NEXT_PUBLIC_STRIPE_TEAM_MONTHLY_PRICE_ID || ""; + +export const paymentOptions = [ + { + label: "on_booking_option", + value: "ON_BOOKING", + }, + { + label: "hold_option", + value: "HOLD", + }, +]; diff --git a/packages/app-store/stripepayment/lib/customer.ts b/packages/app-store/stripepayment/lib/customer.ts index 2231a5c7cd3a50..dafb2fbaa7f16d 100644 --- a/packages/app-store/stripepayment/lib/customer.ts +++ b/packages/app-store/stripepayment/lib/customer.ts @@ -82,3 +82,27 @@ export async function deleteStripeCustomer(user: UserType): Promise & { stripeAccount: string; }; +export type StripeSetupIntentData = { + setupIntent: Stripe.Response; + paymentIntent?: StripePaymentData; +}; + export const stripeOAuthTokenSchema = z.object({ access_token: z.string().optional(), scope: z.string().optional(), diff --git a/packages/app-store/stripepayment/zod.ts b/packages/app-store/stripepayment/zod.ts index 1fe4cfeb78e3da..69064502758b38 100644 --- a/packages/app-store/stripepayment/zod.ts +++ b/packages/app-store/stripepayment/zod.ts @@ -1,11 +1,22 @@ import { z } from "zod"; import { eventTypeAppCardZod } from "../eventTypeAppCardZod"; +import { paymentOptions } from "./lib/constants"; + +// Extract the payment options enum from paymentOptions +// https://stackoverflow.com/a/73825370 +type PaymentOption = (typeof paymentOptions)[number]["value"]; +const VALUES: [PaymentOption, ...PaymentOption[]] = [ + paymentOptions[0].value, + ...paymentOptions.slice(1).map((option) => option.value), +]; +export const paymentOptionEnum = z.enum(VALUES); export const appDataSchema = eventTypeAppCardZod.merge( z.object({ price: z.number(), currency: z.string(), + paymentOption: paymentOptionEnum.optional(), }) ); @@ -14,6 +25,6 @@ export const appKeysSchema = z.object({ client_secret: z.string().startsWith("sk_").min(1), public_key: z.string().startsWith("pk_").min(1), webhook_secret: z.string().startsWith("whsec_").min(1), - payment_fee_fixed: z.number().int().min(0), + payment_fee_fixed: z.number().min(0), payment_fee_percentage: z.number().min(0), }); diff --git a/packages/app-store/types.d.ts b/packages/app-store/types.d.ts index 2a590a543397bd..624f3ca35b5f9f 100644 --- a/packages/app-store/types.d.ts +++ b/packages/app-store/types.d.ts @@ -30,7 +30,7 @@ export type EventTypeAppCardComponentProps = { // Limit what data should be accessible to apps eventType: Pick< z.infer, - "id" | "title" | "description" | "teamId" | "length" | "recurringEvent" + "id" | "title" | "description" | "teamId" | "length" | "recurringEvent" | "seatsPerTimeSlot" > & { URL: string; }; diff --git a/packages/emails/email-manager.ts b/packages/emails/email-manager.ts index b4e57e9dff1cdd..2e6563243f3937 100644 --- a/packages/emails/email-manager.ts +++ b/packages/emails/email-manager.ts @@ -21,6 +21,7 @@ import type { Feedback } from "./templates/feedback-email"; import FeedbackEmail from "./templates/feedback-email"; import type { PasswordReset } from "./templates/forgot-password-email"; import ForgotPasswordEmail from "./templates/forgot-password-email"; +import NoShowFeeChargedEmail from "./templates/no-show-fee-charged-email"; import OrganizerAttendeeCancelledSeatEmail from "./templates/organizer-attendee-cancelled-seat-email"; import OrganizerCancelledEmail from "./templates/organizer-cancelled-email"; import OrganizerLocationChangeEmail from "./templates/organizer-location-change-email"; @@ -285,3 +286,7 @@ export const sendDisabledAppEmail = async ({ }) => { await sendEmail(() => new DisabledAppEmail(email, appName, appType, t, title, eventTypeId)); }; + +export const sendNoShowFeeChargedEmail = async (attendee: Person, evt: CalendarEvent) => { + await sendEmail(() => new NoShowFeeChargedEmail(evt, attendee)); +}; diff --git a/packages/emails/src/components/BaseEmailHtml.tsx b/packages/emails/src/components/BaseEmailHtml.tsx index a5c79dc2fbc8e7..2f14915782858f 100644 --- a/packages/emails/src/components/BaseEmailHtml.tsx +++ b/packages/emails/src/components/BaseEmailHtml.tsx @@ -4,7 +4,8 @@ import EmailBodyLogo from "./EmailBodyLogo"; import EmailHead from "./EmailHead"; import EmailScheduledBodyHeaderContent from "./EmailScheduledBodyHeaderContent"; import EmailSchedulingBodyDivider from "./EmailSchedulingBodyDivider"; -import EmailSchedulingBodyHeader, { BodyHeadType } from "./EmailSchedulingBodyHeader"; +import type { BodyHeadType } from "./EmailSchedulingBodyHeader"; +import EmailSchedulingBodyHeader from "./EmailSchedulingBodyHeader"; import RawHtml from "./RawHtml"; import Row from "./Row"; @@ -20,7 +21,7 @@ export const BaseEmailHtml = (props: { callToAction?: React.ReactNode; subject: string; title?: string; - subtitle?: React.ReactNode; + subtitle?: React.ReactNode | string; headerType?: BodyHeadType; }) => { return ( diff --git a/packages/emails/src/templates/AttendeeAwaitingPaymentEmail.tsx b/packages/emails/src/templates/AttendeeAwaitingPaymentEmail.tsx index a02408cd2202a3..b9d506ef8c2e70 100644 --- a/packages/emails/src/templates/AttendeeAwaitingPaymentEmail.tsx +++ b/packages/emails/src/templates/AttendeeAwaitingPaymentEmail.tsx @@ -13,12 +13,22 @@ function ManageLink(props: React.ComponentProps) ); } -export const AttendeeAwaitingPaymentEmail = (props: React.ComponentProps) => ( - } - {...props} - /> -); +export const AttendeeAwaitingPaymentEmail = (props: React.ComponentProps) => { + return props.calEvent.paymentInfo?.paymentOption === "HOLD" ? ( + } + {...props} + /> + ) : ( + } + {...props} + /> + ); +}; diff --git a/packages/emails/src/templates/BaseScheduledEmail.tsx b/packages/emails/src/templates/BaseScheduledEmail.tsx index 654c0378a5dc0b..94c55560d9a055 100644 --- a/packages/emails/src/templates/BaseScheduledEmail.tsx +++ b/packages/emails/src/templates/BaseScheduledEmail.tsx @@ -80,6 +80,16 @@ export const BaseScheduledEmail = ( {props.includeAppsStatus && } + {props.calEvent.paymentInfo?.amount && ( + + )} ); }; diff --git a/packages/emails/src/templates/NoShowFeeChargedEmail.tsx b/packages/emails/src/templates/NoShowFeeChargedEmail.tsx new file mode 100644 index 00000000000000..9bc5d993230402 --- /dev/null +++ b/packages/emails/src/templates/NoShowFeeChargedEmail.tsx @@ -0,0 +1,33 @@ +import type { CalendarEvent, Person } from "@calcom/types/Calendar"; + +import { BaseScheduledEmail } from "./BaseScheduledEmail"; + +export const NoShowFeeChargedEmail = ( + props: { + calEvent: CalendarEvent; + attendee: Person; + } & Partial> +) => { + const { calEvent } = props; + const t = props.attendee.language.translate; + + if (!calEvent.paymentInfo?.amount) throw new Error("No payment info"); + + return ( + + {t("no_show_fee_charged_subtitle", { + amount: calEvent.paymentInfo.amount / 100, + formatParams: { amount: { currency: calEvent.paymentInfo?.currency } }, + })} + + } + timeZone={props.attendee.timeZone} + {...props} + t={t} + /> + ); +}; diff --git a/packages/emails/src/templates/index.ts b/packages/emails/src/templates/index.ts index d1d7d7bcb5c161..59dac4cc058a38 100644 --- a/packages/emails/src/templates/index.ts +++ b/packages/emails/src/templates/index.ts @@ -21,4 +21,5 @@ export { OrganizerScheduledEmail } from "./OrganizerScheduledEmail"; export { TeamInviteEmail } from "./TeamInviteEmail"; export { BrokenIntegrationEmail } from "./BrokenIntegrationEmail"; export { OrganizerAttendeeCancelledSeatEmail } from "./OrganizerAttendeeCancelledSeatEmail"; +export { NoShowFeeChargedEmail } from "./NoShowFeeChargedEmail"; export * from "@calcom/app-store/routing-forms/emails/components"; diff --git a/packages/emails/templates/attendee-awaiting-payment-email.ts b/packages/emails/templates/attendee-awaiting-payment-email.ts index df135ad52bdb98..772b55c10b445c 100644 --- a/packages/emails/templates/attendee-awaiting-payment-email.ts +++ b/packages/emails/templates/attendee-awaiting-payment-email.ts @@ -7,7 +7,7 @@ export default class AttendeeAwaitingPaymentEmail extends AttendeeScheduledEmail to: `${this.attendee.name} <${this.attendee.email}>`, from: `${this.calEvent.organizer.name} <${this.getMailerOptions().from}>`, replyTo: this.calEvent.organizer.email, - subject: `${this.attendee.language.translate("awaiting_payment_subject", { + subject: `${this.attendee.language.translate("complete_your_booking_subject", { title: this.calEvent.title, date: this.getFormattedDate(), })}`, diff --git a/packages/emails/templates/no-show-fee-charged-email.ts b/packages/emails/templates/no-show-fee-charged-email.ts new file mode 100644 index 00000000000000..500e4393eb233b --- /dev/null +++ b/packages/emails/templates/no-show-fee-charged-email.ts @@ -0,0 +1,24 @@ +import { renderEmail } from "../"; +import AttendeeScheduledEmail from "./attendee-scheduled-email"; + +export default class NoShowFeeChargedEmail extends AttendeeScheduledEmail { + protected getNodeMailerPayload(): Record { + if (!this.calEvent.paymentInfo?.amount) throw new Error("No payment into"); + return { + to: `${this.attendee.name} <${this.attendee.email}>`, + from: `${this.calEvent.organizer.name} <${this.getMailerOptions().from}>`, + replyTo: this.calEvent.organizer.email, + subject: `${this.attendee.language.translate("no_show_fee_charged_email_subject", { + title: this.calEvent.title, + date: this.getFormattedDate(), + amount: this.calEvent.paymentInfo.amount / 100, + formatParams: { amount: { currency: this.calEvent.paymentInfo?.currency } }, + })}`, + html: renderEmail("NoShowFeeChargedEmail", { + calEvent: this.calEvent, + attendee: this.attendee, + }), + text: this.getTextBody("no_show_fee_charged_text_body"), + }; + } +} diff --git a/packages/features/bookings/lib/handleNewBooking.ts b/packages/features/bookings/lib/handleNewBooking.ts index 9fe941e75a8887..d529abeccc997d 100644 --- a/packages/features/bookings/lib/handleNewBooking.ts +++ b/packages/features/bookings/lib/handleNewBooking.ts @@ -1412,7 +1412,8 @@ async function handler( evt, eventType, eventTypePaymentAppCredential as IEventTypePaymentCredentialType, - booking + booking, + bookerEmail ); return { @@ -1846,17 +1847,18 @@ async function handler( } } - if (!isConfirmedByDefault && noEmail !== true) { + const bookingRequiresPayment = + !Number.isNaN(paymentAppData.price) && + paymentAppData.price > 0 && + !originalRescheduledBooking?.paid && + !!booking; + + if (!isConfirmedByDefault && noEmail !== true && !bookingRequiresPayment) { await sendOrganizerRequestEmail({ ...evt, additionalNotes }); await sendAttendeeRequestEmail({ ...evt, additionalNotes }, attendeesList[0]); } - if ( - !Number.isNaN(paymentAppData.price) && - paymentAppData.price > 0 && - !originalRescheduledBooking?.paid && - !!booking - ) { + if (bookingRequiresPayment) { // Load credentials.app.categories const credentialPaymentAppCategories = await prisma.credential.findMany({ where: { @@ -1892,7 +1894,8 @@ async function handler( evt, eventType, eventTypePaymentAppCredential as IEventTypePaymentCredentialType, - booking + booking, + bookerEmail ); req.statusCode = 201; diff --git a/packages/features/calendars/weeklyview/components/Calendar.tsx b/packages/features/calendars/weeklyview/components/Calendar.tsx index aa8511d5784784..fa055684693929 100644 --- a/packages/features/calendars/weeklyview/components/Calendar.tsx +++ b/packages/features/calendars/weeklyview/components/Calendar.tsx @@ -56,7 +56,7 @@ export function Calendar(props: CalendarComponentProps) { containerRef={container} /> */}
-
+
>; + let eventTypeRaw: EventTypeRaw | null = null; + if (booking.eventTypeId) { + eventTypeRaw = await getEventType(booking.eventTypeId); + } + + const { user } = booking; + + if (!user) throw new HttpCode({ statusCode: 204, message: "No user found" }); + + const t = await getTranslation(user.locale ?? "en", "common"); + const attendeesListPromises = booking.attendees.map(async (attendee) => { + return { + name: attendee.name, + email: attendee.email, + timeZone: attendee.timeZone, + language: { + translate: await getTranslation(attendee.locale ?? "en", "common"), + locale: attendee.locale ?? "en", + }, + }; + }); + + const attendeesList = await Promise.all(attendeesListPromises); + + const evt: CalendarEvent = { + type: booking.title, + title: booking.title, + description: booking.description || undefined, + startTime: booking.startTime.toISOString(), + endTime: booking.endTime.toISOString(), + customInputs: isPrismaObjOrUndefined(booking.customInputs), + organizer: { + email: user.email, + name: user.name!, + timeZone: user.timeZone, + language: { translate: t, locale: user.locale ?? "en" }, + id: user.id, + }, + attendees: attendeesList, + uid: booking.uid, + destinationCalendar: booking.destinationCalendar || user.destinationCalendar, + recurringEvent: parseRecurringEvent(eventTypeRaw?.recurringEvent), + }; + + return { + booking, + user, + evt, + eventTypeRaw, + }; +} + async function handlePaymentSuccess(event: Stripe.Event) { const paymentIntent = event.data.object as Stripe.PaymentIntent; const payment = await prisma.payment.findFirst({ @@ -180,10 +266,61 @@ async function handlePaymentSuccess(event: Stripe.Event) { }); } +const handleSetupSuccess = async (event: Stripe.Event) => { + const setupIntent = event.data.object as Stripe.SetupIntent; + const payment = await prisma.payment.findFirst({ + where: { + externalId: setupIntent.id, + }, + }); + + if (!payment?.data || !payment?.id) throw new HttpCode({ statusCode: 204, message: "Payment not found" }); + + const { booking, user, evt, eventTypeRaw } = await getBooking(payment.bookingId); + + const bookingData: Prisma.BookingUpdateInput = { + paid: true, + }; + + if (!eventTypeRaw?.requiresConfirmation) { + const eventManager = new EventManager(user); + const scheduleResult = await eventManager.create(evt); + bookingData.references = { create: scheduleResult.referencesToCreate }; + bookingData.status = BookingStatus.ACCEPTED; + } + + await prisma.payment.update({ + where: { + id: payment.id, + }, + data: { + data: { + ...(payment.data as Prisma.JsonObject), + setupIntent: setupIntent as unknown as Prisma.JsonObject, + }, + booking: { + update: { + ...bookingData, + }, + }, + }, + }); + + // If the card information was already captured in the same customer. Delete the previous payment method + + if (!eventTypeRaw?.requiresConfirmation) { + await sendScheduledEmails({ ...evt }); + } else { + await sendOrganizerRequestEmail({ ...evt }); + await sendAttendeeRequestEmail({ ...evt }, evt.attendees[0]); + } +}; + type WebhookHandler = (event: Stripe.Event) => Promise; const webhookHandlers: Record = { "payment_intent.succeeded": handlePaymentSuccess, + "setup_intent.succeeded": handleSetupSuccess, }; /** diff --git a/packages/features/ee/payments/components/Payment.tsx b/packages/features/ee/payments/components/Payment.tsx index e525ee1117f44e..c2cfb0248b9bb1 100644 --- a/packages/features/ee/payments/components/Payment.tsx +++ b/packages/features/ee/payments/components/Payment.tsx @@ -1,3 +1,4 @@ +import type { Payment } from "@prisma/client"; import { CardElement, useElements, useStripe } from "@stripe/react-stripe-js"; import type { StripeCardElementChangeEvent, StripeElementLocale } from "@stripe/stripe-js"; import type stripejs from "@stripe/stripe-js"; @@ -5,10 +6,10 @@ import { useRouter } from "next/router"; import type { SyntheticEvent } from "react"; import { useEffect, useState } from "react"; -import type { StripePaymentData } from "@calcom/app-store/stripepayment/lib/server"; +import type { StripePaymentData, StripeSetupIntentData } from "@calcom/app-store/stripepayment/lib/server"; import { bookingSuccessRedirect } from "@calcom/lib/bookingSuccessRedirect"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { Button } from "@calcom/ui"; +import { Button, Checkbox } from "@calcom/ui"; import type { EventType } from ".prisma/client"; @@ -32,8 +33,8 @@ const CARD_OPTIONS: stripejs.StripeCardElementOptions = { } as const; type Props = { - payment: { - data: StripePaymentData; + payment: Omit & { + data: StripePaymentData | StripeSetupIntentData; }; eventType: { id: number; successRedirectUrl: EventType["successRedirectUrl"] }; user: { username: string | null }; @@ -54,6 +55,8 @@ export default function PaymentComponent(props: Props) { const [state, setState] = useState({ status: "idle" }); const stripe = useStripe(); const elements = useElements(); + const paymentOption = props.payment.paymentOption; + const [holdAcknowledged, setHoldAcknowledged] = useState(paymentOption === "HOLD" ? false : true); useEffect(() => { elements?.update({ locale: i18n.language as StripeElementLocale }); @@ -74,22 +77,33 @@ export default function PaymentComponent(props: Props) { const card = elements.getElement(CardElement); if (!card) return; setState({ status: "processing" }); - const payload = await stripe.confirmCardPayment(props.payment.data.client_secret!, { - payment_method: { - card, - }, - }); - if (payload.error) { + + let payload; + const params: { [k: string]: any } = { + uid: props.bookingUid, + email: router.query.email, + }; + if (paymentOption === "HOLD" && "setupIntent" in props.payment.data) { + const setupIntentData = props.payment.data as unknown as StripeSetupIntentData; + payload = await stripe.confirmCardSetup(setupIntentData.setupIntent.client_secret!, { + payment_method: { + card, + }, + }); + } else if (paymentOption === "ON_BOOKING") { + const paymentData = props.payment.data as unknown as StripePaymentData; + payload = await stripe.confirmCardPayment(paymentData.client_secret!, { + payment_method: { + card, + }, + }); + } + if (payload?.error) { setState({ status: "error", error: new Error(`Payment failed: ${payload.error.message}`), }); } else { - const params: { [k: string]: any } = { - uid: props.bookingUid, - email: router.query.email, - }; - if (props.location) { if (props.location.includes("integration")) { params.location = t("web_conferencing_details_to_follow"); @@ -107,22 +121,53 @@ export default function PaymentComponent(props: Props) { } }; return ( -
- -
+ +

{t("card_details")}

+ + {paymentOption === "HOLD" && ( +
+ setHoldAcknowledged(e.target.checked)} + descriptionClassName="text-blue-900 font-semibold" + /> +
+ )} +
+
{state.status === "error" && ( -
+
{state.error.message}
)} diff --git a/packages/features/ee/payments/components/PaymentPage.tsx b/packages/features/ee/payments/components/PaymentPage.tsx index 12eca7bd195ea5..10a249a238bcef 100644 --- a/packages/features/ee/payments/components/PaymentPage.tsx +++ b/packages/features/ee/payments/components/PaymentPage.tsx @@ -73,7 +73,7 @@ const PaymentPage: FC = (props) => {
= (props) => {
-
{t("what")}
@@ -108,8 +106,10 @@ const PaymentPage: FC = (props) => {
)} -
{t("price")}
-
+
+ {props.payment.paymentOption === "HOLD" ? t("no_show_fee") : t("price")} +
+
refunded: true, bookingId: true, appId: true, + amount: true, + currency: true, + paymentOption: true, booking: { select: { id: true, @@ -87,7 +90,7 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) => const { data, booking: _booking, ...restPayment } = rawPayment; const payment = { ...restPayment, - data: data as unknown as StripePaymentData, + data: data as unknown as StripePaymentData | StripeSetupIntentData, }; if (!_booking) return { notFound: true }; diff --git a/packages/features/ee/sso/page/teams-sso-view.tsx b/packages/features/ee/sso/page/teams-sso-view.tsx index 0b8bb1017df704..fb74262ddee18f 100644 --- a/packages/features/ee/sso/page/teams-sso-view.tsx +++ b/packages/features/ee/sso/page/teams-sso-view.tsx @@ -41,7 +41,7 @@ const SAMLSSO = () => { } return ( -
+
diff --git a/packages/features/ee/sso/page/user-sso-view.tsx b/packages/features/ee/sso/page/user-sso-view.tsx index 441ce9efefd4e0..2efe49935529b2 100644 --- a/packages/features/ee/sso/page/user-sso-view.tsx +++ b/packages/features/ee/sso/page/user-sso-view.tsx @@ -19,7 +19,7 @@ const SAMLSSO = () => { }, []); return ( -
+
diff --git a/packages/features/ee/workflows/components/EventWorkflowsTab.tsx b/packages/features/ee/workflows/components/EventWorkflowsTab.tsx index 7fb190f52b1f27..c137bb3a60ded6 100644 --- a/packages/features/ee/workflows/components/EventWorkflowsTab.tsx +++ b/packages/features/ee/workflows/components/EventWorkflowsTab.tsx @@ -98,7 +98,7 @@ const WorkflowListItem = (props: ItemProps) => { }); return ( -
+
{getActionIcon( workflow.steps, diff --git a/packages/features/schedules/components/DateOverrideList.tsx b/packages/features/schedules/components/DateOverrideList.tsx index f033b822bed7fc..02d25a7454aaaf 100644 --- a/packages/features/schedules/components/DateOverrideList.tsx +++ b/packages/features/schedules/components/DateOverrideList.tsx @@ -53,7 +53,7 @@ const DateOverrideList = ({ }; return ( -
    +
      {items.sort(sortByDate).map((item, index) => (
    • diff --git a/packages/features/schedules/components/Schedule.tsx b/packages/features/schedules/components/Schedule.tsx index d4d1ce9e6a2d0e..3a550f433951e6 100644 --- a/packages/features/schedules/components/Schedule.tsx +++ b/packages/features/schedules/components/Schedule.tsx @@ -52,7 +52,7 @@ const ScheduleDay = ({ const watchDayRange = watch(name); return ( -
      +
      {/* Label & switch container */}
      @@ -179,7 +179,7 @@ export const DayRanges = ({
      {fields.map((field, index: number) => ( -
      +
      } /> {index === 0 && (
      )}
      -
      +
      {React.createElement( descriptionAsLabel ? "label" : "div", { @@ -45,7 +46,7 @@ const CheckboxField = forwardRef( ), }, <> -
      +
      ( )} />
      - {description} + {description} )} {/* {informationIconText && } */} From 960aa0e00bf5c029a1a333d19fc7bae3e093d12f Mon Sep 17 00:00:00 2001 From: Alex van Andel Date: Wed, 12 Apr 2023 00:10:27 +0200 Subject: [PATCH 08/13] v2.7.14 --- apps/web/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/package.json b/apps/web/package.json index aa3ffa6d39e566..06056fcf976894 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@calcom/web", - "version": "2.7.13", + "version": "2.7.14", "private": true, "scripts": { "analyze": "ANALYZE=true next build", From d61f50724ba19e741117948d4b1ab9c95d6fe871 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Tue, 11 Apr 2023 22:14:21 +0000 Subject: [PATCH 09/13] New Crowdin translations by Github Action --- apps/web/public/static/locales/fr/common.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/web/public/static/locales/fr/common.json b/apps/web/public/static/locales/fr/common.json index 0d4abdfdad8b0a..91e4180c17d62e 100644 --- a/apps/web/public/static/locales/fr/common.json +++ b/apps/web/public/static/locales/fr/common.json @@ -1695,5 +1695,6 @@ "clear_filters": "Effacer les filtres", "insights": "Insights", "insights_no_data_found_for_filter": "Aucune donnée trouvée pour le filtre ou les dates sélectionnés.", + "card_details": "Détails de la carte", "email_invite_team": "{{email}} a été invité" } From f6f257c70597b6ced2ff15b54d3476f44d5ac4ff Mon Sep 17 00:00:00 2001 From: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Date: Tue, 11 Apr 2023 21:56:43 -0400 Subject: [PATCH 10/13] Refactor app store & fix admin apps list bugs (#7812) * If omni install do not show app successfully installed toast * Clean up. Up to hubspot * Fix double click to enable apps * Clean up rest of apps * Create cli app add dirName * Type fix * Only enable apps if keys are valid * Save dirName as slug * Remove dirname from metadata --------- Co-authored-by: zomars --- packages/app-store-cli/src/core.ts | 1 + .../app-store/_utils/useAddAppMutation.ts | 4 ++-- packages/app-store/amie/config.json | 3 ++- .../components/InstallAppButton.tsx | 18 ------------------ .../applecalendar/components/index.ts | 1 - packages/app-store/apps.browser.generated.tsx | 17 ----------------- .../around/components/InstallAppButton.tsx | 18 ------------------ packages/app-store/around/components/index.ts | 1 - .../app-store/caldavcalendar/_metadata.ts | 1 - .../components/InstallAppButton.tsx | 18 ------------------ .../caldavcalendar/components/index.ts | 1 - packages/app-store/caldavcalendar/index.ts | 1 + .../closecom/components/InstallAppButton.tsx | 18 ------------------ .../app-store/closecom/components/index.ts | 1 - .../components/InstallAppButton.tsx | 18 ------------------ .../exchangecalendar/components/index.ts | 1 - .../components/InstallAppButton.tsx | 18 ------------------ .../googlecalendar/components/index.ts | 1 - .../hubspot/components/InstallAppButton.tsx | 18 ------------------ .../app-store/hubspot/components/index.ts | 1 - .../components/InstallAppButton.tsx | 18 ------------------ .../huddle01video/components/index.ts | 1 - .../components/InstallAppButton.tsx | 18 ------------------ .../app-store/jitsivideo/components/index.ts | 1 - .../components/InstallAppButton.tsx | 18 ------------------ .../larkcalendar/components/index.ts | 1 - .../app-store/office365calendar/_metadata.ts | 1 - .../components/InstallAppButton.tsx | 18 ------------------ .../office365calendar/components/index.ts | 1 - packages/app-store/office365video/config.json | 3 ++- .../riverside/components/InstallAppButton.tsx | 18 ------------------ .../app-store/riverside/components/index.ts | 1 - .../components/InstallAppButton.tsx | 18 ------------------ .../app-store/tandemvideo/components/index.ts | 1 - .../whereby/components/InstallAppButton.tsx | 18 ------------------ .../app-store/whereby/components/index.ts | 1 - .../components/InstallAppButton.tsx | 18 ------------------ .../zapier/components/InstallAppButton.tsx | 18 ------------------ packages/app-store/zapier/components/index.ts | 1 - .../zoomvideo/components/InstallAppButton.tsx | 18 ------------------ .../app-store/zoomvideo/components/index.ts | 1 - packages/features/apps/AdminAppsList.tsx | 19 ++++++++++++++++--- packages/trpc/server/routers/viewer/apps.tsx | 10 +++++++--- packages/types/App.d.ts | 4 ++++ 44 files changed, 35 insertions(+), 351 deletions(-) delete mode 100644 packages/app-store/applecalendar/components/InstallAppButton.tsx delete mode 100644 packages/app-store/applecalendar/components/index.ts delete mode 100644 packages/app-store/around/components/InstallAppButton.tsx delete mode 100644 packages/app-store/around/components/index.ts delete mode 100644 packages/app-store/caldavcalendar/components/InstallAppButton.tsx delete mode 100644 packages/app-store/caldavcalendar/components/index.ts delete mode 100644 packages/app-store/closecom/components/InstallAppButton.tsx delete mode 100644 packages/app-store/closecom/components/index.ts delete mode 100644 packages/app-store/exchangecalendar/components/InstallAppButton.tsx delete mode 100644 packages/app-store/exchangecalendar/components/index.ts delete mode 100644 packages/app-store/googlecalendar/components/InstallAppButton.tsx delete mode 100644 packages/app-store/googlecalendar/components/index.ts delete mode 100644 packages/app-store/hubspot/components/InstallAppButton.tsx delete mode 100644 packages/app-store/hubspot/components/index.ts delete mode 100644 packages/app-store/huddle01video/components/InstallAppButton.tsx delete mode 100644 packages/app-store/huddle01video/components/index.ts delete mode 100644 packages/app-store/jitsivideo/components/InstallAppButton.tsx delete mode 100644 packages/app-store/jitsivideo/components/index.ts delete mode 100644 packages/app-store/larkcalendar/components/InstallAppButton.tsx delete mode 100644 packages/app-store/larkcalendar/components/index.ts delete mode 100644 packages/app-store/office365calendar/components/InstallAppButton.tsx delete mode 100644 packages/app-store/office365calendar/components/index.ts delete mode 100644 packages/app-store/riverside/components/InstallAppButton.tsx delete mode 100644 packages/app-store/riverside/components/index.ts delete mode 100644 packages/app-store/tandemvideo/components/InstallAppButton.tsx delete mode 100644 packages/app-store/tandemvideo/components/index.ts delete mode 100644 packages/app-store/whereby/components/InstallAppButton.tsx delete mode 100644 packages/app-store/whereby/components/index.ts delete mode 100644 packages/app-store/wipemycalother/components/InstallAppButton.tsx delete mode 100644 packages/app-store/zapier/components/InstallAppButton.tsx delete mode 100644 packages/app-store/zapier/components/index.ts delete mode 100644 packages/app-store/zoomvideo/components/InstallAppButton.tsx delete mode 100644 packages/app-store/zoomvideo/components/index.ts diff --git a/packages/app-store-cli/src/core.ts b/packages/app-store-cli/src/core.ts index e19dda35e494e0..7c06fbf1728411 100644 --- a/packages/app-store-cli/src/core.ts +++ b/packages/app-store-cli/src/core.ts @@ -112,6 +112,7 @@ export const BaseAppFork = { isTemplate, // Store the template used to create an app __template: template, + dirName: slug, }; const currentConfig = JSON.parse(fs.readFileSync(`${appDirPath}/config.json`).toString()); config = { diff --git a/packages/app-store/_utils/useAddAppMutation.ts b/packages/app-store/_utils/useAddAppMutation.ts index 48dc918af03359..3bfd2770cc5fb5 100644 --- a/packages/app-store/_utils/useAddAppMutation.ts +++ b/packages/app-store/_utils/useAddAppMutation.ts @@ -73,7 +73,7 @@ function useAddAppMutation(_type: App["type"] | null, allOptions?: UseAddAppMuta if (!isOmniInstall) { gotoUrl(json.url, json.newTab); - return; + return { setupPending: externalUrl || json.url.endsWith("/setup") }; } // Skip redirection only if it is an OmniInstall and redirect URL isn't of some other origin @@ -83,7 +83,7 @@ function useAddAppMutation(_type: App["type"] | null, allOptions?: UseAddAppMuta if (externalUrl) { // TODO: For Omni installation to authenticate and come back to the page where installation was initiated, some changes need to be done in all apps' add callbacks gotoUrl(json.url, json.newTab); - return; + return { setupPending: externalUrl }; } return { setupPending: externalUrl || json.url.endsWith("/setup") }; diff --git a/packages/app-store/amie/config.json b/packages/app-store/amie/config.json index 512bcadeca343c..b83e145802c7bc 100644 --- a/packages/app-store/amie/config.json +++ b/packages/app-store/amie/config.json @@ -12,5 +12,6 @@ "email": "support@cal.com", "description": "The joyful productivity app\r\r", "__createdUsingCli": true, - "dependencies": ["google-calendar"] + "dependencies": ["google-calendar"], + "dirName": "amie" } diff --git a/packages/app-store/applecalendar/components/InstallAppButton.tsx b/packages/app-store/applecalendar/components/InstallAppButton.tsx deleted file mode 100644 index 70d8acf427517e..00000000000000 --- a/packages/app-store/applecalendar/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("apple_calendar"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/applecalendar/components/index.ts b/packages/app-store/applecalendar/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/applecalendar/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/apps.browser.generated.tsx b/packages/app-store/apps.browser.generated.tsx index 04b0adc9df0ecd..4dd1597af48822 100644 --- a/packages/app-store/apps.browser.generated.tsx +++ b/packages/app-store/apps.browser.generated.tsx @@ -5,27 +5,10 @@ import dynamic from "next/dynamic"; export const InstallAppButtonMap = { - applecalendar: dynamic(() => import("./applecalendar/components/InstallAppButton")), - around: dynamic(() => import("./around/components/InstallAppButton")), - caldavcalendar: dynamic(() => import("./caldavcalendar/components/InstallAppButton")), - closecom: dynamic(() => import("./closecom/components/InstallAppButton")), exchange2013calendar: dynamic(() => import("./exchange2013calendar/components/InstallAppButton")), exchange2016calendar: dynamic(() => import("./exchange2016calendar/components/InstallAppButton")), - exchangecalendar: dynamic(() => import("./exchangecalendar/components/InstallAppButton")), - googlecalendar: dynamic(() => import("./googlecalendar/components/InstallAppButton")), - hubspot: dynamic(() => import("./hubspot/components/InstallAppButton")), - huddle01video: dynamic(() => import("./huddle01video/components/InstallAppButton")), - jitsivideo: dynamic(() => import("./jitsivideo/components/InstallAppButton")), - larkcalendar: dynamic(() => import("./larkcalendar/components/InstallAppButton")), - office365calendar: dynamic(() => import("./office365calendar/components/InstallAppButton")), office365video: dynamic(() => import("./office365video/components/InstallAppButton")), - riverside: dynamic(() => import("./riverside/components/InstallAppButton")), - tandemvideo: dynamic(() => import("./tandemvideo/components/InstallAppButton")), vital: dynamic(() => import("./vital/components/InstallAppButton")), - whereby: dynamic(() => import("./whereby/components/InstallAppButton")), - wipemycalother: dynamic(() => import("./wipemycalother/components/InstallAppButton")), - zapier: dynamic(() => import("./zapier/components/InstallAppButton")), - zoomvideo: dynamic(() => import("./zoomvideo/components/InstallAppButton")), }; export const AppSettingsComponentsMap = { "general-app-settings": dynamic(() => diff --git a/packages/app-store/around/components/InstallAppButton.tsx b/packages/app-store/around/components/InstallAppButton.tsx deleted file mode 100644 index 454d10eb7b3199..00000000000000 --- a/packages/app-store/around/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("around_video"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/around/components/index.ts b/packages/app-store/around/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/around/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/caldavcalendar/_metadata.ts b/packages/app-store/caldavcalendar/_metadata.ts index 89b6416a4151d3..ba13cf77e76c95 100644 --- a/packages/app-store/caldavcalendar/_metadata.ts +++ b/packages/app-store/caldavcalendar/_metadata.ts @@ -21,7 +21,6 @@ export const metadata = { url: "https://cal.com/", verified: true, email: "ali@cal.com", - dirName: "caldavcalendar", } as AppMeta; export default metadata; diff --git a/packages/app-store/caldavcalendar/components/InstallAppButton.tsx b/packages/app-store/caldavcalendar/components/InstallAppButton.tsx deleted file mode 100644 index 5cff6a6206eb64..00000000000000 --- a/packages/app-store/caldavcalendar/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("caldav_calendar"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/caldavcalendar/components/index.ts b/packages/app-store/caldavcalendar/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/caldavcalendar/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/caldavcalendar/index.ts b/packages/app-store/caldavcalendar/index.ts index bca520a8ecee1b..4ef9330ee845b6 100644 --- a/packages/app-store/caldavcalendar/index.ts +++ b/packages/app-store/caldavcalendar/index.ts @@ -21,6 +21,7 @@ export const metadata = { url: "https://cal.com/", verified: true, email: "help@cal.com", + dirName: "caldavcalendar", } as App; export * as api from "./api"; diff --git a/packages/app-store/closecom/components/InstallAppButton.tsx b/packages/app-store/closecom/components/InstallAppButton.tsx deleted file mode 100644 index 8aab36df70e932..00000000000000 --- a/packages/app-store/closecom/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("closecom_other_calendar"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/closecom/components/index.ts b/packages/app-store/closecom/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/closecom/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/exchangecalendar/components/InstallAppButton.tsx b/packages/app-store/exchangecalendar/components/InstallAppButton.tsx deleted file mode 100644 index 3e9fa7826981a5..00000000000000 --- a/packages/app-store/exchangecalendar/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("exchange_calendar"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/exchangecalendar/components/index.ts b/packages/app-store/exchangecalendar/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/exchangecalendar/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/googlecalendar/components/InstallAppButton.tsx b/packages/app-store/googlecalendar/components/InstallAppButton.tsx deleted file mode 100644 index f059a138eb1c0e..00000000000000 --- a/packages/app-store/googlecalendar/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("google_calendar"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/googlecalendar/components/index.ts b/packages/app-store/googlecalendar/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/googlecalendar/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/hubspot/components/InstallAppButton.tsx b/packages/app-store/hubspot/components/InstallAppButton.tsx deleted file mode 100644 index 459c786f44ffce..00000000000000 --- a/packages/app-store/hubspot/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("hubspot_other_calendar"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/hubspot/components/index.ts b/packages/app-store/hubspot/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/hubspot/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/huddle01video/components/InstallAppButton.tsx b/packages/app-store/huddle01video/components/InstallAppButton.tsx deleted file mode 100644 index e1b7ddf69a6124..00000000000000 --- a/packages/app-store/huddle01video/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("huddle01_video"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/huddle01video/components/index.ts b/packages/app-store/huddle01video/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/huddle01video/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/jitsivideo/components/InstallAppButton.tsx b/packages/app-store/jitsivideo/components/InstallAppButton.tsx deleted file mode 100644 index 048c5d970066be..00000000000000 --- a/packages/app-store/jitsivideo/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("jitsi_video"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/jitsivideo/components/index.ts b/packages/app-store/jitsivideo/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/jitsivideo/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/larkcalendar/components/InstallAppButton.tsx b/packages/app-store/larkcalendar/components/InstallAppButton.tsx deleted file mode 100644 index fb58420a3096e8..00000000000000 --- a/packages/app-store/larkcalendar/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("lark_calendar"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/larkcalendar/components/index.ts b/packages/app-store/larkcalendar/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/larkcalendar/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/office365calendar/_metadata.ts b/packages/app-store/office365calendar/_metadata.ts index 42d45f7723fee1..4c6dcb92ca6f61 100644 --- a/packages/app-store/office365calendar/_metadata.ts +++ b/packages/app-store/office365calendar/_metadata.ts @@ -20,7 +20,6 @@ export const metadata = { url: "https://cal.com/", verified: true, email: "help@cal.com", - dirName: "office365calendar", } as AppMeta; export default metadata; diff --git a/packages/app-store/office365calendar/components/InstallAppButton.tsx b/packages/app-store/office365calendar/components/InstallAppButton.tsx deleted file mode 100644 index 76b2bc355a15f1..00000000000000 --- a/packages/app-store/office365calendar/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("office365_calendar"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/office365calendar/components/index.ts b/packages/app-store/office365calendar/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/office365calendar/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/office365video/config.json b/packages/app-store/office365video/config.json index b29650927e8c3d..6f0ba838e3317b 100644 --- a/packages/app-store/office365video/config.json +++ b/packages/app-store/office365video/config.json @@ -22,5 +22,6 @@ "type": "integrations:office365_video", "label": "MS Teams" } - } + }, + "dirName": "office365video" } diff --git a/packages/app-store/riverside/components/InstallAppButton.tsx b/packages/app-store/riverside/components/InstallAppButton.tsx deleted file mode 100644 index 59c84fda451e2d..00000000000000 --- a/packages/app-store/riverside/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("riverside_video"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/riverside/components/index.ts b/packages/app-store/riverside/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/riverside/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/tandemvideo/components/InstallAppButton.tsx b/packages/app-store/tandemvideo/components/InstallAppButton.tsx deleted file mode 100644 index 3a1492866cc957..00000000000000 --- a/packages/app-store/tandemvideo/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("tandem_video"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/tandemvideo/components/index.ts b/packages/app-store/tandemvideo/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/tandemvideo/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/whereby/components/InstallAppButton.tsx b/packages/app-store/whereby/components/InstallAppButton.tsx deleted file mode 100644 index 7ba763e1a35f70..00000000000000 --- a/packages/app-store/whereby/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("whereby_video"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/whereby/components/index.ts b/packages/app-store/whereby/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/whereby/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/wipemycalother/components/InstallAppButton.tsx b/packages/app-store/wipemycalother/components/InstallAppButton.tsx deleted file mode 100644 index 2c755ed4ae31fd..00000000000000 --- a/packages/app-store/wipemycalother/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("wipemycal_other"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/zapier/components/InstallAppButton.tsx b/packages/app-store/zapier/components/InstallAppButton.tsx deleted file mode 100644 index e3b85e611b4e94..00000000000000 --- a/packages/app-store/zapier/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("zapier_automation"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/zapier/components/index.ts b/packages/app-store/zapier/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/zapier/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/app-store/zoomvideo/components/InstallAppButton.tsx b/packages/app-store/zoomvideo/components/InstallAppButton.tsx deleted file mode 100644 index 12d090fbe09d15..00000000000000 --- a/packages/app-store/zoomvideo/components/InstallAppButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { InstallAppButtonProps } from "@calcom/app-store/types"; - -import useAddAppMutation from "../../_utils/useAddAppMutation"; - -export default function InstallAppButton(props: InstallAppButtonProps) { - const mutation = useAddAppMutation("zoom_video"); - - return ( - <> - {props.render({ - onClick() { - mutation.mutate(""); - }, - loading: mutation.isLoading, - })} - - ); -} diff --git a/packages/app-store/zoomvideo/components/index.ts b/packages/app-store/zoomvideo/components/index.ts deleted file mode 100644 index 0d6008d4caa103..00000000000000 --- a/packages/app-store/zoomvideo/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as InstallAppButton } from "./InstallAppButton"; diff --git a/packages/features/apps/AdminAppsList.tsx b/packages/features/apps/AdminAppsList.tsx index 03179288a76f98..8f04731c557e2e 100644 --- a/packages/features/apps/AdminAppsList.tsx +++ b/packages/features/apps/AdminAppsList.tsx @@ -49,7 +49,7 @@ const IntegrationContainer = ({ const utils = trpc.useContext(); const [disableDialog, setDisableDialog] = useState(false); - const showKeyModal = () => { + const showKeyModal = (fromEnabled?: boolean) => { // FIXME: This is preventing the modal from opening for apps that has null keys if (app.keys) { handleModelOpen({ @@ -58,6 +58,8 @@ const IntegrationContainer = ({ slug: app.slug, type: app.type, isOpen: "editKeys", + fromEnabled, + appName: app.name, }); } }; @@ -99,6 +101,8 @@ const IntegrationContainer = ({ onClick={() => { if (app.enabled) { setDisableDialog(true); + } else if (app.keys) { + showKeyModal(true); } else { enableAppMutation.mutate({ slug: app.slug, enabled: app.enabled }); } @@ -179,9 +183,12 @@ const EditKeysModal: FC<{ isOpen: boolean; keys: App["keys"]; handleModelClose: () => void; + fromEnabled?: boolean; + appName?: string; }> = (props) => { + const utils = trpc.useContext(); const { t } = useLocale(); - const { dirName, slug, type, isOpen, keys, handleModelClose } = props; + const { dirName, slug, type, isOpen, keys, handleModelClose, fromEnabled, appName } = props; const appKeySchema = appKeysSchemas[dirName as keyof typeof appKeysSchemas]; const formMethods = useForm({ @@ -190,7 +197,8 @@ const EditKeysModal: FC<{ const saveKeysMutation = trpc.viewer.appsRouter.saveKeys.useMutation({ onSuccess: () => { - showToast(t("keys_have_been_saved"), "success"); + showToast(fromEnabled ? t("app_is_enabled", { appName }) : t("keys_have_been_saved"), "success"); + utils.viewer.appsRouter.listLocal.invalidate(); handleModelClose(); }, onError: (error) => { @@ -211,6 +219,7 @@ const EditKeysModal: FC<{ type, keys: values, dirName, + fromEnabled, }) } className="px-4 pb-4"> @@ -251,6 +260,8 @@ interface EditModalState extends Pick { dirName: string; type: string; slug: string; + fromEnabled?: boolean; + appName?: string; } const AdminAppsListContainer = () => { @@ -310,6 +321,8 @@ const AdminAppsListContainer = () => { isOpen={modalState.isOpen === "editKeys"} slug={modalState.slug} type={modalState.type} + fromEnabled={modalState.fromEnabled} + appName={modalState.appName} /> ); diff --git a/packages/trpc/server/routers/viewer/apps.tsx b/packages/trpc/server/routers/viewer/apps.tsx index 1c8962ee2599c3..b2e1fb71ce5312 100644 --- a/packages/trpc/server/routers/viewer/apps.tsx +++ b/packages/trpc/server/routers/viewer/apps.tsx @@ -135,10 +135,11 @@ export const appsRouter = router({ ([appMetadata?.category] as AppCategories[]) || undefined, keys: undefined, + enabled: !input.enabled, }, }); - // If disabling an app then we need to alert users basesd on the app type + // If disabling an app then we need to alert users based on the app type if (input.enabled) { if (app.categories.some((category) => ["calendar", "video"].includes(category))) { // Find all users with the app credentials @@ -240,10 +241,12 @@ export const appsRouter = router({ type: z.string(), // Validate w/ app specific schema keys: z.unknown(), + fromEnabled: z.boolean().optional(), }) ) .mutation(async ({ ctx, input }) => { - const appKey = deriveAppDictKeyFromType(input.type, appKeysSchemas); + let appKey = deriveAppDictKeyFromType(input.type, appKeysSchemas); + if (!appKey) appKey = deriveAppDictKeyFromType(input.slug, appKeysSchemas); const keysSchema = appKeysSchemas[appKey as keyof typeof appKeysSchemas]; const keys = keysSchema.parse(input.keys); @@ -258,7 +261,7 @@ export const appsRouter = router({ where: { slug: input.slug, }, - update: { keys }, + update: { keys, ...(input.fromEnabled && { enabled: true }) }, create: { slug: input.slug, dirName: appMetadata?.dirName || appMetadata?.slug || "", @@ -267,6 +270,7 @@ export const appsRouter = router({ ([appMetadata?.category] as AppCategories[]) || undefined, keys: (input.keys as Prisma.InputJsonObject) || undefined, + ...(input.fromEnabled && { enabled: true }), }, }); }), diff --git a/packages/types/App.d.ts b/packages/types/App.d.ts index 79fba3c7294185..de0862634cf4ae 100644 --- a/packages/types/App.d.ts +++ b/packages/types/App.d.ts @@ -135,6 +135,10 @@ export interface App { licenseRequired?: boolean; isProOnly?: boolean; appData?: AppData; + /** + * @deprecated + * Used only by legacy apps which had slug different from their directory name. + */ dirName?: string; isTemplate?: boolean; __template?: string; From c0f7c40bec9c6909b31ea115469061de101f065b Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Wed, 12 Apr 2023 01:57:27 +0000 Subject: [PATCH 11/13] New Crowdin translations by Github Action --- apps/web/public/static/locales/fr/common.json | 51 +++++++++++++------ 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/apps/web/public/static/locales/fr/common.json b/apps/web/public/static/locales/fr/common.json index 91e4180c17d62e..7e66503b9dd10c 100644 --- a/apps/web/public/static/locales/fr/common.json +++ b/apps/web/public/static/locales/fr/common.json @@ -10,8 +10,8 @@ "calcom_explained_new_user": "Terminez la configuration de votre compte {{appName}} ! Vous n'êtes qu'à quelques pas de résoudre tous vos problèmes de planification.", "have_any_questions": "Vous avez des questions ? Nous sommes là pour vous aider.", "reset_password_subject": "{{appName}} : Instructions de réinitialisation de mot de passe", - "event_declined_subject": "Refusé : {{title}} à {{date}}", - "event_cancelled_subject": "Annulé : {{title}} à {{date}}", + "event_declined_subject": "Refusé : {{title}} le {{date}}", + "event_cancelled_subject": "Annulé : {{title}} le {{date}}", "event_request_declined": "Votre demande d'événement a été refusée", "event_request_declined_recurring": "Votre demande d'événement récurrent a été refusée", "event_request_cancelled": "Votre événement planifié a été annulé", @@ -66,11 +66,11 @@ "someone_requested_an_event": "Quelqu'un a demandé à planifier un événement sur votre calendrier.", "someone_requested_password_reset": "Quelqu'un a demandé un lien pour modifier votre mot de passe.", "password_reset_instructions": "Si vous n'en avez pas fait la demande, vous pouvez ignorer cet e-mail en toute sécurité et votre mot de passe ne sera pas modifié.", - "event_awaiting_approval_subject": "En attente de validation : {{title}} à {{date}}", + "event_awaiting_approval_subject": "En attente de validation : {{title}} le {{date}}", "event_still_awaiting_approval": "Un événement est toujours en attente de votre validation", - "booking_submitted_subject": "Réservation confirmée : {{eventType}} avec {{name}} le {{date}}", + "booking_submitted_subject": "Réservation confirmée : {{title}} le {{date}}", "your_meeting_has_been_booked": "Votre rendez-vous a été réservé", - "event_type_has_been_rescheduled_on_time_date": "Votre {{title}} a été replanifié à {{date}}", + "event_type_has_been_rescheduled_on_time_date": "Votre {{title}} a été replanifié le {{date}}", "event_has_been_rescheduled": "Mise à jour - Votre événement a été replanifié", "request_reschedule_title_attendee": "Demander à replanifier votre réservation", "request_reschedule_subtitle": "{{organizer}} a annulé la réservation et vous a demandé de choisir un autre moment.", @@ -944,7 +944,7 @@ "impersonating_user_warning": "Emprunt du nom d'utilisateur « {{user}} ».", "impersonating_stop_instructions": "Cliquez ici pour arrêter", "event_location_changed": "Mise à jour - Votre événement a changé de lieu", - "location_changed_event_type_subject": "Lieu modifié : {{eventType}} avec {{name}} à {{date}}", + "location_changed_event_type_subject": "Lieu modifié : {{eventType}} avec {{name}} le {{date}}", "current_location": "Lieu actuel", "user_phone": "Votre numéro de téléphone", "new_location": "Nouveau lieu", @@ -1120,8 +1120,8 @@ "close": "Fermer", "upgrade": "Mettre à niveau", "upgrade_to_access_recordings_title": "Mettez à niveau pour accéder aux enregistrements", - "upgrade_to_access_recordings_description": "Les enregistrements ne sont disponibles que dans le plan d'équipes. Mettez à niveau pour commencer à enregistrer vos appels.", - "recordings_are_part_of_the_teams_plan": "Les enregistrements font partie du plan d'équipes", + "upgrade_to_access_recordings_description": "Les enregistrements ne sont disponibles que dans le plan Équipes. Mettez à niveau pour commencer à enregistrer vos appels.", + "recordings_are_part_of_the_teams_plan": "Les enregistrements font partie du plan Équipes", "team_feature_teams": "Ceci est une fonctionnalité d'équipe. Mettez à jour vers le plan Équipes pour voir les disponibilités de votre équipe.", "team_feature_workflows": "Ceci est une fonctionnalité d'équipe. Mettez à jour vers le plan Équipes pour automatiser vos notifications et rappels d'événements avec les workflows.", "show_eventtype_on_profile": "Afficher sur le profil", @@ -1649,13 +1649,13 @@ "add_1_option_per_line": "Ajouter une option par ligne", "select_a_router": "Sélectionner un routeur", "add_a_new_route": "Ajouter une nouvelle route", - "make_informed_decisions": "Prenez des décisions éclairées avec Insights", - "make_informed_decisions_description": "Notre tableau de bord Insights analyse toute l'activité de votre équipe et vous révèle les tendances qui permettent d'améliorer la planification et la prise de décision au sein de l'équipe.", - "view_bookings_across": "Voir les réservations de tous les membres", + "make_informed_decisions": "Prenez des décisions éclairées grâce aux statistiques", + "make_informed_decisions_description": "Notre tableau de bord de statistiques analyse toute l'activité de votre équipe et vous révèle les tendances qui permettent d'améliorer la planification et la prise de décision au sein de l'équipe.", + "view_bookings_across": "Visualisez les réservations de tous les membres", "view_bookings_across_description": "Découvrez qui reçoit le plus de réservations et assurez la meilleure répartition au sein de votre équipe.", - "identify_booking_trends": "Identifier les tendances de réservation", + "identify_booking_trends": "Identifiez les tendances de réservation", "identify_booking_trends_description": "Découvrez quels jours de la semaine et quelles heures de la journée sont populaires auprès de vos utilisateurs.", - "spot_popular_event_types": "Identifier les types d'événements populaires", + "spot_popular_event_types": "Identifiez les types d'événements populaires", "spot_popular_event_types_description": "Découvrez lesquels de vos types d'événements reçoivent le plus de clics et de réservations.", "no_responses_yet": "Aucune réponse pour l'instant", "this_will_be_the_placeholder": "Ce sera le texte de substitution", @@ -1688,13 +1688,34 @@ "events_rescheduled": "Événements replanifiés", "from_last_period": "depuis la dernière période", "from_to_date_period": "De : {{startDate}} À : {{endDate}}", - "analytics_for_organisation": "Insights", + "analytics_for_organisation": "Statistiques", "subtitle_analytics": "En savoir plus sur l'activité de votre équipe", "redirect_url_warning": "L'ajout d'une redirection désactivera la page de succès. Assurez-vous de mentionner « Réservation confirmée » sur votre page de succès personnalisée.", "event_trends": "Tendances de l'événement", "clear_filters": "Effacer les filtres", - "insights": "Insights", + "hold": "Retenir", + "on_booking_option": "Percevoir le paiement à la réservation", + "hold_option": "Facturer des frais d'absence", + "card_held": "Carte retenue", + "charge_card": "Débiter la carte", + "card_charged": "Carte débitée", + "no_show_fee_amount": "Frais d'absence de {{amount, currency}}", + "no_show_fee": "Frais d'absence", + "submit_card": "Soumettre la carte", + "submit_payment_information": "Soumettre les informations de paiement", + "meeting_awaiting_payment_method": "Votre rendez-vous est en attente d'un moyen de paiement", + "no_show_fee_charged_email_subject": "Frais d'absence de {{amount, currency}} facturés pour {{title}} le {{date}}", + "no_show_fee_charged_text_body": "Des frais d'absence ont été facturés", + "no_show_fee_charged_subtitle": "Des frais d'absence de {{amount, currency}} ont été facturés pour l'événement suivant", + "error_charging_card": "Une erreur s'est produite lors de la facturation des frais d'absence. Veuillez réessayer plus tard.", + "collect_no_show_fee": "Percevoir les frais d'absence", + "no_show_fee_charged": "Frais d'absence facturés", + "insights": "Statistiques", "insights_no_data_found_for_filter": "Aucune donnée trouvée pour le filtre ou les dates sélectionnés.", + "acknowledge_booking_no_show_fee": "Je reconnais que si je ne participe pas à cet événement, des frais d'absence de {{amount, currency}} seront appliqués à ma carte.", "card_details": "Détails de la carte", + "seats_and_no_show_fee_error": "Il n'est pas possible d'activer les places et de facturer des frais d'absence pour le moment", + "complete_your_booking": "Terminer votre réservation", + "complete_your_booking_subject": "Terminer votre réservation : {{title}} le {{date}}", "email_invite_team": "{{email}} a été invité" } From 46611fdf7705f4dbab41fe8848511e28d2d3ea1a Mon Sep 17 00:00:00 2001 From: Peer Richelsen Date: Wed, 12 Apr 2023 04:09:04 +0200 Subject: [PATCH 12/13] make routing form full width (#8215) --- .../components/FormInputFields.tsx | 46 +++++++++---------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/packages/app-store/routing-forms/components/FormInputFields.tsx b/packages/app-store/routing-forms/components/FormInputFields.tsx index ac688838e1ea63..ea37718d72aff7 100644 --- a/packages/app-store/routing-forms/components/FormInputFields.tsx +++ b/packages/app-store/routing-forms/components/FormInputFields.tsx @@ -44,30 +44,28 @@ export default function FormInputFields(props: Props) { {field.label}
      -
      - { - setResponse((response) => { - response = response || {}; - return { - ...response, - [field.id]: { - label: field.label, - value, - }, - }; - }); - }} - /> -
      + { + setResponse((response) => { + response = response || {}; + return { + ...response, + [field.id]: { + label: field.label, + value, + }, + }; + }); + }} + />
      ); })} From f45fb0383839b7df2204e21f3185ce0b8aa52b50 Mon Sep 17 00:00:00 2001 From: Peer Richelsen Date: Wed, 12 Apr 2023 10:42:41 +0200 Subject: [PATCH 13/13] wip: replaced dark border with border-subtle (#8211) --- apps/web/components/booking/pages/BookingPage.tsx | 6 +++--- apps/web/pages/team/[slug].tsx | 6 +++--- .../react-awesome-query-builder/config/config.tsx | 2 +- .../routing-forms/pages/routing-link/[...appPages].tsx | 4 ++-- packages/features/form-builder/Components.tsx | 8 ++++---- .../ui/components/form/selectimproved/components/Item.tsx | 8 ++++---- .../form/selectimproved/components/SearchInput.tsx | 2 +- .../components/form/selectimproved/components/Select.tsx | 6 +++--- packages/ui/form/AddressInput.tsx | 2 +- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/apps/web/components/booking/pages/BookingPage.tsx b/apps/web/components/booking/pages/BookingPage.tsx index dc93af6ab16b40..3a04588e0976b2 100644 --- a/apps/web/components/booking/pages/BookingPage.tsx +++ b/apps/web/components/booking/pages/BookingPage.tsx @@ -529,15 +529,15 @@ const BookingPage = ({ className={classNames( "main", isBackgroundTransparent ? "" : "dark:bg-darkgray-100 bg-default dark:border", - "dark:border-darkgray-300 rounded-md sm:border" + "border-subtle rounded-md sm:border" )}>
      {showEventTypeDetails && ( -
      +
      {!rescheduleUid && eventType.recurringEvent?.freq && recurringEventCount && ( -
      +

      {getEveryFreqFor({ diff --git a/apps/web/pages/team/[slug].tsx b/apps/web/pages/team/[slug].tsx index 68f0914d1acb5f..65b1d38dfa1330 100644 --- a/apps/web/pages/team/[slug].tsx +++ b/apps/web/pages/team/[slug].tsx @@ -55,12 +55,12 @@ function TeamPage({ team, isUnpublished }: TeamPageProps) { } const EventTypes = () => ( -

        +
          {team.eventTypes.map((type, index) => (
        • @@ -125,7 +125,7 @@ function TeamPage({ team, isUnpublished }: TeamPageProps) {