From 645831368d41b11045f358108515fe9649e39d52 Mon Sep 17 00:00:00 2001 From: djmaze Date: Mon, 31 Aug 2020 12:45:43 +0200 Subject: [PATCH] Again replaced some jQuery to native and cleaned up normalize.css without IE --- README.md | 22 +-- dev/Component/SaveTrigger.js | 57 +----- dev/Component/Script.js | 21 +-- dev/External/ko.js | 107 +++-------- dev/Styles/Ui.less | 22 ++- package.json | 1 - tasks/config.js | 2 +- vendors/bootstrap/less/sprites.less | 150 --------------- vendors/normalize.css/CHANGELOG.md | 175 +++++++++++++++++ vendors/normalize.css/LICENSE.md | 21 +++ vendors/normalize.css/README.md | 102 ++++++++++ vendors/normalize.css/normalize.css | 282 ++++++++++++++++++++++++++++ yarn.lock | 5 - 13 files changed, 649 insertions(+), 318 deletions(-) create mode 100644 vendors/normalize.css/CHANGELOG.md create mode 100644 vendors/normalize.css/LICENSE.md create mode 100644 vendors/normalize.css/README.md create mode 100644 vendors/normalize.css/normalize.css diff --git a/README.md b/README.md index 2ef8155be..88e7e64a1 100644 --- a/README.md +++ b/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 | |----------- |--------: |--------: | -|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 diff --git a/dev/Component/SaveTrigger.js b/dev/Component/SaveTrigger.js index 9cdb4cb37..220ea6548 100644 --- a/dev/Component/SaveTrigger.js +++ b/dev/Component/SaveTrigger.js @@ -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; } } diff --git a/dev/Component/Script.js b/dev/Component/Script.js index 0d043060e..0f9b1fa92 100644 --- a/dev/Component/Script.js +++ b/dev/Component/Script.js @@ -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(/<\/b><\/x-script>/i, ''); + let el = params.element, script = el.outerHTML; + script = script ? script.replace(/<\/b><\/x-script>/i, '') : ''; 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(); } } } diff --git a/dev/External/ko.js b/dev/External/ko.js index 0619ad440..be5bf5f68 100644 --- a/dev/External/ko.js +++ b/dev/External/ko.js @@ -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( - '  ' + - '' + - '' + - '' - ) - .addClass('settings-saved-trigger'); + if ('custom' === element.saveTriggerType) { + element.append( + '  ', + Element.fromHTML(''), + Element.fromHTML(''), + Element.fromHTML('') + ); + 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'); } } }; diff --git a/dev/Styles/Ui.less b/dev/Styles/Ui.less index 19f099da9..0270bdb2e 100644 --- a/dev/Styles/Ui.less +++ b/dev/Styles/Ui.less @@ -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 { diff --git a/package.json b/package.json index f30d54104..bd3aa1d40 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/tasks/config.js b/tasks/config.js index 6d663af16..cf3771c28 100644 --- a/tasks/config.js +++ b/tasks/config.js @@ -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', diff --git a/vendors/bootstrap/less/sprites.less b/vendors/bootstrap/less/sprites.less index cc7c423c5..0e3ffd237 100644 --- a/vendors/bootstrap/less/sprites.less +++ b/vendors/bootstrap/less/sprites.less @@ -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; } -*/ \ No newline at end of file diff --git a/vendors/normalize.css/CHANGELOG.md b/vendors/normalize.css/CHANGELOG.md new file mode 100644 index 000000000..922f6e38c --- /dev/null +++ b/vendors/normalize.css/CHANGELOG.md @@ -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. diff --git a/vendors/normalize.css/LICENSE.md b/vendors/normalize.css/LICENSE.md new file mode 100644 index 000000000..43b5ddcc9 --- /dev/null +++ b/vendors/normalize.css/LICENSE.md @@ -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. diff --git a/vendors/normalize.css/README.md b/vendors/normalize.css/README.md new file mode 100644 index 000000000..71954f230 --- /dev/null +++ b/vendors/normalize.css/README.md @@ -0,0 +1,102 @@ +# normalize.css + +Normalize Logo + +> 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 diff --git a/vendors/normalize.css/normalize.css b/vendors/normalize.css/normalize.css new file mode 100644 index 000000000..a27102b1d --- /dev/null +++ b/vendors/normalize.css/normalize.css @@ -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; +} diff --git a/yarn.lock b/yarn.lock index 1db0197e3..955713652 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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"