├── .github
└── workflows
│ └── node.js.yml
├── .gitignore
├── .npmignore
├── .nvmrc
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── fork-version
├── README.md
├── _normalize.scss
├── _variables.scss
└── _vertical-rhythm.scss
├── package-lock.json
├── package.json
├── sache.json
├── sass
├── _normalize.scss
└── normalize
│ ├── _import-now.scss
│ ├── _normalize-mixin.scss
│ ├── _variables.scss
│ └── _vertical-rhythm.scss
└── test
├── .eslintrc
├── fixtures
├── fork-version
│ ├── input.scss
│ └── output.css
├── import-now
│ ├── input.scss
│ └── output.css
├── normalize
│ ├── exclude-multiple
│ │ ├── input.scss
│ │ └── output.css
│ ├── exclude-single
│ │ ├── input.scss
│ │ └── output.css
│ ├── exclude-string
│ │ ├── input.scss
│ │ └── output.css
│ ├── include-multiple
│ │ ├── input.scss
│ │ └── output.css
│ ├── include-single
│ │ ├── input.scss
│ │ └── output.css
│ └── include-string
│ │ ├── input.scss
│ │ └── output.css
└── variables
│ ├── default
│ ├── input.scss
│ └── output.css
│ ├── font
│ ├── input.scss
│ └── output.css
│ ├── indent-amount-and-vertical-rhythm
│ ├── input.scss
│ └── output.css
│ ├── indent-amount
│ ├── input.scss
│ └── output.css
│ └── prevent-vertical-rhythm
│ ├── input.scss
│ └── output.css
├── test_fork-version.js
├── test_import-now.js
├── test_normalize.js
└── test_variables.js
/.github/workflows/node.js.yml:
--------------------------------------------------------------------------------
1 | # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2 | # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
3 |
4 | name: Node.js CI
5 |
6 | on:
7 | push:
8 | branches: [ "main" ]
9 | pull_request:
10 | branches: [ "main" ]
11 |
12 | jobs:
13 | build:
14 |
15 | runs-on: ubuntu-latest
16 |
17 | strategy:
18 | matrix:
19 | node-version: [18.x, 20.x]
20 | # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
21 |
22 | steps:
23 | - uses: actions/checkout@v3
24 | - name: Use Node.js ${{ matrix.node-version }}
25 | uses: actions/setup-node@v3
26 | with:
27 | node-version: ${{ matrix.node-version }}
28 | cache: 'npm'
29 | - run: npm ci
30 | - run: npm run build --if-present
31 | - run: npm test
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Exclude stuff specific to this project.
2 | node_modules
3 | /v[1-9]
4 |
5 | # Exclude IDE management files.
6 | # Eclipse
7 | .project
8 | .settings
9 | .buildpath
10 | # Netbeans
11 | netbeans
12 | nbproject
13 | # Komodo
14 | *.kpf
15 | # WebStorm
16 | .idea
17 |
18 | # Exclude hidden OS files.
19 | .DS_Store
20 | ._*
21 | Thumbs.db
22 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | .github/
2 | .idea/
3 | test/
4 | v*/
5 | .nvmrc
6 | CHANGELOG.md
7 | CODE_OF_CONDUCT.md
8 | CONTRIBUTING.md
9 | package-lock.json
10 | sache.json
11 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | v20
2 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as
6 | contributors and maintainers pledge to making participation in our project and
7 | our community a harassment-free experience for everyone, regardless of age, body
8 | size, disability, ethnicity, gender identity and expression, level of experience,
9 | nationality, personal appearance, race, religion, or sexual identity and
10 | orientation.
11 |
12 | ## Our Standards
13 |
14 | Examples of behavior that contributes to creating a positive environment
15 | include:
16 |
17 | * Using welcoming and inclusive language
18 | * Being respectful of differing viewpoints and experiences
19 | * Gracefully accepting constructive criticism
20 | * Focusing on what is best for the community
21 | * Showing empathy towards other community members
22 |
23 | Examples of unacceptable behavior by participants include:
24 |
25 | * The use of sexualized language or imagery and unwelcome sexual attention or
26 | advances
27 | * Trolling, insulting/derogatory comments, and personal or political attacks
28 | * Public or private harassment
29 | * Publishing others' private information, such as a physical or electronic
30 | address, without explicit permission
31 | * Other conduct which could reasonably be considered inappropriate in a
32 | professional setting
33 |
34 | ## Our Responsibilities
35 |
36 | Project maintainers are responsible for clarifying the standards of acceptable
37 | behavior and are expected to take appropriate and fair corrective action in
38 | response to any instances of unacceptable behavior.
39 |
40 | Project maintainers have the right and responsibility to remove, edit, or
41 | reject comments, commits, code, wiki edits, issues, and other contributions
42 | that are not aligned to this Code of Conduct, or to ban temporarily or
43 | permanently any contributor for other behaviors that they deem inappropriate,
44 | threatening, offensive, or harmful.
45 |
46 | ## Scope
47 |
48 | This Code of Conduct applies both within project spaces and in public spaces
49 | when an individual is representing the project or its community. Examples of
50 | representing a project or community include, but are not limited to:
51 | * using an official project e-mail address
52 | * posting via an official social media account,
53 | * acting as an appointed representative at an online or offline event,
54 | * or declaring your involvement in the project at an online or offline event.
55 | Representation of a project may be further defined and clarified by project
56 | maintainers.
57 |
58 | ## Enforcement
59 |
60 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
61 | reported by contacting the project team at virtually.johnalbin@gmail.com; please
62 | include "conduct" in the title of the email. All complaints will be reviewed and
63 | investigated and will result in a response that is deemed necessary and
64 | appropriate to the circumstances. The project team is obligated to maintain
65 | confidentiality with regard to the reporter of an incident. Further details of
66 | specific enforcement policies may be posted separately.
67 |
68 | Project maintainers who do not follow or enforce the Code of Conduct in good
69 | faith may face temporary or permanent repercussions as determined by other
70 | members of the project's leadership.
71 |
72 | ## Attribution
73 |
74 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
75 | available at [http://contributor-covenant.org/version/1/4][version]
76 |
77 | [homepage]: http://contributor-covenant.org
78 | [version]: http://contributor-covenant.org/version/1/4/
79 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to normalize-scss
2 |
3 | Updates to most CSS rules should be reported to Necolas' upstream [Normalize.css project](http://necolas.github.com/normalize.css/).
4 |
5 | Updates to the Sass should be reported in the [Normalize-scss project](https://github.com/JohnAlbin/normalize-scss/).
6 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright © Nicolas Gallagher and Jonathan Neal and John Albin Wilkins
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of
4 | this software and associated documentation files (the "Software"), to deal in
5 | the Software without restriction, including without limitation the rights to
6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7 | of the Software, and to permit persons to whom the Software is furnished to do
8 | so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all
11 | copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 | SOFTWARE.
20 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # normalize-scss
2 |
3 | ## Latest versions
4 |
5 | | For use with… | normalize-scss version |
6 | |------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
7 | | The latest Sass | [8.0.0](https://github.com/JohnAlbin/normalize-scss/releases/tag/8.0.0)
combining normalize.css v8.0.0 with v1.1.3 |
8 | | Compass or Bower | [7.0.1](https://github.com/JohnAlbin/normalize-scss/releases/tag/7.0.1)
combining normalize.css v7.0.0 with v1.1.3 (last version with Compass and Bower support) |
9 | | Ruby Sass 3.3 | [3.0.3](https://github.com/JohnAlbin/normalize-scss/releases/tag/3.0.3)
combining normalize.css v3.0.3 with v1.1.3 |
10 | | Ruby Sass 3.2 | [2.2.0+normalize.2.1.3](https://github.com/JohnAlbin/normalize-scss/releases/tag/2.2.0%2Bnormalize.2.1.3)
combining normalize.css v2.1.3 with v1.1.3 |
11 |
12 | ## The Sass port of normalize.css
13 |
14 | __This project is the Sass version of Normalize.css__, a collection of HTML element and attribute rulesets to normalize styles across all browsers. This port aims to use a light dusting of Sass to make Normalize even easier to integrate with your website. To learn about why Normalize.css is so amazing, skip to the "normalize.css" section below.
15 |
16 | This Sass port currently adds:
17 |
18 | * Vertical rhythm mixins: Allowing you to alter the font-size, line-height and margins in Normalize’s output without hacking the library.
19 | * A ready-to-fork version.
20 |
21 | # normalize.css v8
22 |
23 | > A modern alternative to CSS resets
24 |
25 | Normalize.css is a customisable CSS file that makes browsers render all elements more consistently and in line with modern standards.
26 |
27 | The project relies on researching the differences between default browser styles in order to precisely target only the styles that need or benefit from normalizing.
28 |
29 | [View the test file](http://necolas.github.io/normalize.css/latest/test.html)
30 |
31 | ## What does it do?
32 |
33 | * Preserves useful defaults, unlike many CSS resets.
34 | * Normalizes styles for a wide range of elements.
35 | * Corrects bugs and common browser inconsistencies.
36 | * Improves usability with subtle modifications.
37 | * Explains what code does using detailed comments.
38 |
39 | ## Install
40 |
41 | Install using one of the following methods:
42 |
43 | * Download directly from the [project page](https://github.com/JohnAlbin/normalize-scss/releases).
44 | * Install with [npm](http://npmjs.org/): `npm install --save normalize-scss`
45 |
46 | ## How to use it
47 |
48 | There is a fantastic introduction to the project and brief instructions how to use it in the [About normalize.css article](http://nicolasgallagher.com/about-normalize-css/).
49 |
50 | You can use the Sass port of Normalize in one of several methods, following the "About normalize.css" article's suggestions:
51 |
52 | __Approach 1:__ Download and use normalize-scss as a starting point for your own project's base Sass, customising the values to match the design's requirements. (The best approach, _IMO_.)
53 | 1. Copy the normalize-scss files to your sass directory so that you can alter it as you include it in your project. To aid with this method, normalize-scss includes a ready-made "fork" version in the [fork-version](fork-version/) directory.
54 |
55 | __Approach 2:__ Install and include normalize-scss untouched and then build upon it, overriding the defaults later in your Sass when necessary. Just import normalize-scss like any normal Sass module by:
56 | 1. Set variables to override the default normalize-scss variables.
57 | 2. (Optionally) add an additional `node_modules/normalize-scss/sass` import path for your application's Sass compiler or loader, e.g. PostCSS or webpack's sass-loader.
58 | 3. Import with `@import "normalize";` or with `@import "node_modules/normalize-scss/sass/normalize";` (if you skipped step 2.)
59 | 4. Output the CSS rules with `@include normalize();`
60 |
61 | Alternatively, you can import normalize-scss immediately into your main Sass file without needing to use the `normalize()` mixin by:
62 |
63 | 1. (Optionally) set variables to override the default normalize-scss variables.
64 | 2. (Optionally) add an additional `node_modules/normalize-scss/sass` import path for your application's Sass compiler or loader, e.g. PostCSS or webpack's sass-loader.
65 | 3. Import with `@import "normalize/import-now";` or with `@import "node_modules/normalize-scss/sass/normalize/import-now";` (if you skipped step 2.)
66 |
67 | ## Browser support
68 |
69 | * Chrome
70 | * Edge
71 | * Firefox ESR+
72 | * Internet Explorer 10+
73 | * Safari 8+
74 | * Opera
75 |
76 |
77 | ## Extended details and known issues
78 |
79 | Additional detail and explanation of the esoteric parts of normalize.css.
80 |
81 | #### `pre, code, kbd, samp`
82 |
83 | The `font-family: monospace, monospace` hack fixes the inheritance and scaling
84 | of font-size for preformatted text. The duplication of `monospace` is
85 | intentional. [Source](https://en.wikipedia.org/wiki/User:Davidgothberg/Test59).
86 |
87 | #### `sub, sup`
88 |
89 | Normally, using `sub` or `sup` affects the line-box height of text in all
90 | browsers. [Source](https://gist.github.com/413930).
91 |
92 | #### `select`
93 |
94 | By default, Chrome on OS X and Safari on OS X allow very limited styling of
95 | `select`, unless a border property is set. The default font weight on `optgroup`
96 | elements cannot safely be changed in Chrome on OSX and Safari on OS X.
97 |
98 | #### `[type="checkbox"]`
99 |
100 | It is recommended that you do not style checkbox and radio inputs as Firefox's
101 | implementation does not respect box-sizing, padding, or width.
102 |
103 | #### `[type="number"]`
104 |
105 | Certain font size values applied to number inputs cause the cursor style of the
106 | decrement button to change from `default` to `text`.
107 |
108 | #### `[type="search"]`
109 |
110 | The search input is not fully stylable by default. In Chrome and Safari on
111 | OSX/iOS you can't control `font`, `padding`, `border`, or `background`. In
112 | Chrome and Safari on Windows you can't control `border` properly. It will apply
113 | `border-width` but will only show a border color (which cannot be controlled)
114 | for the outer 1px of that border. Applying `-webkit-appearance: textfield`
115 | addresses these issues without removing the benefits of search inputs (e.g.
116 | showing past searches).
117 |
118 | ## Contributing
119 |
120 | Please read Normalize.css' [contributing guidelines](https://github.com/necolas/normalize.css/blob/master/CONTRIBUTING.md).
121 |
122 | Updates to most CSS rules should be reported to the upstream [Normalize.css project](http://necolas.github.com/normalize.css/). Updates to the Sass should be reported in the [Normalize-scss project](https://github.com/JohnAlbin/normalize-scss/).
123 |
124 | ## Acknowledgements
125 |
126 | Normalize.css is a project by [Nicolas Gallagher](https://github.com/necolas),
127 | co-created with [Jonathan Neal](https://github.com/jonathantneal).
128 |
129 | This Sass port is a project by [John Albin Wilkins](http://john.albin.net).
130 |
131 | ## Other ports of Normalize.css
132 |
133 | For the record, there are several other Sass ports as well. Including:
134 |
135 | * https://github.com/waynegraham/compass-normalize-plugin
136 | * https://github.com/ksmandersen/compass-normalize
137 | * https://github.com/hail2u/normalize.scss
138 | * https://github.com/kristerkari/normalize.scss
139 | * https://github.com/krisbulman/normalize-libsass
140 |
--------------------------------------------------------------------------------
/fork-version/README.md:
--------------------------------------------------------------------------------
1 | # Fork-able normalize-scss
for Sass
2 |
3 | ## Using with Sass
4 |
5 | 1. Copy these files to your Sass project.
6 | 2. Start forking by altering/moving Sass variables found in `_variables.scss`.
7 | 3. Edit any CSS ruleset directly rather than overriding it in later Sass.
8 |
--------------------------------------------------------------------------------
/fork-version/_normalize.scss:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | @use "sass:math";
3 |
4 | @import 'variables';
5 | @import 'vertical-rhythm';
6 |
7 | // If we've customized any font variables, we'll need extra properties.
8 | @if $normalize-vertical-rhythm == null
9 | and (
10 | $base-line-height != 24px
11 | or $base-unit != 'em'
12 | or $h2-font-size != 1.5 * $base-font-size
13 | or $h3-font-size != 1.17 * $base-font-size
14 | or $h4-font-size != 1 * $base-font-size
15 | or $h5-font-size != 0.83 * $base-font-size
16 | or $h6-font-size != 0.67 * $base-font-size
17 | ) {
18 | $normalize-vertical-rhythm: true !global;
19 | }
20 |
21 | /* Document
22 | ========================================================================== */
23 |
24 | /**
25 | * 1. Correct the line height in all browsers.
26 | * 2. Prevent adjustments of font size after orientation changes in iOS.
27 | */
28 |
29 | html {
30 | @if $base-font-family {
31 | /* Change the default font family in all browsers (opinionated). */
32 | font-family: $base-font-family;
33 | }
34 | @if $base-font-size != 16px or $normalize-vertical-rhythm {
35 | // Correct old browser bug that prevented accessible resizing of text
36 | // when root font-size is set with px or em.
37 | font-size: math.div($base-font-size, 16px) * 100%;
38 | }
39 | @if $normalize-vertical-rhythm {
40 | // Establish a vertical rhythm unit using $base-font-size and
41 | // $base-line-height variables.
42 | line-height: math.div($base-line-height, $base-font-size) * 1em; /* 1 */
43 | }
44 | @else {
45 | line-height: 1.15; /* 1 */
46 | }
47 | -webkit-text-size-adjust: 100%; /* 2 */
48 | }
49 |
50 | /* Sections
51 | ========================================================================== */
52 |
53 | /**
54 | * Remove the margin in all browsers.
55 | */
56 |
57 | body {
58 | margin: 0;
59 | }
60 |
61 | /**
62 | * Render the `main` element consistently in IE.
63 | */
64 |
65 | main {
66 | display: block;
67 | }
68 |
69 | /**
70 | * Correct the font size and margin on `h1` elements within `section` and
71 | * `article` contexts in Chrome, Firefox, and Safari.
72 | */
73 |
74 | h1 {
75 | @include normalize-font-size($h1-font-size);
76 | @if $normalize-vertical-rhythm {
77 | @include normalize-line-height($h1-font-size);
78 | }
79 |
80 | @if $normalize-vertical-rhythm {
81 | /* Set 1 unit of vertical rhythm on the top and bottom margins. */
82 | @include normalize-margin(1 0, $h1-font-size);
83 | }
84 | @else {
85 | margin: 0.67em 0;
86 | }
87 | }
88 |
89 | @if $normalize-vertical-rhythm {
90 | h2 {
91 | @include normalize-font-size($h2-font-size);
92 | @include normalize-line-height($h2-font-size);
93 | @include normalize-margin(1 0, $h2-font-size);
94 | }
95 |
96 | h3 {
97 | @include normalize-font-size($h3-font-size);
98 | @include normalize-line-height($h3-font-size);
99 | @include normalize-margin(1 0, $h3-font-size);
100 | }
101 |
102 | h4 {
103 | @include normalize-font-size($h4-font-size);
104 | @include normalize-line-height($h4-font-size);
105 | @include normalize-margin(1 0, $h4-font-size);
106 | }
107 |
108 | h5 {
109 | @include normalize-font-size($h5-font-size);
110 | @include normalize-line-height($h5-font-size);
111 | @include normalize-margin(1 0, $h5-font-size);
112 | }
113 |
114 | h6 {
115 | @include normalize-font-size($h6-font-size);
116 | @include normalize-line-height($h6-font-size);
117 | @include normalize-margin(1 0, $h6-font-size);
118 | }
119 | }
120 |
121 | /* Grouping content
122 | ========================================================================== */
123 |
124 | @if $normalize-vertical-rhythm {
125 | /**
126 | * Set 1 unit of vertical rhythm on the top and bottom margin.
127 | */
128 |
129 | blockquote {
130 | @include normalize-margin(1 $indent-amount);
131 | }
132 |
133 | dl,
134 | ol,
135 | ul {
136 | @include normalize-margin(1 0);
137 | }
138 |
139 | /**
140 | * Turn off margins on nested lists.
141 | */
142 |
143 | ol,
144 | ul {
145 | ol,
146 | ul {
147 | margin: 0;
148 | }
149 | }
150 |
151 | dd {
152 | margin: 0 0 0 $indent-amount;
153 | }
154 |
155 | ol,
156 | ul {
157 | padding: 0 0 0 $indent-amount;
158 | }
159 |
160 | figure {
161 | @include normalize-margin(1 $indent-amount);
162 | }
163 | }
164 |
165 | /**
166 | * 1. Add the correct box sizing in Firefox.
167 | * 2. Show the overflow in Edge and IE.
168 | */
169 |
170 | hr {
171 | box-sizing: content-box; /* 1 */
172 | height: 0; /* 1 */
173 | overflow: visible; /* 2 */
174 | }
175 |
176 | /**
177 | * Add the correct display in IE.
178 | */
179 |
180 | main {
181 | display: block;
182 | }
183 |
184 | @if $normalize-vertical-rhythm {
185 | /**
186 | * Set 1 unit of vertical rhythm on the top and bottom margin.
187 | */
188 |
189 | p,
190 | pre {
191 | @include normalize-margin(1 0);
192 | }
193 | }
194 |
195 | /**
196 | * 1. Correct the inheritance and scaling of font size in all browsers.
197 | * 2. Correct the odd `em` font sizing in all browsers.
198 | */
199 |
200 | %monospace {
201 | font-family: monospace, monospace; /* 1 */
202 | font-size: 1em; /* 2 */
203 | }
204 |
205 | pre {
206 | @extend %monospace;
207 | }
208 |
209 | /* Links
210 | ========================================================================== */
211 |
212 | /**
213 | * Remove the gray background on active links in IE 10.
214 | */
215 |
216 | a {
217 | background-color: transparent;
218 | }
219 |
220 | /* Text-level semantics
221 | ========================================================================== */
222 |
223 | /**
224 | * 1. Remove the bottom border in Chrome 57-
225 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
226 | */
227 |
228 | abbr[title] {
229 | border-bottom: none; /* 1 */
230 | text-decoration: underline; /* 2 */
231 | text-decoration: underline dotted; /* 2 */
232 | }
233 |
234 | /**
235 | * Add the correct font weight in Chrome, Edge, and Safari.
236 | */
237 |
238 | b,
239 | strong {
240 | font-weight: bolder;
241 | }
242 |
243 | code,
244 | kbd,
245 | samp {
246 | @extend %monospace;
247 | }
248 |
249 | /**
250 | * Add the correct font size in all browsers.
251 | */
252 |
253 | small {
254 | font-size: 80%;
255 | }
256 |
257 | /**
258 | * Prevent `sub` and `sup` elements from affecting the line height in
259 | * all browsers.
260 | */
261 |
262 | sub,
263 | sup {
264 | font-size: 75%;
265 | line-height: 0;
266 | position: relative;
267 | vertical-align: baseline;
268 | }
269 |
270 | sub {
271 | bottom: -0.25em;
272 | }
273 |
274 | sup {
275 | top: -0.5em;
276 | }
277 |
278 | /* Embedded content
279 | ========================================================================== */
280 |
281 | /**
282 | * Remove the border on images inside links in IE 10.
283 | */
284 |
285 | img {
286 | border-style: none;
287 | }
288 |
289 | /* Forms
290 | ========================================================================== */
291 |
292 | /**
293 | * Known issues:
294 | * - `select`:
295 | * By default, Chrome on OS X and Safari on OS X allow very limited styling of
296 | * select, unless a border property is set. The default font weight on
297 | * optgroup elements cannot safely be changed in Chrome on OSX and Safari on
298 | * OS X.
299 | * - `[type="checkbox"]`:
300 | * It is recommended that you do not style checkbox and radio inputs as
301 | * Firefox's implementation does not respect box-sizing, padding, or width.
302 | * - `[type="number"]`:
303 | * Certain font size values applied to number inputs cause the cursor style of
304 | * the decrement button to change from `default` to `text`.
305 | * - `[type="search"]`:
306 | * The search input is not fully stylable by default. In Chrome and Safari on
307 | * OSX/iOS you can't control `font`, `padding`, `border`, or `background`. In
308 | * Chrome and Safari on Windows you can't control `border` properly. It will
309 | * apply `border-width` but will only show a border color (which cannot be
310 | * controlled) for the outer 1px of that border. Applying
311 | * `-webkit-appearance: textfield` addresses these issues without removing the
312 | * benefits of search inputs (e.g. showing past searches). Safari (but not
313 | * Chrome) will clip the cancel button on when it has padding (and `textfield`
314 | * appearance).
315 | * - `::placeholder`:
316 | * In Edge, placeholders will disappear on `relative` or `absolute` positioned
317 | * `` elements if you use `opacity` less than `1` due to a
318 | * [bug](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/3901363/).
319 | */
320 |
321 | /**
322 | * 1. Change the font styles in all browsers.
323 | * 2. Remove the margin in Firefox and Safari.
324 | */
325 |
326 | button,
327 | input,
328 | optgroup,
329 | select,
330 | textarea {
331 | @if $normalize-vertical-rhythm {
332 | @include normalize-line-height($base-font-size); /* 1 */
333 | }
334 | @else {
335 | line-height: 1.15; /* 1 */
336 | }
337 | font-family: inherit; /* 1 */
338 | font-size: 100%; /* 1 */
339 | margin: 0; /* 2 */
340 | }
341 |
342 | /**
343 | * Show the overflow in IE.
344 | */
345 |
346 | button {
347 | overflow: visible;
348 | }
349 |
350 | /**
351 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
352 | * 1. Remove the inheritance of text transform in Firefox.
353 | */
354 |
355 | button,
356 | select { /* 1 */
357 | text-transform: none;
358 | }
359 |
360 | /**
361 | * Correct the inability to style clickable types in iOS and Safari.
362 | */
363 |
364 | button,
365 | [type="button"],
366 | [type="reset"],
367 | [type="submit"] {
368 | -webkit-appearance: button;
369 | }
370 |
371 | button,
372 | [type="button"],
373 | [type="reset"],
374 | [type="submit"] {
375 |
376 | /**
377 | * Remove the inner border and padding in Firefox.
378 | */
379 |
380 | &::-moz-focus-inner {
381 | border-style: none;
382 | padding: 0;
383 | }
384 |
385 | /**
386 | * Restore the focus styles unset by the previous rule.
387 | */
388 |
389 | &:-moz-focusring {
390 | outline: 1px dotted ButtonText;
391 | }
392 | }
393 |
394 | /**
395 | * Show the overflow in Edge.
396 | */
397 |
398 | input {
399 | overflow: visible;
400 | }
401 |
402 | /**
403 | * 1. Add the correct box sizing in IE 10.
404 | * 2. Remove the padding in IE 10.
405 | */
406 |
407 | [type="checkbox"],
408 | [type="radio"] {
409 | box-sizing: border-box; /* 1 */
410 | padding: 0; /* 2 */
411 | }
412 |
413 | /**
414 | * Correct the cursor style of increment and decrement buttons in Chrome.
415 | */
416 |
417 | [type="number"]::-webkit-inner-spin-button,
418 | [type="number"]::-webkit-outer-spin-button {
419 | height: auto;
420 | }
421 |
422 | /**
423 | * 1. Correct the odd appearance in Chrome and Safari.
424 | * 2. Correct the outline style in Safari.
425 | */
426 |
427 | [type="search"] {
428 | -webkit-appearance: textfield; /* 1 */
429 | outline-offset: -2px; /* 2 */
430 |
431 | /**
432 | * Remove the inner padding in Chrome and Safari on macOS.
433 | */
434 |
435 | &::-webkit-search-decoration {
436 | -webkit-appearance: none;
437 | }
438 | }
439 |
440 | /**
441 | * 1. Correct the inability to style clickable types in iOS and Safari.
442 | * 2. Change font properties to `inherit` in Safari.
443 | */
444 |
445 | ::-webkit-file-upload-button {
446 | -webkit-appearance: button; /* 1 */
447 | font: inherit; /* 2 */
448 | }
449 |
450 | /**
451 | * Correct the padding in Firefox.
452 | */
453 |
454 | fieldset {
455 | padding: 0.35em 0.75em 0.625em;
456 | }
457 |
458 | /**
459 | * 1. Correct the text wrapping in Edge and IE.
460 | * 2. Correct the color inheritance from `fieldset` elements in IE.
461 | * 3. Remove the padding so developers are not caught out when they zero out
462 | * `fieldset` elements in all browsers.
463 | */
464 |
465 | legend {
466 | box-sizing: border-box; /* 1 */
467 | display: table; /* 1 */
468 | max-width: 100%; /* 1 */
469 | padding: 0; /* 3 */
470 | color: inherit; /* 2 */
471 | white-space: normal; /* 1 */
472 | }
473 |
474 | /**
475 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
476 | */
477 |
478 | progress {
479 | vertical-align: baseline;
480 | }
481 |
482 | /**
483 | * Remove the default vertical scrollbar in IE 10+.
484 | */
485 |
486 | textarea {
487 | overflow: auto;
488 | }
489 |
490 | /* Interactive
491 | ========================================================================== */
492 |
493 | /*
494 | * Add the correct display in Edge, IE 10+, and Firefox.
495 | */
496 |
497 | details {
498 | display: block;
499 | }
500 |
501 | /*
502 | * Add the correct display in all browsers.
503 | */
504 |
505 | summary {
506 | display: list-item;
507 | }
508 |
509 |
510 | @if $normalize-vertical-rhythm {
511 | menu {
512 | /*
513 | * 1. Set 1 unit of vertical rhythm on the top and bottom margin.
514 | * 2. Set consistent space for the list style image.
515 | */
516 |
517 | @include normalize-margin(1 0); /* 1 */
518 | padding: 0 0 0 $indent-amount; /* 2 */
519 |
520 | /**
521 | * Turn off margins on nested lists.
522 | */
523 |
524 | menu &,
525 | ol &,
526 | ul & {
527 | margin: 0;
528 | }
529 | }
530 | }
531 |
532 | /* Misc
533 | ========================================================================== */
534 |
535 | /**
536 | * Add the correct display in IE.
537 | */
538 |
539 | template {
540 | display: none;
541 | }
542 |
543 | /**
544 | * Add the correct display in IE 10.
545 | */
546 |
547 | [hidden] {
548 | display: none;
549 | }
550 |
--------------------------------------------------------------------------------
/fork-version/_variables.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Variables
3 | //
4 | // If you have an initialization partial (or equivalent), you should move these
5 | // lines to that file. NOTE: Edit the lines to remove "!default".
6 |
7 | // The font size set on the root html element.
8 | $base-font-size: 16px !default;
9 |
10 | // The base line height determines the basic unit of vertical rhythm.
11 | $base-line-height: 24px !default;
12 |
13 | // The length unit in which to output vertical rhythm values.
14 | // Supported values: px, em, rem.
15 | $base-unit: 'em' !default;
16 |
17 | // The default font family.
18 | $base-font-family: null !default;
19 |
20 | // The font sizes for h1-h6.
21 | $h1-font-size: 2 * $base-font-size !default;
22 | $h2-font-size: 1.5 * $base-font-size !default;
23 | $h3-font-size: 1.17 * $base-font-size !default;
24 | $h4-font-size: 1 * $base-font-size !default;
25 | $h5-font-size: 0.83 * $base-font-size !default;
26 | $h6-font-size: 0.67 * $base-font-size !default;
27 |
28 | // The amount lists and blockquotes are indented.
29 | $indent-amount: 40px !default;
30 |
31 | // The following variable controls whether normalize-scss will output
32 | // font-sizes, line-heights and block-level top/bottom margins that form a basic
33 | // vertical rhythm on the page, which differs from the original Normalize.css.
34 | // However, changing any of the variables above will cause
35 | // $normalize-vertical-rhythm to be automatically set to true. To prevent
36 | // outputting any vertical rhythm rules, set this variable to false.
37 | $normalize-vertical-rhythm: null !default;
38 |
--------------------------------------------------------------------------------
/fork-version/_vertical-rhythm.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 |
3 | //
4 | // Vertical Rhythm
5 | //
6 | // This is the minimal amount of code needed to create vertical rhythm in our
7 | // CSS. If you are looking for a robust solution, look at the excellent Typey
8 | // library. @see https://github.com/jptaranto/typey
9 |
10 | @function normalize-rhythm($value, $relative-to: $base-font-size, $unit: $base-unit) {
11 | @if unit($value) != px {
12 | @error "The normalize vertical-rhythm module only supports px inputs. The typey library is better.";
13 | }
14 | @if $unit == rem {
15 | @return math.div($value, $base-font-size) * 1rem;
16 | }
17 | @else if $unit == em {
18 | @return math.div($value, $relative-to) * 1em;
19 | }
20 | @else { // $unit == px
21 | @return $value;
22 | }
23 | }
24 |
25 | @mixin normalize-font-size($value, $relative-to: $base-font-size) {
26 | @if unit($value) != 'px' {
27 | @error "normalize-font-size() only supports px inputs. The typey library is better.";
28 | }
29 | font-size: normalize-rhythm($value, $relative-to);
30 | }
31 |
32 | @mixin normalize-rhythm($property, $values, $relative-to: $base-font-size) {
33 | $value-list: $values;
34 | $sep: space;
35 | @if type-of($values) == 'list' {
36 | $sep: list-separator($values);
37 | }
38 | @else {
39 | $value-list: append((), $values);
40 | }
41 |
42 | $normalized-values: ();
43 | @each $value in $value-list {
44 | @if unitless($value) and $value != 0 {
45 | $value: $value * normalize-rhythm($base-line-height, $relative-to);
46 | }
47 | $normalized-values: append($normalized-values, $value, $sep);
48 | }
49 | #{$property}: $normalized-values;
50 | }
51 |
52 | @mixin normalize-margin($values, $relative-to: $base-font-size) {
53 | @include normalize-rhythm(margin, $values, $relative-to);
54 | }
55 |
56 | @mixin normalize-line-height($font-size, $min-line-padding: 2px) {
57 | $lines: ceil(math.div($font-size, $base-line-height));
58 | // If lines are cramped include some extra leading.
59 | @if ($lines * $base-line-height - $font-size) < ($min-line-padding * 2) {
60 | $lines: $lines + 1;
61 | }
62 | @include normalize-rhythm(line-height, $lines, $font-size);
63 | }
64 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "normalize-scss",
3 | "version": "7.0.1",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "normalize-scss",
9 | "version": "7.0.1",
10 | "license": "(MIT OR GPL-2.0)",
11 | "devDependencies": {
12 | "auto-changelog": "^2.4.0",
13 | "chai": "^4.3.10",
14 | "eslint": "^8.53.0",
15 | "mocha": "^10.2.0",
16 | "sassy-test": "^5.0.1"
17 | }
18 | },
19 | "node_modules/@aashutoshrathi/word-wrap": {
20 | "version": "1.2.6",
21 | "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
22 | "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
23 | "dev": true,
24 | "engines": {
25 | "node": ">=0.10.0"
26 | }
27 | },
28 | "node_modules/@eslint-community/eslint-utils": {
29 | "version": "4.4.0",
30 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
31 | "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
32 | "dev": true,
33 | "dependencies": {
34 | "eslint-visitor-keys": "^3.3.0"
35 | },
36 | "engines": {
37 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
38 | },
39 | "peerDependencies": {
40 | "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
41 | }
42 | },
43 | "node_modules/@eslint-community/regexpp": {
44 | "version": "4.10.0",
45 | "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
46 | "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
47 | "dev": true,
48 | "engines": {
49 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
50 | }
51 | },
52 | "node_modules/@eslint/eslintrc": {
53 | "version": "2.1.3",
54 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
55 | "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
56 | "dev": true,
57 | "dependencies": {
58 | "ajv": "^6.12.4",
59 | "debug": "^4.3.2",
60 | "espree": "^9.6.0",
61 | "globals": "^13.19.0",
62 | "ignore": "^5.2.0",
63 | "import-fresh": "^3.2.1",
64 | "js-yaml": "^4.1.0",
65 | "minimatch": "^3.1.2",
66 | "strip-json-comments": "^3.1.1"
67 | },
68 | "engines": {
69 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
70 | },
71 | "funding": {
72 | "url": "https://opencollective.com/eslint"
73 | }
74 | },
75 | "node_modules/@eslint/js": {
76 | "version": "8.53.0",
77 | "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz",
78 | "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==",
79 | "dev": true,
80 | "engines": {
81 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
82 | }
83 | },
84 | "node_modules/@humanwhocodes/config-array": {
85 | "version": "0.11.13",
86 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
87 | "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
88 | "dev": true,
89 | "dependencies": {
90 | "@humanwhocodes/object-schema": "^2.0.1",
91 | "debug": "^4.1.1",
92 | "minimatch": "^3.0.5"
93 | },
94 | "engines": {
95 | "node": ">=10.10.0"
96 | }
97 | },
98 | "node_modules/@humanwhocodes/module-importer": {
99 | "version": "1.0.1",
100 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
101 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
102 | "dev": true,
103 | "engines": {
104 | "node": ">=12.22"
105 | },
106 | "funding": {
107 | "type": "github",
108 | "url": "https://github.com/sponsors/nzakas"
109 | }
110 | },
111 | "node_modules/@humanwhocodes/object-schema": {
112 | "version": "2.0.1",
113 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
114 | "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
115 | "dev": true
116 | },
117 | "node_modules/@nodelib/fs.scandir": {
118 | "version": "2.1.5",
119 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
120 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
121 | "dev": true,
122 | "dependencies": {
123 | "@nodelib/fs.stat": "2.0.5",
124 | "run-parallel": "^1.1.9"
125 | },
126 | "engines": {
127 | "node": ">= 8"
128 | }
129 | },
130 | "node_modules/@nodelib/fs.stat": {
131 | "version": "2.0.5",
132 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
133 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
134 | "dev": true,
135 | "engines": {
136 | "node": ">= 8"
137 | }
138 | },
139 | "node_modules/@nodelib/fs.walk": {
140 | "version": "1.2.8",
141 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
142 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
143 | "dev": true,
144 | "dependencies": {
145 | "@nodelib/fs.scandir": "2.1.5",
146 | "fastq": "^1.6.0"
147 | },
148 | "engines": {
149 | "node": ">= 8"
150 | }
151 | },
152 | "node_modules/@ungap/structured-clone": {
153 | "version": "1.2.0",
154 | "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
155 | "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
156 | "dev": true
157 | },
158 | "node_modules/acorn": {
159 | "version": "8.11.2",
160 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
161 | "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
162 | "dev": true,
163 | "bin": {
164 | "acorn": "bin/acorn"
165 | },
166 | "engines": {
167 | "node": ">=0.4.0"
168 | }
169 | },
170 | "node_modules/acorn-jsx": {
171 | "version": "5.3.2",
172 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
173 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
174 | "dev": true,
175 | "peerDependencies": {
176 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
177 | }
178 | },
179 | "node_modules/ajv": {
180 | "version": "6.12.6",
181 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
182 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
183 | "dev": true,
184 | "dependencies": {
185 | "fast-deep-equal": "^3.1.1",
186 | "fast-json-stable-stringify": "^2.0.0",
187 | "json-schema-traverse": "^0.4.1",
188 | "uri-js": "^4.2.2"
189 | },
190 | "funding": {
191 | "type": "github",
192 | "url": "https://github.com/sponsors/epoberezkin"
193 | }
194 | },
195 | "node_modules/ansi-colors": {
196 | "version": "4.1.1",
197 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
198 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
199 | "dev": true,
200 | "engines": {
201 | "node": ">=6"
202 | }
203 | },
204 | "node_modules/ansi-regex": {
205 | "version": "5.0.1",
206 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
207 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
208 | "dev": true,
209 | "engines": {
210 | "node": ">=8"
211 | }
212 | },
213 | "node_modules/ansi-styles": {
214 | "version": "4.3.0",
215 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
216 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
217 | "dev": true,
218 | "dependencies": {
219 | "color-convert": "^2.0.1"
220 | },
221 | "engines": {
222 | "node": ">=8"
223 | },
224 | "funding": {
225 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
226 | }
227 | },
228 | "node_modules/anymatch": {
229 | "version": "3.1.3",
230 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
231 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
232 | "dev": true,
233 | "dependencies": {
234 | "normalize-path": "^3.0.0",
235 | "picomatch": "^2.0.4"
236 | },
237 | "engines": {
238 | "node": ">= 8"
239 | }
240 | },
241 | "node_modules/argparse": {
242 | "version": "2.0.1",
243 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
244 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
245 | "dev": true
246 | },
247 | "node_modules/assertion-error": {
248 | "version": "1.1.0",
249 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
250 | "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
251 | "dev": true,
252 | "engines": {
253 | "node": "*"
254 | }
255 | },
256 | "node_modules/auto-changelog": {
257 | "version": "2.4.0",
258 | "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.4.0.tgz",
259 | "integrity": "sha512-vh17hko1c0ItsEcw6m7qPRf3m45u+XK5QyCrrBFViElZ8jnKrPC1roSznrd1fIB/0vR/zawdECCRJtTuqIXaJw==",
260 | "dev": true,
261 | "dependencies": {
262 | "commander": "^7.2.0",
263 | "handlebars": "^4.7.7",
264 | "node-fetch": "^2.6.1",
265 | "parse-github-url": "^1.0.2",
266 | "semver": "^7.3.5"
267 | },
268 | "bin": {
269 | "auto-changelog": "src/index.js"
270 | },
271 | "engines": {
272 | "node": ">=8.3"
273 | }
274 | },
275 | "node_modules/balanced-match": {
276 | "version": "1.0.2",
277 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
278 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
279 | "dev": true
280 | },
281 | "node_modules/binary-extensions": {
282 | "version": "2.2.0",
283 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
284 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
285 | "dev": true,
286 | "engines": {
287 | "node": ">=8"
288 | }
289 | },
290 | "node_modules/brace-expansion": {
291 | "version": "1.1.11",
292 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
293 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
294 | "dev": true,
295 | "dependencies": {
296 | "balanced-match": "^1.0.0",
297 | "concat-map": "0.0.1"
298 | }
299 | },
300 | "node_modules/braces": {
301 | "version": "3.0.2",
302 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
303 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
304 | "dev": true,
305 | "dependencies": {
306 | "fill-range": "^7.0.1"
307 | },
308 | "engines": {
309 | "node": ">=8"
310 | }
311 | },
312 | "node_modules/browser-stdout": {
313 | "version": "1.3.1",
314 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
315 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
316 | "dev": true
317 | },
318 | "node_modules/callsites": {
319 | "version": "3.1.0",
320 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
321 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
322 | "dev": true,
323 | "engines": {
324 | "node": ">=6"
325 | }
326 | },
327 | "node_modules/camelcase": {
328 | "version": "6.3.0",
329 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
330 | "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
331 | "dev": true,
332 | "engines": {
333 | "node": ">=10"
334 | },
335 | "funding": {
336 | "url": "https://github.com/sponsors/sindresorhus"
337 | }
338 | },
339 | "node_modules/chai": {
340 | "version": "4.3.10",
341 | "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz",
342 | "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==",
343 | "dev": true,
344 | "dependencies": {
345 | "assertion-error": "^1.1.0",
346 | "check-error": "^1.0.3",
347 | "deep-eql": "^4.1.3",
348 | "get-func-name": "^2.0.2",
349 | "loupe": "^2.3.6",
350 | "pathval": "^1.1.1",
351 | "type-detect": "^4.0.8"
352 | },
353 | "engines": {
354 | "node": ">=4"
355 | }
356 | },
357 | "node_modules/chalk": {
358 | "version": "4.1.2",
359 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
360 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
361 | "dev": true,
362 | "dependencies": {
363 | "ansi-styles": "^4.1.0",
364 | "supports-color": "^7.1.0"
365 | },
366 | "engines": {
367 | "node": ">=10"
368 | },
369 | "funding": {
370 | "url": "https://github.com/chalk/chalk?sponsor=1"
371 | }
372 | },
373 | "node_modules/check-error": {
374 | "version": "1.0.3",
375 | "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz",
376 | "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==",
377 | "dev": true,
378 | "dependencies": {
379 | "get-func-name": "^2.0.2"
380 | },
381 | "engines": {
382 | "node": "*"
383 | }
384 | },
385 | "node_modules/chokidar": {
386 | "version": "3.5.3",
387 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
388 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
389 | "dev": true,
390 | "funding": [
391 | {
392 | "type": "individual",
393 | "url": "https://paulmillr.com/funding/"
394 | }
395 | ],
396 | "dependencies": {
397 | "anymatch": "~3.1.2",
398 | "braces": "~3.0.2",
399 | "glob-parent": "~5.1.2",
400 | "is-binary-path": "~2.1.0",
401 | "is-glob": "~4.0.1",
402 | "normalize-path": "~3.0.0",
403 | "readdirp": "~3.6.0"
404 | },
405 | "engines": {
406 | "node": ">= 8.10.0"
407 | },
408 | "optionalDependencies": {
409 | "fsevents": "~2.3.2"
410 | }
411 | },
412 | "node_modules/chokidar/node_modules/glob-parent": {
413 | "version": "5.1.2",
414 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
415 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
416 | "dev": true,
417 | "dependencies": {
418 | "is-glob": "^4.0.1"
419 | },
420 | "engines": {
421 | "node": ">= 6"
422 | }
423 | },
424 | "node_modules/cliui": {
425 | "version": "7.0.4",
426 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
427 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
428 | "dev": true,
429 | "dependencies": {
430 | "string-width": "^4.2.0",
431 | "strip-ansi": "^6.0.0",
432 | "wrap-ansi": "^7.0.0"
433 | }
434 | },
435 | "node_modules/color-convert": {
436 | "version": "2.0.1",
437 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
438 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
439 | "dev": true,
440 | "dependencies": {
441 | "color-name": "~1.1.4"
442 | },
443 | "engines": {
444 | "node": ">=7.0.0"
445 | }
446 | },
447 | "node_modules/color-name": {
448 | "version": "1.1.4",
449 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
450 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
451 | "dev": true
452 | },
453 | "node_modules/commander": {
454 | "version": "7.2.0",
455 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
456 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
457 | "dev": true,
458 | "engines": {
459 | "node": ">= 10"
460 | }
461 | },
462 | "node_modules/concat-map": {
463 | "version": "0.0.1",
464 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
465 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
466 | "dev": true
467 | },
468 | "node_modules/cross-spawn": {
469 | "version": "7.0.3",
470 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
471 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
472 | "dev": true,
473 | "dependencies": {
474 | "path-key": "^3.1.0",
475 | "shebang-command": "^2.0.0",
476 | "which": "^2.0.1"
477 | },
478 | "engines": {
479 | "node": ">= 8"
480 | }
481 | },
482 | "node_modules/debug": {
483 | "version": "4.3.4",
484 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
485 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
486 | "dev": true,
487 | "dependencies": {
488 | "ms": "2.1.2"
489 | },
490 | "engines": {
491 | "node": ">=6.0"
492 | },
493 | "peerDependenciesMeta": {
494 | "supports-color": {
495 | "optional": true
496 | }
497 | }
498 | },
499 | "node_modules/decamelize": {
500 | "version": "4.0.0",
501 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
502 | "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
503 | "dev": true,
504 | "engines": {
505 | "node": ">=10"
506 | },
507 | "funding": {
508 | "url": "https://github.com/sponsors/sindresorhus"
509 | }
510 | },
511 | "node_modules/deep-eql": {
512 | "version": "4.1.3",
513 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
514 | "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==",
515 | "dev": true,
516 | "dependencies": {
517 | "type-detect": "^4.0.0"
518 | },
519 | "engines": {
520 | "node": ">=6"
521 | }
522 | },
523 | "node_modules/deep-is": {
524 | "version": "0.1.4",
525 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
526 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
527 | "dev": true
528 | },
529 | "node_modules/diff": {
530 | "version": "5.0.0",
531 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
532 | "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
533 | "dev": true,
534 | "engines": {
535 | "node": ">=0.3.1"
536 | }
537 | },
538 | "node_modules/doctrine": {
539 | "version": "3.0.0",
540 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
541 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
542 | "dev": true,
543 | "dependencies": {
544 | "esutils": "^2.0.2"
545 | },
546 | "engines": {
547 | "node": ">=6.0.0"
548 | }
549 | },
550 | "node_modules/emoji-regex": {
551 | "version": "8.0.0",
552 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
553 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
554 | "dev": true
555 | },
556 | "node_modules/escalade": {
557 | "version": "3.1.1",
558 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
559 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
560 | "dev": true,
561 | "engines": {
562 | "node": ">=6"
563 | }
564 | },
565 | "node_modules/escape-string-regexp": {
566 | "version": "4.0.0",
567 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
568 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
569 | "dev": true,
570 | "engines": {
571 | "node": ">=10"
572 | },
573 | "funding": {
574 | "url": "https://github.com/sponsors/sindresorhus"
575 | }
576 | },
577 | "node_modules/eslint": {
578 | "version": "8.53.0",
579 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz",
580 | "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==",
581 | "dev": true,
582 | "dependencies": {
583 | "@eslint-community/eslint-utils": "^4.2.0",
584 | "@eslint-community/regexpp": "^4.6.1",
585 | "@eslint/eslintrc": "^2.1.3",
586 | "@eslint/js": "8.53.0",
587 | "@humanwhocodes/config-array": "^0.11.13",
588 | "@humanwhocodes/module-importer": "^1.0.1",
589 | "@nodelib/fs.walk": "^1.2.8",
590 | "@ungap/structured-clone": "^1.2.0",
591 | "ajv": "^6.12.4",
592 | "chalk": "^4.0.0",
593 | "cross-spawn": "^7.0.2",
594 | "debug": "^4.3.2",
595 | "doctrine": "^3.0.0",
596 | "escape-string-regexp": "^4.0.0",
597 | "eslint-scope": "^7.2.2",
598 | "eslint-visitor-keys": "^3.4.3",
599 | "espree": "^9.6.1",
600 | "esquery": "^1.4.2",
601 | "esutils": "^2.0.2",
602 | "fast-deep-equal": "^3.1.3",
603 | "file-entry-cache": "^6.0.1",
604 | "find-up": "^5.0.0",
605 | "glob-parent": "^6.0.2",
606 | "globals": "^13.19.0",
607 | "graphemer": "^1.4.0",
608 | "ignore": "^5.2.0",
609 | "imurmurhash": "^0.1.4",
610 | "is-glob": "^4.0.0",
611 | "is-path-inside": "^3.0.3",
612 | "js-yaml": "^4.1.0",
613 | "json-stable-stringify-without-jsonify": "^1.0.1",
614 | "levn": "^0.4.1",
615 | "lodash.merge": "^4.6.2",
616 | "minimatch": "^3.1.2",
617 | "natural-compare": "^1.4.0",
618 | "optionator": "^0.9.3",
619 | "strip-ansi": "^6.0.1",
620 | "text-table": "^0.2.0"
621 | },
622 | "bin": {
623 | "eslint": "bin/eslint.js"
624 | },
625 | "engines": {
626 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
627 | },
628 | "funding": {
629 | "url": "https://opencollective.com/eslint"
630 | }
631 | },
632 | "node_modules/eslint-scope": {
633 | "version": "7.2.2",
634 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
635 | "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
636 | "dev": true,
637 | "dependencies": {
638 | "esrecurse": "^4.3.0",
639 | "estraverse": "^5.2.0"
640 | },
641 | "engines": {
642 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
643 | },
644 | "funding": {
645 | "url": "https://opencollective.com/eslint"
646 | }
647 | },
648 | "node_modules/eslint-visitor-keys": {
649 | "version": "3.4.3",
650 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
651 | "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
652 | "dev": true,
653 | "engines": {
654 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
655 | },
656 | "funding": {
657 | "url": "https://opencollective.com/eslint"
658 | }
659 | },
660 | "node_modules/espree": {
661 | "version": "9.6.1",
662 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
663 | "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
664 | "dev": true,
665 | "dependencies": {
666 | "acorn": "^8.9.0",
667 | "acorn-jsx": "^5.3.2",
668 | "eslint-visitor-keys": "^3.4.1"
669 | },
670 | "engines": {
671 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
672 | },
673 | "funding": {
674 | "url": "https://opencollective.com/eslint"
675 | }
676 | },
677 | "node_modules/esquery": {
678 | "version": "1.5.0",
679 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
680 | "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
681 | "dev": true,
682 | "dependencies": {
683 | "estraverse": "^5.1.0"
684 | },
685 | "engines": {
686 | "node": ">=0.10"
687 | }
688 | },
689 | "node_modules/esrecurse": {
690 | "version": "4.3.0",
691 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
692 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
693 | "dev": true,
694 | "dependencies": {
695 | "estraverse": "^5.2.0"
696 | },
697 | "engines": {
698 | "node": ">=4.0"
699 | }
700 | },
701 | "node_modules/estraverse": {
702 | "version": "5.3.0",
703 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
704 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
705 | "dev": true,
706 | "engines": {
707 | "node": ">=4.0"
708 | }
709 | },
710 | "node_modules/esutils": {
711 | "version": "2.0.3",
712 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
713 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
714 | "dev": true,
715 | "engines": {
716 | "node": ">=0.10.0"
717 | }
718 | },
719 | "node_modules/fast-deep-equal": {
720 | "version": "3.1.3",
721 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
722 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
723 | "dev": true
724 | },
725 | "node_modules/fast-json-stable-stringify": {
726 | "version": "2.1.0",
727 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
728 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
729 | "dev": true
730 | },
731 | "node_modules/fast-levenshtein": {
732 | "version": "2.0.6",
733 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
734 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
735 | "dev": true
736 | },
737 | "node_modules/fastq": {
738 | "version": "1.15.0",
739 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
740 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
741 | "dev": true,
742 | "dependencies": {
743 | "reusify": "^1.0.4"
744 | }
745 | },
746 | "node_modules/file-entry-cache": {
747 | "version": "6.0.1",
748 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
749 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
750 | "dev": true,
751 | "dependencies": {
752 | "flat-cache": "^3.0.4"
753 | },
754 | "engines": {
755 | "node": "^10.12.0 || >=12.0.0"
756 | }
757 | },
758 | "node_modules/fill-range": {
759 | "version": "7.0.1",
760 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
761 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
762 | "dev": true,
763 | "dependencies": {
764 | "to-regex-range": "^5.0.1"
765 | },
766 | "engines": {
767 | "node": ">=8"
768 | }
769 | },
770 | "node_modules/find-up": {
771 | "version": "5.0.0",
772 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
773 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
774 | "dev": true,
775 | "dependencies": {
776 | "locate-path": "^6.0.0",
777 | "path-exists": "^4.0.0"
778 | },
779 | "engines": {
780 | "node": ">=10"
781 | },
782 | "funding": {
783 | "url": "https://github.com/sponsors/sindresorhus"
784 | }
785 | },
786 | "node_modules/flat": {
787 | "version": "5.0.2",
788 | "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
789 | "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
790 | "dev": true,
791 | "bin": {
792 | "flat": "cli.js"
793 | }
794 | },
795 | "node_modules/flat-cache": {
796 | "version": "3.1.1",
797 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz",
798 | "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==",
799 | "dev": true,
800 | "dependencies": {
801 | "flatted": "^3.2.9",
802 | "keyv": "^4.5.3",
803 | "rimraf": "^3.0.2"
804 | },
805 | "engines": {
806 | "node": ">=12.0.0"
807 | }
808 | },
809 | "node_modules/flatted": {
810 | "version": "3.2.9",
811 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
812 | "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
813 | "dev": true
814 | },
815 | "node_modules/fs.realpath": {
816 | "version": "1.0.0",
817 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
818 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
819 | "dev": true
820 | },
821 | "node_modules/fsevents": {
822 | "version": "2.3.3",
823 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
824 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
825 | "dev": true,
826 | "hasInstallScript": true,
827 | "optional": true,
828 | "os": [
829 | "darwin"
830 | ],
831 | "engines": {
832 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
833 | }
834 | },
835 | "node_modules/get-caller-file": {
836 | "version": "2.0.5",
837 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
838 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
839 | "dev": true,
840 | "engines": {
841 | "node": "6.* || 8.* || >= 10.*"
842 | }
843 | },
844 | "node_modules/get-func-name": {
845 | "version": "2.0.2",
846 | "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
847 | "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
848 | "dev": true,
849 | "engines": {
850 | "node": "*"
851 | }
852 | },
853 | "node_modules/glob": {
854 | "version": "7.2.0",
855 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
856 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
857 | "dev": true,
858 | "dependencies": {
859 | "fs.realpath": "^1.0.0",
860 | "inflight": "^1.0.4",
861 | "inherits": "2",
862 | "minimatch": "^3.0.4",
863 | "once": "^1.3.0",
864 | "path-is-absolute": "^1.0.0"
865 | },
866 | "engines": {
867 | "node": "*"
868 | },
869 | "funding": {
870 | "url": "https://github.com/sponsors/isaacs"
871 | }
872 | },
873 | "node_modules/glob-parent": {
874 | "version": "6.0.2",
875 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
876 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
877 | "dev": true,
878 | "dependencies": {
879 | "is-glob": "^4.0.3"
880 | },
881 | "engines": {
882 | "node": ">=10.13.0"
883 | }
884 | },
885 | "node_modules/globals": {
886 | "version": "13.23.0",
887 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
888 | "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
889 | "dev": true,
890 | "dependencies": {
891 | "type-fest": "^0.20.2"
892 | },
893 | "engines": {
894 | "node": ">=8"
895 | },
896 | "funding": {
897 | "url": "https://github.com/sponsors/sindresorhus"
898 | }
899 | },
900 | "node_modules/graphemer": {
901 | "version": "1.4.0",
902 | "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
903 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
904 | "dev": true
905 | },
906 | "node_modules/handlebars": {
907 | "version": "4.7.8",
908 | "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
909 | "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
910 | "dev": true,
911 | "dependencies": {
912 | "minimist": "^1.2.5",
913 | "neo-async": "^2.6.2",
914 | "source-map": "^0.6.1",
915 | "wordwrap": "^1.0.0"
916 | },
917 | "bin": {
918 | "handlebars": "bin/handlebars"
919 | },
920 | "engines": {
921 | "node": ">=0.4.7"
922 | },
923 | "optionalDependencies": {
924 | "uglify-js": "^3.1.4"
925 | }
926 | },
927 | "node_modules/has-flag": {
928 | "version": "4.0.0",
929 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
930 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
931 | "dev": true,
932 | "engines": {
933 | "node": ">=8"
934 | }
935 | },
936 | "node_modules/he": {
937 | "version": "1.2.0",
938 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
939 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
940 | "dev": true,
941 | "bin": {
942 | "he": "bin/he"
943 | }
944 | },
945 | "node_modules/ignore": {
946 | "version": "5.2.4",
947 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
948 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
949 | "dev": true,
950 | "engines": {
951 | "node": ">= 4"
952 | }
953 | },
954 | "node_modules/immutable": {
955 | "version": "4.3.4",
956 | "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz",
957 | "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==",
958 | "dev": true
959 | },
960 | "node_modules/import-fresh": {
961 | "version": "3.3.0",
962 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
963 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
964 | "dev": true,
965 | "dependencies": {
966 | "parent-module": "^1.0.0",
967 | "resolve-from": "^4.0.0"
968 | },
969 | "engines": {
970 | "node": ">=6"
971 | },
972 | "funding": {
973 | "url": "https://github.com/sponsors/sindresorhus"
974 | }
975 | },
976 | "node_modules/imurmurhash": {
977 | "version": "0.1.4",
978 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
979 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
980 | "dev": true,
981 | "engines": {
982 | "node": ">=0.8.19"
983 | }
984 | },
985 | "node_modules/inflight": {
986 | "version": "1.0.6",
987 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
988 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
989 | "dev": true,
990 | "dependencies": {
991 | "once": "^1.3.0",
992 | "wrappy": "1"
993 | }
994 | },
995 | "node_modules/inherits": {
996 | "version": "2.0.4",
997 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
998 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
999 | "dev": true
1000 | },
1001 | "node_modules/is-binary-path": {
1002 | "version": "2.1.0",
1003 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1004 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1005 | "dev": true,
1006 | "dependencies": {
1007 | "binary-extensions": "^2.0.0"
1008 | },
1009 | "engines": {
1010 | "node": ">=8"
1011 | }
1012 | },
1013 | "node_modules/is-extglob": {
1014 | "version": "2.1.1",
1015 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1016 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1017 | "dev": true,
1018 | "engines": {
1019 | "node": ">=0.10.0"
1020 | }
1021 | },
1022 | "node_modules/is-fullwidth-code-point": {
1023 | "version": "3.0.0",
1024 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1025 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
1026 | "dev": true,
1027 | "engines": {
1028 | "node": ">=8"
1029 | }
1030 | },
1031 | "node_modules/is-glob": {
1032 | "version": "4.0.3",
1033 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1034 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1035 | "dev": true,
1036 | "dependencies": {
1037 | "is-extglob": "^2.1.1"
1038 | },
1039 | "engines": {
1040 | "node": ">=0.10.0"
1041 | }
1042 | },
1043 | "node_modules/is-number": {
1044 | "version": "7.0.0",
1045 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1046 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1047 | "dev": true,
1048 | "engines": {
1049 | "node": ">=0.12.0"
1050 | }
1051 | },
1052 | "node_modules/is-path-inside": {
1053 | "version": "3.0.3",
1054 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
1055 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
1056 | "dev": true,
1057 | "engines": {
1058 | "node": ">=8"
1059 | }
1060 | },
1061 | "node_modules/is-plain-obj": {
1062 | "version": "2.1.0",
1063 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
1064 | "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
1065 | "dev": true,
1066 | "engines": {
1067 | "node": ">=8"
1068 | }
1069 | },
1070 | "node_modules/is-unicode-supported": {
1071 | "version": "0.1.0",
1072 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
1073 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
1074 | "dev": true,
1075 | "engines": {
1076 | "node": ">=10"
1077 | },
1078 | "funding": {
1079 | "url": "https://github.com/sponsors/sindresorhus"
1080 | }
1081 | },
1082 | "node_modules/isexe": {
1083 | "version": "2.0.0",
1084 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1085 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1086 | "dev": true
1087 | },
1088 | "node_modules/js-yaml": {
1089 | "version": "4.1.0",
1090 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
1091 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
1092 | "dev": true,
1093 | "dependencies": {
1094 | "argparse": "^2.0.1"
1095 | },
1096 | "bin": {
1097 | "js-yaml": "bin/js-yaml.js"
1098 | }
1099 | },
1100 | "node_modules/json-buffer": {
1101 | "version": "3.0.1",
1102 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
1103 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
1104 | "dev": true
1105 | },
1106 | "node_modules/json-schema-traverse": {
1107 | "version": "0.4.1",
1108 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1109 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1110 | "dev": true
1111 | },
1112 | "node_modules/json-stable-stringify-without-jsonify": {
1113 | "version": "1.0.1",
1114 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
1115 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
1116 | "dev": true
1117 | },
1118 | "node_modules/keyv": {
1119 | "version": "4.5.4",
1120 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
1121 | "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
1122 | "dev": true,
1123 | "dependencies": {
1124 | "json-buffer": "3.0.1"
1125 | }
1126 | },
1127 | "node_modules/levn": {
1128 | "version": "0.4.1",
1129 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
1130 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
1131 | "dev": true,
1132 | "dependencies": {
1133 | "prelude-ls": "^1.2.1",
1134 | "type-check": "~0.4.0"
1135 | },
1136 | "engines": {
1137 | "node": ">= 0.8.0"
1138 | }
1139 | },
1140 | "node_modules/locate-path": {
1141 | "version": "6.0.0",
1142 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
1143 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
1144 | "dev": true,
1145 | "dependencies": {
1146 | "p-locate": "^5.0.0"
1147 | },
1148 | "engines": {
1149 | "node": ">=10"
1150 | },
1151 | "funding": {
1152 | "url": "https://github.com/sponsors/sindresorhus"
1153 | }
1154 | },
1155 | "node_modules/lodash.merge": {
1156 | "version": "4.6.2",
1157 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
1158 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
1159 | "dev": true
1160 | },
1161 | "node_modules/log-symbols": {
1162 | "version": "4.1.0",
1163 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
1164 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
1165 | "dev": true,
1166 | "dependencies": {
1167 | "chalk": "^4.1.0",
1168 | "is-unicode-supported": "^0.1.0"
1169 | },
1170 | "engines": {
1171 | "node": ">=10"
1172 | },
1173 | "funding": {
1174 | "url": "https://github.com/sponsors/sindresorhus"
1175 | }
1176 | },
1177 | "node_modules/loupe": {
1178 | "version": "2.3.7",
1179 | "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz",
1180 | "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==",
1181 | "dev": true,
1182 | "dependencies": {
1183 | "get-func-name": "^2.0.1"
1184 | }
1185 | },
1186 | "node_modules/lru-cache": {
1187 | "version": "6.0.0",
1188 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1189 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
1190 | "dev": true,
1191 | "dependencies": {
1192 | "yallist": "^4.0.0"
1193 | },
1194 | "engines": {
1195 | "node": ">=10"
1196 | }
1197 | },
1198 | "node_modules/minimatch": {
1199 | "version": "3.1.2",
1200 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
1201 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
1202 | "dev": true,
1203 | "dependencies": {
1204 | "brace-expansion": "^1.1.7"
1205 | },
1206 | "engines": {
1207 | "node": "*"
1208 | }
1209 | },
1210 | "node_modules/minimist": {
1211 | "version": "1.2.8",
1212 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
1213 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
1214 | "dev": true,
1215 | "funding": {
1216 | "url": "https://github.com/sponsors/ljharb"
1217 | }
1218 | },
1219 | "node_modules/mocha": {
1220 | "version": "10.2.0",
1221 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
1222 | "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
1223 | "dev": true,
1224 | "dependencies": {
1225 | "ansi-colors": "4.1.1",
1226 | "browser-stdout": "1.3.1",
1227 | "chokidar": "3.5.3",
1228 | "debug": "4.3.4",
1229 | "diff": "5.0.0",
1230 | "escape-string-regexp": "4.0.0",
1231 | "find-up": "5.0.0",
1232 | "glob": "7.2.0",
1233 | "he": "1.2.0",
1234 | "js-yaml": "4.1.0",
1235 | "log-symbols": "4.1.0",
1236 | "minimatch": "5.0.1",
1237 | "ms": "2.1.3",
1238 | "nanoid": "3.3.3",
1239 | "serialize-javascript": "6.0.0",
1240 | "strip-json-comments": "3.1.1",
1241 | "supports-color": "8.1.1",
1242 | "workerpool": "6.2.1",
1243 | "yargs": "16.2.0",
1244 | "yargs-parser": "20.2.4",
1245 | "yargs-unparser": "2.0.0"
1246 | },
1247 | "bin": {
1248 | "_mocha": "bin/_mocha",
1249 | "mocha": "bin/mocha.js"
1250 | },
1251 | "engines": {
1252 | "node": ">= 14.0.0"
1253 | },
1254 | "funding": {
1255 | "type": "opencollective",
1256 | "url": "https://opencollective.com/mochajs"
1257 | }
1258 | },
1259 | "node_modules/mocha/node_modules/brace-expansion": {
1260 | "version": "2.0.1",
1261 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
1262 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
1263 | "dev": true,
1264 | "dependencies": {
1265 | "balanced-match": "^1.0.0"
1266 | }
1267 | },
1268 | "node_modules/mocha/node_modules/minimatch": {
1269 | "version": "5.0.1",
1270 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
1271 | "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
1272 | "dev": true,
1273 | "dependencies": {
1274 | "brace-expansion": "^2.0.1"
1275 | },
1276 | "engines": {
1277 | "node": ">=10"
1278 | }
1279 | },
1280 | "node_modules/mocha/node_modules/ms": {
1281 | "version": "2.1.3",
1282 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1283 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1284 | "dev": true
1285 | },
1286 | "node_modules/mocha/node_modules/supports-color": {
1287 | "version": "8.1.1",
1288 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
1289 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
1290 | "dev": true,
1291 | "dependencies": {
1292 | "has-flag": "^4.0.0"
1293 | },
1294 | "engines": {
1295 | "node": ">=10"
1296 | },
1297 | "funding": {
1298 | "url": "https://github.com/chalk/supports-color?sponsor=1"
1299 | }
1300 | },
1301 | "node_modules/ms": {
1302 | "version": "2.1.2",
1303 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1304 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1305 | "dev": true
1306 | },
1307 | "node_modules/nanoid": {
1308 | "version": "3.3.3",
1309 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
1310 | "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
1311 | "dev": true,
1312 | "bin": {
1313 | "nanoid": "bin/nanoid.cjs"
1314 | },
1315 | "engines": {
1316 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1317 | }
1318 | },
1319 | "node_modules/natural-compare": {
1320 | "version": "1.4.0",
1321 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
1322 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
1323 | "dev": true
1324 | },
1325 | "node_modules/neo-async": {
1326 | "version": "2.6.2",
1327 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
1328 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
1329 | "dev": true
1330 | },
1331 | "node_modules/node-fetch": {
1332 | "version": "2.7.0",
1333 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
1334 | "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
1335 | "dev": true,
1336 | "dependencies": {
1337 | "whatwg-url": "^5.0.0"
1338 | },
1339 | "engines": {
1340 | "node": "4.x || >=6.0.0"
1341 | },
1342 | "peerDependencies": {
1343 | "encoding": "^0.1.0"
1344 | },
1345 | "peerDependenciesMeta": {
1346 | "encoding": {
1347 | "optional": true
1348 | }
1349 | }
1350 | },
1351 | "node_modules/normalize-path": {
1352 | "version": "3.0.0",
1353 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1354 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1355 | "dev": true,
1356 | "engines": {
1357 | "node": ">=0.10.0"
1358 | }
1359 | },
1360 | "node_modules/once": {
1361 | "version": "1.4.0",
1362 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1363 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
1364 | "dev": true,
1365 | "dependencies": {
1366 | "wrappy": "1"
1367 | }
1368 | },
1369 | "node_modules/optionator": {
1370 | "version": "0.9.3",
1371 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
1372 | "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
1373 | "dev": true,
1374 | "dependencies": {
1375 | "@aashutoshrathi/word-wrap": "^1.2.3",
1376 | "deep-is": "^0.1.3",
1377 | "fast-levenshtein": "^2.0.6",
1378 | "levn": "^0.4.1",
1379 | "prelude-ls": "^1.2.1",
1380 | "type-check": "^0.4.0"
1381 | },
1382 | "engines": {
1383 | "node": ">= 0.8.0"
1384 | }
1385 | },
1386 | "node_modules/p-limit": {
1387 | "version": "3.1.0",
1388 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
1389 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
1390 | "dev": true,
1391 | "dependencies": {
1392 | "yocto-queue": "^0.1.0"
1393 | },
1394 | "engines": {
1395 | "node": ">=10"
1396 | },
1397 | "funding": {
1398 | "url": "https://github.com/sponsors/sindresorhus"
1399 | }
1400 | },
1401 | "node_modules/p-locate": {
1402 | "version": "5.0.0",
1403 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
1404 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
1405 | "dev": true,
1406 | "dependencies": {
1407 | "p-limit": "^3.0.2"
1408 | },
1409 | "engines": {
1410 | "node": ">=10"
1411 | },
1412 | "funding": {
1413 | "url": "https://github.com/sponsors/sindresorhus"
1414 | }
1415 | },
1416 | "node_modules/parent-module": {
1417 | "version": "1.0.1",
1418 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
1419 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
1420 | "dev": true,
1421 | "dependencies": {
1422 | "callsites": "^3.0.0"
1423 | },
1424 | "engines": {
1425 | "node": ">=6"
1426 | }
1427 | },
1428 | "node_modules/parse-github-url": {
1429 | "version": "1.0.2",
1430 | "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz",
1431 | "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==",
1432 | "dev": true,
1433 | "bin": {
1434 | "parse-github-url": "cli.js"
1435 | },
1436 | "engines": {
1437 | "node": ">=0.10.0"
1438 | }
1439 | },
1440 | "node_modules/path-exists": {
1441 | "version": "4.0.0",
1442 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1443 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1444 | "dev": true,
1445 | "engines": {
1446 | "node": ">=8"
1447 | }
1448 | },
1449 | "node_modules/path-is-absolute": {
1450 | "version": "1.0.1",
1451 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1452 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
1453 | "dev": true,
1454 | "engines": {
1455 | "node": ">=0.10.0"
1456 | }
1457 | },
1458 | "node_modules/path-key": {
1459 | "version": "3.1.1",
1460 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1461 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1462 | "dev": true,
1463 | "engines": {
1464 | "node": ">=8"
1465 | }
1466 | },
1467 | "node_modules/pathval": {
1468 | "version": "1.1.1",
1469 | "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
1470 | "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
1471 | "dev": true,
1472 | "engines": {
1473 | "node": "*"
1474 | }
1475 | },
1476 | "node_modules/picomatch": {
1477 | "version": "2.3.1",
1478 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1479 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1480 | "dev": true,
1481 | "engines": {
1482 | "node": ">=8.6"
1483 | },
1484 | "funding": {
1485 | "url": "https://github.com/sponsors/jonschlinkert"
1486 | }
1487 | },
1488 | "node_modules/prelude-ls": {
1489 | "version": "1.2.1",
1490 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
1491 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
1492 | "dev": true,
1493 | "engines": {
1494 | "node": ">= 0.8.0"
1495 | }
1496 | },
1497 | "node_modules/punycode": {
1498 | "version": "2.3.1",
1499 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
1500 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
1501 | "dev": true,
1502 | "engines": {
1503 | "node": ">=6"
1504 | }
1505 | },
1506 | "node_modules/queue-microtask": {
1507 | "version": "1.2.3",
1508 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
1509 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
1510 | "dev": true,
1511 | "funding": [
1512 | {
1513 | "type": "github",
1514 | "url": "https://github.com/sponsors/feross"
1515 | },
1516 | {
1517 | "type": "patreon",
1518 | "url": "https://www.patreon.com/feross"
1519 | },
1520 | {
1521 | "type": "consulting",
1522 | "url": "https://feross.org/support"
1523 | }
1524 | ]
1525 | },
1526 | "node_modules/randombytes": {
1527 | "version": "2.1.0",
1528 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1529 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1530 | "dev": true,
1531 | "dependencies": {
1532 | "safe-buffer": "^5.1.0"
1533 | }
1534 | },
1535 | "node_modules/readdirp": {
1536 | "version": "3.6.0",
1537 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
1538 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
1539 | "dev": true,
1540 | "dependencies": {
1541 | "picomatch": "^2.2.1"
1542 | },
1543 | "engines": {
1544 | "node": ">=8.10.0"
1545 | }
1546 | },
1547 | "node_modules/require-directory": {
1548 | "version": "2.1.1",
1549 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
1550 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
1551 | "dev": true,
1552 | "engines": {
1553 | "node": ">=0.10.0"
1554 | }
1555 | },
1556 | "node_modules/resolve-from": {
1557 | "version": "4.0.0",
1558 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1559 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1560 | "dev": true,
1561 | "engines": {
1562 | "node": ">=4"
1563 | }
1564 | },
1565 | "node_modules/reusify": {
1566 | "version": "1.0.4",
1567 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
1568 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
1569 | "dev": true,
1570 | "engines": {
1571 | "iojs": ">=1.0.0",
1572 | "node": ">=0.10.0"
1573 | }
1574 | },
1575 | "node_modules/rimraf": {
1576 | "version": "3.0.2",
1577 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
1578 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
1579 | "dev": true,
1580 | "dependencies": {
1581 | "glob": "^7.1.3"
1582 | },
1583 | "bin": {
1584 | "rimraf": "bin.js"
1585 | },
1586 | "funding": {
1587 | "url": "https://github.com/sponsors/isaacs"
1588 | }
1589 | },
1590 | "node_modules/run-parallel": {
1591 | "version": "1.2.0",
1592 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
1593 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
1594 | "dev": true,
1595 | "funding": [
1596 | {
1597 | "type": "github",
1598 | "url": "https://github.com/sponsors/feross"
1599 | },
1600 | {
1601 | "type": "patreon",
1602 | "url": "https://www.patreon.com/feross"
1603 | },
1604 | {
1605 | "type": "consulting",
1606 | "url": "https://feross.org/support"
1607 | }
1608 | ],
1609 | "dependencies": {
1610 | "queue-microtask": "^1.2.2"
1611 | }
1612 | },
1613 | "node_modules/safe-buffer": {
1614 | "version": "5.2.1",
1615 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1616 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1617 | "dev": true,
1618 | "funding": [
1619 | {
1620 | "type": "github",
1621 | "url": "https://github.com/sponsors/feross"
1622 | },
1623 | {
1624 | "type": "patreon",
1625 | "url": "https://www.patreon.com/feross"
1626 | },
1627 | {
1628 | "type": "consulting",
1629 | "url": "https://feross.org/support"
1630 | }
1631 | ]
1632 | },
1633 | "node_modules/sass": {
1634 | "version": "1.69.5",
1635 | "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz",
1636 | "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==",
1637 | "dev": true,
1638 | "dependencies": {
1639 | "chokidar": ">=3.0.0 <4.0.0",
1640 | "immutable": "^4.0.0",
1641 | "source-map-js": ">=0.6.2 <2.0.0"
1642 | },
1643 | "bin": {
1644 | "sass": "sass.js"
1645 | },
1646 | "engines": {
1647 | "node": ">=14.0.0"
1648 | }
1649 | },
1650 | "node_modules/sassy-test": {
1651 | "version": "5.0.1",
1652 | "resolved": "https://registry.npmjs.org/sassy-test/-/sassy-test-5.0.1.tgz",
1653 | "integrity": "sha512-K1NHW5FSCjfz8EIC+smKjgJfeayzoU1Zm1xM9lseaIKVyZ+fiF827owDd0msmqw9054su/W3p4hcrEPbXfHNnw==",
1654 | "dev": true,
1655 | "dependencies": {
1656 | "sass": "^1.69.5"
1657 | }
1658 | },
1659 | "node_modules/semver": {
1660 | "version": "7.5.4",
1661 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
1662 | "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
1663 | "dev": true,
1664 | "dependencies": {
1665 | "lru-cache": "^6.0.0"
1666 | },
1667 | "bin": {
1668 | "semver": "bin/semver.js"
1669 | },
1670 | "engines": {
1671 | "node": ">=10"
1672 | }
1673 | },
1674 | "node_modules/serialize-javascript": {
1675 | "version": "6.0.0",
1676 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
1677 | "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
1678 | "dev": true,
1679 | "dependencies": {
1680 | "randombytes": "^2.1.0"
1681 | }
1682 | },
1683 | "node_modules/shebang-command": {
1684 | "version": "2.0.0",
1685 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1686 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1687 | "dev": true,
1688 | "dependencies": {
1689 | "shebang-regex": "^3.0.0"
1690 | },
1691 | "engines": {
1692 | "node": ">=8"
1693 | }
1694 | },
1695 | "node_modules/shebang-regex": {
1696 | "version": "3.0.0",
1697 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1698 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1699 | "dev": true,
1700 | "engines": {
1701 | "node": ">=8"
1702 | }
1703 | },
1704 | "node_modules/source-map": {
1705 | "version": "0.6.1",
1706 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1707 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1708 | "dev": true,
1709 | "engines": {
1710 | "node": ">=0.10.0"
1711 | }
1712 | },
1713 | "node_modules/source-map-js": {
1714 | "version": "1.0.2",
1715 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1716 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1717 | "dev": true,
1718 | "engines": {
1719 | "node": ">=0.10.0"
1720 | }
1721 | },
1722 | "node_modules/string-width": {
1723 | "version": "4.2.3",
1724 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
1725 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
1726 | "dev": true,
1727 | "dependencies": {
1728 | "emoji-regex": "^8.0.0",
1729 | "is-fullwidth-code-point": "^3.0.0",
1730 | "strip-ansi": "^6.0.1"
1731 | },
1732 | "engines": {
1733 | "node": ">=8"
1734 | }
1735 | },
1736 | "node_modules/strip-ansi": {
1737 | "version": "6.0.1",
1738 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
1739 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
1740 | "dev": true,
1741 | "dependencies": {
1742 | "ansi-regex": "^5.0.1"
1743 | },
1744 | "engines": {
1745 | "node": ">=8"
1746 | }
1747 | },
1748 | "node_modules/strip-json-comments": {
1749 | "version": "3.1.1",
1750 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
1751 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
1752 | "dev": true,
1753 | "engines": {
1754 | "node": ">=8"
1755 | },
1756 | "funding": {
1757 | "url": "https://github.com/sponsors/sindresorhus"
1758 | }
1759 | },
1760 | "node_modules/supports-color": {
1761 | "version": "7.2.0",
1762 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1763 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1764 | "dev": true,
1765 | "dependencies": {
1766 | "has-flag": "^4.0.0"
1767 | },
1768 | "engines": {
1769 | "node": ">=8"
1770 | }
1771 | },
1772 | "node_modules/text-table": {
1773 | "version": "0.2.0",
1774 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1775 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
1776 | "dev": true
1777 | },
1778 | "node_modules/to-regex-range": {
1779 | "version": "5.0.1",
1780 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1781 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1782 | "dev": true,
1783 | "dependencies": {
1784 | "is-number": "^7.0.0"
1785 | },
1786 | "engines": {
1787 | "node": ">=8.0"
1788 | }
1789 | },
1790 | "node_modules/tr46": {
1791 | "version": "0.0.3",
1792 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
1793 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
1794 | "dev": true
1795 | },
1796 | "node_modules/type-check": {
1797 | "version": "0.4.0",
1798 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
1799 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
1800 | "dev": true,
1801 | "dependencies": {
1802 | "prelude-ls": "^1.2.1"
1803 | },
1804 | "engines": {
1805 | "node": ">= 0.8.0"
1806 | }
1807 | },
1808 | "node_modules/type-detect": {
1809 | "version": "4.0.8",
1810 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
1811 | "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
1812 | "dev": true,
1813 | "engines": {
1814 | "node": ">=4"
1815 | }
1816 | },
1817 | "node_modules/type-fest": {
1818 | "version": "0.20.2",
1819 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
1820 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
1821 | "dev": true,
1822 | "engines": {
1823 | "node": ">=10"
1824 | },
1825 | "funding": {
1826 | "url": "https://github.com/sponsors/sindresorhus"
1827 | }
1828 | },
1829 | "node_modules/uglify-js": {
1830 | "version": "3.17.4",
1831 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
1832 | "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
1833 | "dev": true,
1834 | "optional": true,
1835 | "bin": {
1836 | "uglifyjs": "bin/uglifyjs"
1837 | },
1838 | "engines": {
1839 | "node": ">=0.8.0"
1840 | }
1841 | },
1842 | "node_modules/uri-js": {
1843 | "version": "4.4.1",
1844 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1845 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1846 | "dev": true,
1847 | "dependencies": {
1848 | "punycode": "^2.1.0"
1849 | }
1850 | },
1851 | "node_modules/webidl-conversions": {
1852 | "version": "3.0.1",
1853 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
1854 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
1855 | "dev": true
1856 | },
1857 | "node_modules/whatwg-url": {
1858 | "version": "5.0.0",
1859 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
1860 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
1861 | "dev": true,
1862 | "dependencies": {
1863 | "tr46": "~0.0.3",
1864 | "webidl-conversions": "^3.0.0"
1865 | }
1866 | },
1867 | "node_modules/which": {
1868 | "version": "2.0.2",
1869 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1870 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1871 | "dev": true,
1872 | "dependencies": {
1873 | "isexe": "^2.0.0"
1874 | },
1875 | "bin": {
1876 | "node-which": "bin/node-which"
1877 | },
1878 | "engines": {
1879 | "node": ">= 8"
1880 | }
1881 | },
1882 | "node_modules/wordwrap": {
1883 | "version": "1.0.0",
1884 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
1885 | "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
1886 | "dev": true
1887 | },
1888 | "node_modules/workerpool": {
1889 | "version": "6.2.1",
1890 | "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
1891 | "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
1892 | "dev": true
1893 | },
1894 | "node_modules/wrap-ansi": {
1895 | "version": "7.0.0",
1896 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
1897 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
1898 | "dev": true,
1899 | "dependencies": {
1900 | "ansi-styles": "^4.0.0",
1901 | "string-width": "^4.1.0",
1902 | "strip-ansi": "^6.0.0"
1903 | },
1904 | "engines": {
1905 | "node": ">=10"
1906 | },
1907 | "funding": {
1908 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
1909 | }
1910 | },
1911 | "node_modules/wrappy": {
1912 | "version": "1.0.2",
1913 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1914 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
1915 | "dev": true
1916 | },
1917 | "node_modules/y18n": {
1918 | "version": "5.0.8",
1919 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
1920 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
1921 | "dev": true,
1922 | "engines": {
1923 | "node": ">=10"
1924 | }
1925 | },
1926 | "node_modules/yallist": {
1927 | "version": "4.0.0",
1928 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1929 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
1930 | "dev": true
1931 | },
1932 | "node_modules/yargs": {
1933 | "version": "16.2.0",
1934 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
1935 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
1936 | "dev": true,
1937 | "dependencies": {
1938 | "cliui": "^7.0.2",
1939 | "escalade": "^3.1.1",
1940 | "get-caller-file": "^2.0.5",
1941 | "require-directory": "^2.1.1",
1942 | "string-width": "^4.2.0",
1943 | "y18n": "^5.0.5",
1944 | "yargs-parser": "^20.2.2"
1945 | },
1946 | "engines": {
1947 | "node": ">=10"
1948 | }
1949 | },
1950 | "node_modules/yargs-parser": {
1951 | "version": "20.2.4",
1952 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
1953 | "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
1954 | "dev": true,
1955 | "engines": {
1956 | "node": ">=10"
1957 | }
1958 | },
1959 | "node_modules/yargs-unparser": {
1960 | "version": "2.0.0",
1961 | "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
1962 | "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
1963 | "dev": true,
1964 | "dependencies": {
1965 | "camelcase": "^6.0.0",
1966 | "decamelize": "^4.0.0",
1967 | "flat": "^5.0.2",
1968 | "is-plain-obj": "^2.1.0"
1969 | },
1970 | "engines": {
1971 | "node": ">=10"
1972 | }
1973 | },
1974 | "node_modules/yocto-queue": {
1975 | "version": "0.1.0",
1976 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
1977 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
1978 | "dev": true,
1979 | "engines": {
1980 | "node": ">=10"
1981 | },
1982 | "funding": {
1983 | "url": "https://github.com/sponsors/sindresorhus"
1984 | }
1985 | }
1986 | }
1987 | }
1988 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "normalize-scss",
3 | "version": "8.0.0",
4 | "description": "This is the Sass version of Normalize.css, a collection of HTML element and attribute rulesets to normalize styles across all browsers. This port aims to use a light dusting of Sass to make Normalize even easier to integrate with your website.",
5 | "homepage": "https://github.com/JohnAlbin/normalize-scss",
6 | "bugs": {
7 | "url": "https://github.com/JohnAlbin/normalize-scss/issues"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/JohnAlbin/normalize-scss.git"
12 | },
13 | "author": "John Albin Wilkins (https://john.albin.net/)",
14 | "license": "(MIT OR GPL-2.0)",
15 | "keywords": [
16 | "sass",
17 | "normalize"
18 | ],
19 | "type": "module",
20 | "main": "sass/_normalize.scss",
21 | "style": "sass/_normalize.scss",
22 | "directories": {
23 | "lib": "sass",
24 | "test": "test"
25 | },
26 | "scripts": {
27 | "test": "mocha --reporter-option maxDiffSize=0",
28 | "posttest": "eslint test",
29 | "changelog": "auto-changelog --commit-limit false --unreleased",
30 | "preversion": "npm test",
31 | "version": "auto-changelog --commit-limit false --package && git add CHANGELOG.md"
32 | },
33 | "devDependencies": {
34 | "auto-changelog": "^2.4.0",
35 | "chai": "^4.3.10",
36 | "eslint": "^8.53.0",
37 | "mocha": "^10.2.0",
38 | "sassy-test": "^5.0.1"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/sache.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Normalize-scss",
3 | "description": "This is the Sass version of Normalize.css, a collection of HTML element and attribute rulesets to normalize styles across all browsers. This port aims to use a light dusting of Sass to make Normalize even easier to integrate with your website.",
4 | "tags": ["normalize", "reset", "typography", "design", "ui"]
5 | }
6 |
--------------------------------------------------------------------------------
/sass/_normalize.scss:
--------------------------------------------------------------------------------
1 | @import 'normalize/variables';
2 | @import 'normalize/vertical-rhythm';
3 | @import 'normalize/normalize-mixin';
4 |
--------------------------------------------------------------------------------
/sass/normalize/_import-now.scss:
--------------------------------------------------------------------------------
1 | // Import Now
2 | //
3 | // If you import this module directly, it will immediately output all the CSS
4 | // needed to normalize default HTML elements across all browsers.
5 | //
6 | // ```
7 | // @import "normalize/import-now";
8 | // ```
9 |
10 | @import '../normalize';
11 | @include normalize();
12 |
--------------------------------------------------------------------------------
/sass/normalize/_normalize-mixin.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 |
3 | // Helper function for the normalize() mixin.
4 |
5 | // Initialize the global variables needed by _normalize-include.
6 | $_normalize-include: () !default;
7 | $_normalize-exclude: () !default;
8 |
9 | @function _normalize-include($section, $exclude: null) {
10 | // Since we are given 2 parameters, set the global variables.
11 | @if $exclude != null {
12 | $include: $section;
13 | // Sass doesn't have static variables, so the work-around is to stuff these
14 | // values into global variables so we can access them in future calls.
15 | $_normalize-include: if(type-of($include) == 'list', $include, ($include)) !global;
16 | $_normalize-exclude: if(type-of($exclude) == 'list', $exclude, ($exclude)) !global;
17 | @return true;
18 | }
19 |
20 | // Check if $section is in the $include list.
21 | @if index($_normalize-include, $section) {
22 | @return true;
23 | }
24 | // If $include is set to (all), make sure $section is not in $exclude.
25 | @else if not index($_normalize-exclude, $section) and index($_normalize-include, all) {
26 | @return true;
27 | }
28 | @return false;
29 | }
30 |
31 | @mixin normalize($include: (all), $exclude: ()) {
32 | // Initialize the helper function by passing it this mixin's parameters.
33 | $init: _normalize-include($include, $exclude);
34 |
35 | // If we've customized any font variables, we'll need extra properties.
36 | @if $normalize-vertical-rhythm == null
37 | and (
38 | $base-line-height != 24px
39 | or $base-unit != 'em'
40 | or $h2-font-size != 1.5 * $base-font-size
41 | or $h3-font-size != 1.17 * $base-font-size
42 | or $h4-font-size != 1 * $base-font-size
43 | or $h5-font-size != 0.83 * $base-font-size
44 | or $h6-font-size != 0.67 * $base-font-size
45 | ) {
46 | $normalize-vertical-rhythm: true !global;
47 | }
48 |
49 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
50 |
51 | @if _normalize-include(document) {
52 | /* Document
53 | ========================================================================== */
54 |
55 | /**
56 | * 1. Correct the line height in all browsers.
57 | * 2. Prevent adjustments of font size after orientation changes in iOS.
58 | */
59 |
60 | html {
61 | @if $base-font-family {
62 | /* Change the default font family in all browsers (opinionated). */
63 | font-family: $base-font-family;
64 | }
65 | @if $base-font-size != 16px or $normalize-vertical-rhythm {
66 | // Correct old browser bug that prevented accessible resizing of text
67 | // when root font-size is set with px or em.
68 | font-size: math.div($base-font-size, 16px) * 100%;
69 | }
70 | @if $normalize-vertical-rhythm {
71 | line-height: math.div($base-line-height, $base-font-size) * 1em; /* 1 */
72 | }
73 | @else {
74 | line-height: 1.15; /* 1 */
75 | }
76 | -webkit-text-size-adjust: 100%; /* 2 */
77 | }
78 | }
79 |
80 | @if _normalize-include(sections) {
81 | /* Sections
82 | ========================================================================== */
83 |
84 | /**
85 | * Remove the margin in all browsers.
86 | */
87 |
88 | body {
89 | margin: 0;
90 | }
91 |
92 | /**
93 | * Render the `main` element consistently in IE.
94 | */
95 |
96 | main {
97 | display: block;
98 | }
99 |
100 | /**
101 | * Correct the font size and margin on `h1` elements within `section` and
102 | * `article` contexts in Chrome, Firefox, and Safari.
103 | */
104 |
105 | h1 {
106 | @include normalize-font-size($h1-font-size);
107 | @if $normalize-vertical-rhythm {
108 | @include normalize-line-height($h1-font-size);
109 | }
110 |
111 | @if $normalize-vertical-rhythm {
112 | /* Set 1 unit of vertical rhythm on the top and bottom margins. */
113 | @include normalize-margin(1 0, $h1-font-size);
114 | }
115 | @else {
116 | margin: 0.67em 0;
117 | }
118 | }
119 |
120 | @if $normalize-vertical-rhythm {
121 | h2 {
122 | @include normalize-font-size($h2-font-size);
123 | @include normalize-line-height($h2-font-size);
124 | @include normalize-margin(1 0, $h2-font-size);
125 | }
126 |
127 | h3 {
128 | @include normalize-font-size($h3-font-size);
129 | @include normalize-line-height($h3-font-size);
130 | @include normalize-margin(1 0, $h3-font-size);
131 | }
132 |
133 | h4 {
134 | @include normalize-font-size($h4-font-size);
135 | @include normalize-line-height($h4-font-size);
136 | @include normalize-margin(1 0, $h4-font-size);
137 | }
138 |
139 | h5 {
140 | @include normalize-font-size($h5-font-size);
141 | @include normalize-line-height($h5-font-size);
142 | @include normalize-margin(1 0, $h5-font-size);
143 | }
144 |
145 | h6 {
146 | @include normalize-font-size($h6-font-size);
147 | @include normalize-line-height($h6-font-size);
148 | @include normalize-margin(1 0, $h6-font-size);
149 | }
150 | }
151 | }
152 |
153 | @if _normalize-include(grouping) {
154 | /* Grouping content
155 | ========================================================================== */
156 |
157 | @if $normalize-vertical-rhythm {
158 | /**
159 | * Set 1 unit of vertical rhythm on the top and bottom margin.
160 | */
161 |
162 | blockquote {
163 | @include normalize-margin(1 $indent-amount);
164 | }
165 |
166 | dl,
167 | ol,
168 | ul {
169 | @include normalize-margin(1 0);
170 | }
171 |
172 | /**
173 | * Turn off margins on nested lists.
174 | */
175 |
176 | ol,
177 | ul {
178 | ol,
179 | ul {
180 | margin: 0;
181 | }
182 | }
183 |
184 | dd {
185 | margin: 0 0 0 $indent-amount;
186 | }
187 |
188 | ol,
189 | ul {
190 | padding: 0 0 0 $indent-amount;
191 | }
192 |
193 | figure {
194 | @include normalize-margin(1 $indent-amount);
195 | }
196 | }
197 |
198 | /**
199 | * 1. Add the correct box sizing in Firefox.
200 | * 2. Show the overflow in Edge and IE.
201 | */
202 |
203 | hr {
204 | box-sizing: content-box; /* 1 */
205 | height: 0; /* 1 */
206 | overflow: visible; /* 2 */
207 | }
208 |
209 | /**
210 | * Add the correct display in IE.
211 | */
212 |
213 | main {
214 | display: block;
215 | }
216 |
217 | @if $normalize-vertical-rhythm {
218 | /**
219 | * Set 1 unit of vertical rhythm on the top and bottom margin.
220 | */
221 |
222 | p,
223 | pre {
224 | @include normalize-margin(1 0);
225 | }
226 | }
227 |
228 | /**
229 | * 1. Correct the inheritance and scaling of font size in all browsers.
230 | * 2. Correct the odd `em` font sizing in all browsers.
231 | */
232 |
233 | pre {
234 | font-family: monospace, monospace; /* 1 */
235 | font-size: 1em; /* 2 */
236 | }
237 | }
238 |
239 | @if _normalize-include(links) {
240 | /* Links
241 | ========================================================================== */
242 |
243 | /**
244 | * Remove the gray background on active links in IE 10.
245 | */
246 |
247 | a {
248 | background-color: transparent;
249 | }
250 | }
251 |
252 | @if _normalize-include(text) {
253 | /* Text-level semantics
254 | ========================================================================== */
255 |
256 | /**
257 | * 1. Remove the bottom border in Chrome 57-
258 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
259 | */
260 |
261 | abbr[title] {
262 | border-bottom: none; /* 1 */
263 | text-decoration: underline; /* 2 */
264 | text-decoration: underline dotted; /* 2 */
265 | }
266 |
267 | /**
268 | * Add the correct font weight in Chrome, Edge, and Safari.
269 | */
270 |
271 | b,
272 | strong {
273 | font-weight: bolder;
274 | }
275 |
276 | /**
277 | * 1. Correct the inheritance and scaling of font size in all browsers.
278 | * 2. Correct the odd `em` font sizing in all browsers.
279 | */
280 |
281 | code,
282 | kbd,
283 | samp {
284 | font-family: monospace, monospace; /* 1 */
285 | font-size: 1em; /* 2 */
286 | }
287 |
288 | /**
289 | * Add the correct font size in all browsers.
290 | */
291 |
292 | small {
293 | font-size: 80%;
294 | }
295 |
296 | /**
297 | * Prevent `sub` and `sup` elements from affecting the line height in
298 | * all browsers.
299 | */
300 |
301 | sub,
302 | sup {
303 | font-size: 75%;
304 | line-height: 0;
305 | position: relative;
306 | vertical-align: baseline;
307 | }
308 |
309 | sub {
310 | bottom: -0.25em;
311 | }
312 |
313 | sup {
314 | top: -0.5em;
315 | }
316 | }
317 |
318 | @if _normalize-include(embedded) {
319 | /* Embedded content
320 | ========================================================================== */
321 |
322 | /**
323 | * Remove the border on images inside links in IE 10.
324 | */
325 |
326 | img {
327 | border-style: none;
328 | }
329 | }
330 |
331 | @if _normalize-include(forms) {
332 | /* Forms
333 | ========================================================================== */
334 |
335 | /**
336 | * 1. Change the font styles in all browsers.
337 | * 2. Remove the margin in Firefox and Safari.
338 | */
339 |
340 | button,
341 | input,
342 | optgroup,
343 | select,
344 | textarea {
345 | font-family: inherit; /* 1 */
346 | font-size: 100%; /* 1 */
347 | @if $normalize-vertical-rhythm {
348 | line-height: math.div($base-line-height, $base-font-size) * 1em; /* 1 */
349 | }
350 | @else {
351 | line-height: 1.15; /* 1 */
352 | }
353 | margin: 0; /* 2 */
354 | }
355 |
356 | /**
357 | * Show the overflow in IE.
358 | */
359 |
360 | button {
361 | overflow: visible;
362 | }
363 |
364 | /**
365 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
366 | * 1. Remove the inheritance of text transform in Firefox.
367 | */
368 |
369 | button,
370 | select { /* 1 */
371 | text-transform: none;
372 | }
373 |
374 | /**
375 | * Correct the inability to style clickable types in iOS and Safari.
376 | */
377 |
378 | button,
379 | [type="button"],
380 | [type="reset"],
381 | [type="submit"] {
382 | -webkit-appearance: button;
383 | }
384 |
385 | button,
386 | [type="button"],
387 | [type="reset"],
388 | [type="submit"] {
389 |
390 | /**
391 | * Remove the inner border and padding in Firefox.
392 | */
393 |
394 | &::-moz-focus-inner {
395 | border-style: none;
396 | padding: 0;
397 | }
398 |
399 | /**
400 | * Restore the focus styles unset by the previous rule.
401 | */
402 |
403 | &:-moz-focusring {
404 | outline: 1px dotted ButtonText;
405 | }
406 | }
407 |
408 | /**
409 | * Show the overflow in Edge.
410 | */
411 |
412 | input {
413 | overflow: visible;
414 | }
415 |
416 | /**
417 | * 1. Add the correct box sizing in IE 10.
418 | * 2. Remove the padding in IE 10.
419 | */
420 |
421 | [type="checkbox"],
422 | [type="radio"] {
423 | box-sizing: border-box; /* 1 */
424 | padding: 0; /* 2 */
425 | }
426 |
427 | /**
428 | * Correct the cursor style of increment and decrement buttons in Chrome.
429 | */
430 |
431 | [type="number"]::-webkit-inner-spin-button,
432 | [type="number"]::-webkit-outer-spin-button {
433 | height: auto;
434 | }
435 |
436 | /**
437 | * 1. Correct the odd appearance in Chrome and Safari.
438 | * 2. Correct the outline style in Safari.
439 | */
440 |
441 | [type="search"] {
442 | -webkit-appearance: textfield; /* 1 */
443 | outline-offset: -2px; /* 2 */
444 |
445 | /**
446 | * Remove the inner padding in Chrome and Safari on macOS.
447 | */
448 |
449 | &::-webkit-search-decoration {
450 | -webkit-appearance: none;
451 | }
452 | }
453 |
454 | /**
455 | * 1. Correct the inability to style clickable types in iOS and Safari.
456 | * 2. Change font properties to `inherit` in Safari.
457 | */
458 |
459 | ::-webkit-file-upload-button {
460 | -webkit-appearance: button; /* 1 */
461 | font: inherit; /* 2 */
462 | }
463 |
464 | /**
465 | * Correct the padding in Firefox.
466 | */
467 |
468 | fieldset {
469 | padding: 0.35em 0.75em 0.625em;
470 | }
471 |
472 | /**
473 | * 1. Correct the text wrapping in Edge and IE.
474 | * 2. Correct the color inheritance from `fieldset` elements in IE.
475 | * 3. Remove the padding so developers are not caught out when they zero out
476 | * `fieldset` elements in all browsers.
477 | */
478 |
479 | legend {
480 | box-sizing: border-box; /* 1 */
481 | display: table; /* 1 */
482 | max-width: 100%; /* 1 */
483 | padding: 0; /* 3 */
484 | color: inherit; /* 2 */
485 | white-space: normal; /* 1 */
486 | }
487 |
488 | /**
489 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
490 | */
491 |
492 | progress {
493 | vertical-align: baseline;
494 | }
495 |
496 | /**
497 | * Remove the default vertical scrollbar in IE 10+.
498 | */
499 |
500 | textarea {
501 | overflow: auto;
502 | }
503 | }
504 |
505 | @if _normalize-include(interactive) {
506 | /* Interactive
507 | ========================================================================== */
508 |
509 | /*
510 | * Add the correct display in Edge, IE 10+, and Firefox.
511 | */
512 |
513 | details {
514 | display: block;
515 | }
516 |
517 | /*
518 | * Add the correct display in all browsers.
519 | */
520 |
521 | summary {
522 | display: list-item;
523 | }
524 |
525 | @if $normalize-vertical-rhythm {
526 | menu {
527 | /*
528 | * 1. Set 1 unit of vertical rhythm on the top and bottom margin.
529 | * 2. Set consistent space for the list style image.
530 | */
531 |
532 | @include normalize-margin(1 0); /* 1 */
533 | padding: 0 0 0 $indent-amount; /* 2 */
534 |
535 | /**
536 | * Turn off margins on nested lists.
537 | */
538 |
539 | menu &,
540 | ol &,
541 | ul & {
542 | margin: 0;
543 | }
544 | }
545 | }
546 | }
547 |
548 | @if _normalize-include(misc) {
549 | /* Misc
550 | ========================================================================== */
551 |
552 | /**
553 | * Add the correct display in IE.
554 | */
555 |
556 | template {
557 | display: none;
558 | }
559 |
560 | /**
561 | * Add the correct display in IE 10.
562 | */
563 |
564 | [hidden] {
565 | display: none;
566 | }
567 | }
568 | }
569 |
--------------------------------------------------------------------------------
/sass/normalize/_variables.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Variables
3 | //
4 | // You can override the default values by setting the variables in your Sass
5 | // before importing the normalize-scss library.
6 |
7 | // The font size set on the root html element.
8 | $base-font-size: 16px !default;
9 |
10 | // The base line height determines the basic unit of vertical rhythm.
11 | $base-line-height: 24px !default;
12 |
13 | // The length unit in which to output vertical rhythm values.
14 | // Supported values: px, em, rem.
15 | $base-unit: 'em' !default;
16 |
17 | // The default font family.
18 | $base-font-family: null !default;
19 |
20 | // The font sizes for h1-h6.
21 | $h1-font-size: 2 * $base-font-size !default;
22 | $h2-font-size: 1.5 * $base-font-size !default;
23 | $h3-font-size: 1.17 * $base-font-size !default;
24 | $h4-font-size: 1 * $base-font-size !default;
25 | $h5-font-size: 0.83 * $base-font-size !default;
26 | $h6-font-size: 0.67 * $base-font-size !default;
27 |
28 | // The amount lists and blockquotes are indented.
29 | $indent-amount: 40px !default;
30 |
31 | // The following variable controls whether normalize-scss will output
32 | // font-sizes, line-heights and block-level top/bottom margins that form a basic
33 | // vertical rhythm on the page, which differs from the original Normalize.css.
34 | // However, changing any of the variables above will cause
35 | // $normalize-vertical-rhythm to be automatically set to true. To prevent
36 | // outputting any vertical rhythm rules, set this variable to false.
37 | $normalize-vertical-rhythm: null !default;
38 |
--------------------------------------------------------------------------------
/sass/normalize/_vertical-rhythm.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 |
3 | //
4 | // Vertical Rhythm
5 | //
6 | // This is the minimal amount of code needed to create vertical rhythm in our
7 | // CSS. If you are looking for a robust solution, look at the excellent Typey
8 | // library. @see https://github.com/jptaranto/typey
9 |
10 | @function normalize-rhythm($value, $relative-to: $base-font-size, $unit: $base-unit) {
11 | @if unit($value) != px {
12 | @error "The normalize vertical-rhythm module only supports px inputs. The typey library is better.";
13 | }
14 | @if $unit == rem {
15 | @return math.div($value, $base-font-size) * 1rem;
16 | }
17 | @else if $unit == em {
18 | @return math.div($value, $relative-to) * 1em;
19 | }
20 | @else { // $unit == px
21 | @return $value;
22 | }
23 | }
24 |
25 | @mixin normalize-font-size($value, $relative-to: $base-font-size) {
26 | @if unit($value) != 'px' {
27 | @error "normalize-font-size() only supports px inputs. The typey library is better.";
28 | }
29 | font-size: normalize-rhythm($value, $relative-to);
30 | }
31 |
32 | @mixin normalize-rhythm($property, $values, $relative-to: $base-font-size) {
33 | $value-list: $values;
34 | $sep: space;
35 | @if type-of($values) == 'list' {
36 | $sep: list-separator($values);
37 | }
38 | @else {
39 | $value-list: append((), $values);
40 | }
41 |
42 | $normalized-values: ();
43 | @each $value in $value-list {
44 | @if unitless($value) and $value != 0 {
45 | $value: $value * normalize-rhythm($base-line-height, $relative-to);
46 | }
47 | $normalized-values: append($normalized-values, $value, $sep);
48 | }
49 | #{$property}: $normalized-values;
50 | }
51 |
52 | @mixin normalize-margin($values, $relative-to: $base-font-size) {
53 | @include normalize-rhythm(margin, $values, $relative-to);
54 | }
55 |
56 | @mixin normalize-line-height($font-size, $min-line-padding: 2px) {
57 | $lines: ceil(math.div($font-size, $base-line-height));
58 | // If lines are cramped include some extra leading.
59 | @if ($lines * $base-line-height - $font-size) < ($min-line-padding * 2) {
60 | $lines: $lines + 1;
61 | }
62 | @include normalize-rhythm(line-height, $lines, $font-size);
63 | }
64 |
--------------------------------------------------------------------------------
/test/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | // https://eslint.org/docs/latest/use/configure/
3 | "root": true,
4 | "extends": "eslint:recommended",
5 | "env": {
6 | "es2021": true,
7 | "mocha": true,
8 | "node": true
9 | },
10 | "parserOptions": {
11 | "ecmaVersion": "latest",
12 | "sourceType": "module"
13 | },
14 | "rules": {
15 | // Errors.
16 | "array-bracket-spacing": [2, "never"],
17 | "block-scoped-var": 2,
18 | "brace-style": [2, "1tbs", {"allowSingleLine": true}],
19 | "camelcase": 2,
20 | "comma-dangle": [2, "never"],
21 | "comma-spacing": 2,
22 | "comma-style": [2, "last"],
23 | "computed-property-spacing": [2, "never"],
24 | "consistent-this": [2, "self"],
25 | "curly": [2, "all"],
26 | "eol-last": 2,
27 | "eqeqeq": [2, "smart"],
28 | "guard-for-in": 2,
29 | "indent": [2, 2, {"SwitchCase": 1}],
30 | "key-spacing": [2, {"beforeColon": false, "afterColon": true}],
31 | "keyword-spacing": 2,
32 | "linebreak-style": [2, "unix"],
33 | "max-nested-callbacks": [2, 4],
34 | "new-parens": 2,
35 | "no-array-constructor": 2,
36 | "no-caller": 2,
37 | "no-catch-shadow": 2,
38 | "no-eval": 2,
39 | "no-extend-native": 2,
40 | "no-extra-bind": 2,
41 | "no-implied-eval": 2,
42 | "no-iterator": 2,
43 | "no-label-var": 2,
44 | "no-labels": [2, {"allowLoop": true, "allowSwitch": true}],
45 | "no-lone-blocks": 2,
46 | "no-loop-func": 2,
47 | "no-mixed-requires": [2, false],
48 | "no-multi-spaces": 2,
49 | "no-multi-str": 2,
50 | "no-native-reassign": 2,
51 | "no-nested-ternary": 2,
52 | "no-new-func": 2,
53 | "no-new-object": 2,
54 | "no-new-wrappers": 2,
55 | "no-octal-escape": 2,
56 | "no-process-exit": 2,
57 | "no-proto": 2,
58 | "no-return-assign": 2,
59 | "no-script-url": 2,
60 | "no-sequences": 2,
61 | "no-shadow-restricted-names": 2,
62 | "no-spaced-func": 2,
63 | "no-throw-literal": 2,
64 | "no-trailing-spaces": 2,
65 | "no-undef-init": 2,
66 | "no-undefined": 2,
67 | "no-unused-vars": 2,
68 | "no-with": 2,
69 | "quote-props": [2, "consistent-as-needed"],
70 | "quotes": [2, "single", "avoid-escape"],
71 | "semi": [2, "always"],
72 | "semi-spacing": [2, {"before": false, "after": true}],
73 | "space-before-function-paren": [2, "never"],
74 | "space-in-parens": [2, "never"],
75 | "space-infix-ops": 2,
76 | "space-unary-ops": [2, { "words": true, "nonwords": false }],
77 | "spaced-comment": [2, "always"],
78 | "strict": [2, "global"],
79 | "valid-jsdoc": [2, {
80 | "prefer": {
81 | "return": "returns"
82 | },
83 | "requireReturn": false
84 | }],
85 | "wrap-iife": 2,
86 | "yoda": [2, "never"],
87 | // Disabled.
88 | // Chai assertions are "unused" expressions.
89 | "no-unused-expressions": 0
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/test/fixtures/fork-version/input.scss:
--------------------------------------------------------------------------------
1 | @import "normalize";
2 |
--------------------------------------------------------------------------------
/test/fixtures/fork-version/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | line-height: 1.15; /* 1 */
10 | -webkit-text-size-adjust: 100%; /* 2 */
11 | }
12 |
13 | /* Sections
14 | ========================================================================== */
15 | /**
16 | * Remove the margin in all browsers.
17 | */
18 | body {
19 | margin: 0;
20 | }
21 |
22 | /**
23 | * Render the `main` element consistently in IE.
24 | */
25 | main {
26 | display: block;
27 | }
28 |
29 | /**
30 | * Correct the font size and margin on `h1` elements within `section` and
31 | * `article` contexts in Chrome, Firefox, and Safari.
32 | */
33 | h1 {
34 | font-size: 2em;
35 | margin: 0.67em 0;
36 | }
37 |
38 | /* Grouping content
39 | ========================================================================== */
40 | /**
41 | * 1. Add the correct box sizing in Firefox.
42 | * 2. Show the overflow in Edge and IE.
43 | */
44 | hr {
45 | box-sizing: content-box; /* 1 */
46 | height: 0; /* 1 */
47 | overflow: visible; /* 2 */
48 | }
49 |
50 | /**
51 | * Add the correct display in IE.
52 | */
53 | main {
54 | display: block;
55 | }
56 |
57 | /**
58 | * 1. Correct the inheritance and scaling of font size in all browsers.
59 | * 2. Correct the odd `em` font sizing in all browsers.
60 | */
61 | code,
62 | kbd,
63 | samp, pre {
64 | font-family: monospace, monospace; /* 1 */
65 | font-size: 1em; /* 2 */
66 | }
67 |
68 | /* Links
69 | ========================================================================== */
70 | /**
71 | * Remove the gray background on active links in IE 10.
72 | */
73 | a {
74 | background-color: transparent;
75 | }
76 |
77 | /* Text-level semantics
78 | ========================================================================== */
79 | /**
80 | * 1. Remove the bottom border in Chrome 57-
81 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
82 | */
83 | abbr[title] {
84 | border-bottom: none; /* 1 */
85 | text-decoration: underline; /* 2 */
86 | text-decoration: underline dotted; /* 2 */
87 | }
88 |
89 | /**
90 | * Add the correct font weight in Chrome, Edge, and Safari.
91 | */
92 | b,
93 | strong {
94 | font-weight: bolder;
95 | }
96 |
97 | /**
98 | * Add the correct font size in all browsers.
99 | */
100 | small {
101 | font-size: 80%;
102 | }
103 |
104 | /**
105 | * Prevent `sub` and `sup` elements from affecting the line height in
106 | * all browsers.
107 | */
108 | sub,
109 | sup {
110 | font-size: 75%;
111 | line-height: 0;
112 | position: relative;
113 | vertical-align: baseline;
114 | }
115 |
116 | sub {
117 | bottom: -0.25em;
118 | }
119 |
120 | sup {
121 | top: -0.5em;
122 | }
123 |
124 | /* Embedded content
125 | ========================================================================== */
126 | /**
127 | * Remove the border on images inside links in IE 10.
128 | */
129 | img {
130 | border-style: none;
131 | }
132 |
133 | /* Forms
134 | ========================================================================== */
135 | /**
136 | * Known issues:
137 | * - `select`:
138 | * By default, Chrome on OS X and Safari on OS X allow very limited styling of
139 | * select, unless a border property is set. The default font weight on
140 | * optgroup elements cannot safely be changed in Chrome on OSX and Safari on
141 | * OS X.
142 | * - `[type="checkbox"]`:
143 | * It is recommended that you do not style checkbox and radio inputs as
144 | * Firefox's implementation does not respect box-sizing, padding, or width.
145 | * - `[type="number"]`:
146 | * Certain font size values applied to number inputs cause the cursor style of
147 | * the decrement button to change from `default` to `text`.
148 | * - `[type="search"]`:
149 | * The search input is not fully stylable by default. In Chrome and Safari on
150 | * OSX/iOS you can't control `font`, `padding`, `border`, or `background`. In
151 | * Chrome and Safari on Windows you can't control `border` properly. It will
152 | * apply `border-width` but will only show a border color (which cannot be
153 | * controlled) for the outer 1px of that border. Applying
154 | * `-webkit-appearance: textfield` addresses these issues without removing the
155 | * benefits of search inputs (e.g. showing past searches). Safari (but not
156 | * Chrome) will clip the cancel button on when it has padding (and `textfield`
157 | * appearance).
158 | * - `::placeholder`:
159 | * In Edge, placeholders will disappear on `relative` or `absolute` positioned
160 | * `` elements if you use `opacity` less than `1` due to a
161 | * [bug](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/3901363/).
162 | */
163 | /**
164 | * 1. Change the font styles in all browsers.
165 | * 2. Remove the margin in Firefox and Safari.
166 | */
167 | button,
168 | input,
169 | optgroup,
170 | select,
171 | textarea {
172 | line-height: 1.15; /* 1 */
173 | font-family: inherit; /* 1 */
174 | font-size: 100%; /* 1 */
175 | margin: 0; /* 2 */
176 | }
177 |
178 | /**
179 | * Show the overflow in IE.
180 | */
181 | button {
182 | overflow: visible;
183 | }
184 |
185 | /**
186 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
187 | * 1. Remove the inheritance of text transform in Firefox.
188 | */
189 | button,
190 | select { /* 1 */
191 | text-transform: none;
192 | }
193 |
194 | /**
195 | * Correct the inability to style clickable types in iOS and Safari.
196 | */
197 | button,
198 | [type=button],
199 | [type=reset],
200 | [type=submit] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | button,
205 | [type=button],
206 | [type=reset],
207 | [type=submit] {
208 | /**
209 | * Remove the inner border and padding in Firefox.
210 | */
211 | /**
212 | * Restore the focus styles unset by the previous rule.
213 | */
214 | }
215 | button::-moz-focus-inner,
216 | [type=button]::-moz-focus-inner,
217 | [type=reset]::-moz-focus-inner,
218 | [type=submit]::-moz-focus-inner {
219 | border-style: none;
220 | padding: 0;
221 | }
222 | button:-moz-focusring,
223 | [type=button]:-moz-focusring,
224 | [type=reset]:-moz-focusring,
225 | [type=submit]:-moz-focusring {
226 | outline: 1px dotted ButtonText;
227 | }
228 |
229 | /**
230 | * Show the overflow in Edge.
231 | */
232 | input {
233 | overflow: visible;
234 | }
235 |
236 | /**
237 | * 1. Add the correct box sizing in IE 10.
238 | * 2. Remove the padding in IE 10.
239 | */
240 | [type=checkbox],
241 | [type=radio] {
242 | box-sizing: border-box; /* 1 */
243 | padding: 0; /* 2 */
244 | }
245 |
246 | /**
247 | * Correct the cursor style of increment and decrement buttons in Chrome.
248 | */
249 | [type=number]::-webkit-inner-spin-button,
250 | [type=number]::-webkit-outer-spin-button {
251 | height: auto;
252 | }
253 |
254 | /**
255 | * 1. Correct the odd appearance in Chrome and Safari.
256 | * 2. Correct the outline style in Safari.
257 | */
258 | [type=search] {
259 | -webkit-appearance: textfield; /* 1 */
260 | outline-offset: -2px; /* 2 */
261 | /**
262 | * Remove the inner padding in Chrome and Safari on macOS.
263 | */
264 | }
265 | [type=search]::-webkit-search-decoration {
266 | -webkit-appearance: none;
267 | }
268 |
269 | /**
270 | * 1. Correct the inability to style clickable types in iOS and Safari.
271 | * 2. Change font properties to `inherit` in Safari.
272 | */
273 | ::-webkit-file-upload-button {
274 | -webkit-appearance: button; /* 1 */
275 | font: inherit; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the padding in Firefox.
280 | */
281 | fieldset {
282 | padding: 0.35em 0.75em 0.625em;
283 | }
284 |
285 | /**
286 | * 1. Correct the text wrapping in Edge and IE.
287 | * 2. Correct the color inheritance from `fieldset` elements in IE.
288 | * 3. Remove the padding so developers are not caught out when they zero out
289 | * `fieldset` elements in all browsers.
290 | */
291 | legend {
292 | box-sizing: border-box; /* 1 */
293 | display: table; /* 1 */
294 | max-width: 100%; /* 1 */
295 | padding: 0; /* 3 */
296 | color: inherit; /* 2 */
297 | white-space: normal; /* 1 */
298 | }
299 |
300 | /**
301 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
302 | */
303 | progress {
304 | vertical-align: baseline;
305 | }
306 |
307 | /**
308 | * Remove the default vertical scrollbar in IE 10+.
309 | */
310 | textarea {
311 | overflow: auto;
312 | }
313 |
314 | /* Interactive
315 | ========================================================================== */
316 | /*
317 | * Add the correct display in Edge, IE 10+, and Firefox.
318 | */
319 | details {
320 | display: block;
321 | }
322 |
323 | /*
324 | * Add the correct display in all browsers.
325 | */
326 | summary {
327 | display: list-item;
328 | }
329 |
330 | /* Misc
331 | ========================================================================== */
332 | /**
333 | * Add the correct display in IE.
334 | */
335 | template {
336 | display: none;
337 | }
338 |
339 | /**
340 | * Add the correct display in IE 10.
341 | */
342 | [hidden] {
343 | display: none;
344 | }
--------------------------------------------------------------------------------
/test/fixtures/import-now/input.scss:
--------------------------------------------------------------------------------
1 | @import 'normalize/import-now';
2 |
--------------------------------------------------------------------------------
/test/fixtures/import-now/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | line-height: 1.15; /* 1 */
10 | -webkit-text-size-adjust: 100%; /* 2 */
11 | }
12 |
13 | /* Sections
14 | ========================================================================== */
15 | /**
16 | * Remove the margin in all browsers.
17 | */
18 | body {
19 | margin: 0;
20 | }
21 |
22 | /**
23 | * Render the `main` element consistently in IE.
24 | */
25 | main {
26 | display: block;
27 | }
28 |
29 | /**
30 | * Correct the font size and margin on `h1` elements within `section` and
31 | * `article` contexts in Chrome, Firefox, and Safari.
32 | */
33 | h1 {
34 | font-size: 2em;
35 | margin: 0.67em 0;
36 | }
37 |
38 | /* Grouping content
39 | ========================================================================== */
40 | /**
41 | * 1. Add the correct box sizing in Firefox.
42 | * 2. Show the overflow in Edge and IE.
43 | */
44 | hr {
45 | box-sizing: content-box; /* 1 */
46 | height: 0; /* 1 */
47 | overflow: visible; /* 2 */
48 | }
49 |
50 | /**
51 | * Add the correct display in IE.
52 | */
53 | main {
54 | display: block;
55 | }
56 |
57 | /**
58 | * 1. Correct the inheritance and scaling of font size in all browsers.
59 | * 2. Correct the odd `em` font sizing in all browsers.
60 | */
61 | pre {
62 | font-family: monospace, monospace; /* 1 */
63 | font-size: 1em; /* 2 */
64 | }
65 |
66 | /* Links
67 | ========================================================================== */
68 | /**
69 | * Remove the gray background on active links in IE 10.
70 | */
71 | a {
72 | background-color: transparent;
73 | }
74 |
75 | /* Text-level semantics
76 | ========================================================================== */
77 | /**
78 | * 1. Remove the bottom border in Chrome 57-
79 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
80 | */
81 | abbr[title] {
82 | border-bottom: none; /* 1 */
83 | text-decoration: underline; /* 2 */
84 | text-decoration: underline dotted; /* 2 */
85 | }
86 |
87 | /**
88 | * Add the correct font weight in Chrome, Edge, and Safari.
89 | */
90 | b,
91 | strong {
92 | font-weight: bolder;
93 | }
94 |
95 | /**
96 | * 1. Correct the inheritance and scaling of font size in all browsers.
97 | * 2. Correct the odd `em` font sizing in all browsers.
98 | */
99 | code,
100 | kbd,
101 | samp {
102 | font-family: monospace, monospace; /* 1 */
103 | font-size: 1em; /* 2 */
104 | }
105 |
106 | /**
107 | * Add the correct font size in all browsers.
108 | */
109 | small {
110 | font-size: 80%;
111 | }
112 |
113 | /**
114 | * Prevent `sub` and `sup` elements from affecting the line height in
115 | * all browsers.
116 | */
117 | sub,
118 | sup {
119 | font-size: 75%;
120 | line-height: 0;
121 | position: relative;
122 | vertical-align: baseline;
123 | }
124 |
125 | sub {
126 | bottom: -0.25em;
127 | }
128 |
129 | sup {
130 | top: -0.5em;
131 | }
132 |
133 | /* Embedded content
134 | ========================================================================== */
135 | /**
136 | * Remove the border on images inside links in IE 10.
137 | */
138 | img {
139 | border-style: none;
140 | }
141 |
142 | /* Forms
143 | ========================================================================== */
144 | /**
145 | * 1. Change the font styles in all browsers.
146 | * 2. Remove the margin in Firefox and Safari.
147 | */
148 | button,
149 | input,
150 | optgroup,
151 | select,
152 | textarea {
153 | font-family: inherit; /* 1 */
154 | font-size: 100%; /* 1 */
155 | line-height: 1.15; /* 1 */
156 | margin: 0; /* 2 */
157 | }
158 |
159 | /**
160 | * Show the overflow in IE.
161 | */
162 | button {
163 | overflow: visible;
164 | }
165 |
166 | /**
167 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
168 | * 1. Remove the inheritance of text transform in Firefox.
169 | */
170 | button,
171 | select { /* 1 */
172 | text-transform: none;
173 | }
174 |
175 | /**
176 | * Correct the inability to style clickable types in iOS and Safari.
177 | */
178 | button,
179 | [type=button],
180 | [type=reset],
181 | [type=submit] {
182 | -webkit-appearance: button;
183 | }
184 |
185 | button,
186 | [type=button],
187 | [type=reset],
188 | [type=submit] {
189 | /**
190 | * Remove the inner border and padding in Firefox.
191 | */
192 | /**
193 | * Restore the focus styles unset by the previous rule.
194 | */
195 | }
196 | button::-moz-focus-inner,
197 | [type=button]::-moz-focus-inner,
198 | [type=reset]::-moz-focus-inner,
199 | [type=submit]::-moz-focus-inner {
200 | border-style: none;
201 | padding: 0;
202 | }
203 | button:-moz-focusring,
204 | [type=button]:-moz-focusring,
205 | [type=reset]:-moz-focusring,
206 | [type=submit]:-moz-focusring {
207 | outline: 1px dotted ButtonText;
208 | }
209 |
210 | /**
211 | * Show the overflow in Edge.
212 | */
213 | input {
214 | overflow: visible;
215 | }
216 |
217 | /**
218 | * 1. Add the correct box sizing in IE 10.
219 | * 2. Remove the padding in IE 10.
220 | */
221 | [type=checkbox],
222 | [type=radio] {
223 | box-sizing: border-box; /* 1 */
224 | padding: 0; /* 2 */
225 | }
226 |
227 | /**
228 | * Correct the cursor style of increment and decrement buttons in Chrome.
229 | */
230 | [type=number]::-webkit-inner-spin-button,
231 | [type=number]::-webkit-outer-spin-button {
232 | height: auto;
233 | }
234 |
235 | /**
236 | * 1. Correct the odd appearance in Chrome and Safari.
237 | * 2. Correct the outline style in Safari.
238 | */
239 | [type=search] {
240 | -webkit-appearance: textfield; /* 1 */
241 | outline-offset: -2px; /* 2 */
242 | /**
243 | * Remove the inner padding in Chrome and Safari on macOS.
244 | */
245 | }
246 | [type=search]::-webkit-search-decoration {
247 | -webkit-appearance: none;
248 | }
249 |
250 | /**
251 | * 1. Correct the inability to style clickable types in iOS and Safari.
252 | * 2. Change font properties to `inherit` in Safari.
253 | */
254 | ::-webkit-file-upload-button {
255 | -webkit-appearance: button; /* 1 */
256 | font: inherit; /* 2 */
257 | }
258 |
259 | /**
260 | * Correct the padding in Firefox.
261 | */
262 | fieldset {
263 | padding: 0.35em 0.75em 0.625em;
264 | }
265 |
266 | /**
267 | * 1. Correct the text wrapping in Edge and IE.
268 | * 2. Correct the color inheritance from `fieldset` elements in IE.
269 | * 3. Remove the padding so developers are not caught out when they zero out
270 | * `fieldset` elements in all browsers.
271 | */
272 | legend {
273 | box-sizing: border-box; /* 1 */
274 | display: table; /* 1 */
275 | max-width: 100%; /* 1 */
276 | padding: 0; /* 3 */
277 | color: inherit; /* 2 */
278 | white-space: normal; /* 1 */
279 | }
280 |
281 | /**
282 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
283 | */
284 | progress {
285 | vertical-align: baseline;
286 | }
287 |
288 | /**
289 | * Remove the default vertical scrollbar in IE 10+.
290 | */
291 | textarea {
292 | overflow: auto;
293 | }
294 |
295 | /* Interactive
296 | ========================================================================== */
297 | /*
298 | * Add the correct display in Edge, IE 10+, and Firefox.
299 | */
300 | details {
301 | display: block;
302 | }
303 |
304 | /*
305 | * Add the correct display in all browsers.
306 | */
307 | summary {
308 | display: list-item;
309 | }
310 |
311 | /* Misc
312 | ========================================================================== */
313 | /**
314 | * Add the correct display in IE.
315 | */
316 | template {
317 | display: none;
318 | }
319 |
320 | /**
321 | * Add the correct display in IE 10.
322 | */
323 | [hidden] {
324 | display: none;
325 | }
--------------------------------------------------------------------------------
/test/fixtures/normalize/exclude-multiple/input.scss:
--------------------------------------------------------------------------------
1 | @import 'normalize';
2 | @include normalize($exclude: (embedded grouping));
3 |
--------------------------------------------------------------------------------
/test/fixtures/normalize/exclude-multiple/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | line-height: 1.15; /* 1 */
10 | -webkit-text-size-adjust: 100%; /* 2 */
11 | }
12 |
13 | /* Sections
14 | ========================================================================== */
15 | /**
16 | * Remove the margin in all browsers.
17 | */
18 | body {
19 | margin: 0;
20 | }
21 |
22 | /**
23 | * Render the `main` element consistently in IE.
24 | */
25 | main {
26 | display: block;
27 | }
28 |
29 | /**
30 | * Correct the font size and margin on `h1` elements within `section` and
31 | * `article` contexts in Chrome, Firefox, and Safari.
32 | */
33 | h1 {
34 | font-size: 2em;
35 | margin: 0.67em 0;
36 | }
37 |
38 | /* Links
39 | ========================================================================== */
40 | /**
41 | * Remove the gray background on active links in IE 10.
42 | */
43 | a {
44 | background-color: transparent;
45 | }
46 |
47 | /* Text-level semantics
48 | ========================================================================== */
49 | /**
50 | * 1. Remove the bottom border in Chrome 57-
51 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
52 | */
53 | abbr[title] {
54 | border-bottom: none; /* 1 */
55 | text-decoration: underline; /* 2 */
56 | text-decoration: underline dotted; /* 2 */
57 | }
58 |
59 | /**
60 | * Add the correct font weight in Chrome, Edge, and Safari.
61 | */
62 | b,
63 | strong {
64 | font-weight: bolder;
65 | }
66 |
67 | /**
68 | * 1. Correct the inheritance and scaling of font size in all browsers.
69 | * 2. Correct the odd `em` font sizing in all browsers.
70 | */
71 | code,
72 | kbd,
73 | samp {
74 | font-family: monospace, monospace; /* 1 */
75 | font-size: 1em; /* 2 */
76 | }
77 |
78 | /**
79 | * Add the correct font size in all browsers.
80 | */
81 | small {
82 | font-size: 80%;
83 | }
84 |
85 | /**
86 | * Prevent `sub` and `sup` elements from affecting the line height in
87 | * all browsers.
88 | */
89 | sub,
90 | sup {
91 | font-size: 75%;
92 | line-height: 0;
93 | position: relative;
94 | vertical-align: baseline;
95 | }
96 |
97 | sub {
98 | bottom: -0.25em;
99 | }
100 |
101 | sup {
102 | top: -0.5em;
103 | }
104 |
105 | /* Forms
106 | ========================================================================== */
107 | /**
108 | * 1. Change the font styles in all browsers.
109 | * 2. Remove the margin in Firefox and Safari.
110 | */
111 | button,
112 | input,
113 | optgroup,
114 | select,
115 | textarea {
116 | font-family: inherit; /* 1 */
117 | font-size: 100%; /* 1 */
118 | line-height: 1.15; /* 1 */
119 | margin: 0; /* 2 */
120 | }
121 |
122 | /**
123 | * Show the overflow in IE.
124 | */
125 | button {
126 | overflow: visible;
127 | }
128 |
129 | /**
130 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
131 | * 1. Remove the inheritance of text transform in Firefox.
132 | */
133 | button,
134 | select { /* 1 */
135 | text-transform: none;
136 | }
137 |
138 | /**
139 | * Correct the inability to style clickable types in iOS and Safari.
140 | */
141 | button,
142 | [type=button],
143 | [type=reset],
144 | [type=submit] {
145 | -webkit-appearance: button;
146 | }
147 |
148 | button,
149 | [type=button],
150 | [type=reset],
151 | [type=submit] {
152 | /**
153 | * Remove the inner border and padding in Firefox.
154 | */
155 | /**
156 | * Restore the focus styles unset by the previous rule.
157 | */
158 | }
159 | button::-moz-focus-inner,
160 | [type=button]::-moz-focus-inner,
161 | [type=reset]::-moz-focus-inner,
162 | [type=submit]::-moz-focus-inner {
163 | border-style: none;
164 | padding: 0;
165 | }
166 | button:-moz-focusring,
167 | [type=button]:-moz-focusring,
168 | [type=reset]:-moz-focusring,
169 | [type=submit]:-moz-focusring {
170 | outline: 1px dotted ButtonText;
171 | }
172 |
173 | /**
174 | * Show the overflow in Edge.
175 | */
176 | input {
177 | overflow: visible;
178 | }
179 |
180 | /**
181 | * 1. Add the correct box sizing in IE 10.
182 | * 2. Remove the padding in IE 10.
183 | */
184 | [type=checkbox],
185 | [type=radio] {
186 | box-sizing: border-box; /* 1 */
187 | padding: 0; /* 2 */
188 | }
189 |
190 | /**
191 | * Correct the cursor style of increment and decrement buttons in Chrome.
192 | */
193 | [type=number]::-webkit-inner-spin-button,
194 | [type=number]::-webkit-outer-spin-button {
195 | height: auto;
196 | }
197 |
198 | /**
199 | * 1. Correct the odd appearance in Chrome and Safari.
200 | * 2. Correct the outline style in Safari.
201 | */
202 | [type=search] {
203 | -webkit-appearance: textfield; /* 1 */
204 | outline-offset: -2px; /* 2 */
205 | /**
206 | * Remove the inner padding in Chrome and Safari on macOS.
207 | */
208 | }
209 | [type=search]::-webkit-search-decoration {
210 | -webkit-appearance: none;
211 | }
212 |
213 | /**
214 | * 1. Correct the inability to style clickable types in iOS and Safari.
215 | * 2. Change font properties to `inherit` in Safari.
216 | */
217 | ::-webkit-file-upload-button {
218 | -webkit-appearance: button; /* 1 */
219 | font: inherit; /* 2 */
220 | }
221 |
222 | /**
223 | * Correct the padding in Firefox.
224 | */
225 | fieldset {
226 | padding: 0.35em 0.75em 0.625em;
227 | }
228 |
229 | /**
230 | * 1. Correct the text wrapping in Edge and IE.
231 | * 2. Correct the color inheritance from `fieldset` elements in IE.
232 | * 3. Remove the padding so developers are not caught out when they zero out
233 | * `fieldset` elements in all browsers.
234 | */
235 | legend {
236 | box-sizing: border-box; /* 1 */
237 | display: table; /* 1 */
238 | max-width: 100%; /* 1 */
239 | padding: 0; /* 3 */
240 | color: inherit; /* 2 */
241 | white-space: normal; /* 1 */
242 | }
243 |
244 | /**
245 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
246 | */
247 | progress {
248 | vertical-align: baseline;
249 | }
250 |
251 | /**
252 | * Remove the default vertical scrollbar in IE 10+.
253 | */
254 | textarea {
255 | overflow: auto;
256 | }
257 |
258 | /* Interactive
259 | ========================================================================== */
260 | /*
261 | * Add the correct display in Edge, IE 10+, and Firefox.
262 | */
263 | details {
264 | display: block;
265 | }
266 |
267 | /*
268 | * Add the correct display in all browsers.
269 | */
270 | summary {
271 | display: list-item;
272 | }
273 |
274 | /* Misc
275 | ========================================================================== */
276 | /**
277 | * Add the correct display in IE.
278 | */
279 | template {
280 | display: none;
281 | }
282 |
283 | /**
284 | * Add the correct display in IE 10.
285 | */
286 | [hidden] {
287 | display: none;
288 | }
--------------------------------------------------------------------------------
/test/fixtures/normalize/exclude-single/input.scss:
--------------------------------------------------------------------------------
1 | @import 'normalize';
2 | @include normalize($exclude: (forms));
3 |
--------------------------------------------------------------------------------
/test/fixtures/normalize/exclude-single/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | line-height: 1.15; /* 1 */
10 | -webkit-text-size-adjust: 100%; /* 2 */
11 | }
12 |
13 | /* Sections
14 | ========================================================================== */
15 | /**
16 | * Remove the margin in all browsers.
17 | */
18 | body {
19 | margin: 0;
20 | }
21 |
22 | /**
23 | * Render the `main` element consistently in IE.
24 | */
25 | main {
26 | display: block;
27 | }
28 |
29 | /**
30 | * Correct the font size and margin on `h1` elements within `section` and
31 | * `article` contexts in Chrome, Firefox, and Safari.
32 | */
33 | h1 {
34 | font-size: 2em;
35 | margin: 0.67em 0;
36 | }
37 |
38 | /* Grouping content
39 | ========================================================================== */
40 | /**
41 | * 1. Add the correct box sizing in Firefox.
42 | * 2. Show the overflow in Edge and IE.
43 | */
44 | hr {
45 | box-sizing: content-box; /* 1 */
46 | height: 0; /* 1 */
47 | overflow: visible; /* 2 */
48 | }
49 |
50 | /**
51 | * Add the correct display in IE.
52 | */
53 | main {
54 | display: block;
55 | }
56 |
57 | /**
58 | * 1. Correct the inheritance and scaling of font size in all browsers.
59 | * 2. Correct the odd `em` font sizing in all browsers.
60 | */
61 | pre {
62 | font-family: monospace, monospace; /* 1 */
63 | font-size: 1em; /* 2 */
64 | }
65 |
66 | /* Links
67 | ========================================================================== */
68 | /**
69 | * Remove the gray background on active links in IE 10.
70 | */
71 | a {
72 | background-color: transparent;
73 | }
74 |
75 | /* Text-level semantics
76 | ========================================================================== */
77 | /**
78 | * 1. Remove the bottom border in Chrome 57-
79 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
80 | */
81 | abbr[title] {
82 | border-bottom: none; /* 1 */
83 | text-decoration: underline; /* 2 */
84 | text-decoration: underline dotted; /* 2 */
85 | }
86 |
87 | /**
88 | * Add the correct font weight in Chrome, Edge, and Safari.
89 | */
90 | b,
91 | strong {
92 | font-weight: bolder;
93 | }
94 |
95 | /**
96 | * 1. Correct the inheritance and scaling of font size in all browsers.
97 | * 2. Correct the odd `em` font sizing in all browsers.
98 | */
99 | code,
100 | kbd,
101 | samp {
102 | font-family: monospace, monospace; /* 1 */
103 | font-size: 1em; /* 2 */
104 | }
105 |
106 | /**
107 | * Add the correct font size in all browsers.
108 | */
109 | small {
110 | font-size: 80%;
111 | }
112 |
113 | /**
114 | * Prevent `sub` and `sup` elements from affecting the line height in
115 | * all browsers.
116 | */
117 | sub,
118 | sup {
119 | font-size: 75%;
120 | line-height: 0;
121 | position: relative;
122 | vertical-align: baseline;
123 | }
124 |
125 | sub {
126 | bottom: -0.25em;
127 | }
128 |
129 | sup {
130 | top: -0.5em;
131 | }
132 |
133 | /* Embedded content
134 | ========================================================================== */
135 | /**
136 | * Remove the border on images inside links in IE 10.
137 | */
138 | img {
139 | border-style: none;
140 | }
141 |
142 | /* Interactive
143 | ========================================================================== */
144 | /*
145 | * Add the correct display in Edge, IE 10+, and Firefox.
146 | */
147 | details {
148 | display: block;
149 | }
150 |
151 | /*
152 | * Add the correct display in all browsers.
153 | */
154 | summary {
155 | display: list-item;
156 | }
157 |
158 | /* Misc
159 | ========================================================================== */
160 | /**
161 | * Add the correct display in IE.
162 | */
163 | template {
164 | display: none;
165 | }
166 |
167 | /**
168 | * Add the correct display in IE 10.
169 | */
170 | [hidden] {
171 | display: none;
172 | }
--------------------------------------------------------------------------------
/test/fixtures/normalize/exclude-string/input.scss:
--------------------------------------------------------------------------------
1 | @import 'normalize';
2 | @include normalize($exclude: misc);
3 |
--------------------------------------------------------------------------------
/test/fixtures/normalize/exclude-string/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | line-height: 1.15; /* 1 */
10 | -webkit-text-size-adjust: 100%; /* 2 */
11 | }
12 |
13 | /* Sections
14 | ========================================================================== */
15 | /**
16 | * Remove the margin in all browsers.
17 | */
18 | body {
19 | margin: 0;
20 | }
21 |
22 | /**
23 | * Render the `main` element consistently in IE.
24 | */
25 | main {
26 | display: block;
27 | }
28 |
29 | /**
30 | * Correct the font size and margin on `h1` elements within `section` and
31 | * `article` contexts in Chrome, Firefox, and Safari.
32 | */
33 | h1 {
34 | font-size: 2em;
35 | margin: 0.67em 0;
36 | }
37 |
38 | /* Grouping content
39 | ========================================================================== */
40 | /**
41 | * 1. Add the correct box sizing in Firefox.
42 | * 2. Show the overflow in Edge and IE.
43 | */
44 | hr {
45 | box-sizing: content-box; /* 1 */
46 | height: 0; /* 1 */
47 | overflow: visible; /* 2 */
48 | }
49 |
50 | /**
51 | * Add the correct display in IE.
52 | */
53 | main {
54 | display: block;
55 | }
56 |
57 | /**
58 | * 1. Correct the inheritance and scaling of font size in all browsers.
59 | * 2. Correct the odd `em` font sizing in all browsers.
60 | */
61 | pre {
62 | font-family: monospace, monospace; /* 1 */
63 | font-size: 1em; /* 2 */
64 | }
65 |
66 | /* Links
67 | ========================================================================== */
68 | /**
69 | * Remove the gray background on active links in IE 10.
70 | */
71 | a {
72 | background-color: transparent;
73 | }
74 |
75 | /* Text-level semantics
76 | ========================================================================== */
77 | /**
78 | * 1. Remove the bottom border in Chrome 57-
79 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
80 | */
81 | abbr[title] {
82 | border-bottom: none; /* 1 */
83 | text-decoration: underline; /* 2 */
84 | text-decoration: underline dotted; /* 2 */
85 | }
86 |
87 | /**
88 | * Add the correct font weight in Chrome, Edge, and Safari.
89 | */
90 | b,
91 | strong {
92 | font-weight: bolder;
93 | }
94 |
95 | /**
96 | * 1. Correct the inheritance and scaling of font size in all browsers.
97 | * 2. Correct the odd `em` font sizing in all browsers.
98 | */
99 | code,
100 | kbd,
101 | samp {
102 | font-family: monospace, monospace; /* 1 */
103 | font-size: 1em; /* 2 */
104 | }
105 |
106 | /**
107 | * Add the correct font size in all browsers.
108 | */
109 | small {
110 | font-size: 80%;
111 | }
112 |
113 | /**
114 | * Prevent `sub` and `sup` elements from affecting the line height in
115 | * all browsers.
116 | */
117 | sub,
118 | sup {
119 | font-size: 75%;
120 | line-height: 0;
121 | position: relative;
122 | vertical-align: baseline;
123 | }
124 |
125 | sub {
126 | bottom: -0.25em;
127 | }
128 |
129 | sup {
130 | top: -0.5em;
131 | }
132 |
133 | /* Embedded content
134 | ========================================================================== */
135 | /**
136 | * Remove the border on images inside links in IE 10.
137 | */
138 | img {
139 | border-style: none;
140 | }
141 |
142 | /* Forms
143 | ========================================================================== */
144 | /**
145 | * 1. Change the font styles in all browsers.
146 | * 2. Remove the margin in Firefox and Safari.
147 | */
148 | button,
149 | input,
150 | optgroup,
151 | select,
152 | textarea {
153 | font-family: inherit; /* 1 */
154 | font-size: 100%; /* 1 */
155 | line-height: 1.15; /* 1 */
156 | margin: 0; /* 2 */
157 | }
158 |
159 | /**
160 | * Show the overflow in IE.
161 | */
162 | button {
163 | overflow: visible;
164 | }
165 |
166 | /**
167 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
168 | * 1. Remove the inheritance of text transform in Firefox.
169 | */
170 | button,
171 | select { /* 1 */
172 | text-transform: none;
173 | }
174 |
175 | /**
176 | * Correct the inability to style clickable types in iOS and Safari.
177 | */
178 | button,
179 | [type=button],
180 | [type=reset],
181 | [type=submit] {
182 | -webkit-appearance: button;
183 | }
184 |
185 | button,
186 | [type=button],
187 | [type=reset],
188 | [type=submit] {
189 | /**
190 | * Remove the inner border and padding in Firefox.
191 | */
192 | /**
193 | * Restore the focus styles unset by the previous rule.
194 | */
195 | }
196 | button::-moz-focus-inner,
197 | [type=button]::-moz-focus-inner,
198 | [type=reset]::-moz-focus-inner,
199 | [type=submit]::-moz-focus-inner {
200 | border-style: none;
201 | padding: 0;
202 | }
203 | button:-moz-focusring,
204 | [type=button]:-moz-focusring,
205 | [type=reset]:-moz-focusring,
206 | [type=submit]:-moz-focusring {
207 | outline: 1px dotted ButtonText;
208 | }
209 |
210 | /**
211 | * Show the overflow in Edge.
212 | */
213 | input {
214 | overflow: visible;
215 | }
216 |
217 | /**
218 | * 1. Add the correct box sizing in IE 10.
219 | * 2. Remove the padding in IE 10.
220 | */
221 | [type=checkbox],
222 | [type=radio] {
223 | box-sizing: border-box; /* 1 */
224 | padding: 0; /* 2 */
225 | }
226 |
227 | /**
228 | * Correct the cursor style of increment and decrement buttons in Chrome.
229 | */
230 | [type=number]::-webkit-inner-spin-button,
231 | [type=number]::-webkit-outer-spin-button {
232 | height: auto;
233 | }
234 |
235 | /**
236 | * 1. Correct the odd appearance in Chrome and Safari.
237 | * 2. Correct the outline style in Safari.
238 | */
239 | [type=search] {
240 | -webkit-appearance: textfield; /* 1 */
241 | outline-offset: -2px; /* 2 */
242 | /**
243 | * Remove the inner padding in Chrome and Safari on macOS.
244 | */
245 | }
246 | [type=search]::-webkit-search-decoration {
247 | -webkit-appearance: none;
248 | }
249 |
250 | /**
251 | * 1. Correct the inability to style clickable types in iOS and Safari.
252 | * 2. Change font properties to `inherit` in Safari.
253 | */
254 | ::-webkit-file-upload-button {
255 | -webkit-appearance: button; /* 1 */
256 | font: inherit; /* 2 */
257 | }
258 |
259 | /**
260 | * Correct the padding in Firefox.
261 | */
262 | fieldset {
263 | padding: 0.35em 0.75em 0.625em;
264 | }
265 |
266 | /**
267 | * 1. Correct the text wrapping in Edge and IE.
268 | * 2. Correct the color inheritance from `fieldset` elements in IE.
269 | * 3. Remove the padding so developers are not caught out when they zero out
270 | * `fieldset` elements in all browsers.
271 | */
272 | legend {
273 | box-sizing: border-box; /* 1 */
274 | display: table; /* 1 */
275 | max-width: 100%; /* 1 */
276 | padding: 0; /* 3 */
277 | color: inherit; /* 2 */
278 | white-space: normal; /* 1 */
279 | }
280 |
281 | /**
282 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
283 | */
284 | progress {
285 | vertical-align: baseline;
286 | }
287 |
288 | /**
289 | * Remove the default vertical scrollbar in IE 10+.
290 | */
291 | textarea {
292 | overflow: auto;
293 | }
294 |
295 | /* Interactive
296 | ========================================================================== */
297 | /*
298 | * Add the correct display in Edge, IE 10+, and Firefox.
299 | */
300 | details {
301 | display: block;
302 | }
303 |
304 | /*
305 | * Add the correct display in all browsers.
306 | */
307 | summary {
308 | display: list-item;
309 | }
--------------------------------------------------------------------------------
/test/fixtures/normalize/include-multiple/input.scss:
--------------------------------------------------------------------------------
1 | @import 'normalize';
2 | @include normalize((document sections));
3 |
--------------------------------------------------------------------------------
/test/fixtures/normalize/include-multiple/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | line-height: 1.15; /* 1 */
10 | -webkit-text-size-adjust: 100%; /* 2 */
11 | }
12 |
13 | /* Sections
14 | ========================================================================== */
15 | /**
16 | * Remove the margin in all browsers.
17 | */
18 | body {
19 | margin: 0;
20 | }
21 |
22 | /**
23 | * Render the `main` element consistently in IE.
24 | */
25 | main {
26 | display: block;
27 | }
28 |
29 | /**
30 | * Correct the font size and margin on `h1` elements within `section` and
31 | * `article` contexts in Chrome, Firefox, and Safari.
32 | */
33 | h1 {
34 | font-size: 2em;
35 | margin: 0.67em 0;
36 | }
--------------------------------------------------------------------------------
/test/fixtures/normalize/include-single/input.scss:
--------------------------------------------------------------------------------
1 | @import 'normalize';
2 | @include normalize((links));
3 |
--------------------------------------------------------------------------------
/test/fixtures/normalize/include-single/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Links
3 | ========================================================================== */
4 | /**
5 | * Remove the gray background on active links in IE 10.
6 | */
7 | a {
8 | background-color: transparent;
9 | }
--------------------------------------------------------------------------------
/test/fixtures/normalize/include-string/input.scss:
--------------------------------------------------------------------------------
1 | @import 'normalize';
2 | @include normalize(text);
3 |
--------------------------------------------------------------------------------
/test/fixtures/normalize/include-string/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Text-level semantics
3 | ========================================================================== */
4 | /**
5 | * 1. Remove the bottom border in Chrome 57-
6 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
7 | */
8 | abbr[title] {
9 | border-bottom: none; /* 1 */
10 | text-decoration: underline; /* 2 */
11 | text-decoration: underline dotted; /* 2 */
12 | }
13 |
14 | /**
15 | * Add the correct font weight in Chrome, Edge, and Safari.
16 | */
17 | b,
18 | strong {
19 | font-weight: bolder;
20 | }
21 |
22 | /**
23 | * 1. Correct the inheritance and scaling of font size in all browsers.
24 | * 2. Correct the odd `em` font sizing in all browsers.
25 | */
26 | code,
27 | kbd,
28 | samp {
29 | font-family: monospace, monospace; /* 1 */
30 | font-size: 1em; /* 2 */
31 | }
32 |
33 | /**
34 | * Add the correct font size in all browsers.
35 | */
36 | small {
37 | font-size: 80%;
38 | }
39 |
40 | /**
41 | * Prevent `sub` and `sup` elements from affecting the line height in
42 | * all browsers.
43 | */
44 | sub,
45 | sup {
46 | font-size: 75%;
47 | line-height: 0;
48 | position: relative;
49 | vertical-align: baseline;
50 | }
51 |
52 | sub {
53 | bottom: -0.25em;
54 | }
55 |
56 | sup {
57 | top: -0.5em;
58 | }
--------------------------------------------------------------------------------
/test/fixtures/variables/default/input.scss:
--------------------------------------------------------------------------------
1 | @import 'normalize';
2 | @include normalize();
3 |
--------------------------------------------------------------------------------
/test/fixtures/variables/default/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | line-height: 1.15; /* 1 */
10 | -webkit-text-size-adjust: 100%; /* 2 */
11 | }
12 |
13 | /* Sections
14 | ========================================================================== */
15 | /**
16 | * Remove the margin in all browsers.
17 | */
18 | body {
19 | margin: 0;
20 | }
21 |
22 | /**
23 | * Render the `main` element consistently in IE.
24 | */
25 | main {
26 | display: block;
27 | }
28 |
29 | /**
30 | * Correct the font size and margin on `h1` elements within `section` and
31 | * `article` contexts in Chrome, Firefox, and Safari.
32 | */
33 | h1 {
34 | font-size: 2em;
35 | margin: 0.67em 0;
36 | }
37 |
38 | /* Grouping content
39 | ========================================================================== */
40 | /**
41 | * 1. Add the correct box sizing in Firefox.
42 | * 2. Show the overflow in Edge and IE.
43 | */
44 | hr {
45 | box-sizing: content-box; /* 1 */
46 | height: 0; /* 1 */
47 | overflow: visible; /* 2 */
48 | }
49 |
50 | /**
51 | * Add the correct display in IE.
52 | */
53 | main {
54 | display: block;
55 | }
56 |
57 | /**
58 | * 1. Correct the inheritance and scaling of font size in all browsers.
59 | * 2. Correct the odd `em` font sizing in all browsers.
60 | */
61 | pre {
62 | font-family: monospace, monospace; /* 1 */
63 | font-size: 1em; /* 2 */
64 | }
65 |
66 | /* Links
67 | ========================================================================== */
68 | /**
69 | * Remove the gray background on active links in IE 10.
70 | */
71 | a {
72 | background-color: transparent;
73 | }
74 |
75 | /* Text-level semantics
76 | ========================================================================== */
77 | /**
78 | * 1. Remove the bottom border in Chrome 57-
79 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
80 | */
81 | abbr[title] {
82 | border-bottom: none; /* 1 */
83 | text-decoration: underline; /* 2 */
84 | text-decoration: underline dotted; /* 2 */
85 | }
86 |
87 | /**
88 | * Add the correct font weight in Chrome, Edge, and Safari.
89 | */
90 | b,
91 | strong {
92 | font-weight: bolder;
93 | }
94 |
95 | /**
96 | * 1. Correct the inheritance and scaling of font size in all browsers.
97 | * 2. Correct the odd `em` font sizing in all browsers.
98 | */
99 | code,
100 | kbd,
101 | samp {
102 | font-family: monospace, monospace; /* 1 */
103 | font-size: 1em; /* 2 */
104 | }
105 |
106 | /**
107 | * Add the correct font size in all browsers.
108 | */
109 | small {
110 | font-size: 80%;
111 | }
112 |
113 | /**
114 | * Prevent `sub` and `sup` elements from affecting the line height in
115 | * all browsers.
116 | */
117 | sub,
118 | sup {
119 | font-size: 75%;
120 | line-height: 0;
121 | position: relative;
122 | vertical-align: baseline;
123 | }
124 |
125 | sub {
126 | bottom: -0.25em;
127 | }
128 |
129 | sup {
130 | top: -0.5em;
131 | }
132 |
133 | /* Embedded content
134 | ========================================================================== */
135 | /**
136 | * Remove the border on images inside links in IE 10.
137 | */
138 | img {
139 | border-style: none;
140 | }
141 |
142 | /* Forms
143 | ========================================================================== */
144 | /**
145 | * 1. Change the font styles in all browsers.
146 | * 2. Remove the margin in Firefox and Safari.
147 | */
148 | button,
149 | input,
150 | optgroup,
151 | select,
152 | textarea {
153 | font-family: inherit; /* 1 */
154 | font-size: 100%; /* 1 */
155 | line-height: 1.15; /* 1 */
156 | margin: 0; /* 2 */
157 | }
158 |
159 | /**
160 | * Show the overflow in IE.
161 | */
162 | button {
163 | overflow: visible;
164 | }
165 |
166 | /**
167 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
168 | * 1. Remove the inheritance of text transform in Firefox.
169 | */
170 | button,
171 | select { /* 1 */
172 | text-transform: none;
173 | }
174 |
175 | /**
176 | * Correct the inability to style clickable types in iOS and Safari.
177 | */
178 | button,
179 | [type=button],
180 | [type=reset],
181 | [type=submit] {
182 | -webkit-appearance: button;
183 | }
184 |
185 | button,
186 | [type=button],
187 | [type=reset],
188 | [type=submit] {
189 | /**
190 | * Remove the inner border and padding in Firefox.
191 | */
192 | /**
193 | * Restore the focus styles unset by the previous rule.
194 | */
195 | }
196 | button::-moz-focus-inner,
197 | [type=button]::-moz-focus-inner,
198 | [type=reset]::-moz-focus-inner,
199 | [type=submit]::-moz-focus-inner {
200 | border-style: none;
201 | padding: 0;
202 | }
203 | button:-moz-focusring,
204 | [type=button]:-moz-focusring,
205 | [type=reset]:-moz-focusring,
206 | [type=submit]:-moz-focusring {
207 | outline: 1px dotted ButtonText;
208 | }
209 |
210 | /**
211 | * Show the overflow in Edge.
212 | */
213 | input {
214 | overflow: visible;
215 | }
216 |
217 | /**
218 | * 1. Add the correct box sizing in IE 10.
219 | * 2. Remove the padding in IE 10.
220 | */
221 | [type=checkbox],
222 | [type=radio] {
223 | box-sizing: border-box; /* 1 */
224 | padding: 0; /* 2 */
225 | }
226 |
227 | /**
228 | * Correct the cursor style of increment and decrement buttons in Chrome.
229 | */
230 | [type=number]::-webkit-inner-spin-button,
231 | [type=number]::-webkit-outer-spin-button {
232 | height: auto;
233 | }
234 |
235 | /**
236 | * 1. Correct the odd appearance in Chrome and Safari.
237 | * 2. Correct the outline style in Safari.
238 | */
239 | [type=search] {
240 | -webkit-appearance: textfield; /* 1 */
241 | outline-offset: -2px; /* 2 */
242 | /**
243 | * Remove the inner padding in Chrome and Safari on macOS.
244 | */
245 | }
246 | [type=search]::-webkit-search-decoration {
247 | -webkit-appearance: none;
248 | }
249 |
250 | /**
251 | * 1. Correct the inability to style clickable types in iOS and Safari.
252 | * 2. Change font properties to `inherit` in Safari.
253 | */
254 | ::-webkit-file-upload-button {
255 | -webkit-appearance: button; /* 1 */
256 | font: inherit; /* 2 */
257 | }
258 |
259 | /**
260 | * Correct the padding in Firefox.
261 | */
262 | fieldset {
263 | padding: 0.35em 0.75em 0.625em;
264 | }
265 |
266 | /**
267 | * 1. Correct the text wrapping in Edge and IE.
268 | * 2. Correct the color inheritance from `fieldset` elements in IE.
269 | * 3. Remove the padding so developers are not caught out when they zero out
270 | * `fieldset` elements in all browsers.
271 | */
272 | legend {
273 | box-sizing: border-box; /* 1 */
274 | display: table; /* 1 */
275 | max-width: 100%; /* 1 */
276 | padding: 0; /* 3 */
277 | color: inherit; /* 2 */
278 | white-space: normal; /* 1 */
279 | }
280 |
281 | /**
282 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
283 | */
284 | progress {
285 | vertical-align: baseline;
286 | }
287 |
288 | /**
289 | * Remove the default vertical scrollbar in IE 10+.
290 | */
291 | textarea {
292 | overflow: auto;
293 | }
294 |
295 | /* Interactive
296 | ========================================================================== */
297 | /*
298 | * Add the correct display in Edge, IE 10+, and Firefox.
299 | */
300 | details {
301 | display: block;
302 | }
303 |
304 | /*
305 | * Add the correct display in all browsers.
306 | */
307 | summary {
308 | display: list-item;
309 | }
310 |
311 | /* Misc
312 | ========================================================================== */
313 | /**
314 | * Add the correct display in IE.
315 | */
316 | template {
317 | display: none;
318 | }
319 |
320 | /**
321 | * Add the correct display in IE 10.
322 | */
323 | [hidden] {
324 | display: none;
325 | }
--------------------------------------------------------------------------------
/test/fixtures/variables/font/input.scss:
--------------------------------------------------------------------------------
1 | $base-font-family: Arial, sans-serif;
2 |
3 | $base-font-size: 24px;
4 |
5 | $base-line-height: 36px;
6 |
7 | $base-unit: rem;
8 |
9 | $h1-font-size: 3 * $base-font-size;
10 | $h2-font-size: 2 * $base-font-size;
11 | $h3-font-size: 1.5 * $base-font-size;
12 | $h4-font-size: 0.9 * $base-font-size;
13 | $h5-font-size: 0.75 * $base-font-size;
14 | $h6-font-size: 0.5 * $base-font-size;
15 |
16 | @import 'normalize';
17 | @include normalize();
18 |
--------------------------------------------------------------------------------
/test/fixtures/variables/font/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | /* Change the default font family in all browsers (opinionated). */
10 | font-family: Arial, sans-serif;
11 | font-size: 150%;
12 | line-height: 1.5em; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 | /**
19 | * Remove the margin in all browsers.
20 | */
21 | body {
22 | margin: 0;
23 | }
24 |
25 | /**
26 | * Render the `main` element consistently in IE.
27 | */
28 | main {
29 | display: block;
30 | }
31 |
32 | /**
33 | * Correct the font size and margin on `h1` elements within `section` and
34 | * `article` contexts in Chrome, Firefox, and Safari.
35 | */
36 | h1 {
37 | font-size: 3rem;
38 | line-height: 4.5rem;
39 | /* Set 1 unit of vertical rhythm on the top and bottom margins. */
40 | margin: 1.5rem 0;
41 | }
42 |
43 | h2 {
44 | font-size: 2rem;
45 | line-height: 3rem;
46 | margin: 1.5rem 0;
47 | }
48 |
49 | h3 {
50 | font-size: 1.5rem;
51 | line-height: 3rem;
52 | margin: 1.5rem 0;
53 | }
54 |
55 | h4 {
56 | font-size: 0.9rem;
57 | line-height: 1.5rem;
58 | margin: 1.5rem 0;
59 | }
60 |
61 | h5 {
62 | font-size: 0.75rem;
63 | line-height: 1.5rem;
64 | margin: 1.5rem 0;
65 | }
66 |
67 | h6 {
68 | font-size: 0.5rem;
69 | line-height: 1.5rem;
70 | margin: 1.5rem 0;
71 | }
72 |
73 | /* Grouping content
74 | ========================================================================== */
75 | /**
76 | * Set 1 unit of vertical rhythm on the top and bottom margin.
77 | */
78 | blockquote {
79 | margin: 1.5rem 40px;
80 | }
81 |
82 | dl,
83 | ol,
84 | ul {
85 | margin: 1.5rem 0;
86 | }
87 |
88 | /**
89 | * Turn off margins on nested lists.
90 | */
91 | ol ol,
92 | ol ul,
93 | ul ol,
94 | ul ul {
95 | margin: 0;
96 | }
97 |
98 | dd {
99 | margin: 0 0 0 40px;
100 | }
101 |
102 | ol,
103 | ul {
104 | padding: 0 0 0 40px;
105 | }
106 |
107 | figure {
108 | margin: 1.5rem 40px;
109 | }
110 |
111 | /**
112 | * 1. Add the correct box sizing in Firefox.
113 | * 2. Show the overflow in Edge and IE.
114 | */
115 | hr {
116 | box-sizing: content-box; /* 1 */
117 | height: 0; /* 1 */
118 | overflow: visible; /* 2 */
119 | }
120 |
121 | /**
122 | * Add the correct display in IE.
123 | */
124 | main {
125 | display: block;
126 | }
127 |
128 | /**
129 | * Set 1 unit of vertical rhythm on the top and bottom margin.
130 | */
131 | p,
132 | pre {
133 | margin: 1.5rem 0;
134 | }
135 |
136 | /**
137 | * 1. Correct the inheritance and scaling of font size in all browsers.
138 | * 2. Correct the odd `em` font sizing in all browsers.
139 | */
140 | pre {
141 | font-family: monospace, monospace; /* 1 */
142 | font-size: 1em; /* 2 */
143 | }
144 |
145 | /* Links
146 | ========================================================================== */
147 | /**
148 | * Remove the gray background on active links in IE 10.
149 | */
150 | a {
151 | background-color: transparent;
152 | }
153 |
154 | /* Text-level semantics
155 | ========================================================================== */
156 | /**
157 | * 1. Remove the bottom border in Chrome 57-
158 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
159 | */
160 | abbr[title] {
161 | border-bottom: none; /* 1 */
162 | text-decoration: underline; /* 2 */
163 | text-decoration: underline dotted; /* 2 */
164 | }
165 |
166 | /**
167 | * Add the correct font weight in Chrome, Edge, and Safari.
168 | */
169 | b,
170 | strong {
171 | font-weight: bolder;
172 | }
173 |
174 | /**
175 | * 1. Correct the inheritance and scaling of font size in all browsers.
176 | * 2. Correct the odd `em` font sizing in all browsers.
177 | */
178 | code,
179 | kbd,
180 | samp {
181 | font-family: monospace, monospace; /* 1 */
182 | font-size: 1em; /* 2 */
183 | }
184 |
185 | /**
186 | * Add the correct font size in all browsers.
187 | */
188 | small {
189 | font-size: 80%;
190 | }
191 |
192 | /**
193 | * Prevent `sub` and `sup` elements from affecting the line height in
194 | * all browsers.
195 | */
196 | sub,
197 | sup {
198 | font-size: 75%;
199 | line-height: 0;
200 | position: relative;
201 | vertical-align: baseline;
202 | }
203 |
204 | sub {
205 | bottom: -0.25em;
206 | }
207 |
208 | sup {
209 | top: -0.5em;
210 | }
211 |
212 | /* Embedded content
213 | ========================================================================== */
214 | /**
215 | * Remove the border on images inside links in IE 10.
216 | */
217 | img {
218 | border-style: none;
219 | }
220 |
221 | /* Forms
222 | ========================================================================== */
223 | /**
224 | * 1. Change the font styles in all browsers.
225 | * 2. Remove the margin in Firefox and Safari.
226 | */
227 | button,
228 | input,
229 | optgroup,
230 | select,
231 | textarea {
232 | font-family: inherit; /* 1 */
233 | font-size: 100%; /* 1 */
234 | line-height: 1.5em; /* 1 */
235 | margin: 0; /* 2 */
236 | }
237 |
238 | /**
239 | * Show the overflow in IE.
240 | */
241 | button {
242 | overflow: visible;
243 | }
244 |
245 | /**
246 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
247 | * 1. Remove the inheritance of text transform in Firefox.
248 | */
249 | button,
250 | select { /* 1 */
251 | text-transform: none;
252 | }
253 |
254 | /**
255 | * Correct the inability to style clickable types in iOS and Safari.
256 | */
257 | button,
258 | [type=button],
259 | [type=reset],
260 | [type=submit] {
261 | -webkit-appearance: button;
262 | }
263 |
264 | button,
265 | [type=button],
266 | [type=reset],
267 | [type=submit] {
268 | /**
269 | * Remove the inner border and padding in Firefox.
270 | */
271 | /**
272 | * Restore the focus styles unset by the previous rule.
273 | */
274 | }
275 | button::-moz-focus-inner,
276 | [type=button]::-moz-focus-inner,
277 | [type=reset]::-moz-focus-inner,
278 | [type=submit]::-moz-focus-inner {
279 | border-style: none;
280 | padding: 0;
281 | }
282 | button:-moz-focusring,
283 | [type=button]:-moz-focusring,
284 | [type=reset]:-moz-focusring,
285 | [type=submit]:-moz-focusring {
286 | outline: 1px dotted ButtonText;
287 | }
288 |
289 | /**
290 | * Show the overflow in Edge.
291 | */
292 | input {
293 | overflow: visible;
294 | }
295 |
296 | /**
297 | * 1. Add the correct box sizing in IE 10.
298 | * 2. Remove the padding in IE 10.
299 | */
300 | [type=checkbox],
301 | [type=radio] {
302 | box-sizing: border-box; /* 1 */
303 | padding: 0; /* 2 */
304 | }
305 |
306 | /**
307 | * Correct the cursor style of increment and decrement buttons in Chrome.
308 | */
309 | [type=number]::-webkit-inner-spin-button,
310 | [type=number]::-webkit-outer-spin-button {
311 | height: auto;
312 | }
313 |
314 | /**
315 | * 1. Correct the odd appearance in Chrome and Safari.
316 | * 2. Correct the outline style in Safari.
317 | */
318 | [type=search] {
319 | -webkit-appearance: textfield; /* 1 */
320 | outline-offset: -2px; /* 2 */
321 | /**
322 | * Remove the inner padding in Chrome and Safari on macOS.
323 | */
324 | }
325 | [type=search]::-webkit-search-decoration {
326 | -webkit-appearance: none;
327 | }
328 |
329 | /**
330 | * 1. Correct the inability to style clickable types in iOS and Safari.
331 | * 2. Change font properties to `inherit` in Safari.
332 | */
333 | ::-webkit-file-upload-button {
334 | -webkit-appearance: button; /* 1 */
335 | font: inherit; /* 2 */
336 | }
337 |
338 | /**
339 | * Correct the padding in Firefox.
340 | */
341 | fieldset {
342 | padding: 0.35em 0.75em 0.625em;
343 | }
344 |
345 | /**
346 | * 1. Correct the text wrapping in Edge and IE.
347 | * 2. Correct the color inheritance from `fieldset` elements in IE.
348 | * 3. Remove the padding so developers are not caught out when they zero out
349 | * `fieldset` elements in all browsers.
350 | */
351 | legend {
352 | box-sizing: border-box; /* 1 */
353 | display: table; /* 1 */
354 | max-width: 100%; /* 1 */
355 | padding: 0; /* 3 */
356 | color: inherit; /* 2 */
357 | white-space: normal; /* 1 */
358 | }
359 |
360 | /**
361 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
362 | */
363 | progress {
364 | vertical-align: baseline;
365 | }
366 |
367 | /**
368 | * Remove the default vertical scrollbar in IE 10+.
369 | */
370 | textarea {
371 | overflow: auto;
372 | }
373 |
374 | /* Interactive
375 | ========================================================================== */
376 | /*
377 | * Add the correct display in Edge, IE 10+, and Firefox.
378 | */
379 | details {
380 | display: block;
381 | }
382 |
383 | /*
384 | * Add the correct display in all browsers.
385 | */
386 | summary {
387 | display: list-item;
388 | }
389 |
390 | menu {
391 | /*
392 | * 1. Set 1 unit of vertical rhythm on the top and bottom margin.
393 | * 2. Set consistent space for the list style image.
394 | */
395 | margin: 1.5rem 0;
396 | /* 1 */
397 | padding: 0 0 0 40px; /* 2 */
398 | /**
399 | * Turn off margins on nested lists.
400 | */
401 | }
402 | menu menu, ol menu, ul menu {
403 | margin: 0;
404 | }
405 |
406 | /* Misc
407 | ========================================================================== */
408 | /**
409 | * Add the correct display in IE.
410 | */
411 | template {
412 | display: none;
413 | }
414 |
415 | /**
416 | * Add the correct display in IE 10.
417 | */
418 | [hidden] {
419 | display: none;
420 | }
--------------------------------------------------------------------------------
/test/fixtures/variables/indent-amount-and-vertical-rhythm/input.scss:
--------------------------------------------------------------------------------
1 | $normalize-vertical-rhythm: true;
2 | $indent-amount: 3em;
3 |
4 | @import 'normalize';
5 | @include normalize();
6 |
--------------------------------------------------------------------------------
/test/fixtures/variables/indent-amount-and-vertical-rhythm/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | font-size: 100%;
10 | line-height: 1.5em; /* 1 */
11 | -webkit-text-size-adjust: 100%; /* 2 */
12 | }
13 |
14 | /* Sections
15 | ========================================================================== */
16 | /**
17 | * Remove the margin in all browsers.
18 | */
19 | body {
20 | margin: 0;
21 | }
22 |
23 | /**
24 | * Render the `main` element consistently in IE.
25 | */
26 | main {
27 | display: block;
28 | }
29 |
30 | /**
31 | * Correct the font size and margin on `h1` elements within `section` and
32 | * `article` contexts in Chrome, Firefox, and Safari.
33 | */
34 | h1 {
35 | font-size: 2em;
36 | line-height: 1.5em;
37 | /* Set 1 unit of vertical rhythm on the top and bottom margins. */
38 | margin: 0.75em 0;
39 | }
40 |
41 | h2 {
42 | font-size: 1.5em;
43 | line-height: 2em;
44 | margin: 1em 0;
45 | }
46 |
47 | h3 {
48 | font-size: 1.17em;
49 | line-height: 1.2820512821em;
50 | margin: 1.2820512821em 0;
51 | }
52 |
53 | h4 {
54 | font-size: 1em;
55 | line-height: 1.5em;
56 | margin: 1.5em 0;
57 | }
58 |
59 | h5 {
60 | font-size: 0.83em;
61 | line-height: 1.8072289157em;
62 | margin: 1.8072289157em 0;
63 | }
64 |
65 | h6 {
66 | font-size: 0.67em;
67 | line-height: 2.2388059701em;
68 | margin: 2.2388059701em 0;
69 | }
70 |
71 | /* Grouping content
72 | ========================================================================== */
73 | /**
74 | * Set 1 unit of vertical rhythm on the top and bottom margin.
75 | */
76 | blockquote {
77 | margin: 1.5em 3em;
78 | }
79 |
80 | dl,
81 | ol,
82 | ul {
83 | margin: 1.5em 0;
84 | }
85 |
86 | /**
87 | * Turn off margins on nested lists.
88 | */
89 | ol ol,
90 | ol ul,
91 | ul ol,
92 | ul ul {
93 | margin: 0;
94 | }
95 |
96 | dd {
97 | margin: 0 0 0 3em;
98 | }
99 |
100 | ol,
101 | ul {
102 | padding: 0 0 0 3em;
103 | }
104 |
105 | figure {
106 | margin: 1.5em 3em;
107 | }
108 |
109 | /**
110 | * 1. Add the correct box sizing in Firefox.
111 | * 2. Show the overflow in Edge and IE.
112 | */
113 | hr {
114 | box-sizing: content-box; /* 1 */
115 | height: 0; /* 1 */
116 | overflow: visible; /* 2 */
117 | }
118 |
119 | /**
120 | * Add the correct display in IE.
121 | */
122 | main {
123 | display: block;
124 | }
125 |
126 | /**
127 | * Set 1 unit of vertical rhythm on the top and bottom margin.
128 | */
129 | p,
130 | pre {
131 | margin: 1.5em 0;
132 | }
133 |
134 | /**
135 | * 1. Correct the inheritance and scaling of font size in all browsers.
136 | * 2. Correct the odd `em` font sizing in all browsers.
137 | */
138 | pre {
139 | font-family: monospace, monospace; /* 1 */
140 | font-size: 1em; /* 2 */
141 | }
142 |
143 | /* Links
144 | ========================================================================== */
145 | /**
146 | * Remove the gray background on active links in IE 10.
147 | */
148 | a {
149 | background-color: transparent;
150 | }
151 |
152 | /* Text-level semantics
153 | ========================================================================== */
154 | /**
155 | * 1. Remove the bottom border in Chrome 57-
156 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
157 | */
158 | abbr[title] {
159 | border-bottom: none; /* 1 */
160 | text-decoration: underline; /* 2 */
161 | text-decoration: underline dotted; /* 2 */
162 | }
163 |
164 | /**
165 | * Add the correct font weight in Chrome, Edge, and Safari.
166 | */
167 | b,
168 | strong {
169 | font-weight: bolder;
170 | }
171 |
172 | /**
173 | * 1. Correct the inheritance and scaling of font size in all browsers.
174 | * 2. Correct the odd `em` font sizing in all browsers.
175 | */
176 | code,
177 | kbd,
178 | samp {
179 | font-family: monospace, monospace; /* 1 */
180 | font-size: 1em; /* 2 */
181 | }
182 |
183 | /**
184 | * Add the correct font size in all browsers.
185 | */
186 | small {
187 | font-size: 80%;
188 | }
189 |
190 | /**
191 | * Prevent `sub` and `sup` elements from affecting the line height in
192 | * all browsers.
193 | */
194 | sub,
195 | sup {
196 | font-size: 75%;
197 | line-height: 0;
198 | position: relative;
199 | vertical-align: baseline;
200 | }
201 |
202 | sub {
203 | bottom: -0.25em;
204 | }
205 |
206 | sup {
207 | top: -0.5em;
208 | }
209 |
210 | /* Embedded content
211 | ========================================================================== */
212 | /**
213 | * Remove the border on images inside links in IE 10.
214 | */
215 | img {
216 | border-style: none;
217 | }
218 |
219 | /* Forms
220 | ========================================================================== */
221 | /**
222 | * 1. Change the font styles in all browsers.
223 | * 2. Remove the margin in Firefox and Safari.
224 | */
225 | button,
226 | input,
227 | optgroup,
228 | select,
229 | textarea {
230 | font-family: inherit; /* 1 */
231 | font-size: 100%; /* 1 */
232 | line-height: 1.5em; /* 1 */
233 | margin: 0; /* 2 */
234 | }
235 |
236 | /**
237 | * Show the overflow in IE.
238 | */
239 | button {
240 | overflow: visible;
241 | }
242 |
243 | /**
244 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
245 | * 1. Remove the inheritance of text transform in Firefox.
246 | */
247 | button,
248 | select { /* 1 */
249 | text-transform: none;
250 | }
251 |
252 | /**
253 | * Correct the inability to style clickable types in iOS and Safari.
254 | */
255 | button,
256 | [type=button],
257 | [type=reset],
258 | [type=submit] {
259 | -webkit-appearance: button;
260 | }
261 |
262 | button,
263 | [type=button],
264 | [type=reset],
265 | [type=submit] {
266 | /**
267 | * Remove the inner border and padding in Firefox.
268 | */
269 | /**
270 | * Restore the focus styles unset by the previous rule.
271 | */
272 | }
273 | button::-moz-focus-inner,
274 | [type=button]::-moz-focus-inner,
275 | [type=reset]::-moz-focus-inner,
276 | [type=submit]::-moz-focus-inner {
277 | border-style: none;
278 | padding: 0;
279 | }
280 | button:-moz-focusring,
281 | [type=button]:-moz-focusring,
282 | [type=reset]:-moz-focusring,
283 | [type=submit]:-moz-focusring {
284 | outline: 1px dotted ButtonText;
285 | }
286 |
287 | /**
288 | * Show the overflow in Edge.
289 | */
290 | input {
291 | overflow: visible;
292 | }
293 |
294 | /**
295 | * 1. Add the correct box sizing in IE 10.
296 | * 2. Remove the padding in IE 10.
297 | */
298 | [type=checkbox],
299 | [type=radio] {
300 | box-sizing: border-box; /* 1 */
301 | padding: 0; /* 2 */
302 | }
303 |
304 | /**
305 | * Correct the cursor style of increment and decrement buttons in Chrome.
306 | */
307 | [type=number]::-webkit-inner-spin-button,
308 | [type=number]::-webkit-outer-spin-button {
309 | height: auto;
310 | }
311 |
312 | /**
313 | * 1. Correct the odd appearance in Chrome and Safari.
314 | * 2. Correct the outline style in Safari.
315 | */
316 | [type=search] {
317 | -webkit-appearance: textfield; /* 1 */
318 | outline-offset: -2px; /* 2 */
319 | /**
320 | * Remove the inner padding in Chrome and Safari on macOS.
321 | */
322 | }
323 | [type=search]::-webkit-search-decoration {
324 | -webkit-appearance: none;
325 | }
326 |
327 | /**
328 | * 1. Correct the inability to style clickable types in iOS and Safari.
329 | * 2. Change font properties to `inherit` in Safari.
330 | */
331 | ::-webkit-file-upload-button {
332 | -webkit-appearance: button; /* 1 */
333 | font: inherit; /* 2 */
334 | }
335 |
336 | /**
337 | * Correct the padding in Firefox.
338 | */
339 | fieldset {
340 | padding: 0.35em 0.75em 0.625em;
341 | }
342 |
343 | /**
344 | * 1. Correct the text wrapping in Edge and IE.
345 | * 2. Correct the color inheritance from `fieldset` elements in IE.
346 | * 3. Remove the padding so developers are not caught out when they zero out
347 | * `fieldset` elements in all browsers.
348 | */
349 | legend {
350 | box-sizing: border-box; /* 1 */
351 | display: table; /* 1 */
352 | max-width: 100%; /* 1 */
353 | padding: 0; /* 3 */
354 | color: inherit; /* 2 */
355 | white-space: normal; /* 1 */
356 | }
357 |
358 | /**
359 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
360 | */
361 | progress {
362 | vertical-align: baseline;
363 | }
364 |
365 | /**
366 | * Remove the default vertical scrollbar in IE 10+.
367 | */
368 | textarea {
369 | overflow: auto;
370 | }
371 |
372 | /* Interactive
373 | ========================================================================== */
374 | /*
375 | * Add the correct display in Edge, IE 10+, and Firefox.
376 | */
377 | details {
378 | display: block;
379 | }
380 |
381 | /*
382 | * Add the correct display in all browsers.
383 | */
384 | summary {
385 | display: list-item;
386 | }
387 |
388 | menu {
389 | /*
390 | * 1. Set 1 unit of vertical rhythm on the top and bottom margin.
391 | * 2. Set consistent space for the list style image.
392 | */
393 | margin: 1.5em 0;
394 | /* 1 */
395 | padding: 0 0 0 3em; /* 2 */
396 | /**
397 | * Turn off margins on nested lists.
398 | */
399 | }
400 | menu menu, ol menu, ul menu {
401 | margin: 0;
402 | }
403 |
404 | /* Misc
405 | ========================================================================== */
406 | /**
407 | * Add the correct display in IE.
408 | */
409 | template {
410 | display: none;
411 | }
412 |
413 | /**
414 | * Add the correct display in IE 10.
415 | */
416 | [hidden] {
417 | display: none;
418 | }
--------------------------------------------------------------------------------
/test/fixtures/variables/indent-amount/input.scss:
--------------------------------------------------------------------------------
1 | $indent-amount: 3em;
2 |
3 | @import 'normalize';
4 | @include normalize();
5 |
--------------------------------------------------------------------------------
/test/fixtures/variables/indent-amount/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | line-height: 1.15; /* 1 */
10 | -webkit-text-size-adjust: 100%; /* 2 */
11 | }
12 |
13 | /* Sections
14 | ========================================================================== */
15 | /**
16 | * Remove the margin in all browsers.
17 | */
18 | body {
19 | margin: 0;
20 | }
21 |
22 | /**
23 | * Render the `main` element consistently in IE.
24 | */
25 | main {
26 | display: block;
27 | }
28 |
29 | /**
30 | * Correct the font size and margin on `h1` elements within `section` and
31 | * `article` contexts in Chrome, Firefox, and Safari.
32 | */
33 | h1 {
34 | font-size: 2em;
35 | margin: 0.67em 0;
36 | }
37 |
38 | /* Grouping content
39 | ========================================================================== */
40 | /**
41 | * 1. Add the correct box sizing in Firefox.
42 | * 2. Show the overflow in Edge and IE.
43 | */
44 | hr {
45 | box-sizing: content-box; /* 1 */
46 | height: 0; /* 1 */
47 | overflow: visible; /* 2 */
48 | }
49 |
50 | /**
51 | * Add the correct display in IE.
52 | */
53 | main {
54 | display: block;
55 | }
56 |
57 | /**
58 | * 1. Correct the inheritance and scaling of font size in all browsers.
59 | * 2. Correct the odd `em` font sizing in all browsers.
60 | */
61 | pre {
62 | font-family: monospace, monospace; /* 1 */
63 | font-size: 1em; /* 2 */
64 | }
65 |
66 | /* Links
67 | ========================================================================== */
68 | /**
69 | * Remove the gray background on active links in IE 10.
70 | */
71 | a {
72 | background-color: transparent;
73 | }
74 |
75 | /* Text-level semantics
76 | ========================================================================== */
77 | /**
78 | * 1. Remove the bottom border in Chrome 57-
79 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
80 | */
81 | abbr[title] {
82 | border-bottom: none; /* 1 */
83 | text-decoration: underline; /* 2 */
84 | text-decoration: underline dotted; /* 2 */
85 | }
86 |
87 | /**
88 | * Add the correct font weight in Chrome, Edge, and Safari.
89 | */
90 | b,
91 | strong {
92 | font-weight: bolder;
93 | }
94 |
95 | /**
96 | * 1. Correct the inheritance and scaling of font size in all browsers.
97 | * 2. Correct the odd `em` font sizing in all browsers.
98 | */
99 | code,
100 | kbd,
101 | samp {
102 | font-family: monospace, monospace; /* 1 */
103 | font-size: 1em; /* 2 */
104 | }
105 |
106 | /**
107 | * Add the correct font size in all browsers.
108 | */
109 | small {
110 | font-size: 80%;
111 | }
112 |
113 | /**
114 | * Prevent `sub` and `sup` elements from affecting the line height in
115 | * all browsers.
116 | */
117 | sub,
118 | sup {
119 | font-size: 75%;
120 | line-height: 0;
121 | position: relative;
122 | vertical-align: baseline;
123 | }
124 |
125 | sub {
126 | bottom: -0.25em;
127 | }
128 |
129 | sup {
130 | top: -0.5em;
131 | }
132 |
133 | /* Embedded content
134 | ========================================================================== */
135 | /**
136 | * Remove the border on images inside links in IE 10.
137 | */
138 | img {
139 | border-style: none;
140 | }
141 |
142 | /* Forms
143 | ========================================================================== */
144 | /**
145 | * 1. Change the font styles in all browsers.
146 | * 2. Remove the margin in Firefox and Safari.
147 | */
148 | button,
149 | input,
150 | optgroup,
151 | select,
152 | textarea {
153 | font-family: inherit; /* 1 */
154 | font-size: 100%; /* 1 */
155 | line-height: 1.15; /* 1 */
156 | margin: 0; /* 2 */
157 | }
158 |
159 | /**
160 | * Show the overflow in IE.
161 | */
162 | button {
163 | overflow: visible;
164 | }
165 |
166 | /**
167 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
168 | * 1. Remove the inheritance of text transform in Firefox.
169 | */
170 | button,
171 | select { /* 1 */
172 | text-transform: none;
173 | }
174 |
175 | /**
176 | * Correct the inability to style clickable types in iOS and Safari.
177 | */
178 | button,
179 | [type=button],
180 | [type=reset],
181 | [type=submit] {
182 | -webkit-appearance: button;
183 | }
184 |
185 | button,
186 | [type=button],
187 | [type=reset],
188 | [type=submit] {
189 | /**
190 | * Remove the inner border and padding in Firefox.
191 | */
192 | /**
193 | * Restore the focus styles unset by the previous rule.
194 | */
195 | }
196 | button::-moz-focus-inner,
197 | [type=button]::-moz-focus-inner,
198 | [type=reset]::-moz-focus-inner,
199 | [type=submit]::-moz-focus-inner {
200 | border-style: none;
201 | padding: 0;
202 | }
203 | button:-moz-focusring,
204 | [type=button]:-moz-focusring,
205 | [type=reset]:-moz-focusring,
206 | [type=submit]:-moz-focusring {
207 | outline: 1px dotted ButtonText;
208 | }
209 |
210 | /**
211 | * Show the overflow in Edge.
212 | */
213 | input {
214 | overflow: visible;
215 | }
216 |
217 | /**
218 | * 1. Add the correct box sizing in IE 10.
219 | * 2. Remove the padding in IE 10.
220 | */
221 | [type=checkbox],
222 | [type=radio] {
223 | box-sizing: border-box; /* 1 */
224 | padding: 0; /* 2 */
225 | }
226 |
227 | /**
228 | * Correct the cursor style of increment and decrement buttons in Chrome.
229 | */
230 | [type=number]::-webkit-inner-spin-button,
231 | [type=number]::-webkit-outer-spin-button {
232 | height: auto;
233 | }
234 |
235 | /**
236 | * 1. Correct the odd appearance in Chrome and Safari.
237 | * 2. Correct the outline style in Safari.
238 | */
239 | [type=search] {
240 | -webkit-appearance: textfield; /* 1 */
241 | outline-offset: -2px; /* 2 */
242 | /**
243 | * Remove the inner padding in Chrome and Safari on macOS.
244 | */
245 | }
246 | [type=search]::-webkit-search-decoration {
247 | -webkit-appearance: none;
248 | }
249 |
250 | /**
251 | * 1. Correct the inability to style clickable types in iOS and Safari.
252 | * 2. Change font properties to `inherit` in Safari.
253 | */
254 | ::-webkit-file-upload-button {
255 | -webkit-appearance: button; /* 1 */
256 | font: inherit; /* 2 */
257 | }
258 |
259 | /**
260 | * Correct the padding in Firefox.
261 | */
262 | fieldset {
263 | padding: 0.35em 0.75em 0.625em;
264 | }
265 |
266 | /**
267 | * 1. Correct the text wrapping in Edge and IE.
268 | * 2. Correct the color inheritance from `fieldset` elements in IE.
269 | * 3. Remove the padding so developers are not caught out when they zero out
270 | * `fieldset` elements in all browsers.
271 | */
272 | legend {
273 | box-sizing: border-box; /* 1 */
274 | display: table; /* 1 */
275 | max-width: 100%; /* 1 */
276 | padding: 0; /* 3 */
277 | color: inherit; /* 2 */
278 | white-space: normal; /* 1 */
279 | }
280 |
281 | /**
282 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
283 | */
284 | progress {
285 | vertical-align: baseline;
286 | }
287 |
288 | /**
289 | * Remove the default vertical scrollbar in IE 10+.
290 | */
291 | textarea {
292 | overflow: auto;
293 | }
294 |
295 | /* Interactive
296 | ========================================================================== */
297 | /*
298 | * Add the correct display in Edge, IE 10+, and Firefox.
299 | */
300 | details {
301 | display: block;
302 | }
303 |
304 | /*
305 | * Add the correct display in all browsers.
306 | */
307 | summary {
308 | display: list-item;
309 | }
310 |
311 | /* Misc
312 | ========================================================================== */
313 | /**
314 | * Add the correct display in IE.
315 | */
316 | template {
317 | display: none;
318 | }
319 |
320 | /**
321 | * Add the correct display in IE 10.
322 | */
323 | [hidden] {
324 | display: none;
325 | }
--------------------------------------------------------------------------------
/test/fixtures/variables/prevent-vertical-rhythm/input.scss:
--------------------------------------------------------------------------------
1 | // This variable only affects output when vertical rhythm is used.
2 | $h2-font-size: 48px;
3 | // Force vertical rhythm off.
4 | $normalize-vertical-rhythm: false;
5 |
6 | @import 'normalize';
7 | @include normalize();
8 |
--------------------------------------------------------------------------------
/test/fixtures/variables/prevent-vertical-rhythm/output.css:
--------------------------------------------------------------------------------
1 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
2 | /* Document
3 | ========================================================================== */
4 | /**
5 | * 1. Correct the line height in all browsers.
6 | * 2. Prevent adjustments of font size after orientation changes in iOS.
7 | */
8 | html {
9 | line-height: 1.15; /* 1 */
10 | -webkit-text-size-adjust: 100%; /* 2 */
11 | }
12 |
13 | /* Sections
14 | ========================================================================== */
15 | /**
16 | * Remove the margin in all browsers.
17 | */
18 | body {
19 | margin: 0;
20 | }
21 |
22 | /**
23 | * Render the `main` element consistently in IE.
24 | */
25 | main {
26 | display: block;
27 | }
28 |
29 | /**
30 | * Correct the font size and margin on `h1` elements within `section` and
31 | * `article` contexts in Chrome, Firefox, and Safari.
32 | */
33 | h1 {
34 | font-size: 2em;
35 | margin: 0.67em 0;
36 | }
37 |
38 | /* Grouping content
39 | ========================================================================== */
40 | /**
41 | * 1. Add the correct box sizing in Firefox.
42 | * 2. Show the overflow in Edge and IE.
43 | */
44 | hr {
45 | box-sizing: content-box; /* 1 */
46 | height: 0; /* 1 */
47 | overflow: visible; /* 2 */
48 | }
49 |
50 | /**
51 | * Add the correct display in IE.
52 | */
53 | main {
54 | display: block;
55 | }
56 |
57 | /**
58 | * 1. Correct the inheritance and scaling of font size in all browsers.
59 | * 2. Correct the odd `em` font sizing in all browsers.
60 | */
61 | pre {
62 | font-family: monospace, monospace; /* 1 */
63 | font-size: 1em; /* 2 */
64 | }
65 |
66 | /* Links
67 | ========================================================================== */
68 | /**
69 | * Remove the gray background on active links in IE 10.
70 | */
71 | a {
72 | background-color: transparent;
73 | }
74 |
75 | /* Text-level semantics
76 | ========================================================================== */
77 | /**
78 | * 1. Remove the bottom border in Chrome 57-
79 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
80 | */
81 | abbr[title] {
82 | border-bottom: none; /* 1 */
83 | text-decoration: underline; /* 2 */
84 | text-decoration: underline dotted; /* 2 */
85 | }
86 |
87 | /**
88 | * Add the correct font weight in Chrome, Edge, and Safari.
89 | */
90 | b,
91 | strong {
92 | font-weight: bolder;
93 | }
94 |
95 | /**
96 | * 1. Correct the inheritance and scaling of font size in all browsers.
97 | * 2. Correct the odd `em` font sizing in all browsers.
98 | */
99 | code,
100 | kbd,
101 | samp {
102 | font-family: monospace, monospace; /* 1 */
103 | font-size: 1em; /* 2 */
104 | }
105 |
106 | /**
107 | * Add the correct font size in all browsers.
108 | */
109 | small {
110 | font-size: 80%;
111 | }
112 |
113 | /**
114 | * Prevent `sub` and `sup` elements from affecting the line height in
115 | * all browsers.
116 | */
117 | sub,
118 | sup {
119 | font-size: 75%;
120 | line-height: 0;
121 | position: relative;
122 | vertical-align: baseline;
123 | }
124 |
125 | sub {
126 | bottom: -0.25em;
127 | }
128 |
129 | sup {
130 | top: -0.5em;
131 | }
132 |
133 | /* Embedded content
134 | ========================================================================== */
135 | /**
136 | * Remove the border on images inside links in IE 10.
137 | */
138 | img {
139 | border-style: none;
140 | }
141 |
142 | /* Forms
143 | ========================================================================== */
144 | /**
145 | * 1. Change the font styles in all browsers.
146 | * 2. Remove the margin in Firefox and Safari.
147 | */
148 | button,
149 | input,
150 | optgroup,
151 | select,
152 | textarea {
153 | font-family: inherit; /* 1 */
154 | font-size: 100%; /* 1 */
155 | line-height: 1.15; /* 1 */
156 | margin: 0; /* 2 */
157 | }
158 |
159 | /**
160 | * Show the overflow in IE.
161 | */
162 | button {
163 | overflow: visible;
164 | }
165 |
166 | /**
167 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
168 | * 1. Remove the inheritance of text transform in Firefox.
169 | */
170 | button,
171 | select { /* 1 */
172 | text-transform: none;
173 | }
174 |
175 | /**
176 | * Correct the inability to style clickable types in iOS and Safari.
177 | */
178 | button,
179 | [type=button],
180 | [type=reset],
181 | [type=submit] {
182 | -webkit-appearance: button;
183 | }
184 |
185 | button,
186 | [type=button],
187 | [type=reset],
188 | [type=submit] {
189 | /**
190 | * Remove the inner border and padding in Firefox.
191 | */
192 | /**
193 | * Restore the focus styles unset by the previous rule.
194 | */
195 | }
196 | button::-moz-focus-inner,
197 | [type=button]::-moz-focus-inner,
198 | [type=reset]::-moz-focus-inner,
199 | [type=submit]::-moz-focus-inner {
200 | border-style: none;
201 | padding: 0;
202 | }
203 | button:-moz-focusring,
204 | [type=button]:-moz-focusring,
205 | [type=reset]:-moz-focusring,
206 | [type=submit]:-moz-focusring {
207 | outline: 1px dotted ButtonText;
208 | }
209 |
210 | /**
211 | * Show the overflow in Edge.
212 | */
213 | input {
214 | overflow: visible;
215 | }
216 |
217 | /**
218 | * 1. Add the correct box sizing in IE 10.
219 | * 2. Remove the padding in IE 10.
220 | */
221 | [type=checkbox],
222 | [type=radio] {
223 | box-sizing: border-box; /* 1 */
224 | padding: 0; /* 2 */
225 | }
226 |
227 | /**
228 | * Correct the cursor style of increment and decrement buttons in Chrome.
229 | */
230 | [type=number]::-webkit-inner-spin-button,
231 | [type=number]::-webkit-outer-spin-button {
232 | height: auto;
233 | }
234 |
235 | /**
236 | * 1. Correct the odd appearance in Chrome and Safari.
237 | * 2. Correct the outline style in Safari.
238 | */
239 | [type=search] {
240 | -webkit-appearance: textfield; /* 1 */
241 | outline-offset: -2px; /* 2 */
242 | /**
243 | * Remove the inner padding in Chrome and Safari on macOS.
244 | */
245 | }
246 | [type=search]::-webkit-search-decoration {
247 | -webkit-appearance: none;
248 | }
249 |
250 | /**
251 | * 1. Correct the inability to style clickable types in iOS and Safari.
252 | * 2. Change font properties to `inherit` in Safari.
253 | */
254 | ::-webkit-file-upload-button {
255 | -webkit-appearance: button; /* 1 */
256 | font: inherit; /* 2 */
257 | }
258 |
259 | /**
260 | * Correct the padding in Firefox.
261 | */
262 | fieldset {
263 | padding: 0.35em 0.75em 0.625em;
264 | }
265 |
266 | /**
267 | * 1. Correct the text wrapping in Edge and IE.
268 | * 2. Correct the color inheritance from `fieldset` elements in IE.
269 | * 3. Remove the padding so developers are not caught out when they zero out
270 | * `fieldset` elements in all browsers.
271 | */
272 | legend {
273 | box-sizing: border-box; /* 1 */
274 | display: table; /* 1 */
275 | max-width: 100%; /* 1 */
276 | padding: 0; /* 3 */
277 | color: inherit; /* 2 */
278 | white-space: normal; /* 1 */
279 | }
280 |
281 | /**
282 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
283 | */
284 | progress {
285 | vertical-align: baseline;
286 | }
287 |
288 | /**
289 | * Remove the default vertical scrollbar in IE 10+.
290 | */
291 | textarea {
292 | overflow: auto;
293 | }
294 |
295 | /* Interactive
296 | ========================================================================== */
297 | /*
298 | * Add the correct display in Edge, IE 10+, and Firefox.
299 | */
300 | details {
301 | display: block;
302 | }
303 |
304 | /*
305 | * Add the correct display in all browsers.
306 | */
307 | summary {
308 | display: list-item;
309 | }
310 |
311 | /* Misc
312 | ========================================================================== */
313 | /**
314 | * Add the correct display in IE.
315 | */
316 | template {
317 | display: none;
318 | }
319 |
320 | /**
321 | * Add the correct display in IE 10.
322 | */
323 | [hidden] {
324 | display: none;
325 | }
--------------------------------------------------------------------------------
/test/test_fork-version.js:
--------------------------------------------------------------------------------
1 | import path from 'node:path';
2 | import { fileURLToPath } from 'node:url';
3 | import SassyTest from 'sassy-test';
4 |
5 | const __dirname = path.dirname(fileURLToPath(import.meta.url));
6 |
7 | describe('Fork version', function() {
8 | it('should compile properly', function() {
9 | const sassyTest = new SassyTest({
10 | loadPaths: [
11 | // Path to fork version.
12 | path.join(__dirname, '../fork-version')
13 | ]
14 | });
15 | return sassyTest.compileFixture('fork-version');
16 | });
17 | });
18 |
--------------------------------------------------------------------------------
/test/test_import-now.js:
--------------------------------------------------------------------------------
1 | import path from 'node:path';
2 | import { fileURLToPath } from 'node:url';
3 | import SassyTest from 'sassy-test';
4 |
5 | const __dirname = path.dirname(fileURLToPath(import.meta.url));
6 |
7 | describe('@import "normalize/import-now";', function() {
8 | it('should import the CSS immediately on @import', function() {
9 | const sassyTest = new SassyTest({
10 | fixtures: path.join(__dirname, 'fixtures'),
11 | loadPaths: [path.join(__dirname, '../sass')]
12 | });
13 | return sassyTest.compileFixture('import-now');
14 | });
15 | });
16 |
--------------------------------------------------------------------------------
/test/test_normalize.js:
--------------------------------------------------------------------------------
1 | import path from 'node:path';
2 | import { fileURLToPath } from 'node:url';
3 | import SassyTest from 'sassy-test';
4 |
5 | const __dirname = path.dirname(fileURLToPath(import.meta.url));
6 | const sassyTest = new SassyTest();
7 |
8 | describe('@include normalize()', function() {
9 | before(function(done) {
10 | sassyTest.configurePaths({
11 | fixtures: path.join(__dirname, 'fixtures/normalize'),
12 | loadPaths: [path.join(__dirname, '../sass')]
13 | });
14 | done();
15 | });
16 |
17 | describe('$include parameter', function() {
18 | it('should accept a list with multiple values', function() {
19 | return sassyTest.compileFixture('include-multiple');
20 | });
21 |
22 | it('should accept a list with a single value', function() {
23 | return sassyTest.compileFixture('include-single');
24 | });
25 |
26 | it('should accept a string', function() {
27 | return sassyTest.compileFixture('include-string');
28 | });
29 | });
30 |
31 | describe('$exclude parameter', function() {
32 | it('should accept a list with multiple values', function() {
33 | return sassyTest.compileFixture('exclude-multiple');
34 | });
35 |
36 | it('should accept a list with a single value', function() {
37 | return sassyTest.compileFixture('exclude-single');
38 | });
39 |
40 | it('should accept a string', function() {
41 | return sassyTest.compileFixture('exclude-string');
42 | });
43 | });
44 | });
45 |
--------------------------------------------------------------------------------
/test/test_variables.js:
--------------------------------------------------------------------------------
1 | import path from 'node:path';
2 | import { fileURLToPath } from 'node:url';
3 | import SassyTest from 'sassy-test';
4 |
5 | const __dirname = path.dirname(fileURLToPath(import.meta.url));
6 | const sassyTest = new SassyTest();
7 |
8 | describe('Configuration variables', function() {
9 | before(function(done) {
10 | sassyTest.configurePaths({
11 | fixtures: path.join(__dirname, 'fixtures'),
12 | loadPaths: [path.join(__dirname, '../sass')]
13 | });
14 | done();
15 | });
16 |
17 | describe('default values', function() {
18 | it('should limit output to the same output as normalize.css', function() {
19 | return sassyTest.compileFixture('variables/default');
20 | });
21 | });
22 |
23 | describe('$normalize-vertical-rhythm: false', function() {
24 | it('should not output vertical rhythm rulesets', function() {
25 | return sassyTest.compileFixture('variables/prevent-vertical-rhythm');
26 | });
27 | });
28 |
29 | describe('$base-* and $h*-font-size', function() {
30 | it('should alter the font, font size, and line-height', function() {
31 | return sassyTest.compileFixture('variables/font');
32 | });
33 | });
34 |
35 | describe('$indent-amount', function() {
36 | it('should alter the indent amount of elements', function() {
37 | return sassyTest.compileFixture('variables/indent-amount');
38 | });
39 | });
40 |
41 | describe('$indent-amount and $normalize-vertical-rhythm', function() {
42 | it('should alter the indent amount of elements', function() {
43 | return sassyTest.compileFixture('variables/indent-amount-and-vertical-rhythm');
44 | });
45 | });
46 | });
47 |
--------------------------------------------------------------------------------