Again replaced some jQuery to native and cleaned up normalize.css without IE

This commit is contained in:
djmaze 2020-08-31 12:45:43 +02:00
parent 4977494f6b
commit 645831368d
13 changed files with 649 additions and 318 deletions

View file

@ -82,29 +82,29 @@ Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill
|js/* |1.14.0 |native |
|----------- |--------: |--------: |
|admin.js |2.130.942 | 971.538 |
|app.js |4.184.455 |2.635.592 |
|admin.js |2.130.942 | 967.065 |
|app.js |4.184.455 |2.630.967 |
|boot.js | 671.522 | 43.824 |
|libs.js | 647.614 | 315.749 |
|libs.js | 647.614 | 315.759 |
|polyfills.js | 325.834 | 0 |
|TOTAL |7.960.367 |3.966.789 |
|TOTAL |7.960.367 |3.957.615 |
|js/min/* |1.14.0 |native |gzip 1.14 |gzip |brotli |
|--------------- |--------: |--------: |--------: |--------: |--------: |
|admin.min.js | 252.147 | 132.110 | 73.657 | 38.198 | 32.764 |
|app.min.js | 511.202 | 355.996 |140.462 | 93.741 | 75.209 |
|admin.min.js | 252.147 | 131.409 | 73.657 | 38.016 | 32.576 |
|app.min.js | 511.202 | 355.295 |140.462 | 93.568 | 75.036 |
|boot.min.js | 66.007 | 5.560 | 22.567 | 2.341 | 2.004 |
|libs.min.js | 572.545 | 299.213 |176.720 | 92.512 | 81.723 |
|libs.min.js | 572.545 | 299.223 |176.720 | 92.519 | 81.725 |
|polyfills.min.js | 32.452 | 0 | 11.312 | 0 | 0 |
|TOTAL |1.434.353 | 792.879 |424.718 |226.792 |191.700 |
|TOTAL |1.434.353 | 791.487 |424.718 |226.444 |191.341 |
641.474 bytes (197.926 gzip) is not much, but it feels faster.
641.922 bytes (197.980 gzip) is not much, but it feels faster.
|css/* |1.14.0 |native |
|-------------- |--------: |--------: |
|app.css | 340.334 | 266.793 |
|app.min.css | 274.791 | 211.620 |
|app.css | 340.334 | 265.864 |
|app.min.css | 274.791 | 211.468 |
### PHP73 branch

View file

@ -1,4 +1,3 @@
import { pInt } from 'Common/Utils';
import { SaveSettingsStep } from 'Common/Enums';
import { AbstractComponent, componentExportHelper } from 'Component/Abstract';
@ -9,68 +8,32 @@ class SaveTriggerComponent extends AbstractComponent {
constructor(params) {
super();
this.element = jQuery(params.element) || null;
const el = params.element;
this.element = el || null;
this.value = params.value && params.value.subscribe ? params.value : null;
if (this.element) {
if (el) {
if (this.value) {
this.element.css('display', 'inline-block');
el.style.display = 'inline-block';
if (params.verticalAlign) {
this.element.css('vertical-align', params.verticalAlign);
el.style.verticalAlign = params.verticalAlign;
}
this.setState(this.value());
this.disposable.push(this.value.subscribe(this.setState, this));
} else {
this.element.hide();
el.style.display = 'none';
}
}
}
setState(value) {
switch (pInt(value)) {
case SaveSettingsStep.TrueResult:
this.element
.find('.animated,.error')
.hide()
.removeClass('visible')
.end()
.find('.success')
.show()
.addClass('visible');
break;
case SaveSettingsStep.FalseResult:
this.element
.find('.animated,.success')
.hide()
.removeClass('visible')
.end()
.find('.error')
.show()
.addClass('visible');
break;
case SaveSettingsStep.Animate:
this.element
.find('.error,.success')
.hide()
.removeClass('visible')
.end()
.find('.animated')
.show()
.addClass('visible');
break;
case SaveSettingsStep.Idle:
default:
this.element
.find('.animated')
.hide()
.end()
.find('.error,.success')
.removeClass('visible');
break;
}
value = parseInt(value,10);
this.element.querySelector('.animated').hidden = value !== SaveSettingsStep.Animate;
this.element.querySelector('.success').hidden = value !== SaveSettingsStep.TrueResult;
this.element.querySelector('.error').hidden = value !== SaveSettingsStep.FalseResult;
}
}

View file

@ -10,24 +10,19 @@ class ScriptComponent extends AbstractComponent {
if (
params.component &&
params.component.templateNodes &&
params.element &&
params.element[0] &&
params.element[0].outerHTML
params.element
) {
let script = params.element[0].outerHTML;
script = !script ? '' : script.replace(/<x-script/i, '<script').replace(/<b><\/b><\/x-script>/i, '</script>');
let el = params.element, script = el.outerHTML;
script = script ? script.replace(/<x-script/i, '<script').replace(/<b><\/b><\/x-script>/i, '</script>') : '';
if (script) {
params.element.text('');
params.element.replaceWith(
jQuery(script).text(
params.component.templateNodes[0] && params.component.templateNodes[0].nodeValue
? params.component.templateNodes[0].nodeValue
: ''
)
const koNodes = params.component.templateNodes[0];
el.textContent = '';
el.replaceWith(
Element.fromHTML(script).textContent = koNodes && koNodes.nodeValue ? koNodes.nodeValue : ''
);
} else {
params.element.remove();
el.remove();
}
}
}

107
dev/External/ko.js vendored
View file

@ -341,85 +341,30 @@ ko.bindingHandlers.droppable = {
ko.bindingHandlers.saveTrigger = {
init: (element) => {
const $el = $(element);
element.saveTriggerType = element.matches('input[type=text],input[type=email],input[type=password],select,textarea')
? 'input' : 'custom';
$el.data(
'save-trigger-type',
element.matches('input[type=text],input[type=email],input[type=password],select,textarea') ? 'input' : 'custom'
);
if ('custom' === $el.data('save-trigger-type')) {
$el
.append(
'&nbsp;&nbsp;' +
'<i class="icon-spinner animated"></i>' +
'<i class="icon-remove error"></i>' +
'<i class="icon-ok success"></i>'
)
.addClass('settings-saved-trigger');
if ('custom' === element.saveTriggerType) {
element.append(
'&nbsp;&nbsp;',
Element.fromHTML('<i class="icon-spinner animated"></i>'),
Element.fromHTML('<i class="icon-remove error"></i>'),
Element.fromHTML('<i class="icon-ok success"></i>')
);
element.classList.add('settings-saved-trigger');
} else {
$el.addClass('settings-saved-trigger-input');
element.classList.add('settings-saved-trigger-input');
}
},
update: (element, fValueAccessor) => {
const value = ko.unwrap(fValueAccessor()),
$el = $(element);
if ('custom' === $el.data('save-trigger-type')) {
switch (value.toString()) {
case '1':
$el
.find('.animated,.error')
.hide()
.removeClass('visible')
.end()
.find('.success')
.show()
.addClass('visible');
break;
case '0':
$el
.find('.animated,.success')
.hide()
.removeClass('visible')
.end()
.find('.error')
.show()
.addClass('visible');
break;
case '-2':
$el
.find('.error,.success')
.hide()
.removeClass('visible')
.end()
.find('.animated')
.show()
.addClass('visible');
break;
default:
$el
.find('.animated')
.hide()
.end()
.find('.error,.success')
.removeClass('visible');
break;
}
} else {
switch (value.toString()) {
case '1':
$el.addClass('success').removeClass('error');
break;
case '0':
$el.addClass('error').removeClass('success');
break;
case '-2':
break;
default:
$el.removeClass('error success');
break;
}
const value = parseInt(ko.unwrap(fValueAccessor()),10);
if ('custom' === element.saveTriggerType) {
element.querySelector('.animated').hidden = value !== SaveSettingsStep.Animate;
element.querySelector('.success').hidden = value !== SaveSettingsStep.TrueResult;
element.querySelector('.error').hidden = value !== SaveSettingsStep.FalseResult;
} else if (value !== SaveSettingsStep.Animate) {
element.classList.toggle('success', value === SaveSettingsStep.TrueResult);
element.classList.toggle('error', value === SaveSettingsStep.FalseResult);
}
}
};
@ -457,7 +402,7 @@ ko.bindingHandlers.emailsTags = {
item => (item.toLine ? [item.toLine(false), item] : [item, null])
),
change: event => {
$el.data('EmailsTagsValue', event.target.value);
element.EmailsTagsValue = event.target.value;
fValue(event.target.value);
}
});
@ -469,14 +414,12 @@ ko.bindingHandlers.emailsTags = {
}
},
update: (element, fValueAccessor) => {
const $oEl = $(element),
fValue = fValueAccessor(),
value = ko.unwrap(fValue);
const value = ko.unwrap(fValueAccessor());
if ($oEl.data('EmailsTagsValue') !== value) {
$oEl.val(value);
$oEl.data('EmailsTagsValue', value);
$oEl.inputosaurus('refresh');
if (element.EmailsTagsValue !== value) {
element.value = value;
element.EmailsTagsValue = value;
$(element).inputosaurus('refresh');
}
}
};

View file

@ -129,28 +129,34 @@
.settings-saved-trigger {
display: inline-block;
height: 17px;
line-height: 17px;
font-size: 16px;
position: relative;
.animated {
color: green;
color: #888;
}
.success {
color: green;
transition: opacity 0.5s linear;
opacity: 0;
color: #080;
}
.error {
color: red;
transition: opacity 0.5s linear;
opacity: 0;
color: #F00;
}
.visible {
i {
transition: opacity 2s linear;
position: absolute;
}
i:not([hidden]) {
opacity: 1;
}
i[hidden] {
opacity: 0;
}
}
.settings-saved-trigger-input {

View file

@ -89,7 +89,6 @@
"knockout-sortable": "1.2.0",
"moment": "2.24.0",
"node-fs": "0.1.7",
"normalize.css": "8.0.1",
"openpgp": "2.6.2",
"prettier": "1.19.1",
"raw-loader": "4.0.0",

View file

@ -50,7 +50,7 @@ config.paths.css = {
main: {
name: 'app.css',
src: [
'node_modules/normalize.css/normalize.css',
'vendors/normalize.css/normalize.css',
'vendors/jquery-ui/css/smoothness/jquery-ui-1.12.1.custom.css',
'vendors/fontastic/styles.css',
'vendors/inputosaurus/inputosaurus.css',

View file

@ -19,7 +19,6 @@
display: inline-block;
width: 14px;
height: 14px;
.ie7-restore-right-whitespace();
line-height: 14px;
vertical-align: text-top;
background-image: url("@{iconSpritePath}");
@ -38,152 +37,3 @@
.dropdown-menu > .active > a > [class*=" icon-"] {
background-image: url("@{iconWhiteSpritePath}");
}
/*
.icon-glass { background-position: 0 0; }
.icon-music { background-position: -24px 0; }
.icon-search { background-position: -48px 0; }
.icon-envelope { background-position: -72px 0; }
.icon-heart { background-position: -96px 0; }
.icon-star { background-position: -120px 0; }
.icon-star-empty { background-position: -144px 0; }
.icon-user { background-position: -168px 0; }
.icon-film { background-position: -192px 0; }
.icon-th-large { background-position: -216px 0; }
.icon-th { background-position: -240px 0; }
.icon-th-list { background-position: -264px 0; }
.icon-ok { background-position: -288px 0; }
.icon-remove { background-position: -312px 0; }
.icon-zoom-in { background-position: -336px 0; }
.icon-zoom-out { background-position: -360px 0; }
.icon-off { background-position: -384px 0; }
.icon-signal { background-position: -408px 0; }
.icon-cog { background-position: -432px 0; }
.icon-trash { background-position: -456px 0; }
.icon-home { background-position: 0 -24px; }
.icon-file { background-position: -24px -24px; }
.icon-time { background-position: -48px -24px; }
.icon-road { background-position: -72px -24px; }
.icon-download-alt { background-position: -96px -24px; }
.icon-download { background-position: -120px -24px; }
.icon-upload { background-position: -144px -24px; }
.icon-inbox { background-position: -168px -24px; }
.icon-play-circle { background-position: -192px -24px; }
.icon-repeat { background-position: -216px -24px; }
.icon-refresh { background-position: -240px -24px; }
.icon-list-alt { background-position: -264px -24px; }
.icon-lock { background-position: -287px -24px; } // 1px off
.icon-flag { background-position: -312px -24px; }
.icon-headphones { background-position: -336px -24px; }
.icon-volume-off { background-position: -360px -24px; }
.icon-volume-down { background-position: -384px -24px; }
.icon-volume-up { background-position: -408px -24px; }
.icon-qrcode { background-position: -432px -24px; }
.icon-barcode { background-position: -456px -24px; }
.icon-tag { background-position: 0 -48px; }
.icon-tags { background-position: -25px -48px; } // 1px off
.icon-book { background-position: -48px -48px; }
.icon-bookmark { background-position: -72px -48px; }
.icon-print { background-position: -96px -48px; }
.icon-camera { background-position: -120px -48px; }
.icon-font { background-position: -144px -48px; }
.icon-bold { background-position: -167px -48px; } // 1px off
.icon-italic { background-position: -192px -48px; }
.icon-text-height { background-position: -216px -48px; }
.icon-text-width { background-position: -240px -48px; }
.icon-align-left { background-position: -264px -48px; }
.icon-align-center { background-position: -288px -48px; }
.icon-align-right { background-position: -312px -48px; }
.icon-align-justify { background-position: -336px -48px; }
.icon-list { background-position: -360px -48px; }
.icon-indent-left { background-position: -384px -48px; }
.icon-indent-right { background-position: -408px -48px; }
.icon-facetime-video { background-position: -432px -48px; }
.icon-picture { background-position: -456px -48px; }
.icon-pencil { background-position: 0 -72px; }
.icon-map-marker { background-position: -24px -72px; }
.icon-adjust { background-position: -48px -72px; }
.icon-tint { background-position: -72px -72px; }
.icon-edit { background-position: -96px -72px; }
.icon-share { background-position: -120px -72px; }
.icon-check { background-position: -144px -72px; }
.icon-move { background-position: -168px -72px; }
.icon-step-backward { background-position: -192px -72px; }
.icon-fast-backward { background-position: -216px -72px; }
.icon-backward { background-position: -240px -72px; }
.icon-play { background-position: -264px -72px; }
.icon-pause { background-position: -288px -72px; }
.icon-stop { background-position: -312px -72px; }
.icon-forward { background-position: -336px -72px; }
.icon-fast-forward { background-position: -360px -72px; }
.icon-step-forward { background-position: -384px -72px; }
.icon-eject { background-position: -408px -72px; }
.icon-chevron-left { background-position: -432px -72px; }
.icon-chevron-right { background-position: -456px -72px; }
.icon-plus-sign { background-position: 0 -96px; }
.icon-minus-sign { background-position: -24px -96px; }
.icon-remove-sign { background-position: -48px -96px; }
.icon-ok-sign { background-position: -72px -96px; }
.icon-question-sign { background-position: -96px -96px; }
.icon-info-sign { background-position: -120px -96px; }
.icon-screenshot { background-position: -144px -96px; }
.icon-remove-circle { background-position: -168px -96px; }
.icon-ok-circle { background-position: -192px -96px; }
.icon-ban-circle { background-position: -216px -96px; }
.icon-arrow-left { background-position: -240px -96px; }
.icon-arrow-right { background-position: -264px -96px; }
.icon-arrow-up { background-position: -289px -96px; } // 1px off
.icon-arrow-down { background-position: -312px -96px; }
.icon-share-alt { background-position: -336px -96px; }
.icon-resize-full { background-position: -360px -96px; }
.icon-resize-small { background-position: -384px -96px; }
.icon-plus { background-position: -408px -96px; }
.icon-minus { background-position: -433px -96px; }
.icon-asterisk { background-position: -456px -96px; }
.icon-exclamation-sign { background-position: 0 -120px; }
.icon-gift { background-position: -24px -120px; }
.icon-leaf { background-position: -48px -120px; }
.icon-fire { background-position: -72px -120px; }
.icon-eye-open { background-position: -96px -120px; }
.icon-eye-close { background-position: -120px -120px; }
.icon-warning-sign { background-position: -144px -120px; }
.icon-plane { background-position: -168px -120px; }
.icon-calendar { background-position: -192px -120px; }
.icon-random { background-position: -216px -120px; width: 16px; }
.icon-comment { background-position: -240px -120px; }
.icon-magnet { background-position: -264px -120px; }
.icon-chevron-up { background-position: -288px -120px; }
.icon-chevron-down { background-position: -313px -119px; } // 1px, 1px off
.icon-retweet { background-position: -336px -120px; }
.icon-shopping-cart { background-position: -360px -120px; }
.icon-folder-close { background-position: -384px -120px; }
.icon-folder-open { background-position: -408px -120px; width: 16px; }
.icon-resize-vertical { background-position: -432px -119px; } // 1px, 1px off
.icon-resize-horizontal { background-position: -456px -118px; } // 1px, 2px off
.icon-hdd { background-position: 0 -144px; }
.icon-bullhorn { background-position: -24px -144px; }
.icon-bell { background-position: -48px -144px; }
.icon-certificate { background-position: -72px -144px; }
.icon-thumbs-up { background-position: -96px -144px; }
.icon-thumbs-down { background-position: -120px -144px; }
.icon-hand-right { background-position: -144px -144px; }
.icon-hand-left { background-position: -168px -144px; }
.icon-hand-up { background-position: -192px -144px; }
.icon-hand-down { background-position: -216px -144px; }
.icon-circle-arrow-right { background-position: -240px -144px; }
.icon-circle-arrow-left { background-position: -264px -144px; }
.icon-circle-arrow-up { background-position: -288px -144px; }
.icon-circle-arrow-down { background-position: -312px -144px; }
.icon-globe { background-position: -336px -144px; }
.icon-wrench { background-position: -360px -144px; }
.icon-tasks { background-position: -384px -144px; }
.icon-filter { background-position: -408px -144px; }
.icon-briefcase { background-position: -432px -144px; }
.icon-fullscreen { background-position: -456px -144px; }
*/

