aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2023-02-18 15:25:29 +0100
committerivarlovlie <git@ivarlovlie.no>2023-02-18 15:25:29 +0100
commit69d345b334c7a3fecdb0cd5f440fabd83a755309 (patch)
tree09de5c21f7989a98397e6e700f8d4e9347e8bd90
parentc709aa638c7d3458dd73c3aabadb4924cb1cb80e (diff)
downloadauroraklinikken.no-69d345b334c7a3fecdb0cd5f440fabd83a755309.tar.xz
auroraklinikken.no-69d345b334c7a3fecdb0cd5f440fabd83a755309.zip
.
-rw-r--r--.typesafe-i18n.json2
-rw-r--r--package.json19
-rw-r--r--pnpm-lock.yaml342
-rw-r--r--sanity/package.json1
-rw-r--r--sanity/pnpm-lock.yaml236
-rw-r--r--sanity/sanity.config.ts8
-rw-r--r--sanity/schemas/_locales.ts4
-rw-r--r--sanity/schemas/description.ts21
-rw-r--r--sanity/schemas/hero.ts28
-rw-r--r--sanity/schemas/index.ts4
-rw-r--r--src/components/card-v4.svelte25
-rw-r--r--src/components/contact.svelte67
-rw-r--r--src/components/description.svelte0
-rw-r--r--src/components/hero.svelte0
-rw-r--r--src/lib/sanity-client.ts4
-rw-r--r--src/routes/+layout.svelte2
-rw-r--r--src/routes/[lang=lang]/+page.server.ts14
-rw-r--r--src/routes/[lang=lang]/+page.svelte19
-rw-r--r--src/routes/[lang=lang]/+page.ts2
-rw-r--r--src/routes/[lang=lang]/sections/contact.svelte69
-rw-r--r--src/routes/[lang=lang]/sections/description.svelte26
-rw-r--r--src/routes/[lang=lang]/sections/hero.svelte75
-rw-r--r--src/routes/[lang=lang]/sections/products.svelte28
-rw-r--r--src/routes/parts/header.svelte (renamed from src/components/header.svelte)2
24 files changed, 691 insertions, 307 deletions
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 @@
+<script lang="ts">
+ export let title;
+ export let description;
+</script>
+
+<div class="card">
+ <div class="p-6">
+ <h3 class="mt-0">I have a dream</h3>
+ <p class="text-contrast-medium mt-3 mx-0 mb-4">
+ Lorem ipsum dolor, sit amet consectetur adipisicing elit. Quia minus culpa commodi.
+ </p>
+ <div class="flex flex-wrap gap-3">
+ <a href="#0" class="btn btn--subtle">Learn more</a>
+ <a href="#0" class="btn btn--primary">Buy</a>
+ </div>
+ </div>
+</div>
+
+<style lang="postcss">
+ .card {
+ @apply flex flex-col bg-floor rounded-xl overflow-hidden;
+ box-shadow: 0 0 0 1px hsla(230, 13%, 9%, 0.05), 0 0.3px 0.4px hsla(230, 13%, 9%, 0.02),
+ 0 0.9px 1.5px hsla(230, 13%, 9%, 0.045), 0 3.5px 6px hsla(230, 13%, 9%, 0.09);
+ }
+</style>
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 @@
-<script context="module" lang="ts">
- export type ContactModel = {
- addressLines: Array<string>;
- email?: string;
- phone?: string;
- phoneHours?: string;
- };
-</script>
-
-<script lang="ts">
- import LL from "$i18n/i18n-svelte";
-
- export let model: ContactModel;
-
- let visible = true;
-
- $: if (!model.addressLines) {
- visible = false;
- } else {
- visible = true;
- }
-</script>
-
-<section class="contact relative z-1">
- <div class="w-[calc(100%_-_2.5rem)] lg:w-[calc(100%_-_4rem)] mx-auto max-w-7xl">
- <div class="mb-8 lg:mb-12">
- <h1 class="text-center">{$LL.contact.title()}</h1>
- </div>
-
- <div class="grid grid-cols-12 gap-8 lg:gap-12">
- <div class="col-span-12 lg:col-span-6">
- <dl class="details-list details-list--rows">
- {#if (model.addressLines?.length ?? 0) > 0}
- <div class="details-list__item py-5 lg:py-8 lg:flex lg:justify-between">
- <dt class="font-bold mb-1.5 lg:mb-2 lg:mb-0">{$LL.contact.addressTitle()}</dt>
- <dd class="leading-snug lg:text-right">
- {#each model.addressLines as line}
- {line}<br />
- {/each}
- </dd>
- </div>
- {/if}
- {#if model.email}
- <div class="details-list__item py-5 lg:py-8 lg:flex lg:justify-between">
- <dt class="font-bold mb-1.5 lg:mb-2 lg:mb-0">{$LL.contact.emailTitle()}</dt>
- <dd>
- <a href="mailto:webmaster@example.com">{model.email}</a>
- </dd>
- </div>
- {/if}
- {#if model.phone}
- <div class="details-list__item py-5 lg:py-8 lg:flex lg:justify-between">
- <dt class="font-bold mb-1.5 lg:mb-2 lg:mb-0">{$LL.contact.phoneTitle()}</dt>
- <dd class="leading-snug lg:text-right">
- <p><a href="tel:+44 7656 6455">{model.phone}</a></p>
- {#if model.phoneHours}
- <p class="text-contrast-medium">{model.phoneHours}</p>
- {/if}
- </dd>
- </div>
- {/if}
- </dl>
- </div>
- <div class="rounded col-span-12 lg:col-span-6 lg:h-auto lg:pb-0" />
- </div>
- </div>
-</section>
diff --git a/src/components/description.svelte b/src/components/description.svelte
deleted file mode 100644
index e69de29..0000000
--- a/src/components/description.svelte
+++ /dev/null
diff --git a/src/components/hero.svelte b/src/components/hero.svelte
deleted file mode 100644
index e69de29..0000000
--- a/src/components/hero.svelte
+++ /dev/null
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;
</script>
@@ -16,4 +17,5 @@
<link rel="alternate" hreflang="x-default" href={`${replaceLocaleInUrl($page.url, baseLocale, true)}`} />
</svelte:head>
+<Header />
<slot />
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 @@
<script lang="ts">
- import Contact, { type ContactModel } from "$components/contact.svelte";
+ import Contact from "./sections/contact.svelte";
+ import Hero from "./sections/hero.svelte";
+ import Description from "./sections/description.svelte";
+ import Products from "./sections/products.svelte";
+
import type { PageData } from "./$types";
export let data: PageData;
-
- type Model = {
- contact: ContactModel;
- };
-
- const M: Model = {
- contact: data.contact,
- };
</script>
-<Contact model={M.contact} />
+<Hero model={data.hero} />
+<Description model={data.description} />
+<Contact model={data.contact} />
+<Products model={data.products} /> \ 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 @@
+<script context="module" lang="ts">
+ export type ContactModel = {
+ addressLines: Array<string>;
+ email?: string;
+ phone?: string;
+ phoneHours?: string;
+ };
+</script>
+
+<script lang="ts">
+ import LL from "$i18n/i18n-svelte";
+
+ export let model: ContactModel;
+
+ let visible = true;
+
+ $: if (!model.addressLines) {
+ visible = false;
+ } else {
+ visible = true;
+ }
+</script>
+
+{#if visible}
+ <section class="contact relative z-1">
+ <div class="w-[calc(100%_-_2.5rem)] lg:w-[calc(100%_-_4rem)] mx-auto max-w-7xl">
+ <div class="mb-8 lg:mb-12">
+ <h1 class="text-center">{$LL.contact.title()}</h1>
+ </div>
+
+ <div class="grid grid-cols-12 gap-8 lg:gap-12">
+ <div class="col-span-12 lg:col-span-6">
+ <dl class="details-list details-list--rows">
+ {#if (model.addressLines?.length ?? 0) > 0}
+ <div class="details-list__item py-5 lg:py-8 lg:flex lg:justify-between">
+ <dt class="font-bold mb-1.5 lg:mb-2 lg:mb-0">{$LL.contact.addressTitle()}</dt>
+ <dd class="leading-snug lg:text-right">
+ {#each model.addressLines as line}
+ {line}<br />
+ {/each}
+ </dd>
+ </div>
+ {/if}
+ {#if model.email}
+ <div class="details-list__item py-5 lg:py-8 lg:flex lg:justify-between">
+ <dt class="font-bold mb-1.5 lg:mb-2 lg:mb-0">{$LL.contact.emailTitle()}</dt>
+ <dd>
+ <a href="mailto:webmaster@example.com">{model.email}</a>
+ </dd>
+ </div>
+ {/if}
+ {#if model.phone}
+ <div class="details-list__item py-5 lg:py-8 lg:flex lg:justify-between">
+ <dt class="font-bold mb-1.5 lg:mb-2 lg:mb-0">{$LL.contact.phoneTitle()}</dt>
+ <dd class="leading-snug lg:text-right">
+ <p><a href="tel:+44 7656 6455">{model.phone}</a></p>
+ {#if model.phoneHours}
+ <p class="text-contrast-medium">{model.phoneHours}</p>
+ {/if}
+ </dd>
+ </div>
+ {/if}
+ </dl>
+ </div>
+ <div class="rounded col-span-12 lg:col-span-6 lg:h-auto lg:pb-0" />
+ </div>
+ </div>
+ </section>
+{/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 @@
+<script context="module" lang="ts">
+ export type DescriptionModel = {
+ title: string;
+ content?: any;
+ };
+</script>
+
+<script lang="ts">
+ import { PortableText } from "@portabletext/svelte";
+ export let model: DescriptionModel;
+
+ let visible = true;
+
+ $: if (!model.title) {
+ visible = false;
+ } else {
+ visible = true;
+ }
+</script>
+
+{#if visible}
+ <h3>{model.title}</h3>
+ {#if model.content}
+ <PortableText value={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 @@
+<script context="module" lang="ts">
+ export type HeroModel = {
+ title: string;
+ content?: any;
+ };
+</script>
+
+<script lang="ts">
+ import { PortableText } from "@portabletext/svelte";
+ export let model: HeroModel;
+
+ let visible = true;
+
+ $: if (!model.title) {
+ visible = false;
+ } else {
+ visible = true;
+ }
+</script>
+
+{#if visible}
+ <section class="has-section-divider-bottom bg-contrast-low/50">
+ <div class="py-20 lg:py-32">
+ <div class="w-[calc(100%_-_2.5rem)] lg:w-[calc(100%_-_4rem)] mx-auto max-w-lg md:max-w-3xl">
+ <div class="text-component">
+ <h1>{model.title}</h1>
+ {#if model.content}
+ <PortableText value={model.content} />
+ {/if}
+ </div>
+ </div>
+ </div>
+
+ <div class="section-divider">
+ <svg viewBox="0 0 1920 60" aria-hidden="true">
+ <path
+ class="fill-floor"
+ d="M-153.5,85.5a4002.033,4002.033,0,0,1,658-71c262.854-6.5,431.675,15.372,600,27,257.356,17.779,624.828,19.31,1089-58v102Z"
+ />
+ </svg>
+ </div>
+ </section>
+{/if}
+
+<style lang="postcss">
+ :root {
+ --section-divider-width: 1920;
+ --section-divider-height: 60;
+ --section-divider-ratio: calc(100% * var(--section-divider-height) / var(--section-divider-width));
+ }
+
+ [class*="has-section-divider"] {
+ position: relative;
+ }
+
+ .has-section-divider-bottom {
+ padding-bottom: var(--section-divider-ratio);
+ }
+
+ .section-divider {
+ position: absolute;
+ bottom: -1px;
+ left: 0;
+ width: 100%;
+ overflow: hidden;
+ }
+ .section-divider svg {
+ position: relative;
+ display: block;
+ height: auto;
+ max-width: none;
+ width: 102%;
+ left: -1%;
+ }
+</style>
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 @@
+<script context="module" lang="ts">
+ export type ProductsModel = {
+ products: ProductModel[];
+ };
+
+ export type ProductModel = {
+ title: string;
+ duration: string;
+ cost: string;
+ description: string;
+ orderLink: string;
+ };
+</script>
+
+<script lang="ts">
+ export let model: ProductsModel;
+
+ let visible = true;
+ $: if (!model.products || !model.products.length) {
+ visible = false;
+ } else {
+ visible = true;
+ }
+</script>
+
+{#if visible}
+
+{/if} \ No newline at end of file
diff --git a/src/components/header.svelte b/src/routes/parts/header.svelte
index 5789196..55f1da0 100644
--- a/src/components/header.svelte
+++ b/src/routes/parts/header.svelte
@@ -1,6 +1,6 @@
<script lang="ts">
import { locale } from "$i18n/i18n-svelte";
- import LocaleSwitcher from "./locale-switcher.svelte";
+ import LocaleSwitcher from "$components/locale-switcher.svelte";
</script>
<header>