41 lines
859 B
JavaScript
41 lines
859 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
|