UNPKG

@glance-networks/agent-plugin

Version:

Glance Networks Agent Plugin

115 lines (109 loc) 3.19 kB
import resolveConfig from 'tailwindcss/resolveConfig'; import plugin from 'tailwindcss/plugin'; import { typography } from "./tokens/typography.js"; import { InterFontFamily, FiraCodeFontFamily } from "./tailwindUtils/font.js"; import { spacing } from "./tailwindUtils/spacing.js"; import { colorTokens } from "./tailwindUtils/colors.js"; import { shadows } from "./tokens/shadowTokens.js"; import { default as flattenColorPalette } from 'tailwindcss/lib/util/flattenColorPalette'; const tailwindConfig = { content: [ '../../node_modules/flowbite-svelte/**/*.{html,js,svelte,ts}', './node_modules/@glance-design/**/**/*.{js,svelte,ts}', ], theme: { extend: { colors: colorTokens, spacing, outlineWidth: { 3: '3px', }, outlineOffset: { 3: '3px', }, fontFamily: { sans: ['Inter', 'sans-serif', 'system-ui', 'ui-sans-serif'], }, maxWidth: { 'sm': '26rem', // 416px 'md': '40rem', // 640px 'lg': '54rem', // 864px 'xl': '78rem', // 1248px }, lineHeight: { '4.5': '1.125rem', // 18px '5.5': '1.375rem', // 22px }, boxShadow: shadows, }, }, plugins: [ plugin(function ({ addBase }) { InterFontFamily.forEach((fontProperties) => { addBase(fontProperties); }); FiraCodeFontFamily.forEach((fontProperties) => { addBase(fontProperties); }); }), plugin(function ({ addUtilities, theme }) { /* @ts-expect-error theme */ addUtilities(typography); addUtilities({ '.scrollbar-thin': { 'scrollbar-color': '#C1C1C1 transparent', 'scrollbar-width': 'thin', }, '.fixed-header-row': { 'position': 'sticky', 'top': '0', }, '.fixed-first-column': { 'position': 'sticky', 'left': '0', }, '.fixed-last-column': { 'position': 'sticky', 'right': '0', }, '.first-cell-shadow': { 'box-shadow': 'inset 10px 0 8px -8px rgba(0, 0, 0, 0.1)', 'position': 'absolute', 'content': '""', 'top': '0', 'right': '-2.5rem', 'width': '2.5rem', 'bottom': '0', }, '.last-cell-shadow': { 'box-shadow': 'inset -10px 0 8px -8px rgba(0, 0, 0, 0.1)', 'position': 'absolute', 'content': '""', 'top': '0', 'left': '-2.5rem', 'width': '2.5rem', 'bottom': '0', }, '.header-row-shadow': { 'box-shadow': `inset 0 -0.7px 0px 0 ${theme('colors.neutral-border.bright')}`, } }); }), plugin(function ({ addUtilities, theme }) { const colors = flattenColorPalette(theme('colors')); addUtilities({ ':root': Object.entries(colors).reduce((acc, [color, value]) => { return { ...acc, [`--gds-color-${color}`]: value, }; }, {}), }); }), ], }; export const { theme } = resolveConfig(tailwindConfig); export default { darkMode: 'selector', ...tailwindConfig };