You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
857 B
41 lines
857 B
1 month ago
|
let Declaration = require('../declaration')
|
||
|
|
||
|
class BlockLogical extends Declaration {
|
||
|
/**
|
||
|
* Return property name by spec
|
||
|
*/
|
||
|
normalize(prop) {
|
||
|
if (prop.includes('-before')) {
|
||
|
return prop.replace('-before', '-block-start')
|
||
|
}
|
||
|
return prop.replace('-after', '-block-end')
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Use old syntax for -moz- and -webkit-
|
||
|
*/
|
||
|
prefixed(prop, prefix) {
|
||
|
if (prop.includes('-start')) {
|
||
|
return prefix + prop.replace('-block-start', '-before')
|
||
|
}
|
||
|
return prefix + prop.replace('-block-end', '-after')
|
||
|
}
|
||
|
}
|
||
|
|
||
|
BlockLogical.names = [
|
||
|
'border-block-start',
|
||
|
'border-block-end',
|
||
|
'margin-block-start',
|
||
|
'margin-block-end',
|
||
|
'padding-block-start',
|
||
|
'padding-block-end',
|
||
|
'border-before',
|
||
|
'border-after',
|
||
|
'margin-before',
|
||
|
'margin-after',
|
||
|
'padding-before',
|
||
|
'padding-after'
|
||
|
]
|
||
|
|
||
|
module.exports = BlockLogical
|