From 69d345b334c7a3fecdb0cd5f440fabd83a755309 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Sat, 18 Feb 2023 15:25:29 +0100 Subject: . --- .typesafe-i18n.json | 2 +- package.json | 19 +- pnpm-lock.yaml | 342 ++++++++++----------- sanity/package.json | 1 + sanity/pnpm-lock.yaml | 236 ++++++++++++++ sanity/sanity.config.ts | 8 +- sanity/schemas/_locales.ts | 4 +- sanity/schemas/description.ts | 21 +- sanity/schemas/hero.ts | 28 +- sanity/schemas/index.ts | 4 +- src/components/card-v4.svelte | 25 ++ src/components/contact.svelte | 67 ---- src/components/description.svelte | 0 src/components/header.svelte | 12 - src/components/hero.svelte | 0 src/lib/sanity-client.ts | 4 +- src/routes/+layout.svelte | 2 + src/routes/[lang=lang]/+page.server.ts | 14 +- src/routes/[lang=lang]/+page.svelte | 19 +- src/routes/[lang=lang]/+page.ts | 2 +- src/routes/[lang=lang]/sections/contact.svelte | 69 +++++ src/routes/[lang=lang]/sections/description.svelte | 26 ++ src/routes/[lang=lang]/sections/hero.svelte | 75 +++++ src/routes/[lang=lang]/sections/products.svelte | 28 ++ src/routes/parts/header.svelte | 12 + 25 files changed, 702 insertions(+), 318 deletions(-) create mode 100644 src/components/card-v4.svelte delete mode 100644 src/components/contact.svelte delete mode 100644 src/components/description.svelte delete mode 100644 src/components/header.svelte delete mode 100644 src/components/hero.svelte create mode 100644 src/routes/[lang=lang]/sections/contact.svelte create mode 100644 src/routes/[lang=lang]/sections/description.svelte create mode 100644 src/routes/[lang=lang]/sections/hero.svelte create mode 100644 src/routes/[lang=lang]/sections/products.svelte create mode 100644 src/routes/parts/header.svelte diff --git a/.typesafe-i18n.json b/.typesafe-i18n.json index 1b3e34f..d810b76 100644 --- a/.typesafe-i18n.json +++ b/.typesafe-i18n.json @@ -1,4 +1,4 @@ { "adapter": "svelte", - "$schema": "https://unpkg.com/typesafe-i18n@5.24.0/schema/typesafe-i18n.json" + "$schema": "https://unpkg.com/typesafe-i18n@5.24.1/schema/typesafe-i18n.json" } \ No newline at end of file diff --git a/package.json b/package.json index 50106d0..73c75af 100644 --- a/package.json +++ b/package.json @@ -16,17 +16,18 @@ }, "devDependencies": { "@playwright/test": "^1.30.0", + "@portabletext/svelte": "2.0.0-0", "@sveltejs/adapter-auto": "^2.0.0", - "@sveltejs/kit": "^1.5.5", - "@sveltejs/package": "^1.0.2", + "@sveltejs/kit": "^1.7.1", + "@sveltejs/package": "^2.0.0", "@tailwindcss/aspect-ratio": "^0.4.2", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", + "@typescript-eslint/eslint-plugin": "^5.52.0", + "@typescript-eslint/parser": "^5.52.0", "autoprefixer": "^10.4.13", "eslint": "^8.34.0", "eslint-config-prettier": "^8.6.0", "eslint-plugin-svelte3": "^4.0.0", - "groq": "^3.3.1", + "groq": "^3.4.0", "npm-run-all": "^4.1.5", "postcss": "^8.4.21", "postcss-load-config": "^4.0.1", @@ -35,15 +36,15 @@ "svelte": "^3.55.1", "svelte-check": "^3.0.3", "svelte-preprocess": "^5.0.1", - "tailwindcss": "^3.2.6", + "tailwindcss": "^3.2.7", "tslib": "^2.5.0", "typescript": "^4.9.5", "vite": "^4.1.1", - "vitest": "^0.28.4" + "vitest": "^0.28.5" }, "type": "module", "dependencies": { - "@sanity/client": "^4.0.1", - "typesafe-i18n": "^5.24.0" + "@sanity/client": "^5.2.1", + "typesafe-i18n": "^5.24.1" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf69843..bc3f2a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,18 +2,19 @@ lockfileVersion: 5.4 specifiers: '@playwright/test': ^1.30.0 - '@sanity/client': ^4.0.1 + '@portabletext/svelte': 2.0.0-0 + '@sanity/client': ^5.2.1 '@sveltejs/adapter-auto': ^2.0.0 - '@sveltejs/kit': ^1.5.5 - '@sveltejs/package': ^1.0.2 + '@sveltejs/kit': ^1.7.1 + '@sveltejs/package': ^2.0.0 '@tailwindcss/aspect-ratio': ^0.4.2 - '@typescript-eslint/eslint-plugin': ^5.51.0 - '@typescript-eslint/parser': ^5.51.0 + '@typescript-eslint/eslint-plugin': ^5.52.0 + '@typescript-eslint/parser': ^5.52.0 autoprefixer: ^10.4.13 eslint: ^8.34.0 eslint-config-prettier: ^8.6.0 eslint-plugin-svelte3: ^4.0.0 - groq: ^3.3.1 + groq: ^3.4.0 npm-run-all: ^4.1.5 postcss: ^8.4.21 postcss-load-config: ^4.0.1 @@ -22,30 +23,31 @@ specifiers: svelte: ^3.55.1 svelte-check: ^3.0.3 svelte-preprocess: ^5.0.1 - tailwindcss: ^3.2.6 + tailwindcss: ^3.2.7 tslib: ^2.5.0 - typesafe-i18n: ^5.24.0 + typesafe-i18n: ^5.24.1 typescript: ^4.9.5 vite: ^4.1.1 - vitest: ^0.28.4 + vitest: ^0.28.5 dependencies: - '@sanity/client': 4.0.1 - typesafe-i18n: 5.24.0_typescript@4.9.5 + '@sanity/client': 5.2.1 + typesafe-i18n: 5.24.1_typescript@4.9.5 devDependencies: '@playwright/test': 1.30.0 - '@sveltejs/adapter-auto': 2.0.0_@sveltejs+kit@1.5.5 - '@sveltejs/kit': 1.5.5_svelte@3.55.1+vite@4.1.1 - '@sveltejs/package': 1.0.2_4x7phaipmicbaooxtnresslofa - '@tailwindcss/aspect-ratio': 0.4.2_tailwindcss@3.2.6 - '@typescript-eslint/eslint-plugin': 5.51.0_z4swst3wuuqk4hlme4ajzslgh4 - '@typescript-eslint/parser': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm + '@portabletext/svelte': 2.0.0-0_svelte@3.55.1 + '@sveltejs/adapter-auto': 2.0.0_@sveltejs+kit@1.7.1 + '@sveltejs/kit': 1.7.1_svelte@3.55.1+vite@4.1.1 + '@sveltejs/package': 2.0.0_4x7phaipmicbaooxtnresslofa + '@tailwindcss/aspect-ratio': 0.4.2_tailwindcss@3.2.7 + '@typescript-eslint/eslint-plugin': 5.52.0_6cfvjsbua5ptj65675bqcn6oza + '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm autoprefixer: 10.4.13_postcss@8.4.21 eslint: 8.34.0 eslint-config-prettier: 8.6.0_eslint@8.34.0 eslint-plugin-svelte3: 4.0.0_dbthnr4b2bdkhyiebwn7su3hnq - groq: 3.3.1 + groq: 3.4.0 npm-run-all: 4.1.5 postcss: 8.4.21 postcss-load-config: 4.0.1_postcss@8.4.21 @@ -54,11 +56,11 @@ devDependencies: svelte: 3.55.1 svelte-check: 3.0.3_gqx7lw3sljhsd4bstor5m2aa2u svelte-preprocess: 5.0.1_b25a55hc532q56kmuqlrolam2i - tailwindcss: 3.2.6_postcss@8.4.21 + tailwindcss: 3.2.7_postcss@8.4.21 tslib: 2.5.0 typescript: 4.9.5 vite: 4.1.1 - vitest: 0.28.4 + vitest: 0.28.5 packages: @@ -347,13 +349,33 @@ packages: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true - /@sanity/client/4.0.1: - resolution: {integrity: sha512-Sd/oGzDsZulodtjq54wOFoMSvUrNnXkvevAGmuLmO90givXHzEyMMUFSj/BmG6TV1mKigS0m6gmFDP/dalUHjg==} - engines: {node: '>=12'} + /@portabletext/svelte/2.0.0-0_svelte@3.55.1: + resolution: {integrity: sha512-0Aofvm7F9bjWerYfRoywL/N6jT90KVVMc4/xYaMEETlOOdTwvFVLhKekjvaOEYA3BrxlBg/oJ2MslEDU/pyD3A==} + peerDependencies: + svelte: ^3.47.0 + dependencies: + '@portabletext/toolkit': 2.0.1 + svelte: 3.55.1 + dev: true + + /@portabletext/toolkit/2.0.1: + resolution: {integrity: sha512-vr2SeDFUFV+VmRIyYsHBMimZLiiN0S7qIridt/YLJs3Wm1dI4jsfUam82AQwheSMjvWdBiBZ+Wsjq5HZBG4htw==} + engines: {node: ^14.13.1 || >=16.0.0} + dependencies: + '@portabletext/types': 2.0.2 + dev: true + + /@portabletext/types/2.0.2: + resolution: {integrity: sha512-3xTbSa80G1nODyACY0ilrmPo1PmU1xuoPvfcpzpqSEL0kX01fSW+21PKgS9BcG+GqdG9HK/VxciKWa+nFA7mqg==} + engines: {node: ^14.13.1 || >=16.0.0 || >=18.0.0} + dev: true + + /@sanity/client/5.2.1: + resolution: {integrity: sha512-fkpVdywu23gPWjNGC+Z2uAM+CFlQuEoDQMc9aVWJQqQwPthD6jCkmTgbwZDscFjTjn6eu6+6s5PHdNM6fPPoDA==} + engines: {node: '>=14.18'} dependencies: '@sanity/eventsource': 4.0.0 - get-it: 7.0.2 - make-error: 1.3.6 + get-it: 8.0.9 rxjs: 7.8.0 transitivePeerDependencies: - supports-color @@ -366,22 +388,17 @@ packages: eventsource: 2.0.2 dev: false - /@sanity/timed-out/4.0.2: - resolution: {integrity: sha512-NBDKGj14g9Z+bopIvZcQKWCzJq5JSrdmzRR1CS+iyA3Gm8SnIWBfZa7I3mTg2X6Nu8LQXG0EPKXdOGozLS4i3w==} - engines: {node: '>=0.10.0'} - dev: false - - /@sveltejs/adapter-auto/2.0.0_@sveltejs+kit@1.5.5: + /@sveltejs/adapter-auto/2.0.0_@sveltejs+kit@1.7.1: resolution: {integrity: sha512-b+gkHFZgD771kgV3aO4avHFd7y1zhmMYy9i6xOK7m/rwmwaRO8gnF5zBc0Rgca80B2PMU1bKNxyBTHA14OzUAQ==} peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: - '@sveltejs/kit': 1.5.5_svelte@3.55.1+vite@4.1.1 + '@sveltejs/kit': 1.7.1_svelte@3.55.1+vite@4.1.1 import-meta-resolve: 2.2.1 dev: true - /@sveltejs/kit/1.5.5_svelte@3.55.1+vite@4.1.1: - resolution: {integrity: sha512-NJry1mvcIBITVe9WyAGu39Cf33z8wRKzut/Oug4zqMVUpX+i7fG17+GyvLCh9GXdmIkqwSeSMROHDKRODvd6BA==} + /@sveltejs/kit/1.7.1_svelte@3.55.1+vite@4.1.1: + resolution: {integrity: sha512-epaQCaZ/D3Qr/SgrRKHv+MpM6rz8JdaXSjOjas8t7PbDJl88KpqYWUvsmyuJQn/yNNGar23kENyy4NueNnjIKQ==} engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true @@ -395,21 +412,21 @@ packages: devalue: 4.3.0 esm-env: 1.0.0 kleur: 4.1.5 - magic-string: 0.27.0 + magic-string: 0.29.0 mime: 3.0.0 sade: 1.8.1 set-cookie-parser: 2.5.1 sirv: 2.0.2 svelte: 3.55.1 tiny-glob: 0.2.9 - undici: 5.18.0 + undici: 5.19.1 vite: 4.1.1 transitivePeerDependencies: - supports-color dev: true - /@sveltejs/package/1.0.2_4x7phaipmicbaooxtnresslofa: - resolution: {integrity: sha512-VY9U+05d9uNFDj7ScKRlHORYlfPSHwJewBjV+V2RsnViexpLFPUrboC9SiPYDCpLnbeqwXerxhO6twGHUBGeIA==} + /@sveltejs/package/2.0.0_4x7phaipmicbaooxtnresslofa: + resolution: {integrity: sha512-sANz/dJibOHOe83hl8pFWUSypqefdYwPp6SUr0SmJxTNQFB5dDECEqwAwoy28DWCQFYl7DU+C1hKkTXyuKOdug==} engines: {node: ^16.14 || >=18} hasBin: true peerDependencies: @@ -443,12 +460,12 @@ packages: - supports-color dev: true - /@tailwindcss/aspect-ratio/0.4.2_tailwindcss@3.2.6: + /@tailwindcss/aspect-ratio/0.4.2_tailwindcss@3.2.7: resolution: {integrity: sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ==} peerDependencies: tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' dependencies: - tailwindcss: 3.2.6_postcss@8.4.21 + tailwindcss: 3.2.7_postcss@8.4.21 dev: true /@types/chai-subset/1.3.3: @@ -487,8 +504,8 @@ packages: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@typescript-eslint/eslint-plugin/5.51.0_z4swst3wuuqk4hlme4ajzslgh4: - resolution: {integrity: sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==} + /@typescript-eslint/eslint-plugin/5.52.0_6cfvjsbua5ptj65675bqcn6oza: + resolution: {integrity: sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -498,10 +515,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm - '@typescript-eslint/scope-manager': 5.51.0 - '@typescript-eslint/type-utils': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm - '@typescript-eslint/utils': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/scope-manager': 5.52.0 + '@typescript-eslint/type-utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm debug: 4.3.4 eslint: 8.34.0 grapheme-splitter: 1.0.4 @@ -515,8 +532,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.51.0_7kw3g6rralp5ps6mg3uyzz6azm: - resolution: {integrity: sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==} + /@typescript-eslint/parser/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm: + resolution: {integrity: sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -525,9 +542,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.51.0 - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.52.0 + '@typescript-eslint/types': 5.52.0 + '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5 debug: 4.3.4 eslint: 8.34.0 typescript: 4.9.5 @@ -535,16 +552,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/5.51.0: - resolution: {integrity: sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==} + /@typescript-eslint/scope-manager/5.52.0: + resolution: {integrity: sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/visitor-keys': 5.51.0 + '@typescript-eslint/types': 5.52.0 + '@typescript-eslint/visitor-keys': 5.52.0 dev: true - /@typescript-eslint/type-utils/5.51.0_7kw3g6rralp5ps6mg3uyzz6azm: - resolution: {integrity: sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==} + /@typescript-eslint/type-utils/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm: + resolution: {integrity: sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -553,8 +570,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5 + '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm debug: 4.3.4 eslint: 8.34.0 tsutils: 3.21.0_typescript@4.9.5 @@ -563,13 +580,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types/5.51.0: - resolution: {integrity: sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==} + /@typescript-eslint/types/5.52.0: + resolution: {integrity: sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.51.0_typescript@4.9.5: - resolution: {integrity: sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==} + /@typescript-eslint/typescript-estree/5.52.0_typescript@4.9.5: + resolution: {integrity: sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -577,8 +594,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/visitor-keys': 5.51.0 + '@typescript-eslint/types': 5.52.0 + '@typescript-eslint/visitor-keys': 5.52.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -589,17 +606,17 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.51.0_7kw3g6rralp5ps6mg3uyzz6azm: - resolution: {integrity: sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==} + /@typescript-eslint/utils/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm: + resolution: {integrity: sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.51.0 - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.52.0 + '@typescript-eslint/types': 5.52.0 + '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5 eslint: 8.34.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@8.34.0 @@ -609,38 +626,38 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.51.0: - resolution: {integrity: sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==} + /@typescript-eslint/visitor-keys/5.52.0: + resolution: {integrity: sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.51.0 + '@typescript-eslint/types': 5.52.0 eslint-visitor-keys: 3.3.0 dev: true - /@vitest/expect/0.28.4: - resolution: {integrity: sha512-JqK0NZ4brjvOSL8hXAnIsfi+jxDF7rH/ZWCGCt0FAqRnVFc1hXsfwXksQvEnKqD84avRt3gmeXoK4tNbmkoVsQ==} + /@vitest/expect/0.28.5: + resolution: {integrity: sha512-gqTZwoUTwepwGIatnw4UKpQfnoyV0Z9Czn9+Lo2/jLIt4/AXLTn+oVZxlQ7Ng8bzcNkR+3DqLJ08kNr8jRmdNQ==} dependencies: - '@vitest/spy': 0.28.4 - '@vitest/utils': 0.28.4 + '@vitest/spy': 0.28.5 + '@vitest/utils': 0.28.5 chai: 4.3.7 dev: true - /@vitest/runner/0.28.4: - resolution: {integrity: sha512-Q8UV6GjDvBSTfUoq0QXVCNpNOUrWu4P2qvRq7ssJWzn0+S0ojbVOxEjMt+8a32X6SdkhF8ak+2nkppsqV0JyNQ==} + /@vitest/runner/0.28.5: + resolution: {integrity: sha512-NKkHtLB+FGjpp5KmneQjTcPLWPTDfB7ie+MmF1PnUBf/tGe2OjGxWyB62ySYZ25EYp9krR5Bw0YPLS/VWh1QiA==} dependencies: - '@vitest/utils': 0.28.4 + '@vitest/utils': 0.28.5 p-limit: 4.0.0 pathe: 1.1.0 dev: true - /@vitest/spy/0.28.4: - resolution: {integrity: sha512-8WuhfXLlvCXpNXEGJW6Gc+IKWI32435fQJLh43u70HnZ1otJOa2Cmg2Wy2Aym47ZnNCP4NolF+8cUPwd0MigKQ==} + /@vitest/spy/0.28.5: + resolution: {integrity: sha512-7if6rsHQr9zbmvxN7h+gGh2L9eIIErgf8nSKYDlg07HHimCxp4H6I/X/DPXktVPPLQfiZ1Cw2cbDIx9fSqDjGw==} dependencies: tinyspy: 1.1.1 dev: true - /@vitest/utils/0.28.4: - resolution: {integrity: sha512-l2QztOLdc2LkR+w/lP52RGh8hW+Ul4KESmCAgVE8q737I7e7bQoAfkARKpkPJ4JQtGpwW4deqlj1732VZD7TFw==} + /@vitest/utils/0.28.5: + resolution: {integrity: sha512-UyZdYwdULlOa4LTUSwZ+Paz7nBHGTT72jKwdFSV4IjHF1xsokp+CabMdhjvVhYwkLfO88ylJT46YMilnkSARZA==} dependencies: cli-truncate: 3.1.0 diff: 5.1.0 @@ -763,7 +780,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.5 - caniuse-lite: 1.0.30001451 + caniuse-lite: 1.0.30001454 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -804,8 +821,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001451 - electron-to-chromium: 1.4.295 + caniuse-lite: 1.0.30001454 + electron-to-chromium: 1.4.300 node-releases: 2.0.10 update-browserslist-db: 1.0.10_browserslist@4.21.5 dev: true @@ -847,15 +864,10 @@ packages: engines: {node: '>= 6'} dev: true - /caniuse-lite/1.0.30001451: - resolution: {integrity: sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w==} + /caniuse-lite/1.0.30001454: + resolution: {integrity: sha512-4E63M5TBbgDoA9dQoFRdjL6iAmzTrz3rwYWoKDlvnvyvBxjCZ0rrUoX3THhEMie0/RYuTCeMbeTYLGAWgnLwEg==} dev: true - /capture-stack-trace/1.0.2: - resolution: {integrity: sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==} - engines: {node: '>=0.10.0'} - dev: false - /chai/4.3.7: resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} engines: {node: '>=4'} @@ -947,13 +959,6 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: false - /create-error-class/3.0.2: - resolution: {integrity: sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==} - engines: {node: '>=0.10.0'} - dependencies: - capture-stack-trace: 1.0.2 - dev: false - /cross-spawn/6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} @@ -991,8 +996,8 @@ packages: dependencies: ms: 2.1.2 - /decompress-response/6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + /decompress-response/7.0.0: + resolution: {integrity: sha512-6IvPrADQyyPGLpMnUh6kfKiqy7SrbXbjoUuZ90WMBJKErzv2pCiwlGEXjRX9/54OnTq+XFVnkOnOMzclLI5aEA==} engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 @@ -1080,8 +1085,8 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /electron-to-chromium/1.4.295: - resolution: {integrity: sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw==} + /electron-to-chromium/1.4.300: + resolution: {integrity: sha512-tHLIBkKaxvG6NnDWuLgeYrz+LTwAnApHm2R3KBNcRrFn0qLmTrqQeB4X4atfN6YJbkOOOSdRBeQ89OfFUelnEQ==} dev: true /emoji-regex/9.2.2: @@ -1274,7 +1279,7 @@ packages: eslint-utils: 3.0.0_eslint@8.34.0 eslint-visitor-keys: 3.3.0 espree: 9.4.1 - esquery: 1.4.0 + esquery: 1.4.2 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 @@ -1316,8 +1321,8 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /esquery/1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} + /esquery/1.4.2: + resolution: {integrity: sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 @@ -1435,10 +1440,6 @@ packages: is-callable: 1.2.7 dev: true - /form-urlencoded/2.0.9: - resolution: {integrity: sha512-fWUzNiOnYa126vFAT6TFXd1mhJrvD8IqmQ9ilZPjkLYQfaRreBr5fIUoOpPlWtqaAG64nzoE7u5zSetifab9IA==} - dev: false - /fraction.js/4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true @@ -1492,27 +1493,20 @@ packages: has-symbols: 1.0.3 dev: true - /get-it/7.0.2: - resolution: {integrity: sha512-q4d+ssYtpWzC4/qJ4aJDZ5yWl94BIGmRER7PEvYpiKCBoCoDnl1YygEvNHQ2tHbD3GVZaq3QonKGi6Puh1Hzkw==} - engines: {node: '>=12.0.0'} + /get-it/8.0.9: + resolution: {integrity: sha512-Nm54soj8MEXTmkzAR0iWGP/TCAfsueOOWzBTvTB9ch0ubUE/5FbV7tAptbmsYzpk9QzA6zhcadqTCwP3prRfHw==} + engines: {node: '>=14.0.0'} dependencies: - '@sanity/timed-out': 4.0.2 - create-error-class: 3.0.2 debug: 4.3.4 - decompress-response: 6.0.0 + decompress-response: 7.0.0 follow-redirects: 1.15.2_debug@4.3.4 - form-urlencoded: 2.0.9 - into-stream: 3.1.0 + into-stream: 6.0.0 is-plain-object: 5.0.0 - is-retry-allowed: 1.2.0 - is-stream: 1.1.0 - nano-pubsub: 2.0.1 + is-retry-allowed: 2.2.0 + is-stream: 2.0.1 parse-headers: 2.0.5 progress-stream: 2.0.0 - same-origin: 0.1.1 - simple-concat: 1.0.1 tunnel-agent: 0.6.0 - url-parse: 1.5.10 transitivePeerDependencies: - supports-color dev: false @@ -1598,8 +1592,8 @@ packages: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true - /groq/3.3.1: - resolution: {integrity: sha512-DrAY8MSWFLIlLIdICDUjnssil/WC6FTDWjYluuQhh/JUWw5dGoTYC5pY6YFTSXtPil7e4sZXUPhWWi9ISaTKIw==} + /groq/3.4.0: + resolution: {integrity: sha512-x1ba7zNLHOcuj83JkXMge9H0uD7W3ZVNSDuLgympoOdVDYCOafS3gwmd/z4rVH7sOCxO7DtbUmyrbCW+aA5N+A==} engines: {node: '>=14'} dev: true @@ -1692,12 +1686,12 @@ packages: side-channel: 1.0.4 dev: true - /into-stream/3.1.0: - resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} - engines: {node: '>=4'} + /into-stream/6.0.0: + resolution: {integrity: sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==} + engines: {node: '>=10'} dependencies: from2: 2.3.0 - p-is-promise: 1.1.0 + p-is-promise: 3.0.0 dev: false /is-array-buffer/3.0.1: @@ -1803,9 +1797,9 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-retry-allowed/1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} + /is-retry-allowed/2.2.0: + resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} + engines: {node: '>=10'} dev: false /is-shared-array-buffer/1.0.2: @@ -1814,9 +1808,9 @@ packages: call-bind: 1.0.2 dev: true - /is-stream/1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} dev: false /is-string/1.0.7: @@ -1955,9 +1949,12 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /make-error/1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: false + /magic-string/0.29.0: + resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true /memorystream/0.3.1: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} @@ -2032,10 +2029,6 @@ packages: /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /nano-pubsub/2.0.1: - resolution: {integrity: sha512-RWgGP2TdeKZLx+guR5a7/BzYs85sj6yrXXyj0o/znbgzPlz/Ez9wQuKDpwUZ8q+u2RxXpqZ1iTkPXCIU+GHhpA==} - dev: false - /nanoid/3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2142,9 +2135,9 @@ packages: word-wrap: 1.2.3 dev: true - /p-is-promise/1.1.0: - resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==} - engines: {node: '>=4'} + /p-is-promise/3.0.0: + resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} + engines: {node: '>=8'} dev: false /p-limit/3.1.0: @@ -2410,10 +2403,6 @@ packages: engines: {node: '>=6'} dev: true - /querystringify/2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - dev: false - /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true @@ -2475,10 +2464,6 @@ packages: engines: {node: '>=8'} dev: true - /requires-port/1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: false - /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -2555,10 +2540,6 @@ packages: is-regex: 1.1.4 dev: true - /same-origin/0.1.1: - resolution: {integrity: sha512-effkSW9cap879l6CVNdwL5iubVz8tkspqgfiqwgBgFQspV7152WHaLzr5590yR8oFgt7E1d4lO09uUhtAgUPoA==} - dev: false - /sander/0.5.1: resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} dependencies: @@ -2625,10 +2606,6 @@ packages: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true - /simple-concat/1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - dev: false - /sirv/2.0.2: resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} engines: {node: '>= 10'} @@ -2916,8 +2893,8 @@ packages: typescript: 4.9.5 dev: true - /tailwindcss/3.2.6_postcss@8.4.21: - resolution: {integrity: sha512-BfgQWZrtqowOQMC2bwaSNe7xcIjdDEgixWGYOd6AL0CbKHJlvhfdbINeAW76l1sO+1ov/MJ93ODJ9yluRituIw==} + /tailwindcss/3.2.7_postcss@8.4.21: + resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==} engines: {node: '>=12.13.0'} hasBin: true peerDependencies: @@ -3042,8 +3019,8 @@ packages: is-typed-array: 1.1.10 dev: true - /typesafe-i18n/5.24.0_typescript@4.9.5: - resolution: {integrity: sha512-GGIV+x+Azs+uVe1940ZX3MtIKSN0eXrO/x1Z7d0B/FO610evlmTEBIIYIHFWvjhZJslty11INedwRkZKSDVwTQ==} + /typesafe-i18n/5.24.1_typescript@4.9.5: + resolution: {integrity: sha512-CN5UcrRoqLZZXzJuhlg02hCCQNdOIprU/NQmT+p0S4tsGyl8330oSygev9RLibxpj4EyqThqG7cX8mNGl41c6g==} hasBin: true peerDependencies: typescript: '>=3.5.1' @@ -3069,8 +3046,8 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /undici/5.18.0: - resolution: {integrity: sha512-1iVwbhonhFytNdg0P4PqyIAXbdlVZVebtPDvuM36m66mRw4OGrCm2MYynJv/UENFLdP13J1nPVQzVE2zTs1OeA==} + /undici/5.19.1: + resolution: {integrity: sha512-YiZ61LPIgY73E7syxCDxxa3LV2yl3sN8spnIuTct60boiiRaE1J8mNWHO8Im2Zi/sFrPusjLlmRPrsyraSqX6A==} engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 @@ -3093,13 +3070,6 @@ packages: punycode: 2.3.0 dev: true - /url-parse/1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - dev: false - /util-deprecate/1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -3110,8 +3080,8 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-node/0.28.4_@types+node@18.13.0: - resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} + /vite-node/0.28.5_@types+node@18.13.0: + resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==} engines: {node: '>=v14.16.0'} hasBin: true dependencies: @@ -3211,8 +3181,8 @@ packages: vite: 4.1.1 dev: true - /vitest/0.28.4: - resolution: {integrity: sha512-sfWIy0AdlbyGRhunm+TLQEJrFH9XuRPdApfubsyLcDbCRrUX717BRQKInTgzEfyl2Ipi1HWoHB84Nqtcwxogcg==} + /vitest/0.28.5: + resolution: {integrity: sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -3236,10 +3206,10 @@ packages: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 '@types/node': 18.13.0 - '@vitest/expect': 0.28.4 - '@vitest/runner': 0.28.4 - '@vitest/spy': 0.28.4 - '@vitest/utils': 0.28.4 + '@vitest/expect': 0.28.5 + '@vitest/runner': 0.28.5 + '@vitest/spy': 0.28.5 + '@vitest/utils': 0.28.5 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 @@ -3255,7 +3225,7 @@ packages: tinypool: 0.3.1 tinyspy: 1.1.1 vite: 4.1.1_@types+node@18.13.0 - vite-node: 0.28.4_@types+node@18.13.0 + vite-node: 0.28.5_@types+node@18.13.0 why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/sanity/package.json b/sanity/package.json index 29ab464..1782223 100644 --- a/sanity/package.json +++ b/sanity/package.json @@ -20,6 +20,7 @@ "react-dom": "^18.2.0", "react-is": "^18.2.0", "sanity": "^3.3.1", + "@sanity/document-internationalization": "^1.0.5", "styled-components": "^5.3.6" }, "devDependencies": { diff --git a/sanity/pnpm-lock.yaml b/sanity/pnpm-lock.yaml index c6c9f5a..579e260 100644 --- a/sanity/pnpm-lock.yaml +++ b/sanity/pnpm-lock.yaml @@ -1,6 +1,7 @@ lockfileVersion: 5.4 specifiers: + '@sanity/document-internationalization': ^1.0.5 '@sanity/eslint-config-studio': ^2.0.1 '@sanity/vision': ^3.3.1 eslint: ^8.34.0 @@ -13,6 +14,7 @@ specifiers: typescript: ^4.9.5 dependencies: + '@sanity/document-internationalization': 1.0.5_gmcntwjzf76fcof7rftbafwbaa '@sanity/vision': 3.3.1_23mhwjhnzfjwvdn7ol54k26zom react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -1356,6 +1358,11 @@ packages: w3c-keyname: 2.2.6 dev: false + /@cprecioso/country-flag-emoji/1.0.0: + resolution: {integrity: sha512-AFpV9SxC9O+3Dw8Bj/aDDCO6KtqGXQ0FEd02gbpV1Vb2IohG5CVvMQgpiZdjMURVozOIgiAbZ5BUI+0sGPDnvA==} + engines: {node: '>=14'} + dev: false + /@dnd-kit/accessibility/3.0.1_react@18.2.0: resolution: {integrity: sha512-HXRrwS9YUYQO9lFRc/49uO/VICbM+O+ZRpFDe9Pd1rwVv2PCNkRiTZRdxrDgng/UkvdC3Re9r2vwPpXXrWeFzg==} peerDependencies: @@ -1951,6 +1958,41 @@ packages: diff-match-patch: 1.0.5 dev: false + /@sanity/document-internationalization/1.0.5_gmcntwjzf76fcof7rftbafwbaa: + resolution: {integrity: sha512-Qt+Snos86KZCY/BeWbhqC/2Rd2f7U56ZZTsU9H6jxtIzSnLweUoH25l6glmPDEgkE2ajomgEAbX+Om7GijdBbw==} + engines: {node: '>=14'} + peerDependencies: + lodash: ^4.0.0 + react: ^18 + react-dom: ^18 + react-router: ^5.0.0 + react-router-dom: ^5.0.0 + rxjs: ^6.0.0 + sanity: ^3.0.0 + styled-components: ^5.0.0 + dependencies: + '@cprecioso/country-flag-emoji': 1.0.0 + '@sanity/color': 2.2.2 + '@sanity/icons': 2.2.2_react@18.2.0 + '@sanity/incompatible-plugin': 1.0.4_biqbaboplfbrettd7655fr4n2y + '@sanity/ui': 1.2.2_23mhwjhnzfjwvdn7ol54k26zom + '@sanity/uuid': 3.0.1 + html-react-parser: 1.4.14_react@18.2.0 + just-omit: 2.2.0 + just-safe-get: 4.2.0 + just-split: 3.2.0 + pinst: 2.1.6 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-fast-compare: 3.2.0 + react-twemoji: 0.5.0_react@18.2.0 + sanity: 3.3.1_2zpt4ilzykmne4yndyzrqd4gdm + styled-components: 5.3.6_7i5myeigehqah43i5u7wbekgba + twemoji: 14.0.2 + transitivePeerDependencies: + - react-is + dev: false + /@sanity/eslint-config-studio/2.0.1_7kw3g6rralp5ps6mg3uyzz6azm: resolution: {integrity: sha512-OcGYX7sZFxmR7Mhnd4w45IYei7atYqHRt1glU9DdnVXqTBjg30m6La1/EyPhjQGBdBqxkBB0TLwr0wuL7JhwuQ==} requiresBuild: true @@ -2006,6 +2048,14 @@ packages: resolution: {integrity: sha512-wtMYcV5GIDIhVyF/jjmdwq1GdlK07dRL40XMns73VbrFI7FteRltxv48bhYVZPcLkRXb0SHjpDS/icj9/yzbVA==} dev: false + /@sanity/icons/1.3.10_react@18.2.0: + resolution: {integrity: sha512-5wVG/vIiGuGrSmq+Bl3PY7XDgQrGv0fyHdJI64FSulnr2wH3NMqZ6C59UFxnrZ93sr7kOt0zQFoNv2lkPBi0Cg==} + peerDependencies: + react: ^16.9 || ^17 || ^18 + dependencies: + react: 18.2.0 + dev: false + /@sanity/icons/2.2.2_react@18.2.0: resolution: {integrity: sha512-+Ks6LeYe44kjZSfcWFWj0zQRP48N3JisrZ9ia44QwG11y6bO9Wk8bfhu5o23FkyYrREu9CzQ0U+slSV7YsvcuQ==} engines: {node: '>=14.0.0'} @@ -2046,6 +2096,18 @@ packages: - supports-color dev: false + /@sanity/incompatible-plugin/1.0.4_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-2z39G9PTM8MXOF4fJNx3TG4tH0RrTjtH6dVLW93DSjCPbIS7FgCY5yWjZfQ+HVkwhLsF7ATDAGLA/jp65pFjAg==} + peerDependencies: + react: ^16.9 || ^17 || ^18 + react-dom: ^16.9 || ^17 || ^18 + dependencies: + '@sanity/icons': 1.3.10_react@18.2.0 + react: 18.2.0 + react-copy-to-clipboard: 5.1.0_react@18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + /@sanity/logos/2.1.2_3sdlg264xylsh337olfihoxliu: resolution: {integrity: sha512-nxJUQQzEEG8EqjiOEswQQpBUuFc3iSxTVF9D9Memg/tlOChX76dStNHoa1RWuvSPu895aqJV+9zxijAa0kF9Vg==} engines: {node: '>=14.0.0'} @@ -3279,10 +3341,22 @@ packages: esutils: 2.0.3 dev: true + /dom-serializer/1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: false + /dom-walk/0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} dev: false + /domelementtype/2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: false + /domexception/4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} @@ -3290,6 +3364,21 @@ packages: webidl-conversions: 7.0.0 dev: false + /domhandler/4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: false + + /domutils/2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: false + /dot-prop/5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -3332,6 +3421,15 @@ packages: once: 1.4.0 dev: false + /entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: false + + /entities/3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} + dev: false + /entities/4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} @@ -3886,10 +3984,23 @@ packages: readable-stream: 2.3.7 dev: false + /fromentries/1.3.2: + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + dev: false + /fs-constants/1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: false + /fs-extra/8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -4223,6 +4334,13 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: false + /html-dom-parser/1.2.0: + resolution: {integrity: sha512-2HIpFMvvffsXHFUFjso0M9LqM+1Lm22BF+Df2ba+7QHJXjk63pWChEnI6YG27eaWqUdfnh5/Vy+OXrNTtepRsg==} + dependencies: + domhandler: 4.3.1 + htmlparser2: 7.2.0 + dev: false + /html-encoding-sniffer/3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -4230,6 +4348,27 @@ packages: whatwg-encoding: 2.0.0 dev: false + /html-react-parser/1.4.14_react@18.2.0: + resolution: {integrity: sha512-pxhNWGie8Y+DGDpSh8cTa0k3g8PsDcwlfolA+XxYo1AGDeB6e2rdlyv4ptU9bOTiZ2i3fID+6kyqs86MN0FYZQ==} + peerDependencies: + react: 0.14 || 15 || 16 || 17 || 18 + dependencies: + domhandler: 4.3.1 + html-dom-parser: 1.2.0 + react: 18.2.0 + react-property: 2.0.0 + style-to-js: 1.1.1 + dev: false + + /htmlparser2/7.2.0: + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 3.0.1 + dev: false + /http-proxy-agent/5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -4294,6 +4433,10 @@ packages: /inherits/2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + /inline-style-parser/0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + dev: false + /internal-slot/1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} @@ -4677,6 +4820,20 @@ packages: engines: {node: '>=6'} hasBin: true + /jsonfile/4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.10 + dev: false + + /jsonfile/5.0.0: + resolution: {integrity: sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==} + dependencies: + universalify: 0.1.2 + optionalDependencies: + graceful-fs: 4.2.10 + dev: false + /jsx-ast-utils/3.3.3: resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} engines: {node: '>=4.0'} @@ -4685,6 +4842,18 @@ packages: object.assign: 4.1.4 dev: true + /just-omit/2.2.0: + resolution: {integrity: sha512-Js7+HxDOGcB3RhI38Mird/RgyMf3t0DAJFda1QWqqlAKTa36NeSYIufJXxrZUbysFTRcTOFcoMCiFK5FwCoI7Q==} + dev: false + + /just-safe-get/4.2.0: + resolution: {integrity: sha512-+tS4Bvgr/FnmYxOGbwziJ8I2BFk+cP1gQHm6rm7zo61w1SbxBwWGEq/Ryy9Gb6bvnloPq6pz7Bmm4a0rjTNlXA==} + dev: false + + /just-split/3.2.0: + resolution: {integrity: sha512-hh57dN5koTBkmg3T6gBFISVVaW5bgZ6Ct1W5KODD5M7hQJKqGzTKkfMwOil8MBxyztLQEjh/v6UGXE8cP5tnqQ==} + dev: false + /language-subtag-registry/0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: true @@ -4756,6 +4925,10 @@ packages: resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} dev: false + /lodash.isequal/4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: false + /lodash.isplainobject/4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: false @@ -5241,6 +5414,14 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + /pinst/2.1.6: + resolution: {integrity: sha512-B4dYmf6nEXg1NpDSB+orYWvKa5Kfmz5KzWC29U59dpVM4S/+xp0ak/JMEsw04UQTNNKps7klu0BUalr343Gt9g==} + engines: {node: '>=10.0.0'} + hasBin: true + dependencies: + fromentries: 1.3.2 + dev: false + /pirates/4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} @@ -5449,6 +5630,10 @@ packages: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} dev: false + /react-property/2.0.0: + resolution: {integrity: sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw==} + dev: false + /react-refractor/2.1.7_react@18.2.0: resolution: {integrity: sha512-avNxSSsnjYg+BKpO8LVCK14KRn5pLZ+8DInMiUEeZPL6hs0SN0zafl3mJIxavGQPKyihqbXqzq4CYNflJQjaaw==} peerDependencies: @@ -5484,6 +5669,18 @@ packages: prop-types: 15.8.1 dev: false + /react-twemoji/0.5.0_react@18.2.0: + resolution: {integrity: sha512-xz3NLWTFCfWOmPd559jcFX4f976ORIPpL9SwdBQO5BZwIYD1U1vpbY2E6k2vwPCVH78s2m1GbG5jpHKGUPZ+gw==} + engines: {node: '>=5.0'} + peerDependencies: + react: '>=16.4.2' + dependencies: + lodash.isequal: 4.5.0 + prop-types: 15.8.1 + react: 18.2.0 + twemoji: 14.0.1 + dev: false + /react/18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -6095,6 +6292,18 @@ packages: resolution: {integrity: sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==} dev: false + /style-to-js/1.1.1: + resolution: {integrity: sha512-RJ18Z9t2B02sYhZtfWKQq5uplVctgvjTfLWT7+Eb1zjUjIrWzX5SdlkwLGQozrqarTmEzJJ/YmdNJCUNI47elg==} + dependencies: + style-to-object: 0.3.0 + dev: false + + /style-to-object/0.3.0: + resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} + dependencies: + inline-style-parser: 0.1.1 + dev: false + /style-value-types/5.0.0: resolution: {integrity: sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==} dependencies: @@ -6256,6 +6465,28 @@ packages: safe-buffer: 5.2.1 dev: false + /twemoji-parser/14.0.0: + resolution: {integrity: sha512-9DUOTGLOWs0pFWnh1p6NF+C3CkQ96PWmEFwhOVmT3WbecRC+68AIqpsnJXygfkFcp4aXbOp8Dwbhh/HQgvoRxA==} + dev: false + + /twemoji/14.0.1: + resolution: {integrity: sha512-eoqhea0sUhmC10iTacksyp1v9O4BP1jKmVqtK+Nztw40/dzawSHkXL3/xCpyh+mukmEvJ0Gw9VLvwZfQ9HKXDw==} + dependencies: + fs-extra: 8.1.0 + jsonfile: 5.0.0 + twemoji-parser: 14.0.0 + universalify: 0.1.2 + dev: false + + /twemoji/14.0.2: + resolution: {integrity: sha512-BzOoXIe1QVdmsUmZ54xbEH+8AgtOKUiG53zO5vVP2iUu6h5u9lN15NcuS6te4OY96qx0H7JK9vjjl9WQbkTRuA==} + dependencies: + fs-extra: 8.1.0 + jsonfile: 5.0.0 + twemoji-parser: 14.0.0 + universalify: 0.1.2 + dev: false + /type-check/0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} @@ -6365,6 +6596,11 @@ packages: unist-util-is: 4.1.0 dev: false + /universalify/0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + /universalify/0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} diff --git a/sanity/sanity.config.ts b/sanity/sanity.config.ts index feaf76e..07c650b 100644 --- a/sanity/sanity.config.ts +++ b/sanity/sanity.config.ts @@ -1,14 +1,18 @@ import { defineConfig } from 'sanity' -import { deskTool } from 'sanity/desk' import { visionTool } from '@sanity/vision' import { schemaTypes } from './schemas' +import { withDocumentI18nPlugin } from '@sanity/document-internationalization' +import { baseLanguage, supportedLanguages } from './schemas/_locales' export default defineConfig({ name: 'default', title: 'auroraklinikken.no', projectId: process.env.SANITY_STUDIO_API_PROJECT_ID ?? "", dataset: process.env.SANITY_STUDIO_API_DATASET ?? "", - plugins: [deskTool(), visionTool()], + plugins: withDocumentI18nPlugin([visionTool()], { + languages: supportedLanguages.map(el => el.iso), + fallbackLanguageSelect: supportedLanguages.find(l => l.isDefault)?.iso as any + }), schema: { types: schemaTypes, }, diff --git a/sanity/schemas/_locales.ts b/sanity/schemas/_locales.ts index 5f19303..8baca54 100644 --- a/sanity/schemas/_locales.ts +++ b/sanity/schemas/_locales.ts @@ -1,5 +1,5 @@ export const supportedLanguages = [ - { id: 'en', title: 'English' }, - { id: 'nb', title: 'Norwegian', isDefault: true }, + { id: 'en', iso: "en-GB", title: 'English' }, + { id: 'nb', iso: "nb-NO", title: 'Norwegian', isDefault: true }, ] export const baseLanguage = supportedLanguages.find(l => l.isDefault) as { id: string, title: string }; \ No newline at end of file diff --git a/sanity/schemas/description.ts b/sanity/schemas/description.ts index 211aac3..d5d5ff3 100644 --- a/sanity/schemas/description.ts +++ b/sanity/schemas/description.ts @@ -1,14 +1,10 @@ -import { baseLanguage } from "./_locales"; +import { defineType } from "sanity"; -export default { +export default defineType({ name: 'description', type: 'document', title: 'Description section', - preview: { - select: { - title: `title.${baseLanguage.id}` - } - }, + i18n: true, fields: [ { title: "Title", @@ -16,9 +12,12 @@ export default { type: 'string', }, { - title: "Text", - name: "text", - type: "string", + title: "Content", + name: "content", + type: "array", + of: [ + { type: "block" } + ] } ] -} \ No newline at end of file +}) \ No newline at end of file diff --git a/sanity/schemas/hero.ts b/sanity/schemas/hero.ts index 48e5c77..8534675 100644 --- a/sanity/schemas/hero.ts +++ b/sanity/schemas/hero.ts @@ -1,14 +1,10 @@ -import { baseLanguage } from "./_locales"; +import { defineType } from "sanity"; -export default { +export default defineType({ name: 'hero', type: 'document', title: 'Hero section', - preview: { - select: { - title: `title.${baseLanguage.id}` - } - }, + i18n: true, fields: [ { title: "Title", @@ -16,14 +12,22 @@ export default { type: 'string', }, { - title: "Subtitle", - name: "subtitle", - type: "string", + title: "Content", + name: "content", + type: "array", + of: [{ type: "block" }] }, { title: "Image", name: "image", - type: "image" + type: "image", + fields: [ + { + title: "Alternative text", + name: 'alt', + type: 'string', + } + ] } ] -} \ No newline at end of file +}) \ No newline at end of file diff --git a/sanity/schemas/index.ts b/sanity/schemas/index.ts index 8b37e85..9dfc403 100644 --- a/sanity/schemas/index.ts +++ b/sanity/schemas/index.ts @@ -1,4 +1,6 @@ import contact from "./contact"; +import description from "./description"; +import hero from "./hero"; import localizedString from "./localized-string"; -export const schemaTypes = [contact, localizedString] \ No newline at end of file +export const schemaTypes = [contact, localizedString, description, hero] \ No newline at end of file diff --git a/src/components/card-v4.svelte b/src/components/card-v4.svelte new file mode 100644 index 0000000..d067357 --- /dev/null +++ b/src/components/card-v4.svelte @@ -0,0 +1,25 @@ + + +
+
+

I have a dream

+

+ Lorem ipsum dolor, sit amet consectetur adipisicing elit. Quia minus culpa commodi. +

+
+ Learn more + Buy +
+
+
+ + diff --git a/src/components/contact.svelte b/src/components/contact.svelte deleted file mode 100644 index 9f5bb98..0000000 --- a/src/components/contact.svelte +++ /dev/null @@ -1,67 +0,0 @@ - - - - -
-
-
-

{$LL.contact.title()}

-
- -
-
-
- {#if (model.addressLines?.length ?? 0) > 0} -
-
{$LL.contact.addressTitle()}
-
- {#each model.addressLines as line} - {line}
- {/each} -
-
- {/if} - {#if model.email} -
-
{$LL.contact.emailTitle()}
-
- {model.email} -
-
- {/if} - {#if model.phone} -
-
{$LL.contact.phoneTitle()}
-
-

{model.phone}

- {#if model.phoneHours} -

{model.phoneHours}

- {/if} -
-
- {/if} -
-
-
-
-
-
diff --git a/src/components/description.svelte b/src/components/description.svelte deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/header.svelte b/src/components/header.svelte deleted file mode 100644 index 5789196..0000000 --- a/src/components/header.svelte +++ /dev/null @@ -1,12 +0,0 @@ - - -
- -

Auroraklinikken

-
- - -
diff --git a/src/components/hero.svelte b/src/components/hero.svelte deleted file mode 100644 index e69de29..0000000 diff --git a/src/lib/sanity-client.ts b/src/lib/sanity-client.ts index 70be363..96253ca 100644 --- a/src/lib/sanity-client.ts +++ b/src/lib/sanity-client.ts @@ -1,7 +1,7 @@ import { env } from "$env/dynamic/private"; -import sanityClient from "@sanity/client"; +import createSanityClient from "@sanity/client"; -export const sanity = sanityClient({ +export const sanity = createSanityClient({ projectId: env.SANITY_STUDIO_API_PROJECT_ID, dataset: env.SANITY_STUDIO_API_DATASET, apiVersion: "2022-03-24", diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 990dd94..af29844 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -4,6 +4,7 @@ import type { LayoutData } from "./$types"; import { locales, baseLocale } from "$i18n/i18n-util"; import { replaceLocaleInUrl } from "$lib/utils"; + import Header from "./parts/header.svelte"; export let data: LayoutData; @@ -16,4 +17,5 @@ +
diff --git a/src/routes/[lang=lang]/+page.server.ts b/src/routes/[lang=lang]/+page.server.ts index 6e0a910..a647cfe 100644 --- a/src/routes/[lang=lang]/+page.server.ts +++ b/src/routes/[lang=lang]/+page.server.ts @@ -1,8 +1,10 @@ import { sanity } from '$lib/sanity-client'; import type { PageServerLoad } from './$types'; import groq from "groq"; -import type { ContactModel } from '$components/contact.svelte'; +import type { ContactModel } from './sections/contact.svelte'; import { fromLocalizedString } from '$lib/utils'; +import type { HeroModel } from './sections/hero.svelte'; +import type { DescriptionModel } from './sections/description.svelte'; export const load = (async ({ locals }) => { const contactSection = await sanity.fetch(groq`*[_type == "contact"][0]`); @@ -14,6 +16,14 @@ export const load = (async ({ locals }) => { email: fromLocalizedString(contactSection.email, locals.locale), phoneHours: fromLocalizedString(contactSection.phoneHours, locals.locale), addressLines: contactSection.addressLines.map((el: string | object) => fromLocalizedString(el, locals.locale)), - } as ContactModel + } as ContactModel, + hero: { + title: heroSection.title, + content: heroSection.content + } as HeroModel, + description: { + title: descriptionSection.title, + content: descriptionSection.content + } as DescriptionModel }; }) satisfies PageServerLoad; \ No newline at end of file diff --git a/src/routes/[lang=lang]/+page.svelte b/src/routes/[lang=lang]/+page.svelte index b757a71..325f085 100644 --- a/src/routes/[lang=lang]/+page.svelte +++ b/src/routes/[lang=lang]/+page.svelte @@ -1,16 +1,15 @@ - + + + + \ No newline at end of file diff --git a/src/routes/[lang=lang]/+page.ts b/src/routes/[lang=lang]/+page.ts index fa3907b..1ef0b57 100644 --- a/src/routes/[lang=lang]/+page.ts +++ b/src/routes/[lang=lang]/+page.ts @@ -13,6 +13,6 @@ export const load = (async ({ parent, data }) => { const $LL = get(LL) return { title: $LL.homeTitle(), - contact: data.contact + ...data } }) satisfies PageLoad; \ No newline at end of file diff --git a/src/routes/[lang=lang]/sections/contact.svelte b/src/routes/[lang=lang]/sections/contact.svelte new file mode 100644 index 0000000..b058180 --- /dev/null +++ b/src/routes/[lang=lang]/sections/contact.svelte @@ -0,0 +1,69 @@ + + + + +{#if visible} +
+
+
+

{$LL.contact.title()}

+
+ +
+
+
+ {#if (model.addressLines?.length ?? 0) > 0} +
+
{$LL.contact.addressTitle()}
+
+ {#each model.addressLines as line} + {line}
+ {/each} +
+
+ {/if} + {#if model.email} +
+
{$LL.contact.emailTitle()}
+
+ {model.email} +
+
+ {/if} + {#if model.phone} +
+
{$LL.contact.phoneTitle()}
+
+

{model.phone}

+ {#if model.phoneHours} +

{model.phoneHours}

+ {/if} +
+
+ {/if} +
+
+
+
+
+
+{/if} diff --git a/src/routes/[lang=lang]/sections/description.svelte b/src/routes/[lang=lang]/sections/description.svelte new file mode 100644 index 0000000..79a3939 --- /dev/null +++ b/src/routes/[lang=lang]/sections/description.svelte @@ -0,0 +1,26 @@ + + + + +{#if visible} +

{model.title}

+ {#if model.content} + + {/if} +{/if} diff --git a/src/routes/[lang=lang]/sections/hero.svelte b/src/routes/[lang=lang]/sections/hero.svelte new file mode 100644 index 0000000..3cdf221 --- /dev/null +++ b/src/routes/[lang=lang]/sections/hero.svelte @@ -0,0 +1,75 @@ + + + + +{#if visible} +
+
+
+
+

{model.title}

+ {#if model.content} + + {/if} +
+
+
+ +
+ +
+
+{/if} + + diff --git a/src/routes/[lang=lang]/sections/products.svelte b/src/routes/[lang=lang]/sections/products.svelte new file mode 100644 index 0000000..4e10b6f --- /dev/null +++ b/src/routes/[lang=lang]/sections/products.svelte @@ -0,0 +1,28 @@ + + + + +{#if visible} + +{/if} \ No newline at end of file diff --git a/src/routes/parts/header.svelte b/src/routes/parts/header.svelte new file mode 100644 index 0000000..55f1da0 --- /dev/null +++ b/src/routes/parts/header.svelte @@ -0,0 +1,12 @@ + + +
+ +

Auroraklinikken

+
+ + +
-- cgit v1.3