52 lines
883 B
JavaScript
52 lines
883 B
JavaScript
const plugin = require('tailwindcss/plugin')
|
|
|
|
const baseStyles = {
|
|
overflow: 'hidden',
|
|
display: '-webkit-box',
|
|
'-webkit-box-orient': 'vertical',
|
|
}
|
|
|
|
const lineClamp = plugin(
|
|
function ({ matchUtilities, addUtilities, theme, variants }) {
|
|
const values = theme('lineClamp')
|
|
|
|
matchUtilities(
|
|
{
|
|
'line-clamp': (value) => ({
|
|
...baseStyles,
|
|
'-webkit-line-clamp': `${value}`,
|
|
}),
|
|
},
|
|
{ values }
|
|
)
|
|
|
|
addUtilities(
|
|
[
|
|
{
|
|
'.line-clamp-none': {
|
|
'-webkit-line-clamp': 'unset',
|
|
},
|
|
},
|
|
],
|
|
variants('lineClamp')
|
|
)
|
|
},
|
|
{
|
|
theme: {
|
|
lineClamp: {
|
|
1: '1',
|
|
2: '2',
|
|
3: '3',
|
|
4: '4',
|
|
5: '5',
|
|
6: '6',
|
|
},
|
|
},
|
|
variants: {
|
|
lineClamp: ['responsive'],
|
|
},
|
|
}
|
|
)
|
|
|
|
module.exports = lineClamp
|