mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-01 13:42:20 +00:00
0.2.0 - Mid migration
This commit is contained in:
parent
139e6a915e
commit
7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions
27
web/node_modules/@csstools/convert-colors/CHANGELOG.md
generated
vendored
Normal file
27
web/node_modules/@csstools/convert-colors/CHANGELOG.md
generated
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
# Changes to Convert Colors
|
||||
|
||||
### 1.4.0 (January 27, 2018)
|
||||
|
||||
- Add LCH conversions
|
||||
- Allow fallbacks in RGB conversions (for gray conversions)
|
||||
- Add Lab and LCH tests
|
||||
- Simplify test array joining
|
||||
- Rename references from "LAB" to "Lab"
|
||||
|
||||
### 1.3.0 (January 25, 2018)
|
||||
|
||||
- Export all converter combinations of `rgb`, `hsl`, `hwb`, `lab`, `hsv`,
|
||||
`xyz`, and also the `rgb2hue` converter
|
||||
- Organize library into files
|
||||
|
||||
### 1.2.0 (January 24, 2018)
|
||||
|
||||
- Export `rgb2lab`, `lab2rgb`, `hsl2lab`, etc. converters
|
||||
|
||||
### 1.1.0 (January 22, 2018)
|
||||
|
||||
- Export `rgb2hue` converter
|
||||
|
||||
### 1.0.0 (January 21, 2018)
|
||||
|
||||
- Initial version
|
108
web/node_modules/@csstools/convert-colors/LICENSE.md
generated
vendored
Normal file
108
web/node_modules/@csstools/convert-colors/LICENSE.md
generated
vendored
Normal file
|
@ -0,0 +1,108 @@
|
|||
# CC0 1.0 Universal
|
||||
|
||||
## Statement of Purpose
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer
|
||||
exclusive Copyright and Related Rights (defined below) upon the creator and
|
||||
subsequent owner(s) (each and all, an “owner”) of an original work of
|
||||
authorship and/or a database (each, a “Work”).
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for the
|
||||
purpose of contributing to a commons of creative, cultural and scientific works
|
||||
(“Commons”) that the public can reliably and without fear of later claims of
|
||||
infringement build upon, modify, incorporate in other works, reuse and
|
||||
redistribute as freely as possible in any form whatsoever and for any purposes,
|
||||
including without limitation commercial purposes. These owners may contribute
|
||||
to the Commons to promote the ideal of a free culture and the further
|
||||
production of creative, cultural and scientific works, or to gain reputation or
|
||||
greater distribution for their Work in part through the use and efforts of
|
||||
others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any expectation of
|
||||
additional consideration or compensation, the person associating CC0 with a
|
||||
Work (the “Affirmer”), to the extent that he or she is an owner of Copyright
|
||||
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and
|
||||
publicly distribute the Work under its terms, with knowledge of his or her
|
||||
Copyright and Related Rights in the Work and the meaning and intended legal
|
||||
effect of CC0 on those rights.
|
||||
|
||||
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||
protected by copyright and related or neighboring rights (“Copyright and
|
||||
Related Rights”). Copyright and Related Rights include, but are not limited
|
||||
to, the following:
|
||||
1. the right to reproduce, adapt, distribute, perform, display, communicate,
|
||||
and translate a Work;
|
||||
2. moral rights retained by the original author(s) and/or performer(s);
|
||||
3. publicity and privacy rights pertaining to a person’s image or likeness
|
||||
depicted in a Work;
|
||||
4. rights protecting against unfair competition in regards to a Work,
|
||||
subject to the limitations in paragraph 4(i), below;
|
||||
5. rights protecting the extraction, dissemination, use and reuse of data in
|
||||
a Work;
|
||||
6. database rights (such as those arising under Directive 96/9/EC of the
|
||||
European Parliament and of the Council of 11 March 1996 on the legal
|
||||
protection of databases, and under any national implementation thereof,
|
||||
including any amended or successor version of such directive); and
|
||||
7. other similar, equivalent or corresponding rights throughout the world
|
||||
based on applicable law or treaty, and any national implementations
|
||||
thereof.
|
||||
|
||||
2. Waiver. To the greatest extent permitted by, but not in contravention of,
|
||||
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
|
||||
unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright
|
||||
and Related Rights and associated claims and causes of action, whether now
|
||||
known or unknown (including existing as well as future claims and causes of
|
||||
action), in the Work (i) in all territories worldwide, (ii) for the maximum
|
||||
duration provided by applicable law or treaty (including future time
|
||||
extensions), (iii) in any current or future medium and for any number of
|
||||
copies, and (iv) for any purpose whatsoever, including without limitation
|
||||
commercial, advertising or promotional purposes (the “Waiver”). Affirmer
|
||||
makes the Waiver for the benefit of each member of the public at large and
|
||||
to the detriment of Affirmer’s heirs and successors, fully intending that
|
||||
such Waiver shall not be subject to revocation, rescission, cancellation,
|
||||
termination, or any other legal or equitable action to disrupt the quiet
|
||||
enjoyment of the Work by the public as contemplated by Affirmer’s express
|
||||
Statement of Purpose.
|
||||
|
||||
3. Public License Fallback. Should any part of the Waiver for any reason be
|
||||
judged legally invalid or ineffective under applicable law, then the Waiver
|
||||
shall be preserved to the maximum extent permitted taking into account
|
||||
Affirmer’s express Statement of Purpose. In addition, to the extent the
|
||||
Waiver is so judged Affirmer hereby grants to each affected person a
|
||||
royalty-free, non transferable, non sublicensable, non exclusive,
|
||||
irrevocable and unconditional license to exercise Affirmer’s Copyright and
|
||||
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||
maximum duration provided by applicable law or treaty (including future time
|
||||
extensions), (iii) in any current or future medium and for any number of
|
||||
copies, and (iv) for any purpose whatsoever, including without limitation
|
||||
commercial, advertising or promotional purposes (the “License”). The License
|
||||
shall be deemed effective as of the date CC0 was applied by Affirmer to the
|
||||
Work. Should any part of the License for any reason be judged legally
|
||||
invalid or ineffective under applicable law, such partial invalidity or
|
||||
ineffectiveness shall not invalidate the remainder of the License, and in
|
||||
such case Affirmer hereby affirms that he or she will not (i) exercise any
|
||||
of his or her remaining Copyright and Related Rights in the Work or (ii)
|
||||
assert any associated claims and causes of action with respect to the Work,
|
||||
in either case contrary to Affirmer’s express Statement of Purpose.
|
||||
|
||||
4. Limitations and Disclaimers.
|
||||
1. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||
surrendered, licensed or otherwise affected by this document.
|
||||
2. Affirmer offers the Work as-is and makes no representations or warranties
|
||||
of any kind concerning the Work, express, implied, statutory or
|
||||
otherwise, including without limitation warranties of title,
|
||||
merchantability, fitness for a particular purpose, non infringement, or
|
||||
the absence of latent or other defects, accuracy, or the present or
|
||||
absence of errors, whether or not discoverable, all to the greatest
|
||||
extent permissible under applicable law.
|
||||
3. Affirmer disclaims responsibility for clearing rights of other persons
|
||||
that may apply to the Work or any use thereof, including without
|
||||
limitation any person’s Copyright and Related Rights in the Work.
|
||||
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||
consents, permissions or other rights required for any use of the Work.
|
||||
4. Affirmer understands and acknowledges that Creative Commons is not a
|
||||
party to this document and has no duty or obligation with respect to this
|
||||
CC0 or use of the Work.
|
||||
|
||||
For more information, please see
|
||||
http://creativecommons.org/publicdomain/zero/1.0/.
|
87
web/node_modules/@csstools/convert-colors/README.md
generated
vendored
Normal file
87
web/node_modules/@csstools/convert-colors/README.md
generated
vendored
Normal file
|
@ -0,0 +1,87 @@
|
|||
# Convert Colors [<img src="https://cdn.worldvectorlogo.com/logos/nodejs-icon.svg" alt="Convert Colors" width="90" height="90" align="right">][Convert Colors]
|
||||
|
||||
[![NPM Version][npm-img]][npm-url]
|
||||
[![Linux Build Status][cli-img]][cli-url]
|
||||
[![Windows Build Status][win-img]][win-url]
|
||||
|
||||
[Convert Colors] converts colors between RGB, HSL, HWB, Lab, LCH, HSV, and XYZ.
|
||||
|
||||
```js
|
||||
import convert from '@csstools/convert-colors';
|
||||
|
||||
convert.rgb2hsl(100, 100, 100); // [ 0, 0, 100 ]
|
||||
convert.rgb2hwb(100, 100, 100); // [ 0, 100, 0 ]
|
||||
|
||||
convert.hsl2rgb(0, 0, 100); // [ 0, 100, 0 ]
|
||||
convert.hsl2hwb(0, 0, 100); // [ 0, 100, 0 ]
|
||||
|
||||
convert.hwb2rgb(0, 100, 0); // [ 0, 0, 100 ]
|
||||
convert.hwb2hsl(0, 100, 0); // [ 0, 0, 100 ]
|
||||
|
||||
convert.rgb2hue(0, 0, 100); // 240
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Add [Convert Colors] to your build tool:
|
||||
|
||||
```bash
|
||||
npm install @csstools/convert-colors --save-dev
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
Conversions work by taking arguments that represents a color in one color space
|
||||
and returning an array of that same color in another color space.
|
||||
|
||||
- rgb2hsl(r, g, b)
|
||||
- rgb2hwb(r, g, b)
|
||||
- rgb2lab(r, g, b)
|
||||
- rgb2lch(r, g, b)
|
||||
- rgb2hsv(r, g, b)
|
||||
- rgb2xyz(r, g, b)
|
||||
- hsl2rgb(h, s, l)
|
||||
- hsl2hwb(h, s, l)
|
||||
- hsl2lab(h, s, l)
|
||||
- hsl2lch(h, s, l)
|
||||
- hsl2hsv(h, s, l)
|
||||
- hsl2xyz(h, s, l)
|
||||
- hwb2rgb(h, w, b)
|
||||
- hwb2hsl(h, w, b)
|
||||
- hwb2lab(h, w, b)
|
||||
- hwb2lch(h, w, b)
|
||||
- hwb2hsv(h, w, b)
|
||||
- hwb2xyz(h, w, b)
|
||||
- lab2rgb(l, a, b)
|
||||
- lab2hsl(l, a, b)
|
||||
- lab2hwb(l, a, b)
|
||||
- lab2lch(l, a, b)
|
||||
- lab2hsv(l, a, b)
|
||||
- lab2xyz(l, a, b)
|
||||
- lch2rgb(l, c, h)
|
||||
- lch2hsl(l, c, h)
|
||||
- lch2hwb(l, c, h)
|
||||
- lch2lab(l, c, h)
|
||||
- lch2hsv(l, c, h)
|
||||
- lch2xyz(l, c, h)
|
||||
- hsv2rgb(h, s, v)
|
||||
- hsv2hsl(h, s, v)
|
||||
- hsv2hwb(h, s, v)
|
||||
- hsv2lab(h, s, v)
|
||||
- hsv2lch(h, s, v)
|
||||
- hsv2xyz(h, s, v)
|
||||
- xyz2rgb(x, y, z)
|
||||
- xyz2hsl(x, y, z)
|
||||
- xyz2hwb(x, y, z)
|
||||
- xyz2lab(x, y, z)
|
||||
- xyz2lch(x, y, z)
|
||||
- xyz2hsv(x, y, z)
|
||||
|
||||
[npm-url]: https://www.npmjs.com/package/@csstools/convert-colors
|
||||
[npm-img]: https://img.shields.io/npm/v/@csstools/convert-colors.svg
|
||||
[cli-url]: https://travis-ci.org/jonathantneal/convert-colors
|
||||
[cli-img]: https://img.shields.io/travis/jonathantneal/convert-colors.svg
|
||||
[win-url]: https://ci.appveyor.com/project/jonathantneal/convert-colors
|
||||
[win-img]: https://img.shields.io/appveyor/ci/jonathantneal/convert-colors.svg
|
||||
|
||||
[Convert Colors]: https://github.com/jonathantneal/convert-colors
|
1091
web/node_modules/@csstools/convert-colors/index.bundle.js
generated
vendored
Normal file
1091
web/node_modules/@csstools/convert-colors/index.bundle.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
359
web/node_modules/@csstools/convert-colors/index.js
generated
vendored
Normal file
359
web/node_modules/@csstools/convert-colors/index.js
generated
vendored
Normal file
|
@ -0,0 +1,359 @@
|
|||
import { rgb2hsl, hsl2rgb } from './lib/rgb-hsl';
|
||||
import { rgb2hwb, hwb2rgb } from './lib/rgb-hwb';
|
||||
import { rgb2hsv, hsv2rgb } from './lib/rgb-hsv';
|
||||
import { rgb2xyz, xyz2rgb } from './lib/rgb-xyz';
|
||||
import { hsl2hsv, hsv2hsl } from './lib/hsl-hsv';
|
||||
import { hwb2hsv, hsv2hwb } from './lib/hwb-hsv';
|
||||
import { lab2xyz, xyz2lab } from './lib/lab-xyz';
|
||||
import { lab2lch, lch2lab } from './lib/lab-lch';
|
||||
import { rgb2hue } from './lib/util';
|
||||
|
||||
/* Convert between RGB and Lab
|
||||
/* ========================================================================== */
|
||||
|
||||
function rgb2lab(rgbR, rgbG, rgbB) {
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
|
||||
|
||||
return [ labL, labA, labB ];
|
||||
}
|
||||
|
||||
function lab2rgb(labL, labA, labB) {
|
||||
const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
|
||||
return [ rgbR, rgbG, rgbB ];
|
||||
}
|
||||
|
||||
/* Convert between RGB and LCH
|
||||
/* ========================================================================== */
|
||||
|
||||
function rgb2lch(rgbR, rgbG, rgbB) {
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
|
||||
const [ lchL, lchC, lchH ] = lab2lch(labL, labA, labB);
|
||||
|
||||
return [ lchL, lchC, lchH ];
|
||||
}
|
||||
|
||||
function lch2rgb(lchL, lchC, lchH) {
|
||||
const [ labL, labA, labB ] = lch2lab(lchL, lchC, lchH);
|
||||
const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
|
||||
return [ rgbR, rgbG, rgbB ];
|
||||
}
|
||||
|
||||
/* Convert between HSL and HWB
|
||||
/* ========================================================================== */
|
||||
|
||||
function hwb2hsl(hwbH, hwbW, hwbB) {
|
||||
const [ hsvH, hsvS, hsvV ] = hwb2hsv(hwbH, hwbW, hwbB);
|
||||
const [ hslH, hslS, hslL ] = hsv2hsl(hsvH, hsvS, hsvV);
|
||||
|
||||
return [ hslH, hslS, hslL ];
|
||||
}
|
||||
|
||||
function hsl2hwb(hslH, hslS, hslL) {
|
||||
const [ , hsvS, hsvV ] = hsl2hsv(hslH, hslS, hslL);
|
||||
const [ , hwbW, hwbB ] = hsv2hwb(hslH, hsvS, hsvV);
|
||||
|
||||
return [ hslH, hwbW, hwbB ];
|
||||
}
|
||||
|
||||
/* Convert between HSL and Lab
|
||||
/* ========================================================================== */
|
||||
|
||||
function hsl2lab(hslH, hslS, hslL) {
|
||||
const [ rgbR, rgbG, rgbB ] = hsl2rgb(hslH, hslS, hslL);
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
|
||||
|
||||
return [ labL, labA, labB ];
|
||||
}
|
||||
|
||||
function lab2hsl(labL, labA, labB, fallbackhue) {
|
||||
const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
const [ hslH, hslS, hslL ] = rgb2hsl(rgbR, rgbG, rgbB, fallbackhue);
|
||||
|
||||
return [ hslH, hslS, hslL ];
|
||||
}
|
||||
|
||||
/* Convert between HSL and LCH
|
||||
/* ========================================================================== */
|
||||
|
||||
function hsl2lch(hslH, hslS, hslL) {
|
||||
const [ rgbR, rgbG, rgbB ] = hsl2rgb(hslH, hslS, hslL);
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
|
||||
const [ lchL, lchC, lchH ] = lab2lch(labL, labA, labB);
|
||||
|
||||
return [ lchL, lchC, lchH ];
|
||||
}
|
||||
|
||||
function lch2hsl(lchL, lchC, lchH, fallbackhue) {
|
||||
const [ labL, labA, labB ] = lch2lab(lchL, lchC, lchH);
|
||||
const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
const [ hslH, hslS, hslL ] = rgb2hsl(rgbR, rgbG, rgbB, fallbackhue);
|
||||
|
||||
return [ hslH, hslS, hslL ];
|
||||
}
|
||||
|
||||
/* Convert between HSL and XYZ
|
||||
/* ========================================================================== */
|
||||
|
||||
function hsl2xyz(hslH, hslS, hslL) {
|
||||
const [ rgbR, rgbG, rgbB ] = hsl2rgb(hslH, hslS, hslL);
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
|
||||
return [ xyzX, xyzY, xyzZ ];
|
||||
}
|
||||
|
||||
function xyz2hsl(xyzX, xyzY, xyzZ, fallbackhue) {
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
const [ hslH, hslS, hslL ] = rgb2hsl(rgbR, rgbG, rgbB, fallbackhue);
|
||||
|
||||
return [ hslH, hslS, hslL ];
|
||||
}
|
||||
|
||||
/* Convert between HWB and Lab
|
||||
/* ========================================================================== */
|
||||
|
||||
function hwb2lab(hwbH, hwbW, hwbB) {
|
||||
const [ rgbR, rgbG, rgbB ] = hwb2rgb(hwbH, hwbW, hwbB);
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
|
||||
|
||||
return [ labL, labA, labB ];
|
||||
}
|
||||
|
||||
function lab2hwb(labL, labA, labB, fallbackhue) {
|
||||
const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
const [ hwbH, hwbW, hwbB ] = rgb2hwb(rgbR, rgbG, rgbB, fallbackhue);
|
||||
|
||||
return [ hwbH, hwbW, hwbB ];
|
||||
}
|
||||
|
||||
/* Convert between HWB and LCH
|
||||
/* ========================================================================== */
|
||||
|
||||
function hwb2lch(hwbH, hwbW, hwbB) {
|
||||
const [ rgbR, rgbG, rgbB ] = hwb2rgb(hwbH, hwbW, hwbB);
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
|
||||
const [ lchL, lchC, lchH ] = lab2lch(labL, labA, labB);
|
||||
|
||||
return [ lchL, lchC, lchH ];
|
||||
}
|
||||
|
||||
function lch2hwb(lchL, lchC, lchH, fallbackhue) {
|
||||
const [ labL, labA, labB ] = lch2lab(lchL, lchC, lchH);
|
||||
const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
const [ hwbH, hwbW, hwbB ] = rgb2hwb(rgbR, rgbG, rgbB, fallbackhue);
|
||||
|
||||
return [ hwbH, hwbW, hwbB ];
|
||||
}
|
||||
|
||||
/* Convert between HWB and XYZ
|
||||
/* ========================================================================== */
|
||||
|
||||
function hwb2xyz(hwbH, hwbW, hwbB) {
|
||||
const [ rgbR, rgbG, rgbB ] = hwb2rgb(hwbH, hwbW, hwbB);
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
|
||||
return [ xyzX, xyzY, xyzZ ];
|
||||
}
|
||||
|
||||
function xyz2hwb(xyzX, xyzY, xyzZ, fallbackhue) {
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
const [ hwbH, hwbW, hwbB ] = rgb2hwb(rgbR, rgbG, rgbB, fallbackhue);
|
||||
|
||||
return [ hwbH, hwbW, hwbB ];
|
||||
}
|
||||
|
||||
/* Convert between HSV and Lab
|
||||
/* ========================================================================== */
|
||||
|
||||
function hsv2lab(hsvH, hsvS, hsvV) {
|
||||
const [ rgbR, rgbG, rgbB ] = hsv2rgb(hsvH, hsvS, hsvV);
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
|
||||
|
||||
return [ labL, labA, labB ];
|
||||
}
|
||||
|
||||
function lab2hsv(labL, labA, labB, fallbackhue) {
|
||||
const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
const [ hsvH, hsvS, hsvV ] = rgb2hsv(rgbR, rgbG, rgbB, fallbackhue);
|
||||
|
||||
return [ hsvH, hsvS, hsvV ];
|
||||
}
|
||||
|
||||
/* Convert between HSV and LCH
|
||||
/* ========================================================================== */
|
||||
|
||||
function hsv2lch(hsvH, hsvS, hsvV) {
|
||||
const [ rgbR, rgbG, rgbB ] = hsv2rgb(hsvH, hsvS, hsvV);
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
|
||||
const [ lchL, lchC, lchH ] = lab2lch(labL, labA, labB);
|
||||
|
||||
return [ lchL, lchC, lchH ];
|
||||
}
|
||||
|
||||
function lch2hsv(lchL, lchC, lchH, fallbackhue) {
|
||||
const [ labL, labA, labB ] = lch2lab(lchL, lchC, lchH);
|
||||
const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
const [ hsvH, hsvS, hsvV ] = rgb2hsv(rgbR, rgbG, rgbB, fallbackhue);
|
||||
|
||||
return [ hsvH, hsvS, hsvV ];
|
||||
}
|
||||
|
||||
/* Convert between HSV and XYZ
|
||||
/* ========================================================================== */
|
||||
|
||||
function hsv2xyz(hsvH, hsvS, hsvV) {
|
||||
const [ rgbR, rgbG, rgbB ] = hsv2rgb(hsvH, hsvS, hsvV);
|
||||
const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
|
||||
|
||||
return [ xyzX, xyzY, xyzZ ];
|
||||
}
|
||||
|
||||
function xyz2hsv(xyzX, xyzY, xyzZ, fallbackhue) {
|
||||
const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
|
||||
const [ hsvH, hsvS, hsvV ] = rgb2hsv(rgbR, rgbG, rgbB, fallbackhue);
|
||||
|
||||
return [ hsvH, hsvS, hsvV ];
|
||||
}
|
||||
|
||||
/* Convert between XYZ and LCH
|
||||
/* ========================================================================== */
|
||||
|
||||
function xyz2lch(xyzX, xyzY, xyzZ) {
|
||||
const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
|
||||
const [ lchL, lchC, lchH ] = lab2lch(labL, labA, labB);
|
||||
|
||||
return [ lchL, lchC, lchH ];
|
||||
}
|
||||
|
||||
function lch2xyz(lchL, lchC, lchH) {
|
||||
const [ labL, labA, labB ] = lch2lab(lchL, lchC, lchH);
|
||||
const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
|
||||
|
||||
return [ xyzX, xyzY, xyzZ ];
|
||||
}
|
||||
|
||||
/* All Conversions
|
||||
/* ========================================================================== */
|
||||
|
||||
export {
|
||||
rgb2hsl,
|
||||
rgb2hwb,
|
||||
rgb2lab,
|
||||
rgb2lch,
|
||||
rgb2hsv,
|
||||
rgb2xyz,
|
||||
|
||||
hsl2rgb,
|
||||
hsl2hwb,
|
||||
hsl2lab,
|
||||
hsl2lch,
|
||||
hsl2hsv,
|
||||
hsl2xyz,
|
||||
|
||||
hwb2rgb,
|
||||
hwb2hsl,
|
||||
hwb2lab,
|
||||
hwb2lch,
|
||||
hwb2hsv,
|
||||
hwb2xyz,
|
||||
|
||||
lab2rgb,
|
||||
lab2hsl,
|
||||
lab2hwb,
|
||||
lab2lch,
|
||||
lab2hsv,
|
||||
lab2xyz,
|
||||
|
||||
lch2rgb,
|
||||
lch2hsl,
|
||||
lch2hwb,
|
||||
lch2lab,
|
||||
lch2hsv,
|
||||
lch2xyz,
|
||||
|
||||
hsv2rgb,
|
||||
hsv2hsl,
|
||||
hsv2hwb,
|
||||
hsv2lab,
|
||||
hsv2lch,
|
||||
hsv2xyz,
|
||||
|
||||
xyz2rgb,
|
||||
xyz2hsl,
|
||||
xyz2hwb,
|
||||
xyz2lab,
|
||||
xyz2lch,
|
||||
xyz2hsv,
|
||||
|
||||
rgb2hue
|
||||
};
|
||||
|
||||
export default {
|
||||
rgb2hsl,
|
||||
rgb2hwb,
|
||||
rgb2lab,
|
||||
rgb2lch,
|
||||
rgb2hsv,
|
||||
rgb2xyz,
|
||||
|
||||
hsl2rgb,
|
||||
hsl2hwb,
|
||||
hsl2lab,
|
||||
hsl2lch,
|
||||
hsl2hsv,
|
||||
hsl2xyz,
|
||||
|
||||
hwb2rgb,
|
||||
hwb2hsl,
|
||||
hwb2lab,
|
||||
hwb2lch,
|
||||
hwb2hsv,
|
||||
hwb2xyz,
|
||||
|
||||
lab2rgb,
|
||||
lab2hsl,
|
||||
lab2hwb,
|
||||
lab2lch,
|
||||
lab2hsv,
|
||||
lab2xyz,
|
||||
|
||||
lch2rgb,
|
||||
lch2hsl,
|
||||
lch2hwb,
|
||||
lch2lab,
|
||||
lch2hsv,
|
||||
lch2xyz,
|
||||
|
||||
hsv2rgb,
|
||||
hsv2hsl,
|
||||
hsv2hwb,
|
||||
hsv2lab,
|
||||
hsv2lch,
|
||||
hsv2xyz,
|
||||
|
||||
xyz2rgb,
|
||||
xyz2hsl,
|
||||
xyz2hwb,
|
||||
xyz2lab,
|
||||
xyz2lch,
|
||||
xyz2hsv,
|
||||
|
||||
rgb2hue
|
||||
};
|
30
web/node_modules/@csstools/convert-colors/lib/hsl-hsv.js
generated
vendored
Normal file
30
web/node_modules/@csstools/convert-colors/lib/hsl-hsv.js
generated
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
/* Convert between HSL and HSV
|
||||
/* ========================================================================== */
|
||||
|
||||
export function hsl2hsv(hslH, hslS, hslL) {
|
||||
const hsv1 = hslS * (hslL < 50 ? hslL : 100 - hslL) / 100;
|
||||
const hsvS = hsv1 === 0 ? 0 : 2 * hsv1 / (hslL + hsv1) * 100;
|
||||
const hsvV = hslL + hsv1;
|
||||
|
||||
return [ hslH, hsvS, hsvV ];
|
||||
}
|
||||
|
||||
export function hsv2hsl(hsvH, hsvS, hsvV) {
|
||||
const hslL = (200 - hsvS) * hsvV / 100;
|
||||
|
||||
const [ hslS, hslV ] = [
|
||||
hslL === 0 || hslL === 200 ? 0 : hsvS * hsvV / 100 / (hslL <= 100 ? hslL : 200 - hslL) * 100,
|
||||
hslL * 5 / 10
|
||||
];
|
||||
|
||||
return [ hsvH, hslS, hslV ];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
- https://gist.github.com/defims/0ca2ef8832833186ed396a2f8a204117
|
||||
|
||||
/* ========================================================================== */
|
31
web/node_modules/@csstools/convert-colors/lib/hwb-hsv.js
generated
vendored
Normal file
31
web/node_modules/@csstools/convert-colors/lib/hwb-hsv.js
generated
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
/* Convert between HWB and HSV
|
||||
/* ========================================================================== */
|
||||
|
||||
export function hwb2hsv(hwbH, hwbW, hwbB) {
|
||||
const [ hsvH, hsvS, hsvV ] = [
|
||||
hwbH,
|
||||
hwbB === 100 ? 0 : 100 - hwbW / (100 - hwbB) * 100,
|
||||
100 - hwbB
|
||||
];
|
||||
|
||||
return [ hsvH, hsvS, hsvV ];
|
||||
}
|
||||
|
||||
export function hsv2hwb(hsvH, hsvS, hsvV) {
|
||||
const [ hwbH, hwbW, hwbB ] = [
|
||||
hsvH,
|
||||
(100 - hsvS) * hsvV / 100,
|
||||
100 - hsvV
|
||||
];
|
||||
|
||||
return [ hwbH, hwbW, hwbB ];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
- https://en.wikipedia.org/wiki/HWB_color_model#Converting_to_and_from_HSV
|
||||
|
||||
/* ========================================================================== */
|
31
web/node_modules/@csstools/convert-colors/lib/lab-lch.js
generated
vendored
Normal file
31
web/node_modules/@csstools/convert-colors/lib/lab-lch.js
generated
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
/* Convert between Lab and XYZ
|
||||
/* ========================================================================== */
|
||||
|
||||
export function lab2lch(labL, labA, labB) {
|
||||
const [ lchC, lchH ] = [
|
||||
Math.sqrt(Math.pow(labA, 2) + Math.pow(labB, 2)), // convert to chroma
|
||||
Math.atan2(labB, labA) * 180 / Math.PI // convert to hue, in degrees
|
||||
];
|
||||
|
||||
return [ labL, lchC, lchH ];
|
||||
}
|
||||
|
||||
export function lch2lab(lchL, lchC, lchH) {
|
||||
// convert to Lab a and b from the polar form
|
||||
const [ labA, labB ] = [
|
||||
lchC * Math.cos(lchH * Math.PI / 180),
|
||||
lchC * Math.sin(lchH * Math.PI / 180)
|
||||
];
|
||||
|
||||
return [ lchL, labA, labB ];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
- https://www.w3.org/TR/css-color-4/#lch-to-lab
|
||||
- https://www.w3.org/TR/css-color-4/#color-conversion-code
|
||||
|
||||
/* ========================================================================== */
|
68
web/node_modules/@csstools/convert-colors/lib/lab-xyz.js
generated
vendored
Normal file
68
web/node_modules/@csstools/convert-colors/lib/lab-xyz.js
generated
vendored
Normal file
|
@ -0,0 +1,68 @@
|
|||
import { epsilon, kappa, wd50X, wd50Y, wd50Z, matrix } from './util';
|
||||
|
||||
/* Convert between Lab and XYZ
|
||||
/* ========================================================================== */
|
||||
|
||||
export function lab2xyz(labL, labA, labB) {
|
||||
// compute f, starting with the luminance-related term
|
||||
const f2 = (labL + 16) / 116;
|
||||
const f1 = labA / 500 + f2;
|
||||
const f3 = f2 - labB / 200;
|
||||
|
||||
// compute pre-scaled XYZ
|
||||
const [ initX, initY, initZ ] = [
|
||||
Math.pow(f1, 3) > epsilon ? Math.pow(f1, 3) : (116 * f1 - 16) / kappa,
|
||||
labL > kappa * epsilon ? Math.pow((labL + 16) / 116, 3) : labL / kappa,
|
||||
Math.pow(f3, 3) > epsilon ? Math.pow(f3, 3) : (116 * f3 - 16) / kappa
|
||||
];
|
||||
|
||||
const [ xyzX, xyzY, xyzZ ] = matrix(
|
||||
// compute XYZ by scaling pre-scaled XYZ by reference white
|
||||
[ initX * wd50X, initY * wd50Y, initZ * wd50Z ],
|
||||
// calculate D65 XYZ from D50 XYZ
|
||||
[
|
||||
[ 0.9555766, -0.0230393, 0.0631636],
|
||||
[-0.0282895, 1.0099416, 0.0210077],
|
||||
[ 0.0122982, -0.0204830, 1.3299098]
|
||||
]
|
||||
);
|
||||
|
||||
return [ xyzX, xyzY, xyzZ ];
|
||||
}
|
||||
|
||||
export function xyz2lab(xyzX, xyzY, xyzZ) {
|
||||
// calculate D50 XYZ from D65 XYZ
|
||||
const [ d50X, d50Y, d50Z ] = matrix([ xyzX, xyzY, xyzZ ], [
|
||||
[ 1.0478112, 0.0228866, -0.0501270],
|
||||
[ 0.0295424, 0.9904844, -0.0170491],
|
||||
[-0.0092345, 0.0150436, 0.7521316]
|
||||
]);
|
||||
|
||||
// calculate f
|
||||
const [ f1, f2, f3 ] = [
|
||||
d50X / wd50X,
|
||||
d50Y / wd50Y,
|
||||
d50Z / wd50Z
|
||||
].map(
|
||||
value => value > epsilon ? Math.cbrt(value) : (kappa * value + 16) / 116
|
||||
);
|
||||
|
||||
const [ labL, labA, labB ] = [
|
||||
116 * f2 - 16,
|
||||
500 * (f1 - f2),
|
||||
200 * (f2 - f3)
|
||||
];
|
||||
|
||||
return [ labL, labA, labB ];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
- https://www.w3.org/TR/css-color-4/#rgb-to-lab
|
||||
- https://www.w3.org/TR/css-color-4/#color-conversion-code
|
||||
- https://www.easyrgb.com/en/math.php
|
||||
|
||||
/* ========================================================================== */
|
50
web/node_modules/@csstools/convert-colors/lib/rgb-hsl.js
generated
vendored
Normal file
50
web/node_modules/@csstools/convert-colors/lib/rgb-hsl.js
generated
vendored
Normal file
|
@ -0,0 +1,50 @@
|
|||
import { rgb2hue, rgb2value, rgb2whiteness, hue2rgb } from './util';
|
||||
|
||||
/* Convert between RGB and HSL
|
||||
/* ========================================================================== */
|
||||
|
||||
export function rgb2hsl(rgbR, rgbG, rgbB, fallbackhue) {
|
||||
const hslH = rgb2hue(rgbR, rgbG, rgbB, fallbackhue);
|
||||
const hslV = rgb2value(rgbR, rgbG, rgbB);
|
||||
const hslW = rgb2whiteness(rgbR, rgbG, rgbB);
|
||||
|
||||
// calculate value/whiteness delta
|
||||
const hslD = hslV - hslW;
|
||||
|
||||
// calculate lightness
|
||||
const hslL = (hslV + hslW) / 2;
|
||||
|
||||
// calculate saturation
|
||||
const hslS = hslD === 0 ? 0 : hslD / (100 - Math.abs(2 * hslL - 100)) * 100;
|
||||
|
||||
return [ hslH, hslS, hslL ];
|
||||
}
|
||||
|
||||
export function hsl2rgb(hslH, hslS, hslL) {
|
||||
// calcuate t2
|
||||
const t2 = hslL <= 50 ? hslL * (hslS + 100) / 100 : hslL + hslS - hslL * hslS / 100;
|
||||
|
||||
// calcuate t1
|
||||
const t1 = hslL * 2 - t2;
|
||||
|
||||
// calculate rgb
|
||||
const [ rgbR, rgbG, rgbB ] = [
|
||||
hue2rgb(t1, t2, hslH + 120),
|
||||
hue2rgb(t1, t2, hslH),
|
||||
hue2rgb(t1, t2, hslH - 120)
|
||||
];
|
||||
|
||||
return [ rgbR, rgbG, rgbB ];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
- https://www.w3.org/TR/css-color-3/#hsl-color
|
||||
- https://www.w3.org/TR/css-color-4/#hsl-to-rgb
|
||||
- https://www.rapidtables.com/convert/color/rgb-to-hsl.html
|
||||
- https://www.rapidtables.com/convert/color/hsl-to-rgb.html
|
||||
|
||||
/* ========================================================================== */
|
47
web/node_modules/@csstools/convert-colors/lib/rgb-hsv.js
generated
vendored
Normal file
47
web/node_modules/@csstools/convert-colors/lib/rgb-hsv.js
generated
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
import { rgb2value, rgb2whiteness, rgb2hue } from './util';
|
||||
|
||||
/* Convert between RGB and HSV
|
||||
/* ========================================================================== */
|
||||
|
||||
export function rgb2hsv(rgbR, rgbG, rgbB, fallbackhue) {
|
||||
const hsvV = rgb2value(rgbR, rgbG, rgbB);
|
||||
const hsvW = rgb2whiteness(rgbR, rgbG, rgbB);
|
||||
const hsvH = rgb2hue(rgbR, rgbG, rgbB, fallbackhue);
|
||||
|
||||
// calculate saturation
|
||||
const hsvS = hsvV === hsvW ? 0 : (hsvV - hsvW) / hsvV * 100;
|
||||
|
||||
return [ hsvH, hsvS, hsvV ];
|
||||
}
|
||||
|
||||
export function hsv2rgb(hsvH, hsvS, hsvV) {
|
||||
const rgbI = Math.floor(hsvH / 60);
|
||||
|
||||
// calculate rgb parts
|
||||
const rgbF = hsvH / 60 - rgbI & 1 ? hsvH / 60 - rgbI : 1 - hsvH / 60 - rgbI;
|
||||
const rgbM = hsvV * (100 - hsvS) / 100;
|
||||
const rgbN = hsvV * (100 - hsvS * rgbF) / 100;
|
||||
|
||||
const [ rgbR, rgbG, rgbB ] = rgbI === 5
|
||||
? [ hsvV, rgbM, rgbN ]
|
||||
: rgbI === 4
|
||||
? [ rgbN, rgbM, hsvV ]
|
||||
: rgbI === 3
|
||||
? [ rgbM, rgbN, hsvV ]
|
||||
: rgbI === 2
|
||||
? [ rgbM, hsvV, rgbN ]
|
||||
: rgbI === 1
|
||||
? [ rgbN, hsvV, rgbM ]
|
||||
: [ hsvV, rgbN, rgbM ];
|
||||
|
||||
return [ rgbR, rgbG, rgbB ];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
- http://alvyray.com/Papers/CG/hsv2rgb.htm
|
||||
|
||||
/* ========================================================================== */
|
32
web/node_modules/@csstools/convert-colors/lib/rgb-hwb.js
generated
vendored
Normal file
32
web/node_modules/@csstools/convert-colors/lib/rgb-hwb.js
generated
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
import { rgb2hue, rgb2whiteness, rgb2value } from './util';
|
||||
import { hsl2rgb } from './rgb-hsl';
|
||||
|
||||
/* Convert between RGB and HWB
|
||||
/* ========================================================================== */
|
||||
|
||||
export function rgb2hwb(rgbR, rgbG, rgbB, fallbackhue) {
|
||||
const hwbH = rgb2hue(rgbR, rgbG, rgbB, fallbackhue);
|
||||
const hwbW = rgb2whiteness(rgbR, rgbG, rgbB);
|
||||
const hwbV = rgb2value(rgbR, rgbG, rgbB);
|
||||
const hwbB = 100 - hwbV;
|
||||
|
||||
return [hwbH, hwbW, hwbB];
|
||||
}
|
||||
|
||||
export function hwb2rgb(hwbH, hwbW, hwbB, fallbackhue) {
|
||||
const [ rgbR, rgbG, rgbB ] = hsl2rgb(hwbH, 100, 50, fallbackhue).map(
|
||||
v => v * (100 - hwbW - hwbB) / 100 + hwbW
|
||||
);
|
||||
|
||||
return [ rgbR, rgbG, rgbB ];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
- https://www.w3.org/TR/css-color-4/#hwb-to-rgb
|
||||
- http://alvyray.com/Papers/CG/hwb2rgb.htm
|
||||
|
||||
/* ========================================================================== */
|
42
web/node_modules/@csstools/convert-colors/lib/rgb-xyz.js
generated
vendored
Normal file
42
web/node_modules/@csstools/convert-colors/lib/rgb-xyz.js
generated
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
import { matrix } from './util';
|
||||
|
||||
/* Convert between RGB and XYZ
|
||||
/* ========================================================================== */
|
||||
|
||||
export function rgb2xyz(rgbR, rgbG, rgbB) {
|
||||
const [ lrgbR, lrgbB, lrgbG ] = [ rgbR, rgbG, rgbB ].map(
|
||||
v => v > 4.045 ? Math.pow((v + 5.5) / 105.5, 2.4) * 100 : v / 12.92
|
||||
);
|
||||
|
||||
const [ xyzX, xyzY, xyzZ ] = matrix([ lrgbR, lrgbB, lrgbG ], [
|
||||
[0.4124564, 0.3575761, 0.1804375],
|
||||
[0.2126729, 0.7151522, 0.0721750],
|
||||
[0.0193339, 0.1191920, 0.9503041]
|
||||
]);
|
||||
|
||||
return [ xyzX, xyzY, xyzZ ];
|
||||
}
|
||||
|
||||
export function xyz2rgb(xyzX, xyzY, xyzZ) {
|
||||
const [ lrgbR, lrgbB, lrgbG ] = matrix([ xyzX, xyzY, xyzZ ], [
|
||||
[ 3.2404542, -1.5371385, -0.4985314],
|
||||
[-0.9692660, 1.8760108, 0.0415560],
|
||||
[ 0.0556434, -0.2040259, 1.0572252]
|
||||
]);
|
||||
|
||||
const [ rgbR, rgbG, rgbB ] = [ lrgbR, lrgbB, lrgbG ].map(
|
||||
v => v > 0.31308 ? 1.055 * Math.pow(v / 100, 1 / 2.4) * 100 - 5.5 : 12.92 * v
|
||||
);
|
||||
|
||||
return [ rgbR, rgbG, rgbB ];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
- https://www.w3.org/TR/css-color-4/#rgb-to-lab
|
||||
- https://www.w3.org/TR/css-color-4/#color-conversion-code
|
||||
|
||||
/* ========================================================================== */
|
87
web/node_modules/@csstools/convert-colors/lib/util.js
generated
vendored
Normal file
87
web/node_modules/@csstools/convert-colors/lib/util.js
generated
vendored
Normal file
|
@ -0,0 +1,87 @@
|
|||
/* Convert between RGB and Hue
|
||||
/* ========================================================================== */
|
||||
|
||||
export function rgb2hue(rgbR, rgbG, rgbB, fallbackhue = 0) {
|
||||
const value = rgb2value(rgbR, rgbG, rgbB);
|
||||
const whiteness = rgb2whiteness(rgbR, rgbG, rgbB);
|
||||
const delta = value - whiteness;
|
||||
|
||||
if (delta) {
|
||||
// calculate segment
|
||||
const segment = value === rgbR
|
||||
? (rgbG - rgbB) / delta
|
||||
: value === rgbG
|
||||
? (rgbB - rgbR) / delta
|
||||
: (rgbR - rgbG) / delta;
|
||||
|
||||
// calculate shift
|
||||
const shift = value === rgbR
|
||||
? segment < 0
|
||||
? 360 / 60
|
||||
: 0 / 60
|
||||
: value === rgbG
|
||||
? 120 / 60
|
||||
: 240 / 60;
|
||||
|
||||
// calculate hue
|
||||
const hue = (segment + shift) * 60;
|
||||
|
||||
return hue;
|
||||
} else {
|
||||
// otherwise return the fallback hue
|
||||
return fallbackhue;
|
||||
}
|
||||
}
|
||||
|
||||
export function hue2rgb(t1, t2, hue) {
|
||||
// calculate the ranged hue
|
||||
const rhue = hue < 0 ? hue + 360 : hue > 360 ? hue - 360 : hue;
|
||||
|
||||
// calculate the rgb value
|
||||
const rgb = rhue * 6 < 360
|
||||
? t1 + (t2 - t1) * rhue / 60
|
||||
: rhue * 2 < 360
|
||||
? t2
|
||||
: rhue * 3 < 720
|
||||
? t1 + (t2 - t1) * (240 - rhue) / 60
|
||||
: t1;
|
||||
|
||||
return rgb;
|
||||
}
|
||||
|
||||
/* RGB tooling
|
||||
/* ========================================================================== */
|
||||
|
||||
export function rgb2value(rgbR, rgbG, rgbB) {
|
||||
const value = Math.max(rgbR, rgbG, rgbB);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
export function rgb2whiteness(rgbR, rgbG, rgbB) {
|
||||
const whiteness = Math.min(rgbR, rgbG, rgbB);
|
||||
|
||||
return whiteness;
|
||||
}
|
||||
|
||||
/* Math matrix
|
||||
/* ========================================================================== */
|
||||
|
||||
export function matrix(params, mats) {
|
||||
return mats.map(mat => mat.reduce((acc, value, index) => acc + params[index] * value, 0));
|
||||
}
|
||||
|
||||
/* D50 reference white
|
||||
/* ========================================================================== */
|
||||
|
||||
export const [ wd50X, wd50Y, wd50Z ] = [ 96.42, 100, 82.49 ];
|
||||
|
||||
/* Epsilon
|
||||
/* ========================================================================== */
|
||||
|
||||
export const epsilon = Math.pow(6, 3) / Math.pow(29, 3);
|
||||
|
||||
/* Kappa
|
||||
/* ========================================================================== */
|
||||
|
||||
export const kappa = Math.pow(29, 3) / Math.pow(3, 3);
|
70
web/node_modules/@csstools/convert-colors/package.json
generated
vendored
Normal file
70
web/node_modules/@csstools/convert-colors/package.json
generated
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
"name": "@csstools/convert-colors",
|
||||
"version": "1.4.0",
|
||||
"description": "Convert colors between RGB, HSL, and HWB",
|
||||
"author": "Jonathan Neal <jonathantneal@hotmail.com>",
|
||||
"license": "CC0-1.0",
|
||||
"repository": "jonathantneal/convert-colors",
|
||||
"homepage": "https://github.com/jonathantneal/convert-colors#readme",
|
||||
"bugs": "https://github.com/jonathantneal/convert-colors/issues",
|
||||
"main": "index.bundle.js",
|
||||
"module": "index.js",
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.bundle.js",
|
||||
"lib"
|
||||
],
|
||||
"scripts": {
|
||||
"prepublishOnly": "npm test",
|
||||
"pretest": "rollup -c .rollup.js --silent",
|
||||
"test": "echo 'Running tests...'; npm run test:ec && npm run test:js && npm run test:tape",
|
||||
"test:ec": "echint test",
|
||||
"test:js": "eslint *.js --cache --ignore-path .gitignore --quiet",
|
||||
"test:tape": "node .tape"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-core": "^6.26.0",
|
||||
"babel-preset-env": "^1.6",
|
||||
"echint": "^4.0",
|
||||
"eslint": "^4.15",
|
||||
"eslint-config-dev": "2.0",
|
||||
"pre-commit": "^1.2",
|
||||
"rollup": "^0.54",
|
||||
"rollup-plugin-babel": "^3.0"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": "dev",
|
||||
"rules": {
|
||||
"max-params": [
|
||||
2,
|
||||
4
|
||||
]
|
||||
}
|
||||
},
|
||||
"keywords": [
|
||||
"colors",
|
||||
"converts",
|
||||
"conversions",
|
||||
"converting",
|
||||
"css",
|
||||
"rgb",
|
||||
"hsl",
|
||||
"hwb",
|
||||
"lab",
|
||||
"lch",
|
||||
"hsv",
|
||||
"xyz",
|
||||
"red",
|
||||
"green",
|
||||
"blue",
|
||||
"hue",
|
||||
"saturation",
|
||||
"lightness",
|
||||
"whiteness",
|
||||
"blackness",
|
||||
"cie"
|
||||
]
|
||||
}
|
247
web/node_modules/@csstools/normalize.css/CHANGELOG.md
generated
vendored
Normal file
247
web/node_modules/@csstools/normalize.css/CHANGELOG.md
generated
vendored
Normal file
|
@ -0,0 +1,247 @@
|
|||
# Changes to @csstools/normalize.css
|
||||
|
||||
### 10.1.0 (June 3, 2019)
|
||||
|
||||
- Fixed: `Edge` comments without `Chrome` are are changed to `Edge 18-`.
|
||||
- Fixed: `Chrome` comments without `Edge` have `Edge` added.
|
||||
- Fixed: Nested list `dl` normalizations split.
|
||||
- Fixed: Logical `margin-block` normalization changed to `margin`.
|
||||
|
||||
### 10.0.0 (May 16, 2019)
|
||||
|
||||
- Added: Removal of the margin on nested lists in Chrome and Safari.
|
||||
- Added: opinionated.css, normalize.css with classic opinionated styles.
|
||||
- Changed: Reverted license to prehistory state, or CC0-1.0 as intended.
|
||||
|
||||
> There are now 2 versions of normalize.css. Nicolas Gallagher and I started
|
||||
> writing normalize.css together. I named and created the normalize.css
|
||||
> repository with the help of Paul Irish and Ben Alman. I transferred the
|
||||
> repository to Necolas, who made it into a “household” CSS library. Much
|
||||
> later I resumed management of normalize.css with Luciano Battagliero. We
|
||||
> tagged, deprecated, and removed “opinionated” styles — styles developers
|
||||
> often prefer but which do not fix bugs or “normalize” browser differences.
|
||||
> Necolas disagreed with this change, and resolved the matter AFAIK by removing
|
||||
> all of the other contributors, locking discussion threads, wiping my name
|
||||
> (and his) from all files, and blocking me from being able to follow the
|
||||
> project.
|
||||
>
|
||||
> I may later create a new project with a new name, but for now I intend to
|
||||
> continue working on the normalize.css project, sometimes under the
|
||||
> “csstools” tag. I hope one day our differences are resolved and the projects
|
||||
> will be one again.
|
||||
>
|
||||
> For reference within this project:
|
||||
> normalize.css resolves bugs and common browser inconsistencies.
|
||||
> opinionated.css does the same while preserving the classic opinionated styles.
|
||||
|
||||
---
|
||||
|
||||
### 9.0.1 (September 4, 2018)
|
||||
|
||||
- Changed: Restored `::-moz-focus-inner` and `:-moz-focusring` normalizations
|
||||
confirmed necessary in Firefox 61.
|
||||
- Changed: Sorted the `::-webkit-inner-spin-button` and
|
||||
`::-webkit-outer-spin-button` pseudo-class selectors.
|
||||
- Updated: Tests.
|
||||
|
||||
### 9.0.0 (August 22, 2018)
|
||||
|
||||
- Fixed: Cursor style of increment and decrement buttons in Safari, not Chrome.
|
||||
- Fixed: Text style of placeholders in Chrome, Edge, and Safari.
|
||||
- Removed: unnecessary form control margin normalizations in Firefox.
|
||||
- Removed: opinionated fieldset padding in all browsers.
|
||||
- Removed: `::-moz-focus-inner` and `:-moz-focusring` normalizations fixed in
|
||||
Firefox 53 https://bugzilla.mozilla.org/show_bug.cgi?id=140562
|
||||
|
||||
---
|
||||
|
||||
### 8.0.0 (June 15, 2018)
|
||||
|
||||
- Removed: Normalizations for unsupported browsers, such as Android 4-,
|
||||
Chrome 57-, Firefox 52-, IE 8-, and Safari 7-.
|
||||
- Removed: Removal of gaps on link underlines in iOS and Safari.
|
||||
- Changed: Selector weight on form control normalizations.
|
||||
- Removed: Removal of search input cancel button in Chrome and Safari.
|
||||
- Added: Dialog styles for Edge, IE, and Safari.
|
||||
- Added: Tests for every single feature.
|
||||
- Updated: Documentation to be more clear and helpful.
|
||||
|
||||
---
|
||||
|
||||
### 7.0.0 (May 26, 2017)
|
||||
|
||||
- Changed: Separated out selector targeted fixes for readability.
|
||||
- Updated: Browser landscape of abbr[title] fixes.
|
||||
- Updated: Browser landscape of details fixes.
|
||||
- Fixed: Browser landscape of displays.
|
||||
- Removed: Opinionated changes on sub and sup elements.
|
||||
|
||||
---
|
||||
|
||||
### 6.0.0 (March 26, 2017)
|
||||
|
||||
- Removed: All opinionated rules.
|
||||
- Fixed: Document heading comment.
|
||||
- Updated: Support for `abbr[title]`.
|
||||
|
||||
> At the time of this writing, for anyone who still wants/needs the opinionated
|
||||
> rules, see [opinionate.css](https://github.com/adamgruber/opinionate.css)_.
|
||||
|
||||
---
|
||||
|
||||
### 5.0.0 (October 3, 2016)
|
||||
|
||||
- Added: Normalized sections not already present from
|
||||
https://html.spec.whatwg.org/multipage/.
|
||||
- Removed: `::placeholder` styles due to a bug in Edge.
|
||||
- Removed: `optgroup` normalization needed by the previous font reset.
|
||||
- Changed: Moved unsorted rules into their respective sections.
|
||||
- Changed: Explicitly defined font resets on form controls.
|
||||
- Updated: `summary` style in all browsers.
|
||||
- Updated: Text-size-adjust documentation
for IE on Windows Phone
|
||||
- Updated: OS X reference to macOS
|
||||
- Updated: Semver strategy.
|
||||
|
||||
---
|
||||
|
||||
### 4.2.0 (June 30, 2016)
|
||||
|
||||
- Fixed: `line-height` in all browsers.
|
||||
- Fixed: `optgroup` font inheritance.
|
||||
- Updated: Project heading.
|
||||
|
||||
### 4.1.1 (April 12, 2016)
|
||||
|
||||
- Updated: Project heading.
|
||||
|
||||
### 4.1.0 (April 11, 2016)
|
||||
|
||||
- Added: Normalized placeholders in Chrome, Edge, and Safari.
|
||||
- Added: Normalized `text-decoration-skip` property in Safari.
|
||||
- Added: Normalized file select buttons.
|
||||
- Added: Normalized search input outlines in Safari.
|
||||
- Removed: Opinionated cursor styles on buttons.
|
||||
- Changed: Limited Firefox focus normalizations to buttons.
|
||||
- Changed: Restored `main` to package.json.
|
||||
- Changed: Restored proper overflow to certain `select` elements.
|
||||
- Updated: Stylelint configuration.
|
||||
- Updated: Tests.
|
||||
|
||||
### 4.0.0 (March 19, 2016)
|
||||
|
||||
- Added: Correct font weight for `b` and `strong` in Chrome, Edge, and Safari.
|
||||
- Removed: Unnecessary normalization of `line-height` for `input`.
|
||||
- Removed: Unnecessary normalization of `color` for form controls.
|
||||
- Removed: Unnecessary `box-sizing` for `input[type="search"]` in Chrome, Edge,
|
||||
Firefox, IE, and Safari.
|
||||
- Removed: Opinionated table resets.
|
||||
- Removed: Opinionated `pre` overflow.
|
||||
- Removed: Selector weight from some input selectors.
|
||||
- Updated: Normalization of `border-style` for `img`.
|
||||
- Updated: Normalization of `color` inheritance for `legend`.
|
||||
- Updated: Normalization of `background-color` for `mark`.
|
||||
- Updated: Normalization of `outline` for `:-moz-focusring` removed by a
|
||||
previous Normalization in Firefox.
|
||||
- Updated: Opinionated style of `outline-width` for `a:active` and `a:hover`.
|
||||
- Updated: Comments to identify opinionated styles.
|
||||
- Updated: Comments to specify browser/versions affected by all changes.
|
||||
- Updated: Comments to use one voice.
|
||||
- Fixed: inconsistent `overflow` for `hr` in Edge and IE.
|
||||
- Fixed: inconsistent `box-sizing` for `hr` in Firefox.
|
||||
- Fixed: inconsistent `text-decoration` and `border-bottom` for `abbr[title]`
|
||||
in Chrome, Edge, Firefox IE, Opera, and Safari.
|
||||
- Fixed: inheritance and scaling of `font-size` for preformatted text.
|
||||
- Fixed: `legend` text wrapping not present in Edge and IE.
|
||||
|
||||
---
|
||||
|
||||
### 3.0.3 (March 30, 2015)
|
||||
|
||||
- Added: `main` property.
|
||||
- Removed: Unnecessary vendor prefixes.
|
||||
|
||||
### 3.0.2 (October 4, 2014)
|
||||
|
||||
- Added: `menu` element to HTML5 display definitions.
|
||||
- Changed: alter `background-color` of links in IE 10.
|
||||
|
||||
### 3.0.1 (March 27, 2014)
|
||||
|
||||
- Added: package.json for npm support.
|
||||
|
||||
### 3.0.0 (January 28, 2014)
|
||||
|
||||
### 3.0.0-rc.1 (January 26, 2014)
|
||||
|
||||
- Added: Explicit tests for each normalization.
|
||||
- Added: Normalizations for `optgroup`.
|
||||
- Added: Display for `progress` in IE 8/9.
|
||||
- Removed: `textarea` alignment modification.
|
||||
- Removed: `a:focus` outline normalization.
|
||||
- Removed: default table cell padding.
|
||||
- Fixed: i18n for `q` element.
|
||||
- Fixed: `pre` text formatting and overflow.
|
||||
- Fixed: Vertical alignment of `progress`.
|
||||
- Fixed: `button` overflow in IE 8/9/10.
|
||||
- Fixed: number input button cursor in Chrome on OS X.
|
||||
- Fixed: `figure` margin normalization.
|
||||
- Fixed: `font` and `color` inheritance for forms.
|
||||
|
||||
---
|
||||
|
||||
### 2.1.3 (August 26, 2013)
|
||||
|
||||
- Fixed: component.json.
|
||||
- Removed: the gray background color from active links in IE 10.
|
||||
|
||||
### 2.1.2 (May 11, 2013)
|
||||
|
||||
- Changed: Reverted root `color` and `background` normalizations.
|
||||
|
||||
### 2.1.1 (April 8, 2013)
|
||||
|
||||
- Added: root `color` and `background` normalizations to counter the effects of
|
||||
- system color schemes.
|
||||
|
||||
### 2.1.0 (January 21, 2013)
|
||||
|
||||
- Added: Normalization of `text-transform` for `button` and `select`.
|
||||
- Added: Normalization of `h1` margin when within HTML5 sectioning elements.
|
||||
- Added: Normalization of `hr` element.
|
||||
- Added: `main` element to HTML5 display definitions.
|
||||
- Removed: unnecessary `pre` styles.
|
||||
- Fixed: cursor style for disabled button `input`.
|
||||
|
||||
### 2.0.1 (August 20, 2012)
|
||||
|
||||
- Removed: stray IE 6/7 `inline-block` hack from HTML5 display settings.
|
||||
|
||||
### 2.0.0 (August 19, 2012)
|
||||
|
||||
- Removed: Legacy browser form normalizations.
|
||||
- Removed: List normalizations.
|
||||
- Removed: heading normalizations except `h1` font size.
|
||||
- Removed: Support for IE 6/7, Firefox < 4, and Safari < 5.
|
||||
- Added: `quotes` normalizations.
|
||||
- Changed: Form elements automatically inherit `font-family` from ancestor.
|
||||
|
||||
---
|
||||
|
||||
### 1.0.1 (August 19, 2012)
|
||||
|
||||
- Changed: Adjusted `small` font size normalization.
|
||||
|
||||
### 1.0.0 (August 14, 2012)
|
||||
|
||||
- Added: MIT License.
|
||||
- Added: Hide `audio` elements without controls in iOS 5.
|
||||
- Added: Heading margins and font size.
|
||||
- Removed: scrollbar normalization.
|
||||
- Removed: excess padding from checkbox and radio inputs in IE 7.
|
||||
- Changed: Moved font-family normalization from `body` to `html`.
|
||||
- Added: IE9 correction for SVG overflow.
|
||||
- Added: Fix for legend not inheriting color in IE 6/7/8/9.
|
||||
|
||||
### Prehistory
|
||||
|
||||
- Initial version
|
108
web/node_modules/@csstools/normalize.css/LICENSE.md
generated
vendored
Normal file
108
web/node_modules/@csstools/normalize.css/LICENSE.md
generated
vendored
Normal file
|
@ -0,0 +1,108 @@
|
|||
# CC0 1.0 Universal
|
||||
|
||||
## Statement of Purpose
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer
|
||||
exclusive Copyright and Related Rights (defined below) upon the creator and
|
||||
subsequent owner(s) (each and all, an “owner”) of an original work of
|
||||
authorship and/or a database (each, a “Work”).
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for the
|
||||
purpose of contributing to a commons of creative, cultural and scientific works
|
||||
(“Commons”) that the public can reliably and without fear of later claims of
|
||||
infringement build upon, modify, incorporate in other works, reuse and
|
||||
redistribute as freely as possible in any form whatsoever and for any purposes,
|
||||
including without limitation commercial purposes. These owners may contribute
|
||||
to the Commons to promote the ideal of a free culture and the further
|
||||
production of creative, cultural and scientific works, or to gain reputation or
|
||||
greater distribution for their Work in part through the use and efforts of
|
||||
others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any expectation of
|
||||
additional consideration or compensation, the person associating CC0 with a
|
||||
Work (the “Affirmer”), to the extent that he or she is an owner of Copyright
|
||||
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and
|
||||
publicly distribute the Work under its terms, with knowledge of his or her
|
||||
Copyright and Related Rights in the Work and the meaning and intended legal
|
||||
effect of CC0 on those rights.
|
||||
|
||||
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||
protected by copyright and related or neighboring rights (“Copyright and
|
||||
Related Rights”). Copyright and Related Rights include, but are not limited
|
||||
to, the following:
|
||||
1. the right to reproduce, adapt, distribute, perform, display, communicate,
|
||||
and translate a Work;
|
||||
2. moral rights retained by the original author(s) and/or performer(s);
|
||||
3. publicity and privacy rights pertaining to a person’s image or likeness
|
||||
depicted in a Work;
|
||||
4. rights protecting against unfair competition in regards to a Work,
|
||||
subject to the limitations in paragraph 4(i), below;
|
||||
5. rights protecting the extraction, dissemination, use and reuse of data in
|
||||
a Work;
|
||||
6. database rights (such as those arising under Directive 96/9/EC of the
|
||||
European Parliament and of the Council of 11 March 1996 on the legal
|
||||
protection of databases, and under any national implementation thereof,
|
||||
including any amended or successor version of such directive); and
|
||||
7. other similar, equivalent or corresponding rights throughout the world
|
||||
based on applicable law or treaty, and any national implementations
|
||||
thereof.
|
||||
|
||||
2. Waiver. To the greatest extent permitted by, but not in contravention of,
|
||||
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
|
||||
unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright
|
||||
and Related Rights and associated claims and causes of action, whether now
|
||||
known or unknown (including existing as well as future claims and causes of
|
||||
action), in the Work (i) in all territories worldwide, (ii) for the maximum
|
||||
duration provided by applicable law or treaty (including future time
|
||||
extensions), (iii) in any current or future medium and for any number of
|
||||
copies, and (iv) for any purpose whatsoever, including without limitation
|
||||
commercial, advertising or promotional purposes (the “Waiver”). Affirmer
|
||||
makes the Waiver for the benefit of each member of the public at large and
|
||||
to the detriment of Affirmer’s heirs and successors, fully intending that
|
||||
such Waiver shall not be subject to revocation, rescission, cancellation,
|
||||
termination, or any other legal or equitable action to disrupt the quiet
|
||||
enjoyment of the Work by the public as contemplated by Affirmer’s express
|
||||
Statement of Purpose.
|
||||
|
||||
3. Public License Fallback. Should any part of the Waiver for any reason be
|
||||
judged legally invalid or ineffective under applicable law, then the Waiver
|
||||
shall be preserved to the maximum extent permitted taking into account
|
||||
Affirmer’s express Statement of Purpose. In addition, to the extent the
|
||||
Waiver is so judged Affirmer hereby grants to each affected person a
|
||||
royalty-free, non transferable, non sublicensable, non exclusive,
|
||||
irrevocable and unconditional license to exercise Affirmer’s Copyright and
|
||||
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||
maximum duration provided by applicable law or treaty (including future time
|
||||
extensions), (iii) in any current or future medium and for any number of
|
||||
copies, and (iv) for any purpose whatsoever, including without limitation
|
||||
commercial, advertising or promotional purposes (the “License”). The License
|
||||
shall be deemed effective as of the date CC0 was applied by Affirmer to the
|
||||
Work. Should any part of the License for any reason be judged legally
|
||||
invalid or ineffective under applicable law, such partial invalidity or
|
||||
ineffectiveness shall not invalidate the remainder of the License, and in
|
||||
such case Affirmer hereby affirms that he or she will not (i) exercise any
|
||||
of his or her remaining Copyright and Related Rights in the Work or (ii)
|
||||
assert any associated claims and causes of action with respect to the Work,
|
||||
in either case contrary to Affirmer’s express Statement of Purpose.
|
||||
|
||||
4. Limitations and Disclaimers.
|
||||
1. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||
surrendered, licensed or otherwise affected by this document.
|
||||
2. Affirmer offers the Work as-is and makes no representations or warranties
|
||||
of any kind concerning the Work, express, implied, statutory or
|
||||
otherwise, including without limitation warranties of title,
|
||||
merchantability, fitness for a particular purpose, non infringement, or
|
||||
the absence of latent or other defects, accuracy, or the present or
|
||||
absence of errors, whether or not discoverable, all to the greatest
|
||||
extent permissible under applicable law.
|
||||
3. Affirmer disclaims responsibility for clearing rights of other persons
|
||||
that may apply to the Work or any use thereof, including without
|
||||
limitation any person’s Copyright and Related Rights in the Work.
|
||||
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||
consents, permissions or other rights required for any use of the Work.
|
||||
4. Affirmer understands and acknowledges that Creative Commons is not a
|
||||
party to this document and has no duty or obligation with respect to this
|
||||
CC0 or use of the Work.
|
||||
|
||||
For more information, please see
|
||||
http://creativecommons.org/publicdomain/zero/1.0/.
|
91
web/node_modules/@csstools/normalize.css/README.md
generated
vendored
Normal file
91
web/node_modules/@csstools/normalize.css/README.md
generated
vendored
Normal file
|
@ -0,0 +1,91 @@
|
|||
# @csstools/normalize.css [<img src="https://csstools.github.io/normalize.css/logo.svg" alt="normalize" width="90" height="90" align="right">][@csstools/normalize.css]
|
||||
|
||||
[@csstools/normalize.css] is a CSS library that provides consistent,
|
||||
cross-browser default styling of HTML elements.
|
||||
|
||||
## Usage
|
||||
|
||||
```html
|
||||
<link href="https://unpkg.com/@csstools/normalize.css" rel="stylesheet" />
|
||||
```
|
||||
|
||||
### Install
|
||||
|
||||
```sh
|
||||
npm install --save @csstools/normalize.css
|
||||
```
|
||||
|
||||
#### Webpack Usage
|
||||
|
||||
Import [@csstools/normalize.css] in CSS:
|
||||
|
||||
```css
|
||||
@import '~@csstools/normalize.css';
|
||||
```
|
||||
|
||||
Alternatively, import [@csstools/normalize.css] in JS:
|
||||
|
||||
```js
|
||||
import '@csstools/normalize.css';
|
||||
```
|
||||
|
||||
In `webpack.config.js`, use the appropriate loaders:
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.css$/,
|
||||
use: [ 'style-loader', 'css-loader' ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Download**
|
||||
|
||||
See https://csstools.github.io/normalize.css/latest/normalize.css
|
||||
|
||||
## What does it do?
|
||||
|
||||
* Normalizes styles for a wide range of elements.
|
||||
* Corrects bugs and common browser inconsistencies.
|
||||
* Explains what code does using detailed comments.
|
||||
|
||||
## Browser support
|
||||
|
||||
* Chrome (last 3)
|
||||
* Edge (last 3)
|
||||
* Firefox (last 3)
|
||||
* Firefox ESR
|
||||
* Opera (last 3)
|
||||
* Safari (last 3)
|
||||
* iOS Safari (last 2)
|
||||
* Internet Explorer 9+
|
||||
|
||||
## Contributing
|
||||
|
||||
Please read the [contribution guidelines](CONTRIBUTING.md) in order to make the
|
||||
contribution process easy and effective for everyone involved.
|
||||
|
||||
## Similar Projects
|
||||
|
||||
- [opinionate.css](https://github.com/adamgruber/opinionate.css) - A supplement
|
||||
to normalize.css with opinionated rules.
|
||||
- [sanitize.css](https://github.com/csstools/sanitize.css) - An alternative to
|
||||
normalize.css, adhering to common developer expectations and preferences
|
||||
- [remedy.css](https://github.com/mozdevs/cssremedy) - An alternative to
|
||||
normalize.css, adhering to different common developer expectations and
|
||||
preferences.
|
||||
- [modern-normalize.css](https://github.com/csstools/sanitize.css) - An
|
||||
alternative to normalize.css, adhering to a minimal set of normalizations and
|
||||
common developer expectations and preferences.
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
normalize.css is a project by [Jonathan Neal](https://github.com/jonathantneal),
|
||||
co-created with [Nicolas Gallagher](https://github.com/necolas).
|
||||
|
||||
[@csstools/normalize.css]: https://github.com/csstools/normalize.css
|
416
web/node_modules/@csstools/normalize.css/normalize.css
generated
vendored
Normal file
416
web/node_modules/@csstools/normalize.css/normalize.css
generated
vendored
Normal file
|
@ -0,0 +1,416 @@
|
|||
/* Document
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Correct the line height in all browsers.
|
||||
* 2. Prevent adjustments of font size after orientation changes in
|
||||
* IE on Windows Phone and in iOS.
|
||||
*/
|
||||
|
||||
html {
|
||||
line-height: 1.15; /* 1 */
|
||||
-ms-text-size-adjust: 100%; /* 2 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/* Sections
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Correct the font size and margin on `h1` elements within `section` and
|
||||
* `article` contexts in Chrome, Edge, Firefox, and Safari.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
|
||||
*/
|
||||
|
||||
dl dl,
|
||||
dl ol,
|
||||
dl ul,
|
||||
ol dl,
|
||||
ul dl {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the margin on nested lists in Edge 18- and IE.
|
||||
*/
|
||||
|
||||
ol ol,
|
||||
ol ul,
|
||||
ul ol,
|
||||
ul ul {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in Firefox.
|
||||
* 2. Show the overflow in Edge 18- and IE.
|
||||
*/
|
||||
|
||||
hr {
|
||||
box-sizing: content-box; /* 1 */
|
||||
height: 0; /* 1 */
|
||||
overflow: visible; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE.
|
||||
*/
|
||||
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the gray background on active links in IE 10.
|
||||
*/
|
||||
|
||||
a {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct text decoration in Edge 18-, IE, and Safari.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
text-decoration: underline;
|
||||
text-decoration: underline dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/* Embedded content
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
audio,
|
||||
video {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in iOS 4-7.
|
||||
*/
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the border on images within links in IE 10-.
|
||||
*/
|
||||
|
||||
img {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the overflow in IE.
|
||||
*/
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin on controls in Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
select {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Show the overflow in IE.
|
||||
* 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
|
||||
*/
|
||||
|
||||
button {
|
||||
overflow: visible; /* 1 */
|
||||
text-transform: none; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the inability to style buttons in iOS and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the padding in Firefox.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
padding: 0.35em 0.75em 0.625em;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the overflow in Edge 18- and IE.
|
||||
*/
|
||||
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the text wrapping in Edge 18- and IE.
|
||||
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||
*/
|
||||
|
||||
legend {
|
||||
box-sizing: border-box; /* 1 */
|
||||
color: inherit; /* 2 */
|
||||
display: table; /* 1 */
|
||||
max-width: 100%; /* 1 */
|
||||
white-space: normal; /* 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct display in Edge 18- and IE.
|
||||
* 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
|
||||
*/
|
||||
|
||||
progress {
|
||||
display: inline-block; /* 1 */
|
||||
vertical-align: baseline; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inheritance of text transform in Firefox.
|
||||
*/
|
||||
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Remove the margin in Firefox and Safari.
|
||||
* 2. Remove the default vertical scrollbar in IE.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
margin: 0; /* 1 */
|
||||
overflow: auto; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in IE 10-.
|
||||
* 2. Remove the padding in IE 10-.
|
||||
*/
|
||||
|
||||
[type="checkbox"],
|
||||
[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the odd appearance in Chrome, Edge, and Safari.
|
||||
* 2. Correct the outline style in Safari.
|
||||
*/
|
||||
|
||||
[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
outline-offset: -2px; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the cursor style of increment and decrement buttons in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-inner-spin-button,
|
||||
::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the text style of placeholders in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
::-webkit-input-placeholder {
|
||||
color: inherit;
|
||||
opacity: 0.54;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner padding in Chrome, Edge, and Safari on macOS.
|
||||
*/
|
||||
|
||||
::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inability to style upload buttons in iOS and Safari.
|
||||
* 2. Change font properties to `inherit` in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner border and padding of focus outlines in Firefox.
|
||||
*/
|
||||
|
||||
::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore the focus outline styles unset by the previous rule in Firefox.
|
||||
*/
|
||||
|
||||
:-moz-focusring {
|
||||
outline: 1px dotted ButtonText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the additional :invalid styles in Firefox.
|
||||
*/
|
||||
|
||||
:-moz-ui-invalid {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Interactive
|
||||
* ========================================================================== */
|
||||
|
||||
/*
|
||||
* Add the correct display in Edge 18- and IE.
|
||||
*/
|
||||
|
||||
details {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct styles in Edge 18-, IE, and Safari.
|
||||
*/
|
||||
|
||||
dialog {
|
||||
background-color: white;
|
||||
border: solid;
|
||||
color: black;
|
||||
display: block;
|
||||
height: -moz-fit-content;
|
||||
height: -webkit-fit-content;
|
||||
height: fit-content;
|
||||
left: 0;
|
||||
margin: auto;
|
||||
padding: 1em;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
width: -moz-fit-content;
|
||||
width: -webkit-fit-content;
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
dialog:not([open]) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct display in all browsers.
|
||||
*/
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
/* Scripting
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
canvas {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE.
|
||||
*/
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* User interaction
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 10-.
|
||||
*/
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
428
web/node_modules/@csstools/normalize.css/opinionated.css
generated
vendored
Normal file
428
web/node_modules/@csstools/normalize.css/opinionated.css
generated
vendored
Normal file
|
@ -0,0 +1,428 @@
|
|||
/* Document
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Correct the line height in all browsers.
|
||||
* 2. Prevent adjustments of font size after orientation changes in
|
||||
* IE on Windows Phone and in iOS.
|
||||
*/
|
||||
|
||||
html {
|
||||
line-height: 1.15; /* 1 */
|
||||
-ms-text-size-adjust: 100%; /* 2 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/* Sections
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin in all browsers. (opinionated)
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the font size and margin on `h1` elements within `section` and
|
||||
* `article` contexts in Chrome, Edge, Firefox, and Safari.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
|
||||
*/
|
||||
|
||||
dl dl,
|
||||
dl ol,
|
||||
dl ul,
|
||||
ol dl,
|
||||
ul dl {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the margin on nested lists in Edge 18- and IE.
|
||||
*/
|
||||
|
||||
ol ol,
|
||||
ol ul,
|
||||
ul ol,
|
||||
ul ul {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in Firefox.
|
||||
* 2. Show the overflow in Edge 18- and IE.
|
||||
*/
|
||||
|
||||
hr {
|
||||
box-sizing: content-box; /* 1 */
|
||||
height: 0; /* 1 */
|
||||
overflow: visible; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE.
|
||||
*/
|
||||
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the gray background on active links in IE 10.
|
||||
*/
|
||||
|
||||
a {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct text decoration in Edge 18-, IE, and Safari.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
text-decoration: underline;
|
||||
text-decoration: underline dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/* Embedded content
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
audio,
|
||||
video {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in iOS 4-7.
|
||||
*/
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the border on images within links in IE 10-.
|
||||
*/
|
||||
|
||||
img {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the overflow in IE.
|
||||
*/
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin on controls in Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
select {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Show the overflow in IE.
|
||||
* 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
|
||||
*/
|
||||
|
||||
button {
|
||||
overflow: visible; /* 1 */
|
||||
text-transform: none; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the inability to style buttons in iOS and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the padding in Firefox.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
padding: 0.35em 0.75em 0.625em;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the overflow in Edge 18- and IE.
|
||||
*/
|
||||
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the text wrapping in Edge 18- and IE.
|
||||
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||
*/
|
||||
|
||||
legend {
|
||||
box-sizing: border-box; /* 1 */
|
||||
color: inherit; /* 2 */
|
||||
display: table; /* 1 */
|
||||
max-width: 100%; /* 1 */
|
||||
white-space: normal; /* 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct display in Edge 18- and IE.
|
||||
* 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
|
||||
*/
|
||||
|
||||
progress {
|
||||
display: inline-block; /* 1 */
|
||||
vertical-align: baseline; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inheritance of text transform in Firefox.
|
||||
*/
|
||||
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
font-family: inherit; /* 1 */
|
||||
font-size: 100%; /* 1 */
|
||||
line-height: 1.15; /* 1 */
|
||||
margin: 0; /* 2 */
|
||||
overflow: auto; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in IE 10-.
|
||||
* 2. Remove the padding in IE 10-.
|
||||
*/
|
||||
|
||||
[type="checkbox"],
|
||||
[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the odd appearance in Chrome, Edge, and Safari.
|
||||
* 2. Correct the outline style in Safari.
|
||||
*/
|
||||
|
||||
[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
outline-offset: -2px; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the cursor style of increment and decrement buttons in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-inner-spin-button,
|
||||
::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the text style of placeholders in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
::-webkit-input-placeholder {
|
||||
color: inherit;
|
||||
opacity: 0.54;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner padding in Chrome, Edge, and Safari on macOS.
|
||||
*/
|
||||
|
||||
::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inability to style upload buttons in iOS and Safari.
|
||||
* 2. Change font properties to `inherit` in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner border and padding of focus outlines in Firefox.
|
||||
*/
|
||||
|
||||
::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore the focus outline styles unset by the previous rule in Firefox.
|
||||
*/
|
||||
|
||||
:-moz-focusring {
|
||||
outline: 1px dotted ButtonText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the additional :invalid styles in Firefox.
|
||||
*/
|
||||
|
||||
:-moz-ui-invalid {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Interactive
|
||||
* ========================================================================== */
|
||||
|
||||
/*
|
||||
* Add the correct display in Edge 18- and IE.
|
||||
*/
|
||||
|
||||
details {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct styles in Edge 18-, IE, and Safari.
|
||||
*/
|
||||
|
||||
dialog {
|
||||
background-color: white;
|
||||
border: solid;
|
||||
color: black;
|
||||
display: block;
|
||||
height: -moz-fit-content;
|
||||
height: -webkit-fit-content;
|
||||
height: fit-content;
|
||||
left: 0;
|
||||
margin: auto;
|
||||
padding: 1em;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
width: -moz-fit-content;
|
||||
width: -webkit-fit-content;
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
dialog:not([open]) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct display in all browsers.
|
||||
*/
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
/* Scripting
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
canvas {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE.
|
||||
*/
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* User interaction
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 10-.
|
||||
*/
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
47
web/node_modules/@csstools/normalize.css/package.json
generated
vendored
Normal file
47
web/node_modules/@csstools/normalize.css/package.json
generated
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"name": "@csstools/normalize.css",
|
||||
"version": "10.1.0",
|
||||
"description": "A cross-browser CSS foundation",
|
||||
"author": "Jonathan Neal <jonathantneal@hotmail.com>",
|
||||
"contributors": [
|
||||
"Jonathan Neal <jonathantneal@hotmail.com> (http://jonathantneal.com/)",
|
||||
"Nicolas Gallagher <nicolas@nicolasgallagher.com> (http://nicolasgallagher.com/)"
|
||||
],
|
||||
"license": "CC0-1.0",
|
||||
"repository": "csstools/normalize.css",
|
||||
"homepage": "https://github.com/csstools/normalize.css#readme",
|
||||
"bugs": "https://github.com/csstools/normalize.css/issues",
|
||||
"main": "normalize.css",
|
||||
"style": "normalize.css",
|
||||
"files": [
|
||||
"normalize.css",
|
||||
"opinionated.css"
|
||||
],
|
||||
"scripts": {
|
||||
"prepublishOnly": "npm test",
|
||||
"test": "stylelint normalize.css opinionated.css"
|
||||
},
|
||||
"devDependencies": {
|
||||
"stylelint": "^10.0.1",
|
||||
"stylelint-config-standard": "^18.3.0"
|
||||
},
|
||||
"stylelint": {
|
||||
"extends": "stylelint-config-standard",
|
||||
"rules": {
|
||||
"font-family-no-duplicate-names": [
|
||||
true,
|
||||
{
|
||||
"ignoreFontFamilyNames": [
|
||||
"monospace"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"keywords": [
|
||||
"css",
|
||||
"normalizes",
|
||||
"browsers",
|
||||
"fixes"
|
||||
]
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue