@madgex/design-system 3.0.2 → 3.0.3
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/.eslintignore +2 -0
- package/.eslintrc.js +3 -3
- package/__tests__/.eslintrc.js +3 -3
- package/__tests__/unit/src/components/combobox.spec.js +4 -28
- package/__tests__/unit/src/components/notification.spec.js +14 -12
- package/__tests__/unit/src/components/popover.spec.js +4 -0
- package/__tests__/unit/tasks/css.spec.js +3 -2
- package/__tests__/unit/tasks/jsbundle.spec.js +3 -2
- package/__tests__/unit/tasks/svgsprite.spec.js +3 -2
- package/__tests__/unit/tasks/tokens.spec.js +3 -2
- package/coverage/cobertura-coverage.xml +389 -389
- package/coverage/components/accordion/accordion.js.html +164 -127
- package/coverage/components/accordion/index.html +23 -22
- package/coverage/components/button/button.js.html +3 -2
- package/coverage/components/button/index.html +3 -2
- package/coverage/components/inputs/combobox/combobox.js.html +3 -2
- package/coverage/components/inputs/combobox/index.html +3 -2
- package/coverage/components/inputs/combobox/vue-components/Combobox.vue.html +55 -54
- package/coverage/components/inputs/combobox/vue-components/ListBoxOption.vue.html +9 -8
- package/coverage/components/inputs/combobox/vue-components/index.html +21 -20
- package/coverage/components/inputs/file-upload/file-upload.js.html +7 -3
- package/coverage/components/inputs/file-upload/index.html +3 -2
- package/coverage/components/inputs/textarea/character-count.js.html +13 -3
- package/coverage/components/inputs/textarea/index.html +3 -2
- package/coverage/components/modal/index.html +23 -22
- package/coverage/components/modal/modal.js.html +118 -111
- package/coverage/components/notification/index.html +3 -2
- package/coverage/components/notification/notification.js.html +13 -3
- package/coverage/components/popover/index.html +3 -2
- package/coverage/components/popover/popover.js.html +3 -2
- package/coverage/components/switch-state/index.html +19 -18
- package/coverage/components/switch-state/switch-state.js.html +22 -21
- package/coverage/components/tabs/index.html +3 -2
- package/coverage/components/tabs/tabs.js.html +37 -3
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +52 -51
- package/coverage/js/common.js.html +3 -2
- package/coverage/js/fractal-scripts/combobox.js.html +22 -3
- package/coverage/js/fractal-scripts/index.html +3 -2
- package/coverage/js/fractal-scripts/notification.js.html +13 -3
- package/coverage/js/fractal-scripts/switch-state.js.html +13 -3
- package/coverage/js/index-fractal.js.html +3 -2
- package/coverage/js/index-polyfills.js.html +3 -2
- package/coverage/js/index-vue.js.html +3 -2
- package/coverage/js/index.html +3 -2
- package/coverage/js/index.js.html +3 -2
- package/coverage/js/polyfills/arrayPrototypeFind.js.html +20 -10
- package/coverage/js/polyfills/closest.js.html +8 -4
- package/coverage/js/polyfills/index.html +3 -2
- package/coverage/js/polyfills/objectAssign.js.html +19 -9
- package/coverage/js/polyfills/remove.js.html +3 -2
- package/coverage/tokens/_config.js.html +3 -2
- package/coverage/tokens/index.html +3 -2
- package/cypress/.eslintrc.js +6 -6
- package/cypress/fixtures/testuploadfile.txt +1 -0
- package/cypress/integration/components/accordion.spec.js +40 -3
- package/cypress/integration/components/button.spec.js +2 -3
- package/cypress/integration/components/card.spec.js +2 -3
- package/cypress/integration/components/icons.spec.js +10 -0
- package/cypress/integration/components/{combobox.spec.js → inputs/combobox.spec.js} +6 -0
- package/cypress/integration/components/inputs/file-upload.spec.js +45 -0
- package/cypress/integration/components/{input.spec.js → inputs/input.spec.js} +1 -1
- package/cypress/integration/components/inputs/label.spec.js +15 -0
- package/cypress/integration/components/inputs/radio.spec.js +20 -0
- package/cypress/integration/components/inputs/select.spec.js +31 -0
- package/cypress/integration/components/inputs/textarea.spec.js +23 -0
- package/cypress/integration/components/modal.spec.js +65 -0
- package/cypress/integration/components/notifications.spec.js +35 -0
- package/cypress/integration/components/popover.spec.js +36 -0
- package/cypress/integration/components/skip-link.spec.js +9 -0
- package/cypress/plugins/index.js +1 -1
- package/cypress/support/commands.js +14 -0
- package/cypress/support/index.js +2 -0
- package/dist/_tokens/css/_tokens.css +1 -1
- package/dist/_tokens/js/_tokens-module.js +455 -1
- package/dist/_tokens/scss/_tokens.scss +4 -4
- package/dist/assets/icons.json +1 -1
- package/dist/assets/icons.svg +6 -1
- package/dist/js/index.js +1 -1
- package/fractal.js +2 -0
- package/package.json +59 -54
- package/server.js +1 -1
- package/src/components/accordion/accordion.config.js +9 -12
- package/src/components/accordion/accordion.js +12 -0
- package/src/components/inputs/file-upload/file-upload.js +1 -0
- package/src/components/inputs/textarea/character-count.js +3 -0
- package/src/components/modal/modal.js +3 -1
- package/src/components/notification/notification.js +3 -0
- package/src/components/skip-link/skip-link.njk +11 -1
- package/src/components/tabs/tabs.js +11 -0
- package/src/js/fractal-scripts/combobox.js +6 -0
- package/src/js/fractal-scripts/notification.js +3 -0
- package/src/js/fractal-scripts/switch-state.js +3 -0
- package/src/js/polyfills/arrayPrototypeFind.js +9 -6
- package/src/js/polyfills/closest.js +2 -1
- package/src/js/polyfills/objectAssign.js +9 -6
- package/tasks/colorTransforms.js +4 -0
- package/tasks/createMacroIndex.js +1 -0
- package/tasks/css.js +3 -0
- package/tasks/fractal.js +2 -0
- package/tasks/js-bundle.js +6 -2
- package/tasks/svgsprite.js +31 -21
- package/tasks/tokens.js +2 -0
- package/__tests__/unit/src/components/accordion.spec.js +0 -88
- package/__tests__/unit/src/components/modal.spec.js +0 -87
- package/__tests__/unit/src/components/switch-state.spec.js +0 -21
- package/cypress/integration/components/textarea.spec.js +0 -9
- /package/cypress/integration/components/{checkbox-list.spec.js → inputs/checkbox-list.spec.js} +0 -0
- /package/cypress/integration/components/{single-checkbox.spec.js → inputs/single-checkbox.spec.js} +0 -0
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
11
12
|
<style type='text/css'>
|
|
12
13
|
.coverage-summary .sorter {
|
|
13
14
|
background-image: url(../../sort-arrow-sprite.png);
|
|
@@ -22,30 +23,30 @@
|
|
|
22
23
|
<div class='clearfix'>
|
|
23
24
|
|
|
24
25
|
<div class='fl pad1y space-right2'>
|
|
25
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">0% </span>
|
|
26
27
|
<span class="quiet">Statements</span>
|
|
27
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>0/48</span>
|
|
28
29
|
</div>
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
<div class='fl pad1y space-right2'>
|
|
32
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
33
34
|
<span class="quiet">Branches</span>
|
|
34
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>0/16</span>
|
|
35
36
|
</div>
|
|
36
37
|
|
|
37
38
|
|
|
38
39
|
<div class='fl pad1y space-right2'>
|
|
39
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">0% </span>
|
|
40
41
|
<span class="quiet">Functions</span>
|
|
41
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>0/10</span>
|
|
42
43
|
</div>
|
|
43
44
|
|
|
44
45
|
|
|
45
46
|
<div class='fl pad1y space-right2'>
|
|
46
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">0% </span>
|
|
47
48
|
<span class="quiet">Lines</span>
|
|
48
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>0/48</span>
|
|
49
50
|
</div>
|
|
50
51
|
|
|
51
52
|
|
|
@@ -54,7 +55,7 @@
|
|
|
54
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
55
56
|
</p>
|
|
56
57
|
</div>
|
|
57
|
-
<div class='status-line
|
|
58
|
+
<div class='status-line low'></div>
|
|
58
59
|
<div class="pad1">
|
|
59
60
|
<table class="coverage-summary">
|
|
60
61
|
<thead>
|
|
@@ -72,18 +73,18 @@
|
|
|
72
73
|
</tr>
|
|
73
74
|
</thead>
|
|
74
75
|
<tbody><tr>
|
|
75
|
-
<td class="file
|
|
76
|
-
<td data-value="
|
|
77
|
-
<div class="chart"><div class="cover-fill
|
|
76
|
+
<td class="file low" data-value="modal.js"><a href="modal.js.html">modal.js</a></td>
|
|
77
|
+
<td data-value="0" class="pic low">
|
|
78
|
+
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
|
78
79
|
</td>
|
|
79
|
-
<td data-value="
|
|
80
|
-
<td data-value="48" class="abs
|
|
81
|
-
<td data-value="
|
|
82
|
-
<td data-value="16" class="abs
|
|
83
|
-
<td data-value="
|
|
84
|
-
<td data-value="10" class="abs
|
|
85
|
-
<td data-value="
|
|
86
|
-
<td data-value="48" class="abs
|
|
80
|
+
<td data-value="0" class="pct low">0%</td>
|
|
81
|
+
<td data-value="48" class="abs low">0/48</td>
|
|
82
|
+
<td data-value="0" class="pct low">0%</td>
|
|
83
|
+
<td data-value="16" class="abs low">0/16</td>
|
|
84
|
+
<td data-value="0" class="pct low">0%</td>
|
|
85
|
+
<td data-value="10" class="abs low">0/10</td>
|
|
86
|
+
<td data-value="0" class="pct low">0%</td>
|
|
87
|
+
<td data-value="48" class="abs low">0/48</td>
|
|
87
88
|
</tr>
|
|
88
89
|
|
|
89
90
|
</tbody>
|
|
@@ -94,7 +95,7 @@
|
|
|
94
95
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
95
96
|
Code coverage generated by
|
|
96
97
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
97
|
-
at
|
|
98
|
+
at Thu Jul 08 2021 15:47:09 GMT+0100 (British Summer Time)
|
|
98
99
|
</div>
|
|
99
100
|
</div>
|
|
100
101
|
<script src="../../prettify.js"></script>
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
11
12
|
<style type='text/css'>
|
|
12
13
|
.coverage-summary .sorter {
|
|
13
14
|
background-image: url(../../sort-arrow-sprite.png);
|
|
@@ -22,30 +23,30 @@
|
|
|
22
23
|
<div class='clearfix'>
|
|
23
24
|
|
|
24
25
|
<div class='fl pad1y space-right2'>
|
|
25
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">0% </span>
|
|
26
27
|
<span class="quiet">Statements</span>
|
|
27
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>0/48</span>
|
|
28
29
|
</div>
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
<div class='fl pad1y space-right2'>
|
|
32
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
33
34
|
<span class="quiet">Branches</span>
|
|
34
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>0/16</span>
|
|
35
36
|
</div>
|
|
36
37
|
|
|
37
38
|
|
|
38
39
|
<div class='fl pad1y space-right2'>
|
|
39
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">0% </span>
|
|
40
41
|
<span class="quiet">Functions</span>
|
|
41
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>0/10</span>
|
|
42
43
|
</div>
|
|
43
44
|
|
|
44
45
|
|
|
45
46
|
<div class='fl pad1y space-right2'>
|
|
46
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">0% </span>
|
|
47
48
|
<span class="quiet">Lines</span>
|
|
48
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>0/48</span>
|
|
49
50
|
</div>
|
|
50
51
|
|
|
51
52
|
|
|
@@ -54,7 +55,7 @@
|
|
|
54
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
55
56
|
</p>
|
|
56
57
|
</div>
|
|
57
|
-
<div class='status-line
|
|
58
|
+
<div class='status-line low'></div>
|
|
58
59
|
<pre><table class="coverage">
|
|
59
60
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
60
61
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -140,168 +141,174 @@
|
|
|
140
141
|
<a name='L82'></a><a href='#L82'>82</a>
|
|
141
142
|
<a name='L83'></a><a href='#L83'>83</a>
|
|
142
143
|
<a name='L84'></a><a href='#L84'>84</a>
|
|
143
|
-
<a name='L85'></a><a href='#L85'>85</a
|
|
144
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
145
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
146
|
+
<a name='L87'></a><a href='#L87'>87</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
144
147
|
<span class="cline-any cline-neutral"> </span>
|
|
145
|
-
<span class="cline-any cline-
|
|
146
|
-
<span class="cline-any cline-
|
|
147
|
-
<span class="cline-any cline-
|
|
148
|
-
<span class="cline-any cline-
|
|
148
|
+
<span class="cline-any cline-no"> </span>
|
|
149
|
+
<span class="cline-any cline-no"> </span>
|
|
150
|
+
<span class="cline-any cline-no"> </span>
|
|
151
|
+
<span class="cline-any cline-no"> </span>
|
|
149
152
|
<span class="cline-any cline-neutral"> </span>
|
|
150
153
|
<span class="cline-any cline-neutral"> </span>
|
|
151
|
-
<span class="cline-any cline-
|
|
154
|
+
<span class="cline-any cline-no"> </span>
|
|
152
155
|
<span class="cline-any cline-neutral"> </span>
|
|
153
|
-
<span class="cline-any cline-
|
|
154
|
-
<span class="cline-any cline-yes">5x</span>
|
|
155
|
-
<span class="cline-any cline-yes">5x</span>
|
|
156
|
+
<span class="cline-any cline-no"> </span>
|
|
156
157
|
<span class="cline-any cline-neutral"> </span>
|
|
157
|
-
<span class="cline-any cline-
|
|
158
|
-
<span class="cline-any cline-
|
|
159
|
-
<span class="cline-any cline-yes">1x</span>
|
|
158
|
+
<span class="cline-any cline-no"> </span>
|
|
159
|
+
<span class="cline-any cline-no"> </span>
|
|
160
160
|
<span class="cline-any cline-neutral"> </span>
|
|
161
|
-
<span class="cline-any cline-
|
|
161
|
+
<span class="cline-any cline-no"> </span>
|
|
162
|
+
<span class="cline-any cline-no"> </span>
|
|
163
|
+
<span class="cline-any cline-no"> </span>
|
|
162
164
|
<span class="cline-any cline-neutral"> </span>
|
|
165
|
+
<span class="cline-any cline-no"> </span>
|
|
163
166
|
<span class="cline-any cline-neutral"> </span>
|
|
164
|
-
<span class="cline-any cline-yes">1x</span>
|
|
165
|
-
<span class="cline-any cline-yes">1x</span>
|
|
166
167
|
<span class="cline-any cline-neutral"> </span>
|
|
168
|
+
<span class="cline-any cline-no"> </span>
|
|
169
|
+
<span class="cline-any cline-no"> </span>
|
|
167
170
|
<span class="cline-any cline-neutral"> </span>
|
|
168
171
|
<span class="cline-any cline-neutral"> </span>
|
|
169
|
-
<span class="cline-any cline-yes">1x</span>
|
|
170
|
-
<span class="cline-any cline-yes">1x</span>
|
|
171
172
|
<span class="cline-any cline-neutral"> </span>
|
|
172
|
-
<span class="cline-any cline-
|
|
173
|
+
<span class="cline-any cline-no"> </span>
|
|
174
|
+
<span class="cline-any cline-no"> </span>
|
|
173
175
|
<span class="cline-any cline-neutral"> </span>
|
|
174
|
-
<span class="cline-any cline-yes">1x</span>
|
|
175
|
-
<span class="cline-any cline-yes">1x</span>
|
|
176
176
|
<span class="cline-any cline-neutral"> </span>
|
|
177
|
-
<span class="cline-any cline-
|
|
178
|
-
<span class="cline-any cline-yes">5x</span>
|
|
179
|
-
<span class="cline-any cline-yes">5x</span>
|
|
177
|
+
<span class="cline-any cline-no"> </span>
|
|
180
178
|
<span class="cline-any cline-neutral"> </span>
|
|
181
|
-
<span class="cline-any cline-
|
|
182
|
-
<span class="cline-any cline-
|
|
183
|
-
<span class="cline-any cline-yes">1x</span>
|
|
179
|
+
<span class="cline-any cline-no"> </span>
|
|
180
|
+
<span class="cline-any cline-no"> </span>
|
|
184
181
|
<span class="cline-any cline-neutral"> </span>
|
|
182
|
+
<span class="cline-any cline-no"> </span>
|
|
183
|
+
<span class="cline-any cline-no"> </span>
|
|
184
|
+
<span class="cline-any cline-no"> </span>
|
|
185
185
|
<span class="cline-any cline-neutral"> </span>
|
|
186
|
-
<span class="cline-any cline-
|
|
187
|
-
<span class="cline-any cline-
|
|
188
|
-
<span class="cline-any cline-
|
|
189
|
-
<span class="cline-any cline-yes">1x</span>
|
|
186
|
+
<span class="cline-any cline-no"> </span>
|
|
187
|
+
<span class="cline-any cline-no"> </span>
|
|
188
|
+
<span class="cline-any cline-no"> </span>
|
|
190
189
|
<span class="cline-any cline-neutral"> </span>
|
|
191
190
|
<span class="cline-any cline-neutral"> </span>
|
|
192
|
-
<span class="cline-any cline-
|
|
193
|
-
<span class="cline-any cline-
|
|
194
|
-
<span class="cline-any cline-
|
|
191
|
+
<span class="cline-any cline-no"> </span>
|
|
192
|
+
<span class="cline-any cline-no"> </span>
|
|
193
|
+
<span class="cline-any cline-no"> </span>
|
|
194
|
+
<span class="cline-any cline-no"> </span>
|
|
195
195
|
<span class="cline-any cline-neutral"> </span>
|
|
196
196
|
<span class="cline-any cline-neutral"> </span>
|
|
197
|
+
<span class="cline-any cline-no"> </span>
|
|
198
|
+
<span class="cline-any cline-no"> </span>
|
|
199
|
+
<span class="cline-any cline-no"> </span>
|
|
197
200
|
<span class="cline-any cline-neutral"> </span>
|
|
198
201
|
<span class="cline-any cline-neutral"> </span>
|
|
199
202
|
<span class="cline-any cline-neutral"> </span>
|
|
200
203
|
<span class="cline-any cline-neutral"> </span>
|
|
201
|
-
<span class="cline-any cline-yes">5x</span>
|
|
202
|
-
<span class="cline-any cline-yes">5x</span>
|
|
203
|
-
<span class="cline-any cline-yes">5x</span>
|
|
204
|
-
<span class="cline-any cline-yes">5x</span>
|
|
205
204
|
<span class="cline-any cline-neutral"> </span>
|
|
206
205
|
<span class="cline-any cline-neutral"> </span>
|
|
207
|
-
<span class="cline-any cline-
|
|
208
|
-
<span class="cline-any cline-
|
|
209
|
-
<span class="cline-any cline-
|
|
206
|
+
<span class="cline-any cline-no"> </span>
|
|
207
|
+
<span class="cline-any cline-no"> </span>
|
|
208
|
+
<span class="cline-any cline-no"> </span>
|
|
209
|
+
<span class="cline-any cline-no"> </span>
|
|
210
210
|
<span class="cline-any cline-neutral"> </span>
|
|
211
211
|
<span class="cline-any cline-neutral"> </span>
|
|
212
|
-
<span class="cline-any cline-
|
|
213
|
-
<span class="cline-any cline-
|
|
214
|
-
<span class="cline-any cline-
|
|
215
|
-
<span class="cline-any cline-yes">1x</span>
|
|
216
|
-
<span class="cline-any cline-yes">1x</span>
|
|
212
|
+
<span class="cline-any cline-no"> </span>
|
|
213
|
+
<span class="cline-any cline-no"> </span>
|
|
214
|
+
<span class="cline-any cline-no"> </span>
|
|
217
215
|
<span class="cline-any cline-neutral"> </span>
|
|
218
|
-
<span class="cline-any cline-yes">1x</span>
|
|
219
|
-
<span class="cline-any cline-yes">1x</span>
|
|
220
|
-
<span class="cline-any cline-yes">1x</span>
|
|
221
216
|
<span class="cline-any cline-neutral"> </span>
|
|
217
|
+
<span class="cline-any cline-no"> </span>
|
|
218
|
+
<span class="cline-any cline-no"> </span>
|
|
219
|
+
<span class="cline-any cline-no"> </span>
|
|
220
|
+
<span class="cline-any cline-no"> </span>
|
|
221
|
+
<span class="cline-any cline-no"> </span>
|
|
222
222
|
<span class="cline-any cline-neutral"> </span>
|
|
223
|
+
<span class="cline-any cline-no"> </span>
|
|
224
|
+
<span class="cline-any cline-no"> </span>
|
|
225
|
+
<span class="cline-any cline-no"> </span>
|
|
223
226
|
<span class="cline-any cline-neutral"> </span>
|
|
224
227
|
<span class="cline-any cline-neutral"> </span>
|
|
225
228
|
<span class="cline-any cline-neutral"> </span>
|
|
226
229
|
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-neutral"> </span
|
|
230
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
|
+
<span class="cline-any cline-neutral"> </span>
|
|
232
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const tokens = <span class="cstat-no" title="statement not covered" >require('../../tokens/size.json');</span>
|
|
228
233
|
|
|
229
|
-
const breakpoint = parseInt(tokens.size.breakpoint.md.value, 10)
|
|
230
|
-
const modalTrigger = 'data-modal-id'
|
|
231
|
-
const modalActiveClass = 'mds-modal--active'
|
|
232
|
-
const modalCloseButtonClassName = 'js-mds-modal-close'
|
|
234
|
+
const breakpoint = <span class="cstat-no" title="statement not covered" >parseInt(tokens.size.breakpoint.md.value, 10);</span>
|
|
235
|
+
const modalTrigger = <span class="cstat-no" title="statement not covered" >'data-modal-id';</span>
|
|
236
|
+
const modalActiveClass = <span class="cstat-no" title="statement not covered" >'mds-modal--active';</span>
|
|
237
|
+
const modalCloseButtonClassName = <span class="cstat-no" title="statement not covered" >'js-mds-modal-close';</span>
|
|
233
238
|
let focusedElementBeforeModal;
|
|
234
239
|
|
|
235
|
-
const modals = {
|
|
236
|
-
init: () => {
|
|
237
|
-
const screenWidth = window.innerWidth
|
|
238
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (screenWidth > breakpoint) {
|
|
239
|
-
const triggersList = Array.from(document.querySelectorAll(`[${modalTrigger}]`));
|
|
240
|
+
const modals = <span class="cstat-no" title="statement not covered" >{</span>
|
|
241
|
+
init: <span class="fstat-no" title="function not covered" >()</span> => {
|
|
242
|
+
const screenWidth = <span class="cstat-no" title="statement not covered" >window.innerWidth;</span>
|
|
240
243
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
const modal = document.getElementById(modalId);
|
|
244
|
+
<span class="cstat-no" title="statement not covered" > if (screenWidth > breakpoint) {</span>
|
|
245
|
+
const triggersList = <span class="cstat-no" title="statement not covered" >Array.from(document.querySelectorAll(`[${modalTrigger}]`));</span>
|
|
244
246
|
|
|
245
|
-
|
|
247
|
+
<span class="cstat-no" title="statement not covered" > triggersList.forEach(<span class="fstat-no" title="function not covered" >(t</span>rigger) => {</span>
|
|
248
|
+
const modalId = <span class="cstat-no" title="statement not covered" >trigger.getAttribute(modalTrigger);</span>
|
|
249
|
+
const modal = <span class="cstat-no" title="statement not covered" >document.getElementById(modalId);</span>
|
|
250
|
+
|
|
251
|
+
const closeButtons = <span class="cstat-no" title="statement not covered" >Array.from(modal.querySelectorAll(`.${modalCloseButtonClassName}`));</span>
|
|
246
252
|
// Ensure content outside of the modal dialog is inaccessible to all users while the modal dialog is active
|
|
247
253
|
// We target the site container (modal should be outside) and add aria-hidden="true" to it
|
|
248
|
-
const siteContainerId = modal.getAttribute('data-site-container')
|
|
249
|
-
const siteContainer = document.getElementById(siteContainerId)
|
|
254
|
+
const siteContainerId = <span class="cstat-no" title="statement not covered" >modal.getAttribute('data-site-container');</span>
|
|
255
|
+
const siteContainer = <span class="cstat-no" title="statement not covered" >document.getElementById(siteContainerId);</span>
|
|
250
256
|
|
|
251
257
|
// Find all focusable children
|
|
252
258
|
const focusableElementsString =
|
|
253
|
-
'a[href], area[href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]'
|
|
254
|
-
let focusableElements = modal.querySelectorAll(focusableElementsString)
|
|
259
|
+
<span class="cstat-no" title="statement not covered" > 'a[href], area[href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]';</span>
|
|
260
|
+
let focusableElements = <span class="cstat-no" title="statement not covered" >modal.querySelectorAll(focusableElementsString);</span>
|
|
261
|
+
|
|
255
262
|
// Convert NodeList to Array
|
|
256
|
-
focusableElements = Array.prototype.slice.call(focusableElements)
|
|
263
|
+
<span class="cstat-no" title="statement not covered" > focusableElements = Array.prototype.slice.call(focusableElements);</span>
|
|
257
264
|
|
|
258
|
-
const firstTabStop = focusableElements[0]
|
|
259
|
-
const lastTabStop = focusableElements[focusableElements.length - 1]
|
|
265
|
+
const firstTabStop = <span class="cstat-no" title="statement not covered" >focusableElements[0];</span>
|
|
266
|
+
const lastTabStop = <span class="cstat-no" title="statement not covered" >focusableElements[focusableElements.length - 1];</span>
|
|
260
267
|
|
|
261
|
-
trigger.addEventListener('click', (
|
|
262
|
-
elem.preventDefault()
|
|
263
|
-
modals.open(modal, firstTabStop, siteContainer)
|
|
268
|
+
<span class="cstat-no" title="statement not covered" > trigger.addEventListener('click', <span class="fstat-no" title="function not covered" >(e</span>lem) => {</span>
|
|
269
|
+
<span class="cstat-no" title="statement not covered" > elem.preventDefault();</span>
|
|
270
|
+
<span class="cstat-no" title="statement not covered" > modals.open(modal, firstTabStop, siteContainer);</span>
|
|
264
271
|
});
|
|
265
|
-
modal.addEventListener('click', (
|
|
266
|
-
if (event.target === modal) {
|
|
267
|
-
modals.close(modal, focusedElementBeforeModal, siteContainer)
|
|
272
|
+
<span class="cstat-no" title="statement not covered" > modal.addEventListener('click', <span class="fstat-no" title="function not covered" >(e</span>vent) => {</span>
|
|
273
|
+
<span class="cstat-no" title="statement not covered" > if (event.target === modal) {</span>
|
|
274
|
+
<span class="cstat-no" title="statement not covered" > modals.close(modal, focusedElementBeforeModal, siteContainer);</span>
|
|
268
275
|
}
|
|
269
276
|
});
|
|
270
|
-
modal.addEventListener('keydown', (
|
|
271
|
-
modals.trapFocus(event, firstTabStop, lastTabStop)
|
|
272
|
-
if (event.key === 'Escape' || event.key === 'Esc') {
|
|
273
|
-
modals.close(modal, focusedElementBeforeModal, siteContainer)
|
|
277
|
+
<span class="cstat-no" title="statement not covered" > modal.addEventListener('keydown', <span class="fstat-no" title="function not covered" >(e</span>vent) => {</span>
|
|
278
|
+
<span class="cstat-no" title="statement not covered" > modals.trapFocus(event, firstTabStop, lastTabStop);</span>
|
|
279
|
+
<span class="cstat-no" title="statement not covered" > if (event.key === 'Escape' || event.key === 'Esc') {</span>
|
|
280
|
+
<span class="cstat-no" title="statement not covered" > modals.close(modal, focusedElementBeforeModal, siteContainer);</span>
|
|
274
281
|
}
|
|
275
282
|
});
|
|
276
|
-
closeButtons.forEach((
|
|
277
|
-
closeButton.addEventListener('click', (elem) => {
|
|
278
|
-
modals.close(modal, focusedElementBeforeModal, siteContainer)
|
|
283
|
+
<span class="cstat-no" title="statement not covered" > closeButtons.forEach(<span class="fstat-no" title="function not covered" >(c</span>loseButton) => {</span>
|
|
284
|
+
<span class="cstat-no" title="statement not covered" > closeButton.addEventListener('click', <span class="fstat-no" title="function not covered" >(/</span>* elem */) => {</span>
|
|
285
|
+
<span class="cstat-no" title="statement not covered" > modals.close(modal, focusedElementBeforeModal, siteContainer);</span>
|
|
279
286
|
});
|
|
280
287
|
});
|
|
281
288
|
});
|
|
282
289
|
}
|
|
283
290
|
},
|
|
284
|
-
open: (
|
|
285
|
-
focusedElementBeforeModal = document.activeElement
|
|
286
|
-
modal.classList.add(modalActiveClass)
|
|
287
|
-
firstTabStop.focus()
|
|
288
|
-
siteContainer.setAttribute('aria-hidden', 'true')
|
|
291
|
+
open: <span class="fstat-no" title="function not covered" >(m</span>odal, firstTabStop, siteContainer) => {
|
|
292
|
+
<span class="cstat-no" title="statement not covered" > focusedElementBeforeModal = document.activeElement;</span>
|
|
293
|
+
<span class="cstat-no" title="statement not covered" > modal.classList.add(modalActiveClass);</span>
|
|
294
|
+
<span class="cstat-no" title="statement not covered" > firstTabStop.focus();</span>
|
|
295
|
+
<span class="cstat-no" title="statement not covered" > siteContainer.setAttribute('aria-hidden', 'true');</span>
|
|
289
296
|
},
|
|
290
|
-
close: (
|
|
291
|
-
siteContainer.removeAttribute('aria-hidden')
|
|
292
|
-
modal.classList.remove(modalActiveClass)
|
|
293
|
-
previousActiveElement.focus()
|
|
297
|
+
close: <span class="fstat-no" title="function not covered" >(m</span>odal, previousActiveElement, siteContainer) => {
|
|
298
|
+
<span class="cstat-no" title="statement not covered" > siteContainer.removeAttribute('aria-hidden');</span>
|
|
299
|
+
<span class="cstat-no" title="statement not covered" > modal.classList.remove(modalActiveClass);</span>
|
|
300
|
+
<span class="cstat-no" title="statement not covered" > previousActiveElement.focus();</span>
|
|
294
301
|
},
|
|
295
|
-
trapFocus: (
|
|
296
|
-
if (event.key === 'Tab') {
|
|
297
|
-
if (event.shiftKey) {
|
|
298
|
-
|
|
299
|
-
event.preventDefault()
|
|
300
|
-
lastTabStop.focus()
|
|
302
|
+
trapFocus: <span class="fstat-no" title="function not covered" >(e</span>vent, firstTabStop, lastTabStop) => {
|
|
303
|
+
<span class="cstat-no" title="statement not covered" > if (event.key === 'Tab') {</span>
|
|
304
|
+
<span class="cstat-no" title="statement not covered" > if (event.shiftKey) {</span>
|
|
305
|
+
<span class="cstat-no" title="statement not covered" > if (document.activeElement === firstTabStop) {</span>
|
|
306
|
+
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
307
|
+
<span class="cstat-no" title="statement not covered" > lastTabStop.focus();</span>
|
|
301
308
|
}
|
|
302
|
-
} else <span class="
|
|
303
|
-
event.preventDefault()
|
|
304
|
-
firstTabStop.focus()
|
|
309
|
+
} else <span class="cstat-no" title="statement not covered" >if (document.activeElement === lastTabStop) {</span>
|
|
310
|
+
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
311
|
+
<span class="cstat-no" title="statement not covered" > firstTabStop.focus();</span>
|
|
305
312
|
}
|
|
306
313
|
}
|
|
307
314
|
},
|
|
@@ -315,7 +322,7 @@ export default modals;
|
|
|
315
322
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
316
323
|
Code coverage generated by
|
|
317
324
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
318
|
-
at
|
|
325
|
+
at Thu Jul 08 2021 15:47:09 GMT+0100 (British Summer Time)
|
|
319
326
|
</div>
|
|
320
327
|
</div>
|
|
321
328
|
<script src="../../prettify.js"></script>
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
11
12
|
<style type='text/css'>
|
|
12
13
|
.coverage-summary .sorter {
|
|
13
14
|
background-image: url(../../sort-arrow-sprite.png);
|
|
@@ -94,7 +95,7 @@
|
|
|
94
95
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
95
96
|
Code coverage generated by
|
|
96
97
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
97
|
-
at
|
|
98
|
+
at Thu Jul 08 2021 15:47:09 GMT+0100 (British Summer Time)
|
|
98
99
|
</div>
|
|
99
100
|
</div>
|
|
100
101
|
<script src="../../prettify.js"></script>
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
11
12
|
<style type='text/css'>
|
|
12
13
|
.coverage-summary .sorter {
|
|
13
14
|
background-image: url(../../sort-arrow-sprite.png);
|
|
@@ -83,14 +84,19 @@
|
|
|
83
84
|
<a name='L25'></a><a href='#L25'>25</a>
|
|
84
85
|
<a name='L26'></a><a href='#L26'>26</a>
|
|
85
86
|
<a name='L27'></a><a href='#L27'>27</a>
|
|
86
|
-
<a name='L28'></a><a href='#L28'>28</a
|
|
87
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
88
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
89
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
90
|
+
<a name='L31'></a><a href='#L31'>31</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
87
91
|
<span class="cline-any cline-neutral"> </span>
|
|
88
92
|
<span class="cline-any cline-yes">1x</span>
|
|
89
93
|
<span class="cline-any cline-neutral"> </span>
|
|
90
94
|
<span class="cline-any cline-yes">1x</span>
|
|
95
|
+
<span class="cline-any cline-neutral"> </span>
|
|
91
96
|
<span class="cline-any cline-yes">1x</span>
|
|
92
97
|
<span class="cline-any cline-neutral"> </span>
|
|
93
98
|
<span class="cline-any cline-yes">1x</span>
|
|
99
|
+
<span class="cline-any cline-neutral"> </span>
|
|
94
100
|
<span class="cline-any cline-yes">1x</span>
|
|
95
101
|
<span class="cline-any cline-yes">1x</span>
|
|
96
102
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -103,6 +109,7 @@
|
|
|
103
109
|
<span class="cline-any cline-neutral"> </span>
|
|
104
110
|
<span class="cline-any cline-neutral"> </span>
|
|
105
111
|
<span class="cline-any cline-yes">1x</span>
|
|
112
|
+
<span class="cline-any cline-neutral"> </span>
|
|
106
113
|
<span class="cline-any cline-yes">1x</span>
|
|
107
114
|
<span class="cline-any cline-no"> </span>
|
|
108
115
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -115,9 +122,11 @@
|
|
|
115
122
|
const notification = {
|
|
116
123
|
init: (text, type, duration = 3000) => {
|
|
117
124
|
const { body } = document;
|
|
125
|
+
|
|
118
126
|
notification.hide(body);
|
|
119
127
|
|
|
120
128
|
const message = document.createElement('div');
|
|
129
|
+
|
|
121
130
|
message.setAttribute('role', 'alert');
|
|
122
131
|
message.classList.add(componentClass, 'mds-message', `mds-message--${type}`);
|
|
123
132
|
message.innerText = text;
|
|
@@ -130,6 +139,7 @@ const notification = {
|
|
|
130
139
|
},
|
|
131
140
|
hide: (container) => {
|
|
132
141
|
const elementArray = Array.from(container.querySelectorAll(`.${componentClass}`));
|
|
142
|
+
|
|
133
143
|
elementArray.forEach(<span class="fstat-no" title="function not covered" >(e</span>lem) => {
|
|
134
144
|
<span class="cstat-no" title="statement not covered" > elem.parentNode.removeChild(elem);</span>
|
|
135
145
|
});
|
|
@@ -144,7 +154,7 @@ export default notification;
|
|
|
144
154
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
145
155
|
Code coverage generated by
|
|
146
156
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
147
|
-
at
|
|
157
|
+
at Thu Jul 08 2021 15:47:09 GMT+0100 (British Summer Time)
|
|
148
158
|
</div>
|
|
149
159
|
</div>
|
|
150
160
|
<script src="../../prettify.js"></script>
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
11
12
|
<style type='text/css'>
|
|
12
13
|
.coverage-summary .sorter {
|
|
13
14
|
background-image: url(../../sort-arrow-sprite.png);
|
|
@@ -94,7 +95,7 @@
|
|
|
94
95
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
95
96
|
Code coverage generated by
|
|
96
97
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
97
|
-
at
|
|
98
|
+
at Thu Jul 08 2021 15:47:09 GMT+0100 (British Summer Time)
|
|
98
99
|
</div>
|
|
99
100
|
</div>
|
|
100
101
|
<script src="../../prettify.js"></script>
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
11
12
|
<style type='text/css'>
|
|
12
13
|
.coverage-summary .sorter {
|
|
13
14
|
background-image: url(../../sort-arrow-sprite.png);
|
|
@@ -294,7 +295,7 @@ export default popovers;
|
|
|
294
295
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
295
296
|
Code coverage generated by
|
|
296
297
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
297
|
-
at
|
|
298
|
+
at Thu Jul 08 2021 15:47:09 GMT+0100 (British Summer Time)
|
|
298
299
|
</div>
|
|
299
300
|
</div>
|
|
300
301
|
<script src="../../prettify.js"></script>
|