@ons/design-system 70.0.7 → 70.0.8

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 (270) hide show
  1. package/README.md +11 -17
  2. package/components/access-code/_macro.spec.js +145 -145
  3. package/components/access-code/access-code.dom.js +5 -5
  4. package/components/access-code/access-code.js +16 -16
  5. package/components/access-code/access-code.scss +22 -22
  6. package/components/access-code/access-code.spec.js +17 -17
  7. package/components/accordion/_macro.spec.js +154 -154
  8. package/components/accordion/accordion.dom.js +10 -10
  9. package/components/accordion/accordion.js +50 -50
  10. package/components/accordion/accordion.spec.js +104 -104
  11. package/components/address-input/_macro.spec.js +420 -420
  12. package/components/address-input/autosuggest.address.dom.js +5 -5
  13. package/components/address-input/autosuggest.address.error.js +77 -77
  14. package/components/address-input/autosuggest.address.js +357 -357
  15. package/components/address-input/autosuggest.address.setter.js +95 -95
  16. package/components/address-input/autosuggest.address.spec.js +668 -651
  17. package/components/address-input/example-address-input-editable.njk +1 -1
  18. package/components/address-input/example-address-input.njk +1 -1
  19. package/components/address-output/_address-output.scss +3 -3
  20. package/components/address-output/_macro.spec.js +84 -84
  21. package/components/autosuggest/_autosuggest.scss +114 -114
  22. package/components/autosuggest/_macro.spec.js +255 -255
  23. package/components/autosuggest/autosuggest.dom.js +5 -5
  24. package/components/autosuggest/autosuggest.helpers.js +11 -11
  25. package/components/autosuggest/autosuggest.helpers.spec.js +73 -73
  26. package/components/autosuggest/autosuggest.js +20 -20
  27. package/components/autosuggest/autosuggest.spec.js +542 -536
  28. package/components/autosuggest/autosuggest.ui.js +478 -475
  29. package/components/autosuggest/fuse-config.js +17 -17
  30. package/components/back-to-top/_back-to-top.scss +27 -27
  31. package/components/back-to-top/_macro.spec.js +49 -49
  32. package/components/back-to-top/back-to-top.dom.js +5 -5
  33. package/components/back-to-top/back-to-top.js +52 -52
  34. package/components/back-to-top/back-to-top.spec.js +106 -106
  35. package/components/back-to-top/example-back-to-top.njk +6 -6
  36. package/components/breadcrumbs/_breadcrumbs.scss +63 -65
  37. package/components/breadcrumbs/_macro.spec.js +91 -91
  38. package/components/browser-banner/_browser-banner.scss +23 -23
  39. package/components/browser-banner/_macro.spec.js +92 -92
  40. package/components/button/_button.scss +482 -483
  41. package/components/button/_macro.spec.js +363 -363
  42. package/components/button/button.dom.js +15 -15
  43. package/components/button/button.js +53 -53
  44. package/components/button/button.spec.js +248 -240
  45. package/components/call-to-action/_call-to-action.scss +5 -5
  46. package/components/call-to-action/_macro.spec.js +28 -28
  47. package/components/card/_card.scss +23 -23
  48. package/components/card/_macro.spec.js +180 -180
  49. package/components/char-check-limit/_macro.spec.js +48 -48
  50. package/components/char-check-limit/character-check.js +58 -58
  51. package/components/char-check-limit/character-check.spec.js +173 -173
  52. package/components/char-check-limit/character-limit.js +40 -40
  53. package/components/checkboxes/_checkbox-macro.spec.js +355 -355
  54. package/components/checkboxes/_checkbox.scss +180 -180
  55. package/components/checkboxes/_checkboxes.scss +37 -27
  56. package/components/checkboxes/_macro.spec.js +261 -261
  57. package/components/checkboxes/checkbox-with-autoselect.js +32 -32
  58. package/components/checkboxes/checkbox-with-fieldset.js +21 -21
  59. package/components/checkboxes/checkboxes-with-reveal.js +10 -10
  60. package/components/checkboxes/checkboxes.dom.js +27 -27
  61. package/components/checkboxes/checkboxes.spec.js +183 -183
  62. package/components/content-pagination/_content-pagination.scss +41 -41
  63. package/components/content-pagination/_macro.spec.js +159 -159
  64. package/components/cookies-banner/_cookies-banner.scss +22 -22
  65. package/components/cookies-banner/_macro.spec.js +177 -177
  66. package/components/cookies-banner/cookies-banner.dom.js +7 -7
  67. package/components/cookies-banner/cookies-banner.js +76 -76
  68. package/components/cookies-banner/cookies-banner.spec.js +72 -68
  69. package/components/date-input/_macro.spec.js +338 -338
  70. package/components/description-list/_description-list.scss +23 -23
  71. package/components/description-list/_macro.spec.js +144 -144
  72. package/components/details/_details.scss +109 -109
  73. package/components/details/_macro.spec.js +132 -132
  74. package/components/details/details.dom.js +6 -6
  75. package/components/details/details.js +60 -60
  76. package/components/details/details.spec.js +106 -106
  77. package/components/document-list/_macro.spec.js +444 -444
  78. package/components/document-list/document-list.scss +145 -149
  79. package/components/download-resources/_download-resources.scss +109 -108
  80. package/components/download-resources/download-resources.js +907 -900
  81. package/components/download-resources/download-resources.spec.js +461 -461
  82. package/components/duration/_macro.spec.js +291 -291
  83. package/components/error/_macro.spec.js +72 -72
  84. package/components/external-link/_external-link.scss +19 -19
  85. package/components/external-link/_macro.spec.js +68 -68
  86. package/components/feedback/_feedback.scss +31 -31
  87. package/components/feedback/_macro.spec.js +72 -72
  88. package/components/field/_field-group.scss +10 -10
  89. package/components/field/_field.scss +16 -16
  90. package/components/field/_macro.spec.js +80 -80
  91. package/components/fieldset/_fieldset.scss +27 -27
  92. package/components/fieldset/_macro.spec.js +161 -161
  93. package/components/footer/_footer.scss +45 -45
  94. package/components/footer/_macro.spec.js +452 -452
  95. package/components/header/_header.scss +202 -202
  96. package/components/header/_macro.spec.js +833 -829
  97. package/components/helpers/_grid.scss +4 -4
  98. package/components/hero/_hero.scss +48 -48
  99. package/components/hero/_macro.spec.js +59 -59
  100. package/components/icon/_icon.scss +44 -44
  101. package/components/icon/_macro.spec.js +110 -110
  102. package/components/image/_image.scss +11 -11
  103. package/components/image/_macro.spec.js +81 -81
  104. package/components/input/_input-type.scss +86 -89
  105. package/components/input/_input.scss +123 -124
  106. package/components/input/_macro.spec.js +604 -604
  107. package/components/input/character-check.dom.js +5 -5
  108. package/components/input/input.dom.js +5 -5
  109. package/components/input/input.js +10 -10
  110. package/components/input/input.spec.js +18 -18
  111. package/components/label/_label.scss +24 -24
  112. package/components/label/_macro.spec.js +173 -170
  113. package/components/language-selector/_macro.spec.js +97 -97
  114. package/components/language-selector/language.scss +7 -7
  115. package/components/list/_list.scss +84 -84
  116. package/components/list/_macro.spec.js +583 -583
  117. package/components/message/_macro.njk +5 -5
  118. package/components/message/_macro.spec.js +74 -74
  119. package/components/message/_message.scss +39 -39
  120. package/components/message-list/_macro.spec.js +86 -86
  121. package/components/message-list/_message-list.scss +16 -16
  122. package/components/modal/_macro.spec.js +69 -69
  123. package/components/modal/_modal.scss +36 -36
  124. package/components/modal/modal.dom.js +6 -6
  125. package/components/modal/modal.js +89 -89
  126. package/components/modal/modal.spec.js +50 -50
  127. package/components/mutually-exclusive/_macro.spec.js +140 -140
  128. package/components/mutually-exclusive/mutually-exclusive.checkboxes.spec.js +188 -188
  129. package/components/mutually-exclusive/mutually-exclusive.date.spec.js +211 -211
  130. package/components/mutually-exclusive/mutually-exclusive.dom.js +5 -5
  131. package/components/mutually-exclusive/mutually-exclusive.duration.spec.js +210 -210
  132. package/components/mutually-exclusive/mutually-exclusive.email.spec.js +90 -90
  133. package/components/mutually-exclusive/mutually-exclusive.js +137 -137
  134. package/components/mutually-exclusive/mutually-exclusive.multiple-options.checkboxes.spec.js +197 -197
  135. package/components/mutually-exclusive/mutually-exclusive.number.spec.js +96 -96
  136. package/components/mutually-exclusive/mutually-exclusive.textarea.spec.js +102 -102
  137. package/components/navigation/_macro.spec.js +360 -354
  138. package/components/navigation/_navigation.scss +122 -123
  139. package/components/navigation/navigation.dom.js +35 -35
  140. package/components/navigation/navigation.js +49 -49
  141. package/components/navigation/navigation.spec.js +249 -249
  142. package/components/pagination/_macro.spec.js +342 -335
  143. package/components/pagination/_pagination.scss +58 -58
  144. package/components/panel/_macro.spec.js +372 -372
  145. package/components/panel/_panel.scss +200 -199
  146. package/components/password/_macro.spec.js +95 -95
  147. package/components/password/password.dom.js +5 -5
  148. package/components/password/password.js +10 -10
  149. package/components/password/password.spec.js +26 -26
  150. package/components/phase-banner/_macro.spec.js +86 -86
  151. package/components/phase-banner/_phase-banner.scss +16 -16
  152. package/components/question/_macro.spec.js +235 -235
  153. package/components/question/_question.scss +24 -24
  154. package/components/quote/_macro.spec.js +52 -52
  155. package/components/quote/_quote.scss +24 -24
  156. package/components/radios/_macro.spec.js +524 -524
  157. package/components/radios/_radio.scss +49 -48
  158. package/components/radios/_radios.scss +14 -20
  159. package/components/radios/check-radios.js +21 -21
  160. package/components/radios/clear-radios.js +45 -45
  161. package/components/radios/radio-with-fieldset.js +22 -22
  162. package/components/radios/radios.dom.js +32 -32
  163. package/components/radios/radios.spec.js +251 -251
  164. package/components/related-content/_macro.spec.js +109 -109
  165. package/components/related-content/_related-content.scss +12 -12
  166. package/components/related-content/_section-macro.spec.js +20 -20
  167. package/components/relationships/_macro.spec.js +94 -94
  168. package/components/relationships/_relationships.scss +9 -9
  169. package/components/relationships/relationships.dom.js +5 -5
  170. package/components/relationships/relationships.js +18 -18
  171. package/components/relationships/relationships.spec.js +71 -71
  172. package/components/reply/_macro.spec.js +47 -47
  173. package/components/reply/reply-input.js +15 -15
  174. package/components/reply/reply.dom.js +5 -5
  175. package/components/reply/reply.spec.js +57 -57
  176. package/components/section-navigation/_macro.spec.js +210 -210
  177. package/components/section-navigation/_section-navigation.scss +76 -76
  178. package/components/select/_macro.spec.js +166 -166
  179. package/components/share-page/_macro.spec.js +68 -68
  180. package/components/skip-to-content/_macro.spec.js +54 -54
  181. package/components/skip-to-content/_skip.scss +30 -30
  182. package/components/skip-to-content/skip-to-content.dom.js +6 -6
  183. package/components/skip-to-content/skip-to-content.js +7 -7
  184. package/components/skip-to-content/skip-to-content.spec.js +21 -21
  185. package/components/status/_macro.spec.js +53 -53
  186. package/components/status/_status.scss +32 -32
  187. package/components/summary/_macro.spec.js +551 -535
  188. package/components/summary/_summary.scss +191 -195
  189. package/components/table/_macro.spec.js +499 -499
  190. package/components/table/_table.scss +204 -201
  191. package/components/table/scrollable-table.dom.js +5 -5
  192. package/components/table/scrollable-table.js +60 -60
  193. package/components/table/sortable-table.dom.js +5 -5
  194. package/components/table/sortable-table.js +135 -135
  195. package/components/table/table.spec.js +144 -140
  196. package/components/table-of-contents/_macro.spec.js +125 -125
  197. package/components/table-of-contents/_toc.scss +9 -9
  198. package/components/table-of-contents/toc.dom.js +5 -5
  199. package/components/table-of-contents/toc.js +30 -30
  200. package/components/table-of-contents/toc.spec.js +88 -88
  201. package/components/tabs/_macro.spec.js +92 -92
  202. package/components/tabs/_tabs.scss +120 -115
  203. package/components/tabs/tabs.dom.js +5 -5
  204. package/components/tabs/tabs.js +266 -266
  205. package/components/tabs/tabs.spec.js +268 -268
  206. package/components/text-indent/_macro.spec.js +33 -33
  207. package/components/text-indent/_text-indent.scss +3 -3
  208. package/components/textarea/_macro.spec.js +238 -238
  209. package/components/textarea/textarea.dom.js +5 -5
  210. package/components/textarea/textarea.spec.js +78 -74
  211. package/components/timeline/_macro.spec.js +83 -83
  212. package/components/timeline/_timeline.scss +26 -26
  213. package/components/timeout-modal/_macro.spec.js +47 -47
  214. package/components/timeout-modal/timeout-modal.dom.js +9 -9
  215. package/components/timeout-modal/timeout-modal.js +66 -66
  216. package/components/timeout-modal/timeout-modal.spec.js +157 -157
  217. package/components/timeout-panel/_macro.spec.js +41 -41
  218. package/components/timeout-panel/timeout-panel.dom.js +8 -8
  219. package/components/timeout-panel/timeout-panel.spec.js +118 -118
  220. package/components/upload/_macro.spec.js +52 -52
  221. package/components/upload/_upload.scss +28 -28
  222. package/components/video/_macro.spec.js +42 -42
  223. package/components/video/_video.scss +16 -16
  224. package/components/video/video.dom.js +5 -5
  225. package/components/video/video.js +32 -32
  226. package/components/video/video.spec.js +103 -97
  227. package/css/main.css +1 -1
  228. package/favicons/manifest.json +25 -25
  229. package/js/abortable-fetch.js +23 -23
  230. package/js/analytics.js +53 -53
  231. package/js/cookies-functions.js +135 -135
  232. package/js/cookies-settings.dom.js +7 -7
  233. package/js/cookies-settings.js +77 -77
  234. package/js/cookies-settings.spec.js +106 -106
  235. package/js/domready.js +8 -8
  236. package/js/fetch.js +14 -14
  237. package/js/inpagelink.dom.js +5 -5
  238. package/js/inpagelink.js +19 -19
  239. package/js/polyfills.js +0 -1
  240. package/js/print-button.js +6 -6
  241. package/js/timeout.js +211 -211
  242. package/layout/_template.njk +5 -7
  243. package/package.json +131 -128
  244. package/scss/base/_forms.scss +10 -10
  245. package/scss/base/_global.scss +45 -44
  246. package/scss/base/_typography.scss +20 -20
  247. package/scss/helpers/_functions.scss +18 -15
  248. package/scss/helpers/_mixins.scss +59 -53
  249. package/scss/helpers/_mq.scss +62 -65
  250. package/scss/objects/_container.scss +20 -20
  251. package/scss/objects/_page.scss +33 -33
  252. package/scss/objects/_spacing.scss +10 -10
  253. package/scss/overrides/hcm.scss +237 -237
  254. package/scss/overrides/rtl.scss +95 -95
  255. package/scss/print.scss +47 -47
  256. package/scss/utilities/_border.scss +7 -7
  257. package/scss/utilities/_colors.scss +6 -6
  258. package/scss/utilities/_display.scss +8 -8
  259. package/scss/utilities/_float.scss +7 -7
  260. package/scss/utilities/_grid.scss +144 -144
  261. package/scss/utilities/_highlight.scss +4 -4
  262. package/scss/utilities/_margin.scss +17 -17
  263. package/scss/utilities/_pad.scss +15 -15
  264. package/scss/utilities/_typography.scss +35 -33
  265. package/scss/utilities/_utilities.scss +8 -8
  266. package/scss/utilities/_visibility.scss +25 -25
  267. package/scss/vars/_colors.scss +116 -116
  268. package/scss/vars/_forms.scss +22 -22
  269. package/scss/vars/_grid.scss +11 -9
  270. package/scss/vars/_typography.scss +54 -54
