autoprefixer-rails 0.2.20130413 → 0.3.20130423

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/ChangeLog CHANGED
@@ -1,3 +1,11 @@
1
+ == 0.3 (Growing Strong)
2
+ * Use own filters instead of Rework’s `prefix` and `prefixValue`.
3
+ * Smarter value prefixer without false match “order” in “border”.
4
+ * 40% faster.
5
+ * Don’t add unnecessary properties instead of Rework’s `prefixValue`.
6
+ * Don’t change properties order.
7
+ * Sort properties and values in inspect output.
8
+
1
9
  == 0.2 (Hear Me Roar!)
2
10
  * Update parse libraries.
3
11
  * Add inspect method and rake tast.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- autoprefixer-rails (0.2.20130413)
4
+ autoprefixer-rails (0.3.20130423)
5
5
  execjs
6
6
 
7
7
  GEM
@@ -36,7 +36,7 @@ GEM
36
36
  multi_json (~> 1.0)
37
37
  arel (3.0.2)
38
38
  builder (3.0.4)
39
- diff-lcs (1.2.3)
39
+ diff-lcs (1.2.4)
40
40
  erubis (2.7.0)
41
41
  execjs (1.4.0)
42
42
  multi_json (~> 1.0)
@@ -49,7 +49,7 @@ GEM
49
49
  i18n (>= 0.4.0)
50
50
  mime-types (~> 1.16)
51
51
  treetop (~> 1.4.8)
52
- mime-types (1.22)
52
+ mime-types (1.23)
53
53
  multi_json (1.7.2)
54
54
  polyglot (0.3.3)
55
55
  rack (1.4.5)
data/README.md CHANGED
@@ -9,10 +9,9 @@ This gem provides Ruby and Ruby on Rails integration with
9
9
  Write your CSS usual code without prefixes (forget about them at all,
10
10
  Autoprefixer will think for you) in `app/assets/stylesheets`:
11
11
 
12
- ```css
13
- a {
14
- transition: transform 1s
15
- }
12
+ ```sass
13
+ a
14
+ transition: transform 1s
16
15
  ```
17
16
 
18
17
  Autoprefixer will take database with current browser statistics
@@ -21,21 +20,16 @@ and properties support and adds only actual prefixes by Assets Pipeline:
21
20
  ```css
22
21
  a {
23
22
  -webkit-transition: -webkit-transform 1s;
24
- -ms-transition: -ms-transform 1s;
25
23
  -o-transition: -o-transform 1s;
26
- -webkit-transition: transform 1s;
27
- -o-transition: transform 1s;
24
+ transition: -webkit-transform 1s;
28
25
  transition: transform 1s
29
26
  }
