From 6e269c658e5411cf8e945d3f9e83444040413c4d Mon Sep 17 00:00:00 2001 From: Jorge Moya Date: Mon, 23 Sep 2024 11:33:37 -0500 Subject: [PATCH] chore: use soul tailwind config and fonts, electric colors --- core/app/[locale]/layout.tsx | 23 +++++-- core/app/globals.css | 29 ++++++++ core/package.json | 1 + core/tailwind.config.js | 114 ++++++++++++++++++++++--------- pnpm-lock.yaml | 128 ++++++++++------------------------- 5 files changed, 167 insertions(+), 128 deletions(-) diff --git a/core/app/[locale]/layout.tsx b/core/app/[locale]/layout.tsx index 8d30dc24e..267664fe8 100644 --- a/core/app/[locale]/layout.tsx +++ b/core/app/[locale]/layout.tsx @@ -1,7 +1,7 @@ import { Analytics } from '@vercel/analytics/react'; import { SpeedInsights } from '@vercel/speed-insights/next'; import type { Metadata } from 'next'; -import { Inter } from 'next/font/google'; +import { DM_Serif_Text, Inter, Roboto_Mono } from 'next/font/google'; import { NextIntlClientProvider, useMessages } from 'next-intl'; import { unstable_setRequestLocale } from 'next-intl/server'; import { PropsWithChildren } from 'react'; @@ -15,10 +15,23 @@ import { revalidate } from '~/client/revalidate-target'; import { Notifications } from '../notifications'; import { Providers } from '../providers'; -const inter = Inter({ +const heading = DM_Serif_Text({ subsets: ['latin'], display: 'swap', - variable: '--font-inter', + weight: '400', + variable: '--font-family-heading', +}); + +const body = Inter({ + subsets: ['latin'], + display: 'swap', + variable: '--font-family-body', +}); + +const mono = Roboto_Mono({ + subsets: ['latin'], + display: 'swap', + variable: '--font-family-mono', }); const RootLayoutMetadataQuery = graphql(` @@ -88,8 +101,8 @@ export default function RootLayout({ children, params: { locale } }: Props) { const messages = useMessages(); return ( - - + + {children} diff --git a/core/app/globals.css b/core/app/globals.css index b5c61c956..29f31305c 100644 --- a/core/app/globals.css +++ b/core/app/globals.css @@ -1,3 +1,32 @@ @tailwind base; @tailwind components; @tailwind utilities; + +:root { + --primary: 97 100% 68%; + --accent: 97 100% 68%; + --background: 0 0% 100%; + --foreground: 0 0% 7%; + --success: 116, 46%, 49%; + --error: 0, 100%, 50%; + --warning: 40, 100%, 50%; + --info: 220 70% 45%; + --contrast-100: 0 0% 93%; + --contrast-200: 0 0% 89%; + --contrast-300: 0 0% 72%; + --contrast-400: 0 0% 60%; + --contrast-500: 0 0% 53%; + --font-variation-settings-body: "slnt" 0; + --font-variation-settings-heading: "slnt" 0; + --font-size-xs: 0.75rem; + --font-size-sm: 0.875rem; + --font-size-base: 1rem; + --font-size-lg: 1.125rem; + --font-size-xl: 1.25rem; + --font-size-2xl: 1.5rem; + --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + --shadow-base: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); + --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); + --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); + --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); + } \ No newline at end of file diff --git a/core/package.json b/core/package.json index e572918fb..d2d9098fd 100644 --- a/core/package.json +++ b/core/package.json @@ -68,6 +68,7 @@ "@next/bundle-analyzer": "^14.2.13", "@playwright/test": "^1.47.2", "@tailwindcss/container-queries": "^0.1.1", + "@tailwindcss/typography": "^0.5.15", "@types/lodash.debounce": "^4.0.9", "@types/node": "^20.16.5", "@types/react": "^18.3.8", diff --git a/core/tailwind.config.js b/core/tailwind.config.js index ef60d04f4..d360c1bf6 100644 --- a/core/tailwind.config.js +++ b/core/tailwind.config.js @@ -1,59 +1,109 @@ /** @type {import('tailwindcss').Config} */ const config = { + darkMode: ['class'], content: [ './app/**/*.{ts,tsx}', './components/**/*.{ts,tsx}', '!./node_modules/**', // Exclude everything in node_modules to speed up builds ], + prefix: '', theme: { extend: { colors: { - transparent: 'transparent', - current: 'currentColor', - black: '#000000', - primary: '#053FB0', - secondary: '#3071EF', - white: '#FFFFFF', - error: { - DEFAULT: '#AD0000', - secondary: '#C62828', + secondary: '#3071EF', // TODO: REMOVE WHEN MERGE + primary: { + DEFAULT: 'hsl(var(--primary))', + highlight: 'color-mix(in oklab, hsl(var(--primary)), white 75%)', + shadow: 'color-mix(in oklab, hsl(var(--primary)), black 75%)', + }, + accent: { + DEFAULT: 'hsl(var(--accent))', + highlight: 'color-mix(in oklab, hsl(var(--accent)), white 75%)', + shadow: 'color-mix(in oklab, hsl(var(--accent)), black 75%)', }, success: { - DEFAULT: '#146622', - secondary: '#388E3C', + DEFAULT: 'hsl(var(--success))', + highlight: 'color-mix(in oklab, hsl(var(--success)), white 75%)', + shadow: 'color-mix(in oklab, hsl(var(--success)), black 75%)', + }, + error: { + DEFAULT: 'hsl(var(--error))', + highlight: 'color-mix(in oklab, hsl(var(--error)), white 75%)', + shadow: 'color-mix(in oklab, hsl(var(--error)), black 75%)', + secondary: '#C62828', // TODO: REMOVE WHEN MERGE + }, + warning: { + DEFAULT: 'hsl(var(--warning))', + highlight: 'color-mix(in oklab, hsl(var(--warning)), white 75%)', + shadow: 'color-mix(in oklab, hsl(var(--warning)), black 75%)', }, - gray: { - 100: '#F1F3F5', - 200: '#CFD8DC', - 300: '#AFBAC5', - 400: '#90A4AE', - 500: '#546E7A', - 600: '#091D45', + info: { + DEFAULT: 'hsl(var(--info))', + highlight: 'color-mix(in oklab, hsl(var(--info)), white 75%)', + shadow: 'color-mix(in oklab, hsl(var(--info)), black 75%)', + }, + background: 'hsl(var(--background))', + foreground: 'hsl(var(--foreground))', + contrast: { + 100: 'hsl(var(--contrast-100))', + 200: 'hsl(var(--contrast-200))', + 300: 'hsl(var(--contrast-300))', + 400: 'hsl(var(--contrast-400))', + 500: 'hsl(var(--contrast-500))', }, }, fontFamily: { - sans: ['var(--font-inter)'], - }, - borderColor: { - DEFAULT: '#CFD8DC', + heading: [ + 'var(--font-family-heading)', + { + fontFeatureSettings: 'var(--font-feature-settings-heading)', + fontVariationSettings: 'var(--font-variation-settings-heading)', + }, + ], + body: [ + 'var(--font-family-body)', + { + fontFeatureSettings: 'var(--font-feature-settings-body)', + fontVariationSettings: 'var(--font-variation-settings-body)', + }, + ], + mono: [ + 'var(--font-family-mono)', + { + fontFeatureSettings: 'var(--font-feature-settings-mono)', + fontVariationSettings: 'var(--font-variation-settings-mono)', + }, + ], }, - keyframes: { - revealVertical: { - '0%': { transform: 'translateY(-100%)' }, - '100%': { transform: 'translateY(0%)' }, - }, + fontSize: { + xs: 'var(--font-size-xs, 0.75rem)', + sm: 'var(--font-size-sm, 0.875rem)', + base: 'var(--font-size-base, 1rem)', + lg: 'var(--font-size-lg, 1.125rem)', + xl: 'var(--font-size-xl, 1.25rem)', + '2xl': 'var(--font-size-2xl, 1.5rem)', + '3xl': 'var(--font-size-3xl, 1.875rem)', + '4xl': 'var(--font-size-4xl, 2.25rem)', + '5xl': 'var(--font-size-5xl, 3rem)', + '6xl': 'var(--font-size-6xl, 3.75rem)', + '7xl': 'var(--font-size-7xl, 4.5rem)', + '8xl': 'var(--font-size-8xl, 6rem)', + '9xl': 'var(--font-size-9xl, 8rem)', }, - animation: { - revealVertical: 'revealVertical 400ms forwards cubic-bezier(0, 1, 0.25, 1)', + shadows: { + sm: 'var(--shadow-sm)', + DEFAULT: 'var(--shadow-base)', + md: 'var(--shadow-md)', + lg: 'var(--shadow-lg)', + xl: 'var(--shadow-xl)', }, }, }, - plugins: [ // @ts-ignore - - require('tailwindcss-radix')(), + require('tailwindcss-radix')(), // TODO: REMOVE WHEN MERGE require('tailwindcss-animate'), + require('@tailwindcss/typography'), require('@tailwindcss/container-queries'), ], }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 637250316..d91ab1e7c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -186,6 +186,9 @@ importers: '@tailwindcss/container-queries': specifier: ^0.1.1 version: 0.1.1(tailwindcss@3.4.13) + '@tailwindcss/typography': + specifier: ^0.5.15 + version: 0.5.15(tailwindcss@3.4.13) '@types/lodash.debounce': specifier: ^4.0.9 version: 4.0.9 @@ -249,7 +252,7 @@ importers: devDependencies: '@bigcommerce/eslint-config': specifier: ^2.9.1 - version: 2.9.1(@types/eslint@9.6.1)(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5))(typescript@5.6.2) + version: 2.9.1(@types/eslint@9.6.1)(eslint@8.57.1)(jest@29.7.0)(typescript@5.6.2) '@bigcommerce/eslint-config-catalyst': specifier: workspace:^ version: link:../eslint-config-catalyst @@ -319,7 +322,7 @@ importers: devDependencies: '@bigcommerce/eslint-config': specifier: ^2.9.1 - version: 2.9.1(@types/eslint@9.6.1)(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5))(typescript@5.6.2) + version: 2.9.1(@types/eslint@9.6.1)(eslint@8.57.1)(jest@29.7.0)(typescript@5.6.2) '@bigcommerce/eslint-config-catalyst': specifier: workspace:^ version: link:../eslint-config-catalyst @@ -1959,6 +1962,11 @@ packages: peerDependencies: tailwindcss: '>=3.2.0' + '@tailwindcss/typography@0.5.15': + resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20' + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -3863,9 +3871,15 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} @@ -4381,6 +4395,10 @@ packages: peerDependencies: postcss: ^8.2.14 + postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} @@ -5609,37 +5627,6 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@bigcommerce/eslint-config@2.9.1(@types/eslint@9.6.1)(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5))(typescript@5.6.2)': - dependencies: - '@bigcommerce/eslint-plugin': 1.3.1(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) - '@rushstack/eslint-patch': 1.10.4 - '@stylistic/eslint-plugin': 2.7.2(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/eslint-plugin': 8.4.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/parser': 8.4.0(eslint@8.57.1)(typescript@5.6.2) - eslint: 8.57.1 - eslint-config-prettier: 9.1.0(eslint@8.57.1) - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1) - eslint-plugin-gettext: 1.2.0 - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) - eslint-plugin-jest: 28.8.3(@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(jest@29.7.0)(typescript@5.6.2) - eslint-plugin-jest-formatting: 3.1.0(eslint@8.57.1) - eslint-plugin-jsdoc: 50.2.2(eslint@8.57.1) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) - eslint-plugin-prettier: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) - eslint-plugin-react: 7.35.2(eslint@8.57.1) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - eslint-plugin-switch-case: 1.1.2 - prettier: 3.3.3 - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - '@types/eslint' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - eslint-plugin-import-x - - jest - - supports-color - '@bigcommerce/eslint-config@2.9.1(@types/eslint@9.6.1)(eslint@8.57.1)(jest@29.7.0)(typescript@5.6.2)': dependencies: '@bigcommerce/eslint-plugin': 1.3.1(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) @@ -7136,6 +7123,14 @@ snapshots: dependencies: tailwindcss: 3.4.13 + '@tailwindcss/typography@0.5.15(tailwindcss@3.4.13)': + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + postcss-selector-parser: 6.0.10 + tailwindcss: 3.4.13 + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.24.7 @@ -8243,25 +8238,6 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1): - dependencies: - '@nolyfill/is-core-module': 1.0.39 - debug: 4.3.6 - enhanced-resolve: 5.17.1 - eslint: 8.57.1 - eslint-module-utils: 2.9.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) - fast-glob: 3.3.2 - get-tsconfig: 4.8.0 - is-bun-module: 1.1.0 - is-glob: 4.0.3 - optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 @@ -8292,17 +8268,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.9.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 8.4.0(eslint@8.57.1)(typescript@5.6.2) - eslint: 8.57.1 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1) - transitivePeerDependencies: - - supports-color - eslint-module-utils@2.9.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 @@ -8324,34 +8289,6 @@ snapshots: dependencies: gettext-parser: 4.2.0 - eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.57.1 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.9.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) - hasown: 2.0.2 - is-core-module: 2.15.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.0 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 8.4.0(eslint@8.57.1)(typescript@5.6.2) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 @@ -9554,8 +9491,12 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.castarray@4.4.0: {} + lodash.debounce@4.0.8: {} + lodash.isplainobject@4.0.6: {} + lodash.kebabcase@4.1.1: {} lodash.last@3.0.0: {} @@ -10024,6 +9965,11 @@ snapshots: postcss: 8.4.47 postcss-selector-parser: 6.1.2 + postcss-selector-parser@6.0.10: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0