41 lines
857 B
JavaScript
41 lines
857 B
JavaScript
let Declaration = require('../declaration')
|
|
|
|
class BlockLogical extends Declaration {
|
|
/**
|
|
* 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')
|
|
}
|
|
|
|
/**
|
|
* Return property name by spec
|
|
*/
|
|
normalize(prop) {
|
|
if (prop.includes('-before')) {
|
|
return prop.replace('-before', '-block-start')
|
|
}
|
|
return prop.replace('-after', '-block-end')
|
|
}
|
|
}
|
|
|
|
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
|