personal web client for Bluesky
typescript solidjs bluesky atcute
1import plugin from 'tailwindcss/plugin'; 2 3/** @type {import('tailwindcss').Config} */ 4export default { 5 content: ['./src/**/*.tsx'], 6 theme: { 7 extend: { 8 fontSize: { 9 de: ['0.8125rem', '1.25rem'], 10 }, 11 zIndex: { 12 1: '1', 13 2: '2', 14 }, 15 spacing: { 16 0.75: '0.1875rem', 17 7.5: '1.875rem', 18 9.5: '2.375rem', 19 13: '3.25rem', 20 17: '4.25rem', 21 18: '4.5rem', 22 22: '5.5rem', 23 30: '7.5rem', 24 84: '21rem', 25 120: '30rem', 26 }, 27 borderWidth: { 28 3: '3px', 29 }, 30 minWidth: { 31 14: '3.5rem', 32 16: '4rem', 33 }, 34 minHeight: { 35 16: '4rem', 36 }, 37 maxHeight: { 38 141: '35.25rem', 39 '50vh': '50vh', 40 }, 41 flexGrow: { 42 2: '2', 43 4: '4', 44 }, 45 aspectRatio: { 46 banner: '3 / 1', 47 }, 48 keyframes: { 49 indeterminate: { 50 '0%': { 51 translate: '-100%', 52 }, 53 '100%': { 54 translate: '400%', 55 }, 56 }, 57 }, 58 animation: { 59 indeterminate: 'indeterminate 1s linear infinite', 60 }, 61 boxShadow: { 62 // menu: 'rgba(var(--primary) / 0.2) 0px 0px 15px, rgba(var(--primary) / 0.15) 0px 0px 3px 1px', 63 }, 64 dropShadow: { 65 // DEFAULT: ['0 1px 2px rgb(0 0 0 / .3)', '0 1px 1px rgb(0 0 0 / .1)'], 66 }, 67 opacity: { 68 sm: 0.03, 69 'sm-pressed': 0.07, 70 md: 0.1, 71 'md-pressed': 0.2, 72 }, 73 }, 74 fontFamily: { 75 sans: `"Roboto", ui-sans-serif, sans-serif, "Noto Color Emoji", "Twemoji Mozilla"`, 76 mono: `"JetBrains Mono NL", ui-monospace, monospace`, 77 }, 78 colors: ({ colors }) => { 79 return { 80 current: 'currentColor', 81 transparent: `transparent`, 82 white: `#ffffff`, 83 black: `#000000`, 84 85 background: `rgb(var(--p-background))`, 86 contrast: { 87 DEFAULT: `rgb(var(--p-contrast))`, 88 hinted: `rgb(var(--p-contrast-hinted))`, 89 muted: `rgb(var(--p-contrast-muted))`, 90 overlay: `rgb(var(--p-contrast-overlay))`, 91 }, 92 accent: { 93 DEFAULT: `rgb(var(--p-accent))`, 94 hover: `rgb(var(--p-accent-hover))`, 95 active: `rgb(var(--p-accent-active))`, 96 fg: `rgb(var(--p-accent-fg))`, 97 }, 98 repost: `rgb(var(--p-repost))`, 99 like: `rgb(var(--p-like))`, 100 error: `rgb(var(--p-error))`, 101 outline: { 102 DEFAULT: `rgb(var(--p-outline))`, 103 md: `rgb(var(--p-outline-md))`, 104 lg: `rgb(var(--p-outline-lg))`, 105 }, 106 107 p: { 108 neutral: colors.neutral, 109 green: colors.green, 110 red: colors.red, 111 }, 112 }; 113 }, 114 }, 115 corePlugins: { 116 outlineStyle: false, 117 }, 118 future: { 119 hoverOnlyWhenSupported: true, 120 }, 121 plugins: [ 122 plugin(({ addVariant, addUtilities }) => { 123 addVariant('modal', '&:modal'); 124 addVariant('focus-within', '&:has(:focus-visible)'); 125 // addVariant('hover', '.is-mouse &:hover'); 126 // addVariant('group-hover', '.is-mouse .group &:hover'); 127 128 addUtilities({ 129 '.scrollbar-hide': { 130 '-ms-overflow-style': 'none', 131 'scrollbar-width': 'none', 132 133 '&::-webkit-scrollbar': { 134 display: 'none', 135 }, 136 }, 137 138 '.outline-none': { 'outline-style': 'none' }, 139 '.outline': { 'outline-style': 'solid' }, 140 '.outline-dashed': { 'outline-style': 'dashed' }, 141 '.outline-dotted': { 'outline-style': 'dotted' }, 142 '.outline-double': { 'outline-style': 'double' }, 143 }); 144 }), 145 ], 146};