@decidables/decidables-elements 0.0.1 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/LICENSE.md +1112 -0
  3. package/README.md +268 -19
  4. package/package.json +11 -5
  5. package/gulpfile.js +0 -25
  6. package/test/button.test.js +0 -29
  7. package/test/converter-array.test.js +0 -14
  8. package/test/converter-set.test.js +0 -15
  9. package/test/coverage/lcov-report/base.css +0 -224
  10. package/test/coverage/lcov-report/block-navigation.js +0 -87
  11. package/test/coverage/lcov-report/button.js.html +0 -364
  12. package/test/coverage/lcov-report/converter-array.js.html +0 -130
  13. package/test/coverage/lcov-report/converter-set.js.html +0 -130
  14. package/test/coverage/lcov-report/decidables-element.js.html +0 -877
  15. package/test/coverage/lcov-report/favicon.png +0 -0
  16. package/test/coverage/lcov-report/index.html +0 -236
  17. package/test/coverage/lcov-report/prettify.css +0 -1
  18. package/test/coverage/lcov-report/prettify.js +0 -2
  19. package/test/coverage/lcov-report/slider.js.html +0 -1084
  20. package/test/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  21. package/test/coverage/lcov-report/sorter.js +0 -196
  22. package/test/coverage/lcov-report/spinner.js.html +0 -532
  23. package/test/coverage/lcov-report/switch.js.html +0 -622
  24. package/test/coverage/lcov-report/toggle-option.js.html +0 -574
  25. package/test/coverage/lcov-report/toggle.js.html +0 -259
  26. package/test/coverage/lcov.info +0 -1480
  27. package/test/decidables-element.test.js +0 -10
  28. package/test/slider.test.js +0 -64
  29. package/test/spinner.test.js +0 -55
  30. package/test/switch.test.js +0 -71
  31. package/test/toggle-option.test.js +0 -62
  32. package/test/toggle.test.js +0 -98
package/README.md CHANGED
@@ -2,22 +2,270 @@
2
2
 
3
3
  # decidables-elements: Basic UI Web Components for [**decidables**](https://github.com/decidables/decidables)
4
4
 
