From fee47f6414cc3ae9a88f3ee0ed20f1d6f2d9f556 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sat, 14 Oct 2023 15:58:02 +0800 Subject: added plugin from postcss: postcss-fixes rucksack-css --- node_modules/postcss-quantity-queries/CHANGELOG.md | 43 + node_modules/postcss-quantity-queries/README.md | 205 +++ node_modules/postcss-quantity-queries/UNLICENSE | 24 + .../postcss-quantity-queries/dist/index.js | 114 ++ node_modules/postcss-quantity-queries/index.js | 3 + .../node_modules/balanced-match/.npmignore | 5 + .../node_modules/balanced-match/LICENSE.md | 21 + .../node_modules/balanced-match/README.md | 91 ++ .../node_modules/balanced-match/index.js | 58 + .../node_modules/balanced-match/package.json | 47 + .../node_modules/postcss/CHANGELOG.md | 552 +++++++++ .../node_modules/postcss/CONTRIBUTING.md | 78 ++ .../node_modules/postcss/LICENSE | 20 + .../node_modules/postcss/README-cn.md | 349 ++++++ .../node_modules/postcss/README.md | 376 ++++++ .../node_modules/postcss/docs/architecture.md | 156 +++ .../node_modules/postcss/docs/guidelines/plugin.md | 195 +++ .../node_modules/postcss/docs/guidelines/runner.md | 143 +++ .../node_modules/postcss/docs/source-maps.md | 74 ++ .../node_modules/postcss/docs/syntax.md | 231 ++++ .../node_modules/postcss/gulpfile.js | 97 ++ .../node_modules/postcss/lib/at-rule.js | 131 ++ .../node_modules/postcss/lib/comment.js | 61 + .../node_modules/postcss/lib/container.js | 907 ++++++++++++++ .../node_modules/postcss/lib/css-syntax-error.js | 256 ++++ .../node_modules/postcss/lib/declaration.js | 101 ++ .../node_modules/postcss/lib/input.js | 204 +++ .../node_modules/postcss/lib/lazy-result.js | 435 +++++++ .../node_modules/postcss/lib/list.js | 95 ++ .../node_modules/postcss/lib/map-generator.js | 323 +++++ .../node_modules/postcss/lib/node.js | 625 ++++++++++ .../node_modules/postcss/lib/parse.js | 41 + .../node_modules/postcss/lib/parser.js | 552 +++++++++ .../node_modules/postcss/lib/postcss.d.ts | 1301 ++++++++++++++++++++ .../node_modules/postcss/lib/postcss.js | 292 +++++ .../node_modules/postcss/lib/previous-map.js | 170 +++ .../node_modules/postcss/lib/processor.js | 240 ++++ .../node_modules/postcss/lib/result.js | 206 ++++ .../node_modules/postcss/lib/root.js | 129 ++ .../node_modules/postcss/lib/rule.js | 123 ++ .../node_modules/postcss/lib/stringifier.js | 344 ++++++ .../node_modules/postcss/lib/stringify.js | 17 + .../node_modules/postcss/lib/terminal-highlight.js | 83 ++ .../node_modules/postcss/lib/tokenize.js | 306 +++++ .../node_modules/postcss/lib/vendor.js | 52 + .../node_modules/postcss/lib/warn-once.js | 14 + .../node_modules/postcss/lib/warning.js | 122 ++ .../node_modules/postcss/package.json | 25 + node_modules/postcss-quantity-queries/package.json | 55 + 49 files changed, 10092 insertions(+) create mode 100644 node_modules/postcss-quantity-queries/CHANGELOG.md create mode 100644 node_modules/postcss-quantity-queries/README.md create mode 100644 node_modules/postcss-quantity-queries/UNLICENSE create mode 100644 node_modules/postcss-quantity-queries/dist/index.js create mode 100644 node_modules/postcss-quantity-queries/index.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/balanced-match/.npmignore create mode 100644 node_modules/postcss-quantity-queries/node_modules/balanced-match/LICENSE.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/balanced-match/README.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/balanced-match/index.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/balanced-match/package.json create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/CHANGELOG.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/CONTRIBUTING.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/LICENSE create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/README-cn.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/README.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/docs/architecture.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/docs/guidelines/plugin.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/docs/guidelines/runner.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/docs/source-maps.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/docs/syntax.md create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/gulpfile.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/at-rule.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/comment.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/container.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/css-syntax-error.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/declaration.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/input.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/lazy-result.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/list.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/map-generator.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/node.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/parse.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/parser.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/postcss.d.ts create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/postcss.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/previous-map.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/processor.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/result.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/root.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/rule.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/stringifier.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/stringify.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/terminal-highlight.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/tokenize.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/vendor.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/warn-once.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/lib/warning.js create mode 100644 node_modules/postcss-quantity-queries/node_modules/postcss/package.json create mode 100644 node_modules/postcss-quantity-queries/package.json (limited to 'node_modules/postcss-quantity-queries') diff --git a/node_modules/postcss-quantity-queries/CHANGELOG.md b/node_modules/postcss-quantity-queries/CHANGELOG.md new file mode 100644 index 00000000..7b618ac2 --- /dev/null +++ b/node_modules/postcss-quantity-queries/CHANGELOG.md @@ -0,0 +1,43 @@ +# postcss-quantity-queries change Log + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/) +and this project adheres to [Semantic Versioning](http://semver.org/). + + +## [Unreleased] + +## [0.5.0] - 2017-05-07 +### Changed + * PostCSS 6 upgrade. + +## [0.4.0] - 2015-09-04 +### Changed + * PostCSS 5 upgrade. + +## [0.3.1] - 2015-05-02 +### Fixed + * Use standard package keyword + ([#319](https://github.com/postcss/postcss/issues/319)) + +## [0.3.0]- 2015-04-08 +### Changed + * Use latest PostCSS 4.1.* plugin API. + * Upgrade to Babel 5.0. + +## [0.2.0] - 2015-03-12 +### Added + * A new pseudo-selectors API. + ([#2](https://github.com/pascalduez/postcss-quantity-queries/issues/2)) + +## [0.1.0] - 2015-03-09 + * Initial release. + +[Unreleased]: https://github.com/pascalduez/postcss-quantity-queries/compare/0.5.0...HEAD +[0.5.0]: https://github.com/pascalduez/postcss-quantity-queries/compare/0.4.0...0.5.0 +[0.4.0]: https://github.com/pascalduez/postcss-quantity-queries/compare/0.3.1...0.4.0 +[0.3.1]: https://github.com/pascalduez/postcss-quantity-queries/compare/0.3.0...0.3.1 +[0.3.0]: https://github.com/pascalduez/postcss-quantity-queries/compare/0.2.0...0.3.0 +[0.2.0]: https://github.com/pascalduez/postcss-quantity-queries/compare/0.1.0...0.2.0 +[0.1.0]: https://github.com/pascalduez/postcss-quantity-queries/tags/0.1.0 diff --git a/node_modules/postcss-quantity-queries/README.md b/node_modules/postcss-quantity-queries/README.md new file mode 100644 index 00000000..fbd14063 --- /dev/null +++ b/node_modules/postcss-quantity-queries/README.md @@ -0,0 +1,205 @@ +# postcss-quantity-queries + +[![npm version][npm-image]][npm-url] +[![Build Status][travis-image]][travis-url] +[![Coverage Status][coveralls-image]][coveralls-url] + + +> [PostCSS] plugin enabling quantity-queries. + +This plugin is derived from the Sass [Quantity Queries mixins] by Daniel Guillan. +For informations about quantity queries check those resources: +[Quantity Queries for CSS][] +[Styling elements based on sibling count][] +[Daniel’s demo on CodePen][] + + + +## Installation + +``` +npm install postcss-quantity-queries --save-dev +``` + + + +## Usage + +```js +const fs = require('fs'); +const postcss = require('postcss'); +const quantityQueries = require('postcss-quantity-queries'); + +const input = fs.readFileSync('input.css', 'utf8'); + +postcss() + .use(quantityQueries) + .process(input) + .then(result => { + fs.writeFileSync('output.css', result.css); + }); +``` + + + +## API + +### at-least + +Target `count` items or more: +```css +:at-least(count) { ... } +``` +input: +```css +ul > li:at-least(4) { + color: rebeccapurple; +} +``` +output: +```css +ul > li:nth-last-child(n+4), +ul > li:nth-last-child(n+4) ~ li { + color: rebeccapurple; +} +``` + + + +### at-most + +Target `count` items or less: +```css +:at-most(count) { ... } +``` +input: +```css +ul > li:at-most(4) { + color: rebeccapurple; +} +``` +output: +```css +ul > li:nth-last-child(-n+4):first-child, +ul > li:nth-last-child(-n+4):first-child ~ li { + color: rebeccapurple; +} +``` + + + +### between + +Target a range of items between `start` and `end`: +```css +:between(start, end) { ... } +``` +input: +```css +ul > li:between(4, 6) { + color: rebeccapurple; +} +``` +output: +```css +ul > li:nth-last-child(n+4):nth-last-child(-n+6):first-child, +ul > li:nth-last-child(n+4):nth-last-child(-n+6):first-child ~ li { + color: rebeccapurple; +} +``` + + + +### exactly + +Target exactly `count` items: +```css +:exactly(count) { ... } +``` +input: +```css +ul > li:exactly(4) { + color: rebeccapurple; +} +``` +output: +```css +ul > li:nth-last-child(4):first-child, +ul > li:nth-last-child(4):first-child ~ li { + color: rebeccapurple; +} +``` + +### All pseudo-selector extensions + +Selector | Description +---|--- +[#](#at-least) `:at-least(count) { … }` | Target `count` items or more +[#](#at-most) `:at-most(count) { … }` | Target `count` items or less +[#](#between) `:between(start, end) { … }` | Target a range of items between `start` and `end` +[#](#exactly) `:exactly(count) { … }` | Target exactly `count` items + +## At-rule API + +There is also an at-rule API available, similar to pre-processors. +Although it might get deprecated at some point. +The recommended API is the pseudo-selectors one. + +```css +@at-least count [, selector] { ... } +``` +```css +@at-most count [, selector] { ... } +``` +```css +@between start end [, selector] { ... } +``` +```css +@exactly count [, selector] { ... } +``` + +```css +ul > li { + @at-least 4 span { + color: rebeccapurple; + } +} + +ul > li { + @between 4 6 { + color: rebeccapurple; + } +} +``` + +Check out the [tests](test/fixture) for more examples. + + + +## Credits + +* [Pascal Duez](https://github.com/pascalduez) + + +## Licence + +postcss-quantity-queries is [unlicensed](http://unlicense.org/). + + + +[PostCSS]: https://github.com/postcss/postcss +[Quantity Queries mixins]: https://github.com/danielguillan/quantity-queries +[Quantity Queries for CSS]: http://alistapart.com/article/quantity-queries-for-css +[Styling elements based on sibling count]: http://lea.verou.me/2011/01/styling-children-based-on-their-number-with-css3 +[Daniel’s demo on CodePen]: http://codepen.io/danielguillan/pen/GgBOxm + +[npm-url]: https://www.npmjs.org/package/postcss-quantity-queries +[npm-image]: http://img.shields.io/npm/v/postcss-quantity-queries.svg?style=flat-square +[travis-url]: https://travis-ci.org/pascalduez/postcss-quantity-queries?branch=master +[travis-image]: http://img.shields.io/travis/pascalduez/postcss-quantity-queries.svg?style=flat-square +[coveralls-url]: https://coveralls.io/r/pascalduez/postcss-quantity-queries +[coveralls-image]: https://img.shields.io/coveralls/pascalduez/postcss-quantity-queries.svg?style=flat-square +[depstat-url]: https://david-dm.org/pascalduez/postcss-quantity-queries +[depstat-image]: https://david-dm.org/pascalduez/postcss-quantity-queries.svg?style=flat-square +[license-image]: http://img.shields.io/npm/l/postcss-quantity-queries.svg?style=flat-square +[license-url]: UNLICENSE diff --git a/node_modules/postcss-quantity-queries/UNLICENSE b/node_modules/postcss-quantity-queries/UNLICENSE new file mode 100644 index 00000000..68a49daa --- /dev/null +++ b/node_modules/postcss-quantity-queries/UNLICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/node_modules/postcss-quantity-queries/dist/index.js b/node_modules/postcss-quantity-queries/dist/index.js new file mode 100644 index 00000000..2c2b2eef --- /dev/null +++ b/node_modules/postcss-quantity-queries/dist/index.js @@ -0,0 +1,114 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); /* eslint-disable no-param-reassign, no-use-before-define, consistent-return */ + +var _postcss = require('postcss'); + +var _postcss2 = _interopRequireDefault(_postcss); + +var _balancedMatch = require('balanced-match'); + +var _balancedMatch2 = _interopRequireDefault(_balancedMatch); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + +exports.default = _postcss2.default.plugin('postcss-quantity-queries', function () { + return function (css) { + css.walk(function (node) { + if (node.type === 'rule') { + return processRule(node); + } + if (node.type === 'atrule') { + return processAtRule(node); + } + }); + }; +}); + + +var rePseudo = /(.*)(?::{1,2})(at-(?:least|most)|between|exactly)/; +var reAtRule = /(at-(?:least|most)|between|exactly)/; + +function processRule(rule) { + if (!rePseudo.test(rule.selector)) return; + + rule.selectors = rule.selectors.map(function (s) { + var _balanced = (0, _balancedMatch2.default)('(', ')', s), + pre = _balanced.pre, + body = _balanced.body; + + var args = _postcss.list.comma(body); + + var _pre$split = pre.split(/:{1,2}/), + _pre$split2 = _slicedToArray(_pre$split, 2), + selector = _pre$split2[0], + quantifier = _pre$split2[1]; + + return quantifiers[quantifier].apply(quantifiers, _toConsumableArray(args))([selector]); + }); +} + +function processAtRule(atRule) { + if (!reAtRule.test(atRule.name)) return; + + var args = _postcss.list.space(atRule.params); + var parent = atRule.parent; + var root = parent.root(); + var selectors = quantifiers[atRule.name].apply(quantifiers, _toConsumableArray(args))(parent.selectors); + + var newRule = _postcss2.default.rule({ + selectors, + nodes: atRule.nodes, + source: atRule.source, + raws: { + semicolon: true + } + }); + + cleanIndent(newRule); + + root.insertAfter(parent, newRule); + atRule.remove(); + + if (!parent.nodes.length) parent.remove(); +} + +var cleanIndent = function cleanIndent(rule) { + return rule.walkDecls(function (decl) { + decl.raws.before = decl.raws.before.replace(/[^\S\x0a\x0d]{2,}/, ' '); + }); +}; + +var quantitySelectors = function quantitySelectors(quantifier, last) { + return function (selectors) { + return selectors.map(function (s) { + return `${s}${quantifier}, ${s}${quantifier} ~ ${last || _postcss.list.space(s).pop()}`; + }); + }; +}; + +var quantifiers = { + + 'at-least': function atLeast(count, last) { + return quantitySelectors(`:nth-last-child(n+${count})`, last); + }, + + 'at-most': function atMost(count, last) { + return quantitySelectors(`:nth-last-child(-n+${count}):first-child`, last); + }, + + between: function between(start, end, last) { + return quantitySelectors(`:nth-last-child(n+${start}):nth-last-child(-n+${end}):first-child`, last); + }, + + exactly: function exactly(count, last) { + return quantitySelectors(`:nth-last-child(${count}):first-child`, last); + } + +}; \ No newline at end of file diff --git a/node_modules/postcss-quantity-queries/index.js b/node_modules/postcss-quantity-queries/index.js new file mode 100644 index 00000000..b11396f0 --- /dev/null +++ b/node_modules/postcss-quantity-queries/index.js @@ -0,0 +1,3 @@ +'use strict'; + +module.exports = require('./dist').default; diff --git a/node_modules/postcss-quantity-queries/node_modules/balanced-match/.npmignore b/node_modules/postcss-quantity-queries/node_modules/balanced-match/.npmignore new file mode 100644 index 00000000..ae5d8c36 --- /dev/null +++ b/node_modules/postcss-quantity-queries/node_modules/balanced-match/.npmignore @@ -0,0 +1,5 @@ +test +.gitignore +.travis.yml +Makefile +example.js diff --git a/node_modules/postcss-quantity-queries/node_modules/balanced-match/LICENSE.md b/node_modules/postcss-quantity-queries/node_modules/balanced-match/LICENSE.md new file mode 100644 index 00000000..2cdc8e41 --- /dev/null +++ b/node_modules/postcss-quantity-queries/node_modules/balanced-match/LICENSE.md @@ -0,0 +1,21 @@ +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/postcss-quantity-queries/node_modules/balanced-match/README.md b/node_modules/postcss-quantity-queries/node_modules/balanced-match/README.md new file mode 100644 index 00000000..08e918c0 --- /dev/null +++ b/node_modules/postcss-quantity-queries/node_modules/balanced-match/README.md @@ -0,0 +1,91 @@ +# balanced-match + +Match balanced string pairs, like `{` and `}` or `` and ``. Supports regular expressions as well! + +[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match) +[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match) + +[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match) + +## Example + +Get the first matching pair of braces: + +```js +var balanced = require('balanced-match'); + +console.log(balanced('{', '}', 'pre{in{nested}}post')); +console.log(balanced('{', '}', 'pre{first}between{second}post')); +console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post')); +``` + +The matches are: + +```bash +$ node example.js +{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' } +{ start: 3, + end: 9, + pre: 'pre', + body: 'first', + post: 'between{second}post' } +{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' } +``` + +## API + +### var m = balanced(a, b, str) + +For the first non-nested matching pair of `a` and `b` in `str`, return an +object with those keys: + +* **start** the index of the first match of `a` +* **end** the index of the matching `b` +* **pre** the preamble, `a` and `b` not included +* **body** the match, `a` and `b` not included +* **post** the postscript, `a` and `b` not included + +If there's no match, `undefined` will be returned. + +If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`. + +### var r = balanced.range(a, b, str) + +For the first non-nested matching pair of `a` and `b` in `str`, return an +array with indexes: `[ , ]`. + +If there's no match, `undefined` will be returned. + +If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`. + +## Installation + +With [npm](https://npmjs.org) do: + +```bash +npm install balanced-match +``` + +## License + +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/postcss-quantity-queries/node_modules/balanced-match/index.js b/node_modules/postcss-quantity-queries/node_modules/balanced-match/index.js new file mode 100644 index 00000000..e8d85870 --- /dev/null +++ b/node_modules/postcss-quantity-queries/node_modules/balanced-match/index.js @@ -0,0 +1,58 @@ +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} diff --git a/node_modules/postcss-quantity-queries/node_modules/balanced-match/package.json b/node_modules/postcss-quantity-queries/node_modules/balanced-match/package.json new file mode 100644 index 00000000..720eb4d1 --- /dev/null +++ b/node_modules/postcss-quantity-queries/node_modules/balanced-match/package.json @@ -0,0 +1,47 @@ +{ + "name": "balanced-match", + "description": "Match balanced character pairs, like \"{\" and \"}\"", + "version": "0.4.2", + "repository": { + "type": "git", + "url": "git://github.com/juliangruber/balanced-match.git" + }, + "homepage": "https://github.com/juliangruber/balanced-match", + "main": "index.js", + "scripts": { + "test": "make test" + }, + "dependencies": {}, + "devDependencies": { + "tape": "^4.6.0" + }, + "keywords": [ + "match", + "regexp", + "test", + "balanced", + "parse" + ], + "author": { + "name": "Julian Gruber", + "email": "mail@juliangruber.com", + "url": "http://juliangruber.com" + }, + "license": "MIT", + "testling": { + "files": "test/*.js", + "browsers": [ + "ie/8..latest", + "firefox/20..latest", + "firefox/nightly", + "chrome/25..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + } +} diff --git a/node_modules/postcss-quantity-queries/node_modules/postcss/CHANGELOG.md b/node_modules/postcss-quantity-queries/node_modules/postcss/CHANGELOG.md new file mode 100644 index 00000000..e2cd381e --- /dev/null +++ b/node_modules/postcss-quantity-queries/node_modules/postcss/CHANGELOG.md @@ -0,0 +1,552 @@ +# Change Log +This project adheres to [Semantic Versioning](http://semver.org/). + +## 6.0.23 +* Fix parsing nested at-rules without semicolon, params, and spaces. + +## 6.0.22 +* Fix `Node#prev` and `Node#next` on missed parent. + +## 6.0.21 +* Rename Chinese docs to fix `yarnpkg.com` issue. + +## 6.0.20 +* Better error message on `null` as input CSS. + +## 6.0.19 +* Fix TypeScript definitions for source maps (by Oleh Kuchuk). +* Fix `source` field in TypeScript definitions (by Sylvain Pollet-Villard). + +## 6.0.18 +* Use primitive object in TypeScript definitions (by Sylvain Pollet-Villard). + +## 6.0.17 +* Fix parsing comment in selector between word tokens (by Oleh Kuchuk). + +## 6.0.16 +* Fix warning text (by Michael Keller). + +## 6.0.15 +* Add warning about missed `from` option on `process().then()` call. +* Add IE 10 support. + +## 6.0.14 +* Fix TypeScript definitions (by Jed Mao). + +## 6.0.13 +* Fix TypeScript definitions for case of multiple PostCSS versions + in `node_modules` (by Chris Eppstein). +* Use `source-map` 0.6. + +## 6.0.12 +* Don’t copy `*` hack to declaration indent. + +## 6.0.11 +* Add upper case `!IMPORTANT` support. + +## 6.0.10 +* Reduce PostCSS size in webpack bundle. + +## 6.0.9 +* Improve error message for plugin with old PostCSS (by Igor Adamenko). + +## 6.0.8 +* Fix Node.js 4.2.2 support. + +## 6.0.7 +* Fix base64 decoding for old Node.js and browser. + +## 6.0.6 +* Fix `end` position in at-rule without semicolon (by Oleh Kuchuk). + +## 6.0.5 +* Move Babel config from `package.json` for `node_modules` compiling cases. + +## 6.0.4 +* Fix parsing `;;` after rules. +* Use Chalk 2.0. + +## 6.0.3 +* Fix escape sequences parsing (by Oleh Kuchuk). +* Added ability to force disable colors with an environment variable. +* Improved color detection of some terminal apps. + +## 6.0.2 +* Keep `raws.before` on moving `Root` children to new `Root`. + +## 6.0.1 +* Fix parser extensibility to use it in Safe Parser. + +## 6.0 “Marquis Orias” +* Remove node.js 0.12 support. +* Remove deprecated method from PostCSS 4. +* Insert methods remove child from previous parent, instead of closing. +* Insert methods and cloning doesn’t clean `raws` anymore. +* Methods `moveTo`, `moveAfter`, `moveBefore` were deprecated. +* Options was changed in `Plugin#process(css, processOptions, pluginOptions)`. +* Add stream parser to reduce memory usage (by Oleh Kuchuk). +* Add `before()`/`after()` shortcuts for `node.parent.insertBefore(node, x)`. +* Add `Rule#raws.ownSemicolon` for semicolon after templates for `@apply`. +* Use `babel-preset-env` to compile npm package. +* Remove `js-base64` from dependencies (by Roman Dvornov). +* Fix error message on single `:` in CSS. +* Move tests to Jest. +* Clean up test (by Gabriel Kalani). + +## 5.2.18 +* Fix TypeScript definitions for case of multiple PostCSS versions + in `node_modules` (by Chris Eppstein). + +## 5.2.17 +* Add `postcss-sass` suggestion to syntax error on `.sass` input. + +## 5.2.16 +* Better error on wrong argument in node constructor. + +## 5.2.15 +* Fix TypeScript definitions (by bumbleblym). + +## 5.2.14 +* Fix browser bundle building in webpack (by janschoenherr). + +## 5.2.13 +* Do not add comment to important raws. +* Fix JSDoc (by Dmitry Semigradsky). + +## 5.2.12 +* Fix typo in deprecation message (by Garet McKinley). + +## 5.2.11 +* Fix TypeScript definitions (by Jed Mao). + +## 5.2.10 +* Fix TypeScript definitions (by Jed Mao). + +## 5.2.9 +* Update TypeScript definitions (by Jed Mao). + +## 5.2.8 +* Fix error message (by Ben Briggs). + +## 5.2.7 +* Better error message on syntax object in plugins list. + +## 5.2.6 +* Fix `postcss.vendor` for values with spaces (by 刘祺). + +## 5.2.5 +* Better error message on unclosed string (by Ben Briggs). + +## 5.2.4 +* Improve terminal CSS syntax highlight (by Simon Lydell). + +## 5.2.3 +* Better color highlight in syntax error code frame. +* Fix color highlight support in old systems. + +## 5.2.2 +* Update `Processor#version`. + +## 5.2.1 +* Fix source map path for CSS without `from` option (by Michele Locati). + +## 5.2 “Duke Vapula” +* Add syntax highlight to code frame in syntax error (by Andrey Popp). +* Use Babel code frame style and size in syntax error. +* Add `[` and `]` tokens to parse `[attr=;] {}` correctly. +* Add `ignoreErrors` options to tokenizer (by Andrey Popp). +* Fix error position on tab indent (by Simon Lydell). + +## 5.1.2 +* Suggests SCSS/Less parsers on parse errors depends on file extension. + +## 5.1.1 +* Fix TypeScript definitions (by Efremov Alexey). + +## 5.1 “King and President Zagan” +* Add URI in source map support (by Mark Finger). +* Add `map.from` option (by Mark Finger). +* Add `` mappings for nodes without source (by Bogdan Chadkin). +* Add function value support to `map.prev` option (by Chris Montoro). +* Add declaration value type check in shortcut creating (by 刘祺). +* `Result#warn` now returns new created warning. +* Don’t call plugin creator in `postcss.plugin` call. +* Add source maps to PostCSS ES5 build. +* Add JSDoc to PostCSS classes. +* Clean npm package from unnecessary docs. + +## 5.0.21 +* Fix support with input source mao with `utf8` encoding name. + +## 5.0.20 +* Fix between raw value parsing (by David Clark). +* Update TypeScript definitions (by Jed Mao). +* Clean fake node.source after `append(string)`. + +## 5.0.19 +* Fix indent-based syntaxes support. + +## 5.0.18 +* Parse new lines according W3C CSS syntax specification. + +## 5.0.17 +* Fix options argument in `Node#warn` (by Ben Briggs). +* Fix TypeScript definitions (by Jed Mao). + +## 5.0.16 +* Fix CSS syntax error position on unclosed quotes. + +## 5.0.15 +* Fix `Node#clone()` on `null` value somewhere in node. + +## 5.0.14 +* Allow to use PostCSS in webpack bundle without JSON loader. + +## 5.0.13 +* Fix `index` and `word` options in `Warning#toString` (by Bogdan Chadkin). +* Fix input source content loading in errors. +* Fix map options on using `LazyResult` as input CSS. +* 100% test coverage. +* Use Babel 6. + +## 5.0.12 +* Allow passing a previous map with no mappings (by Andreas Lind). + +## 5.0.11 +* Increase plugins performance by 1.5 times. + +## 5.0.10 +* Fix warning from nodes without source. + +## 5.0.9 +* Fix source map type detection (by @asan). + +## 5.0.8 +* Fixed a missed step in `5.0.7` that caused the module to be published as + ES6 code. + +## 5.0.7 +* PostCSS now requires that node 0.12 is installed via the engines property + in package.json (by Howard Zuo). + +## 5.0.6 +* Fix parsing nested at-rule without semicolon (by Matt Drake). +* Trim `Declaration#value` (by Bogdan Chadkin). + +## 5.0.5 +* Fix multi-tokens property parsing (by Matt Drake). + +## 5.0.4 +* Fix start position in `Root#source`. +* Fix source map annotation, when CSS uses `\r\n` (by Mohammad Younes). + +## 5.0.3 +* Fix `url()` parsing. +* Fix using `selectors` in `Rule` constructor. +* Add start source to `Root` node. + +## 5.0.2 +* Fix `remove(index)` to be compatible with 4.x plugin. + +## 5.0.1 +* Fix PostCSS 4.x plugins compatibility. +* Fix type definition loading (by Jed Mao). + +## 5.0 “President Valac” +* Remove `safe` option. Move Safe Parser to separate project. +* `Node#toString` does not include `before` for root nodes. +* Remove plugin returning `Root` API. +* Remove Promise polyfill for node.js 0.10. +* Deprecate `eachInside`, `eachDecl`, `eachRule`, `eachAtRule` and `eachComment` + in favor of `walk`, `walkDecls`, `walkRules`, `walkAtRules` and `walkComments` + (by Jed Mao). +* Deprecate `Container#remove` and `Node#removeSelf` + in favor of `Container#removeChild` and `Node#remove` (by Ben Briggs). +* Deprecate `Node#replace` in favor of `replaceWith` (by Ben Briggs). +* Deprecate raw properties in favor of `Node#raws` object. +* Deprecate `Node#style` in favor of `raw`. +* Deprecate `CssSyntaxError#generated` in favor of `input`. +* Deprecate `Node#cleanStyles` in favor of `cleanRaws`. +* Deprecate `Root#prevMap` in favor of `Root.source.input.map`. +* Add `syntax`, `parser` and `stringifier` options for Custom Syntaxes. +* Add stringifier option to `Node#toString`. +* Add `Result#content` alias for non-CSS syntaxes. +* Add `plugin.process(css)` shortcut to every plugin function (by Ben Briggs). +* Add multiple nodes support to insert methods (by Jonathan Neal). +* Add `Node#warn` shortcut (by Ben Briggs). +* Add `word` and `index` options to errors and warnings (by David Clark). +* Add `line`, `column` properties to `Warning`. +* Use `supports-color` library to detect color support in error output. +* Add type definitions for TypeScript plugin developers (by Jed Mao). +* `Rule#selectors` setter detects separators. +* Add `postcss.stringify` method. +* Throw descriptive errors for incorrectly formatted plugins. +* Add docs to npm release. +* Fix `url()` parsing. +* Fix Windows support (by Jed Mao). + +## 4.1.16 +* Fix errors without stack trace. + +## 4.1.15 +* Allow asynchronous plugins to change processor plugins list (by Ben Briggs). + +## 4.1.14 +* Fix for plugins packs defined by `postcss.plugin`. + +## 4.1.13 +* Fix input inlined source maps with UTF-8 encoding. + +## 4.1.12 +* Update Promise polyfill. + +## 4.1.11 +* Fix error message on wrong plugin format. + +## 4.1.10 +* Fix Promise behavior on sync plugin errors. +* Automatically fill `plugin` field in `CssSyntaxError`. +* Fix warning message (by Ben Briggs). + +## 4.1.9 +* Speed up `node.clone()`. + +## 4.1.8 +* Accepts `Processor` instance in `postcss()` constructor too. + +## 4.1.7 +* Speed up `postcss.list` (by Bogdan Chadkin). + +## 4.1.6 +* Fix Promise behavior on parsing error. + +## 4.1.5 +* Parse at-words in declaration values. + +## 4.1.4 +* Fix Promise polyfill dependency (by Anton Yakushev and Matija Marohnić). + +## 4.1.3 +* Add Promise polyfill for node.js 0.10 and IE. + +## 4.1.2 +* List helpers can be accessed independently `var space = postcss.list.space`. + +## 4.1.1 +* Show deprecated message only once. + +## 4.1 “Marquis Andras” +* Asynchronous plugin support. +* Add warnings from plugins and `Result#messages`. +* Add `postcss.plugin()` to create plugins with a standard API. +* Insert nodes by CSS string. +* Show version warning message on error from an outdated plugin. +* Send `Result` instance to plugins as the second argument. +* Add `CssSyntaxError#plugin`. +* Add `CssSyntaxError#showSourceCode()`. +* Add `postcss.list` and `postcss.vendor` aliases. +* Add `Processor#version`. +* Parse wrong closing bracket. +* Parse `!important` statement with spaces and comments inside (by Ben Briggs). +* Throw an error on declaration without `prop` or `value` (by Philip Peterson). +* Fix source map mappings position. +* Add indexed source map support. +* Always set `error.generated`. +* Clean all source map annotation comments. + +## 4.0.6 +* Remove `babel` from released package dependencies (by Andres Suarez). + +## 4.0.5 +* Fix error message on double colon in declaration. + +## 4.0.4 +* Fix indent detection in some rare cases. + +## 4.0.3 +* Faster API with 6to5 Loose mode. +* Fix indexed source maps support. + +## 4.0.2 +* Do not copy IE hacks to code style. + +## 4.0.1 +* Add `source.input` to `Root` too. + +## 4.0 “Duke Flauros” +* Rename `Container#childs` to `nodes`. +* Rename `PostCSS#processors` to `plugins`. +* Add `Node#replaceValues()` method. +* Add `Node#moveTo()`, `moveBefore()` and `moveAfter()` methods. +* Add `Node#cloneBefore()` and `cloneAfter()` shortcuts. +* Add `Node#next()`, `prev()` and `root()` shortcuts. +* Add `Node#replaceWith()` method. +* Add `Node#error()` method. +* Add `Container#removeAll()` method. +* Add filter argument to `eachDecl()` and `eachAtRule()`. +* Add `Node#source.input` and move `source.file` or `source.id` to `input`. +* Change code indent, when node was moved. +* Better fix code style on `Rule`, `AtRule` and `Comment` nodes changes. +* Allow to create rules and at-rules by hash shortcut in append methods. +* Add class name to CSS syntax error output. + +## 3.0.7 +* Fix IE filter parsing with multiple commands. +* Safer way to consume PostCSS object as plugin (by Maxime Thirouin). + +## 3.0.6 +* Fix missing semicolon when comment comes after last declaration. +* Fix Safe Mode declaration parsing on unclosed blocks. + +## 3.0.5 +* Fix parser to support difficult cases with backslash escape and brackets. +* Add `CssSyntaxError#stack` (by Maxime Thirouin). + +## 3.0.4 +* Fix Safe Mode on unknown word before declaration. + +## 3.0.3 +* Increase tokenizer speed (by Roman Dvornov). + +## 3.0.2 +* Fix empty comment parsing. +* Fix `Root#normalize` in some inserts. + +## 3.0.1 +* Fix Rhino JS runtime support. +* Typo in deprecated warning (by Maxime Thirouin). + +## 3.0 “Marquis Andrealphus” +* New parser, which become the fastest ever CSS parser written in JavaScript. +* Parser can now parse declarations and rules in one parent (like in `@page`) + and nested declarations for plugins like `postcss-nested`. +* Child nodes array is now in `childs` property, instead of `decls` and `rules`. +* `map.inline` and `map.sourcesContent` options are now `true` by default. +* Fix iterators (`each`, `insertAfter`) on children array changes. +* Use previous source map to show origin source of CSS syntax error. +* Use 6to5 ES6 compiler, instead of ES6 Transpiler. +* Use code style for manually added rules from existing rules. +* Use `from` option from previous source map `file` field. +* Set `to` value to `from` if `to` option is missing. +* Use better node source name when missing `from` option. +* Show a syntax error when `;` is missed between declarations. +* Allow to pass `PostCSS` instance or list of plugins to `use()` method. +* Allow to pass `Result` instance to `process()` method. +* Trim Unicode BOM on source maps parsing. +* Parse at-rules without spaces like `@import"file"`. +* Better previous `sourceMappingURL` annotation comment cleaning. +* Do not remove previous `sourceMappingURL` comment on `map.annotation: false`. +* Parse nameless at-rules in Safe Mode. +* Fix source map generation for nodes without source. +* Fix next child `before` if `Root` first child got removed. + +## 2.2.6 +* Fix map generation for nodes without source (by Josiah Savary). + +## 2.2.5 +* Fix source map with BOM marker support (by Mohammad Younes). +* Fix source map paths (by Mohammad Younes). + +## 2.2.4 +* Fix `prepend()` on empty `Root`. + +## 2.2.3 +* Allow to use object shortcut in `use()` with functions like `autoprefixer`. + +## 2.2.2 +* Add shortcut to set processors in `use()` via object with `.postcss` property. + +## 2.2.1 +* Send `opts` from `Processor#process(css, opts)` to processors. + +## 2.2 “Marquis Cimeies” +* Use GNU style syntax error messages. +* Add `Node#replace` method. +* Add `CssSyntaxError#reason` property. + +## 2.1.2 +* Fix UTF-8 support in inline source map. +* Fix source map `sourcesContent` if there is no `from` and `to` options. + +## 2.1.1 +* Allow to miss `to` and `from` options for inline source maps. +* Add `Node#source.id` if file name is unknown. +* Better detect splitter between rules in CSS concatenation tools. +* Automatically clone node in insert methods. + +## 2.1 “King Amdusias” +* Change Traceur ES6 compiler to ES6 Transpiler. +* Show broken CSS line in syntax error. + +## 2.0 “King Belial” +* Project was rewritten from CoffeeScript to ES6. +* Add Safe Mode to works with live input or with hacks from legacy code. +* More safer parser to pass all hacks from Browserhacks.com. +* Use real properties instead of magic getter/setter for raw properties. + +## 1.0 “Marquis Decarabia” +* Save previous source map for each node to support CSS concatenation + with multiple previous maps. +* Add `map.sourcesContent` option to add origin content to `sourcesContent` + inside map. +* Allow to set different place of output map in annotation comment. +* Allow to use arrays and `Root` in `Container#append` and same methods. +* Add `Root#prevMap` with information about previous map. +* Allow to use latest PostCSS from GitHub by npm. +* `Result` now is lazy and it will generate output CSS only if you use `css` + or `map` property. +* Use separated `map.prev` option to set previous map. +* Rename `inlineMap` option to `map.inline`. +* Rename `mapAnnotation` option to `map.annotation`. +* `Result#map` now return `SourceMapGenerator` object, instead of string. +* Run previous map autodetect only if input CSS contains annotation comment. +* Add `map: 'inline'` shortcut for `map: { inline: true }` option. +* `Node#source.file` now will contains absolute path. +* Clean `Declaration#between` style on node clone. + +## 0.3.5 +* Allow to use `Root` or `Result` as first argument in `process()`. +* Save parsed AST to `Result#root`. + +## 0.3.4 +* Better space symbol detect to read UTF-8 BOM correctly. + +## 0.3.3 +* Remove source map hacks by using new Mozilla’s `source-map` (by Simon Lydell). + +## 0.3.2 +* Add URI encoding support for inline source maps. + +## 0.3.1 +* Fix relative paths from previous source map. +* Safer space split in `Rule#selectors` (by Simon Lydell). + +## 0.3 “Prince Seere” +* Add `Comment` node for comments between declarations or rules. +* Add source map annotation comment to output CSS. +* Allow to inline source map to annotation comment by data:uri. +* Fix source maps on Windows. +* Fix source maps for subdirectory (by Dmitry Nikitenko and Simon Lydell). +* Autodetect previous source map. +* Add `first` and `last` shortcuts to container nodes. +* Parse `!important` to separated property in `Declaration`. +* Allow to break iteration by returning `false`. +* Copy code style to new nodes. +* Add `eachInside` method to recursively iterate all nodes. +* Add `selectors` shortcut to get selectors array. +* Add `toResult` method to `Rule` to simplify work with several input files. +* Clean declaration’s `value`, rule’s `selector` and at-rule’s `params` + by storing spaces in `between` property. + +## 0.2 “Duke Dantalion” +* Add source map support. +* Add shortcuts to create nodes. +* Method `process()` now returns object with `css` and `map` keys. +* Origin CSS file option was renamed from `file` to `from`. +* Rename `Node#remove()` method to `removeSelf()` to fix name conflict. +* Node source was moved to `source` property with origin file + and node end position. +* You can set own CSS generate function. + +## 0.1 “Count Andromalius” +* Initial release. diff --git a/node_modules/postcss-quantity-queries/node_modules/postcss/CONTRIBUTING.md b/node_modules/postcss-quantity-queries/node_modules/postcss/CONTRIBUTING.md new file mode 100644 index 00000000..227caa27 --- /dev/null +++ b/node_modules/postcss-quantity-queries/node_modules/postcss/CONTRIBUTING.md @@ -0,0 +1,78 @@ +# Contributing Guide to PostCSS + +If you want contribute to PostCSS, there are few things that you should +be familiar with. + + +## In Case You Have Question About Using PostCSS + +* **Ask for help in [the chat]** + + If you stuck on something there is a big chance + that someone had similar problem before. + +[the chat]: https://gitter.im/postcss/postcss + + +## Adding Your Plugin to the List + +If you created or found a plugin and want to add it to PostCSS plugins list +follow this simple steps. + +PR should not change plugins defined in README it contains only favorite plugins +and moderated by PostCSS author. + +Plugins submitted by community located in [`docs/plugins`]. + +* **Keep plugins order** + + Be sure that plugin not presented yet and find suitable position + in alphabetic order for it. + But plugins with `postcss-` prefix should come first. + +* **Check spelling** + + Before submitting PR be sure that spelling check pass. + For that run command `npm test`. + If it fails with unknown word error, add it as word + to `.yaspellerrc` dictionary. + +* **Check PostCSS plugin guideline** + + Provided plugin should match plugin [guidelines]. + +- **Provide link to suggested plugin** + + Make sure your pull request description contains link to plugin + you are willing to add. + +[`docs/plugins`]: https://github.com/postcss/postcss/blob/master/docs/plugins.md +[guidelines]: https://github.com/postcss/postcss/blob/master/docs/guidelines/plugin.md + + +## TypeScript Declaration Improvements + +If you found a bug or want to add certain improvements to types declaration file + +* **Check current TypeScript styling** + + Be sure that your changes match TypeScript styling rules defined in typings file. + * We use classes for existing JS classes like `Stringifier`. + * Namespaces used for separating functions related to same subject. + * Interfaces used for defining custom types. + + Make sure you read through declaration file writing [best practices] + by TypeScript team. + +[best practices]: https://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html + + +## Core Development + +If you want to add new feature or fix existed issue + +- **Become familiar with PostCSS architecture** + + For gentle intro to PostCSS architecture look through our [guide]. + +[guide]: https://github.com/postcss/postcss/blob/master/docs/architecture.md diff --git a/node_modules/postcss-quantity-queries/node_modules/postcss/LICENSE b/node_modules/postcss-quantity-queries/node_modules/postcss/LICENSE new file mode 100644 index 00000000..da057b45 --- /dev/null +++ b/node_modules/postcss-quantity-queries/node_modules/postcss/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright 2013 Andrey Sitnik + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/postcss-quantity-queries/node_modules/postcss/README-cn.md b/node_modules/postcss-quantity-queries/node_modules/postcss/README-cn.md new file mode 100644 index 00000000..4846ed96 --- /dev/null +++ b/node_modules/postcss-quantity-queries/node_modules/postcss/README-cn.md @@ -0,0 +1,349 @@ +# PostCSS [![Gitter][chat-img]][chat] + +哲学家的石头 - PostCSS 的 logo + +[chat-img]: https://img.shields.io/badge/Gitter-Join_the_PostCSS_chat-brightgreen.svg +[chat]: https://gitter.im/postcss/postcss + +PostCSS 是一个允许使用 JS 插件转换样式的工具。 +这些插件可以检查(lint)你的 CSS,支持 CSS Variables 和 Mixins, +编译尚未被浏览器广泛支持的先进的 CSS 语法,内联图片,以及其它很多优秀的功能。 + +PostCSS 在工业界被广泛地应用,其中不乏很多有名的行业领导者,如:维基百科,Twitter,阿里巴巴, +JetBrains。PostCSS 的 [Autoprefixer] 插件是最流行的 CSS 处理工具之一。 + +PostCSS 接收一个 CSS 文件并提供了一个 API 来分析、修改它的规则(通过把 CSS 规则转换成一个[抽象语法树]的方式)。在这之后,这个 API 便可被许多[插件]利用来做有用的事情,比如寻错或自动添加 CSS vendor 前缀。 + +**Twitter 账号:** [@postcss](https://twitter.com/postcss)
+**支持 / 讨论:** [Gitter](https://gitter.im/postcss/postcss)
+ +如果需要 PostCSS 商业支持(如咨询,提升公司的前端文化, +PostCSS 插件),请联系 [Evil Martians](https://evilmartians.com/?utm_source=postcss) +邮箱 。 + +[抽象语法树]: https://zh.wikipedia.org/wiki/%E6%8A%BD%E8%B1%A1%E8%AA%9E%E6%B3%95%E6%A8%B9 +[Autoprefixer]: https://github.com/postcss/autoprefixer +[插件]: https://github.com/postcss/postcss/blob/master/README-cn.md#%E6%8F%92%E4%BB%B6 + +
+ 由 Evil Martians 赞助 + + +## 插件 + +截止到目前,PostCSS 有 200 多个插件。你可以在 [插件列表] 或 [搜索目录] 找到它们。 +下方的列表是我们最喜欢的插件 - 它们很好地演示了我们可以用 PostCSS 做些什么。 + +如果你有任何新的想法,[开发 PostCSS 插件] 非常简单易上手。 + +[搜索目录]: http://postcss.parts +[插件列表]: https://github.com/postcss/postcss/blob/master/docs/plugins.md + +### 解决全局 CSS 的问题 + +* [`postcss-use`] 允许你在 CSS 里明确地设置 PostCSS 插件,并且只在当前文件执行它们。 +* [`postcss-modules`] 和 [`react-css-modules`] 可以自动以组件为单位隔绝 CSS 选择器。 +* [`postcss-autoreset`] 是全局样式重置的又一个选择,它更适用于分离的组件。 +* [`postcss-initial`] 添加了 `all: initial` 的支持,重置了所有继承的样式。 +* [`cq-prolyfill`] 添加了容器查询的支持,允许添加响应于父元素宽度的样式. + +### 提前使用先进的 CSS 特性 + +* [`autoprefixer`] 添加了 vendor 浏览器前缀,它使用 Can I Use 上面的数据。 +* [`postcss-preset-env`] 允许你使用未来的 CSS 特性。 + +### 更佳的 CSS 可读性 + +* [`precss`] 囊括了许多插件来支持类似 Sass 的特性,比如 CSS 变量,套嵌,mixins 等。 +* [`postcss-sorting`] 给规则的内容以及@规则排序。 +* [`postcss-utilities`] 囊括了最常用的简写方式和书写帮助。 +* [`short`] 添加并拓展了大量的缩写属性。 + +### 图片和字体 + +* [`postcss-assets`] 可以插入图片尺寸和内联文件。 +* [`postcss-sprites`] 能生成雪碧图。 +* [`font-magician`] 生成所有在 CSS 里需要的 `@font-face` 规则。 +* [`postcss-inline-svg`] 允许你内联 SVG 并定制它的样式。 +* [`postcss-write-svg`] 允许你在 CSS 里写简单的 SVG。 + +### 提示器(Linters) + +* [`stylelint`] 是一个模块化的样式提示器。 +* [`stylefmt`] 是一个能根据 `stylelint` 规则自动优化 CSS 格式的工具。 +* [`doiuse`] 提示 CSS 的浏览器支持性,使用的数据来自于 Can I Use。 +* [`colorguard`] 帮助你保持一个始终如一的调色板。 + +### 其它 + +* [`postcss-rtl`] 在单个 CSS 文件里组合了两个方向(左到右,右到左)的样式。 +* [`cssnano`] 是一个模块化的 CSS 压缩器。 +* [`lost`] 是一个功能强大的 `calc()` 栅格系统。 +* [`rtlcss`] 镜像翻转 CSS 样式,适用于 right-to-left 的应用场景。 + +[`postcss-inline-svg`]: https://github.com/TrySound/postcss-inline-svg +[`postcss-preset-env`]: https://github.com/jonathantneal/postcss-preset-env +[`react-css-modules`]: https://github.com/gajus/react-css-modules +[`postcss-autoreset`]: https://github.com/maximkoretskiy/postcss-autoreset +[`postcss-write-svg`]: https://github.com/jonathantneal/postcss-write-svg +[`postcss-utilities`]: https://github.com/ismamz/postcss-utilities +[`postcss-initial`]: https://github.com/maximkoretskiy/postcss-initial +[`postcss-sprites`]: https://github.com/2createStudio/postcss-sprites +[`postcss-modules`]: https://github.com/outpunk/postcss-modules +[`postcss-sorting`]: https://github.com/hudochenkov/postcss-sorting +[`postcss-assets`]: https://github.com/assetsjs/postcss-assets +[开发 PostCSS 插件]: https://github.com/postcss/postcss/blob/master/docs/writing-a-plugin.md +[`font-magician`]: https://github.com/jonathantneal/postcss-font-magician +[`autoprefixer`]: https://github.com/postcss/autoprefixer +[`cq-prolyfill`]: https://github.com/ausi/cq-prolyfill +[`postcss-rtl`]: https://github.com/vkalinichev/postcss-rtl +[`postcss-use`]: https://github.com/postcss/postcss-use +[`css-modules`]: https://github.com/css-modules/css-modules +[`colorguard`]: https://github.com/SlexAxton/css-colorguard +[`stylelint`]: https://github.com/stylelint/stylelint +[`stylefmt`]: https://github.com/morishitter/stylefmt +[`cssnano`]: http://cssnano.co +[`precss`]: https://github.com/jonathantneal/precss +[`doiuse`]: https://github.com/anandthakker/doiuse +[`rtlcss`]: https://github.com/MohammadYounes/rtlcss +[`short`]: https://github.com/jonathantneal/postcss-short +[`lost`]: https://github.com/peterramsing/lost + +## 语法 + +PostCSS 可以转化样式到任意语法,不仅仅是 CSS。 +如果还没有支持你最喜欢的语法,你可以编写一个解释器以及(或者)一个 stringifier 来拓展 PostCSS。 + +* [`sugarss`] 是一个以缩进为基础的语法,类似于 Sass 和 Stylus。 +* [`postcss-syntax`] 通过文件扩展名自动切换语法。 +* [`postcss-html`] 解析类 HTML 文件里`