175
vendors/normalize.css/CHANGELOG.md vendored Normal file
View file

@ -0,0 +1,175 @@
# Changes to normalize.css
### 8.0.1 (November 4, 2018)
* Fix regression in IE rendering of `main` element.
### 8.0.0 (February 2, 2018)
* Remove support for older browsers Android 4, lte IE 9, lte Safari 7.
* Don't remove search input cancel button in Chrome/Safari.
* Form inputs inherit `font-family`.
* Fix text decoration in Safari 8+.
### 7.0.0 (May 2, 2017)
* Revert changes in `body` and form elements styles introduced by v6
### 6.0.0 (March 26, 2017)
* Remove all opinionated rules
* Correct document heading comment
* Update `abbr[title]` support
### 5.0.0 (October 3, 2016)
* Add normalized sections not already present from
https://html.spec.whatwg.org/multipage/.
* Move unsorted rules into their respective sections.
* Update the `summary` style in all browsers.
* Remove `::placeholder` styles due to a bug in Edge.
* More explicitly define font resets on form controls.
* Remove the `optgroup` normalization needed by the previous font reset.
* Update text-size-adjust documentation for IE on Windows Phone
* Update OS X reference to macOS
* Update the semver strategy.
### 4.2.0 (June 30, 2016)
* Correct the `line-height` in all browsers.
* Restore `optgroup` font inheritance.
* Update normalize.css heading.
### 4.1.1 (April 12, 2016)
* Update normalize.css heading.
### 4.1.0 (April 11, 2016)
* Normalize placeholders in Chrome, Edge, and Safari.
* Normalize `text-decoration-skip` property in Safari.
* Normalize file select buttons.
* Normalize search input outlines in Safari.
* Limit Firefox focus normalizations to buttons.
* Restore `main` to package.json.
* Restore proper overflow to certain `select` elements.
* Remove opinionated cursor styles on buttons.
* Update stylelint configuration.
* Update tests.
### 4.0.0 (March 19, 2016)
* Add the correct font weight for `b` and `strong` in Chrome, Edge, and Safari.
* Correct inconsistent `overflow` for `hr` in Edge and IE.
* Correct inconsistent `box-sizing` for `hr` in Firefox.
* Correct inconsistent `text-decoration` and `border-bottom` for `abbr[title]`
in Chrome, Edge, Firefox IE, Opera, and Safari.
* Correct inheritance and scaling of `font-size` for preformatted text.
* Correct `legend` text wrapping not present in Edge and IE.
* Remove unnecessary normalization of `line-height` for `input`.
* Remove unnecessary normalization of `color` for form controls.
* Remove unnecessary `box-sizing` for `input[type="search"]` in Chrome, Edge,
Firefox, IE, and Safari.
* Remove opinionated table resets.
* Remove opinionated `pre` overflow.
* Remove selector weight from some input selectors.
* Update normalization of `border-style` for `img`.
* Update normalization of `color` inheritance for `legend`.
* Update normalization of `background-color` for `mark`.
* Update normalization of `outline` for `:-moz-focusring` removed by a previous
normalization in Firefox.
* Update opinionated style of `outline-width` for `a:active` and `a:hover`.
* Update comments to identify opinionated styles.
* Update comments to specify browser/versions affected by all changes.
* Update comments to use one voice.
---
### 3.0.3 (March 30, 2015)
* Remove unnecessary vendor prefixes.
* Add `main` property.
### 3.0.2 (October 4, 2014)
* Only alter `background-color` of links in IE 10.
* Add `menu` element to HTML5 display definitions.
### 3.0.1 (March 27, 2014)
* Add package.json for npm support.
### 3.0.0 (January 28, 2014)
### 3.0.0-rc.1 (January 26, 2014)
* Explicit tests for each normalization.
* Fix i18n for `q` element.
* Fix `pre` text formatting and overflow.
* Fix vertical alignment of `progress`.
* Address `button` overflow in IE 8/9/10.
* Revert `textarea` alignment modification.
* Fix number input button cursor in Chrome on OS X.
* Remove `a:focus` outline normalization.
* Fix `figure` margin normalization.
* Normalize `optgroup`.
* Remove default table cell padding.
* Set correct display for `progress` in IE 8/9.
* Fix `font` and `color` inheritance for forms.
---
### 2.1.3 (August 26, 2013)
* Fix component.json.
* Remove the gray background color from active links in IE 10.
### 2.1.2 (May 11, 2013)
* Revert root `color` and `background` normalizations.
### 2.1.1 (April 8, 2013)
* Normalize root `color` and `background` to counter the effects of system
color schemes.
### 2.1.0 (January 21, 2013)
* Normalize `text-transform` for `button` and `select`.
* Normalize `h1` margin when within HTML5 sectioning elements.
* Normalize `hr` element.
* Remove unnecessary `pre` styles.
* Add `main` element to HTML5 display definitions.
* Fix cursor style for disabled button `input`.
### 2.0.1 (August 20, 2012)
* Remove stray IE 6/7 `inline-block` hack from HTML5 display settings.
### 2.0.0 (August 19, 2012)
* Remove legacy browser form normalizations.
* Remove all list normalizations.
* Add `quotes` normalizations.
* Remove all heading normalizations except `h1` font size.
* Form elements automatically inherit `font-family` from ancestor.
* Drop support for IE 6/7, Firefox < 4, and Safari < 5.
---
### 1.0.1 (August 19, 2012)
* Adjust `small` font size normalization.
### 1.0.0 (August 14, 2012)
(Only the notable changes since public release)
* Add MIT License.
* Hide `audio` elements without controls in iOS 5.
* Normalize heading margins and font size.
* Move font-family normalization from `body` to `html`.
* Remove scrollbar normalization.
* Remove excess padding from checkbox and radio inputs in IE 7.
* Add IE9 correction for SVG overflow.
* Add fix for legend not inheriting color in IE 6/7/8/9.

