const plugin = require('tailwindcss/plugin') const pluginTypography = require('@tailwindcss/typography') const hoveredSiblingPlugin = plugin(function ({ addVariant, e }) { addVariant('hovered-sibling', ({ container }) => { container.walkRules((rule) => { rule.selector = `:hover + .hovered-sibling\\:${rule.selector.slice(1)}` }) }) }) module.exports = { theme: { fontFamily: { sans: [ 'Inter', 'ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'Noto Sans', 'sans-serif', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', ], serif: [ 'Source Serif Pro', 'ui-serif', 'Georgia', 'Cambria', 'Times New Roman', 'Times', 'serif', ], mono: [ 'Fira Code', 'ui-monospace', 'SFMono-Regular', 'Menlo', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New', 'monospace', ], prose: [ 'Source Sans Pro', 'ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'Noto Sans', 'sans-serif', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', ], }, extend: { typography: (theme) => ({ DEFAULT: { css: { fontFamily: theme('fontFamily.prose').join(', '), }, }, }), }, }, variants: { extend: { borderRadius: ['first', 'last'], borderWidth: ['last', 'hovered-sibling'], typography: ['dark'], }, }, plugins: [hoveredSiblingPlugin, pluginTypography], }