SeanJM / atom-css-clean

A plugin for Atom which sorts and aligns CSS and SASS
MIT License
20 stars 2 forks source link

Broken Standard property #4

Closed kadevland closed 8 years ago

kadevland commented 8 years ago

Exemple of broken: Standard property 'transform' should come after vendor-prefixed property '-webkit-transform'. . IF not broken Standard property (CSSLint) , is very great plugin THX

SeanJM commented 8 years ago

I'll make that change throughout the sorting of properties! Thank you for telling me.

SeanJM commented 8 years ago

Here is the properties list used to sort, anything prefixed with '-prefix-' gets expanded to the vendor prefixes. I'd appreciate any feedback.

(function () {
  function unzip(list) {
    var vendors = ['-moz-', '-ms-', '-o-', '-webkit-', ''];
    var prefixed;
    var i;
    for (i = list.length - 1; i > 0; i--) {
      if (list[i].indexOf('-prefix-') !== -1) {
        prefixed = vendors.map((a) => list[i].replace('-prefix-', a));
        [].splice.apply(list, [i, 1].concat(prefixed));
      }
    }
    return list;
  }
  list.properties = unzip([
    'z-index',
    'content',
    'icon',
    'display',
    '*display',
    'box-sizing',
    'visibility',
    '-prefix-appearance',
    'zoom',
    'position',
    'top',
    'right',
    'bottom',
    'left',
    'width',
    'min-width',
    'max-width',
    'height',
    'min-height',
    'max-height',
    'float',
    'clear',
    'clip',
    'margin',
    'margin-top',
    'margin-right',
    'margin-bottom',
    'margin-left',
    'padding',
    'padding-top',
    'padding-right',
    'padding-bottom',
    'padding-left',
    'color',
    'opacity',
    'overflow',
    'overflow-x',
    'overflow-y',
    'overflow-wrap',
    'border',
    'border-top',
    'border-right',
    'border-bottom',
    'border-left',
    'border-color',
    'border-image',
    'border-image-source',
    'border-image-repeat',
    'border-image-width',
    'border-image-outset',
    'border-image-slice',
    'border-top-color',
    'border-right-color',
    'border-bottom-color',
    'border-left-color',
    'border-width',
    'border-style',
    'border-radius',
    'border-top-left-radius',
    'border-top-right-radius',
    'border-bottom-right-radius',
    'border-bottom-left-radius',
    'border-top-width',
    'border-top-style',
    'border-right-width',
    'border-right-style',
    'border-bottom-width',
    'border-bottom-style',
    'border-left-width',
    'border-left-style',
    'border-collapse',
    'border-spacing',
    'background',
    'background-image',
    'background-color',
    'background-blend-mode',
    'background-repeat',
    'background-attachment',
    'background-origin',
    'background-position',
    'background-size',
    'background-clip',
    'filter',
    'outline',
    'outline-color',
    'outline-offset',
    'outline-style',
    'outline-width',
    'caption-side',
    'empty-cells',
    'table-layout',
    '-prefix-box-shadow',
    'box-decoration-break',
    'text-align',
    'text-decoration',
    'text-decoration-color',
    'text-decoration-line',
    'text-decoration-style',
    'text-underline-position',
    'text-transform',
    'text-shadow',
    'text-align-last',
    'text-combine-upright',
    'text-indent',
    'text-justify',
    'text-orientation',
    'text-combine-upright',
    'text-overflow',
    'vertical-align',
    'align-content',
    'align-items',
    'align-self',
    '@font-feature-values',
    'font-feature-settings',
    'font',
    'font-family',
    'font-size',
    'font-size-adjust',
    'font-style',
    'font-weight',
    'font-kerning',
    'font-stretch',
    'font-synthesis',
    'font-variant',
    'font-variant-alternates',
    'font-variant-caps',
    'font-variant-east-asian',
    'font-variant-ligatures',
    'font-variant-numeric',
    'font-variant-position',
    'font-language-override',
    'src',
    'flex',
    'flex-basis',
    'flex-direction',
    'flex-flow',
    'flex-grow',
    'flex-shrink',
    'flex-wrap',
    'justify-content',
    'order',
    'hanging-punctuation',
    'line-break',
    'hyphens',
    'line-height',
    'letter-spacing',
    'tab-size',
    'white-space',
    'word-break',
    'word-spacing',
    'word-wrap',
    'direction',
    'unicode-bidi',
    'writing-mode',
    'list-style',
    'list-style-image',
    'list-style-position',
    'list-style-type',
    'counter-increment',
    'counter-reset',
    '@keyframes',
    'animation',
    'animation-delay',
    'animation-direction',
    'animation-duration',
    'animation-fill-mode',
    'animation-iteration-count',
    'animation-name',
    'animation-play-state',
    'animation-timing-function',
    'backface-visibility',
    'perspective',
    'perspective-origin',
    '-prefix-transform',
    '-prefix-transform-origin',
    '-prefix-transform-style',
    '-prefix-transition',
    '-prefix-transition-property',
    '-prefix-transition-duration',
    '-prefix-transition-timing-function',
    '-prefix-transition-delay',
    'ime-mode',
    'Multi-column',
    'break-after',
    'break-before',
    'break-inside',
    'column-count',
    'column-fill',
    'column-gap',
    'column-rule',
    'column-rule-color',
    'column-rule-style',
    'column-rule-width',
    'column-span',
    'column-width',
    'columns',
    'widows',
    'orphans',
    'page-break-after',
    'page-break-before',
    'page-break-inside',
    'marks',
    'quotes',
    'image-orientation',
    'image-rendering',
    'image-resolution',
    'object-fit',
    'object-position',
    'mask',
    'mask-type',
    'mark',
    'mark-after',
    'mark-before',
    'phonemes',
    'rest',
    'rest-after',
    'rest-before',
    'voice-balance',
    'voice-duration',
    'voice-pitch',
    'voice-pitch-range',
    'voice-rate',
    'voice-stress',
    'voice-volume',
    'marquee-direction',
    'marquee-play-count',
    'marquee-speed',
    'marquee-style',
    'nav-index',
    'nav-up',
    'nav-right',
    'nav-down',
    'nav-left',
    'resize',
    '-prefix-user-select',
    'cursor',
  ]);
}());