21
vendors/normalize.css/LICENSE.md vendored Normal file
View file

@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

102
vendors/normalize.css/README.md vendored Normal file
View file

@ -0,0 +1,102 @@
# normalize.css
<a href="https://github.com/necolas/normalize.css"><img
src="https://necolas.github.io/normalize.css/logo.svg" alt="Normalize Logo"
width="80" height="80" align="right"></a>
> A modern alternative to CSS resets
[![npm][npm-image]][npm-url] [![license][license-image]][license-url]
[![changelog][changelog-image]][changelog-url]
[![gitter][gitter-image]][gitter-url]
**NPM**
```sh
npm install --save normalize.css
```
**CDN**
See https://yarnpkg.com/en/package/normalize.css
**Download**
See https://necolas.github.io/normalize.css/latest/normalize.css
## What does it do?
* Preserves useful defaults, unlike many CSS resets.
* Normalizes styles for a wide range of elements.
* Corrects bugs and common browser inconsistencies.
* Improves usability with subtle modifications.
* Explains what code does using detailed comments.
## Browser support
* Chrome
* Edge
* Firefox ESR+
* Internet Explorer 10+
* Safari 8+
* Opera
## Extended details and known issues
Additional detail and explanation of the esoteric parts of normalize.css.
#### `pre, code, kbd, samp`
The `font-family: monospace, monospace` hack fixes the inheritance and scaling
of font-size for preformatted text. The duplication of `monospace` is
intentional. [Source](https://en.wikipedia.org/wiki/User:Davidgothberg/Test59).
#### `sub, sup`
Normally, using `sub` or `sup` affects the line-box height of text in all
browsers. [Source](https://gist.github.com/413930).
#### `select`
By default, Chrome on OS X and Safari on OS X allow very limited styling of
`select`, unless a border property is set. The default font weight on `optgroup`
elements cannot safely be changed in Chrome on OSX and Safari on OS X.
#### `[type="checkbox"]`
It is recommended that you do not style checkbox and radio inputs as Firefox's
implementation does not respect box-sizing, padding, or width.
#### `[type="number"]`
Certain font size values applied to number inputs cause the cursor style of the
decrement button to change from `default` to `text`.
#### `[type="search"]`
The search input is not fully stylable by default. In Chrome and Safari on
OSX/iOS you can't control `font`, `padding`, `border`, or `background`. In
Chrome and Safari on Windows you can't control `border` properly. It will apply
`border-width` but will only show a border color (which cannot be controlled)
for the outer 1px of that border. Applying `-webkit-appearance: textfield`
addresses these issues without removing the benefits of search inputs (e.g.
showing past searches).
## Contributing
Please read the [contribution guidelines](CONTRIBUTING.md) in order to make the
contribution process easy and effective for everyone involved.
[changelog-image]: https://img.shields.io/badge/changelog-md-blue.svg?style=flat-square
[changelog-url]: CHANGELOG.md
[license-image]: https://img.shields.io/npm/l/normalize.css.svg?style=flat-square
[license-url]: LICENSE.md
[npm-image]: https://img.shields.io/npm/v/normalize.css.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/normalize.css
[gitter-image]: https://img.shields.io/badge/chat-gitter-blue.svg?style=flat-square
[gitter-url]: https://gitter.im/necolas/normalize.css

282
vendors/normalize.css/normalize.css vendored Normal file
View file

@ -0,0 +1,282 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 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
========================================================================== */
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* 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; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}

View file

@ -4825,11 +4825,6 @@ normalize-range@^0.1.2:
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
normalize.css@8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3"
integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==
now-and-later@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c"