diff --git a/customtypes/settings/index.json b/customtypes/settings/index.json index 1603e05e..a6397272 100644 --- a/customtypes/settings/index.json +++ b/customtypes/settings/index.json @@ -75,7 +75,7 @@ "allowTargetBlank": true, "allowText": true, "repeat": true, - "variants": ["Primary", "Secondary"] + "variants": ["Primary", "Secondary", "Alt"] } }, "slices2": { diff --git a/package-lock.json b/package-lock.json index f86a55ea..61ebdb9c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ }, "devDependencies": { "@eslint-react/eslint-plugin": "1.49.0", - "@slicemachine/adapter-next": "0.3.82", + "@slicemachine/adapter-next": "0.3.83", "@tailwindcss/postcss": "4.1.7", "@types/node": "22.15.19", "@types/react": "19.1.4", @@ -55,7 +55,7 @@ "postcss": "8.5.3", "prettier": "3.6.2", "prettier-plugin-tailwindcss": "0.6.14", - "slice-machine-ui": "2.18.0", + "slice-machine-ui": "2.18.1", "tailwindcss": "4.1.7", "typescript": "5.8.3", "typescript-eslint": "8.39.0" @@ -1939,9 +1939,9 @@ } }, "node_modules/@prismicio/mocks/node_modules/@prismicio/types-internal": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@prismicio/types-internal/-/types-internal-3.16.0.tgz", - "integrity": "sha512-yey97HwFpe54kLv6iXTelENmhzHf4BiaTQIl4Y39pUda7tykqtGsXkxMAw7fjT8x6etaiomYjWGTE1ahpR8VKQ==", + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/@prismicio/types-internal/-/types-internal-3.16.1.tgz", + "integrity": "sha512-oS/PRtsF8V58j5MDOpWVKlIxUBmVExvn5ylOJsiPoGCEGMcY67MxkcI+LdNoB/wigckpPBwOisLhHlr6M70TZw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3718,15 +3718,15 @@ "license": "BSD-3-Clause" }, "node_modules/@slicemachine/adapter-next": { - "version": "0.3.82", - "resolved": "https://registry.npmjs.org/@slicemachine/adapter-next/-/adapter-next-0.3.82.tgz", - "integrity": "sha512-cb9K7VJ6oPTWO4vAdUjJU8KW9HekC/x2g692GgFIau1RQbEK1p1qQ8APTb7LwFl5wdWo3Q4HtVzPTwmsLUBSPA==", + "version": "0.3.83", + "resolved": "https://registry.npmjs.org/@slicemachine/adapter-next/-/adapter-next-0.3.83.tgz", + "integrity": "sha512-kGjNCS2aRktC7dHfMadXzNQ4zq9Rb0b+PUMw0MPPaQcGGyX+7gQSRCEaGKoFomRaVzZ7zicy4CUOz2MUj/gzKQ==", "dev": true, "license": "Apache-2.0", "dependencies": { "@prismicio/simulator": "^0.1.4", "@prismicio/types-internal": "3.11.2", - "@slicemachine/plugin-kit": "0.4.80", + "@slicemachine/plugin-kit": "0.4.81", "common-tags": "^1.8.2", "fp-ts": "^2.13.1", "io-ts": "^2.2.20", @@ -3766,9 +3766,9 @@ } }, "node_modules/@slicemachine/manager": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@slicemachine/manager/-/manager-0.25.2.tgz", - "integrity": "sha512-GorxkFda2kKHOFueX0fR4Nv8nYm8eCGj+qVKd2CbICDNUlBpSO+CXa0NGglZan8EIVNGxtcMsNUwdGcxaNhMbg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@slicemachine/manager/-/manager-0.25.3.tgz", + "integrity": "sha512-wYlaL/+yGQ+32H/GPuQWDf8baT05/iLgpnqxay8e/FtKiruW4hCXHEE8MzmUu8xHzcN9+jB4RGrq+8/9aaPyfg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3778,7 +3778,7 @@ "@prismicio/mocks": "2.14.0", "@prismicio/types-internal": "3.11.2", "@segment/analytics-node": "^2.1.2", - "@slicemachine/plugin-kit": "0.4.80", + "@slicemachine/plugin-kit": "0.4.81", "cookie": "^1.0.1", "cors": "^2.8.5", "execa": "^7.1.1", @@ -3888,9 +3888,9 @@ } }, "node_modules/@slicemachine/plugin-kit": { - "version": "0.4.80", - "resolved": "https://registry.npmjs.org/@slicemachine/plugin-kit/-/plugin-kit-0.4.80.tgz", - "integrity": "sha512-NIy0InHB8XvZVlMjLkXA7eSzSlGzpuzGZnpqlaJHRCDz0318mRAXxSPh/oDmptD7OV4RvL7tEUcIRN7BW0LU5g==", + "version": "0.4.81", + "resolved": "https://registry.npmjs.org/@slicemachine/plugin-kit/-/plugin-kit-0.4.81.tgz", + "integrity": "sha512-B4apt4lp/oH91wRp07PHLgJMygQwhDwJiX8NisYfuMA68BcVv3GnZ4ebRFj0LZK/i5zISwAnzIwqlYlngiPuCQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -6199,9 +6199,9 @@ } }, "node_modules/decamelize": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz", - "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.1.tgz", + "integrity": "sha512-G7Cqgaelq68XHJNGlZ7lrNQyhZGsFqpwtGFexqUv4IQdjKoSYF7ipZ9UuTJZUSQXFj/XaoBLuEVIVqr8EJngEQ==", "dev": true, "license": "MIT", "engines": { @@ -10776,9 +10776,9 @@ } }, "node_modules/node-mock-http": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.2.tgz", - "integrity": "sha512-zWaamgDUdo9SSLw47we78+zYw/bDr5gH8pH7oRRs8V3KmBtu8GLgGIbV2p/gRPd3LWpEOpjQj7X1FOU3VFMJ8g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.3.tgz", + "integrity": "sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==", "dev": true, "license": "MIT" }, @@ -12770,14 +12770,14 @@ } }, "node_modules/slice-machine-ui": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/slice-machine-ui/-/slice-machine-ui-2.18.0.tgz", - "integrity": "sha512-zN9JY+TnCfcl/rhovENmKzHgUze+GyS/htEBntT5z73tYw+ljTWvwxXGl+/9mAnwVVd1RXuluiZRih8VbqV6qQ==", + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/slice-machine-ui/-/slice-machine-ui-2.18.1.tgz", + "integrity": "sha512-xWAzkoZ56wJ7oUVfOnKIzwOKVlC2B9MDJmjj+nqEq1HL2KwfkkPm+qRANgUZmgTjP6jikIEXGfiuEpDZME7v8g==", "dev": true, "license": "MIT", "dependencies": { - "@slicemachine/manager": "0.25.2", - "start-slicemachine": "0.12.60" + "@slicemachine/manager": "0.25.3", + "start-slicemachine": "0.12.61" }, "bin": { "start-slicemachine": "bin/start-slicemachine.cjs" @@ -12851,15 +12851,15 @@ "license": "MIT" }, "node_modules/start-slicemachine": { - "version": "0.12.60", - "resolved": "https://registry.npmjs.org/start-slicemachine/-/start-slicemachine-0.12.60.tgz", - "integrity": "sha512-Y5llQqAwNTQlzq8OTi3ald4PJVJEbc8ib44D2ltoXeAclLoetEbXMr30nknLEnj31WLouu7RQ1hw1tm9zA+LTA==", + "version": "0.12.61", + "resolved": "https://registry.npmjs.org/start-slicemachine/-/start-slicemachine-0.12.61.tgz", + "integrity": "sha512-br6/Qwg1PnOjIg3RaLm16iNq21nUW8MzeZnt9ULAyd+eCh+HSn+/TWKPJka9TYhX3TsV69jOIXUh2UMxx+Keug==", "dev": true, "license": "Apache-2.0", "dependencies": { "@prismicio/mocks": "2.14.0", "@prismicio/types-internal": "3.11.2", - "@slicemachine/manager": "0.25.2", + "@slicemachine/manager": "0.25.3", "body-parser": "^1.20.3", "chalk": "^4.1.2", "cors": "^2.8.5", diff --git a/package.json b/package.json index 8168bc2d..b8783a2e 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@eslint-react/eslint-plugin": "1.49.0", - "@slicemachine/adapter-next": "0.3.82", + "@slicemachine/adapter-next": "0.3.83", "@tailwindcss/postcss": "4.1.7", "@types/node": "22.15.19", "@types/react": "19.1.4", @@ -64,7 +64,7 @@ "postcss": "8.5.3", "prettier": "3.6.2", "prettier-plugin-tailwindcss": "0.6.14", - "slice-machine-ui": "2.18.0", + "slice-machine-ui": "2.18.1", "tailwindcss": "4.1.7", "typescript": "5.8.3", "typescript-eslint": "8.39.0" diff --git a/prismicio-types.d.ts b/prismicio-types.d.ts index 9e6146e0..fc62cb4d 100644 --- a/prismicio-types.d.ts +++ b/prismicio-types.d.ts @@ -537,7 +537,7 @@ interface SettingsDocumentData { string, unknown, prismic.FieldState, - 'Primary' | 'Secondary' + 'Primary' | 'Secondary' | 'Alt' > > diff --git a/src/app/globals.css b/src/app/globals.css index 096ed358..64dac660 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -16,7 +16,7 @@ --spacing-30: --spacing(30); --color-primary-600: #7b28ff; - --color-accent-600: #7FFAC1; + --color-accent-600: #7ffac1; --color-accent-500: #004af8; --color-accent-400: #14d9d1; --color-accent-300: #e9ace6; @@ -24,6 +24,12 @@ --color-accent-100: #b485ff; --color-neutral-900: #0e1015; --color-neutral-800: #1d1f25; + --color-neutral-700: #2a2e37; + --color-neutral-600: #454954; + --color-neutral-500: #343841; + --color-neutral-400: #4f535c; + --color-neutral-300: #c5c9d2; + --color-neutral-200: #e5e7eb; --color-neutral-000: #ffffff; --color-stroke: --alpha(var(--color-neutral-900) / 10%); --color-inverse-stroke: --alpha(var(--color-neutral-000) / 10%); @@ -34,6 +40,9 @@ 0px 0px 1px 0px #752fff1a, 0px 2px 2px 0px #752fff17, 0px 4px 2px 0px #752fff0d, 0px 7px 3px 0px #752fff03, 0px 11px 3px 0px #752fff00; + --shadow-secondary: + rgba(14, 16, 21, 0.18) 0px 2px 7px 0px, + rgba(14, 16, 21, 0.14) 0px 2px 4px 0px; --default-transition-duration: 300ms; --default-transition-timing-function: ease-out; diff --git a/src/components/PrismicButton.tsx b/src/components/PrismicButton.tsx index 4ab464ff..3eaeef7f 100644 --- a/src/components/PrismicButton.tsx +++ b/src/components/PrismicButton.tsx @@ -18,6 +18,7 @@ export default function PrismicButton({ { Primary: 'primary', Secondary: 'secondary', + Alt: 'alt', } as const )[field?.variant || ''] diff --git a/src/components/ui/Button.tsx b/src/components/ui/Button.tsx index 9bbc51ff..739849c1 100644 --- a/src/components/ui/Button.tsx +++ b/src/components/ui/Button.tsx @@ -16,6 +16,7 @@ const button = tv({ 'bg-primary-600 !text-neutral-000 hover:bg-neutral-000 hover:!text-neutral-800 shadow-primary', secondary: 'border border-neutral-000/10 text-text-body hover:border-neutral-000/20 hover:text-neutral-000', + alt: 'bg-neutral-700 border border-neutral-600 text-neutral-300 shadow-secondary hover:bg-neutral-500 hover:border-neutral-400', }, size: { xs: { diff --git a/yarn.lock b/yarn.lock index b42b3966..e37109f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2766,13 +2766,13 @@ __metadata: languageName: node linkType: hard -"@slicemachine/adapter-next@npm:0.3.82": - version: 0.3.82 - resolution: "@slicemachine/adapter-next@npm:0.3.82" +"@slicemachine/adapter-next@npm:0.3.83": + version: 0.3.83 + resolution: "@slicemachine/adapter-next@npm:0.3.83" dependencies: "@prismicio/simulator": ^0.1.4 "@prismicio/types-internal": 3.11.2 - "@slicemachine/plugin-kit": 0.4.80 + "@slicemachine/plugin-kit": 0.4.81 common-tags: ^1.8.2 fp-ts: ^2.13.1 io-ts: ^2.2.20 @@ -2784,13 +2784,13 @@ __metadata: peerDependencies: next: ^11 || ^12 || ^13 || ^14 || ^15.0.0-rc.0 react: ^17 || ^18 || ^19.0.0-rc.0 - checksum: f287d5a87de669badf2e4f1f0b354ad845c7916f3d16e094c0c9990b1b400d870d6ba509862e491c7b34cef6dc6a75bdbfc9bdd0b643c114a5f0eb2311eaa591 + checksum: fcf81037338414b1aaa8e33939ea36edbe617c0d31a0407bedefd3736d9796f3f8c9d6f2d4a4f47a25b5ebe4d7cf0c0001dc08560eed302af8ea85cd3b6a7cbf languageName: node linkType: hard -"@slicemachine/manager@npm:0.25.2": - version: 0.25.2 - resolution: "@slicemachine/manager@npm:0.25.2" +"@slicemachine/manager@npm:0.25.3": + version: 0.25.3 + resolution: "@slicemachine/manager@npm:0.25.3" dependencies: "@antfu/ni": ^0.20.0 "@prismicio/client": 7.17.0 @@ -2798,7 +2798,7 @@ __metadata: "@prismicio/mocks": 2.14.0 "@prismicio/types-internal": 3.11.2 "@segment/analytics-node": ^2.1.2 - "@slicemachine/plugin-kit": 0.4.80 + "@slicemachine/plugin-kit": 0.4.81 cookie: ^1.0.1 cors: ^2.8.5 execa: ^7.1.1 @@ -2823,13 +2823,13 @@ __metadata: peerDependenciesMeta: msw: optional: true - checksum: 9a37021a0db05d4906f75081a25431aa1b8229b650bf0e578449a055fe084a6cf86b84ef7b2bc916083961084f62103b7690200abe9fcc9ff73c4245b1916252 + checksum: 35b18bb12f3cf1018d5a1b1b8b3b6189c7f14b5fb3cdff90fad8e46dab9b6916919dbb9fde0f94d144f96a79122ad590c501dbf83c36668cb12423e9079386a7 languageName: node linkType: hard -"@slicemachine/plugin-kit@npm:0.4.80": - version: 0.4.80 - resolution: "@slicemachine/plugin-kit@npm:0.4.80" +"@slicemachine/plugin-kit@npm:0.4.81": + version: 0.4.81 + resolution: "@slicemachine/plugin-kit@npm:0.4.81" dependencies: "@prismicio/client": 7.17.0 common-tags: ^1.8.2 @@ -2842,7 +2842,7 @@ __metadata: p-limit: ^4.0.0 prettier: ^3.0.3 prismic-ts-codegen: 0.1.27 - checksum: fdaa5057f2c8f7f84cb314b45bb4c739dd7c2331fe1b76dd797f70d2efcd1775bd25c3485f14a9ce55bf66c0327b7f4a3101f3b64a8fd9b590a0e8a6c07d3fb2 + checksum: 6a0becb0ea67d79881da02c65765652edff4a9c3347c07e49b3b60a36397b6ba3d325e7ea0fca0543f072452e699c213a9f0f47483618dbefb7e691ae8468130 languageName: node linkType: hard @@ -7770,7 +7770,7 @@ __metadata: "@prismicio/client": 7.18.0 "@prismicio/next": 1.7.2 "@prismicio/react": 3.2.1 - "@slicemachine/adapter-next": 0.3.82 + "@slicemachine/adapter-next": 0.3.83 "@tailwindcss/postcss": 4.1.7 "@types/node": 22.15.19 "@types/open-graph-scraper": 5.2.3 @@ -7806,7 +7806,7 @@ __metadata: react-google-recaptcha: 3.1.0 react-icons: 5.4.0 react-lite-youtube-embed: 2.5.1 - slice-machine-ui: 2.18.0 + slice-machine-ui: 2.18.1 tailwind-merge: 3.3.0 tailwind-variants: 1.0.0 tailwindcss: 4.1.7 @@ -8810,15 +8810,15 @@ __metadata: languageName: node linkType: hard -"slice-machine-ui@npm:2.18.0": - version: 2.18.0 - resolution: "slice-machine-ui@npm:2.18.0" +"slice-machine-ui@npm:2.18.1": + version: 2.18.1 + resolution: "slice-machine-ui@npm:2.18.1" dependencies: - "@slicemachine/manager": 0.25.2 - start-slicemachine: 0.12.60 + "@slicemachine/manager": 0.25.3 + start-slicemachine: 0.12.61 bin: start-slicemachine: ./bin/start-slicemachine.cjs - checksum: 88e24d6d3e3f04f2357ca50137be774ce7f0c1bf0d50db2ebe8de34ff71e8f8eb3f6a34c6edcd6e3ee6e982120aaacd53a002a33978c2912e711e8dab1d187c3 + checksum: 72cda574ba3a71620aca90555f6a99d9804561739224e47bf708e9d030466a36ccd13e5cd0b3e095a7d9c225751a532f34d00f2931f2552b59789f1ab443ae9b languageName: node linkType: hard @@ -8877,13 +8877,13 @@ __metadata: languageName: node linkType: hard -"start-slicemachine@npm:0.12.60": - version: 0.12.60 - resolution: "start-slicemachine@npm:0.12.60" +"start-slicemachine@npm:0.12.61": + version: 0.12.61 + resolution: "start-slicemachine@npm:0.12.61" dependencies: "@prismicio/mocks": 2.14.0 "@prismicio/types-internal": 3.11.2 - "@slicemachine/manager": 0.25.2 + "@slicemachine/manager": 0.25.3 body-parser: ^1.20.3 chalk: ^4.1.2 cors: ^2.8.5 @@ -8900,7 +8900,7 @@ __metadata: serve-static: ^1.15.0 bin: start-slicemachine: ./bin/start-slicemachine.js - checksum: e5450bbfcdc9d8582b1ad54c3cba8a79de9b98d0d3a650f3d93c79ae37ca882280fbeefbc58b51a47cd2f429329f26f6638bbbc84aac5cc8fe50d187f33df062 + checksum: 845f8c474fee4ea8656a0b22b0ce87330eecc5fe76d11d879a4d712c08d6f2079578b4e13b161bcabea55dec8cc0fcc859ff638ba4ee8b4e3a32e482be7205a7 languageName: node linkType: hard