2020-11-09 16:39:49 -05:00
|
|
|
import _ from 'lodash'
|
|
|
|
|
import nameClass from '../util/nameClass'
|
2021-04-30 09:27:56 -04:00
|
|
|
import { withAlphaValue } from '../util/withAlphaVariable'
|
2020-11-09 16:39:49 -05:00
|
|
|
|
|
|
|
|
export default function () {
|
|
|
|
|
return function ({ addUtilities, theme, variants }) {
|
2021-04-30 09:27:56 -04:00
|
|
|
const ringOpacityDefault = theme('ringOpacity.DEFAULT', '0.5')
|
|
|
|
|
const ringColorDefault = withAlphaValue(
|
|
|
|
|
theme('ringColor.DEFAULT'),
|
|
|
|
|
ringOpacityDefault,
|
|
|
|
|
`rgba(147, 197, 253, ${ringOpacityDefault})`
|
|
|
|
|
)
|
2020-11-09 16:39:49 -05:00
|
|
|
|
2020-11-16 19:47:45 -05:00
|
|
|
addUtilities(
|
|
|
|
|
{
|
|
|
|
|
'*': {
|
|
|
|
|
'--tw-ring-inset': 'var(--tw-empty,/*!*/ /*!*/)',
|
2020-12-02 21:45:04 +01:00
|
|
|
'--tw-ring-offset-width': theme('ringOffsetWidth.DEFAULT', '0px'),
|
|
|
|
|
'--tw-ring-offset-color': theme('ringOffsetColor.DEFAULT', '#fff'),
|
2020-11-16 19:47:45 -05:00
|
|
|
'--tw-ring-color': ringColorDefault,
|
|
|
|
|
'--tw-ring-offset-shadow': '0 0 #0000',
|
|
|
|
|
'--tw-ring-shadow': '0 0 #0000',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{ respectImportant: false }
|
|
|
|
|
)
|
|
|
|
|
|
2020-11-09 16:39:49 -05:00
|
|
|
const utilities = _.fromPairs(
|
|
|
|
|
_.map(theme('ringWidth'), (value, modifier) => {
|
|
|
|
|
return [
|
|
|
|
|
nameClass('ring', modifier),
|
|
|
|
|
{
|
2020-11-16 17:45:55 +01:00
|
|
|
'--tw-ring-offset-shadow': `var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)`,
|
|
|
|
|
'--tw-ring-shadow': `var(--tw-ring-inset) 0 0 0 calc(${value} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,
|
2020-11-09 16:39:49 -05:00
|
|
|
'box-shadow': [
|
2020-11-16 17:45:55 +01:00
|
|
|
`var(--tw-ring-offset-shadow)`,
|
|
|
|
|
`var(--tw-ring-shadow)`,
|
|
|
|
|
`var(--tw-shadow, 0 0 #0000)`,
|
2020-11-09 16:39:49 -05:00
|
|
|
].join(', '),
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
})
|
|
|
|
|
)
|
2020-11-11 21:58:54 -05:00
|
|
|
addUtilities(
|
|
|
|
|
[
|
|
|
|
|
utilities,
|
|
|
|
|
{
|
|
|
|
|
'.ring-inset': {
|
2020-11-16 17:45:55 +01:00
|
|
|
'--tw-ring-inset': 'inset',
|
2020-11-11 21:58:54 -05:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
variants('ringWidth')
|
|
|
|
|
)
|
2020-11-09 16:39:49 -05:00
|
|
|
}
|
|
|
|
|
}
|