@ons/design-system 54.0.0 → 54.0.1
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.
- package/components/autosuggest/_autosuggest.scss +4 -4
- package/components/autosuggest/autosuggest.spec.js +12 -2
- package/components/autosuggest/autosuggest.ui.js +4 -7
- package/components/button/_button.scss +8 -1
- package/components/checkboxes/_checkbox.scss +7 -7
- package/components/input/_input-type.scss +34 -3
- package/components/input/_input.scss +16 -8
- package/components/input/_macro.njk +15 -17
- package/components/radios/_radio.scss +2 -2
- package/components/relationships/_relationships.scss +2 -2
- package/components/table/_table.scss +3 -2
- package/components/tabs/_tabs.scss +55 -34
- package/components/tabs/tabs.js +4 -2
- package/components/upload/_upload.scss +2 -2
- package/css/census.css +1 -1
- package/css/ids.css +1 -1
- package/css/main.css +1 -1
- package/package.json +1 -1
- package/scripts/main.es5.js +1 -1
- package/scripts/main.js +1 -1
- package/scss/patternlib.scss +0 -56
- package/scss/vars/_colors.scss +2 -1
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
&__results {
|
|
14
|
-
border: 1px solid $color-input;
|
|
14
|
+
border: 1px solid $color-input-border;
|
|
15
15
|
border-radius: $input-radius;
|
|
16
16
|
display: none;
|
|
17
17
|
margin: 0.5rem 0 0;
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
&__results-title {
|
|
29
29
|
background: $color-grey-15;
|
|
30
|
-
border-bottom: 1px solid $color-input;
|
|
30
|
+
border-bottom: 1px solid $color-input-border;
|
|
31
31
|
padding: 0.25rem 0.5rem;
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
padding: $input-padding-horizontal;
|
|
49
49
|
|
|
50
50
|
&:not(:last-child) {
|
|
51
|
-
border-bottom: 1px solid $color-input;
|
|
51
|
+
border-bottom: 1px solid $color-input-border;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
&:not(&--no-results):not(&--more-results):hover,
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
padding-left: 0.5rem;
|
|
88
88
|
|
|
89
89
|
&:not(:last-child) {
|
|
90
|
-
border-bottom: 1px solid $color-input;
|
|
90
|
+
border-bottom: 1px solid $color-input-border;
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
|
|
@@ -118,6 +118,16 @@ describe('script: autosuggest', () => {
|
|
|
118
118
|
expect(ariaActiveDescendant).toBe(selectedOptionId);
|
|
119
119
|
});
|
|
120
120
|
|
|
121
|
+
it('sets aria status to a message showing the selected result', async () => {
|
|
122
|
+
await setTestPage('/test', renderComponent('autosuggest', EXAMPLE_AUTOSUGGEST));
|
|
123
|
+
|
|
124
|
+
await page.type('.ons-js-autosuggest-input', 'Eng', { delay: 20 });
|
|
125
|
+
await page.keyboard.press('ArrowDown');
|
|
126
|
+
|
|
127
|
+
const statusMessage = await page.$eval('.ons-js-autosuggest-aria-status', node => node.textContent);
|
|
128
|
+
expect(statusMessage.trim()).toBe('England');
|
|
129
|
+
});
|
|
130
|
+
|
|
121
131
|
it('does not mark other suggestions as being selected', async () => {
|
|
122
132
|
await setTestPage('/test', renderComponent('autosuggest', EXAMPLE_AUTOSUGGEST));
|
|
123
133
|
|
|
@@ -297,7 +307,7 @@ describe('script: autosuggest', () => {
|
|
|
297
307
|
|
|
298
308
|
const attributes = await getNodeAttributes(page, '.ons-js-autosuggest-input');
|
|
299
309
|
expect(attributes['aria-activedescendant']).toBeUndefined();
|
|
300
|
-
expect(attributes['aria-expanded']).
|
|
310
|
+
expect(attributes['aria-expanded']).toBe('false');
|
|
301
311
|
});
|
|
302
312
|
});
|
|
303
313
|
|
|
@@ -502,7 +512,7 @@ describe('script: autosuggest', () => {
|
|
|
502
512
|
await page.type('.ons-js-autosuggest-input', 'abc', { delay: 20 });
|
|
503
513
|
|
|
504
514
|
const ariaExpandedValue = await page.$eval('.ons-js-autosuggest-input', node => node.getAttribute('aria-expanded'));
|
|
505
|
-
expect(ariaExpandedValue).toBe(
|
|
515
|
+
expect(ariaExpandedValue).toBe('false');
|
|
506
516
|
});
|
|
507
517
|
});
|
|
508
518
|
});
|
|
@@ -322,7 +322,7 @@ export default class AutosuggestUI {
|
|
|
322
322
|
this.listbox.innerHTML = '';
|
|
323
323
|
this.context.classList.remove(classAutosuggestHasResults);
|
|
324
324
|
this.input.removeAttribute('aria-activedescendant');
|
|
325
|
-
this.input.
|
|
325
|
+
this.input.setAttribute('aria-expanded', false);
|
|
326
326
|
|
|
327
327
|
if (!preventAriaStatusUpdate) {
|
|
328
328
|
this.setAriaStatus();
|
|
@@ -343,15 +343,12 @@ export default class AutosuggestUI {
|
|
|
343
343
|
this.listbox.innerHTML = '';
|
|
344
344
|
if (this.results) {
|
|
345
345
|
this.resultOptions = this.results.map((result, index) => {
|
|
346
|
-
let ariaLabel = result[this.lang];
|
|
347
|
-
ariaLabel = ariaLabel.split('(<span class="ons-autosuggest-input__group">')[0];
|
|
348
346
|
let innerHTML = this.emboldenMatch(result[this.lang], this.query);
|
|
349
347
|
|
|
350
348
|
const listElement = document.createElement('li');
|
|
351
349
|
listElement.className = classAutosuggestOption;
|
|
352
350
|
listElement.setAttribute('id', `${this.listboxId}__option--${index}`);
|
|
353
351
|
listElement.setAttribute('role', 'option');
|
|
354
|
-
listElement.setAttribute('aria-label', ariaLabel);
|
|
355
352
|
if (result.category) {
|
|
356
353
|
innerHTML =
|
|
357
354
|
innerHTML + `<span class="ons-autosuggest-input__category ons-u-lighter ons-u-fs-s ons-u-db">${result.category}</span>`;
|
|
@@ -437,13 +434,13 @@ export default class AutosuggestUI {
|
|
|
437
434
|
option.setAttribute('aria-selected', true);
|
|
438
435
|
this.input.setAttribute('aria-activedescendant', option.getAttribute('id'));
|
|
439
436
|
const groupedResult = option.querySelector('.ons-autosuggest-input__group');
|
|
440
|
-
const
|
|
437
|
+
const optionText = option.innerHTML.replace('<strong>', '').replace('</strong>', '');
|
|
441
438
|
if (groupedResult) {
|
|
442
439
|
let groupedAriaMsg = this.ariaGroupedResults.replace('{n}', groupedResult.innerHTML);
|
|
443
|
-
groupedAriaMsg = groupedAriaMsg.replace('{x}',
|
|
440
|
+
groupedAriaMsg = groupedAriaMsg.replace('{x}', optionText);
|
|
444
441
|
this.setAriaStatus(groupedAriaMsg);
|
|
445
442
|
} else {
|
|
446
|
-
this.setAriaStatus(
|
|
443
|
+
this.setAriaStatus(optionText);
|
|
447
444
|
}
|
|
448
445
|
} else {
|
|
449
446
|
option.classList.remove(classAutosuggestOptionFocused);
|
|
@@ -386,13 +386,20 @@ $button-shadow-size: 3px;
|
|
|
386
386
|
&--ghost-dark:focus &,
|
|
387
387
|
&--dropdown:focus & {
|
|
388
388
|
&__inner {
|
|
389
|
-
|
|
389
|
+
border-color: $color-text-link-focus;
|
|
390
|
+
box-shadow: 0 0 0 1px $color-text-link-focus;
|
|
390
391
|
.ons-svg-icon {
|
|
391
392
|
fill: $color-black;
|
|
392
393
|
}
|
|
393
394
|
}
|
|
394
395
|
}
|
|
395
396
|
|
|
397
|
+
&--dropdown:focus & {
|
|
398
|
+
&__inner {
|
|
399
|
+
box-shadow: inset 0 -4px 0 0 $color-text-link-focus;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
396
403
|
&--mobile[aria-expanded='true'],
|
|
397
404
|
&--text-link[aria-expanded='true'] {
|
|
398
405
|
.ons-svg-icon {
|
|
@@ -10,9 +10,9 @@ $checkbox-padding: 11px;
|
|
|
10
10
|
&__input {
|
|
11
11
|
appearance: none;
|
|
12
12
|
background: url(#{$static}/img/icons--check.svg) no-repeat center center;
|
|
13
|
-
background-color: $color-
|
|
13
|
+
background-color: $color-input-bg;
|
|
14
14
|
background-size: 0;
|
|
15
|
-
border: 2px solid $color-input;
|
|
15
|
+
border: 2px solid $color-input-border;
|
|
16
16
|
border-radius: 0.2rem;
|
|
17
17
|
box-sizing: border-box;
|
|
18
18
|
height: $checkbox-input-width;
|
|
@@ -73,7 +73,7 @@ $checkbox-padding: 11px;
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
&:focus {
|
|
76
|
-
|
|
76
|
+
@extend %ons-input-focus;
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
|
|
@@ -101,7 +101,7 @@ $checkbox-padding: 11px;
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
&:focus {
|
|
104
|
-
|
|
104
|
+
@extend %ons-input-focus;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
& + .ons-checkbox__label {
|
|
@@ -122,7 +122,7 @@ $checkbox-padding: 11px;
|
|
|
122
122
|
|
|
123
123
|
&::before {
|
|
124
124
|
background: $color-white;
|
|
125
|
-
border: 1px solid $color-input;
|
|
125
|
+
border: 1px solid $color-input-border;
|
|
126
126
|
border-radius: 3px;
|
|
127
127
|
bottom: 0;
|
|
128
128
|
content: '';
|
|
@@ -152,7 +152,7 @@ $checkbox-padding: 11px;
|
|
|
152
152
|
|
|
153
153
|
&__input:checked + &__label::before {
|
|
154
154
|
background: $color-grey-5;
|
|
155
|
-
box-shadow: 0 0 0 1px $color-input;
|
|
155
|
+
box-shadow: 0 0 0 1px $color-input-border;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
.ons-panel--error .ons-radio__input:checked ~ &__other > .ons-input--text:required:not(:focus) {
|
|
@@ -179,7 +179,7 @@ $checkbox-padding: 11px;
|
|
|
179
179
|
top: 0.1rem;
|
|
180
180
|
|
|
181
181
|
&:focus {
|
|
182
|
-
|
|
182
|
+
@extend %ons-input-focus;
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
|
|
@@ -14,7 +14,14 @@
|
|
|
14
14
|
z-index: 1;
|
|
15
15
|
|
|
16
16
|
&:focus {
|
|
17
|
-
|
|
17
|
+
// Overide default input focus so it can wrap prefix/suffix too
|
|
18
|
+
box-shadow: none;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Overide default input error style so it can wrap prefix/suffix too
|
|
22
|
+
&.ons-input--error:not(:focus) {
|
|
23
|
+
border-right: $input-border-width solid $color-input-border;
|
|
24
|
+
box-shadow: none;
|
|
18
25
|
}
|
|
19
26
|
}
|
|
20
27
|
|
|
@@ -36,13 +43,15 @@
|
|
|
36
43
|
|
|
37
44
|
&__type,
|
|
38
45
|
&__type[title] {
|
|
39
|
-
border: 1px solid $color-input;
|
|
46
|
+
border: 1px solid $color-input-border;
|
|
40
47
|
}
|
|
41
48
|
|
|
42
49
|
&__input:focus + &__type::after {
|
|
50
|
+
// Style input + prefix/suffix on focus
|
|
51
|
+
@extend %ons-input-focus;
|
|
52
|
+
|
|
43
53
|
border-radius: $input-radius;
|
|
44
54
|
bottom: 0;
|
|
45
|
-
box-shadow: 0 0 0 3px $color-focus;
|
|
46
55
|
content: '';
|
|
47
56
|
display: block;
|
|
48
57
|
left: 0;
|
|
@@ -75,3 +84,25 @@
|
|
|
75
84
|
}
|
|
76
85
|
}
|
|
77
86
|
}
|
|
87
|
+
|
|
88
|
+
// Errors
|
|
89
|
+
.ons-input--error:not(:focus) {
|
|
90
|
+
& + .ons-input-type__type,
|
|
91
|
+
& + .ons-input-type__type[title] {
|
|
92
|
+
border-color: $color-errors;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
& + .ons-input-type__type::after {
|
|
96
|
+
border-radius: $input-radius;
|
|
97
|
+
bottom: 0;
|
|
98
|
+
|
|
99
|
+
// Style input + prefix/suffix for errors
|
|
100
|
+
box-shadow: 0 0 0 1px $color-errors;
|
|
101
|
+
content: '';
|
|
102
|
+
display: block;
|
|
103
|
+
left: 0;
|
|
104
|
+
position: absolute;
|
|
105
|
+
right: 0;
|
|
106
|
+
top: 0;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
%ons-input-focus {
|
|
2
|
-
box-shadow: 0 0 0
|
|
2
|
+
box-shadow: 0 0 0 $input-border-width $color-input-border, 0 0 0 4px $color-focus;
|
|
3
3
|
outline: none;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.ons-input {
|
|
7
|
-
border: $input-border-width solid $color-input;
|
|
7
|
+
border: $input-border-width solid $color-input-border;
|
|
8
8
|
border-radius: $input-radius;
|
|
9
9
|
color: inherit;
|
|
10
10
|
display: block;
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
&--error:not(:focus) {
|
|
48
|
-
border:
|
|
49
|
-
box-shadow:
|
|
48
|
+
border: $input-border-width solid $color-errors;
|
|
49
|
+
box-shadow: 0 0 0 $input-border-width $color-errors;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
&--with-description {
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
|
|
74
74
|
.ons-input--select {
|
|
75
75
|
appearance: none;
|
|
76
|
-
background: $color-
|
|
76
|
+
background: $color-input-bg url('#{$static}/img/icons--chevron-down.svg') no-repeat center right 10px;
|
|
77
77
|
background-size: 1rem;
|
|
78
78
|
line-height: 1.3rem;
|
|
79
79
|
padding: 0.39rem 2rem 0.39rem $input-padding-horizontal;
|
|
@@ -100,10 +100,10 @@
|
|
|
100
100
|
color: transparent;
|
|
101
101
|
}
|
|
102
102
|
&:valid:not(:placeholder-shown) {
|
|
103
|
-
background-color: $color-
|
|
103
|
+
background-color: $color-input-bg;
|
|
104
104
|
}
|
|
105
105
|
&:focus {
|
|
106
|
-
background-color: $color-
|
|
106
|
+
background-color: $color-input-bg;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
.ons-input--ghost {
|
|
123
123
|
border: 2px solid rgba(255, 255, 255, 0.6);
|
|
124
124
|
&:focus {
|
|
125
|
-
border: 2px solid $color-input;
|
|
125
|
+
border: 2px solid $color-input-border;
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
|
|
@@ -156,3 +156,11 @@
|
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
|
+
|
|
160
|
+
// Search type inputs - removes the 'X' clear button from webkit browsers
|
|
161
|
+
input[type='search']::-webkit-search-decoration,
|
|
162
|
+
input[type='search']::-webkit-search-cancel-button,
|
|
163
|
+
input[type='search']::-webkit-search-results-button,
|
|
164
|
+
input[type='search']::-webkit-search-results-decoration {
|
|
165
|
+
display: none;
|
|
166
|
+
}
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
type="{{ type }}"
|
|
28
28
|
id="{{ params.id }}"
|
|
29
29
|
class="ons-input ons-input--text ons-input-type__input{% if params.error is defined and params.error %} ons-input--error{% endif %}{% if params.searchButton is defined and params.searchButton %} ons-search__input{% endif %}{% if params.classes is defined and params.classes %} {{ params.classes }}{% endif %}{% if params.width is defined and params.width %} ons-input{% if params.type is defined and (params.type == 'number' or params.type == 'tel') %}-number{% endif %}--w-{{ params.width }}{% endif %}{{ exclusiveClass }}{{ inputPlaceholder }}"
|
|
30
|
-
{% if
|
|
30
|
+
{% if params.prefix is defined and params.prefix and params.prefix.id is defined and params.prefix.id %}aria-labelledby="{{ params.prefix.id }}"{% elif params.suffix is defined and params.suffix and params.suffix.id is defined and params.suffix.id %}aria-labelledby="{{ params.suffix.id }}"{% endif %}
|
|
31
31
|
{% if params.name is defined and params.name %}name="{{ params.name }}"{% endif %}
|
|
32
32
|
{% if params.value is defined and params.value %}value="{{ params.value }}"{% endif %}
|
|
33
33
|
{% if params.accept is defined and params.accept %}accept="{{ params.accept }}"{% endif %}
|
|
@@ -71,25 +71,23 @@
|
|
|
71
71
|
{% endif %}
|
|
72
72
|
|
|
73
73
|
{% if params.prefix is defined and params.prefix or params.suffix is defined and params.suffix %}
|
|
74
|
-
{% if (params.prefix is defined and params.prefix and params.prefix.id is defined and params.prefix.id) or (params.suffix is defined and params.suffix and params.suffix.id is defined and params.suffix.id) %}
|
|
75
|
-
{% if
|
|
76
|
-
{%
|
|
77
|
-
|
|
78
|
-
{% endif %}
|
|
74
|
+
{% if (params.prefix is defined and params.prefix and params.prefix.id is defined and params.prefix.id and params.prefix.title is defined and params.prefix.title) or (params.suffix is defined and params.suffix and params.suffix.id is defined and params.suffix.id and params.suffix.title is defined and params.suffix.title) %}
|
|
75
|
+
{% if params.prefix is defined and params.prefix %}
|
|
76
|
+
{% set prefixClass = " ons-input-type--prefix" %}
|
|
77
|
+
{% endif %}
|
|
79
78
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
<span class="ons-input-type{{ prefixClass }}">
|
|
80
|
+
<span class="ons-input-type__inner">
|
|
81
|
+
{{ input | safe }}
|
|
83
82
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
</span>
|
|
83
|
+
{% set abbr = params.prefix or params.suffix %}
|
|
84
|
+
<abbr
|
|
85
|
+
id="{{ abbr.id }}"
|
|
86
|
+
class="ons-input-type__type ons-js-input-abbr"
|
|
87
|
+
title="{{ abbr.title }}"
|
|
88
|
+
>{{ abbr.text or abbr.title }}</abbr>
|
|
91
89
|
</span>
|
|
92
|
-
|
|
90
|
+
</span>
|
|
93
91
|
{% endif %}
|
|
94
92
|
{% elif params.searchButton is defined and params.searchButton %}
|
|
95
93
|
<span class="ons-grid--flex ons-search">
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
box-shadow: inset 0 0 0 3px $color-white;
|
|
10
10
|
|
|
11
11
|
&:checked {
|
|
12
|
-
background: $color-input;
|
|
12
|
+
background: $color-input-border;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
&:focus {
|
|
30
|
-
box-shadow: 0 0 0 3px $color-
|
|
30
|
+
box-shadow: inset 0 0 0 3px $color-input-bg, 0 0 0 $input-border-width $color-input-border, 0 0 0 4px $color-focus;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -107,8 +107,8 @@
|
|
|
107
107
|
overflow-x: scroll;
|
|
108
108
|
width: 100%;
|
|
109
109
|
&:focus {
|
|
110
|
-
|
|
111
|
-
outline
|
|
110
|
+
box-shadow: 0 0 0 3px $color-page-light, 0 0 0 5px $color-text-link-focus, 0 0 0 8px $color-focus;
|
|
111
|
+
outline: none;
|
|
112
112
|
}
|
|
113
113
|
.ons-table__header,
|
|
114
114
|
.ons-table__cell {
|
|
@@ -119,6 +119,7 @@
|
|
|
119
119
|
.ons-table__right-shadow,
|
|
120
120
|
.ons-table__left-shadow {
|
|
121
121
|
height: 100%;
|
|
122
|
+
padding: 2px;
|
|
122
123
|
position: absolute;
|
|
123
124
|
top: 0;
|
|
124
125
|
width: 5px;
|
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
.ons-tabs {
|
|
2
2
|
margin-bottom: 1rem;
|
|
3
|
-
}
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
.ons-
|
|
7
|
-
|
|
8
|
-
margin: 0 0 1rem;
|
|
9
|
-
overflow: visible;
|
|
10
|
-
padding: 0;
|
|
4
|
+
&__title {
|
|
5
|
+
@extend .ons-u-fs-r--b;
|
|
6
|
+
}
|
|
11
7
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
// Anchor links list
|
|
9
|
+
&__list {
|
|
10
|
+
border-bottom: 0;
|
|
11
|
+
margin: 0 0 1rem;
|
|
12
|
+
overflow: visible;
|
|
13
|
+
padding: 0;
|
|
14
|
+
|
|
15
|
+
// Tabs
|
|
16
|
+
&--row {
|
|
17
|
+
margin: 0;
|
|
18
|
+
position: relative;
|
|
19
|
+
|
|
20
|
+
&::after {
|
|
21
|
+
background: $color-borders;
|
|
22
|
+
bottom: 0;
|
|
23
|
+
box-shadow: 0 1px 0 0 $color-page-light;
|
|
24
|
+
content: '';
|
|
25
|
+
height: 1px;
|
|
26
|
+
left: 0;
|
|
27
|
+
position: absolute;
|
|
28
|
+
width: 100%;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
15
31
|
}
|
|
16
32
|
}
|
|
17
33
|
|
|
@@ -32,7 +48,7 @@
|
|
|
32
48
|
border-radius: 3px 3px 0 0;
|
|
33
49
|
color: $color-text;
|
|
34
50
|
display: inline-block;
|
|
35
|
-
height: 2.
|
|
51
|
+
height: 2.55rem;
|
|
36
52
|
line-height: 2.3rem;
|
|
37
53
|
margin: 0 0.1rem 0 0;
|
|
38
54
|
overflow: visible;
|
|
@@ -47,47 +63,52 @@
|
|
|
47
63
|
text-decoration: underline solid $color-text 2px;
|
|
48
64
|
}
|
|
49
65
|
|
|
66
|
+
&:focus {
|
|
67
|
+
background-color: $color-focus;
|
|
68
|
+
border-bottom: 1px solid $color-borders;
|
|
69
|
+
box-shadow: inset 0 0 0 9px $color-button-secondary,
|
|
70
|
+
inset 17px 0 0 0 $color-button-secondary,
|
|
71
|
+
inset -17px 0 0 0 $color-button-secondary,
|
|
72
|
+
inset 0 -13px 0 0 $color-text-link-focus;
|
|
73
|
+
color: $color-text-link-focus;
|
|
74
|
+
outline: none;
|
|
75
|
+
text-decoration: underline solid $color-text 2px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Tab when selected
|
|
50
79
|
&[aria-selected='true'] {
|
|
51
|
-
background-color: $color-
|
|
80
|
+
background-color: $color-page-light;
|
|
81
|
+
border-bottom: none;
|
|
52
82
|
border-color: $color-borders;
|
|
53
|
-
// Tab when selected
|
|
54
83
|
border-radius: 3px 3px 0 0;
|
|
55
|
-
font-weight: 700;
|
|
56
84
|
text-decoration: none;
|
|
85
|
+
z-index: 1;
|
|
57
86
|
|
|
58
|
-
|
|
59
|
-
background: $color-
|
|
60
|
-
bottom: -
|
|
61
|
-
box-shadow:
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
position: absolute;
|
|
67
|
-
right: 0;
|
|
68
|
-
z-index: 3;
|
|
87
|
+
&:focus {
|
|
88
|
+
background-color: $color-focus;
|
|
89
|
+
border-bottom: 1px solid $color-page-light;
|
|
90
|
+
box-shadow: inset 0 0 0 9px $color-page-light,
|
|
91
|
+
inset 17px 0 0 0 $color-page-light,
|
|
92
|
+
inset -17px 0 0 0 $color-page-light,
|
|
93
|
+
inset 0 -13px 0 0 $color-text-link-focus;
|
|
94
|
+
text-decoration: none;
|
|
69
95
|
}
|
|
70
96
|
}
|
|
71
|
-
|
|
72
|
-
&:focus {
|
|
73
|
-
background-color: $color-focus;
|
|
74
|
-
color: $color-text-link-focus;
|
|
75
|
-
outline: none;
|
|
76
|
-
}
|
|
77
97
|
}
|
|
78
98
|
|
|
79
99
|
// Tabs - Panels
|
|
80
100
|
.ons-tabs__panel {
|
|
81
|
-
|
|
101
|
+
padding-bottom: 1rem;
|
|
82
102
|
padding-top: 1rem;
|
|
83
103
|
position: relative;
|
|
84
|
-
z-index: 10;
|
|
85
104
|
|
|
86
105
|
&--hidden {
|
|
87
106
|
display: none;
|
|
88
107
|
}
|
|
89
108
|
|
|
90
109
|
&:focus {
|
|
91
|
-
|
|
110
|
+
box-shadow: 0 0 0 3px $color-page-light, 0 0 0 5px $color-text-link-focus, 0 0 0 8px $color-focus;
|
|
111
|
+
outline: none;
|
|
112
|
+
z-index: 1;
|
|
92
113
|
}
|
|
93
114
|
}
|
package/components/tabs/tabs.js
CHANGED
|
@@ -30,8 +30,6 @@ export default class Tabs {
|
|
|
30
30
|
this.jsTabItemAsRowClass = 'ons-tab__list-item--row';
|
|
31
31
|
this.jsTabAsListClass = 'ons-tab--row';
|
|
32
32
|
|
|
33
|
-
this.tabsTitle.classList.add('ons-u-vh');
|
|
34
|
-
|
|
35
33
|
if (matchMediaUtil.hasMatchMedia()) {
|
|
36
34
|
this.setupViewportChecks();
|
|
37
35
|
} else {
|
|
@@ -61,6 +59,8 @@ export default class Tabs {
|
|
|
61
59
|
this.tabList[0].setAttribute('role', 'tablist');
|
|
62
60
|
this.tabList[0].classList.add(this.jsTabListAsRowClass);
|
|
63
61
|
|
|
62
|
+
this.tabsTitle.classList.add('ons-u-vh');
|
|
63
|
+
|
|
64
64
|
this.tabPanels.forEach(panel => {
|
|
65
65
|
panel.setAttribute('tabindex', '0');
|
|
66
66
|
});
|
|
@@ -90,6 +90,8 @@ export default class Tabs {
|
|
|
90
90
|
this.tabList[0].removeAttribute('role');
|
|
91
91
|
this.tabList[0].classList.remove(this.jsTabListAsRowClass);
|
|
92
92
|
|
|
93
|
+
this.tabsTitle.classList.remove('ons-u-vh');
|
|
94
|
+
|
|
93
95
|
this.tabPanels.forEach(panel => {
|
|
94
96
|
panel.removeAttribute('tabindex', '0');
|
|
95
97
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ons-input--upload {
|
|
2
2
|
background: $color-white;
|
|
3
|
-
border: 1px solid $color-input;
|
|
3
|
+
border: 1px solid $color-input-border;
|
|
4
4
|
border-radius: $input-radius;
|
|
5
5
|
font-size: 1rem;
|
|
6
6
|
padding: 0;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
background: $color-button-secondary;
|
|
10
10
|
border: 0;
|
|
11
11
|
border-bottom-right-radius: 0;
|
|
12
|
-
border-right: 1px solid $color-input;
|
|
12
|
+
border-right: 1px solid $color-input-border;
|
|
13
13
|
border-top-right-radius: 0;
|
|
14
14
|
color: $color-text;
|
|
15
15
|
font-size: 1rem;
|