From ececef96e55c18887d4c5e8f5818d6e7351ae18c Mon Sep 17 00:00:00 2001 From: Hariom Balhara Date: Fri, 28 Jun 2024 17:36:59 +0530 Subject: [PATCH] feat: Support running webapp and embed-core playground on HTTPS. It allows to test SameSite cookie attribute easily in embed (#15272) * feat: Support running webapp and embed-core playground on HTTPS. It allows to test SameSite attribute easily in embed * Update yarn.lock * feat: Support running webapp and embed-core playground on HTTPS. It allows to test SameSite attribute easily in embed * Update yarn.lock * Fix git-setup.sh * Fix yarn.lock --- apps/web/.gitignore | 2 + apps/web/next.config.js | 14 ++ apps/web/package.json | 1 + packages/embeds/embed-core/index.html | 2 +- packages/embeds/embed-core/package.json | 5 +- packages/embeds/embed-core/playground.ts | 55 +++--- packages/embeds/embed-core/vite.config.js | 2 + yarn.lock | 224 +++++++++++++++++++--- 8 files changed, 254 insertions(+), 51 deletions(-) diff --git a/apps/web/.gitignore b/apps/web/.gitignore index 520a11d78c..3f657d09b5 100644 --- a/apps/web/.gitignore +++ b/apps/web/.gitignore @@ -68,3 +68,5 @@ public/embed # Copied app-store images public/app-store + +certificates \ No newline at end of file diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 4587fd03a0..0b5a9395bf 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -54,6 +54,20 @@ if (!process.env.NEXT_PUBLIC_API_V2_URL) { console.error("Please set NEXT_PUBLIC_API_V2_URL"); } +const getHttpsUrl = (url) => { + if (!url) return url; + if (url.startsWith("http://")) { + return url.replace("http://", "https://"); + } + return url; +}; + +if (process.argv.includes("--experimental-https")) { + process.env.NEXT_PUBLIC_WEBAPP_URL = getHttpsUrl(process.env.NEXT_PUBLIC_WEBAPP_URL); + process.env.NEXTAUTH_URL = getHttpsUrl(process.env.NEXTAUTH_URL); + process.env.NEXT_PUBLIC_EMBED_LIB_URL = getHttpsUrl(process.env.NEXT_PUBLIC_EMBED_LIB_URL); +} + const validJson = (jsonString) => { try { const o = JSON.parse(jsonString); diff --git a/apps/web/package.json b/apps/web/package.json index 93f9dee801..61e59440fb 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -8,6 +8,7 @@ "analyze:browser": "BUNDLE_ANALYZE=browser next build", "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf .next", "dev": "next dev", + "dev-https": "NODE_TLS_REJECT_UNAUTHORIZED=0 next dev --experimental-https", "dx": "yarn dev", "test-codegen": "yarn playwright codegen http://localhost:3000", "type-check": "tsc --pretty --noEmit", diff --git a/packages/embeds/embed-core/index.html b/packages/embeds/embed-core/index.html index 862a9886e4..2f9f7fcb08 100644 --- a/packages/embeds/embed-core/index.html +++ b/packages/embeds/embed-core/index.html @@ -389,6 +389,6 @@

Test Column View

- + diff --git a/packages/embeds/embed-core/package.json b/packages/embeds/embed-core/package.json index 44dd89314c..9b717df854 100644 --- a/packages/embeds/embed-core/package.json +++ b/packages/embeds/embed-core/package.json @@ -19,8 +19,10 @@ "build-preview": "PREVIEW_BUILD=1 yarn __build ", "vite": "vite", "tailwind": "yarn tailwindcss -i ./src/styles.css -o ./src/tailwind.generated.css", - "buildWatchAndServer": "run-p '__dev' 'vite --port 3100 --strict-port --open'", + "buildWatchAndServer": "run-p '__dev' 'vite --port 3100 --strict-port --host --open'", + "buildWatchAndServer-https": "run-p '__dev' 'vite --port 3100 --strict-port --host --open --https'", "dev": "yarn tailwind && run-p 'tailwind --watch' 'buildWatchAndServer'", + "dev-https": "yarn tailwind && run-p 'tailwind --watch' 'buildWatchAndServer-https'", "dev-real": "vite dev --port 3100", "type-check": "tsc --pretty --noEmit", "type-check:ci": "tsc-absolute --pretty --noEmit", @@ -45,6 +47,7 @@ }, "devDependencies": { "@playwright/test": "^1.31.2", + "@vitejs/plugin-basic-ssl": "^1.1.0", "autoprefixer": "^10.4.12", "npm-run-all": "^4.1.5", "postcss": "^8.4.18", diff --git a/packages/embeds/embed-core/playground.ts b/packages/embeds/embed-core/playground.ts index 3f481352de..8c09f504bb 100644 --- a/packages/embeds/embed-core/playground.ts +++ b/packages/embeds/embed-core/playground.ts @@ -6,6 +6,7 @@ const callback = function (e) { console.log("Event: ", e.type, detail); }; +const origin = `${new URL(document.URL).protocol}localhost:3000`; document.addEventListener("click", (e) => { const target = e.target as HTMLElement; if ("href" in target && typeof target.href === "string") { @@ -42,7 +43,7 @@ const calLink = searchParams.get("cal-link"); if (only === "all" || only === "ns:default") { Cal("init", { debug: true, - calOrigin: "http://localhost:3000", + calOrigin: origin, }); Cal("inline", { @@ -68,7 +69,7 @@ if (only === "all" || only === "ns:second") { // Create a namespace "second". It can be accessed as Cal.ns.second with the exact same API as Cal Cal("init", "second", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.second( @@ -95,7 +96,7 @@ if (only === "all" || only === "ns:third") { // Create a namespace "third". It can be accessed as Cal.ns.second with the exact same API as Cal Cal("init", "third", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.third( @@ -146,7 +147,7 @@ if (only === "all" || only === "ns:third") { if (only === "all" || only === "ns:fourth") { Cal("init", "fourth", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.fourth( [ @@ -190,7 +191,7 @@ if (only === "all" || only === "ns:fourth") { if (only === "all" || only === "ns:fifth") { Cal("init", "fifth", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.fifth([ "inline", @@ -215,7 +216,7 @@ if (only === "all" || only === "ns:fifth") { if (only === "all" || only === "prerender-test") { Cal("init", "e2ePrerenderLightTheme", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.e2ePrerenderLightTheme("prerender", { calLink: "free/30min", @@ -226,7 +227,7 @@ if (only === "all" || only === "prerender-test") { if (only === "all" || only === "preload-test") { Cal("init", "preloadTest", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.preloadTest("preload", { calLink: "free/30min", @@ -236,7 +237,7 @@ if (only === "all" || only === "preload-test") { if (only === "all" || only === "inline-routing-form") { Cal("init", "inline-routing-form", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns["inline-routing-form"]([ "inline", @@ -258,7 +259,7 @@ if (only === "all" || only === "hideEventTypeDetails") { const identifier = "hideEventTypeDetails"; Cal("init", identifier, { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.hideEventTypeDetails( @@ -288,7 +289,7 @@ if (only === "all" || only === "hideEventTypeDetails") { if (only === "conflicting-theme") { Cal("init", "conflictingTheme", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.conflictingTheme("inline", { @@ -309,17 +310,17 @@ if (only === "conflicting-theme") { Cal("init", "popupDarkTheme", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "e2ePopupLightTheme", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "popupHideEventTypeDetails", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.popupHideEventTypeDetails("ui", { @@ -328,52 +329,52 @@ Cal.ns.popupHideEventTypeDetails("ui", { Cal("init", "popupReschedule", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "popupAutoTheme", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "popupTeamLinkLightTheme", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "popupTeamLinkDarkTheme", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "popupTeamLinkDarkTheme", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "popupTeamLinksList", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "popupPaidEvent", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "childElementTarget", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "floatingButton", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal("init", "routingFormAuto", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.routingFormAuto("on", { @@ -387,7 +388,7 @@ Cal.ns.routingFormAuto("on", { Cal("init", "routingFormDark", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); if (only === "all" || only == "ns:floatingButton") { @@ -416,7 +417,7 @@ if (only === "all" || only == "ns:monthView") { // Create a namespace "second". It can be accessed as Cal.ns.second with the exact same API as Cal Cal("init", "monthView", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.monthView( @@ -444,7 +445,7 @@ if (only === "all" || only == "ns:weekView") { // Create a namespace "second". It can be accessed as Cal.ns.second with the exact same API as Cal Cal("init", "weekView", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.weekView( @@ -472,7 +473,7 @@ if (only === "all" || only == "ns:columnView") { // Create a namespace "second". It can be accessed as Cal.ns.second with the exact same API as Cal Cal("init", "columnView", { debug: true, - origin: "http://localhost:3000", + origin: origin, }); Cal.ns.columnView( diff --git a/packages/embeds/embed-core/vite.config.js b/packages/embeds/embed-core/vite.config.js index 8dea84ce5a..f9dccea4b7 100644 --- a/packages/embeds/embed-core/vite.config.js +++ b/packages/embeds/embed-core/vite.config.js @@ -1,3 +1,4 @@ +import basicSsl from "@vitejs/plugin-basic-ssl"; import EnvironmentPlugin from "vite-plugin-environment"; import viteBaseConfig, { embedCoreEnvVars } from "../vite.config"; @@ -15,6 +16,7 @@ module.exports = defineConfig((configEnv) => { EMBED_PUBLIC_VERCEL_URL: embedCoreEnvVars.EMBED_PUBLIC_VERCEL_URL, EMBED_PUBLIC_WEBAPP_URL: embedCoreEnvVars.EMBED_PUBLIC_WEBAPP_URL, }), + ...(process.argv.includes("--https") ? [basicSsl()] : []), ], build: { emptyOutDir: true, diff --git a/yarn.lock b/yarn.lock index 6f496fee47..31eb5ebbbd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4217,7 +4217,7 @@ __metadata: languageName: unknown linkType: soft -"@calcom/atoms@*, @calcom/atoms@workspace:packages/platform/atoms": +"@calcom/atoms@*, @calcom/atoms@workspace:^, @calcom/atoms@workspace:packages/platform/atoms": version: 0.0.0-use.local resolution: "@calcom/atoms@workspace:packages/platform/atoms" dependencies: @@ -4550,6 +4550,7 @@ __metadata: resolution: "@calcom/embed-core@workspace:packages/embeds/embed-core" dependencies: "@playwright/test": ^1.31.2 + "@vitejs/plugin-basic-ssl": ^1.1.0 autoprefixer: ^10.4.12 npm-run-all: ^4.1.5 postcss: ^8.4.18 @@ -5666,6 +5667,7 @@ __metadata: dependencies: "@algora/sdk": ^0.1.2 "@calcom/app-store": "*" + "@calcom/atoms": "workspace:^" "@calcom/config": "*" "@calcom/dayjs": "*" "@calcom/embed-react": "workspace:^" @@ -5711,6 +5713,7 @@ __metadata: "@vercel/og": ^0.5.0 autoprefixer: ^10.4.12 bcryptjs: ^2.4.3 + class-variance-authority: ^0.7.0 clsx: ^1.2.1 cobe: ^0.4.1 concurrently: ^7.6.0 @@ -5723,6 +5726,7 @@ __metadata: env-cmd: ^10.1.0 eslint: ^8.34.0 fathom-client: ^3.5.0 + framer-motion: ^11.0.25 globby: ^13.1.3 graphql: ^16.8.0 graphql-codegen: ^0.4.0 @@ -5732,7 +5736,7 @@ __metadata: i18n-unused: ^0.13.0 iframe-resizer-react: ^1.1.0 keen-slider: ^6.8.0 - lucide-react: ^0.171.0 + lucide-react: ^0.364.0 micro: ^10.0.1 next: ^14.1.3 next-auth: ^4.22.1 @@ -5744,7 +5748,7 @@ __metadata: prism-react-renderer: ^1.3.5 react: ^18.2.0 react-confetti: ^6.0.1 - react-datocms: ^3.1.0 + react-datocms: ^5.0.3 react-device-detect: ^2.2.2 react-dom: ^18.2.0 react-fast-marquee: ^1.6.4 @@ -5754,8 +5758,10 @@ __metadata: react-live-chat-loader: ^2.8.1 react-markdown: ^9.0.1 react-merge-refs: 1.1.0 + react-parallax-tilt: ^1.7.226 react-resize-detector: ^9.1.0 react-twemoji: ^0.3.0 + react-twitter-embed: ^4.0.4 react-use-measure: ^2.1.1 react-wrap-balancer: ^1.0.0 remark: ^14.0.2 @@ -9427,6 +9433,59 @@ __metadata: languageName: node linkType: hard +"@mux/mux-player-react@npm:*": + version: 2.7.0 + resolution: "@mux/mux-player-react@npm:2.7.0" + dependencies: + "@mux/mux-player": 2.7.0 + "@mux/playback-core": 0.24.0 + prop-types: ^15.7.2 + peerDependencies: + "@types/react": ^17.0.0 || ^18 + react: ^17.0.2 || ^18 + react-dom: ^17.0.2 || ^18 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 15ea8a8b9b2c82252e0647c22f8a1fbe7a04efaf1eb7aa61d10e4665b3dad45057c97c47cd04b8da42d02aad8288555feb9de98a8b9059b730420a8d12cada73 + languageName: node + linkType: hard + +"@mux/mux-player@npm:2.7.0": + version: 2.7.0 + resolution: "@mux/mux-player@npm:2.7.0" + dependencies: + "@mux/mux-video": 0.19.0 + "@mux/playback-core": 0.24.0 + media-chrome: ~3.2.1 + checksum: d3254c5d82f42d26e4ec3c27e50b6438a7dc74863381ddd9003bdc92947f6db4fc45b8caee21de9125aa80e71536268426d7159617dbace739de99f8f0ed259f + languageName: node + linkType: hard + +"@mux/mux-video@npm:0.19.0": + version: 0.19.0 + resolution: "@mux/mux-video@npm:0.19.0" + dependencies: + "@mux/playback-core": 0.24.0 + castable-video: ~1.0.6 + custom-media-element: ~1.2.3 + media-tracks: ~0.3.0 + checksum: 342d6f29fc60a9ea9694a8d794f679306e194f5de5d5cf85ed67391dce8d70330c9d78ee2681aee0e332ab1d2583a8a0174addf1182d0cf1c08fb85a01da849d + languageName: node + linkType: hard + +"@mux/playback-core@npm:0.24.0": + version: 0.24.0 + resolution: "@mux/playback-core@npm:0.24.0" + dependencies: + hls.js: ~1.5.8 + mux-embed: ~5.2.0 + checksum: b9783c05b1c009fb296a84de61d7b693fd81996bd35ef26aca7342a09eee476e4d8840fde1ef89273b01db2d4f3b57692101ae7bcc4cb5b15d4d6786bd0ba961 + languageName: node + linkType: hard + "@ndelangen/get-tarball@npm:^3.0.7": version: 3.0.9 resolution: "@ndelangen/get-tarball@npm:3.0.9" @@ -18278,6 +18337,15 @@ __metadata: languageName: node linkType: hard +"@vitejs/plugin-basic-ssl@npm:^1.1.0": + version: 1.1.0 + resolution: "@vitejs/plugin-basic-ssl@npm:1.1.0" + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + checksum: 1531eed619500d65c810c8077e1cb179204a303c7dea1cfff4de4959e29c397e1dc7a1d4b9feea2b87648a78a7b555108abc4b1c66923d89e699e9d717ea3a9a + languageName: node + linkType: hard + "@vitejs/plugin-react-swc@npm:^3.7.0": version: 3.7.0 resolution: "@vitejs/plugin-react-swc@npm:3.7.0" @@ -21406,6 +21474,15 @@ __metadata: languageName: node linkType: hard +"castable-video@npm:~1.0.6": + version: 1.0.10 + resolution: "castable-video@npm:1.0.10" + dependencies: + custom-media-element: ~1.3.2 + checksum: 5b7a27aacf305f40c6867e96e773f4290260f6eb8b01fe1f209506f8f6dec4cd099f3e35ee57de098829e4bcc688ccdc2cbb2fc86c509712dd573eadf66d42cc + languageName: node + linkType: hard + "ccount@npm:^2.0.0": version: 2.0.1 resolution: "ccount@npm:2.0.1" @@ -21870,6 +21947,15 @@ __metadata: languageName: node linkType: hard +"class-variance-authority@npm:^0.7.0": + version: 0.7.0 + resolution: "class-variance-authority@npm:0.7.0" + dependencies: + clsx: 2.0.0 + checksum: e7fd1fab433ef06f52a1b7b241b70b4a185864deef199d3b0a2c3412f1cc179517288264c383f3b971a00d76811625fc8f7ffe709e6170219e88cd7368f08a20 + languageName: node + linkType: hard + "classnames@npm:^2.2.5, classnames@npm:^2.2.6": version: 2.3.2 resolution: "classnames@npm:2.3.2" @@ -22142,6 +22228,13 @@ __metadata: languageName: node linkType: hard +"clsx@npm:2.0.0": + version: 2.0.0 + resolution: "clsx@npm:2.0.0" + checksum: a2cfb2351b254611acf92faa0daf15220f4cd648bdf96ce369d729813b85336993871a4bf6978ddea2b81b5a130478339c20d9d0b5c6fc287e5147f0c059276e + languageName: node + linkType: hard + "clsx@npm:^1.1.1": version: 1.1.1 resolution: "clsx@npm:1.1.1" @@ -23447,6 +23540,20 @@ __metadata: languageName: node linkType: hard +"custom-media-element@npm:~1.2.3": + version: 1.2.3 + resolution: "custom-media-element@npm:1.2.3" + checksum: da43680c35c870cd80ea02b9fce3efe25e9502c7088de5ab0e47ef2734aa9ce7e147c95f78a10abd4c13c47a81eae4712a7651ad18f87e023bc371082ba09842 + languageName: node + linkType: hard + +"custom-media-element@npm:~1.3.2": + version: 1.3.2 + resolution: "custom-media-element@npm:1.3.2" + checksum: 9ec2ff88c3c5ba7d20b9484c0359b4cfe08ad6804f3116934ffbae2f2e0e04d2a832beb6f0bec56027a969ab366727d217406f750890613c988de6de5330cb4f + languageName: node + linkType: hard + "d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:^3.1.6": version: 3.2.3 resolution: "d3-array@npm:3.2.3" @@ -27487,6 +27594,26 @@ __metadata: languageName: node linkType: hard +"framer-motion@npm:^11.0.25": + version: 11.2.11 + resolution: "framer-motion@npm:11.2.11" + dependencies: + tslib: ^2.4.0 + peerDependencies: + "@emotion/is-prop-valid": "*" + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + "@emotion/is-prop-valid": + optional: true + react: + optional: true + react-dom: + optional: true + checksum: a315e7f36eddf78d7a0a6edfb768e7de235bc34cffe4dabd294e7170646c1b4e2d8ff12797e6602ace8b232648196735d396b5e11d66b4b2ddb53b60d90132c0 + languageName: node + linkType: hard + "fresh@npm:0.5.2, fresh@npm:^0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" @@ -29159,6 +29286,13 @@ __metadata: languageName: node linkType: hard +"hls.js@npm:~1.5.8": + version: 1.5.11 + resolution: "hls.js@npm:1.5.11" + checksum: 04ce982633d33911005fe0d536ae11ffe966ee045fa29c3a06a700aa166d8743e9e500cfc768bf0562be6d124166ae1fb39d3acdae2bfbc69931d3c73ae85d2a + languageName: node + linkType: hard + "hmac-drbg@npm:^1.0.1": version: 1.0.1 resolution: "hmac-drbg@npm:1.0.1" @@ -33950,15 +34084,6 @@ __metadata: languageName: node linkType: hard -"lucide-react@npm:^0.171.0": - version: 0.171.0 - resolution: "lucide-react@npm:0.171.0" - peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 - checksum: 768ffe368c52a518ee339203d86ff4479989ab4d79c0716f721900c4bb7392ef6ff7a14807f6a685abd74d27f4c1778170bff77a0ab4c3e06c17944b557d8300 - languageName: node - linkType: hard - "lucide-react@npm:^0.364.0": version: 0.364.0 resolution: "lucide-react@npm:0.364.0" @@ -34527,6 +34652,20 @@ __metadata: languageName: node linkType: hard +"media-chrome@npm:~3.2.1": + version: 3.2.3 + resolution: "media-chrome@npm:3.2.3" + checksum: 073757ff6952045052f9c63fbb688ac8ff9f54787f5e26eaa52f47d72a8c53df65a1b62a30e2c7d90631c8c59a0ec2b960e746ab3e6dca389a3f936b42c858f2 + languageName: node + linkType: hard + +"media-tracks@npm:~0.3.0": + version: 0.3.3 + resolution: "media-tracks@npm:0.3.3" + checksum: 4795af3f171d7ad3a68d1ac1c1e8166a735244fe57d3fc0ec53b1c7410799e524756fc0bfb389632aebb148436b03baade36ca34a3f5377776c3968f6d2cc580 + languageName: node + linkType: hard + "media-typer@npm:0.3.0": version: 0.3.0 resolution: "media-typer@npm:0.3.0" @@ -35895,6 +36034,13 @@ __metadata: languageName: node linkType: hard +"mux-embed@npm:~5.2.0": + version: 5.2.1 + resolution: "mux-embed@npm:5.2.1" + checksum: ec34d3e003e2520be6d1386ca2383daa198a1fa3a469ca3f06c11a742d6ab136eef4944c37e8f2dcaa0585e1b0a6dfc119e3cf2302c7eb0e7f2ebc7c1fc95fbd + languageName: node + linkType: hard + "mysql2@npm:3.9.1": version: 3.9.1 resolution: "mysql2@npm:3.9.1" @@ -40197,20 +40343,21 @@ __metadata: languageName: node linkType: hard -"react-datocms@npm:^3.1.0": - version: 3.1.4 - resolution: "react-datocms@npm:3.1.4" +"react-datocms@npm:^5.0.3": + version: 5.0.3 + resolution: "react-datocms@npm:5.0.3" dependencies: + "@mux/mux-player-react": "*" 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-intersection-observer: ^9.4.3 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 + checksum: 22c20152afb54424acfe967a2c8c525cd9f132a33374f2aba0231f16ea64dade389b096e2dac8de9ffded612bc32e9891d725609ee947639fe1cef907cb143f5 languageName: node linkType: hard @@ -40462,12 +40609,16 @@ __metadata: languageName: node linkType: hard -"react-intersection-observer@npm:^8.33.1": - version: 8.34.0 - resolution: "react-intersection-observer@npm:8.34.0" +"react-intersection-observer@npm:^9.4.3": + version: 9.10.3 + resolution: "react-intersection-observer@npm:9.10.3" peerDependencies: - react: ^15.0.0 || ^16.0.0 || ^17.0.0|| ^18.0.0 - checksum: 7713fecfd1512c7f5a60f9f0bf15403b8f8bbd4110bcafaeaea6de36a0e0eb60368c3638f99e9c97b75ad8fc787ea48c241dcb5c694f821d7f2976f709082cc5 + react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + react-dom: + optional: true + checksum: 482c89a432e582749f3cb3dd696e08638a92e41fbcb81bcb3dc3cadebcf8b40bc47e7a52d2a7e8c4f9eb2a3c1c29b4cb0f21007c1540da05893b5abb11d7a761 languageName: node linkType: hard @@ -40577,6 +40728,16 @@ __metadata: languageName: node linkType: hard +"react-parallax-tilt@npm:^1.7.226": + version: 1.7.229 + resolution: "react-parallax-tilt@npm:1.7.229" + peerDependencies: + react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + checksum: f0a034aaa02b2c025cae8e91f3f02650ea7bd279bd51439c41203cabfe59e1a1cf976497d0860f8fe52bde23b79a38a3818e4516b332b1e5e19a9a93029caef5 + languageName: node + linkType: hard + "react-phone-input-2@npm:^2.15.1": version: 2.15.1 resolution: "react-phone-input-2@npm:2.15.1" @@ -40991,6 +41152,18 @@ __metadata: languageName: node linkType: hard +"react-twitter-embed@npm:^4.0.4": + version: 4.0.4 + resolution: "react-twitter-embed@npm:4.0.4" + dependencies: + scriptjs: ^2.5.9 + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 + checksum: cdb3c5bd04c4da0efa767476be47c0a3865fb6335f2a1b9e242170167b51615c38164223278cef60c77143c4bac27ba582cbea054d0af3f138104fa5ec537c4c + languageName: node + linkType: hard + "react-universal-interface@npm:^0.6.2": version: 0.6.2 resolution: "react-universal-interface@npm:0.6.2" @@ -42815,6 +42988,13 @@ __metadata: languageName: node linkType: hard +"scriptjs@npm:^2.5.9": + version: 2.5.9 + resolution: "scriptjs@npm:2.5.9" + checksum: fc84cb6b60b6fb9aa6f1b3bc59fc94b233bd5241ed3a04233579014382b5eb60640269c87d8657902acc09f9b785ee33230c218627cea00e653564bda8f5acb6 + languageName: node + linkType: hard + "scuid@npm:^1.1.0": version: 1.1.0 resolution: "scuid@npm:1.1.0"