mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Again replaced some jQuery to native and cleaned up normalize.css without IE
This commit is contained in:
parent
4977494f6b
commit
645831368d
13 changed files with 649 additions and 318 deletions
22
README.md
22
README.md
|
|
@ -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 |
|
|js/* |1.14.0 |native |
|
||||||
|----------- |--------: |--------: |
|
|----------- |--------: |--------: |
|
||||||
|admin.js |2.130.942 | 971.538 |
|
|admin.js |2.130.942 | 967.065 |
|
||||||
|app.js |4.184.455 |2.635.592 |
|
|app.js |4.184.455 |2.630.967 |
|
||||||
|boot.js | 671.522 | 43.824 |
|
|boot.js | 671.522 | 43.824 |
|
||||||
|libs.js | 647.614 | 315.749 |
|
|libs.js | 647.614 | 315.759 |
|
||||||
|polyfills.js | 325.834 | 0 |
|
|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 |
|
|js/min/* |1.14.0 |native |gzip 1.14 |gzip |brotli |
|
||||||
|--------------- |--------: |--------: |--------: |--------: |--------: |
|
|--------------- |--------: |--------: |--------: |--------: |--------: |
|
||||||
|admin.min.js | 252.147 | 132.110 | 73.657 | 38.198 | 32.764 |
|
|admin.min.js | 252.147 | 131.409 | 73.657 | 38.016 | 32.576 |
|
||||||
|app.min.js | 511.202 | 355.996 |140.462 | 93.741 | 75.209 |
|
|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 |
|
|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 |
|
|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 |
|
|css/* |1.14.0 |native |
|
||||||
|-------------- |--------: |--------: |
|
|-------------- |--------: |--------: |
|
||||||
|app.css | 340.334 | 266.793 |
|
|app.css | 340.334 | 265.864 |
|
||||||
|app.min.css | 274.791 | 211.620 |
|
|app.min.css | 274.791 | 211.468 |
|
||||||
|
|
||||||
|
|
||||||
### PHP73 branch
|
### PHP73 branch
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import { pInt } from 'Common/Utils';
|
|
||||||
import { SaveSettingsStep } from 'Common/Enums';
|
import { SaveSettingsStep } from 'Common/Enums';
|
||||||
import { AbstractComponent, componentExportHelper } from 'Component/Abstract';
|
import { AbstractComponent, componentExportHelper } from 'Component/Abstract';
|
||||||
|
|
||||||
|
|
@ -9,68 +8,32 @@ class SaveTriggerComponent extends AbstractComponent {
|
||||||
constructor(params) {
|
constructor(params) {
|
||||||
super();
|
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;
|
this.value = params.value && params.value.subscribe ? params.value : null;
|
||||||
|
|
||||||
if (this.element) {
|
if (el) {
|
||||||
if (this.value) {
|
if (this.value) {
|
||||||
this.element.css('display', 'inline-block');
|
el.style.display = 'inline-block';
|
||||||
|
|
||||||
if (params.verticalAlign) {
|
if (params.verticalAlign) {
|
||||||
this.element.css('vertical-align', params.verticalAlign);
|
el.style.verticalAlign = params.verticalAlign;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setState(this.value());
|
this.setState(this.value());
|
||||||
|
|
||||||
this.disposable.push(this.value.subscribe(this.setState, this));
|
this.disposable.push(this.value.subscribe(this.setState, this));
|
||||||
} else {
|
} else {
|
||||||
this.element.hide();
|
el.style.display = 'none';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setState(value) {
|
setState(value) {
|
||||||
switch (pInt(value)) {
|
value = parseInt(value,10);
|
||||||
case SaveSettingsStep.TrueResult:
|
this.element.querySelector('.animated').hidden = value !== SaveSettingsStep.Animate;
|
||||||
this.element
|
this.element.querySelector('.success').hidden = value !== SaveSettingsStep.TrueResult;
|
||||||
.find('.animated,.error')
|
this.element.querySelector('.error').hidden = value !== SaveSettingsStep.FalseResult;
|
||||||
.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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,24 +10,19 @@ class ScriptComponent extends AbstractComponent {
|
||||||
if (
|
if (
|
||||||
params.component &&
|
params.component &&
|
||||||
params.component.templateNodes &&
|
params.component.templateNodes &&
|
||||||
params.element &&
|
params.element
|
||||||
params.element[0] &&
|
|
||||||
params.element[0].outerHTML
|
|
||||||
) {
|
) {
|
||||||
let script = params.element[0].outerHTML;
|
let el = params.element, script = el.outerHTML;
|
||||||
script = !script ? '' : script.replace(/<x-script/i, '<script').replace(/<b><\/b><\/x-script>/i, '</script>');
|
script = script ? script.replace(/<x-script/i, '<script').replace(/<b><\/b><\/x-script>/i, '</script>') : '';
|
||||||
|
|
||||||
if (script) {
|
if (script) {
|
||||||
params.element.text('');
|
const koNodes = params.component.templateNodes[0];
|
||||||
params.element.replaceWith(
|
el.textContent = '';
|
||||||
jQuery(script).text(
|
el.replaceWith(
|
||||||
params.component.templateNodes[0] && params.component.templateNodes[0].nodeValue
|
Element.fromHTML(script).textContent = koNodes && koNodes.nodeValue ? koNodes.nodeValue : ''
|
||||||
? params.component.templateNodes[0].nodeValue
|
|
||||||
: ''
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
params.element.remove();
|
el.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
107
dev/External/ko.js
vendored
107
dev/External/ko.js
vendored
|
|
@ -341,85 +341,30 @@ ko.bindingHandlers.droppable = {
|
||||||
|
|
||||||
ko.bindingHandlers.saveTrigger = {
|
ko.bindingHandlers.saveTrigger = {
|
||||||
init: (element) => {
|
init: (element) => {
|
||||||
const $el = $(element);
|
element.saveTriggerType = element.matches('input[type=text],input[type=email],input[type=password],select,textarea')
|
||||||
|
? 'input' : 'custom';
|
||||||
|
|
||||||
$el.data(
|
if ('custom' === element.saveTriggerType) {
|
||||||
'save-trigger-type',
|
element.append(
|
||||||
element.matches('input[type=text],input[type=email],input[type=password],select,textarea') ? 'input' : 'custom'
|
' ',
|
||||||
);
|
Element.fromHTML('<i class="icon-spinner animated"></i>'),
|
||||||
|
Element.fromHTML('<i class="icon-remove error"></i>'),
|
||||||
if ('custom' === $el.data('save-trigger-type')) {
|
Element.fromHTML('<i class="icon-ok success"></i>')
|
||||||
$el
|
);
|
||||||
.append(
|
element.classList.add('settings-saved-trigger');
|
||||||
' ' +
|
|
||||||
'<i class="icon-spinner animated"></i>' +
|
|
||||||
'<i class="icon-remove error"></i>' +
|
|
||||||
'<i class="icon-ok success"></i>'
|
|
||||||
)
|
|
||||||
.addClass('settings-saved-trigger');
|
|
||||||
} else {
|
} else {
|
||||||
$el.addClass('settings-saved-trigger-input');
|
element.classList.add('settings-saved-trigger-input');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
update: (element, fValueAccessor) => {
|
update: (element, fValueAccessor) => {
|
||||||
const value = ko.unwrap(fValueAccessor()),
|
const value = parseInt(ko.unwrap(fValueAccessor()),10);
|
||||||
$el = $(element);
|
if ('custom' === element.saveTriggerType) {
|
||||||
|
element.querySelector('.animated').hidden = value !== SaveSettingsStep.Animate;
|
||||||
if ('custom' === $el.data('save-trigger-type')) {
|
element.querySelector('.success').hidden = value !== SaveSettingsStep.TrueResult;
|
||||||
switch (value.toString()) {
|
element.querySelector('.error').hidden = value !== SaveSettingsStep.FalseResult;
|
||||||
case '1':
|
} else if (value !== SaveSettingsStep.Animate) {
|
||||||
$el
|
element.classList.toggle('success', value === SaveSettingsStep.TrueResult);
|
||||||
.find('.animated,.error')
|
element.classList.toggle('error', value === SaveSettingsStep.FalseResult);
|
||||||
.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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -457,7 +402,7 @@ ko.bindingHandlers.emailsTags = {
|
||||||
item => (item.toLine ? [item.toLine(false), item] : [item, null])
|
item => (item.toLine ? [item.toLine(false), item] : [item, null])
|
||||||
),
|
),
|
||||||
change: event => {
|
change: event => {
|
||||||
$el.data('EmailsTagsValue', event.target.value);
|
element.EmailsTagsValue = event.target.value;
|
||||||
fValue(event.target.value);
|
fValue(event.target.value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -469,14 +414,12 @@ ko.bindingHandlers.emailsTags = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
update: (element, fValueAccessor) => {
|
update: (element, fValueAccessor) => {
|
||||||
const $oEl = $(element),
|
const value = ko.unwrap(fValueAccessor());
|
||||||
fValue = fValueAccessor(),
|
|
||||||
value = ko.unwrap(fValue);
|
|
||||||
|
|
||||||
if ($oEl.data('EmailsTagsValue') !== value) {
|
if (element.EmailsTagsValue !== value) {
|
||||||
$oEl.val(value);
|
element.value = value;
|
||||||
$oEl.data('EmailsTagsValue', value);
|
element.EmailsTagsValue = value;
|
||||||
$oEl.inputosaurus('refresh');
|
$(element).inputosaurus('refresh');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -129,28 +129,34 @@
|
||||||
.settings-saved-trigger {
|
.settings-saved-trigger {
|
||||||
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
height: 17px;
|
||||||
line-height: 17px;
|
line-height: 17px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
.animated {
|
.animated {
|
||||||
color: green;
|
color: #888;
|
||||||
}
|
}
|
||||||
|
|
||||||
.success {
|
.success {
|
||||||
color: green;
|
color: #080;
|
||||||
transition: opacity 0.5s linear;
|
|
||||||
opacity: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.error {
|
.error {
|
||||||
color: red;
|
color: #F00;
|
||||||
transition: opacity 0.5s linear;
|
|
||||||
opacity: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.visible {
|
i {
|
||||||
|
transition: opacity 2s linear;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
i:not([hidden]) {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
i[hidden] {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.settings-saved-trigger-input {
|
.settings-saved-trigger-input {
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,6 @@
|
||||||
"knockout-sortable": "1.2.0",
|
"knockout-sortable": "1.2.0",
|
||||||
"moment": "2.24.0",
|
"moment": "2.24.0",
|
||||||
"node-fs": "0.1.7",
|
"node-fs": "0.1.7",
|
||||||
"normalize.css": "8.0.1",
|
|
||||||
"openpgp": "2.6.2",
|
"openpgp": "2.6.2",
|
||||||
"prettier": "1.19.1",
|
"prettier": "1.19.1",
|
||||||
"raw-loader": "4.0.0",
|
"raw-loader": "4.0.0",
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ config.paths.css = {
|
||||||
main: {
|
main: {
|
||||||
name: 'app.css',
|
name: 'app.css',
|
||||||
src: [
|
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/jquery-ui/css/smoothness/jquery-ui-1.12.1.custom.css',
|
||||||
'vendors/fontastic/styles.css',
|
'vendors/fontastic/styles.css',
|
||||||
'vendors/inputosaurus/inputosaurus.css',
|
'vendors/inputosaurus/inputosaurus.css',
|
||||||
|
|
|
||||||
150
vendors/bootstrap/less/sprites.less
vendored
150
vendors/bootstrap/less/sprites.less
vendored
|
|
@ -19,7 +19,6 @@
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 14px;
|
width: 14px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
.ie7-restore-right-whitespace();
|
|
||||||
line-height: 14px;
|
line-height: 14px;
|
||||||
vertical-align: text-top;
|
vertical-align: text-top;
|
||||||
background-image: url("@{iconSpritePath}");
|
background-image: url("@{iconSpritePath}");
|
||||||
|
|
@ -38,152 +37,3 @@
|
||||||
.dropdown-menu > .active > a > [class*=" icon-"] {
|
.dropdown-menu > .active > a > [class*=" icon-"] {
|
||||||
background-image: url("@{iconWhiteSpritePath}");
|
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
175
vendors/normalize.css/CHANGELOG.md
vendored
Normal 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
21
vendors/normalize.css/LICENSE.md
vendored
Normal 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
102
vendors/normalize.css/README.md
vendored
Normal 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
282
vendors/normalize.css/normalize.css
vendored
Normal 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;
|
||||||
|
}
|
||||||
|
|
@ -4825,11 +4825,6 @@ normalize-range@^0.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
|
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
|
||||||
integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
|
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:
|
now-and-later@^2.0.0:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c"
|
resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue