├── .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 | --------------------------------------------------------------------------------