123456789101112131415161718192021222324252627282930313233343536373839404142 |
- let Declaration = require('../declaration')
- class WritingMode extends Declaration {
- insert(decl, prefix, prefixes) {
- if (prefix === '-ms-') {
- let cloned = this.set(this.clone(decl), prefix)
- if (this.needCascade(decl)) {
- cloned.raws.before = this.calcBefore(prefixes, decl, prefix)
- }
- let direction = 'ltr'
- decl.parent.nodes.forEach(i => {
- if (i.prop === 'direction') {
- if (i.value === 'rtl' || i.value === 'ltr') direction = i.value
- }
- })
- cloned.value = WritingMode.msValues[direction][decl.value] || decl.value
- return decl.parent.insertBefore(decl, cloned)
- }
- return super.insert(decl, prefix, prefixes)
- }
- }
- WritingMode.names = ['writing-mode']
- WritingMode.msValues = {
- ltr: {
- 'horizontal-tb': 'lr-tb',
- 'vertical-rl': 'tb-rl',
- 'vertical-lr': 'tb-lr'
- },
- rtl: {
- 'horizontal-tb': 'rl-tb',
- 'vertical-rl': 'bt-rl',
- 'vertical-lr': 'bt-lr'
- }
- }
- module.exports = WritingMode
|