30
27
  ```
31
28
 
32
- You can use it with Sass, LESS or Stylus, because Assets Pipeline has a nice
33
- architecture cascade filters. Just write CSS without prefixes in Sass syntax:
29
+ You can use it with CSS, SCSS, Sass, LESS or Stylus, because Assets Pipeline
30
+ has a nice architecture cascade filters.
34
31
 
35
- ```sass
36
- a
37
- transition: transform 1s
38
- ```
32
+ Sponsored by [Evil Martians](http://evilmartians.com/).
39
33
 
40
34
  ## Features
41
35
 
@@ -78,6 +72,12 @@ browsers:
78
72
 
79
73
  Autoprefixer will process only yours CSS from `app/` and `lib/` dirs.
80
74
 
75
+ You can inspect, what properties will be changed by Rake task:
76
+
77
+ ```sh
78
+ rake autoprefixer:inspect
79
+ ```
80
+
81
81
  ### Sprockets
82
82
 
83
83
  If you use Sinatra or other non-Rails framework with Sprockets,
@@ -1,3 +1,3 @@
1
1
  module AutoprefixerRails
2
- VERSION = '0.2.20130413'.freeze unless defined? AutoprefixerRails::VERSION
2
+ VERSION = '0.3.20130423'.freeze unless defined? AutoprefixerRails::VERSION
3
3
  end
@@ -775,6 +775,8 @@ function debug(name) {
775
775
  if (!debug.enabled(name)) return function(){};
776
776
 
777
777
  return function(fmt){
778
+ fmt = coerce(fmt);
779
+
778
780
  var curr = new Date;
779
781
  var ms = curr - (debug[name] || curr);
780
782
  debug[name] = curr;
@@ -877,6 +879,15 @@ debug.enabled = function(name) {
877
879
  return false;
878
880
  };
879
881
 
882
+ /**
883
+ * Coerce `val`.
884
+ */
885
+
886
+ function coerce(val) {
887
+ if (val instanceof Error) return val.stack || val.message;
888
+ return val;
889
+ }
890
+
880
891
  // persist
881
892
 
882
893
  if (window.localStorage) debug.enable(localStorage.debug);
@@ -2505,13 +2516,17 @@ module.exports = {
2505
2516
  };
2506
2517
 
2507
2518
  });
2508
- require.register("autoprefixer/data/props.js", function(exports, require, module){
2519
+ require.register("autoprefixer/data/values.js", function(exports, require, module){
2509
2520
  // Don't edit this files, because it's autogenerated.
2510
2521
  // See updaters/ dir for generator. Run bin/update to update.
2511
2522
 
2512
2523
  module.exports = {
2513
- "@keyframes": {
2524
+ calc: {
2525
+ props: [
2526
+ "*"
2527
+ ],
2514
2528
  browsers: [
2529
+ "ff 4",
2515
2530
  "ff 5",
2516
2531
  "ff 6",
2517
2532
  "ff 7",
@@ -2523,21 +2538,6 @@ module.exports = {
2523
2538
  "ff 13",
2524
2539
  "ff 14",
2525
2540
  "ff 15",
2526
- "chrome 4",
2527
- "chrome 5",
2528
- "chrome 6",
2529
- "chrome 7",
2530
- "chrome 8",
2531
- "chrome 9",
2532
- "chrome 10",
2533
- "chrome 11",
2534
- "chrome 12",
2535
- "chrome 13",
2536
- "chrome 14",
2537
- "chrome 15",
2538
- "chrome 16",
2539
- "chrome 17",
2540
- "chrome 18",
2541
2541
  "chrome 19",
2542
2542
  "chrome 20",
2543
2543
  "chrome 21",
@@ -2545,25 +2545,14 @@ module.exports = {
2545
2545
  "chrome 23",
2546
2546
  "chrome 24",
2547
2547
  "chrome 25",
2548
- "chrome 26",
2549
- "chrome 27",
2550
- "chrome 28",
2551
- "safari 4",
2552
- "safari 5",
2553
2548
  "safari 6",
2554
- "safari 5.1",
2555
- "opera 12",
2556
- "ios 6",
2557
- "ios 3.2",
2558
- "ios 4.0",
2559
- "ios 4.1",
2560
- "ios 4.2",
2561
- "ios 4.3",
2562
- "ios 5.0",
2563
- "ios 5.1"
2549
+ "ios 6"
2564
2550
  ]
2565
2551
  },
2566
- "align-content": {
2552
+ flex: {
2553
+ props: [
2554
+ "display"
2555
+ ],
2567
2556
  browsers: [
2568
2557
  "ie 10",
2569
2558
  "ff 2",
@@ -2627,10 +2616,12 @@ module.exports = {
2627
2616
  "ios 4.3",
2628
2617
  "ios 5.0",
2629
2618
  "ios 5.1"
2630
- ],
2631
- transition: true
2619
+ ]
2632
2620
  },
2633
- "align-items": {
2621
+ "inline-flex": {
2622
+ props: [
2623
+ "display"
2624
+ ],
2634
2625
  browsers: [
2635
2626
  "ie 10",
2636
2627
  "ff 2",
@@ -2694,14 +2685,14 @@ module.exports = {
2694
2685
  "ios 4.3",
2695
2686
  "ios 5.0",
2696
2687
  "ios 5.1"
2697
- ],
2698
- transition: true
2688
+ ]
2699
2689
  },
2700
- "align-self": {
2690
+ "linear-gradient": {
2691
+ props: [
2692
+ "background",
2693
+ "background-image"
2694
+ ],
2701
2695
  browsers: [
2702
- "ie 10",
2703
- "ff 2",
2704
- "ff 3",
2705
2696
  "ff 4",
2706
2697
  "ff 5",
2707
2698
  "ff 6",
@@ -2714,13 +2705,6 @@ module.exports = {
2714
2705
  "ff 13",
2715
2706
  "ff 14",
2716
2707
  "ff 15",
2717
- "ff 16",
2718
- "ff 17",
2719
- "ff 18",
2720
- "ff 19",
2721
- "ff 20",
2722
- "ff 21",
2723
- "ff 3.5",
2724
2708
  "ff 3.6",
2725
2709
  "chrome 4",
2726
2710
  "chrome 5",
@@ -2744,15 +2728,14 @@ module.exports = {
2744
2728
  "chrome 23",
2745
2729
  "chrome 24",
2746
2730
  "chrome 25",
2747
- "chrome 26",
2748
- "chrome 27",
2749
- "chrome 28",
2750
2731
  "safari 4",
2751
2732
  "safari 5",
2752
2733
  "safari 6",
2753
- "safari 3.1",
2754
- "safari 3.2",
2755
2734
  "safari 5.1",
2735
+ "opera 12",
2736
+ "opera 11.1",
2737
+ "opera 11.5",
2738
+ "opera 11.6",
2756
2739
  "ios 6",
2757
2740
  "ios 3.2",
2758
2741
  "ios 4.0",
@@ -2761,11 +2744,15 @@ module.exports = {
2761
2744
  "ios 4.3",
2762
2745
  "ios 5.0",
2763
2746
  "ios 5.1"
2764
- ],
2765
- transition: true
2747
+ ]
2766
2748
  },
2767
- animation: {
2749
+ "radial-gradient": {
2750
+ props: [
2751
+ "background",
2752
+ "background-image"
2753
+ ],
2768
2754
  browsers: [
2755
+ "ff 4",
2769
2756
  "ff 5",
2770
2757
  "ff 6",
2771
2758
  "ff 7",
@@ -2777,6 +2764,7 @@ module.exports = {
2777
2764
  "ff 13",
2778
2765
  "ff 14",
2779
2766
  "ff 15",
2767
+ "ff 3.6",
2780
2768
  "chrome 4",
2781
2769
  "chrome 5",
2782
2770
  "chrome 6",
@@ -2799,14 +2787,14 @@ module.exports = {
2799
2787
  "chrome 23",
2800
2788
  "chrome 24",
2801
2789
  "chrome 25",
2802
- "chrome 26",
2803
- "chrome 27",
2804
- "chrome 28",
2805
2790
  "safari 4",
2806
2791
  "safari 5",
2807
2792
  "safari 6",
2808
2793
  "safari 5.1",
2809
2794
  "opera 12",
2795
+ "opera 11.1",
2796
+ "opera 11.5",
2797
+ "opera 11.6",
2810
2798
  "ios 6",
2811
2799
  "ios 3.2",
2812
2800
  "ios 4.0",
@@ -2817,8 +2805,13 @@ module.exports = {
2817
2805
  "ios 5.1"
2818
2806
  ]
2819
2807
  },
2820
- "animation-delay": {
2808
+ "repeating-linear-gradient": {
2809
+ props: [
2810
+ "background",
2811
+ "background-image"
2812
+ ],
2821
2813
  browsers: [
2814
+ "ff 4",
2822
2815
  "ff 5",
2823
2816
  "ff 6",
2824
2817
  "ff 7",
@@ -2830,6 +2823,7 @@ module.exports = {
2830
2823
  "ff 13",
2831
2824
  "ff 14",
2832
2825
  "ff 15",
2826
+ "ff 3.6",
2833
2827
  "chrome 4",
2834
2828
  "chrome 5",
2835
2829
  "chrome 6",
@@ -2852,14 +2846,14 @@ module.exports = {
2852
2846
  "chrome 23",
2853
2847
  "chrome 24",
2854
2848
  "chrome 25",
2855
- "chrome 26",
2856
- "chrome 27",
2857
- "chrome 28",
2858
2849
  "safari 4",
2859
2850
  "safari 5",
2860
2851
  "safari 6",
2861
2852
  "safari 5.1",
2862
2853
  "opera 12",
2854
+ "opera 11.1",
2855
+ "opera 11.5",
2856
+ "opera 11.6",
2863
2857
  "ios 6",
2864
2858
  "ios 3.2",
2865
2859
  "ios 4.0",
@@ -2870,8 +2864,13 @@ module.exports = {
2870
2864
  "ios 5.1"
2871
2865
  ]
2872
2866
  },
2873
- "animation-direction": {
2867
+ "repeating-radial-gradient": {
2868
+ props: [
2869
+ "background",
2870
+ "background-image"
2871
+ ],
2874
2872
  browsers: [
2873
+ "ff 4",
2875
2874
  "ff 5",
2876
2875
  "ff 6",
2877
2876
  "ff 7",
@@ -2883,6 +2882,7 @@ module.exports = {
2883
2882
  "ff 13",
2884
2883
  "ff 14",
2885
2884
  "ff 15",
2885
+ "ff 3.6",
2886
2886
  "chrome 4",
2887
2887
  "chrome 5",
2888
2888
  "chrome 6",
@@ -2905,14 +2905,14 @@ module.exports = {
2905
2905
  "chrome 23",
2906
2906
  "chrome 24",
2907
2907
  "chrome 25",
2908
- "chrome 26",
2909
- "chrome 27",
2910
- "chrome 28",
2911
2908
  "safari 4",
2912
2909
  "safari 5",
2913
2910
  "safari 6",
2914
2911
  "safari 5.1",
2915
2912
  "opera 12",
2913
+ "opera 11.1",
2914
+ "opera 11.5",
2915
+ "opera 11.6",
2916
2916
  "ios 6",
2917
2917
  "ios 3.2",
2918
2918
  "ios 4.0",
@@ -2922,8 +2922,16 @@ module.exports = {
2922
2922
  "ios 5.0",
2923
2923
  "ios 5.1"
2924
2924
  ]
2925
- },
2926
- "animation-duration": {
2925
+ }
2926
+ };
2927
+
2928
+ });
2929
+ require.register("autoprefixer/data/props.js", function(exports, require, module){
2930
+ // Don't edit this files, because it's autogenerated.
2931
+ // See updaters/ dir for generator. Run bin/update to update.
2932
+
2933
+ module.exports = {
2934
+ "@keyframes": {
2927
2935
  browsers: [
2928
2936
  "ff 5",
2929
2937
  "ff 6",
@@ -2976,8 +2984,12 @@ module.exports = {
2976
2984
  "ios 5.1"
2977
2985
  ]
2978
2986
  },
2979
- "animation-fill-mode": {
2987
+ "align-content": {
2980
2988
  browsers: [
2989
+ "ie 10",
2990
+ "ff 2",
2991
+ "ff 3",
2992
+ "ff 4",
2981
2993
  "ff 5",
2982
2994
  "ff 6",
2983
2995
  "ff 7",
@@ -2989,6 +3001,14 @@ module.exports = {
2989
3001
  "ff 13",
2990
3002
  "ff 14",
2991
3003
  "ff 15",
3004
+ "ff 16",
3005
+ "ff 17",
3006
+ "ff 18",
3007
+ "ff 19",
3008
+ "ff 20",
3009
+ "ff 21",
3010
+ "ff 3.5",
3011
+ "ff 3.6",
2992
3012
  "chrome 4",
2993
3013
  "chrome 5",
2994
3014
  "chrome 6",
@@ -3017,8 +3037,9 @@ module.exports = {
3017
3037
  "safari 4",
3018
3038
  "safari 5",
3019
3039
  "safari 6",
3040
+ "safari 3.1",
3041
+ "safari 3.2",
3020
3042
  "safari 5.1",
3021
- "opera 12",
3022
3043
  "ios 6",
3023
3044
  "ios 3.2",
3024
3045
  "ios 4.0",
@@ -3027,10 +3048,15 @@ module.exports = {
3027
3048
  "ios 4.3",
3028
3049
  "ios 5.0",
3029
3050
  "ios 5.1"
3030
- ]
3051
+ ],
3052
+ transition: true
3031
3053
  },
3032
- "animation-iteration-count": {
3054
+ "align-items": {
3033
3055
  browsers: [
3056
+ "ie 10",
3057
+ "ff 2",
3058
+ "ff 3",
3059
+ "ff 4",
3034
3060
  "ff 5",
3035
3061
  "ff 6",
3036
3062
  "ff 7",
@@ -3042,6 +3068,14 @@ module.exports = {
3042
3068
  "ff 13",
3043
3069
  "ff 14",
3044
3070
  "ff 15",
3071
+ "ff 16",
3072
+ "ff 17",
3073
+ "ff 18",
3074
+ "ff 19",
3075
+ "ff 20",
3076
+ "ff 21",
3077
+ "ff 3.5",
3078
+ "ff 3.6",
3045
3079
  "chrome 4",
3046
3080
  "chrome 5",
3047
3081
  "chrome 6",
@@ -3070,8 +3104,9 @@ module.exports = {
3070
3104
  "safari 4",
3071
3105
  "safari 5",
3072
3106
  "safari 6",
3107
+ "safari 3.1",
3108
+ "safari 3.2",
3073
3109
  "safari 5.1",
3074
- "opera 12",
3075
3110
  "ios 6",
3076
3111
  "ios 3.2",
3077
3112
  "ios 4.0",
@@ -3080,10 +3115,15 @@ module.exports = {
3080
3115
  "ios 4.3",
3081
3116
  "ios 5.0",
3082
3117
  "ios 5.1"
3083
- ]
3118
+ ],
3119
+ transition: true
3084
3120
  },
3085
- "animation-name": {
3121
+ "align-self": {
3086
3122
  browsers: [
3123
+ "ie 10",
3124
+ "ff 2",
3125
+ "ff 3",
3126
+ "ff 4",
3087
3127
  "ff 5",
3088
3128
  "ff 6",
3089
3129
  "ff 7",
@@ -3095,6 +3135,14 @@ module.exports = {
3095
3135
  "ff 13",
3096
3136
  "ff 14",
3097
3137
  "ff 15",
3138
+ "ff 16",
3139
+ "ff 17",
3140
+ "ff 18",
3141
+ "ff 19",
3142
+ "ff 20",
3143
+ "ff 21",
3144
+ "ff 3.5",
3145
+ "ff 3.6",
3098
3146
  "chrome 4",
3099
3147
  "chrome 5",
3100
3148
  "chrome 6",
@@ -3123,8 +3171,9 @@ module.exports = {
3123
3171
  "safari 4",
3124
3172
  "safari 5",
3125
3173
  "safari 6",
3174
+ "safari 3.1",
3175
+ "safari 3.2",
3126
3176
  "safari 5.1",
3127
- "opera 12",
3128
3177
  "ios 6",
3129
3178
  "ios 3.2",
3130
3179
  "ios 4.0",
@@ -3133,9 +3182,10 @@ module.exports = {
3133
3182
  "ios 4.3",
3134
3183
  "ios 5.0",
3135
3184
  "ios 5.1"
3136
- ]
3185
+ ],
3186
+ transition: true
3137
3187
  },
3138
- "animation-play-state": {
3188
+ animation: {
3139
3189
  browsers: [
3140
3190
  "ff 5",
3141
3191
  "ff 6",
@@ -3188,7 +3238,7 @@ module.exports = {
3188
3238
  "ios 5.1"
3189
3239
  ]
3190
3240
  },
3191
- "animation-timing-function": {
3241
+ "animation-delay": {
3192
3242
  browsers: [
3193
3243
  "ff 5",
3194
3244
  "ff 6",
@@ -3241,10 +3291,8 @@ module.exports = {
3241
3291
  "ios 5.1"
3242
3292
  ]
3243
3293
  },
3244
- "backface-visibility": {
3294
+ "animation-direction": {
3245
3295
  browsers: [
3246
- "ie 9",
3247
- "ff 4",
3248
3296
  "ff 5",
3249
3297
  "ff 6",
3250
3298
  "ff 7",
@@ -3256,8 +3304,6 @@ module.exports = {
3256
3304
  "ff 13",
3257
3305
  "ff 14",
3258
3306
  "ff 15",
3259
- "ff 3.5",
3260
- "ff 3.6",
3261
3307
  "chrome 4",
3262
3308
  "chrome 5",
3263
3309
  "chrome 6",
@@ -3286,16 +3332,8 @@ module.exports = {
3286
3332
  "safari 4",
3287
3333
  "safari 5",
3288
3334
  "safari 6",
3289
- "safari 3.1",
3290
- "safari 3.2",
3291
3335
  "safari 5.1",
3292
- "opera 11",
3293
3336
  "opera 12",
3294
- "opera 10.5",
3295
- "opera 10.6",
3296
- "opera 11.1",
3297
- "opera 11.5",
3298
- "opera 11.6",
3299
3337
  "ios 6",
3300
3338
  "ios 3.2",
3301
3339
  "ios 4.0",
@@ -3304,14 +3342,10 @@ module.exports = {
3304
3342
  "ios 4.3",
3305
3343
  "ios 5.0",
3306
3344
  "ios 5.1"
3307
- ],
3308
- transition: true
3345
+ ]
3309
3346
  },
3310
- "box-sizing": {
3347
+ "animation-duration": {
3311
3348
  browsers: [
3312
- "ff 2",
3313
- "ff 3",
3314
- "ff 4",
3315
3349
  "ff 5",
3316
3350
  "ff 6",
3317
3351
  "ff 7",
@@ -3323,37 +3357,48 @@ module.exports = {
3323
3357
  "ff 13",
3324
3358
  "ff 14",
3325
3359
  "ff 15",
3326
- "ff 16",
3327
- "ff 17",
3328
- "ff 18",
3329
- "ff 19",
3330
- "ff 20",
3331
- "ff 21",
3332
- "ff 22",
3333
- "ff 3.5",
3334
- "ff 3.6",
3335
3360
  "chrome 4",
3336
3361
  "chrome 5",
3337
3362
  "chrome 6",
3338
3363
  "chrome 7",
3339
3364
  "chrome 8",
3340
3365
  "chrome 9",
3366
+ "chrome 10",
3367
+ "chrome 11",
3368
+ "chrome 12",
3369
+ "chrome 13",
3370
+ "chrome 14",
3371
+ "chrome 15",
3372
+ "chrome 16",
3373
+ "chrome 17",
3374
+ "chrome 18",
3375
+ "chrome 19",
3376
+ "chrome 20",
3377
+ "chrome 21",
3378
+ "chrome 22",
3379
+ "chrome 23",
3380
+ "chrome 24",
3381
+ "chrome 25",
3382
+ "chrome 26",
3383
+ "chrome 27",
3384
+ "chrome 28",
3341
3385
  "safari 4",
3342
3386
  "safari 5",
3343
- "safari 3.1",
3344
- "safari 3.2",
3387
+ "safari 6",
3388
+ "safari 5.1",
3389
+ "opera 12",
3390
+ "ios 6",
3345
3391
  "ios 3.2",
3346
3392
  "ios 4.0",
3347
3393
  "ios 4.1",
3348
3394
  "ios 4.2",
3349
- "ios 4.3"
3395
+ "ios 4.3",
3396
+ "ios 5.0",
3397
+ "ios 5.1"
3350
3398
  ]
3351
3399
  },
3352
- "break-after": {
3400
+ "animation-fill-mode": {
3353
3401
  browsers: [
3354
- "ff 2",
3355
- "ff 3",
3356
- "ff 4",
3357
3402
  "ff 5",
3358
3403
  "ff 6",
3359
3404
  "ff 7",
@@ -3365,15 +3410,6 @@ module.exports = {
3365
3410
  "ff 13",
3366
3411
  "ff 14",
3367
3412
  "ff 15",
3368
- "ff 16",
3369
- "ff 17",
3370
- "ff 18",
3371
- "ff 19",
3372
- "ff 20",
3373
- "ff 21",
3374
- "ff 22",
3375
- "ff 3.5",
3376
- "ff 3.6",
3377
3413
  "chrome 4",
3378
3414
  "chrome 5",
3379
3415
  "chrome 6",
@@ -3402,9 +3438,8 @@ module.exports = {
3402
3438
  "safari 4",
3403
3439
  "safari 5",
3404
3440
  "safari 6",
3405
- "safari 3.1",
3406
- "safari 3.2",
3407
3441
  "safari 5.1",
3442
+ "opera 12",
3408
3443
  "ios 6",
3409
3444
  "ios 3.2",
3410
3445
  "ios 4.0",
@@ -3413,14 +3448,10 @@ module.exports = {
3413
3448
  "ios 4.3",
3414
3449
  "ios 5.0",
3415
3450
  "ios 5.1"
3416
- ],
3417
- transition: true
3451
+ ]
3418
3452
  },
3419
- "break-before": {
3453
+ "animation-iteration-count": {
3420
3454
  browsers: [
3421
- "ff 2",
3422
- "ff 3",
3423
- "ff 4",
3424
3455
  "ff 5",
3425
3456
  "ff 6",
3426
3457
  "ff 7",
@@ -3432,15 +3463,6 @@ module.exports = {
3432
3463
  "ff 13",
3433
3464
  "ff 14",
3434
3465
  "ff 15",
3435
- "ff 16",
3436
- "ff 17",
3437
- "ff 18",
3438
- "ff 19",
3439
- "ff 20",
3440
- "ff 21",
3441
- "ff 22",
3442
- "ff 3.5",
3443
- "ff 3.6",
3444
3466
  "chrome 4",
3445
3467
  "chrome 5",
3446
3468
  "chrome 6",
@@ -3469,9 +3491,8 @@ module.exports = {
3469
3491
  "safari 4",
3470
3492
  "safari 5",
3471
3493
  "safari 6",
3472
- "safari 3.1",
3473
- "safari 3.2",
3474
3494
  "safari 5.1",
3495
+ "opera 12",
3475
3496
  "ios 6",
3476
3497
  "ios 3.2",
3477
3498
  "ios 4.0",
@@ -3480,14 +3501,10 @@ module.exports = {
3480
3501
  "ios 4.3",
3481
3502
  "ios 5.0",
3482
3503
  "ios 5.1"
3483
- ],
3484
- transition: true
3504
+ ]
3485
3505
  },
3486
- "break-inside": {
3506
+ "animation-name": {
3487
3507
  browsers: [
3488
- "ff 2",
3489
- "ff 3",
3490
- "ff 4",
3491
3508
  "ff 5",
3492
3509
  "ff 6",
3493
3510
  "ff 7",
@@ -3499,15 +3516,6 @@ module.exports = {
3499
3516
  "ff 13",
3500
3517
  "ff 14",
3501
3518
  "ff 15",
3502
- "ff 16",
3503
- "ff 17",
3504
- "ff 18",
3505
- "ff 19",
3506
- "ff 20",
3507
- "ff 21",
3508
- "ff 22",
3509
- "ff 3.5",
3510
- "ff 3.6",
3511
3519
  "chrome 4",
3512
3520
  "chrome 5",
3513
3521
  "chrome 6",
@@ -3536,9 +3544,8 @@ module.exports = {
3536
3544
  "safari 4",
3537
3545
  "safari 5",
3538
3546
  "safari 6",
3539
- "safari 3.1",
3540
- "safari 3.2",
3541
3547
  "safari 5.1",
3548
+ "opera 12",
3542
3549
  "ios 6",
3543
3550
  "ios 3.2",
3544
3551
  "ios 4.0",
@@ -3547,12 +3554,10 @@ module.exports = {
3547
3554
  "ios 4.3",
3548
3555
  "ios 5.0",
3549
3556
  "ios 5.1"
3550
- ],
3551
- transition: true
3557
+ ]
3552
3558
  },
3553
- calc: {
3559
+ "animation-play-state": {
3554
3560
  browsers: [
3555
- "ff 4",
3556
3561
  "ff 5",
3557
3562
  "ff 6",
3558
3563
  "ff 7",
@@ -3564,6 +3569,21 @@ module.exports = {
3564
3569
  "ff 13",
3565
3570
  "ff 14",
3566
3571
  "ff 15",
3572
+ "chrome 4",
3573
+ "chrome 5",
3574
+ "chrome 6",
3575
+ "chrome 7",
3576
+ "chrome 8",
3577
+ "chrome 9",
3578
+ "chrome 10",
3579
+ "chrome 11",
3580
+ "chrome 12",
3581
+ "chrome 13",
3582
+ "chrome 14",
3583
+ "chrome 15",
3584
+ "chrome 16",
3585
+ "chrome 17",
3586
+ "chrome 18",
3567
3587
  "chrome 19",
3568
3588
  "chrome 20",
3569
3589
  "chrome 21",
@@ -3571,16 +3591,26 @@ module.exports = {
3571
3591
  "chrome 23",
3572
3592
  "chrome 24",
3573
3593
  "chrome 25",
3594
+ "chrome 26",
3595
+ "chrome 27",
3596
+ "chrome 28",
3597
+ "safari 4",
3598
+ "safari 5",
3574
3599
  "safari 6",
3575
- "ios 6"
3576
- ],
3577
- onlyValue: true
3600
+ "safari 5.1",
3601
+ "opera 12",
3602
+ "ios 6",
3603
+ "ios 3.2",
3604
+ "ios 4.0",
3605
+ "ios 4.1",
3606
+ "ios 4.2",
3607
+ "ios 4.3",
3608
+ "ios 5.0",
3609
+ "ios 5.1"
3610
+ ]
3578
3611
  },
3579
- "column-count": {
3612
+ "animation-timing-function": {
3580
3613
  browsers: [
3581
- "ff 2",
3582
- "ff 3",
3583
- "ff 4",
3584
3614
  "ff 5",
3585
3615
  "ff 6",
3586
3616
  "ff 7",
@@ -3592,15 +3622,6 @@ module.exports = {
3592
3622
  "ff 13",
3593
3623
  "ff 14",
3594
3624
  "ff 15",
3595
- "ff 16",
3596
- "ff 17",
3597
- "ff 18",
3598
- "ff 19",
3599
- "ff 20",
3600
- "ff 21",
3601
- "ff 22",
3602
- "ff 3.5",
3603
- "ff 3.6",
3604
3625
  "chrome 4",
3605
3626
  "chrome 5",
3606
3627
  "chrome 6",
@@ -3629,9 +3650,8 @@ module.exports = {
3629
3650
  "safari 4",
3630
3651
  "safari 5",
3631
3652
  "safari 6",
3632
- "safari 3.1",
3633
- "safari 3.2",
3634
3653
  "safari 5.1",
3654
+ "opera 12",
3635
3655
  "ios 6",
3636
3656
  "ios 3.2",
3637
3657
  "ios 4.0",
@@ -3640,13 +3660,11 @@ module.exports = {
3640
3660
  "ios 4.3",
3641
3661
  "ios 5.0",
3642
3662
  "ios 5.1"
3643
- ],
3644
- transition: true
3663
+ ]
3645
3664
  },
3646
- "column-fill": {
3665
+ "backface-visibility": {
3647
3666
  browsers: [
3648
- "ff 2",
3649
- "ff 3",
3667
+ "ie 9",
3650
3668
  "ff 4",
3651
3669
  "ff 5",
3652
3670
  "ff 6",
@@ -3659,13 +3677,6 @@ module.exports = {
3659
3677
  "ff 13",
3660
3678
  "ff 14",
3661
3679
  "ff 15",
3662
- "ff 16",
3663
- "ff 17",
3664
- "ff 18",
3665
- "ff 19",
3666
- "ff 20",
3667
- "ff 21",
3668
- "ff 22",
3669
3680
  "ff 3.5",
3670
3681
  "ff 3.6",
3671
3682
  "chrome 4",
@@ -3699,6 +3710,13 @@ module.exports = {
3699
3710
  "safari 3.1",
3700
3711
  "safari 3.2",
3701
3712
  "safari 5.1",
3713
+ "opera 11",
3714
+ "opera 12",
3715
+ "opera 10.5",
3716
+ "opera 10.6",
3717
+ "opera 11.1",
3718
+ "opera 11.5",
3719
+ "opera 11.6",
3702
3720
  "ios 6",
3703
3721
  "ios 3.2",
3704
3722
  "ios 4.0",
@@ -3710,7 +3728,49 @@ module.exports = {
3710
3728
  ],
3711
3729
  transition: true
3712
3730
  },
3713
- "column-gap": {
3731
+ "box-sizing": {
3732
+ browsers: [
3733
+ "ff 2",
3734
+ "ff 3",
3735
+ "ff 4",
3736
+ "ff 5",
3737
+ "ff 6",
3738
+ "ff 7",
3739
+ "ff 8",
3740
+ "ff 9",
3741
+ "ff 10",
3742
+ "ff 11",
3743
+ "ff 12",
3744
+ "ff 13",
3745
+ "ff 14",
3746
+ "ff 15",
3747
+ "ff 16",
3748
+ "ff 17",
3749
+ "ff 18",
3750
+ "ff 19",
3751
+ "ff 20",
3752
+ "ff 21",
3753
+ "ff 22",
3754
+ "ff 3.5",
3755
+ "ff 3.6",
3756
+ "chrome 4",
3757
+ "chrome 5",
3758
+ "chrome 6",
3759
+ "chrome 7",
3760
+ "chrome 8",
3761
+ "chrome 9",
3762
+ "safari 4",
3763
+ "safari 5",
3764
+ "safari 3.1",
3765
+ "safari 3.2",
3766
+ "ios 3.2",
3767
+ "ios 4.0",
3768
+ "ios 4.1",
3769
+ "ios 4.2",
3770
+ "ios 4.3"
3771
+ ]
3772
+ },
3773
+ "break-after": {
3714
3774
  browsers: [
3715
3775
  "ff 2",
3716
3776
  "ff 3",
@@ -3777,7 +3837,7 @@ module.exports = {
3777
3837
  ],
3778
3838
  transition: true
3779
3839
  },
3780
- "column-rule": {
3840
+ "break-before": {
3781
3841
  browsers: [
3782
3842
  "ff 2",
3783
3843
  "ff 3",
@@ -3844,7 +3904,7 @@ module.exports = {
3844
3904
  ],
3845
3905
  transition: true
3846
3906
  },
3847
- "column-rule-color": {
3907
+ "break-inside": {
3848
3908
  browsers: [
3849
3909
  "ff 2",
3850
3910
  "ff 3",
@@ -3911,7 +3971,7 @@ module.exports = {
3911
3971
  ],
3912
3972
  transition: true
3913
3973
  },
3914
- "column-rule-style": {
3974
+ "column-count": {
3915
3975
  browsers: [
3916
3976
  "ff 2",
3917
3977
  "ff 3",
@@ -3978,7 +4038,7 @@ module.exports = {
3978
4038
  ],
3979
4039
  transition: true
3980
4040
  },
3981
- "column-rule-width": {
4041
+ "column-fill": {
3982
4042
  browsers: [
3983
4043
  "ff 2",
3984
4044
  "ff 3",
@@ -4045,7 +4105,7 @@ module.exports = {
4045
4105
  ],
4046
4106
  transition: true
4047
4107
  },
4048
- "column-span": {
4108
+ "column-gap": {
4049
4109
  browsers: [
4050
4110
  "ff 2",
4051
4111
  "ff 3",
@@ -4112,7 +4172,7 @@ module.exports = {
4112
4172
  ],
4113
4173
  transition: true
4114
4174
  },
4115
- "column-width": {
4175
+ "column-rule": {
4116
4176
  browsers: [
4117
4177
  "ff 2",
4118
4178
  "ff 3",
@@ -4179,7 +4239,7 @@ module.exports = {
4179
4239
  ],
4180
4240
  transition: true
4181
4241
  },
4182
- columns: {
4242
+ "column-rule-color": {
4183
4243
  browsers: [
4184
4244
  "ff 2",
4185
4245
  "ff 3",
@@ -4246,8 +4306,45 @@ module.exports = {
4246
4306
  ],
4247
4307
  transition: true
4248
4308
  },
4249
- filter: {
4309
+ "column-rule-style": {
4250
4310
  browsers: [
4311
+ "ff 2",
4312
+ "ff 3",
4313
+ "ff 4",
4314
+ "ff 5",
4315
+ "ff 6",
4316
+ "ff 7",
4317
+ "ff 8",
4318
+ "ff 9",
4319
+ "ff 10",
4320
+ "ff 11",
4321
+ "ff 12",
4322
+ "ff 13",
4323
+ "ff 14",
4324
+ "ff 15",
4325
+ "ff 16",
4326
+ "ff 17",
4327
+ "ff 18",
4328
+ "ff 19",
4329
+ "ff 20",
4330
+ "ff 21",
4331
+ "ff 22",
4332
+ "ff 3.5",
4333
+ "ff 3.6",
4334
+ "chrome 4",
4335
+ "chrome 5",
4336
+ "chrome 6",
4337
+ "chrome 7",
4338
+ "chrome 8",
4339
+ "chrome 9",
4340
+ "chrome 10",
4341
+ "chrome 11",
4342
+ "chrome 12",
4343
+ "chrome 13",
4344
+ "chrome 14",
4345
+ "chrome 15",
4346
+ "chrome 16",
4347
+ "chrome 17",
4251
4348
  "chrome 18",
4252
4349
  "chrome 19",
4253
4350
  "chrome 20",
@@ -4259,14 +4356,25 @@ module.exports = {
4259
4356
  "chrome 26",
4260
4357
  "chrome 27",
4261
4358
  "chrome 28",
4359
+ "safari 4",
4360
+ "safari 5",
4262
4361
  "safari 6",
4263
- "ios 6"
4362
+ "safari 3.1",
4363
+ "safari 3.2",
4364
+ "safari 5.1",
4365
+ "ios 6",
4366
+ "ios 3.2",
4367
+ "ios 4.0",
4368
+ "ios 4.1",
4369
+ "ios 4.2",
4370
+ "ios 4.3",
4371
+ "ios 5.0",
4372
+ "ios 5.1"
4264
4373
  ],
4265
4374
  transition: true
4266
4375
  },
4267
- flex: {
4376
+ "column-rule-width": {
4268
4377
  browsers: [
4269
- "ie 10",
4270
4378
  "ff 2",
4271
4379
  "ff 3",
4272
4380
  "ff 4",
@@ -4287,6 +4395,7 @@ module.exports = {
4287
4395
  "ff 19",
4288
4396
  "ff 20",
4289
4397
  "ff 21",
4398
+ "ff 22",
4290
4399
  "ff 3.5",
4291
4400
  "ff 3.6",
4292
4401
  "chrome 4",
@@ -4331,9 +4440,8 @@ module.exports = {
4331
4440
  ],
4332
4441
  transition: true
4333
4442
  },
4334
- "flex-basis": {
4443
+ "column-span": {
4335
4444
  browsers: [
4336
- "ie 10",
4337
4445
  "ff 2",
4338
4446
  "ff 3",
4339
4447
  "ff 4",
@@ -4354,6 +4462,7 @@ module.exports = {
4354
4462
  "ff 19",
4355
4463
  "ff 20",
4356
4464
  "ff 21",
4465
+ "ff 22",
4357
4466
  "ff 3.5",
4358
4467
  "ff 3.6",
4359
4468
  "chrome 4",
@@ -4398,9 +4507,8 @@ module.exports = {
4398
4507
  ],
4399
4508
  transition: true
4400
4509
  },
4401
- "flex-direction": {
4510
+ "column-width": {
4402
4511
  browsers: [
4403
- "ie 10",
4404
4512
  "ff 2",
4405
4513
  "ff 3",
4406
4514
  "ff 4",
@@ -4421,6 +4529,7 @@ module.exports = {
4421
4529
  "ff 19",
4422
4530
  "ff 20",
4423
4531
  "ff 21",
4532
+ "ff 22",
4424
4533
  "ff 3.5",
4425
4534
  "ff 3.6",
4426
4535
  "chrome 4",
@@ -4465,9 +4574,8 @@ module.exports = {
4465
4574
  ],
4466
4575
  transition: true
4467
4576
  },
4468
- "flex-flow": {
4577
+ columns: {
4469
4578
  browsers: [
4470
- "ie 10",
4471
4579
  "ff 2",
4472
4580
  "ff 3",
4473
4581
  "ff 4",
@@ -4488,6 +4596,7 @@ module.exports = {
4488
4596
  "ff 19",
4489
4597
  "ff 20",
4490
4598
  "ff 21",
4599
+ "ff 22",
4491
4600
  "ff 3.5",
4492
4601
  "ff 3.6",
4493
4602
  "chrome 4",
@@ -4532,7 +4641,25 @@ module.exports = {
4532
4641
  ],
4533
4642
  transition: true
4534
4643
  },
4535
- "flex-grow": {
4644
+ filter: {
4645
+ browsers: [
4646
+ "chrome 18",
4647
+ "chrome 19",
4648
+ "chrome 20",
4649
+ "chrome 21",
4650
+ "chrome 22",
4651
+ "chrome 23",
4652
+ "chrome 24",
4653
+ "chrome 25",
4654
+ "chrome 26",
4655
+ "chrome 27",
4656
+ "chrome 28",
4657
+ "safari 6",
4658
+ "ios 6"
4659
+ ],
4660
+ transition: true
4661
+ },
4662
+ flex: {
4536
4663
  browsers: [
4537
4664
  "ie 10",
4538
4665
  "ff 2",
@@ -4599,7 +4726,7 @@ module.exports = {
4599
4726
  ],
4600
4727
  transition: true
4601
4728
  },
4602
- "flex-shrink": {
4729
+ "flex-basis": {
4603
4730
  browsers: [
4604
4731
  "ie 10",
4605
4732
  "ff 2",
@@ -4666,7 +4793,7 @@ module.exports = {
4666
4793
  ],
4667
4794
  transition: true
4668
4795
  },
4669
- "flex-wrap": {
4796
+ "flex-direction": {
4670
4797
  browsers: [
4671
4798
  "ie 10",
4672
4799
  "ff 2",
@@ -4733,7 +4860,7 @@ module.exports = {
4733
4860
  ],
4734
4861
  transition: true
4735
4862
  },
4736
- "justify-content": {
4863
+ "flex-flow": {
4737
4864
  browsers: [
4738
4865
  "ie 10",
4739
4866
  "ff 2",
@@ -4800,8 +4927,11 @@ module.exports = {
4800
4927
  ],
4801
4928
  transition: true
4802
4929
  },
4803
- "linear-gradient": {
4930
+ "flex-grow": {
4804
4931
  browsers: [
4932
+ "ie 10",
4933
+ "ff 2",
4934
+ "ff 3",
4805
4935
  "ff 4",
4806
4936
  "ff 5",
4807
4937
  "ff 6",
@@ -4814,6 +4944,13 @@ module.exports = {
4814
4944
  "ff 13",
4815
4945
  "ff 14",
4816
4946
  "ff 15",
4947
+ "ff 16",
4948
+ "ff 17",
4949
+ "ff 18",
4950
+ "ff 19",
4951
+ "ff 20",
4952
+ "ff 21",
4953
+ "ff 3.5",
4817
4954
  "ff 3.6",
4818
4955
  "chrome 4",
4819
4956
  "chrome 5",
@@ -4837,14 +4974,15 @@ module.exports = {
4837
4974
  "chrome 23",
4838
4975
  "chrome 24",
4839
4976
  "chrome 25",
4977
+ "chrome 26",
4978
+ "chrome 27",
4979
+ "chrome 28",
4840
4980
  "safari 4",
4841
4981
  "safari 5",
4842
4982
  "safari 6",
4983
+ "safari 3.1",
4984
+ "safari 3.2",
4843
4985
  "safari 5.1",
4844
- "opera 12",
4845
- "opera 11.1",
4846
- "opera 11.5",
4847
- "opera 11.6",
4848
4986
  "ios 6",
4849
4987
  "ios 3.2",
4850
4988
  "ios 4.0",
@@ -4854,9 +4992,9 @@ module.exports = {
4854
4992
  "ios 5.0",
4855
4993
  "ios 5.1"
4856
4994
  ],
4857
- onlyValue: true
4995
+ transition: true
4858
4996
  },
4859
- order: {
4997
+ "flex-shrink": {
4860
4998
  browsers: [
4861
4999
  "ie 10",
4862
5000
  "ff 2",
@@ -4923,9 +5061,11 @@ module.exports = {
4923
5061
  ],
4924
5062
  transition: true
4925
5063
  },
4926
- perspective: {
5064
+ "flex-wrap": {
4927
5065
  browsers: [
4928
- "ie 9",
5066
+ "ie 10",
5067
+ "ff 2",
5068
+ "ff 3",
4929
5069
  "ff 4",
4930
5070
  "ff 5",
4931
5071
  "ff 6",
@@ -4938,6 +5078,12 @@ module.exports = {
4938
5078
  "ff 13",
4939
5079
  "ff 14",
4940
5080
  "ff 15",
5081
+ "ff 16",
5082
+ "ff 17",
5083
+ "ff 18",
5084
+ "ff 19",
5085
+ "ff 20",
5086
+ "ff 21",
4941
5087
  "ff 3.5",
4942
5088
  "ff 3.6",
4943
5089
  "chrome 4",
@@ -4971,13 +5117,6 @@ module.exports = {
4971
5117
  "safari 3.1",
4972
5118
  "safari 3.2",
4973
5119
  "safari 5.1",
4974
- "opera 11",
4975
- "opera 12",
4976
- "opera 10.5",
4977
- "opera 10.6",
4978
- "opera 11.1",
4979
- "opera 11.5",
4980
- "opera 11.6",
4981
5120
  "ios 6",
4982
5121
  "ios 3.2",
4983
5122
  "ios 4.0",
@@ -4989,9 +5128,11 @@ module.exports = {
4989
5128
  ],
4990
5129
  transition: true
4991
5130
  },
4992
- "perspective-origin": {
5131
+ "justify-content": {
4993
5132
  browsers: [
4994
- "ie 9",
5133
+ "ie 10",
5134
+ "ff 2",
5135
+ "ff 3",
4995
5136
  "ff 4",
4996
5137
  "ff 5",
4997
5138
  "ff 6",
@@ -5004,6 +5145,12 @@ module.exports = {
5004
5145
  "ff 13",
5005
5146
  "ff 14",
5006
5147
  "ff 15",
5148
+ "ff 16",
5149
+ "ff 17",
5150
+ "ff 18",
5151
+ "ff 19",
5152
+ "ff 20",
5153
+ "ff 21",
5007
5154
  "ff 3.5",
5008
5155
  "ff 3.6",
5009
5156
  "chrome 4",
@@ -5037,13 +5184,6 @@ module.exports = {
5037
5184
  "safari 3.1",
5038
5185
  "safari 3.2",
5039
5186
  "safari 5.1",
5040
- "opera 11",
5041
- "opera 12",
5042
- "opera 10.5",
5043
- "opera 10.6",
5044
- "opera 11.1",
5045
- "opera 11.5",
5046
- "opera 11.6",
5047
5187
  "ios 6",
5048
5188
  "ios 3.2",
5049
5189
  "ios 4.0",
@@ -5055,8 +5195,11 @@ module.exports = {
5055
5195
  ],
5056
5196
  transition: true
5057
5197
  },
5058
- "radial-gradient": {
5198
+ order: {
5059
5199
  browsers: [
5200
+ "ie 10",
5201
+ "ff 2",
5202
+ "ff 3",
5060
5203
  "ff 4",
5061
5204
  "ff 5",
5062
5205
  "ff 6",
@@ -5069,6 +5212,13 @@ module.exports = {
5069
5212
  "ff 13",
5070
5213
  "ff 14",
5071
5214
  "ff 15",
5215
+ "ff 16",
5216
+ "ff 17",
5217
+ "ff 18",
5218
+ "ff 19",
5219
+ "ff 20",
5220
+ "ff 21",
5221
+ "ff 3.5",
5072
5222
  "ff 3.6",
5073
5223
  "chrome 4",
5074
5224
  "chrome 5",
@@ -5092,14 +5242,15 @@ module.exports = {
5092
5242
  "chrome 23",
5093
5243
  "chrome 24",
5094
5244
  "chrome 25",
5245
+ "chrome 26",
5246
+ "chrome 27",
5247
+ "chrome 28",
5095
5248
  "safari 4",
5096
5249
  "safari 5",
5097
5250
  "safari 6",
5251
+ "safari 3.1",
5252
+ "safari 3.2",
5098
5253
  "safari 5.1",
5099
- "opera 12",
5100
- "opera 11.1",
5101
- "opera 11.5",
5102
- "opera 11.6",
5103
5254
  "ios 6",
5104
5255
  "ios 3.2",
5105
5256
  "ios 4.0",
@@ -5109,10 +5260,11 @@ module.exports = {
5109
5260
  "ios 5.0",
5110
5261
  "ios 5.1"
5111
5262
  ],
5112
- onlyValue: true
5263
+ transition: true
5113
5264
  },
5114
- "repeating-linear-gradient": {
5265
+ perspective: {
5115
5266
  browsers: [
5267
+ "ie 9",
5116
5268
  "ff 4",
5117
5269
  "ff 5",
5118
5270
  "ff 6",
@@ -5125,6 +5277,7 @@ module.exports = {
5125
5277
  "ff 13",
5126
5278
  "ff 14",
5127
5279
  "ff 15",
5280
+ "ff 3.5",
5128
5281
  "ff 3.6",
5129
5282
  "chrome 4",
5130
5283
  "chrome 5",
@@ -5148,11 +5301,19 @@ module.exports = {
5148
5301
  "chrome 23",
5149
5302
  "chrome 24",
5150
5303
  "chrome 25",
5304
+ "chrome 26",
5305
+ "chrome 27",
5306
+ "chrome 28",
5151
5307
  "safari 4",
5152
5308
  "safari 5",
5153
5309
  "safari 6",
5310
+ "safari 3.1",
5311
+ "safari 3.2",
5154
5312
  "safari 5.1",
5313
+ "opera 11",
5155
5314
  "opera 12",
5315
+ "opera 10.5",
5316
+ "opera 10.6",
5156
5317
  "opera 11.1",
5157
5318
  "opera 11.5",
5158
5319
  "opera 11.6",
@@ -5165,10 +5326,11 @@ module.exports = {
5165
5326
  "ios 5.0",
5166
5327
  "ios 5.1"
5167
5328
  ],
5168
- onlyValue: true
5329
+ transition: true
5169
5330
  },
5170
- "repeating-radial-gradient": {
5331
+ "perspective-origin": {
5171
5332
  browsers: [
5333
+ "ie 9",
5172
5334
  "ff 4",
5173
5335
  "ff 5",
5174
5336
  "ff 6",
@@ -5181,6 +5343,7 @@ module.exports = {
5181
5343
  "ff 13",
5182
5344
  "ff 14",
5183
5345
  "ff 15",
5346
+ "ff 3.5",
5184
5347
  "ff 3.6",
5185
5348
  "chrome 4",
5186
5349
  "chrome 5",
@@ -5204,11 +5367,19 @@ module.exports = {
5204
5367
  "chrome 23",
5205
5368
  "chrome 24",
5206
5369
  "chrome 25",
5370
+ "chrome 26",
5371
+ "chrome 27",
5372
+ "chrome 28",
5207
5373
  "safari 4",
5208
5374
  "safari 5",
5209
5375
  "safari 6",
5376
+ "safari 3.1",
5377
+ "safari 3.2",
5210
5378
  "safari 5.1",
5379
+ "opera 11",
5211
5380
  "opera 12",
5381
+ "opera 10.5",
5382
+ "opera 10.6",
5212
5383
  "opera 11.1",
5213
5384
  "opera 11.5",
5214
5385
  "opera 11.6",
@@ -5221,7 +5392,7 @@ module.exports = {
5221
5392
  "ios 5.0",
5222
5393
  "ios 5.1"
5223
5394
  ],
5224
- onlyValue: true
5395
+ transition: true
5225
5396
  },
5226
5397
  transform: {
5227
5398
  browsers: [
@@ -5807,10 +5978,10 @@ require.register("autoprefixer/lib/autoprefixer/inspect.js", function(exports, r
5807
5978
  var autoprefixer = require('../autoprefixer.js');
5808
5979
 
5809
5980
  var transition;
5810
- var format = function (props) {
5981
+ var format = function (data) {
5811
5982
  transition = false;
5812
- return props.map(function (prop) {
5813
- var name = prop.name;
5983
+ return Object.keys(data).sort().map(function (name) {
5984
+ var prop = data[name];
5814
5985
  if (prop.transition) {
5815
5986
  name += '*';
5816
5987
  transition = true;
@@ -5825,7 +5996,8 @@ var format = function (props) {
5825
5996
  // with this `req`.
5826
5997
  var inspect = function (reqs) {
5827
5998
  var browsers = autoprefixer.parse(reqs || []);
5828
- var props = autoprefixer.props(browsers);
5999
+ var values = autoprefixer.filter(autoprefixer.data.values, browsers);
6000
+ var props = autoprefixer.filter(autoprefixer.data.props, browsers);
5829
6001
 
5830
6002
  var name, version, last, selected = [];
5831
6003
  for (var i = 0; i < browsers.length; i++) {
@@ -5847,19 +6019,16 @@ var inspect = function (reqs) {
5847
6019
  }
5848
6020
  }
5849
6021
 
5850
- var properties = props.filter(function (i) { return !i.onlyValue; });
5851
- var values = props.filter(function (i) { return i.onlyValue; });
5852
-
5853
6022
  var out = "Browsers:\n" +
5854
6023
  selected.map(function (i) { return ' ' + i; }).join("\n") + "\n";
5855
6024
 
5856
- if ( properties.length > 0 ) {
5857
- out += "\nProperties:\n" + format(properties) + "\n";
6025
+ if ( Object.keys(props).length > 0 ) {
6026
+ out += "\nProperties:\n" + format(props) + "\n";
5858
6027
  if ( transition ) {
5859
6028
  out += "* - properties, which can be used in transition\n"
5860
6029
  }
5861
6030
  }
5862
- if ( values.length > 0 ) {
6031
+ if ( Object.keys(values).length > 0 ) {
5863
6032
  out += "\nValues:\n" + format(values) + "\n"
5864
6033
  }
5865
6034
  return out;
@@ -5901,6 +6070,23 @@ var uniq = function (array) {
5901
6070
  return filtered;
5902
6071
  };
5903
6072
 
6073
+ // Split prefix and property name.
6074
+ var splitPrefix = function (prop) {
6075
+ if ( prop[0] == '-' ) {
6076
+ var sep = prop.indexOf('-', 1) + 1;
6077
+ return { prefix: prop.slice(0, sep), name: prop.slice(sep) };
6078
+ } else {
6079
+ return { prefix: null, name: prop };
6080
+ }
6081
+ };
6082
+
6083
+ // Generate RegExp to test, does CSS value contain some `word`.
6084
+ var containRegexp = function (word) {
6085
+ return new RegExp('(^|\\s|,|\\()' +
6086
+ word.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1") +
6087
+ '($|\\s|\\()');
6088
+ };
6089
+
5904
6090
  // Parse CSS and add prefixed properties and values by Can I Use database
5905
6091
  // for actual browsers.
5906
6092
  //
@@ -5923,24 +6109,25 @@ var uniq = function (array) {
5923
6109
  // you can use it as separated filter:
5924
6110
  //
5925
6111
  // rework(css).
5926
- // use(autoprefixer.filter(last 1 version')).
6112
+ // use(autoprefixer.rework(last 1 version')).
5927
6113
  // toString();
5928
6114
  var autoprefixer = {
5929
6115
  // Load data
5930
6116
  data: {
5931
6117
  browsers: require('../data/browsers'),
6118
+ values: require('../data/values'),
5932
6119
  props: require('../data/props')
5933
6120
  },
5934
6121
 
5935
6122
  // Parse `css` by Rework and add prefixed properties for browsers
5936
6123
  // in `requirements`.
5937
6124
  compile: function (css, requirements) {
5938
- return rework(css).use(autoprefixer.filter(requirements)).toString();
6125
+ return rework(css).use(autoprefixer.rework(requirements)).toString();
5939
6126
  },
5940
6127
 
5941
6128
  // Return Rework filter, which will add necessary prefixes for browsers
5942
6129
  // in `requirements`.
5943
- filter: function (requirements) {
6130
+ rework: function (requirements) {
5944
6131
  if ( !requirements ) {
5945
6132
  requirements = [];
5946
6133
  } else if ( !Array.isArray(requirements) ) {
@@ -5948,23 +6135,101 @@ var autoprefixer = {
5948
6135
  }
5949
6136
 
5950
6137
  var browsers = this.parse(requirements);
5951
- var props = this.props(browsers);
6138
+ var props = this.prefixes(browsers);
5952
6139
 
5953
- return function (style, filters) {
5954
- props.forEach(function (prop) {
5955
- if ( prop.name == '@keyframes' ) {
5956
- filters.use( rework.keyframes(prop.prefixes) );
5957
- } else {
5958
- if ( !prop.onlyValue ) {
5959
- filters.use( rework.prefix(prop.name, prop.prefixes) );
6140
+ return function (style, css) {
6141
+ autoprefixer.prefixer(props, style, css);
6142
+ };
6143
+ },
6144
+
6145
+ // Change `style` declarations in parsed `css`, to add prefixes for `props`.
6146
+ prefixer: function (props, style, css) {
6147
+ if ( props['@keyframes'] ) {
6148
+ css.use( rework.keyframes(props['@keyframes'].prefixes) );
6149
+ }
6150
+
6151
+ var all = props['*'];
6152
+ var transitions = { };
6153
+ for ( var i in props ) {
6154
+ if ( props[i].transition && props[i].prefixes ) {
6155
+ transitions[i] = props[i];
6156
+ }
6157
+ }
6158
+ var isTransition = /(-(webkit|moz|ms|o)-)?transition(-property)?/;
6159
+
6160
+ rework.visit.declarations(style, function (rules, node) {
6161
+ var vendor = node.vendor;
6162
+
6163
+ // Properties
6164
+ for ( var num = 0; num < rules.length; num += 1 ) {
6165
+ var rule = rules[num];
6166
+ var prop = props[rule.property];
6167
+
6168
+ if ( !prop || !prop.prefixes ) {
6169
+ continue;
6170
+ }
6171
+
6172
+ prop.prefixes.forEach(function (prefix) {
6173
+ if ( vendor && vendor != prefix ) {
6174
+ return;
6175
+ }
6176
+
6177
+ rules.splice(num, 0, {
6178
+ property: prefix + rule.property,
6179
+ value: rule.value
6180
+ });
6181
+ num += 1;
6182
+ });
6183
+ };
6184
+
6185
+ // Values
6186
+ for ( var num = 0; num < rules.length; num += 1 ) {
6187
+ var rule = rules[num];
6188
+
6189
+ var split = splitPrefix(rule.property);
6190
+ var prop = props[split.name];
6191
+ var propVendor = split.prefix || vendor;
6192
+
6193
+ var valuePrefixer = function (values) {
6194
+ var prefixed = rule.value;
6195
+ for ( var name in values ) {
6196
+ var value = values[name];
6197
+ if ( !value.regexp.test(rule.value) ) {
6198
+ continue;
6199
+ }
6200
+
6201
+ value.prefixes.forEach(function (prefix) {
6202
+ if ( propVendor && propVendor != prefix ) {
6203
+ return;
6204
+ }
6205
+ prefixed = prefixed.replace(value.regexp,
6206
+ '$1' + prefix + name + '$2');
6207
+ });
5960
6208
  }
5961
- if ( prop.onlyValue || prop.transition ) {
5962
- filters.use(
5963
- rework.prefixValue(prop.name, prop.prefixes));
6209
+ if ( prefixed != rule.value ) {
6210
+ if ( propVendor ) {
6211
+ rule.value = prefixed;
6212
+ } else {
6213
+ rules.splice(num, 0, {
6214
+ property: rule.property,
6215
+ value: prefixed
6216
+ });
6217
+ num += 1;
6218
+ }
5964
6219
  }
5965
6220
  }
5966
- });
5967
- };
6221
+
6222
+ if ( all ) {
6223
+ valuePrefixer(all.values);
6224
+ }
6225
+ if ( prop ) {
6226
+ valuePrefixer(prop.values);
6227
+ }
6228
+ if ( rule.property.match(isTransition) ) {
6229
+ valuePrefixer(transitions);
6230
+ }
6231
+ }
6232
+ });
5968
6233
  },
5969
6234
 
5970
6235
  // Return array of browsers for requirements in free form.
@@ -6002,10 +6267,9 @@ var autoprefixer = {
6002
6267
  // Select browsers by some `criteria`.
6003
6268
  browsers: function (criteria) {
6004
6269
  var selected = [];
6005
- var versions, browser;
6006
6270
  for ( var name in this.data.browsers ) {
6007
- browser = this.data.browsers[name];
6008
- versions = criteria(browser).map(function (version) {
6271
+ var browser = this.data.browsers[name];
6272
+ var versions = criteria(browser).map(function (version) {
6009
6273
  return name + ' ' + version;
6010
6274
  });
6011
6275
  selected = selected.concat(versions);
@@ -6042,35 +6306,60 @@ var autoprefixer = {
6042
6306
  return name + ' ' + version;
6043
6307
  },
6044
6308
 
6045
- // Return CSS properties, which need prefix for `browsers`.
6046
- props: function (browsers) {
6047
- var selected = [];
6048
- var prefixes;
6049
- for ( var prop in this.data.props ) {
6050
- prefixes = this.prefixes(prop, browsers);
6309
+ // Return new `data` only with items, which need prefixes
6310
+ // for selected `browsers`.
6311
+ filter: function (data, browsers) {
6312
+ var selected = { };
6313
+ for ( var name in data ) {
6314
+ var need = data[name].browsers;
6315
+ var prefixes = browsers.filter(function (browser) {
6316
+ return need.indexOf(browser) != -1;
6317
+ }).map(function (browser) {
6318
+ var key = browser.split(' ')[0];
6319
+ return autoprefixer.data.browsers[key].prefix;
6320
+ }).sort(function (a, b) { return b.length - a.length });
6321
+
6051
6322
  if ( prefixes.length ) {
6052
- selected.push({
6053
- name: prop,
6054
- prefixes: prefixes,
6055
- onlyValue: this.data.props[prop].onlyValue,
6056
- transition: this.data.props[prop].transition
6057
- });
6323
+ prefixes = uniq(prefixes);
6324
+
6325
+ if ( data[name].props ) {
6326
+ selected[name] = {
6327
+ props: data[name].props,
6328
+ regexp: containRegexp(name),
6329
+ prefixes: prefixes
6330
+ };
6331
+ } else if (data[name].transition) {
6332
+ selected[name] = {
6333
+ regexp: containRegexp(name),
6334
+ prefixes: prefixes,
6335
+ transition: true
6336
+ };
6337
+ } else {
6338
+ selected[name] = { prefixes: prefixes };
6339
+ }
6058
6340
  }
6059
6341
  }
6060
6342
  return selected;
6061
6343
  },
6062
6344
 
6063
- // Return `prop` prefixes, which will be need to `browsers`.
6064
- prefixes: function (prop, browsers) {
6065
- var need = this.data.props[prop].browsers;
6066
-
6067
- var prefixes = browsers.filter(function (browser) {
6068
- return need.indexOf(browser) != -1;
6069
- }).map(function (browser) {
6070
- var name = browser.split(' ')[0];
6071
- return autoprefixer.data.browsers[name].prefix;
6072
- })
6073
- return uniq(prefixes);
6345
+ // Return properties, which them prefixed values inside.
6346
+ prefixes: function (browsers) {
6347
+ var values = this.filter(this.data.values, browsers);
6348
+ var props = this.filter(this.data.props, browsers);
6349
+
6350
+ for ( var name in values ) {
6351
+ values[name].props.forEach(function (prop) {
6352
+ if ( !props[prop] ) {
6353
+ props[prop] = { values: { } };
6354
+ } else if ( !props[prop].values ) {
6355
+ props[prop].values = { };
6356
+ }
6357
+
6358
+ props[prop].values[name] = values[name];
6359
+ });
6360
+ }
6361
+
6362
+ return props;
6074
6363
  }
6075
6364
  };
6076
6365
 
@@ -6110,6 +6399,8 @@ require.alias("component-color-parser/colors.js", "visionmedia-rework/deps/color
6110
6399
 
6111
6400
  require.alias("component-path/index.js", "visionmedia-rework/deps/path/index.js");
6112
6401
 
6402
+ require.alias("autoprefixer/lib/autoprefixer.js", "autoprefixer/index.js");
6403
+
6113
6404
  require.register('visionmedia-rework/lib/plugins/inline.js', function(_, _, module){
6114
6405
  module.exports = function () {};
6115
6406
  });