BVB Source Codes

reactide Show prefixes.js Source code

Return Download reactide: download prefixes.js Source code - Download reactide Source code - Type:.js
  1. (function() {
  2.   var add, backdropFilter, bckgrndImgOpts, boxdecorbreak, crispedges, cursorsGrab, cursorsNewer, decoration, devdaptation, elementFunction, feature, filterFunction, flexbox, fullscreen, gradients, grid, logicalProps, prefix, readOnly, resolution, result, sort, textAlignLast, textSizeAdjust, textSpacing, transforms3d, userSelectNone, writingMode,
  3.     slice = [].slice;
  4.  
  5.   sort = function(array) {
  6.     return array.sort(function(a, b) {
  7.       var d;
  8.       a = a.split(' ');
  9.       b = b.split(' ');
  10.       if (a[0] > b[0]) {
  11.         return 1;
  12.       } else if (a[0] < b[0]) {
  13.         return -1;
  14.       } else {
  15.         d = parseFloat(a[1]) - parseFloat(b[1]);
  16.         if (d > 0) {
  17.           return 1;
  18.         } else if (d < 0) {
  19.           return -1;
  20.         } else {
  21.           return 0;
  22.         }
  23.       }
  24.     });
  25.   };
  26.  
  27.   feature = function(data, opts, callback) {
  28.     var browser, match, need, ref, ref1, support, version, versions;
  29.     if (!callback) {
  30.       ref = [opts, {}], callback = ref[0], opts = ref[1];
  31.     }
  32.     match = opts.match || /\sx($|\s)/;
  33.     need = [];
  34.     ref1 = data.stats;
  35.     for (browser in ref1) {
  36.       versions = ref1[browser];
  37.       for (version in versions) {
  38.         support = versions[version];
  39.         if (support.match(match)) {
  40.           need.push(browser + ' ' + version);
  41.         }
  42.       }
  43.     }
  44.     return callback(sort(need));
  45.   };
  46.  
  47.   result = {};
  48.  
  49.   prefix = function() {
  50.     var data, i, j, k, len, name, names, results;
  51.     names = 2 <= arguments.length ? slice.call(arguments, 0, j = arguments.length - 1) : (j = 0, []), data = arguments[j++];
  52.     results = [];
  53.     for (k = 0, len = names.length; k < len; k++) {
  54.       name = names[k];
  55.       result[name] = {};
  56.       results.push((function() {
  57.         var results1;
  58.         results1 = [];
  59.         for (i in data) {
  60.           results1.push(result[name][i] = data[i]);
  61.         }
  62.         return results1;
  63.       })());
  64.     }
  65.     return results;
  66.   };
  67.  
  68.   add = function() {
  69.     var data, j, k, len, name, names, results;
  70.     names = 2 <= arguments.length ? slice.call(arguments, 0, j = arguments.length - 1) : (j = 0, []), data = arguments[j++];
  71.     results = [];
  72.     for (k = 0, len = names.length; k < len; k++) {
  73.       name = names[k];
  74.       results.push(result[name].browsers = sort(result[name].browsers.concat(data.browsers)));
  75.     }
  76.     return results;
  77.   };
  78.  
  79.   module.exports = result;
  80.  
  81.   feature(require('caniuse-db/features-json/border-radius.json'), function(browsers) {
  82.     return prefix('border-radius', 'border-top-left-radius', 'border-top-right-radius', 'border-bottom-right-radius', 'border-bottom-left-radius', {
  83.       mistakes: ['-khtml-', '-ms-', '-o-'],
  84.       browsers: browsers,
  85.       feature: 'border-radius'
  86.     });
  87.   });
  88.  
  89.   feature(require('caniuse-db/features-json/css-boxshadow.json'), function(browsers) {
  90.     return prefix('box-shadow', {
  91.       mistakes: ['-khtml-'],
  92.       browsers: browsers,
  93.       feature: 'css-boxshadow'
  94.     });
  95.   });
  96.  
  97.   feature(require('caniuse-db/features-json/css-animation.json'), function(browsers) {
  98.     return prefix('animation', 'animation-name', 'animation-duration', 'animation-delay', 'animation-direction', 'animation-fill-mode', 'animation-iteration-count', 'animation-play-state', 'animation-timing-function', '@keyframes', {
  99.       mistakes: ['-khtml-', '-ms-'],
  100.       browsers: browsers,
  101.       feature: 'css-animation'
  102.     });
  103.   });
  104.  
  105.   feature(require('caniuse-db/features-json/css-transitions.json'), function(browsers) {
  106.     return prefix('transition', 'transition-property', 'transition-duration', 'transition-delay', 'transition-timing-function', {
  107.       mistakes: ['-khtml-', '-ms-'],
  108.       browsers: browsers,
  109.       feature: 'css-transitions'
  110.     });
  111.   });
  112.  
  113.   feature(require('caniuse-db/features-json/transforms2d.json'), function(browsers) {
  114.     return prefix('transform', 'transform-origin', {
  115.       browsers: browsers,
  116.       feature: 'transforms2d'
  117.     });
  118.   });
  119.  
  120.   transforms3d = require('caniuse-db/features-json/transforms3d.json');
  121.  
  122.   feature(transforms3d, function(browsers) {
  123.     prefix('perspective', 'perspective-origin', {
  124.       browsers: browsers,
  125.       feature: 'transforms3d'
  126.     });
  127.     return prefix('transform-style', {
  128.       mistakes: ['-ms-', '-o-'],
  129.       browsers: browsers,
  130.       feature: 'transforms3d'
  131.     });
  132.   });
  133.  
  134.   feature(transforms3d, {
  135.     match: /y\sx|y\s#2/
  136.   }, function(browsers) {
  137.     return prefix('backface-visibility', {
  138.       mistakes: ['-ms-', '-o-'],
  139.       browsers: browsers,
  140.       feature: 'transforms3d'
  141.     });
  142.   });
  143.  
  144.   gradients = require('caniuse-db/features-json/css-gradients.json');
  145.  
  146.   feature(gradients, {
  147.     match: /y\sx/
  148.   }, function(browsers) {
  149.     return prefix('linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient', {
  150.       props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
  151.       mistakes: ['-ms-'],
  152.       browsers: browsers,
  153.       feature: 'css-gradients'
  154.     });
  155.   });
  156.  
  157.   feature(gradients, {
  158.     match: /a\sx/
  159.   }, function(browsers) {
  160.     browsers = browsers.map(function(i) {
  161.       if (/op/.test(i)) {
  162.         return i;
  163.       } else {
  164.         return i + " old";
  165.       }
  166.     });
  167.     return add('linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient', {
  168.       browsers: browsers,
  169.       feature: 'css-gradients'
  170.     });
  171.   });
  172.  
  173.   feature(require('caniuse-db/features-json/css3-boxsizing.json'), function(browsers) {
  174.     return prefix('box-sizing', {
  175.       browsers: browsers,
  176.       feature: 'css3-boxsizing'
  177.     });
  178.   });
  179.  
  180.   feature(require('caniuse-db/features-json/css-filters.json'), function(browsers) {
  181.     return prefix('filter', {
  182.       browsers: browsers,
  183.       feature: 'css-filters'
  184.     });
  185.   });
  186.  
  187.   filterFunction = require('caniuse-db/features-json/css-filter-function.json');
  188.  
  189.   feature(filterFunction, function(browsers) {
  190.     return prefix('filter-function', {
  191.       props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
  192.       browsers: browsers,
  193.       feature: 'css-filter-function'
  194.     });
  195.   });
  196.  
  197.   backdropFilter = require('caniuse-db/features-json/css-backdrop-filter.json');
  198.  
  199.   feature(backdropFilter, function(browsers) {
  200.     return prefix('backdrop-filter', {
  201.       browsers: browsers,
  202.       feature: 'css-backdrop-filter'
  203.     });
  204.   });
  205.  
  206.   elementFunction = require('caniuse-db/features-json/css-element-function.json');
  207.  
  208.   feature(elementFunction, function(browsers) {
  209.     return prefix('element', {
  210.       props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
  211.       browsers: browsers,
  212.       feature: 'css-element-function'
  213.     });
  214.   });
  215.  
  216.   feature(require('caniuse-db/features-json/multicolumn.json'), function(browsers) {
  217.     prefix('columns', 'column-width', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width', {
  218.       browsers: browsers,
  219.       feature: 'multicolumn'
  220.     });
  221.     return prefix('column-count', 'column-rule-style', 'column-span', 'column-fill', 'break-before', 'break-after', 'break-inside', {
  222.       browsers: browsers,
  223.       feature: 'multicolumn'
  224.     });
  225.   });
  226.  
  227.   userSelectNone = require('caniuse-db/features-json/user-select-none.json');
  228.  
  229.   feature(userSelectNone, function(browsers) {
  230.     return prefix('user-select', {
  231.       mistakes: ['-khtml-'],
  232.       browsers: browsers,
  233.       feature: 'user-select-none'
  234.     });
  235.   });
  236.  
  237.   flexbox = require('caniuse-db/features-json/flexbox.json');
  238.  
  239.   feature(flexbox, {
  240.     match: /a\sx/
  241.   }, function(browsers) {
  242.     browsers = browsers.map(function(i) {
  243.       if (/ie|firefox/.test(i)) {
  244.         return i;
  245.       } else {
  246.         return i + " 2009";
  247.       }
  248.     });
  249.     prefix('display-flex', 'inline-flex', {
  250.       props: ['display'],
  251.       browsers: browsers,
  252.       feature: 'flexbox'
  253.     });
  254.     prefix('flex', 'flex-grow', 'flex-shrink', 'flex-basis', {
  255.       browsers: browsers,
  256.       feature: 'flexbox'
  257.     });
  258.     return prefix('flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content', {
  259.       browsers: browsers,
  260.       feature: 'flexbox'
  261.     });
  262.   });
  263.  
  264.   feature(flexbox, {
  265.     match: /y\sx/
  266.   }, function(browsers) {
  267.     add('display-flex', 'inline-flex', {
  268.       browsers: browsers,
  269.       feature: 'flexbox'
  270.     });
  271.     add('flex', 'flex-grow', 'flex-shrink', 'flex-basis', {
  272.       browsers: browsers,
  273.       feature: 'flexbox'
  274.     });
  275.     return add('flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content', {
  276.       browsers: browsers,
  277.       feature: 'flexbox'
  278.     });
  279.   });
  280.  
  281.   feature(require('caniuse-db/features-json/calc.json'), function(browsers) {
  282.     return prefix('calc', {
  283.       props: ['*'],
  284.       browsers: browsers,
  285.       feature: 'calc'
  286.     });
  287.   });
  288.  
  289.   bckgrndImgOpts = require('caniuse-db/features-json/background-img-opts.json');
  290.  
  291.   feature(bckgrndImgOpts, function(browsers) {
  292.     return prefix('background-clip', 'background-origin', 'background-size', {
  293.       browsers: browsers,
  294.       feature: 'background-img-opts'
  295.     });
  296.   });
  297.  
  298.   feature(require('caniuse-db/features-json/font-feature.json'), function(browsers) {
  299.     return prefix('font-feature-settings', 'font-variant-ligatures', 'font-language-override', {
  300.       browsers: browsers,
  301.       feature: 'font-feature'
  302.     });
  303.   });
  304.  
  305.   feature(require('caniuse-db/features-json/font-kerning.json'), function(browsers) {
  306.     return prefix('font-kerning', {
  307.       browsers: browsers,
  308.       feature: 'font-kerning'
  309.     });
  310.   });
  311.  
  312.   feature(require('caniuse-db/features-json/border-image.json'), function(browsers) {
  313.     return prefix('border-image', {
  314.       browsers: browsers,
  315.       feature: 'border-image'
  316.     });
  317.   });
  318.  
  319.   feature(require('caniuse-db/features-json/css-selection.json'), function(browsers) {
  320.     return prefix('::selection', {
  321.       selector: true,
  322.       browsers: browsers,
  323.       feature: 'css-selection'
  324.     });
  325.   });
  326.  
  327.   feature(require('caniuse-db/features-json/css-placeholder.json'), function(browsers) {
  328.     browsers = browsers.map(function(i) {
  329.       var name, ref, version;
  330.       ref = i.split(' '), name = ref[0], version = ref[1];
  331.       if (name === 'firefox' && parseFloat(version) <= 18) {
  332.         return i + ' old';
  333.       } else {
  334.         return i;
  335.       }
  336.     });
  337.     return prefix('::placeholder', {
  338.       selector: true,
  339.       browsers: browsers,
  340.       feature: 'css-placeholder'
  341.     });
  342.   });
  343.  
  344.   feature(require('caniuse-db/features-json/css-hyphens.json'), function(browsers) {
  345.     return prefix('hyphens', {
  346.       browsers: browsers,
  347.       feature: 'css-hyphens'
  348.     });
  349.   });
  350.  
  351.   fullscreen = require('caniuse-db/features-json/fullscreen.json');
  352.  
  353.   feature(fullscreen, function(browsers) {
  354.     return prefix(':fullscreen', {
  355.       selector: true,
  356.       browsers: browsers,
  357.       feature: 'fullscreen'
  358.     });
  359.   });
  360.  
  361.   feature(fullscreen, {
  362.     match: /x(\s#2|$)/
  363.   }, function(browsers) {
  364.     return prefix('::backdrop', {
  365.       selector: true,
  366.       browsers: browsers,
  367.       feature: 'fullscreen'
  368.     });
  369.   });
  370.  
  371.   feature(require('caniuse-db/features-json/css3-tabsize.json'), function(browsers) {
  372.     return prefix('tab-size', {
  373.       browsers: browsers,
  374.       feature: 'css3-tabsize'
  375.     });
  376.   });
  377.  
  378.   feature(require('caniuse-db/features-json/intrinsic-width.json'), function(browsers) {
  379.     return prefix('max-content', 'min-content', 'fit-content', 'fill', 'fill-available', 'stretch', {
  380.       props: ['width', 'min-width', 'max-width', 'height', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size'],
  381.       browsers: browsers,
  382.       feature: 'intrinsic-width'
  383.     });
  384.   });
  385.  
  386.   cursorsNewer = require('caniuse-db/features-json/css3-cursors-newer.json');
  387.  
  388.   feature(cursorsNewer, function(browsers) {
  389.     return prefix('zoom-in', 'zoom-out', {
  390.       props: ['cursor'],
  391.       browsers: browsers,
  392.       feature: 'css3-cursors-newer'
  393.     });
  394.   });
  395.  
  396.   cursorsGrab = require('caniuse-db/features-json/css3-cursors-grab.json');
  397.  
  398.   feature(cursorsGrab, function(browsers) {
  399.     return prefix('grab', 'grabbing', {
  400.       props: ['cursor'],
  401.       browsers: browsers,
  402.       feature: 'css3-cursors-grab'
  403.     });
  404.   });
  405.  
  406.   feature(require('caniuse-db/features-json/css-sticky.json'), function(browsers) {
  407.     return prefix('sticky', {
  408.       props: ['position'],
  409.       browsers: browsers,
  410.       feature: 'css-sticky'
  411.     });
  412.   });
  413.  
  414.   feature(require('caniuse-db/features-json/pointer.json'), function(browsers) {
  415.     return prefix('touch-action', {
  416.       browsers: browsers,
  417.       feature: 'pointer'
  418.     });
  419.   });
  420.  
  421.   decoration = require('caniuse-db/features-json/text-decoration.json');
  422.  
  423.   feature(decoration, function(browsers) {
  424.     return prefix('text-decoration-style', 'text-decoration-color', 'text-decoration-line', {
  425.       browsers: browsers,
  426.       feature: 'text-decoration'
  427.     });
  428.   });
  429.  
  430.   feature(decoration, {
  431.     match: /x.*#[23]/
  432.   }, function(browsers) {
  433.     return prefix('text-decoration-skip', {
  434.       browsers: browsers,
  435.       feature: 'text-decoration'
  436.     });
  437.   });
  438.  
  439.   textSizeAdjust = require('caniuse-db/features-json/text-size-adjust.json');
  440.  
  441.   feature(textSizeAdjust, function(browsers) {
  442.     return prefix('text-size-adjust', {
  443.       browsers: browsers,
  444.       feature: 'text-size-adjust'
  445.     });
  446.   });
  447.  
  448.   feature(require('caniuse-db/features-json/css-masks.json'), function(browsers) {
  449.     prefix('mask-clip', 'mask-composite', 'mask-image', 'mask-origin', 'mask-repeat', 'mask-border-repeat', 'mask-border-source', {
  450.       browsers: browsers,
  451.       feature: 'css-masks'
  452.     });
  453.     return prefix('mask', 'mask-position', 'mask-size', 'mask-border', 'mask-border-outset', 'mask-border-width', 'mask-border-slice', {
  454.       browsers: browsers,
  455.       feature: 'css-masks'
  456.     });
  457.   });
  458.  
  459.   feature(require('caniuse-db/features-json/css-clip-path.json'), function(browsers) {
  460.     return prefix('clip-path', {
  461.       browsers: browsers,
  462.       feature: 'css-clip-path'
  463.     });
  464.   });
  465.  
  466.   boxdecorbreak = require('caniuse-db/features-json/css-boxdecorationbreak.json');
  467.  
  468.   feature(boxdecorbreak, function(browsers) {
  469.     return prefix('box-decoration-break', {
  470.       browsers: browsers,
  471.       feature: 'css-boxdecorationbreak'
  472.     });
  473.   });
  474.  
  475.   feature(require('caniuse-db/features-json/object-fit.json'), function(browsers) {
  476.     return prefix('object-fit', 'object-position', {
  477.       browsers: browsers,
  478.       feature: 'object-fit'
  479.     });
  480.   });
  481.  
  482.   feature(require('caniuse-db/features-json/css-shapes.json'), function(browsers) {
  483.     return prefix('shape-margin', 'shape-outside', 'shape-image-threshold', {
  484.       browsers: browsers,
  485.       feature: 'css-shapes'
  486.     });
  487.   });
  488.  
  489.   feature(require('caniuse-db/features-json/text-overflow.json'), function(browsers) {
  490.     return prefix('text-overflow', {
  491.       browsers: browsers,
  492.       feature: 'text-overflow'
  493.     });
  494.   });
  495.  
  496.   devdaptation = require('caniuse-db/features-json/css-deviceadaptation.json');
  497.  
  498.   feature(devdaptation, function(browsers) {
  499.     return prefix('@viewport', {
  500.       browsers: browsers,
  501.       feature: 'css-deviceadaptation'
  502.     });
  503.   });
  504.  
  505.   resolution = require('caniuse-db/features-json/css-media-resolution.json');
  506.  
  507.   feature(resolution, {
  508.     match: /( x($| )|a #3)/
  509.   }, function(browsers) {
  510.     return prefix('@resolution', {
  511.       browsers: browsers,
  512.       feature: 'css-media-resolution'
  513.     });
  514.   });
  515.  
  516.   textAlignLast = require('caniuse-db/features-json/css-text-align-last.json');
  517.  
  518.   feature(textAlignLast, function(browsers) {
  519.     return prefix('text-align-last', {
  520.       browsers: browsers,
  521.       feature: 'css-text-align-last'
  522.     });
  523.   });
  524.  
  525.   crispedges = require('caniuse-db/features-json/css-crisp-edges.json');
  526.  
  527.   feature(crispedges, {
  528.     match: /y x|a x #1/
  529.   }, function(browsers) {
  530.     return prefix('pixelated', {
  531.       props: ['image-rendering'],
  532.       browsers: browsers,
  533.       feature: 'css-crisp-edges'
  534.     });
  535.   });
  536.  
  537.   feature(crispedges, {
  538.     match: /a x #2/
  539.   }, function(browsers) {
  540.     return prefix('image-rendering', {
  541.       browsers: browsers,
  542.       feature: 'css-crisp-edges'
  543.     });
  544.   });
  545.  
  546.   logicalProps = require('caniuse-db/features-json/css-logical-props.json');
  547.  
  548.   feature(logicalProps, function(browsers) {
  549.     return prefix('border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end', {
  550.       browsers: browsers,
  551.       feature: 'css-logical-props'
  552.     });
  553.   });
  554.  
  555.   feature(logicalProps, {
  556.     match: /x\s#2/
  557.   }, function(browsers) {
  558.     return prefix('border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end', {
  559.       browsers: browsers,
  560.       feature: 'css-logical-props'
  561.     });
  562.   });
  563.  
  564.   feature(require('caniuse-db/features-json/css-appearance.json'), function(browsers) {
  565.     return prefix('appearance', {
  566.       browsers: browsers,
  567.       feature: 'css-appearance'
  568.     });
  569.   });
  570.  
  571.   feature(require('caniuse-db/features-json/css-snappoints.json'), function(browsers) {
  572.     return prefix('scroll-snap-type', 'scroll-snap-coordinate', 'scroll-snap-destination', 'scroll-snap-points-x', 'scroll-snap-points-y', {
  573.       browsers: browsers,
  574.       feature: 'css-snappoints'
  575.     });
  576.   });
  577.  
  578.   feature(require('caniuse-db/features-json/css-regions.json'), function(browsers) {
  579.     return prefix('flow-into', 'flow-from', 'region-fragment', {
  580.       browsers: browsers,
  581.       feature: 'css-regions'
  582.     });
  583.   });
  584.  
  585.   feature(require('caniuse-db/features-json/css-image-set.json'), function(browsers) {
  586.     return prefix('image-set', {
  587.       props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
  588.       browsers: browsers,
  589.       feature: 'css-image-set'
  590.     });
  591.   });
  592.  
  593.   writingMode = require('caniuse-db/features-json/css-writing-mode.json');
  594.  
  595.   feature(writingMode, {
  596.     match: /a|x/
  597.   }, function(browsers) {
  598.     return prefix('writing-mode', {
  599.       browsers: browsers,
  600.       feature: 'css-writing-mode'
  601.     });
  602.   });
  603.  
  604.   feature(require('caniuse-db/features-json/css-cross-fade.json'), function(browsers) {
  605.     return prefix('cross-fade', {
  606.       props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
  607.       browsers: browsers,
  608.       feature: 'css-cross-fade'
  609.     });
  610.   });
  611.  
  612.   readOnly = require('caniuse-db/features-json/css-read-only-write.json');
  613.  
  614.   feature(readOnly, function(browsers) {
  615.     return prefix(':read-only', ':read-write', {
  616.       selector: true,
  617.       browsers: browsers,
  618.       feature: 'css-read-only-write'
  619.     });
  620.   });
  621.  
  622.   feature(require('caniuse-db/features-json/text-emphasis.json'), function(browsers) {
  623.     return prefix('text-emphasis', 'text-emphasis-position', 'text-emphasis-style', 'text-emphasis-color', {
  624.       browsers: browsers,
  625.       feature: 'text-emphasis'
  626.     });
  627.   });
  628.  
  629.   grid = require('caniuse-db/features-json/css-grid.json');
  630.  
  631.   feature(grid, function(browsers) {
  632.     prefix('display-grid', 'inline-grid', {
  633.       props: ['display'],
  634.       browsers: browsers,
  635.       feature: 'css-grid'
  636.     });
  637.     return prefix('grid-template-columns', 'grid-template-rows', 'grid-row-start', 'grid-column-start', 'grid-row-end', 'grid-column-end', 'grid-row', 'grid-column', {
  638.       browsers: browsers,
  639.       feature: 'css-grid'
  640.     });
  641.   });
  642.  
  643.   feature(grid, {
  644.     match: /a x/
  645.   }, function(browsers) {
  646.     return prefix('justify-items', 'grid-row-align', {
  647.       browsers: browsers,
  648.       feature: 'css-grid'
  649.     });
  650.   });
  651.  
  652.   textSpacing = require('caniuse-db/features-json/css-text-spacing.json');
  653.  
  654.   feature(textSpacing, function(browsers) {
  655.     return prefix('text-spacing', {
  656.       browsers: browsers,
  657.       feature: 'css-text-spacing'
  658.     });
  659.   });
  660.  
  661.   feature(require('caniuse-db/features-json/css-any-link.json'), function(browsers) {
  662.     return prefix(':any-link', {
  663.       selector: true,
  664.       browsers: browsers,
  665.       feature: 'css-any-link'
  666.     });
  667.   });
  668.  
  669. }).call(this);
  670.  
downloadprefixes.js Source code - Download reactide Source code
Related Source Codes/Software:
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
postal - 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top