@@ -2,304 +2,304 @@ import { setViewport } from '../../tests/helpers/puppeteer';
2
2
  import { renderComponent, setTestPage } from '../../tests/helpers/rendering';
3
3
 
4
4
  const EXAMPLE_NAVIGATION = {
5
- navigation: {
6
- id: 'main-nav',
7
- ariaLabel: 'Main menu',
8
- currentPath: '#0',
9
- itemsList: [
10
- {
11
- title: 'Main nav item 1',
12
- url: '#0',
13
- classes: 'custom-class-main-item-1',
14
- id: 'main-item-1',
15
- },
16
- {
17
- title: 'Main nav item 2',
18
- url: '#1',
19
- classes: 'custom-class-main-item-2',
20
- id: 'main-item-2',
21
- },
22
- ],
23
- toggleNavigationButton: {
24
- text: 'Menu',
25
- ariaLabel: 'Toggle main navigation',
5
+ navigation: {
6
+ id: 'main-nav',
7
+ ariaLabel: 'Main menu',
8
+ currentPath: '#0',
9
+ itemsList: [
10
+ {
11
+ title: 'Main nav item 1',
12
+ url: '#0',
13
+ classes: 'custom-class-main-item-1',
14
+ id: 'main-item-1',
15
+ },
16
+ {
17
+ title: 'Main nav item 2',
18
+ url: '#1',
19
+ classes: 'custom-class-main-item-2',
20
+ id: 'main-item-2',
21
+ },
22
+ ],
23
+ toggleNavigationButton: {
24
+ text: 'Menu',
25
+ ariaLabel: 'Toggle main navigation',
26
+ },
26
27
  },
27
- },
28
28
  };
29
29
 
30
30
  const EXAMPLE_NAVIGATION_WITH_SUBNAVIGATION = {
31
- navigation: {
32
- id: 'main-nav',
33
- ariaLabel: 'Main menu',
34
- currentPath: '#1',
35
- currentPageTitle: 'Main nav item 2',
36
- itemsList: [
37
- {
38
- title: 'Main nav item 1',
39
- url: '#0',
40
- classes: 'custom-class-main-item-1',
41
- id: 'main-item-1',
42
- },
43
- {
44
- title: 'Main nav item 2',
45
- url: '#1',
46
- classes: 'custom-class-main-item-2',
47
- id: 'main-item-2',
48
- },
49
- ],
50
- subNavigation: {
51
- id: 'sub-nav',
52
- overviewURL: '#overview',
53
- overviewText: 'Overview',
54
- ariaLabel: 'Section menu',
55
- currentPath: '#1',
56
- itemsList: [
57
- {
58
- title: 'Sub nav item 1',
59
- url: '#0',
60
- classes: 'custom-class-sub-item-1',
61
- id: 'sub-item-1',
62
- },
63
- {
64
- title: 'Sub nav item 2',
65
- url: '#1',
66
- classes: 'custom-class-sub-item-2',
67
- id: 'sub-item-2',
68
- sections: [
31
+ navigation: {
32
+ id: 'main-nav',
33
+ ariaLabel: 'Main menu',
34
+ currentPath: '#1',
35
+ currentPageTitle: 'Main nav item 2',
36
+ itemsList: [
69
37
  {
70
- sectionTitle: 'Section 1',
71
- children: [
38
+ title: 'Main nav item 1',
39
+ url: '#0',
40
+ classes: 'custom-class-main-item-1',
41
+ id: 'main-item-1',
42
+ },
43
+ {
44
+ title: 'Main nav item 2',
45
+ url: '#1',
46
+ classes: 'custom-class-main-item-2',
47
+ id: 'main-item-2',
48
+ },
49
+ ],
50
+ subNavigation: {
51
+ id: 'sub-nav',
52
+ overviewURL: '#overview',
53
+ overviewText: 'Overview',
54
+ ariaLabel: 'Section menu',
55
+ currentPath: '#1',
56
+ itemsList: [
72
57
  {
73
- title: 'Child item 1',
74
- url: '#0',
58
+ title: 'Sub nav item 1',
59
+ url: '#0',
60
+ classes: 'custom-class-sub-item-1',
61
+ id: 'sub-item-1',
75
62
  },
76
63
  {
77
- title: 'Child item 2',
78
- url: '#1',
64
+ title: 'Sub nav item 2',
65
+ url: '#1',
66
+ classes: 'custom-class-sub-item-2',
67
+ id: 'sub-item-2',
68
+ sections: [
69
+ {
70
+ sectionTitle: 'Section 1',
71
+ children: [
72
+ {
73
+ title: 'Child item 1',
74
+ url: '#0',
75
+ },
76
+ {
77
+ title: 'Child item 2',
78
+ url: '#1',
79
+ },
80
+ ],
81
+ },
82
+ ],
79
83
  },
80
- ],
81
- },
82
- ],
84
+ ],
83
85
  },
84
- ],
85
86
  },
86
- },
87
87
  };
88
88
 
89
89
  const EXAMPLE_NAVIGATION_WITH_SUBNAVIGATION_REMOVED = {
90
- navigation: {
91
- id: 'main-nav',
92
- ariaLabel: 'Main menu',
93
- currentPath: '#1',
94
- currentPageTitle: 'Main nav item 2',
95
- itemsList: [
96
- {
97
- title: 'Main nav item 1',
98
- url: '#0',
99
- classes: 'custom-class-main-item-1',
100
- id: 'main-item-1',
101
- },
102
- {
103
- title: 'Main nav item 2',
104
- url: '#1',
105
- classes: 'custom-class-main-item-2',
106
- id: 'main-item-2',
107
- },
108
- ],
109
- subNavigation: {
110
- id: 'sub-nav-hidden',
111
- overviewURL: '#overview',
112
- overviewText: 'Overview',
113
- ariaLabel: 'Section menu',
114
- currentPath: '#1',
115
- removeHorizontalSubNav: true,
116
- itemsList: [
117
- {
118
- title: 'Sub nav item 1',
119
- url: '#0',
120
- classes: 'custom-class-sub-item-1',
121
- id: 'sub-item-1',
122
- },
123
- {
124
- title: 'Sub nav item 2',
125
- url: '#1',
126
- classes: 'custom-class-sub-item-2',
127
- id: 'sub-item-2',
128
- sections: [
90
+ navigation: {
91
+ id: 'main-nav',
92
+ ariaLabel: 'Main menu',
93
+ currentPath: '#1',
94
+ currentPageTitle: 'Main nav item 2',
95
+ itemsList: [
129
96
  {
130
- sectionTitle: 'Section 1',
131
- children: [
97
+ title: 'Main nav item 1',
98
+ url: '#0',
99
+ classes: 'custom-class-main-item-1',
100
+ id: 'main-item-1',
101
+ },
102
+ {
103
+ title: 'Main nav item 2',
104
+ url: '#1',
105
+ classes: 'custom-class-main-item-2',
106
+ id: 'main-item-2',
107
+ },
108
+ ],
109
+ subNavigation: {
110
+ id: 'sub-nav-hidden',
111
+ overviewURL: '#overview',
112
+ overviewText: 'Overview',
113
+ ariaLabel: 'Section menu',
114
+ currentPath: '#1',
115
+ removeHorizontalSubNav: true,
116
+ itemsList: [
132
117
  {
133
- title: 'Child item 1',
134
- url: '#0',
118
+ title: 'Sub nav item 1',
119
+ url: '#0',
120
+ classes: 'custom-class-sub-item-1',
121
+ id: 'sub-item-1',
135
122
  },
136
123
  {
137
- title: 'Child item 2',
138
- url: '#1',
124
+ title: 'Sub nav item 2',
125
+ url: '#1',
126
+ classes: 'custom-class-sub-item-2',
127
+ id: 'sub-item-2',
128
+ sections: [
129
+ {
130
+ sectionTitle: 'Section 1',
131
+ children: [
132
+ {
133
+ title: 'Child item 1',
134
+ url: '#0',
135
+ },
136
+ {
137
+ title: 'Child item 2',
138
+ url: '#1',
139
+ },
140
+ ],
141
+ },
142
+ ],
139
143
  },
140
- ],
141
- },
142
- ],
144
+ ],
143
145
  },
144
- ],
145
146
  },
146
- },
147
147
  };
148
148
 
149
149
  describe('script: navigation', () => {
150
- afterEach(async () => {
151
- // Clear viewport size and browser emulation after each test.
152
- await jestPuppeteer.resetPage();
153
- });
150
+ afterEach(async () => {
151
+ // Clear viewport size and browser emulation after each test.
152
+ await jestPuppeteer.resetPage();
153
+ });
154
154
 
155
- describe.each([
156
- ['main', EXAMPLE_NAVIGATION, '.ons-navigation--main', '.ons-js-navigation-button', false],
157
- ['sub', EXAMPLE_NAVIGATION_WITH_SUBNAVIGATION, '.ons-navigation--sub-mobile', '.ons-js-sub-navigation-button', true],
158
- ])('level: %s navigation', (_, params, navEl, buttonEl, ariaStatus) => {
159
- describe('when the component initialises', () => {
160
- beforeEach(async () => {
161
- await setTestPage('/test', renderComponent('header', params));
162
- });
155
+ describe.each([
156
+ ['main', EXAMPLE_NAVIGATION, '.ons-navigation--main', '.ons-js-navigation-button', false],
157
+ ['sub', EXAMPLE_NAVIGATION_WITH_SUBNAVIGATION, '.ons-navigation--sub-mobile', '.ons-js-sub-navigation-button', true],
158
+ ])('level: %s navigation', (_, params, navEl, buttonEl, ariaStatus) => {
159
+ describe('when the component initialises', () => {
160
+ beforeEach(async () => {
161
+ await setTestPage('/test', renderComponent('header', params));
162
+ });
163
163
 
164
- it('has removed the display class from the menu toggle button', async () => {
165
- const hasClass = await page.$eval(buttonEl, (node) => node.classList.contains('ons-u-d-no'));
166
- expect(hasClass).toBe(false);
167
- });
168
- });
164
+ it('has removed the display class from the menu toggle button', async () => {
165
+ const hasClass = await page.$eval(buttonEl, (node) => node.classList.contains('ons-u-d-no'));
166
+ expect(hasClass).toBe(false);
167
+ });
168
+ });
169
169
 
170
- describe('when the viewport is large', () => {
171
- beforeEach(async () => {
172
- await setViewport(page, { width: 1650, height: 1050 });
173
- await setTestPage('/test', renderComponent('header', params));
174
- });
170
+ describe('when the viewport is large', () => {
171
+ beforeEach(async () => {
172
+ await setViewport(page, { width: 1650, height: 1050 });
173
+ await setTestPage('/test', renderComponent('header', params));
174
+ });
175
175
 
176
- it('has the correct aria hidden attribute on the navigation list', async () => {
177
- const nav = await page.$(navEl);
178
- const hasAriaAttribute = await nav.evaluate((node) => node.getAttribute('aria-hidden') !== null);
179
- expect(hasAriaAttribute).toBe(ariaStatus);
180
- });
176
+ it('has the correct aria hidden attribute on the navigation list', async () => {
177
+ const nav = await page.$(navEl);
178
+ const hasAriaAttribute = await nav.evaluate((node) => node.getAttribute('aria-hidden') !== null);
179
+ expect(hasAriaAttribute).toBe(ariaStatus);
180
+ });
181
181
 
182
- it('has aria-expanded set as `false` on the navigation toggle button', async () => {
183
- const button = await page.$(buttonEl);
184
- const ariaExpandedIsFalse = await button.evaluate((node) => node.getAttribute('aria-expanded') === 'false');
185
- expect(ariaExpandedIsFalse).toBe(true);
186
- });
187
- });
182
+ it('has aria-expanded set as `false` on the navigation toggle button', async () => {
183
+ const button = await page.$(buttonEl);
184
+ const ariaExpandedIsFalse = await button.evaluate((node) => node.getAttribute('aria-expanded') === 'false');
185
+ expect(ariaExpandedIsFalse).toBe(true);
186
+ });
187
+ });
188
188
 
189
- describe('when the viewport is small', () => {
190
- beforeEach(async () => {
191
- await setViewport(page, { width: 600, height: 1050 });
192
- await setTestPage('/test', renderComponent('header', params));
193
- });
189
+ describe('when the viewport is small', () => {
190
+ beforeEach(async () => {
191
+ await setViewport(page, { width: 600, height: 1050 });
192
+ await setTestPage('/test', renderComponent('header', params));
193
+ });
194
194
 
195
- it('has aria-hidden set as `true` on the navigation list', async () => {
196
- const nav = await page.$(navEl);
197
- const hasAriaAttribute = await nav.evaluate((node) => node.getAttribute('aria-hidden') === 'true');
198
- expect(hasAriaAttribute).toBe(true);
199
- });
195
+ it('has aria-hidden set as `true` on the navigation list', async () => {
196
+ const nav = await page.$(navEl);
197
+ const hasAriaAttribute = await nav.evaluate((node) => node.getAttribute('aria-hidden') === 'true');
198
+ expect(hasAriaAttribute).toBe(true);
199
+ });
200
200
 
201
- describe('when the toggle button is clicked to open the navigation list', () => {
202
- beforeEach(async () => {
203
- await page.focus(buttonEl);
204
- await page.keyboard.press('Enter');
205
- });
201
+ describe('when the toggle button is clicked to open the navigation list', () => {
202
+ beforeEach(async () => {
203
+ await page.focus(buttonEl);
204
+ await page.keyboard.press('Enter');
205
+ });
206
206
 
207
- it('has aria-hidden set as `false` on the navigation list', async () => {
208
- const nav = await page.$(navEl);
209
- const hasAriaAttribute = await nav.evaluate((node) => node.getAttribute('aria-hidden') === 'false');
210
- expect(hasAriaAttribute).toBe(true);
211
- });
207
+ it('has aria-hidden set as `false` on the navigation list', async () => {
208
+ const nav = await page.$(navEl);
209
+ const hasAriaAttribute = await nav.evaluate((node) => node.getAttribute('aria-hidden') === 'false');
210
+ expect(hasAriaAttribute).toBe(true);
211
+ });
212
212
 
213
- it('has the hide class removed from the navigation list', async () => {
214
- const hasClass = await page.$eval(navEl, (node) =>
215
- node.classList.contains('ons-u-d-no@xxs@l' || 'ons-u-d-no' || 'ons-u-d-no@xs@l'),
216
- );
217
- expect(hasClass).toBe(false);
218
- });
213
+ it('has the hide class removed from the navigation list', async () => {
214
+ const hasClass = await page.$eval(navEl, (node) =>
215
+ node.classList.contains('ons-u-d-no@xxs@l' || 'ons-u-d-no' || 'ons-u-d-no@xs@l'),
216
+ );
217
+ expect(hasClass).toBe(false);
218
+ });
219
219
 
220
- it('has aria-expanded set as `true` on the navigation toggle button', async () => {
221
- const button = await page.$(buttonEl);
222
- const ariaExpandedIsTrue = await button.evaluate((node) => node.getAttribute('aria-expanded') === 'true');
223
- expect(ariaExpandedIsTrue).toBe(true);
224
- });
220
+ it('has aria-expanded set as `true` on the navigation toggle button', async () => {
221
+ const button = await page.$(buttonEl);
222
+ const ariaExpandedIsTrue = await button.evaluate((node) => node.getAttribute('aria-expanded') === 'true');
223
+ expect(ariaExpandedIsTrue).toBe(true);
224
+ });
225
225
 
226
- it('has the correct class applied to the navigation toggle button', async () => {
227
- const hasClass = await page.$eval(buttonEl, (node) => node.classList.contains('active'));
228
- expect(hasClass).toBe(true);
229
- });
230
- });
226
+ it('has the correct class applied to the navigation toggle button', async () => {
227
+ const hasClass = await page.$eval(buttonEl, (node) => node.classList.contains('active'));
228
+ expect(hasClass).toBe(true);
229
+ });
230
+ });
231
231
 
232
- describe('when the toggle button is clicked to close the navigation list', () => {
233
- beforeEach(async () => {
234
- await page.focus(buttonEl);
235
- await page.keyboard.press('Enter');
236
- await page.waitForTimeout(100);
237
- await page.keyboard.press('Enter');
238
- await page.waitForTimeout(100);
239
- });
232
+ describe('when the toggle button is clicked to close the navigation list', () => {
233
+ beforeEach(async () => {
234
+ await page.focus(buttonEl);
235
+ await page.keyboard.press('Enter');
236
+ await page.waitForTimeout(100);
237
+ await page.keyboard.press('Enter');
238
+ await page.waitForTimeout(100);
239
+ });
240
240
 
241
- it('has aria-hidden set as `true` on the navigation list', async () => {
242
- const nav = await page.$(navEl);
243
- const hasAriaAttribute = await nav.evaluate((node) => node.getAttribute('aria-hidden') === 'true');
244
- expect(hasAriaAttribute).toBe(true);
245
- });
241
+ it('has aria-hidden set as `true` on the navigation list', async () => {
242
+ const nav = await page.$(navEl);
243
+ const hasAriaAttribute = await nav.evaluate((node) => node.getAttribute('aria-hidden') === 'true');
244
+ expect(hasAriaAttribute).toBe(true);
245
+ });
246
246
 
247
- it('has aria-expanded set as `false` on the navigation toggle button', async () => {
248
- const button = await page.$(buttonEl);
249
- const ariaExpandedIsTrue = await button.evaluate((node) => node.getAttribute('aria-expanded') === 'false');
250
- expect(ariaExpandedIsTrue).toBe(true);
251
- });
247
+ it('has aria-expanded set as `false` on the navigation toggle button', async () => {
248
+ const button = await page.$(buttonEl);
249
+ const ariaExpandedIsTrue = await button.evaluate((node) => node.getAttribute('aria-expanded') === 'false');
250
+ expect(ariaExpandedIsTrue).toBe(true);
251
+ });
252
252
 
253
- it('has the active class removed from the navigation toggle button', async () => {
254
- const hasClass = await page.$eval(buttonEl, (node) => node.classList.contains('active'));
255
- expect(hasClass).toBe(false);
253
+ it('has the active class removed from the navigation toggle button', async () => {
254
+ const hasClass = await page.$eval(buttonEl, (node) => node.classList.contains('active'));
255
+ expect(hasClass).toBe(false);
256
+ });
257
+ });
256
258
  });
257
- });
258
259
  });
259
- });
260
260
 
261
- describe.each([['main', EXAMPLE_NAVIGATION, '.ons-navigation--main', '.ons-js-navigation-button']])(
262
- 'level: %s navigation',
263
- (_, params, navEl, buttonEl) => {
264
- describe('when the viewport is small and manually made wider', () => {
265
- beforeEach(async () => {
266
- await setViewport(page, { width: 600, height: 1050 });
267
- await setTestPage('/test', renderComponent('header', params));
268
- await setViewport(page, { width: 1200, height: 1050 });
269
- });
261
+ describe.each([['main', EXAMPLE_NAVIGATION, '.ons-navigation--main', '.ons-js-navigation-button']])(
262
+ 'level: %s navigation',
263
+ (_, params, navEl, buttonEl) => {
264
+ describe('when the viewport is small and manually made wider', () => {
265
+ beforeEach(async () => {
266
+ await setViewport(page, { width: 600, height: 1050 });
267
+ await setTestPage('/test', renderComponent('header', params));
268
+ await setViewport(page, { width: 1200, height: 1050 });
269
+ });
270
270
 
271
- it('has the aria-hidden attribute removed from the navigation list', async () => {
272
- const nav = await page.$(navEl);
273
- const hasAriaAttribute = await nav.evaluate((node) => node.getAttribute('aria-hidden') !== null);
274
- expect(hasAriaAttribute).toBe(false);
275
- });
271
+ it('has the aria-hidden attribute removed from the navigation list', async () => {
272
+ const nav = await page.$(navEl);
273
+ const hasAriaAttribute = await nav.evaluate((node) => node.getAttribute('aria-hidden') !== null);
274
+ expect(hasAriaAttribute).toBe(false);
275
+ });
276
276
 
277
- it('has aria-expanded removed from the navigation toggle button', async () => {
278
- const button = await page.$(buttonEl);
279
- const hasAriaExpanded = await button.evaluate((node) => node.getAttribute('aria-expanded') !== null);
280
- expect(hasAriaExpanded).toBe(false);
281
- });
277
+ it('has aria-expanded removed from the navigation toggle button', async () => {
278
+ const button = await page.$(buttonEl);
279
+ const hasAriaExpanded = await button.evaluate((node) => node.getAttribute('aria-expanded') !== null);
280
+ expect(hasAriaExpanded).toBe(false);
281
+ });
282
282
 
283
- it('has the hide class removed from the navigation list', async () => {
284
- const hasClass = await page.$eval(navEl, (node) =>
285
- node.classList.contains('ons-u-d-no@xxs@l' || 'ons-u-d-no' || 'ons-u-d-no@xs@l'),
286
- );
287
- expect(hasClass).toBe(false);
288
- });
289
- });
290
- },
291
- );
283
+ it('has the hide class removed from the navigation list', async () => {
284
+ const hasClass = await page.$eval(navEl, (node) =>
285
+ node.classList.contains('ons-u-d-no@xxs@l' || 'ons-u-d-no' || 'ons-u-d-no@xs@l'),
286
+ );
287
+ expect(hasClass).toBe(false);
288
+ });
289
+ });
290
+ },
291
+ );
292
292
  });
293
293
 
294
294
  describe('level: sub navigation', () => {
295
- describe('when removeHorizontalSubNav is set to true', () => {
296
- beforeEach(async () => {
297
- await setTestPage('/test', renderComponent('header', EXAMPLE_NAVIGATION_WITH_SUBNAVIGATION_REMOVED));
298
- });
295
+ describe('when removeHorizontalSubNav is set to true', () => {
296
+ beforeEach(async () => {
297
+ await setTestPage('/test', renderComponent('header', EXAMPLE_NAVIGATION_WITH_SUBNAVIGATION_REMOVED));
298
+ });
299
299
 
300
- it('does not render the sub-nav element', async () => {
301
- const hasSubNavEl = (await page.content()).includes('.ons-navigation--sub');
302
- expect(hasSubNavEl).toBe(false);
300
+ it('does not render the sub-nav element', async () => {
301
+ const hasSubNavEl = (await page.content()).includes('.ons-navigation--sub');
302
+ expect(hasSubNavEl).toBe(false);
303
+ });
303
304
  });
304
- });
305
305
  });