diff --git a/.gitignore b/.gitignore
index 5bd3ef6..3444632 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,8 @@
-dist
+index.cjs*
+index.mjs*
node_modules
package-lock.json
+yarn.lock
*.log*
*.result.css
.*
diff --git a/.rollup.js b/.rollup.js
index 3f3b227..f47e667 100644
--- a/.rollup.js
+++ b/.rollup.js
@@ -1,11 +1,19 @@
-import pkg from './package.json'
+import babel from 'rollup-plugin-babel'
export default {
- ...pkg.rollup,
- plugins: [patchBabelPluginSyntaxImportMeta(), ...pkg.rollup.plugins.map(plugin => require(plugin)())],
- onwarn(warning, warn) {
- if (warning.code !== 'UNRESOLVED_IMPORT') warn(warning)
- }
+ input: 'src/index.js',
+ output: [
+ { file: 'index.cjs', format: 'cjs', exports: 'default', sourcemap: true, strict: false },
+ { file: 'index.mjs', format: 'esm', sourcemap: true, strict: false }
+ ],
+ plugins: [
+ patchBabelPluginSyntaxImportMeta(),
+ babel({
+ presets: [
+ ['@babel/env', { modules: false, targets: { node: 8 } }]
+ ]
+ })
+ ]
}
function patchBabelPluginSyntaxImportMeta () {
diff --git a/.tape.js b/.tape.js
index b848046..500a045 100644
--- a/.tape.js
+++ b/.tape.js
@@ -71,13 +71,13 @@ module.exports = {
source: 'import-normalize.css',
expect: 'import-normalize.expect.css',
plugin: (() => {
- const postcss = require('postcss');
- const postcssImport = require('postcss-import');
- const postcssNormalize = require('.');
+ const postcss = require('postcss')
+ const postcssImport = require('postcss-import')
+ const postcssNormalize = require('.')
- const plugin = postcss([ postcssImport(postcssNormalize().postcssImport()) ]);
+ const plugin = postcss([ postcssImport(postcssNormalize().postcssImport()) ])
- return plugin;
+ return plugin
})()
}
-};
+}
diff --git a/.travis.yml b/.travis.yml
index c3e7765..0f0fc90 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,7 +8,4 @@ os:
- osx
node_js:
- - 10
-
-install:
- - npm install --ignore-scripts
+ - 12
diff --git a/README.md b/README.md
index fd97477..d3d587d 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# PostCSS Normalize [
][postcss]
[
][npm-url]
-[
][cli-url]
+[
][cli-url]
[
][git-url]
[PostCSS Normalize] lets you use the parts of [normalize.css] or [sanitize.css]
@@ -189,7 +189,7 @@ configure either with the following combinations:
@import "sanitize/*"; /* also, @import "sanitize.css/*" (sanitize + all additions) */
```
-[cli-img]: https://img.shields.io/travis/csstools/postcss-normalize/master.svg
+[cli-img]: https://img.shields.io/travis/csstools/postcss-normalize/main.svg
[cli-url]: https://travis-ci.org/csstools/postcss-normalize
[git-img]: https://img.shields.io/badge/support-chat-blue.svg
[git-url]: https://gitter.im/postcss/postcss
diff --git a/package.json b/package.json
index 8f57a03..eb351df 100644
--- a/package.json
+++ b/package.json
@@ -7,46 +7,46 @@
"repository": "csstools/postcss-normalize",
"homepage": "https://github.com/csstools/postcss-normalize#readme",
"bugs": "https://github.com/csstools/postcss-normalize/issues",
- "main": "dist/index.cjs.js",
- "module": "dist/index.esm.mjs",
+ "main": "index.cjs",
+ "module": "index.mjs",
"files": [
- "dist"
+ "index.cjs",
+ "index.cjs.map",
+ "index.mjs",
+ "index.mjs.map"
],
"scripts": {
- "build": "npx rollup -c .rollup.js",
- "build:watch": "npx rollup -c .rollup.js --watch",
- "lint": "npx eslint --cache src",
- "lint:fix": "npx eslint --cache --fix",
- "pretest": "npm install && npm run build",
- "test": "npm run lint && npm run tape",
- "tape": "npx postcss-tape"
+ "prepublishOnly": "npm test",
+ "build": "rollup --config .rollup.js --silent",
+ "lint": "eslint --cache .gitignore --quiet",
+ "test": "npm run lint && npm run build && npm run tape",
+ "tape": "postcss-tape"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">= 12"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4",
+ "postcss": ">= 8"
},
"dependencies": {
- "@csstools/normalize.css": "10.1.0",
- "postcss-browser-comments": "^3.0.0",
- "sanitize.css": "11.0.0"
+ "@csstools/normalize.css": "*",
+ "postcss-browser-comments": "^4",
+ "sanitize.css": "*"
},
"devDependencies": {
- "@babel/core": "^7.9.0",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/preset-env": "^7.9.5",
- "babel-eslint": "^10.1.0",
- "browserslist": "^4.16.3",
- "eslint": "^6.8.0",
- "postcss": "^8.2.8",
- "postcss-import": "^12.0.1",
+ "@babel/core": "^7.13.16",
+ "@babel/plugin-syntax-import-meta": "^7.10.4",
+ "@babel/preset-env": "^7.13.15",
+ "browserslist": "^4.16.5",
+ "eslint": "^7.25.0",
+ "postcss": "^8.2.13",
+ "postcss-import": "^14.0.1",
"postcss-tape": "^6.0.1",
"pre-commit": "^1.2.2",
- "rollup": "^2.6.0",
+ "rollup": "^2.46.0",
"rollup-plugin-babel": "^4.4.0"
},
- "peerDependencies": {
- "browserslist": "^4.16.3",
- "postcss": "^8.2.8"
- },
"babel": {
"plugins": [
"@babel/plugin-syntax-import-meta"
@@ -61,28 +61,23 @@
]
},
"eslintConfig": {
- "env": {
- "es6": true,
- "node": true
- },
"extends": "eslint:recommended",
- "parser": "babel-eslint"
- },
- "rollup": {
- "input": "src/index.js",
- "plugins": [
- "rollup-plugin-babel"
+ "ignorePatterns": [
+ ".tape.js"
],
- "output": [
- {
- "file": "dist/index.cjs.js",
- "format": "cjs"
- },
- {
- "file": "dist/index.esm.js",
- "format": "esm"
+ "parserOptions": {
+ "ecmaVersion": 12,
+ "sourceType": "module",
+ "ecmaFeatures": {
+ "modules": true
}
- ]
+ },
+ "rules": {
+ "semi": [
+ "error",
+ "never"
+ ]
+ }
},
"keywords": [
"postcss",
diff --git a/src/index.js b/src/index.js
index 6a0ec6f..e48b4b4 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,14 +1,14 @@
-import { create } from './lib/util';
-import postcssBrowserComments from 'postcss-browser-comments';
-import postcssImportNormalize from './lib/postcssImportNormalize';
-import postcssNormalize from './lib/postcssNormalize';
+import { create } from './lib/util'
+import postcssBrowserComments from 'postcss-browser-comments'
+import postcssImportNormalize from './lib/postcssImportNormalize'
+import postcssNormalize from './lib/postcssNormalize'
const plugin = opts => {
- opts = create(opts);
+ opts = create(opts)
- const commentsTransformer = postcssBrowserComments(opts).Once;
- const normalizeTransformer = postcssNormalize(commentsTransformer, opts);
- const postcssImportConfig = postcssImportNormalize(commentsTransformer, opts);
+ const commentsTransformer = postcssBrowserComments(opts).Once
+ const normalizeTransformer = postcssNormalize(commentsTransformer, opts)
+ const postcssImportConfig = postcssImportNormalize(commentsTransformer, opts)
return {
postcssPlugin: 'postcss-normalize',
@@ -19,6 +19,6 @@ const plugin = opts => {
}
}
-plugin.postcss = true;
+plugin.postcss = true
-export default plugin;
+export default plugin
diff --git a/src/lib/cssMap.js b/src/lib/cssMap.js
index c355f99..6508e56 100644
--- a/src/lib/cssMap.js
+++ b/src/lib/cssMap.js
@@ -1,20 +1,20 @@
-import { create } from './util';
-import Module from 'module';
-import path from 'path';
-import { URL } from 'url';
+import { create } from './util'
+import Module from 'module'
+import path from 'path'
+import { URL } from 'url'
// get esm-compatible script metadata
-const currentURL = import.meta.url;
-const currentFilename = new URL(currentURL).pathname;
-const currentDirname = path.dirname(currentFilename);
+const currentURL = import.meta.url
+const currentFilename = new URL(currentURL).pathname
+const currentDirname = path.dirname(currentFilename)
// get resolved filenames for css libraries
-const normalizeCSS = resolve('@csstools/normalize.css');
-const normalizeOpinionatedCSS = resolve('@csstools/normalize.css/opinionated.css');
-const sanitizeCSS = resolve('sanitize.css');
-const sanitizeFormsCSS = resolve('sanitize.css/forms.css');
-const sanitizePageCSS = resolve('sanitize.css/page.css');
-const sanitizeTypographyCSS = resolve('sanitize.css/typography.css');
+const normalizeCSS = resolve('@csstools/normalize.css')
+const normalizeOpinionatedCSS = resolve('@csstools/normalize.css/opinionated.css')
+const sanitizeCSS = resolve('sanitize.css')
+const sanitizeFormsCSS = resolve('sanitize.css/forms.css')
+const sanitizePageCSS = resolve('sanitize.css/page.css')
+const sanitizeTypographyCSS = resolve('sanitize.css/typography.css')
// export a hashmap of css library filenames
export const parsableFilenames = create({
@@ -24,7 +24,7 @@ export const parsableFilenames = create({
[sanitizeFormsCSS]: true,
[sanitizePageCSS]: true,
[sanitizeTypographyCSS]: true
-});
+})
// export a hashmap of css library filenames by id
export const resolvedFilenamesById = create({
@@ -36,7 +36,7 @@ export const resolvedFilenamesById = create({
'sanitize/page': [sanitizeCSS, sanitizePageCSS],
'sanitize/typography': [sanitizeCSS, sanitizeTypographyCSS],
'sanitize/*': [sanitizeCSS, sanitizeFormsCSS, sanitizePageCSS, sanitizeTypographyCSS]
-});
+})
// get the resolved filename of a package/module
function resolve (id) {
@@ -44,5 +44,5 @@ function resolve (id) {
id: currentFilename,
filename: currentFilename,
paths: Module._nodeModulePaths(currentDirname)
- });
+ })
}
diff --git a/src/lib/parse.js b/src/lib/parse.js
index 57beeeb..1b39d5e 100644
--- a/src/lib/parse.js
+++ b/src/lib/parse.js
@@ -1,8 +1,8 @@
-import { create } from './util';
-import readFile from './readFile';
-import postcss from 'postcss';
+import { create } from './util'
+import readFile from './readFile'
+import postcss from 'postcss'
-const cache = create(null);
+const cache = create(null)
export default (filename, transformer) => readFile(filename).then(
// cache the parsed css root
@@ -18,4 +18,4 @@ export default (filename, transformer) => readFile(filename).then(
// resolve the cloned root
() => clone
)
-);
+)
diff --git a/src/lib/postcssImportNormalize.js b/src/lib/postcssImportNormalize.js
index df605e6..f581cad 100644
--- a/src/lib/postcssImportNormalize.js
+++ b/src/lib/postcssImportNormalize.js
@@ -1,10 +1,10 @@
-import { create } from './util';
-import { parsableFilenames, resolvedFilenamesById } from './cssMap';
-import parse from './parse';
-import readFile from './readFile';
+import { create } from './util'
+import { parsableFilenames, resolvedFilenamesById } from './cssMap'
+import parse from './parse'
+import readFile from './readFile'
export default commentsTransformer => opts => {
- opts = create(opts);
+ opts = create(opts)
// return an postcss-import configuration
return create({
@@ -18,11 +18,11 @@ export default commentsTransformer => opts => {
// otherwise, use the override loader
? opts.load.call(null, filename, importOptions)
// otherwise, return the (conservatively cached) contents of the file
- : readFile(filename);
+ : readFile(filename)
},
resolve (id, basedir, importOptions) {
// get the css id by removing css extensions
- const cssId = id.replace(cssExtRegExp, '');
+ const cssId = id.replace(cssExtRegExp, '')
return cssId in resolvedFilenamesById
// return the known resolved path for the css id
@@ -31,9 +31,9 @@ export default commentsTransformer => opts => {
// otherwise, use the override resolver
? opts.resolve.call(null, id, basedir, importOptions)
// otherwise, return the id to be resolved by postcss-import
- : id;
+ : id
}
- });
-};
+ })
+}
-const cssExtRegExp = /\.css\b/g;
+const cssExtRegExp = /\.css\b/g
diff --git a/src/lib/postcssNormalize.js b/src/lib/postcssNormalize.js
index dab44ae..6396f7d 100644
--- a/src/lib/postcssNormalize.js
+++ b/src/lib/postcssNormalize.js
@@ -1,23 +1,23 @@
-import { resolvedFilenamesById } from './cssMap';
-import parse from './parse';
+import { resolvedFilenamesById } from './cssMap'
+import parse from './parse'
const postcssPlugin = (commentsTransformer, opts) => root => {
- const promises = [];
- const insertedFilenames = {};
+ const promises = []
+ const insertedFilenames = {}
// use @import insertion point
root.walkAtRules(
importRegExp,
atrule => {
// get name as a fallback value for the library (e.g. @import-normalize is like @import "normalize.css")
- const name = atrule.name.match(importRegExp)[1];
+ const name = atrule.name.match(importRegExp)[1]
// get url from "library", 'library', url("library"), url('library'), or the fallback value
- const url = (atrule.params.match(paramsRegExp) || []).slice(1).find(part => part) || name;
+ const url = (atrule.params.match(paramsRegExp) || []).slice(1).find(part => part) || name
if (url) {
// get the css id by removing css extensions
- const cssId = url.replace(cssExtRegExp, '');
+ const cssId = url.replace(cssExtRegExp, '')
if (cssId in resolvedFilenamesById) {
// promise the library import is replaced with its contents
@@ -36,17 +36,17 @@ const postcssPlugin = (commentsTransformer, opts) => root => {
const nodes = roots.reduce(
(all, root) => all.concat(root.nodes),
[]
- );
+ )
// replace the import with all the library nodes
- atrule.replaceWith(...nodes);
+ atrule.replaceWith(...nodes)
}
})
- );
+ )
}
}
}
- );
+ )
return Promise.all([].concat(
// promise the library imports are replaced with their contents
@@ -61,14 +61,14 @@ const postcssPlugin = (commentsTransformer, opts) => root => {
if (id === true) {
all.push(...resolvedFilenamesById.normalize)
} else if (typeof id === 'string') {
- const cssId = id.replace(cssExtRegExp, '');
+ const cssId = id.replace(cssExtRegExp, '')
if (cssId in resolvedFilenamesById) {
- all.push(...resolvedFilenamesById[cssId]);
+ all.push(...resolvedFilenamesById[cssId])
}
}
- return all;
+ return all
},
[]
).filter(
@@ -84,17 +84,17 @@ const postcssPlugin = (commentsTransformer, opts) => root => {
const nodes = roots.reduce(
(all, root) => all.concat(root.nodes),
[]
- );
+ )
// prepend the stylesheet with all the library nodes
- root.prepend(...nodes);
+ root.prepend(...nodes)
}
})
- ));
-};
+ ))
+}
-const cssExtRegExp = /\.css\b/g;
-const importRegExp = /^import(?:-(normalize|sanitize))?$/;
-const paramsRegExp = /^\s*(?:url\((?:"(.+)"|'(.+)')\)|"(.+)"|'(.+)')[\W\w]*$/;
+const cssExtRegExp = /\.css\b/g
+const importRegExp = /^import(?:-(normalize|sanitize))?$/
+const paramsRegExp = /^\s*(?:url\((?:"(.+)"|'(.+)')\)|"(.+)"|'(.+)')[\W\w]*$/
-export default postcssPlugin;
+export default postcssPlugin
diff --git a/src/lib/readFile.js b/src/lib/readFile.js
index 9a6e66d..0936e5c 100644
--- a/src/lib/readFile.js
+++ b/src/lib/readFile.js
@@ -1,13 +1,13 @@
-import { create } from './util';
-import path from 'path';
-import fs from 'fs';
+import { create } from './util'
+import path from 'path'
+import fs from 'fs'
-const cache = create();
+const cache = create()
export default async function readFile (filename) {
- filename = path.resolve(filename);
+ filename = path.resolve(filename)
- cache[filename] = cache[filename] || create();
+ cache[filename] = cache[filename] || create()
return new Promise(
(resolve, reject) => fs.stat(
@@ -26,5 +26,5 @@ export default async function readFile (filename) {
)
)
)
- );
+ )
}
diff --git a/src/lib/util.js b/src/lib/util.js
index 6a124ad..338402e 100644
--- a/src/lib/util.js
+++ b/src/lib/util.js
@@ -1,2 +1,2 @@
-export const assign = (...objects) => Object.assign(...objects);
-export const create = (...objects) => assign(Object.create(null), ...objects);
+export const assign = (...objects) => Object.assign(...objects)
+export const create = (...objects) => assign(Object.create(null), ...objects)
diff --git a/test/basic-normalize.expect.css b/test/basic-normalize.expect.css
index 8356120..037e383 100644
--- a/test/basic-normalize.expect.css
+++ b/test/basic-normalize.expect.css
@@ -54,13 +54,15 @@ ul ul {
/**
* 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 2. Correct the inheritance of border color in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
box-sizing: content-box; /* 1 */
+ color: inherit; /* 2 */
height: 0; /* 1 */
- overflow: visible; /* 2 */
+ overflow: visible; /* 3 */
}
/**
@@ -133,6 +135,19 @@ svg:not(:root) {
overflow: hidden;
}
+/* Tabular data
+ * ========================================================================== */
+
+/**
+ * 1. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
+ */
+
+table {
+ border-color: inherit; /* 1 */
+ text-indent: 0; /* 2 */
+}
+
/* Forms
* ========================================================================== */
diff --git a/test/basic-sanitize.expect.css b/test/basic-sanitize.expect.css
index b5deaea..1b55be3 100644
--- a/test/basic-sanitize.expect.css
+++ b/test/basic-sanitize.expect.css
@@ -91,13 +91,15 @@ ul ul {
}
/**
- * 1. Add the correct sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 1. Correct the inheritance of border color in Firefox.
+ * 2. Add the correct box sizing in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
- height: 0; /* 1 */
- overflow: visible; /* 2 */
+ color: inherit; /* 1 */
+ height: 0; /* 2 */
+ overflow: visible; /* 3 */
}
/**
@@ -118,14 +120,25 @@ nav ul {
padding: 0;
}
+/**
+ * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
+ */
+
+nav li::before {
+ content: "\200B";
+}
+
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
+ * 3. Prevent overflow of the container in all browsers (opinionated).
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
+ overflow: auto; /* 3 */
+ -ms-overflow-style: scrollbar; /* 3 */
}
/* Text-level semantics
@@ -213,11 +226,15 @@ svg:not(:root) {
* ========================================================================== */
/**
- * Collapse border spacing in all browsers (opinionated).
+ * 1. Collapse border spacing in all browsers (opinionated).
+ * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
*/
table {
- border-collapse: collapse;
+ border-collapse: collapse; /* 1 */
+ border-color: inherit; /* 2 */
+ text-indent: 0; /* 3 */
}
/* Forms
@@ -312,6 +329,7 @@ textarea {
margin: 0; /* 1 */
overflow: auto; /* 2 */
resize: vertical; /* 3 */
+ resize: block; /* 3 */
}
/**
@@ -445,9 +463,7 @@ template {
* ========================================================================== */
/*
- * 1. Remove the tapping delay in IE 10.
- * 2. Remove the tapping delay on clickable elements
- in all browsers (opinionated).
+ * Remove the tapping delay in IE 10.
*/
a,
@@ -459,8 +475,7 @@ select,
summary,
textarea,
[tabindex] {
- -ms-touch-action: manipulation; /* 1 */
- touch-action: manipulation; /* 2 */
+ -ms-touch-action: manipulation;
}
/* Accessibility
diff --git a/test/duplicates.allow.expect.css b/test/duplicates.allow.expect.css
index e11ceb5..654cab1 100644
--- a/test/duplicates.allow.expect.css
+++ b/test/duplicates.allow.expect.css
@@ -43,12 +43,14 @@ ul ul {
}
/**
* 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 2. Correct the inheritance of border color in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
box-sizing: content-box; /* 1 */
+ color: inherit; /* 2 */
height: 0; /* 1 */
- overflow: visible; /* 2 */
+ overflow: visible; /* 3 */
}
/**
* Add the correct display in IE.
@@ -104,6 +106,16 @@ small {
svg:not(:root) {
overflow: hidden;
}
+/* Tabular data
+ * ========================================================================== */
+/**
+ * 1. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
+ */
+table {
+ border-color: inherit; /* 1 */
+ text-indent: 0; /* 2 */
+}
/* Forms
* ========================================================================== */
/**
@@ -323,12 +335,14 @@ ul ul {
}
/**
* 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 2. Correct the inheritance of border color in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
box-sizing: content-box; /* 1 */
+ color: inherit; /* 2 */
height: 0; /* 1 */
- overflow: visible; /* 2 */
+ overflow: visible; /* 3 */
}
/**
* Add the correct display in IE.
@@ -384,6 +398,16 @@ small {
svg:not(:root) {
overflow: hidden;
}
+/* Tabular data
+ * ========================================================================== */
+/**
+ * 1. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
+ */
+table {
+ border-color: inherit; /* 1 */
+ text-indent: 0; /* 2 */
+}
/* Forms
* ========================================================================== */
/**
diff --git a/test/duplicates.expect.css b/test/duplicates.expect.css
index e7015bf..bdf2672 100644
--- a/test/duplicates.expect.css
+++ b/test/duplicates.expect.css
@@ -43,12 +43,14 @@ ul ul {
}
/**
* 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 2. Correct the inheritance of border color in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
box-sizing: content-box; /* 1 */
+ color: inherit; /* 2 */
height: 0; /* 1 */
- overflow: visible; /* 2 */
+ overflow: visible; /* 3 */
}
/**
* Add the correct display in IE.
@@ -104,6 +106,16 @@ small {
svg:not(:root) {
overflow: hidden;
}
+/* Tabular data
+ * ========================================================================== */
+/**
+ * 1. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
+ */
+table {
+ border-color: inherit; /* 1 */
+ text-indent: 0; /* 2 */
+}
/* Forms
* ========================================================================== */
/**
diff --git a/test/force-normalize.expect.css b/test/force-normalize.expect.css
index 28a2d0a..441a7af 100644
--- a/test/force-normalize.expect.css
+++ b/test/force-normalize.expect.css
@@ -36,12 +36,14 @@ ul ul {
margin: 0;
}/**
* 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 2. Correct the inheritance of border color in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
box-sizing: content-box; /* 1 */
+ color: inherit; /* 2 */
height: 0; /* 1 */
- overflow: visible; /* 2 */
+ overflow: visible; /* 3 */
}/**
* Add the correct display in IE.
*/
@@ -87,6 +89,14 @@ small {
*/
svg:not(:root) {
overflow: hidden;
+}/* Tabular data
+ * ========================================================================== *//**
+ * 1. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
+ */
+table {
+ border-color: inherit; /* 1 */
+ text-indent: 0; /* 2 */
}/* Forms
* ========================================================================== *//**
* Remove the margin on controls in Safari.
diff --git a/test/force-sanitize-all.expect.css b/test/force-sanitize-all.expect.css
index 6478cc5..07e7678 100644
--- a/test/force-sanitize-all.expect.css
+++ b/test/force-sanitize-all.expect.css
@@ -64,12 +64,14 @@ ul ol,
ul ul {
margin: 0;
}/**
- * 1. Add the correct sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 1. Correct the inheritance of border color in Firefox.
+ * 2. Add the correct box sizing in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
- height: 0; /* 1 */
- overflow: visible; /* 2 */
+ color: inherit; /* 1 */
+ height: 0; /* 2 */
+ overflow: visible; /* 3 */
}/**
* Add the correct display in IE.
*/
@@ -82,13 +84,21 @@ nav ol,
nav ul {
list-style: none;
padding: 0;
+}/**
+ * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
+ */
+nav li::before {
+ content: "\200B";
}/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
+ * 3. Prevent overflow of the container in all browsers (opinionated).
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
+ overflow: auto; /* 3 */
+ -ms-overflow-style: scrollbar; /* 3 */
}/* Text-level semantics
* ========================================================================== *//**
* Add the correct text decoration in Edge 18-, IE, and Safari.
@@ -144,10 +154,14 @@ svg:not(:root) {
overflow: hidden;
}/* Tabular data
* ========================================================================== *//**
- * Collapse border spacing in all browsers (opinionated).
+ * 1. Collapse border spacing in all browsers (opinionated).
+ * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
*/
table {
- border-collapse: collapse;
+ border-collapse: collapse; /* 1 */
+ border-color: inherit; /* 2 */
+ text-indent: 0; /* 3 */
}/* Forms
* ========================================================================== *//**
* Remove the margin on controls in Safari.
@@ -213,6 +227,7 @@ textarea {
margin: 0; /* 1 */
overflow: auto; /* 2 */
resize: vertical; /* 3 */
+ resize: block; /* 3 */
}/**
* 1. Correct the odd appearance in Chrome, Edge, and Safari.
* 2. Correct the outline style in Safari.
@@ -301,9 +316,7 @@ template {
display: none;
}/* User interaction
* ========================================================================== *//*
- * 1. Remove the tapping delay in IE 10.
- * 2. Remove the tapping delay on clickable elements
- in all browsers (opinionated).
+ * Remove the tapping delay in IE 10.
*/
a,
area,
@@ -314,8 +327,7 @@ select,
summary,
textarea,
[tabindex] {
- -ms-touch-action: manipulation; /* 1 */
- touch-action: manipulation; /* 2 */
+ -ms-touch-action: manipulation;
}/* Accessibility
* ========================================================================== *//**
* Change the cursor on busy elements in all browsers (opinionated).
@@ -372,6 +384,13 @@ select {
*/
select:not([multiple]):not([size]) {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E");
+}/**
+ * Remove the border and padding in all browsers (opinionated).
+ */
+[type="color"],
+[type="range"] {
+ border-width: 0;
+ padding: 0;
}/**
* Change the inconsistent appearance in IE (opinionated).
*/
@@ -392,16 +411,6 @@ html {
html {
padding: 1em calc(50% - 16em);
}
-}/**
- * Restrict sizing to the page width in all browsers (opinionated).
- */
-iframe,
-img,
-input,
-select,
-textarea {
- height: auto;
- max-width: 100%;
}/**
* Use the default user interface font in all browsers (opinionated).
*/
diff --git a/test/force-sanitize.expect.css b/test/force-sanitize.expect.css
index bd62638..f1152dd 100644
--- a/test/force-sanitize.expect.css
+++ b/test/force-sanitize.expect.css
@@ -64,12 +64,14 @@ ul ol,
ul ul {
margin: 0;
}/**
- * 1. Add the correct sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 1. Correct the inheritance of border color in Firefox.
+ * 2. Add the correct box sizing in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
- height: 0; /* 1 */
- overflow: visible; /* 2 */
+ color: inherit; /* 1 */
+ height: 0; /* 2 */
+ overflow: visible; /* 3 */
}/**
* Add the correct display in IE.
*/
@@ -82,13 +84,21 @@ nav ol,
nav ul {
list-style: none;
padding: 0;
+}/**
+ * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
+ */
+nav li::before {
+ content: "\200B";
}/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
+ * 3. Prevent overflow of the container in all browsers (opinionated).
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
+ overflow: auto; /* 3 */
+ -ms-overflow-style: scrollbar; /* 3 */
}/* Text-level semantics
* ========================================================================== *//**
* Add the correct text decoration in Edge 18-, IE, and Safari.
@@ -144,10 +154,14 @@ svg:not(:root) {
overflow: hidden;
}/* Tabular data
* ========================================================================== *//**
- * Collapse border spacing in all browsers (opinionated).
+ * 1. Collapse border spacing in all browsers (opinionated).
+ * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
*/
table {
- border-collapse: collapse;
+ border-collapse: collapse; /* 1 */
+ border-color: inherit; /* 2 */
+ text-indent: 0; /* 3 */
}/* Forms
* ========================================================================== *//**
* Remove the margin on controls in Safari.
@@ -213,6 +227,7 @@ textarea {
margin: 0; /* 1 */
overflow: auto; /* 2 */
resize: vertical; /* 3 */
+ resize: block; /* 3 */
}/**
* 1. Correct the odd appearance in Chrome, Edge, and Safari.
* 2. Correct the outline style in Safari.
@@ -301,9 +316,7 @@ template {
display: none;
}/* User interaction
* ========================================================================== *//*
- * 1. Remove the tapping delay in IE 10.
- * 2. Remove the tapping delay on clickable elements
- in all browsers (opinionated).
+ * Remove the tapping delay in IE 10.
*/
a,
area,
@@ -314,8 +327,7 @@ select,
summary,
textarea,
[tabindex] {
- -ms-touch-action: manipulation; /* 1 */
- touch-action: manipulation; /* 2 */
+ -ms-touch-action: manipulation;
}/* Accessibility
* ========================================================================== *//**
* Change the cursor on busy elements in all browsers (opinionated).
diff --git a/test/import-normalize-opinionated.expect.css b/test/import-normalize-opinionated.expect.css
index ee27825..4b44634 100644
--- a/test/import-normalize-opinionated.expect.css
+++ b/test/import-normalize-opinionated.expect.css
@@ -62,13 +62,15 @@ ul ul {
/**
* 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 2. Correct the inheritance of border color in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
box-sizing: content-box; /* 1 */
+ color: inherit; /* 2 */
height: 0; /* 1 */
- overflow: visible; /* 2 */
+ overflow: visible; /* 3 */
}
/**
@@ -141,6 +143,19 @@ svg:not(:root) {
overflow: hidden;
}
+/* Tabular data
+ * ========================================================================== */
+
+/**
+ * 1. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
+ */
+
+table {
+ border-color: inherit; /* 1 */
+ text-indent: 0; /* 2 */
+}
+
/* Forms
* ========================================================================== */
@@ -223,7 +238,6 @@ select {
}
/**
- * 1. Change the font styles in all browsers (opinionated).
* 2. Remove the margin in Firefox and Safari.
* 3. Remove the default vertical scrollbar in IE.
*/
diff --git a/test/import-normalize.expect.css b/test/import-normalize.expect.css
index 6a44ed4..653c78d 100644
--- a/test/import-normalize.expect.css
+++ b/test/import-normalize.expect.css
@@ -54,13 +54,15 @@ ul ul {
/**
* 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 2. Correct the inheritance of border color in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
box-sizing: content-box; /* 1 */
+ color: inherit; /* 2 */
height: 0; /* 1 */
- overflow: visible; /* 2 */
+ overflow: visible; /* 3 */
}
/**
@@ -133,6 +135,19 @@ svg:not(:root) {
overflow: hidden;
}
+/* Tabular data
+ * ========================================================================== */
+
+/**
+ * 1. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
+ */
+
+table {
+ border-color: inherit; /* 1 */
+ text-indent: 0; /* 2 */
+}
+
/* Forms
* ========================================================================== */
@@ -358,4 +373,4 @@ body {
font-family: sans-serif;
}
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9AY3NzdG9vbHMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwiaW1wb3J0LW5vcm1hbGl6ZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7K0VBQytFOztBQUUvRTs7OztFQUlFOztBQUVGO0VBQ0UsaUJBQWlCLEVBQUUsTUFBTTtFQUN6QiwwQkFBMEIsRUFBRSxNQUFNO0VBQ2xDLDhCQUE4QixFQUFFLE1BQU07QUFDeEM7O0FBRUE7K0VBQytFOztBQUUvRTs7O0VBR0U7O0FBRUY7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0FBQ2xCOztBQUVBOytFQUMrRTs7QUFFL0U7O0VBRUU7O0FBRUY7Ozs7O0VBS0UsU0FBUztBQUNYOztBQUVBOztFQUVFOztBQUVGOzs7O0VBSUUsU0FBUztBQUNYOztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLHVCQUF1QixFQUFFLE1BQU07RUFDL0IsU0FBUyxFQUFFLE1BQU07RUFDakIsaUJBQWlCLEVBQUUsTUFBTTtBQUMzQjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7OztFQUdFOztBQUVGO0VBQ0UsaUNBQWlDLEVBQUUsTUFBTTtFQUN6QyxjQUFjLEVBQUUsTUFBTTtBQUN4Qjs7QUFFQTsrRUFDK0U7O0FBVS9FOztFQUVFOztBQUVGO0VBQ0UsMEJBQTBCO0VBQzFCLGlDQUFpQztBQUNuQzs7QUFFQTs7RUFFRTs7QUFFRjs7RUFFRSxtQkFBbUI7QUFDckI7O0FBRUE7OztFQUdFOztBQUVGOzs7RUFHRSxpQ0FBaUMsRUFBRSxNQUFNO0VBQ3pDLGNBQWMsRUFBRSxNQUFNO0FBQ3hCOztBQUVBOztFQUVFOztBQUVGO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTsrRUFDK0U7O0FBNEIvRTs7RUFFRTs7QUFFRjtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTsrRUFDK0U7O0FBRS9FOztFQUVFOztBQUVGOzs7RUFHRSxTQUFTO0FBQ1g7O0FBRUE7OztFQUdFOztBQUVGO0VBQ0UsaUJBQWlCLEVBQUUsTUFBTTtFQUN6QixvQkFBb0IsRUFBRSxNQUFNO0FBQzlCOztBQUVBOztFQUVFOztBQUVGOzs7O0VBSUUsMEJBQTBCO0FBQzVCOztBQUVBOztFQUVFOztBQUVGO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBOztFQUVFOztBQUVGO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLHNCQUFzQixFQUFFLE1BQU07RUFDOUIsY0FBYyxFQUFFLE1BQU07RUFDdEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsZUFBZSxFQUFFLE1BQU07RUFDdkIsbUJBQW1CLEVBQUUsTUFBTTtBQUM3Qjs7QUFFQTs7O0VBR0U7O0FBRUY7RUFDRSxxQkFBcUIsRUFBRSxNQUFNO0VBQzdCLHdCQUF3QixFQUFFLE1BQU07QUFDbEM7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7OztFQUdFOztBQUVGO0VBQ0UsU0FBUyxFQUFFLE1BQU07RUFDakIsY0FBYyxFQUFFLE1BQU07QUFDeEI7O0FBYUE7OztFQUdFOztBQUVGO0VBQ0UsNkJBQTZCLEVBQUUsTUFBTTtFQUNyQyxvQkFBb0IsRUFBRSxNQUFNO0FBQzlCOztBQUVBOztFQUVFOztBQUVGOztFQUVFLFlBQVk7QUFDZDs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLGNBQWM7RUFDZCxhQUFhO0FBQ2Y7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7OztFQUdFOztBQUVGO0VBQ0UsMEJBQTBCLEVBQUUsTUFBTTtFQUNsQyxhQUFhLEVBQUUsTUFBTTtBQUN2Qjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLGtCQUFrQjtFQUNsQixVQUFVO0FBQ1o7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSw4QkFBOEI7QUFDaEM7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7K0VBQytFOztBQUUvRTs7RUFFRTs7QUFFRjtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSx1QkFBdUI7RUFDdkIsYUFBYTtFQUNiLFlBQVk7RUFDWixjQUFjO0VBQ2Qsd0JBQXdCO0VBQ3hCLDJCQUEyQjtFQUMzQixtQkFBbUI7RUFDbkIsT0FBTztFQUNQLFlBQVk7RUFDWixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUix1QkFBdUI7RUFDdkIsMEJBQTBCO0VBQzFCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTsrRUFDK0U7O0FBVS9FOztFQUVFOztBQUVGO0VBQ0UsYUFBYTtBQUNmOztBQUVBOytFQUMrRTs7QUNyWi9FO0NBQ0MsdUJBQXVCO0FBQ3hCIiwiZmlsZSI6InBvc3Rjc3MtaW1wb3J0LnJlc3VsdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBEb2N1bWVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBFZGdlLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gb24gbmVzdGVkIGxpc3RzIGluIENocm9tZSwgRWRnZSwgSUUsIGFuZCBTYWZhcmkuXG4gKi9cblxuZGwgZGwsXG5kbCBvbCxcbmRsIHVsLFxub2wgZGwsXG51bCBkbCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBvbiBuZXN0ZWQgbGlzdHMgaW4gRWRnZSAxOC0gYW5kIElFLlxuICovXG5cbm9sIG9sLFxub2wgdWwsXG51bCBvbCxcbnVsIHVsIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIDE4LSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIEVkZ2UgMTgtLCBJRSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyB3aXRoaW4gbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIG9uIGNvbnRyb2xzIGluIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDIuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSAxOC0sIEZpcmVmb3gsIGFuZCBJRS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBidXR0b25zIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgMTgtIGFuZCBJRS5cbiAqL1xuXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSAxOC0gYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlIDE4LSBhbmQgSUUuXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRWRnZSwgYW5kIEZpcmVmb3guXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqIDIuIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IGF1dG87IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU0O1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSB1cGxvYWQgYnV0dG9ucyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIG9mIGZvY3VzIG91dGxpbmVzIGluIEZpcmVmb3guXG4gKi9cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIG91dGxpbmUgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlIGluIEZpcmVmb3guXG4gKi9cblxuOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYWRkaXRpb25hbCA6aW52YWxpZCBzdHlsZXMgaW4gRmlyZWZveC5cbiAqL1xuXG46LW1vei11aS1pbnZhbGlkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogSW50ZXJhY3RpdmVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlIDE4LSBhbmQgSUUuXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IHN0eWxlcyBpbiBFZGdlIDE4LSwgSUUsIGFuZCBTYWZhcmkuXG4gKi9cblxuZGlhbG9nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogc29saWQ7XG4gIGNvbG9yOiBibGFjaztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogLW1vei1maXQtY29udGVudDtcbiAgaGVpZ2h0OiAtd2Via2l0LWZpdC1jb250ZW50O1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDFlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbmRpYWxvZzpub3QoW29wZW5dKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFVzZXIgaW50ZXJhY3Rpb25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgXCJub3JtYWxpemVcIjtcblxuYm9keSB7XG5cdGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xufVxuIl19 */
\ No newline at end of file
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9AY3NzdG9vbHMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwiaW1wb3J0LW5vcm1hbGl6ZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7K0VBQytFOztBQUUvRTs7OztFQUlFOztBQUVGO0VBQ0UsaUJBQWlCLEVBQUUsTUFBTTtFQUN6QiwwQkFBMEIsRUFBRSxNQUFNO0VBQ2xDLDhCQUE4QixFQUFFLE1BQU07QUFDeEM7O0FBRUE7K0VBQytFOztBQUUvRTs7O0VBR0U7O0FBRUY7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0FBQ2xCOztBQUVBOytFQUMrRTs7QUFFL0U7O0VBRUU7O0FBRUY7Ozs7O0VBS0UsU0FBUztBQUNYOztBQUVBOztFQUVFOztBQUVGOzs7O0VBSUUsU0FBUztBQUNYOztBQUVBOzs7O0VBSUU7O0FBRUY7RUFDRSx1QkFBdUIsRUFBRSxNQUFNO0VBQy9CLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLGlCQUFpQixFQUFFLE1BQU07QUFDM0I7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSxjQUFjO0FBQ2hCOztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLGlDQUFpQyxFQUFFLE1BQU07RUFDekMsY0FBYyxFQUFFLE1BQU07QUFDeEI7O0FBRUE7K0VBQytFOztBQVUvRTs7RUFFRTs7QUFFRjtFQUNFLDBCQUEwQjtFQUMxQixpQ0FBaUM7QUFDbkM7O0FBRUE7O0VBRUU7O0FBRUY7O0VBRUUsbUJBQW1CO0FBQ3JCOztBQUVBOzs7RUFHRTs7QUFFRjs7O0VBR0UsaUNBQWlDLEVBQUUsTUFBTTtFQUN6QyxjQUFjLEVBQUUsTUFBTTtBQUN4Qjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7K0VBQytFOztBQTRCL0U7O0VBRUU7O0FBRUY7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7K0VBQytFOztBQUUvRTs7O0VBR0U7O0FBRUY7RUFDRSxxQkFBcUIsRUFBRSxNQUFNO0VBQzdCLGNBQWMsRUFBRSxNQUFNO0FBQ3hCOztBQUVBOytFQUMrRTs7QUFFL0U7O0VBRUU7O0FBRUY7OztFQUdFLFNBQVM7QUFDWDs7QUFFQTs7O0VBR0U7O0FBRUY7RUFDRSxpQkFBaUIsRUFBRSxNQUFNO0VBQ3pCLG9CQUFvQixFQUFFLE1BQU07QUFDOUI7O0FBRUE7O0VBRUU7O0FBRUY7Ozs7RUFJRSwwQkFBMEI7QUFDNUI7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSw4QkFBOEI7QUFDaEM7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSxpQkFBaUI7QUFDbkI7O0FBRUE7OztFQUdFOztBQUVGO0VBQ0Usc0JBQXNCLEVBQUUsTUFBTTtFQUM5QixjQUFjLEVBQUUsTUFBTTtFQUN0QixjQUFjLEVBQUUsTUFBTTtFQUN0QixlQUFlLEVBQUUsTUFBTTtFQUN2QixtQkFBbUIsRUFBRSxNQUFNO0FBQzdCOztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLHFCQUFxQixFQUFFLE1BQU07RUFDN0Isd0JBQXdCLEVBQUUsTUFBTTtBQUNsQzs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLG9CQUFvQjtBQUN0Qjs7QUFFQTs7O0VBR0U7O0FBRUY7RUFDRSxTQUFTLEVBQUUsTUFBTTtFQUNqQixjQUFjLEVBQUUsTUFBTTtBQUN4Qjs7QUFhQTs7O0VBR0U7O0FBRUY7RUFDRSw2QkFBNkIsRUFBRSxNQUFNO0VBQ3JDLG9CQUFvQixFQUFFLE1BQU07QUFDOUI7O0FBRUE7O0VBRUU7O0FBRUY7O0VBRUUsWUFBWTtBQUNkOztBQUVBOztFQUVFOztBQUVGO0VBQ0UsY0FBYztFQUNkLGFBQWE7QUFDZjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTs7O0VBR0U7O0FBRUY7RUFDRSwwQkFBMEIsRUFBRSxNQUFNO0VBQ2xDLGFBQWEsRUFBRSxNQUFNO0FBQ3ZCOztBQUVBOztFQUVFOztBQUVGO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7QUFDWjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTsrRUFDK0U7O0FBRS9FOztFQUVFOztBQUVGO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLHVCQUF1QjtFQUN2QixhQUFhO0VBQ2IsWUFBWTtFQUNaLGNBQWM7RUFDZCx3QkFBd0I7RUFDeEIsMkJBQTJCO0VBQzNCLG1CQUFtQjtFQUNuQixPQUFPO0VBQ1AsWUFBWTtFQUNaLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLHVCQUF1QjtFQUN2QiwwQkFBMEI7RUFDMUIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBOztFQUVFOztBQUVGO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBOytFQUMrRTs7QUFVL0U7O0VBRUU7O0FBRUY7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7K0VBQytFOztBQ3BhL0U7Q0FDQyx1QkFBdUI7QUFDeEIiLCJmaWxlIjoicG9zdGNzcy1pbXBvcnQucmVzdWx0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIERvY3VtZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEVkZ2UsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBvbiBuZXN0ZWQgbGlzdHMgaW4gQ2hyb21lLCBFZGdlLCBJRSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5kbCBkbCxcbmRsIG9sLFxuZGwgdWwsXG5vbCBkbCxcbnVsIGRsIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIG9uIG5lc3RlZCBsaXN0cyBpbiBFZGdlIDE4LSBhbmQgSUUuXG4gKi9cblxub2wgb2wsXG5vbCB1bCxcbnVsIG9sLFxudWwgdWwge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LlxuICogMy4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSAxOC0gYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBFZGdlIDE4LSwgSUUsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgd2l0aGluIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBUYWJ1bGFyIGRhdGFcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqIDIuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIHRleHQtaW5kZW50OiAwOyAvKiAyICovXG59XG5cbi8qIEZvcm1zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIG9uIGNvbnRyb2xzIGluIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDIuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSAxOC0sIEZpcmVmb3gsIGFuZCBJRS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBidXR0b25zIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgMTgtIGFuZCBJRS5cbiAqL1xuXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSAxOC0gYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlIDE4LSBhbmQgSUUuXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRWRnZSwgYW5kIEZpcmVmb3guXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqIDIuIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IGF1dG87IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU0O1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSB1cGxvYWQgYnV0dG9ucyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIG9mIGZvY3VzIG91dGxpbmVzIGluIEZpcmVmb3guXG4gKi9cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIG91dGxpbmUgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlIGluIEZpcmVmb3guXG4gKi9cblxuOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYWRkaXRpb25hbCA6aW52YWxpZCBzdHlsZXMgaW4gRmlyZWZveC5cbiAqL1xuXG46LW1vei11aS1pbnZhbGlkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogSW50ZXJhY3RpdmVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlIDE4LSBhbmQgSUUuXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IHN0eWxlcyBpbiBFZGdlIDE4LSwgSUUsIGFuZCBTYWZhcmkuXG4gKi9cblxuZGlhbG9nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogc29saWQ7XG4gIGNvbG9yOiBibGFjaztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogLW1vei1maXQtY29udGVudDtcbiAgaGVpZ2h0OiAtd2Via2l0LWZpdC1jb250ZW50O1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDFlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbmRpYWxvZzpub3QoW29wZW5dKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFVzZXIgaW50ZXJhY3Rpb25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgXCJub3JtYWxpemVcIjtcblxuYm9keSB7XG5cdGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xufVxuIl19 */
\ No newline at end of file
diff --git a/test/import-sanitize-all.expect.css b/test/import-sanitize-all.expect.css
index 280503f..d7149a3 100644
--- a/test/import-sanitize-all.expect.css
+++ b/test/import-sanitize-all.expect.css
@@ -64,12 +64,14 @@ ul ol,
ul ul {
margin: 0;
}/**
- * 1. Add the correct sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 1. Correct the inheritance of border color in Firefox.
+ * 2. Add the correct box sizing in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
- height: 0; /* 1 */
- overflow: visible; /* 2 */
+ color: inherit; /* 1 */
+ height: 0; /* 2 */
+ overflow: visible; /* 3 */
}/**
* Add the correct display in IE.
*/
@@ -82,13 +84,21 @@ nav ol,
nav ul {
list-style: none;
padding: 0;
+}/**
+ * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
+ */
+nav li::before {
+ content: "\200B";
}/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
+ * 3. Prevent overflow of the container in all browsers (opinionated).
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
+ overflow: auto; /* 3 */
+ -ms-overflow-style: scrollbar; /* 3 */
}/* Text-level semantics
* ========================================================================== *//**
* Add the correct text decoration in Edge 18-, IE, and Safari.
@@ -144,10 +154,14 @@ svg:not(:root) {
overflow: hidden;
}/* Tabular data
* ========================================================================== *//**
- * Collapse border spacing in all browsers (opinionated).
+ * 1. Collapse border spacing in all browsers (opinionated).
+ * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
*/
table {
- border-collapse: collapse;
+ border-collapse: collapse; /* 1 */
+ border-color: inherit; /* 2 */
+ text-indent: 0; /* 3 */
}/* Forms
* ========================================================================== *//**
* Remove the margin on controls in Safari.
@@ -213,6 +227,7 @@ textarea {
margin: 0; /* 1 */
overflow: auto; /* 2 */
resize: vertical; /* 3 */
+ resize: block; /* 3 */
}/**
* 1. Correct the odd appearance in Chrome, Edge, and Safari.
* 2. Correct the outline style in Safari.
@@ -301,9 +316,7 @@ template {
display: none;
}/* User interaction
* ========================================================================== *//*
- * 1. Remove the tapping delay in IE 10.
- * 2. Remove the tapping delay on clickable elements
- in all browsers (opinionated).
+ * Remove the tapping delay in IE 10.
*/
a,
area,
@@ -314,8 +327,7 @@ select,
summary,
textarea,
[tabindex] {
- -ms-touch-action: manipulation; /* 1 */
- touch-action: manipulation; /* 2 */
+ -ms-touch-action: manipulation;
}/* Accessibility
* ========================================================================== *//**
* Change the cursor on busy elements in all browsers (opinionated).
@@ -372,6 +384,13 @@ select {
*/
select:not([multiple]):not([size]) {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E");
+}/**
+ * Remove the border and padding in all browsers (opinionated).
+ */
+[type="color"],
+[type="range"] {
+ border-width: 0;
+ padding: 0;
}/**
* Change the inconsistent appearance in IE (opinionated).
*/
@@ -392,16 +411,6 @@ html {
html {
padding: 1em calc(50% - 16em);
}
-}/**
- * Restrict sizing to the page width in all browsers (opinionated).
- */
-iframe,
-img,
-input,
-select,
-textarea {
- height: auto;
- max-width: 100%;
}/**
* Use the default user interface font in all browsers (opinionated).
*/
diff --git a/test/import-sanitize-forms.expect.css b/test/import-sanitize-forms.expect.css
index 18da611..9cd29aa 100644
--- a/test/import-sanitize-forms.expect.css
+++ b/test/import-sanitize-forms.expect.css
@@ -64,12 +64,14 @@ ul ol,
ul ul {
margin: 0;
}/**
- * 1. Add the correct sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 1. Correct the inheritance of border color in Firefox.
+ * 2. Add the correct box sizing in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
- height: 0; /* 1 */
- overflow: visible; /* 2 */
+ color: inherit; /* 1 */
+ height: 0; /* 2 */
+ overflow: visible; /* 3 */
}/**
* Add the correct display in IE.
*/
@@ -82,13 +84,21 @@ nav ol,
nav ul {
list-style: none;
padding: 0;
+}/**
+ * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
+ */
+nav li::before {
+ content: "\200B";
}/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
+ * 3. Prevent overflow of the container in all browsers (opinionated).
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
+ overflow: auto; /* 3 */
+ -ms-overflow-style: scrollbar; /* 3 */
}/* Text-level semantics
* ========================================================================== *//**
* Add the correct text decoration in Edge 18-, IE, and Safari.
@@ -144,10 +154,14 @@ svg:not(:root) {
overflow: hidden;
}/* Tabular data
* ========================================================================== *//**
- * Collapse border spacing in all browsers (opinionated).
+ * 1. Collapse border spacing in all browsers (opinionated).
+ * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
*/
table {
- border-collapse: collapse;
+ border-collapse: collapse; /* 1 */
+ border-color: inherit; /* 2 */
+ text-indent: 0; /* 3 */
}/* Forms
* ========================================================================== *//**
* Remove the margin on controls in Safari.
@@ -213,6 +227,7 @@ textarea {
margin: 0; /* 1 */
overflow: auto; /* 2 */
resize: vertical; /* 3 */
+ resize: block; /* 3 */
}/**
* 1. Correct the odd appearance in Chrome, Edge, and Safari.
* 2. Correct the outline style in Safari.
@@ -301,9 +316,7 @@ template {
display: none;
}/* User interaction
* ========================================================================== *//*
- * 1. Remove the tapping delay in IE 10.
- * 2. Remove the tapping delay on clickable elements
- in all browsers (opinionated).
+ * Remove the tapping delay in IE 10.
*/
a,
area,
@@ -314,8 +327,7 @@ select,
summary,
textarea,
[tabindex] {
- -ms-touch-action: manipulation; /* 1 */
- touch-action: manipulation; /* 2 */
+ -ms-touch-action: manipulation;
}/* Accessibility
* ========================================================================== *//**
* Change the cursor on busy elements in all browsers (opinionated).
@@ -372,6 +384,13 @@ select {
*/
select:not([multiple]):not([size]) {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E");
+}/**
+ * Remove the border and padding in all browsers (opinionated).
+ */
+[type="color"],
+[type="range"] {
+ border-width: 0;
+ padding: 0;
}/**
* Change the inconsistent appearance in IE (opinionated).
*/
diff --git a/test/normalize.expect.css b/test/normalize.expect.css
index 8356120..037e383 100644
--- a/test/normalize.expect.css
+++ b/test/normalize.expect.css
@@ -54,13 +54,15 @@ ul ul {
/**
* 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 2. Correct the inheritance of border color in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
box-sizing: content-box; /* 1 */
+ color: inherit; /* 2 */
height: 0; /* 1 */
- overflow: visible; /* 2 */
+ overflow: visible; /* 3 */
}
/**
@@ -133,6 +135,19 @@ svg:not(:root) {
overflow: hidden;
}
+/* Tabular data
+ * ========================================================================== */
+
+/**
+ * 1. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
+ */
+
+table {
+ border-color: inherit; /* 1 */
+ text-indent: 0; /* 2 */
+}
+
/* Forms
* ========================================================================== */
diff --git a/test/sanitize.expect.css b/test/sanitize.expect.css
index 95b84d0..6f4b479 100644
--- a/test/sanitize.expect.css
+++ b/test/sanitize.expect.css
@@ -91,13 +91,15 @@ ul ul {
}
/**
- * 1. Add the correct sizing in Firefox.
- * 2. Show the overflow in Edge 18- and IE.
+ * 1. Correct the inheritance of border color in Firefox.
+ * 2. Add the correct box sizing in Firefox.
+ * 3. Show the overflow in Edge 18- and IE.
*/
hr {
- height: 0; /* 1 */
- overflow: visible; /* 2 */
+ color: inherit; /* 1 */
+ height: 0; /* 2 */
+ overflow: visible; /* 3 */
}
/**
@@ -118,14 +120,25 @@ nav ul {
padding: 0;
}
+/**
+ * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
+ */
+
+nav li::before {
+ content: "\200B";
+}
+
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
+ * 3. Prevent overflow of the container in all browsers (opinionated).
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
+ overflow: auto; /* 3 */
+ -ms-overflow-style: scrollbar; /* 3 */
}
/* Text-level semantics
@@ -213,11 +226,15 @@ svg:not(:root) {
* ========================================================================== */
/**
- * Collapse border spacing in all browsers (opinionated).
+ * 1. Collapse border spacing in all browsers (opinionated).
+ * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
+ * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
*/
table {
- border-collapse: collapse;
+ border-collapse: collapse; /* 1 */
+ border-color: inherit; /* 2 */
+ text-indent: 0; /* 3 */
}
/* Forms
@@ -312,6 +329,7 @@ textarea {
margin: 0; /* 1 */
overflow: auto; /* 2 */
resize: vertical; /* 3 */
+ resize: block; /* 3 */
}
/**
@@ -445,9 +463,7 @@ template {
* ========================================================================== */
/*
- * 1. Remove the tapping delay in IE 10.
- * 2. Remove the tapping delay on clickable elements
- in all browsers (opinionated).
+ * Remove the tapping delay in IE 10.
*/
a,
@@ -459,8 +475,7 @@ select,
summary,
textarea,
[tabindex] {
- -ms-touch-action: manipulation; /* 1 */
- touch-action: manipulation; /* 2 */
+ -ms-touch-action: manipulation;
}
/* Accessibility