5
+ [![npm version](https://img.shields.io/npm/v/@decidables/decidables-elements?logo=npm)](https://www.npmjs.com/package/@decidables/decidables-elements)
6
+ [![license](https://img.shields.io/npm/l/@decidables/decidables-elements)](https://github.com/decidables/decidables/blob/main/LICENSE.md)
7
+
8
+ ## Usage
9
+
10
+ ### Install
11
+
12
+ ```shell
13
+ yarn add @decidables/decidables-elements
14
+ ```
15
+
16
+ ### Use
17
+
18
+ ```javascript
19
+ import '@decidables/decidables-elements';
20
+ ```
21
+
22
+ A bare import is used to register the elements in the custom registry, so they are then available
23
+ for use in HTML.
24
+
5
25
  ## Contents
6
26
 
7
- - Base class
8
- - `DecidablesElement`: Base class for all *decidables* web components
9
- - Elements
10
- - `DecidablesButton`: Button for taking actions
11
- - `DecidablesSlider`: Slider w/spinner for selecting a numeric value from a range
12
- - `DecidablesSpinner`: Text field w/spinner arrows for selecting a continuous numeric value
13
- - `DecidablesSwitch`: Switch for turning an option on or off
14
- - `DecidablesToggle`: Toggle for selecting one option from a set
15
- - `DecidablesToggleOption`: One option in a toggle set
16
- - Utilities
17
- - `DecidablesConverterArray`: Utility for attributes that can take an array of values
18
- - `DecidablesConverterSet`: Utility for attributes that can take a set of values
19
-
20
- ---
27
+ ### Components
28
+
29
+ #### `DecidablesButton` / `<decidables-button>`
30
+
31
+ Button for taking actions
32
+
33
+ ##### Slots
34
+
35
+ - *unnamed*
36
+ - Inline content as label
37
+
38
+ ##### Attributes
39
+
40
+ - `disabled: boolean = false`
41
+ - In disabled state user can't interact
42
+
43
+ ##### Example
44
+
45
+ ```html
46
+ <decidables-button disabled>
47
+ Click me
48
+ </decidables-button>
49
+ ```
50
+
51
+ #### `DecidablesSlider` / `<decidables-slider>`
52
+
53
+ Slider w/spinner for selecting a numeric value from a range
54
+
55
+ ##### Slots
56
+
57
+ - *unnamed*
58
+ - Inline content as label
59
+
60
+ ##### Attributes
61
+
62
+ - `disabled: boolean = false`
63
+ - In disabled state user can't interact
64
+ - `max: number = undefined`
65
+ - Maximum value the slider can take
66
+ - `min: number = undefined`
67
+ - Minimum value the slider can take
68
+ - `step: number = undefined`
69
+ - Amount that value increments with smallest movement of the slider
70
+ - `value: number = undefined`
71
+ - Initial value of the slider
72
+
73
+ ##### Example
74
+
75
+ ```html
76
+ <decidables-slider disabled max="0" min="100" step="2" value="50">
77
+ Move me
78
+ </decidables-slider>
79
+ ```
80
+
81
+ #### `DecidablesSpinner` / `<decidables-spinner>`
82
+
83
+ Text field w/spinner arrows for selecting a continuous numeric value
84
+
85
+ ##### Slots
86
+
87
+ - *unnamed*
88
+ - Inline content as label
89
+
90
+ ##### Attributes
91
+
92
+ - `disabled: boolean = false`
93
+ - In disabled state user can't interact
94
+ - `max: number = undefined`
95
+ - Maximum value the slider can take
96
+ - `min: number = undefined`
97
+ - Minimum value the slider can take
98
+ - `step: number = undefined`
99
+ - Amount that value increments with smallest movement of the slider
100
+ - `value: number = undefined`
101
+ - Initial value of the slider
102
+
103
+ ##### Example
104
+
105
+ ```html
106
+ <decidables-spinner disabled max="0" min="100" step="2" value="50">
107
+ Change me
108
+ </decidables-spinner>
109
+ ```
110
+
111
+ #### `DecidablesSwitch` / `<decidables-switch>`
112
+
113
+ Switch for turning an option on or off
114
+
115
+ ##### Slots
116
+
117
+ - *unnamed*
118
+ - Inline content as label for **on** state
119
+ - `off-label`
120
+ - Inline content as label for **off** state
121
+
122
+ ##### Attributes
123
+
124
+ - `disabled: boolean = false`
125
+ - In disabled state user can't interact
126
+ - `checked: number = false`
127
+ - Whether the switch is **on** (`true`) or **off** (`false`)
128
+
129
+ ##### Example
130
+
131
+ ```html
132
+ <decidables-switch disabled checked>
133
+ <span>On</span>
134
+ <span slot="off-label">Off</span>
135
+ </decidables-switch>
136
+ ```
137
+
138
+ #### `DecidablesToggleOption` / `<decidables-toggle-option>`
139
+
140
+ One option in a toggle set
141
+
142
+ ##### Slots
143
+
144
+ - *unnamed*
145
+ - Inline content as label for option
146
+
147
+ ##### Attributes
148
+
149
+ - `disabled: boolean = false`
150
+ - In disabled state user can't interact
151
+ - `checked: number = false`
152
+ - Whether the option is selected (`true`) or not ('false`)
153
+ - `name: string = undefined`
154
+ - An identifier to be shared by all options in a mutually exclusive group
155
+ - `value: string = undefined`
156
+ - An identifier specific to this option to uniquely identify it in the group
157
+
158
+ ##### Example
159
+
160
+ ```html
161
+ <decidables-toggle-option disabled name="flavors" value="chocolate" checked>
162
+ Chocolate
163
+ </decidables-toggle-option>
164
+ ```
165
+
166
+ #### `DecidablesToggle` / `<decidables-toggle>`
167
+
168
+ Toggle for selecting one option from a set
169
+
170
+ ##### Slots
171
+
172
+ - *unnamed*
173
+ - Inline content as label for set
174
+ - `label`
175
+ - Inline content as legend for options
176
+
177
+ ##### Attributes
178
+
179
+ - `disabled: boolean = false`
180
+ - In disabled state user can't interact
181
+
182
+ ##### Example
183
+
184
+ ```html
185
+ <decidables-toggle disabled>
186
+ <span>Pick one</span>
187
+ <span slot="label">Flavors</span>
188
+ <decidables-toggle-option disabled name="flavors" value="chocolate">
189
+ Chocolate
190
+ </decidables-toggle-option>
191
+ <decidables-toggle-option disabled name="flavors" value="strawberry">
192
+ Strawberry
193
+ </decidables-toggle-option>
194
+ <decidables-toggle-option disabled name="flavors" value="vanilla" checked>
195
+ Vanilla
196
+ </decidables-toggle-option>
197
+ </decidables-toggle>
198
+ ```
199
+
200
+ ### Base class
201
+
202
+ #### `DecidablesElement`
203
+
204
+ Base class for all *decidables* web components
205
+
206
+ To define a new element:
207
+
208
+ ```javascript
209
+ export default class DecidablesSomething extends DecidablesElement {
210
+ ...
211
+ }
212
+ ```
213
+
214
+ This library is built on `Lit`, so the resulting `DecidableElement` is also a `LitElement`
215
+
216
+ ### Utilities
217
+
218
+ #### `DecidablesConverterArray`
219
+
220
+ Utility for attributes that can take an array of values
221
+
222
+ If you are defining a `DecidablesElement` with an attribute that can take an array of numbers,
223
+ then you can use this to automatically convert between a space-separated list as the attribute
224
+ and an `Array` of numbers as the property:
225
+
226
+ ```javascript
227
+ static get properties() {
228
+ return {
229
+ stuff: {
230
+ attribute: 'values',
231
+ converter: DecidablesConverterArray,
232
+ reflect: true,
233
+ },
234
+ };
235
+ };
236
+ ```
237
+
238
+ ```html
239
+ <decidables-something values="1.23 3.56 -2.97"></decidables-something>
240
+ ```
241
+
242
+ And `this.values` will be the `Array`: `[1.23 3.56 -2.97]`
243
+
244
+ #### `DecidablesConverterSet`
245
+
246
+ Utility for attributes that can take a set of values
247
+
248
+ If you are defining a `DecidablesElement` with an attribute that can take a set of string
249
+ values, then you can use this to automatically convert between a space-separated list as the
250
+ attribute and a `Set` of strings as the property:
251
+
252
+ ```javascript
253
+ static get properties() {
254
+ return {
255
+ stuff: {
256
+ attribute: 'stuff',
257
+ converter: DecidablesConverterSet,
258
+ reflect: true,
259
+ },
260
+ };
261
+ };
262
+ ```
263
+
264
+ ```html
265
+ <decidables-something stuff="this that other"></decidables-something>
266
+ ```
267
+
268
+ And `this.stuff` will be a `Set` with members: `'this'`, `'that'`, and `'other'`
21
269
 
22
270
  ## Features/Bugs/Notes
23
271
 
@@ -27,8 +275,6 @@
27
275
  - Firefox - spinner arrows look ugly and asymmetrical
28
276
  - IE11 - No CSS variables outside custom elements (and not patched by ShadyCSS!)
29
277
 
30
- ---
31
-
32
278
  ## Development Tooling
33
279
 
34
280
  ### Local Scripts
@@ -36,12 +282,14 @@
36
282
  - `yarn lint`
37
283
  - Lints markdown, scripts and styles
38
284
  - `yarn test`
39
- - Runs tests and reports coverage in `test/coverage/`
285
+ - Runs all tests and reports coverage in `test/coverage/`
286
+ - `yarn test:watch`
287
+ - Runs all tests in watch mode and reports coverage in `test/coverage/`
288
+ - `yarn test:file <filename>`
289
+ - Runs tests for a single file and reports coverage in `test/coverage/`
40
290
  - `yarn build`
41
291
  - Builds bundles from `src/` to `lib/`
42
292
 
43
- ---
44
-
45
293
  ## File Organization
46
294
 
47
295
  - `decidables-elements/`
@@ -49,6 +297,7 @@
49
297
  - `src/` (Source files)
50
298
  - `test/` (Testing files)
51
299
  - `coverage/` (Code coverage results) **\[autogenerated\]**
300
+ - `CHANGELOG.md` (Based on conventional commits) **\[autogenerated\]**
52
301
  - `gulpfile.js` (Config for *gulp*)
53
302
  - `package.json` (Config for *yarn* and *npm*)
54
303
  - `README.md` (This file)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decidables/decidables-elements",
3
- "version": "0.0.1",
3
+ "version": "0.0.4",
4
4
  "description": "decidables-elements: Basic UI Web Components for the decidables project",
5
5
  "type": "module",
6
6
  "main": "./lib/decidablesElements.umd.min.js",
@@ -19,14 +19,21 @@
19
19
  "bugs": "https://github.com/decidables/decidables/issues",
20
20
  "homepage": "https://github.com/decidables/decidables/tree/main/libraries/decidables-elements",
21
21
  "author": "Adam Krawitz (https://web.uvic.ca/psyc/krawitz/)",
22
- "license": "GPL-3.0",
22
+ "license": "CC-BY-SA-4.0 AND GPL-3.0-or-later",
23
23
  "publishConfig": {
24
24
  "access": "public"
25
25
  },
26
+ "files": [
27
+ "package.json",
28
+ "*.md",
29
+ "src",
30
+ "lib"
31
+ ],
26
32
  "scripts": {
27
33
  "lint": "gulp lint",
28
34
  "test": "web-test-runner test/**/*.test.js --config ../../.webtestrunnerrc.js",
29
- "test-file": "web-test-runner $@ --config ../../.webtestrunnerrc.js",
35
+ "test:watch": "web-test-runner test/**/*.test.js --config ../../.webtestrunnerrc.js --watch",
36
+ "test:file": "web-test-runner $@ --config ../../.webtestrunnerrc.js",
30
37
  "build": "gulp build"
31
38
  },
32
39
  "browserslist": [
@@ -34,7 +41,6 @@
34
41
  "not dead"
35
42
  ],
36
43
  "devDependencies": {
37
- "@open-wc/testing": "^3.1.1",
38
44
  "@web/test-runner": "^0.13.27",
39
45
  "gulp": "^4.0.2"
40
46
  },
@@ -42,5 +48,5 @@
42
48
  "d3": "^7.3.0",
43
49
  "lit": "^2.1.2"
44
50
  },
45
- "gitHead": "560272dc4d2c353ff4cffa76a27d1dc5343674b2"
51
+ "gitHead": "f3e3115ad33a8e1ad5db8ae455b67f571f4561c6"
46
52
  }
package/gulpfile.js DELETED
@@ -1,25 +0,0 @@
1
-
2
- // devDependencies
3
- import gulp from 'gulp';
4
-
5
- // Local dependencies
6
- import * as cleans from '../../scripts/clean.js';
7
- import * as lints from '../../scripts/lint.js';
8
- import * as builds from '../../scripts/build.js';
9
-
10
- // Re-export
11
- export * from '../../scripts/clean.js';
12
- export * from '../../scripts/lint.js';
13
- export * from '../../scripts/build.js';
14
-
15
- // Tasks
16
- export const lint = gulp.parallel(
17
- lints.lintMarkdown,
18
- lints.lintScripts,
19
- lints.lintStyles,
20
- );
21
-
22
- export const build = gulp.series(
23
- cleans.cleanLib,
24
- builds.buildLibrary,
25
- );
@@ -1,29 +0,0 @@
1
- import {expect, fixture, html} from '@open-wc/testing';
2
-
3
- import '../src/button';
4
-
5
- describe('decidables-button', () => {
6
- it('has a shadowDom', async () => {
7
- const el = await fixture(html` <decidables-button>Push</decidables-button> `);
8
-
9
- expect(el).shadowDom.to.equal(`
10
- <button>
11
- <slot></slot>
12
- </button>
13
- `);
14
- });
15
-
16
- it('has a lightDom', async () => {
17
- const el = await fixture(html` <decidables-button>Push</decidables-button> `);
18
-
19
- expect(el).lightDom.to.equal(`
20
- Push
21
- `);
22
- });
23
-
24
- it('can be disabled', async () => {
25
- const el = await fixture(html` <decidables-button disabled>Push</decidables-button> `);
26
-
27
- expect(el.shadowRoot).to.have.descendant('button').that.has.attribute('disabled');
28
- });
29
- });
@@ -1,14 +0,0 @@
1
- import {expect} from '@open-wc/testing';
2
-
3
- import DecidablesConvertArray from '../src/converter-array';
4
-
5
- describe('decidables-converter-array', () => {
6
- it('converts from attribute to property', () => {
7
- expect(DecidablesConvertArray.fromAttribute('1 2 3 4 5')).to.deep.equal([1, 2, 3, 4, 5]);
8
- });
9
-
10
- it('converts from property to attribute', () => {
11
- expect(DecidablesConvertArray.toAttribute([1, 2, 3, 4, 5]))
12
- .to.equal('1.000 2.000 3.000 4.000 5.000');
13
- });
14
- });
@@ -1,15 +0,0 @@
1
- import {expect} from '@open-wc/testing';
2
-
3
- import DecidablesConvertSet from '../src/converter-set';
4
-
5
- describe('decidables-converter-set', () => {
6
- it('converts from attribute to property', () => {
7
- expect(DecidablesConvertSet.fromAttribute('alpha beta gamma'))
8
- .to.deep.equal(new Set(['alpha', 'beta', 'gamma']));
9
- });
10
-
11
- it('converts from property to attribute', () => {
12
- expect(DecidablesConvertSet.toAttribute(new Set(['alpha', 'beta', 'gamma'])))
13
- .to.equal('alpha beta gamma');
14
- });
15
- });
@@ -1,224 +0,0 @@
1
- body, html {
2
- margin:0; padding: 0;
3
- height: 100%;
4
- }
5
- body {
6
- font-family: Helvetica Neue, Helvetica, Arial;
7
- font-size: 14px;
8
- color:#333;
9
- }
10
- .small { font-size: 12px; }
11
- *, *:after, *:before {
12
- -webkit-box-sizing:border-box;
13
- -moz-box-sizing:border-box;
14
- box-sizing:border-box;
15
- }
16
- h1 { font-size: 20px; margin: 0;}
17
- h2 { font-size: 14px; }
18
- pre {
19
- font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
20
- margin: 0;
21
- padding: 0;
22
- -moz-tab-size: 2;
23
- -o-tab-size: 2;
24
- tab-size: 2;
25
- }
26
- a { color:#0074D9; text-decoration:none; }
27
- a:hover { text-decoration:underline; }
28
- .strong { font-weight: bold; }
29
- .space-top1 { padding: 10px 0 0 0; }
30
- .pad2y { padding: 20px 0; }
31
- .pad1y { padding: 10px 0; }
32
- .pad2x { padding: 0 20px; }
33
- .pad2 { padding: 20px; }
34
- .pad1 { padding: 10px; }
35
- .space-left2 { padding-left:55px; }
36
- .space-right2 { padding-right:20px; }
37
- .center { text-align:center; }
38
- .clearfix { display:block; }
39
- .clearfix:after {
40
- content:'';
41
- display:block;
42
- height:0;
43
- clear:both;
44
- visibility:hidden;
45
- }
46
- .fl { float: left; }
47
- @media only screen and (max-width:640px) {
48
- .col3 { width:100%; max-width:100%; }
49
- .hide-mobile { display:none!important; }
50
- }
51
-
52
- .quiet {
53
- color: #7f7f7f;
54
- color: rgba(0,0,0,0.5);
55
- }
56
- .quiet a { opacity: 0.7; }
57
-
58
- .fraction {
59
- font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
60
- font-size: 10px;
61
- color: #555;
62
- background: #E8E8E8;
63
- padding: 4px 5px;
64
- border-radius: 3px;
65
- vertical-align: middle;
66
- }
67
-
68
- div.path a:link, div.path a:visited { color: #333; }
69
- table.coverage {
70
- border-collapse: collapse;
71
- margin: 10px 0 0 0;
72
- padding: 0;
73
- }
74
-
75
- table.coverage td {
76
- margin: 0;
77
- padding: 0;
78
- vertical-align: top;
79
- }
80
- table.coverage td.line-count {
81
- text-align: right;
82
- padding: 0 5px 0 20px;
83
- }
84
- table.coverage td.line-coverage {
85
- text-align: right;
86
- padding-right: 10px;
87
- min-width:20px;
88
- }
89
-
90
- table.coverage td span.cline-any {
91
- display: inline-block;
92
- padding: 0 5px;
93
- width: 100%;
94
- }
95
- .missing-if-branch {
96
- display: inline-block;
97
- margin-right: 5px;
98
- border-radius: 3px;
99
- position: relative;
100
- padding: 0 4px;
101
- background: #333;
102
- color: yellow;
103
- }
104
-
105
- .skip-if-branch {
106
- display: none;
107
- margin-right: 10px;
108
- position: relative;
109
- padding: 0 4px;
110
- background: #ccc;
111
- color: white;
112
- }
113
- .missing-if-branch .typ, .skip-if-branch .typ {
114
- color: inherit !important;
115
- }
116
- .coverage-summary {
117
- border-collapse: collapse;
118
- width: 100%;
119
- }
120
- .coverage-summary tr { border-bottom: 1px solid #bbb; }
121
- .keyline-all { border: 1px solid #ddd; }
122
- .coverage-summary td, .coverage-summary th { padding: 10px; }
123
- .coverage-summary tbody { border: 1px solid #bbb; }
124
- .coverage-summary td { border-right: 1px solid #bbb; }
125
- .coverage-summary td:last-child { border-right: none; }
126
- .coverage-summary th {
127
- text-align: left;
128
- font-weight: normal;
129
- white-space: nowrap;
130
- }
131
- .coverage-summary th.file { border-right: none !important; }
132
- .coverage-summary th.pct { }
133
- .coverage-summary th.pic,
134
- .coverage-summary th.abs,
135
- .coverage-summary td.pct,
136
- .coverage-summary td.abs { text-align: right; }
137
- .coverage-summary td.file { white-space: nowrap; }
138
- .coverage-summary td.pic { min-width: 120px !important; }
139
- .coverage-summary tfoot td { }
140
-
141
- .coverage-summary .sorter {
142
- height: 10px;
143
- width: 7px;
144
- display: inline-block;
145
- margin-left: 0.5em;
146
- background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
147
- }
148
- .coverage-summary .sorted .sorter {
149
- background-position: 0 -20px;
150
- }
151
- .coverage-summary .sorted-desc .sorter {
152
- background-position: 0 -10px;
153
- }
154
- .status-line { height: 10px; }
155
- /* yellow */
156
- .cbranch-no { background: yellow !important; color: #111; }
157
- /* dark red */
158
- .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
159
- .low .chart { border:1px solid #C21F39 }
160
- .highlighted,
161
- .highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
162
- background: #C21F39 !important;
163
- }
164
- /* medium red */
165
- .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
166
- /* light red */
167
- .low, .cline-no { background:#FCE1E5 }
168
- /* light green */
169
- .high, .cline-yes { background:rgb(230,245,208) }
170
- /* medium green */
171
- .cstat-yes { background:rgb(161,215,106) }
172
- /* dark green */
173
- .status-line.high, .high .cover-fill { background:rgb(77,146,33) }
174
- .high .chart { border:1px solid rgb(77,146,33) }
175
- /* dark yellow (gold) */
176
- .status-line.medium, .medium .cover-fill { background: #f9cd0b; }
177
- .medium .chart { border:1px solid #f9cd0b; }
178
- /* light yellow */
179
- .medium { background: #fff4c2; }
180
-
181
- .cstat-skip { background: #ddd; color: #111; }
182
- .fstat-skip { background: #ddd; color: #111 !important; }
183
- .cbranch-skip { background: #ddd !important; color: #111; }
184
-
185
- span.cline-neutral { background: #eaeaea; }
186
-
187
- .coverage-summary td.empty {
188
- opacity: .5;
189
- padding-top: 4px;
190
- padding-bottom: 4px;
191
- line-height: 1;
192
- color: #888;
193
- }
194
-
195
- .cover-fill, .cover-empty {
196
- display:inline-block;
197
- height: 12px;
198
- }
199
- .chart {
200
- line-height: 0;
201
- }
202
- .cover-empty {
203
- background: white;
204
- }
205
- .cover-full {
206
- border-right: none !important;
207
- }
208
- pre.prettyprint {
209
- border: none !important;
210
- padding: 0 !important;
211
- margin: 0 !important;
212
- }
213
- .com { color: #999 !important; }
214
- .ignore-none { color: #999; font-weight: normal; }
215
-
216
- .wrapper {
217
- min-height: 100%;
218
- height: auto !important;
219
- height: 100%;
220
- margin: 0 auto -48px;
221
- }
222
- .footer, .push {
223
- height: 48px;
224
- }