Initial commit
This commit is contained in:
commit
8edd9f7ac0
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
node_modules
|
186
README.md
Normal file
186
README.md
Normal file
@ -0,0 +1,186 @@
|
||||
# Default Stylesheet
|
||||
|
||||
Return styles to browser defaults.
|
||||
|
||||
## Warning: Work in Progress!
|
||||
|
||||
This technique is still a work in progress. Styles for all elements are not yet
|
||||
completely isolated. Using the Firefox's browser default stylesheet means that
|
||||
it doesn't quite work as expected in other browsers.
|
||||
|
||||
To see the current progress for yourself:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/thallada/default-stylesheet
|
||||
cd default-stylesheet
|
||||
npm install
|
||||
npm run build
|
||||
python -m SimpleHTTPServer 8888
|
||||
```
|
||||
|
||||
Then visit `http://localhost:8888/example/index.html` in your browser.
|
||||
|
||||
That said, I've had success using only Bootstrap components on top of this reset
|
||||
in another project.
|
||||
|
||||
## Why this is needed
|
||||
|
||||
If you have applied an [`all:
|
||||
initial`](https://developer.mozilla.org/en-US/docs/Web/CSS/all) reset, the
|
||||
affected elements will have absolutely no styling because they have been reset
|
||||
to the element's initial values as defined in the CSS spec (e.g. all elements
|
||||
will be inline). `all: initial` effectively undoes all styling on an element
|
||||
including the browser default styling.
|
||||
|
||||
Applying this stylesheet after applying an `all: initial` style will return
|
||||
elements to some sane browser default. It "redoes" the browser default
|
||||
stylesheet after undoing it.
|
||||
|
||||
## Will this work in non-Firefox browsers?
|
||||
|
||||
Theoretically yes, you will just end up with a styling that looks a lot like
|
||||
Firefox. This stylesheet is based upon the [default Firefox
|
||||
stylesheets](https://dxr.mozilla.org/mozilla-central/source/layout/style/res),
|
||||
but with modifications to remove `-moz-` prefixes, `%if` blocks, and
|
||||
Firefox-specific properties.
|
||||
|
||||
You can use CSS resets, such as
|
||||
[normalize.css](https://necolas.github.io/normalize.css/), to normalize the
|
||||
Firefox styling to a cross-browser default standard.
|
||||
|
||||
## Usage
|
||||
|
||||
You have two options:
|
||||
|
||||
### Import source and process with Webpack (recommended)
|
||||
|
||||
Using [Webpack](https://webpack.js.org/) with [PostCSS](http://postcss.org/)
|
||||
will give you the most control over how this stylesheet is applied.
|
||||
Additionally, since `all: initial` is only supported by Firefox at the time of
|
||||
writing, the [`postcss-initial`
|
||||
plugin](https://github.com/maximkoretskiy/postcss-initial) is necessary to
|
||||
polyfill it for other browsers.
|
||||
|
||||
If you are using `all: initial` to isolate a specific element on the page from
|
||||
the surrounding CSS cascade, you will likely want to scope it and this
|
||||
stylesheet to that specific element. This can either be done by nesting
|
||||
[Sass](https://sass-lang.com/) selectors or by using the
|
||||
[`postcss-prepend-selector`
|
||||
plugin](https://www.npmjs.com/package/postcss-prepend-selector).
|
||||
|
||||
The advantage of using `postcss-prepend-selector` is that you won't have to wrap
|
||||
every style in a selector to your embedded element. It will automatically
|
||||
prepend every selector in your project with the selector at Webpack build-time.
|
||||
|
||||
Here is an example of a Sass file that fully resets an embedded element:
|
||||
|
||||
```scss
|
||||
/* Note: Because postcss-prepend-selector is used in this project, all selectors defined in any CSS/SCSS file will have
|
||||
* "#embedded.embedded " prepended to them so that all styles here will be scoped to *only* the root div. */
|
||||
|
||||
/* reset all element properties to initial values as defined in CSS spec (*not* browser defaults) */
|
||||
* {
|
||||
all: initial;
|
||||
/* allow all elements to inherit these properties from the root "body" div */
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
font-weight: inherit;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
text-align: left;
|
||||
background-color: inherit;
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
/* apply Firefox's default stylesheet so that Bootstrap has some browser-like styling to work with */
|
||||
@import '~default-stylesheet/default.css';
|
||||
|
||||
/* apply the Bootstrap reboot (normalize.css) to convert Firefox default styling to some cross-browser baseline
|
||||
* then, apply the Bootstrap component styling */
|
||||
@import '~bootstrap/scss/bootstrap';
|
||||
|
||||
/* Since elements inside the embedded div can no longer inherit styles set on the <body>, we will apply the styles
|
||||
* that the Bootstrap reboot applies to the <body> on the wrapper div instead, which containing elements can inherit.
|
||||
*
|
||||
* <div id="embedded" class="embedded">
|
||||
* <div class="embedded-wrapper">
|
||||
* <!-- ... embedded component here ... -->
|
||||
* </div>
|
||||
* </div>
|
||||
*/
|
||||
.embedded-wrapper {
|
||||
font-family: $font-family-base;
|
||||
font-size: $font-size-base;
|
||||
font-weight: $font-weight-base;
|
||||
line-height: $line-height-base;
|
||||
color: $body-color;
|
||||
text-align: left;
|
||||
background-color: rgb(255, 255, 255);
|
||||
}
|
||||
```
|
||||
|
||||
And an example Webpack 3 SCSS/CSS rule to process it:
|
||||
|
||||
```javascript
|
||||
{
|
||||
test: /(.scss|.css)$/,
|
||||
use: [
|
||||
'style-loader',
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
importLoaders: 1,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'postcss-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
ident: 'postcss',
|
||||
plugins: () => [
|
||||
/* eslint-disable global-require */
|
||||
require('autoprefixer'),
|
||||
require('postcss-initial')(),
|
||||
require('postcss-prepend-selector')({ selector: '#embedded.embedded ' }),
|
||||
/* eslint-enable global-require */
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'sass-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
includePaths: [
|
||||
path.join(__dirname, '../node_modules'),
|
||||
path.join(__dirname, '../src'),
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
```
|
||||
|
||||
### Include pre-built CSS
|
||||
|
||||
This project includes built CSS files in-case you are not using Webpack or
|
||||
PostCSS. However, all of the styles are scoped to the hard-coded selector
|
||||
"#embedded.embedded". Make sure there is an element on the page that has the id
|
||||
"embedded" and a class name of "embedded". The styles will be applied to that
|
||||
div.
|
||||
|
||||
```html
|
||||
<html>
|
||||
<head>
|
||||
<!--- ... other stylesheets ... -->
|
||||
<link rel="stylesheet" type="text/css" href="default.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<!-- ... other elements not affected ... -->
|
||||
<div id="embedded" class="embedded">
|
||||
<!--- ... embedded component here will be reset to default ... -->
|
||||
</div>
|
||||
<!-- ... other elements not affected ... -->
|
||||
</body>
|
||||
</html
|
||||
```
|
935
chrome-default.css
Normal file
935
chrome-default.css
Normal file
@ -0,0 +1,935 @@
|
||||
/*
|
||||
* The default style sheet used to render HTML.
|
||||
*
|
||||
* Copyright (C) 2000 Lars Knoll (knoll@kde.org)
|
||||
* Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public License
|
||||
* along with this library; see the file COPYING.LIB. If not, write to
|
||||
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
@namespace "http://www.w3.org/1999/xhtml";
|
||||
html {
|
||||
display: block
|
||||
}
|
||||
/* children of the <head> element all have display:none */
|
||||
head {
|
||||
display: none
|
||||
}
|
||||
meta {
|
||||
display: none
|
||||
}
|
||||
title {
|
||||
display: none
|
||||
}
|
||||
link {
|
||||
display: none
|
||||
}
|
||||
style {
|
||||
display: none
|
||||
}
|
||||
script {
|
||||
display: none
|
||||
}
|
||||
/* generic block-level elements */
|
||||
body {
|
||||
display: block;
|
||||
margin: 8px
|
||||
}
|
||||
body:-webkit-full-page-media {
|
||||
background-color: rgb(0, 0, 0)
|
||||
}
|
||||
p {
|
||||
display: block;
|
||||
margin-before: 1em;
|
||||
margin-after: 1em;
|
||||
margin-start: 0;
|
||||
margin-end: 0;
|
||||
}
|
||||
div {
|
||||
display: block
|
||||
}
|
||||
layer {
|
||||
display: block
|
||||
}
|
||||
article, aside, footer, header, hgroup, main, nav, section {
|
||||
display: block
|
||||
}
|
||||
marquee {
|
||||
display: inline-block;
|
||||
}
|
||||
address {
|
||||
display: block
|
||||
}
|
||||
blockquote {
|
||||
display: block;
|
||||
margin-before: 1em;
|
||||
margin-after: 1em;
|
||||
margin-start: 40px;
|
||||
margin-end: 40px;
|
||||
}
|
||||
figcaption {
|
||||
display: block
|
||||
}
|
||||
figure {
|
||||
display: block;
|
||||
margin-before: 1em;
|
||||
margin-after: 1em;
|
||||
margin-start: 40px;
|
||||
margin-end: 40px;
|
||||
}
|
||||
q {
|
||||
display: inline
|
||||
}
|
||||
q:before {
|
||||
content: open-quote;
|
||||
}
|
||||
q:after {
|
||||
content: close-quote;
|
||||
}
|
||||
center {
|
||||
display: block;
|
||||
/* special centering to be able to emulate the html4/netscape behaviour */
|
||||
text-align: center
|
||||
}
|
||||
hr {
|
||||
display: block;
|
||||
margin-before: 0.5em;
|
||||
margin-after: 0.5em;
|
||||
margin-start: auto;
|
||||
margin-end: auto;
|
||||
border-style: inset;
|
||||
border-width: 1px
|
||||
}
|
||||
map {
|
||||
display: inline
|
||||
}
|
||||
video {
|
||||
object-fit: contain;
|
||||
}
|
||||
/* heading elements */
|
||||
h1 {
|
||||
display: block;
|
||||
font-size: 2em;
|
||||
margin-before: 0.67em;
|
||||
margin-after: 0.67em;
|
||||
margin-start: 0;
|
||||
margin-end: 0;
|
||||
font-weight: bold
|
||||
}
|
||||
:any(article,aside,nav,section) h1 {
|
||||
font-size: 1.5em;
|
||||
margin-before: 0.83em;
|
||||
margin-after: 0.83em;
|
||||
}
|
||||
:any(article,aside,nav,section) :any(article,aside,nav,section) h1 {
|
||||
font-size: 1.17em;
|
||||
margin-before: 1em;
|
||||
margin-after: 1em;
|
||||
}
|
||||
:any(article,aside,nav,section) :any(article,aside,nav,section) :any(article,aside,nav,section) h1 {
|
||||
font-size: 1.00em;
|
||||
margin-before: 1.33em;
|
||||
margin-after: 1.33em;
|
||||
}
|
||||
:any(article,aside,nav,section) :any(article,aside,nav,section) :any(article,aside,nav,section) :any(article,aside,nav,section) h1 {
|
||||
font-size: .83em;
|
||||
margin-before: 1.67em;
|
||||
margin-after: 1.67em;
|
||||
}
|
||||
:any(article,aside,nav,section) :any(article,aside,nav,section) :any(article,aside,nav,section) :any(article,aside,nav,section) :any(article,aside,nav,section) h1 {
|
||||
font-size: .67em;
|
||||
margin-before: 2.33em;
|
||||
margin-after: 2.33em;
|
||||
}
|
||||
h2 {
|
||||
display: block;
|
||||
font-size: 1.5em;
|
||||
margin-before: 0.83em;
|
||||
margin-after: 0.83em;
|
||||
margin-start: 0;
|
||||
margin-end: 0;
|
||||
font-weight: bold
|
||||
}
|
||||
h3 {
|
||||
display: block;
|
||||
font-size: 1.17em;
|
||||
margin-before: 1em;
|
||||
margin-after: 1em;
|
||||
margin-start: 0;
|
||||
margin-end: 0;
|
||||
font-weight: bold
|
||||
}
|
||||
h4 {
|
||||
display: block;
|
||||
margin-before: 1.33em;
|
||||
margin-after: 1.33em;
|
||||
margin-start: 0;
|
||||
margin-end: 0;
|
||||
font-weight: bold
|
||||
}
|
||||
h5 {
|
||||
display: block;
|
||||
font-size: .83em;
|
||||
margin-before: 1.67em;
|
||||
margin-after: 1.67em;
|
||||
margin-start: 0;
|
||||
margin-end: 0;
|
||||
font-weight: bold
|
||||
}
|
||||
h6 {
|
||||
display: block;
|
||||
font-size: .67em;
|
||||
margin-before: 2.33em;
|
||||
margin-after: 2.33em;
|
||||
margin-start: 0;
|
||||
margin-end: 0;
|
||||
font-weight: bold
|
||||
}
|
||||
/* tables */
|
||||
table {
|
||||
display: table;
|
||||
border-collapse: separate;
|
||||
border-spacing: 2px;
|
||||
border-color: gray
|
||||
}
|
||||
thead {
|
||||
display: table-header-group;
|
||||
vertical-align: middle;
|
||||
border-color: inherit
|
||||
}
|
||||
tbody {
|
||||
display: table-row-group;
|
||||
vertical-align: middle;
|
||||
border-color: inherit
|
||||
}
|
||||
tfoot {
|
||||
display: table-footer-group;
|
||||
vertical-align: middle;
|
||||
border-color: inherit
|
||||
}
|
||||
/* for tables without table section elements (can happen with XHTML or dynamically created tables) */
|
||||
table > tr {
|
||||
vertical-align: middle;
|
||||
}
|
||||
col {
|
||||
display: table-column
|
||||
}
|
||||
colgroup {
|
||||
display: table-column-group
|
||||
}
|
||||
tr {
|
||||
display: table-row;
|
||||
vertical-align: inherit;
|
||||
border-color: inherit
|
||||
}
|
||||
td, th {
|
||||
display: table-cell;
|
||||
vertical-align: inherit
|
||||
}
|
||||
th {
|
||||
font-weight: bold
|
||||
}
|
||||
caption {
|
||||
display: table-caption;
|
||||
text-align: center
|
||||
}
|
||||
/* lists */
|
||||
ul, menu, dir {
|
||||
display: block;
|
||||
list-style-type: disc;
|
||||
margin-before: 1em;
|
||||
margin-after: 1em;
|
||||
margin-start: 0;
|
||||
margin-end: 0;
|
||||
padding-start: 40px
|
||||
}
|
||||
ol {
|
||||
display: block;
|
||||
list-style-type: decimal;
|
||||
margin-before: 1em;
|
||||
margin-after: 1em;
|
||||
margin-start: 0;
|
||||
margin-end: 0;
|
||||
padding-start: 40px
|
||||
}
|
||||
li {
|
||||
display: list-item;
|
||||
text-align: match-parent;
|
||||
}
|
||||
ul ul, ol ul {
|
||||
list-style-type: circle
|
||||
}
|
||||
ol ol ul, ol ul ul, ul ol ul, ul ul ul {
|
||||
list-style-type: square
|
||||
}
|
||||
dd {
|
||||
display: block;
|
||||
margin-start: 40px
|
||||
}
|
||||
dl {
|
||||
display: block;
|
||||
margin-before: 1em;
|
||||
margin-after: 1em;
|
||||
margin-start: 0;
|
||||
margin-end: 0;
|
||||
}
|
||||
dt {
|
||||
display: block
|
||||
}
|
||||
ol ul, ul ol, ul ul, ol ol {
|
||||
margin-before: 0;
|
||||
margin-after: 0
|
||||
}
|
||||
/* form elements */
|
||||
form {
|
||||
display: block;
|
||||
margin-top: 0em;
|
||||
}
|
||||
label {
|
||||
cursor: default;
|
||||
}
|
||||
legend {
|
||||
display: block;
|
||||
padding-start: 2px;
|
||||
padding-end: 2px;
|
||||
border: none
|
||||
}
|
||||
fieldset {
|
||||
display: block;
|
||||
margin-start: 2px;
|
||||
margin-end: 2px;
|
||||
padding-before: 0.35em;
|
||||
padding-start: 0.75em;
|
||||
padding-end: 0.75em;
|
||||
padding-after: 0.625em;
|
||||
border: 2px groove ThreeDFace;
|
||||
min-width: min-content;
|
||||
}
|
||||
button {
|
||||
appearance: button;
|
||||
}
|
||||
/* Form controls don't go vertical. */
|
||||
input, textarea, keygen, select, button, meter, progress {
|
||||
webkit-writing-mode: horizontal-tb !important;
|
||||
}
|
||||
input, textarea, keygen, select, button {
|
||||
margin: 0em;
|
||||
font: small-control;
|
||||
text-rendering: auto; /* FIXME: Remove when tabs work with optimizeLegibility. */
|
||||
color: initial;
|
||||
letter-spacing: normal;
|
||||
word-spacing: normal;
|
||||
line-height: normal;
|
||||
text-transform: none;
|
||||
text-indent: 0;
|
||||
text-shadow: none;
|
||||
display: inline-block;
|
||||
text-align: start;
|
||||
}
|
||||
input[type="hidden"] {
|
||||
display: none
|
||||
}
|
||||
input {
|
||||
appearance: textfield;
|
||||
padding: 1px;
|
||||
background-color: white;
|
||||
border: 2px inset;
|
||||
rtl-ordering: logical;
|
||||
user-select: text;
|
||||
cursor: auto;
|
||||
}
|
||||
input[type="search"] {
|
||||
appearance: searchfield;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
input::-webkit-textfield-decoration-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
-webkit-user-modify: read-only !important;
|
||||
content: none !important;
|
||||
}
|
||||
input[type="search"]::-webkit-textfield-decoration-container {
|
||||
direction: ltr;
|
||||
}
|
||||
input::-webkit-clear-button {
|
||||
-webkit-appearance: searchfield-cancel-button;
|
||||
display: inline-block;
|
||||
flex: none;
|
||||
-webkit-user-modify: read-only !important;
|
||||
-webkit-margin-start: 2px;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
input:enabled:read-write:any(:focus,:hover)::-webkit-clear-button {
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
input[type="search"]::-webkit-search-cancel-button {
|
||||
-webkit-appearance: searchfield-cancel-button;
|
||||
display: block;
|
||||
flex: none;
|
||||
-webkit-user-modify: read-only !important;
|
||||
-webkit-margin-start: 1px;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
input[type="search"]:enabled:read-write:any(:focus,:hover)::-webkit-search-cancel-button {
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: searchfield-decoration;
|
||||
display: block;
|
||||
flex: none;
|
||||
-webkit-user-modify: read-only !important;
|
||||
-webkit-align-self: flex-start;
|
||||
margin: auto 0;
|
||||
}
|
||||
input[type="search"]::-webkit-search-results-decoration {
|
||||
-webkit-appearance: searchfield-results-decoration;
|
||||
display: block;
|
||||
flex: none;
|
||||
-webkit-user-modify: read-only !important;
|
||||
-webkit-align-self: flex-start;
|
||||
margin: auto 0;
|
||||
}
|
||||
input::-webkit-inner-spin-button {
|
||||
-webkit-appearance: inner-spin-button;
|
||||
display: inline-block;
|
||||
cursor: default;
|
||||
flex: none;
|
||||
align-self: stretch;
|
||||
-webkit-user-select: none;
|
||||
-webkit-user-modify: read-only !important;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
input:enabled:read-write:any(:focus,:hover)::-webkit-inner-spin-button {
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
keygen, select {
|
||||
border-radius: 5px;
|
||||
}
|
||||
keygen::-webkit-keygen-select {
|
||||
margin: 0px;
|
||||
}
|
||||
textarea {
|
||||
-webkit-appearance: textarea;
|
||||
background-color: white;
|
||||
border: 1px solid;
|
||||
-webkit-rtl-ordering: logical;
|
||||
-webkit-user-select: text;
|
||||
flex-direction: column;
|
||||
resize: auto;
|
||||
cursor: auto;
|
||||
padding: 2px;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
::-webkit-input-placeholder {
|
||||
-webkit-text-security: none;
|
||||
color: darkGray;
|
||||
pointer-events: none !important;
|
||||
}
|
||||
input::-webkit-input-placeholder {
|
||||
white-space: pre;
|
||||
word-wrap: normal;
|
||||
overflow: hidden;
|
||||
-webkit-user-modify: read-only !important;
|
||||
}
|
||||
input[type="password"] {
|
||||
-webkit-text-security: disc !important;
|
||||
}
|
||||
input[type="hidden"], input[type="image"], input[type="file"] {
|
||||
appearance: initial;
|
||||
padding: initial;
|
||||
background-color: initial;
|
||||
border: initial;
|
||||
}
|
||||
input[type="file"] {
|
||||
align-items: baseline;
|
||||
color: inherit;
|
||||
text-align: start !important;
|
||||
}
|
||||
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
|
||||
background-color: #FAFFBD !important;
|
||||
background-image:none !important;
|
||||
color: #000000 !important;
|
||||
}
|
||||
input[type="radio"], input[type="checkbox"] {
|
||||
margin: 3px 0.5ex;
|
||||
padding: initial;
|
||||
background-color: initial;
|
||||
border: initial;
|
||||
}
|
||||
input[type="button"], input[type="submit"], input[type="reset"] {
|
||||
appearance: push-button;
|
||||
user-select: none;
|
||||
white-space: pre
|
||||
}
|
||||
input[type="file"]::-webkit-file-upload-button {
|
||||
-webkit-appearance: push-button;
|
||||
-webkit-user-modify: read-only !important;
|
||||
white-space: nowrap;
|
||||
margin: 0;
|
||||
font-size: inherit;
|
||||
}
|
||||
input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button {
|
||||
align-items: flex-start;
|
||||
text-align: center;
|
||||
cursor: default;
|
||||
color: ButtonText;
|
||||
padding: 2px 6px 3px 6px;
|
||||
border: 2px outset ButtonFace;
|
||||
background-color: ButtonFace;
|
||||
box-sizing: border-box
|
||||
}
|
||||
input[type="range"] {
|
||||
appearance: slider-horizontal;
|
||||
padding: initial;
|
||||
border: initial;
|
||||
margin: 2px;
|
||||
color: #909090;
|
||||
}
|
||||
input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
box-sizing: border-box;
|
||||
-webkit-user-modify: read-only !important;
|
||||
display: flex;
|
||||
}
|
||||
input[type="range"]::-webkit-slider-runnable-track {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
-webkit-align-self: center;
|
||||
box-sizing: border-box;
|
||||
-webkit-user-modify: read-only !important;
|
||||
display: block;
|
||||
}
|
||||
input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb {
|
||||
-webkit-appearance: sliderthumb-horizontal;
|
||||
box-sizing: border-box;
|
||||
-webkit-user-modify: read-only !important;
|
||||
display: block;
|
||||
}
|
||||
input[type="button"]:disabled, input[type="submit"]:disabled, input[type="reset"]:disabled,
|
||||
input[type="file"]:disabled::-webkit-file-upload-button, button:disabled,
|
||||
select:disabled, keygen:disabled, optgroup:disabled, option:disabled,
|
||||
select[disabled]>option {
|
||||
color: GrayText
|
||||
}
|
||||
input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active {
|
||||
border-style: inset
|
||||
}
|
||||
input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled {
|
||||
border-style: outset
|
||||
}
|
||||
option:-internal-spatial-navigation-focus {
|
||||
outline: black dashed 1px;
|
||||
outline-offset: -1px;
|
||||
}
|
||||
datalist {
|
||||
display: none
|
||||
}
|
||||
area {
|
||||
display: inline;
|
||||
cursor: pointer;
|
||||
}
|
||||
param {
|
||||
display: none
|
||||
}
|
||||
input[type="checkbox"] {
|
||||
appearance: checkbox;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
input[type="radio"] {
|
||||
appearance: radio;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
input[type="color"] {
|
||||
appearance: square-button;
|
||||
width: 44px;
|
||||
height: 23px;
|
||||
background-color: ButtonFace;
|
||||
/* Same as native_theme_base. */
|
||||
border: 1px #a9a9a9 solid;
|
||||
padding: 1px 2px;
|
||||
}
|
||||
input[type="color"]::-webkit-color-swatch-wrapper {
|
||||
display:flex;
|
||||
padding: 4px 2px;
|
||||
box-sizing: border-box;
|
||||
-webkit-user-modify: read-only !important;
|
||||
width: 100%;
|
||||
height: 100%
|
||||
}
|
||||
input[type="color"]::-webkit-color-swatch {
|
||||
background-color: #000000;
|
||||
border: 1px solid #777777;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
-webkit-user-modify: read-only !important;
|
||||
}
|
||||
input[type="color"][list] {
|
||||
appearance: menulist;
|
||||
width: 88px;
|
||||
height: 23px
|
||||
}
|
||||
input[type="color"][list]::-webkit-color-swatch-wrapper {
|
||||
padding-left: 8px;
|
||||
padding-right: 24px;
|
||||
}
|
||||
input[type="color"][list]::-webkit-color-swatch {
|
||||
border-color: #000000;
|
||||
}
|
||||
input::-webkit-calendar-picker-indicator {
|
||||
display: inline-block;
|
||||
width: 0.66em;
|
||||
height: 0.66em;
|
||||
padding: 0.17em 0.34em;
|
||||
-webkit-user-modify: read-only !important;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
input::-webkit-calendar-picker-indicator:hover {
|
||||
background-color: #eee;
|
||||
}
|
||||
input:enabled:read-write:any(:focus,:hover)::-webkit-calendar-picker-indicator,
|
||||
input::-webkit-calendar-picker-indicator:focus {
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
input[type="date"]:disabled::-webkit-clear-button,
|
||||
input[type="date"]:disabled::-webkit-inner-spin-button,
|
||||
input[type="datetime-local"]:disabled::-webkit-clear-button,
|
||||
input[type="datetime-local"]:disabled::-webkit-inner-spin-button,
|
||||
input[type="month"]:disabled::-webkit-clear-button,
|
||||
input[type="month"]:disabled::-webkit-inner-spin-button,
|
||||
input[type="week"]:disabled::-webkit-clear-button,
|
||||
input[type="week"]:disabled::-webkit-inner-spin-button,
|
||||
input:disabled::-webkit-calendar-picker-indicator,
|
||||
input[type="date"][readonly]::-webkit-clear-button,
|
||||
input[type="date"][readonly]::-webkit-inner-spin-button,
|
||||
input[type="datetime-local"][readonly]::-webkit-clear-button,
|
||||
input[type="datetime-local"][readonly]::-webkit-inner-spin-button,
|
||||
input[type="month"][readonly]::-webkit-clear-button,
|
||||
input[type="month"][readonly]::-webkit-inner-spin-button,
|
||||
input[type="week"][readonly]::-webkit-clear-button,
|
||||
input[type="week"][readonly]::-webkit-inner-spin-button,
|
||||
input[readonly]::-webkit-calendar-picker-indicator {
|
||||
visibility: hidden;
|
||||
}
|
||||
select {
|
||||
appearance: menulist;
|
||||
box-sizing: border-box;
|
||||
align-items: center;
|
||||
border: 1px solid;
|
||||
white-space: pre;
|
||||
rtl-ordering: logical;
|
||||
color: black;
|
||||
background-color: white;
|
||||
cursor: default;
|
||||
}
|
||||
select:not(:-internal-list-box) {
|
||||
overflow: visible !important;
|
||||
}
|
||||
select:-internal-list-box {
|
||||
appearance: listbox;
|
||||
align-items: flex-start;
|
||||
border: 1px inset gray;
|
||||
border-radius: initial;
|
||||
overflow-x: hidden;
|
||||
overflow-y: scroll;
|
||||
vertical-align: text-bottom;
|
||||
user-select: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
optgroup {
|
||||
font-weight: bolder;
|
||||
display: block;
|
||||
}
|
||||
option {
|
||||
font-weight: normal;
|
||||
display: block;
|
||||
padding: 0 2px 1px 2px;
|
||||
white-space: pre;
|
||||
min-height: 1.2em;
|
||||
}
|
||||
select:-internal-list-box optgroup option:before {
|
||||
content: "\00a0\00a0\00a0\00a0";;
|
||||
}
|
||||
select:-internal-list-box option,
|
||||
select:-internal-list-box optgroup {
|
||||
line-height: initial !important;
|
||||
}
|
||||
select:-internal-list-box:focus option:checked {
|
||||
background-color: -internal-active-list-box-selection !important;
|
||||
color: -internal-active-list-box-selection-text !important;
|
||||
}
|
||||
select:-internal-list-box option:checked {
|
||||
background-color: -internal-inactive-list-box-selection !important;
|
||||
color: -internal-inactive-list-box-selection-text !important;
|
||||
}
|
||||
select:-internal-list-box:disabled option:checked,
|
||||
select:-internal-list-box option:checked:disabled {
|
||||
color: gray !important;
|
||||
}
|
||||
select:-internal-list-box hr {
|
||||
border-style: none;
|
||||
}
|
||||
output {
|
||||
display: inline;
|
||||
}
|
||||
/* meter */
|
||||
meter {
|
||||
appearance: meter;
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
height: 1em;
|
||||
width: 5em;
|
||||
vertical-align: -0.2em;
|
||||
}
|
||||
meter::-webkit-meter-inner-element {
|
||||
-webkit-appearance: inherit;
|
||||
box-sizing: inherit;
|
||||
-webkit-user-modify: read-only !important;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
meter::-webkit-meter-bar {
|
||||
background: linear-gradient(to bottom, #ddd, #eee 20%, #ccc 45%, #ccc 55%, #ddd);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
-webkit-user-modify: read-only !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
meter::-webkit-meter-optimum-value {
|
||||
background: linear-gradient(to bottom, #ad7, #cea 20%, #7a3 45%, #7a3 55%, #ad7);
|
||||
height: 100%;
|
||||
-webkit-user-modify: read-only !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
meter::-webkit-meter-suboptimum-value {
|
||||
background: linear-gradient(to bottom, #fe7, #ffc 20%, #db3 45%, #db3 55%, #fe7);
|
||||
height: 100%;
|
||||
-webkit-user-modify: read-only !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
meter::-webkit-meter-even-less-good-value {
|
||||
background: linear-gradient(to bottom, #f77, #fcc 20%, #d44 45%, #d44 55%, #f77);
|
||||
height: 100%;
|
||||
-webkit-user-modify: read-only !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
/* progress */
|
||||
progress {
|
||||
appearance: progress-bar;
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
height: 1em;
|
||||
width: 10em;
|
||||
vertical-align: -0.2em;
|
||||
}
|
||||
progress::-webkit-progress-inner-element {
|
||||
-webkit-appearance: inherit;
|
||||
box-sizing: inherit;
|
||||
-webkit-user-modify: read-only;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
progress::-webkit-progress-bar {
|
||||
background-color: gray;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
-webkit-user-modify: read-only !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
progress::-webkit-progress-value {
|
||||
background-color: green;
|
||||
height: 100%;
|
||||
width: 50%; /* should be removed later */
|
||||
-webkit-user-modify: read-only !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
/* inline elements */
|
||||
u, ins {
|
||||
text-decoration: underline
|
||||
}
|
||||
strong, b {
|
||||
font-weight: bold
|
||||
}
|
||||
i, cite, em, var, address, dfn {
|
||||
font-style: italic
|
||||
}
|
||||
tt, code, kbd, samp {
|
||||
font-family: monospace
|
||||
}
|
||||
pre, xmp, plaintext, listing {
|
||||
display: block;
|
||||
font-family: monospace;
|
||||
white-space: pre;
|
||||
margin: 1em 0
|
||||
}
|
||||
mark {
|
||||
background-color: yellow;
|
||||
color: black
|
||||
}
|
||||
big {
|
||||
font-size: larger
|
||||
}
|
||||
small {
|
||||
font-size: smaller
|
||||
}
|
||||
s, strike, del {
|
||||
text-decoration: line-through
|
||||
}
|
||||
sub {
|
||||
vertical-align: sub;
|
||||
font-size: smaller
|
||||
}
|
||||
sup {
|
||||
vertical-align: super;
|
||||
font-size: smaller
|
||||
}
|
||||
nobr {
|
||||
white-space: nowrap
|
||||
}
|
||||
/* states */
|
||||
:focus {
|
||||
outline: auto 5px Highlight
|
||||
}
|
||||
/* Read-only text fields do not show a focus ring but do still receive focus */
|
||||
html:focus, body:focus, input[readonly]:focus {
|
||||
outline: none
|
||||
}
|
||||
embed:focus, iframe:focus, object:focus {
|
||||
outline: none
|
||||
}
|
||||
|
||||
input:focus, textarea:focus, keygen:focus, select:focus {
|
||||
outline-offset: -2px
|
||||
}
|
||||
input[type="button"]:focus,
|
||||
input[type="checkbox"]:focus,
|
||||
input[type="file"]:focus,
|
||||
input[type="hidden"]:focus,
|
||||
input[type="image"]:focus,
|
||||
input[type="radio"]:focus,
|
||||
input[type="reset"]:focus,
|
||||
input[type="search"]:focus,
|
||||
input[type="submit"]:focus,
|
||||
input[type="file"]:focus::-webkit-file-upload-button {
|
||||
outline-offset: 0
|
||||
}
|
||||
|
||||
a:any-link {
|
||||
color: -webkit-link;
|
||||
text-decoration: underline;
|
||||
cursor: auto;
|
||||
}
|
||||
a:any-link:active {
|
||||
color: -webkit-activelink
|
||||
}
|
||||
/* HTML5 ruby elements */
|
||||
ruby, rt {
|
||||
text-indent: 0; /* blocks used for ruby rendering should not trigger this */
|
||||
}
|
||||
rt {
|
||||
line-height: normal;
|
||||
text-emphasis: none;
|
||||
}
|
||||
ruby > rt {
|
||||
display: block;
|
||||
font-size: 50%;
|
||||
text-align: start;
|
||||
}
|
||||
ruby > rp {
|
||||
display: none;
|
||||
}
|
||||
/* other elements */
|
||||
noframes {
|
||||
display: none
|
||||
}
|
||||
frameset, frame {
|
||||
display: block
|
||||
}
|
||||
frameset {
|
||||
border-color: inherit
|
||||
}
|
||||
iframe {
|
||||
border: 2px inset
|
||||
}
|
||||
details {
|
||||
display: block
|
||||
}
|
||||
summary {
|
||||
display: block
|
||||
}
|
||||
summary::-webkit-details-marker {
|
||||
display: inline-block;
|
||||
width: 0.66em;
|
||||
height: 0.66em;
|
||||
-webkit-margin-end: 0.4em;
|
||||
}
|
||||
template {
|
||||
display: none
|
||||
}
|
||||
bdi, output {
|
||||
unicode-bidi: isolate;
|
||||
}
|
||||
bdo {
|
||||
unicode-bidi: bidi-override;
|
||||
}
|
||||
textarea[dir=auto] {
|
||||
unicode-bidi: plaintext;
|
||||
}
|
||||
dialog:not([open]) {
|
||||
display: none
|
||||
}
|
||||
dialog {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: fit-content;
|
||||
height: fit-content;
|
||||
margin: auto;
|
||||
border: solid;
|
||||
padding: 1em;
|
||||
background: white;
|
||||
color: black
|
||||
}
|
||||
dialog::backdrop {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background: rgba(0,0,0,0.1)
|
||||
}
|
||||
/* page */
|
||||
@page {
|
||||
/* FIXME: Define the right default values for page properties. */
|
||||
size: auto;
|
||||
margin: auto;
|
||||
padding: 0px;
|
||||
border-width: 0px;
|
||||
}
|
||||
/* Disable multicol in printing, since it's not implemented properly. See crbug.com/99358 */
|
||||
@media print {
|
||||
* { columns: auto !important; }
|
||||
}
|
||||
/* noscript is handled internally, as it depends on settings. */
|
1
dist/default.min.css
vendored
Normal file
1
dist/default.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
74
dist/default.min.js
vendored
Normal file
74
dist/default.min.js
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, {
|
||||
/******/ configurable: false,
|
||||
/******/ enumerable: true,
|
||||
/******/ get: getter
|
||||
/******/ });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 0);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ([
|
||||
/* 0 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
// removed by extract-text-webpack-plugin
|
||||
|
||||
/***/ })
|
||||
/******/ ]);
|
||||
//# sourceMappingURL=default.min.js.map
|
1
dist/default.min.js.map
vendored
Normal file
1
dist/default.min.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["webpack:///webpack/bootstrap e6c9d4c4d948628824e9","webpack:///./firefox.css"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA,yC","file":"default.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e6c9d4c4d948628824e9","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./firefox.css\n// module id = 0\n// module chunks = 0"],"sourceRoot":""}
|
1
dist/example.min.css
vendored
Normal file
1
dist/example.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
75
dist/example.min.js
vendored
Normal file
75
dist/example.min.js
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, {
|
||||
/******/ configurable: false,
|
||||
/******/ enumerable: true,
|
||||
/******/ get: getter
|
||||
/******/ });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 1);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ([
|
||||
/* 0 */,
|
||||
/* 1 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
// removed by extract-text-webpack-plugin
|
||||
|
||||
/***/ })
|
||||
/******/ ]);
|
||||
//# sourceMappingURL=example.min.js.map
|
1
dist/example.min.js.map
vendored
Normal file
1
dist/example.min.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["webpack:///webpack/bootstrap e6c9d4c4d948628824e9","webpack:///./example/example.scss"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AC7DA,yC","file":"example.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e6c9d4c4d948628824e9","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./example/example.scss\n// module id = 1\n// module chunks = 1"],"sourceRoot":""}
|
46
example/example.scss
Normal file
46
example/example.scss
Normal file
@ -0,0 +1,46 @@
|
||||
/* Note: Because postcss-prepend-selector is used in this project, all selectors defined in any CSS/SCSS file will have
|
||||
* "#embedded.embedded " prepended to them so that all styles here will be scoped to *only* the root div. */
|
||||
|
||||
/* reset all element properties to initial values as defined in CSS spec (*not* browser defaults) */
|
||||
* {
|
||||
all: initial;
|
||||
/* allow all elements to inherit these properties from the root "body" div */
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
font-weight: inherit;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
text-align: left;
|
||||
background-color: inherit;
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
/* apply Firefox's default stylesheet so that Bootstrap has some browser-like styling to work with */
|
||||
// @import '../default.css';
|
||||
@import '../firefox.css';
|
||||
|
||||
/* apply the Bootstrap reboot (normalize.css) to convert Firefox default styling to some cross-browser baseline
|
||||
* then, apply the Bootstrap component styling */
|
||||
// @import '~bootstrap/scss/bootstrap';
|
||||
|
||||
/* Since elements inside the embedded div can no longer inherit styles set on the <body>, we will apply the styles
|
||||
* that the Bootstrap reboot applies to the <body> on the wrapper div instead, which containing elements can inherit.
|
||||
*
|
||||
* <div id="embedded" class="embedded">
|
||||
* <div class="embedded-wrapper">
|
||||
* <!-- ... embedded component here ... -->
|
||||
* </div>
|
||||
* </div>
|
||||
*/
|
||||
.embedded-wrapper {
|
||||
font-family: sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
line-height: 16px;
|
||||
color: black;
|
||||
text-align: left;
|
||||
background-color: rgb(255, 255, 255);
|
||||
border: 2px solid red;
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
}
|
66
example/index.html
Normal file
66
example/index.html
Normal file
@ -0,0 +1,66 @@
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
body {
|
||||
background-color: cornsilk;
|
||||
}
|
||||
p, input, label, select, ul, ol, code, pre, blockquote, button {
|
||||
background-color: pink;
|
||||
color: black;
|
||||
font-family: monospace;
|
||||
margin: 10px;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="../dist/example.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<p>These are elements affected by the global styling on this page.</p>
|
||||
<label><input type="checkbox"> A checkbox</label><br>
|
||||
<input type="button" value="A button"><br>
|
||||
<input type="textarea" value="Example text"><br>
|
||||
<select>
|
||||
<option value="1">Option 1</option>
|
||||
<option value="2">Option 2</option>
|
||||
<option value="3">Option 3</option>
|
||||
</select>
|
||||
<ul>
|
||||
<li>One</li>
|
||||
<li>Two</li>
|
||||
</ul>
|
||||
<ol>
|
||||
<li>One</li>
|
||||
<li>Two</li>
|
||||
</ol>
|
||||
<code>function () { console.log('Hello, world!'); }</code><br>
|
||||
<pre>preformatted</pre><br>
|
||||
<blockquote>"This is a blockquote!"</blockquote>
|
||||
<button>Button!</button>
|
||||
</div>
|
||||
<div id="embedded" class="embedded">
|
||||
<div class="embedded-wrapper">
|
||||
<p>This is an embedded component isolated from the surrounding CSS cascade.</p>
|
||||
<label><input type="checkbox"> A checkbox</label><br>
|
||||
<input type="button" value="A button"><br>
|
||||
<input type="textarea" value="Example text"><br>
|
||||
<select>
|
||||
<option value="1">Option 1</option>
|
||||
<option value="2">Option 2</option>
|
||||
<option value="3">Option 3</option>
|
||||
</select>
|
||||
<ul>
|
||||
<li>One</li>
|
||||
<li>Two</li>
|
||||
</ul>
|
||||
<ol>
|
||||
<li>One</li>
|
||||
<li>Two</li>
|
||||
</ol>
|
||||
<code>function () { console.log('Hello, world!'); }</code><br>
|
||||
<pre>preformatted</pre><br>
|
||||
<blockquote>"This is a blockquote!"</blockquote>
|
||||
<button>Button!</button>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
2648
firefox.css
Normal file
2648
firefox.css
Normal file
File diff suppressed because it is too large
Load Diff
7411
package-lock.json
generated
Normal file
7411
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
49
package.json
Normal file
49
package.json
Normal file
@ -0,0 +1,49 @@
|
||||
{
|
||||
"name": "default-stylesheet",
|
||||
"version": "0.1.0",
|
||||
"description": "Return styles to browser defaults.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"build": "./node_modules/.bin/webpack"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/thallada/default-stylesheet.git"
|
||||
},
|
||||
"keywords": [
|
||||
"css",
|
||||
"unreset",
|
||||
"all:initial",
|
||||
"reset",
|
||||
"postcss",
|
||||
"browser",
|
||||
"default",
|
||||
"stylesheet"
|
||||
],
|
||||
"author": {
|
||||
"name": "Tyler Hallada",
|
||||
"email": "tyler@hallada.net",
|
||||
"url": "https://www.hallada.net"
|
||||
},
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/thallada/default-stylesheet/issues"
|
||||
},
|
||||
"homepage": "https://github.com/thallada/default-stylesheet#readme",
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^8.0.0",
|
||||
"bootstrap": "^4.0.0",
|
||||
"css-loader": "^0.28.9",
|
||||
"extract-text-webpack-plugin": "^3.0.2",
|
||||
"node-sass": "^4.7.2",
|
||||
"optimize-css-assets-webpack-plugin": "^3.2.0",
|
||||
"postcss-initial": "^2.0.0",
|
||||
"postcss-loader": "^2.1.0",
|
||||
"postcss-prepend-selector": "^0.3.1",
|
||||
"sass-loader": "^6.0.6",
|
||||
"style-loader": "^0.20.2",
|
||||
"webpack": "^3.11.0"
|
||||
},
|
||||
"dependencies": {}
|
||||
}
|
67
webpack.config.js
Normal file
67
webpack.config.js
Normal file
@ -0,0 +1,67 @@
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
const ExtractTextPlugin = require('extract-text-webpack-plugin');
|
||||
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
|
||||
|
||||
module.exports = {
|
||||
entry: {
|
||||
default: path.resolve(__dirname, 'firefox.css'),
|
||||
example: path.resolve(__dirname, 'example/example.scss')
|
||||
},
|
||||
output: {
|
||||
filename: '[name].min.js',
|
||||
path: path.resolve(__dirname, 'dist'),
|
||||
},
|
||||
devtool: 'source-map',
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /(.scss|.css)$/,
|
||||
use: ExtractTextPlugin.extract({
|
||||
fallback: 'style-loader',
|
||||
use: [
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
minimize: true,
|
||||
importLoaders: 1,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'postcss-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
ident: 'postcss',
|
||||
plugins: () => [
|
||||
/* eslint-disable global-require */
|
||||
require('autoprefixer'),
|
||||
require('postcss-initial')(),
|
||||
require('postcss-prepend-selector')({ selector: '#embedded.embedded ' }),
|
||||
/* eslint-enable global-require */
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'sass-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
includePaths: [
|
||||
path.join(__dirname),
|
||||
path.join(__dirname, 'node_modules'),
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
}),
|
||||
},
|
||||
],
|
||||
},
|
||||
plugins: [
|
||||
new ExtractTextPlugin({
|
||||
filename: '[name].min.css',
|
||||
allChunks: true,
|
||||
}),
|
||||
new OptimizeCssAssetsPlugin(),
|
||||
],
|
||||
};
|
Loading…
Reference in New Issue
Block a user