@iamproperty/components 7.8.2--beta3 → 7.8.2--beta5

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 (235) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/address-lookup.component.css +1 -1
  4. package/assets/css/components/address-lookup.component.css.map +1 -1
  5. package/assets/css/components/advanced-select.component.css +1 -1
  6. package/assets/css/components/advanced-select.component.css.map +1 -1
  7. package/assets/css/components/banner.preload.css +1 -0
  8. package/assets/css/components/banner.preload.css.map +1 -0
  9. package/assets/css/components/calendar.component.css +1 -1
  10. package/assets/css/components/calendar.component.css.map +1 -1
  11. package/assets/css/components/card.component.css +1 -1
  12. package/assets/css/components/card.component.css.map +1 -1
  13. package/assets/css/components/card.module.css +1 -1
  14. package/assets/css/components/card.module.css.map +1 -1
  15. package/assets/css/components/card.preload.css +1 -0
  16. package/assets/css/components/card.preload.css.map +1 -0
  17. package/assets/css/components/carousel.component.css +1 -1
  18. package/assets/css/components/carousel.component.css.map +1 -1
  19. package/assets/css/components/carousel.config.css +1 -1
  20. package/assets/css/components/carousel.config.css.map +1 -1
  21. package/assets/css/components/config.component.css +1 -1
  22. package/assets/css/components/config.component.css.map +1 -1
  23. package/assets/css/components/content.component.css +1 -1
  24. package/assets/css/components/content.component.css.map +1 -1
  25. package/assets/css/components/fileupload.css +1 -1
  26. package/assets/css/components/fileupload.css.map +1 -1
  27. package/assets/css/components/filter-card.component.css +1 -1
  28. package/assets/css/components/filter-card.component.css.map +1 -1
  29. package/assets/css/components/modal.component.css +1 -1
  30. package/assets/css/components/modal.component.css.map +1 -1
  31. package/assets/css/components/multi-step-modal.component.css +1 -1
  32. package/assets/css/components/multi-step-modal.component.css.map +1 -1
  33. package/assets/css/components/multiselect.css +1 -1
  34. package/assets/css/components/multiselect.css.map +1 -1
  35. package/assets/css/components/nav.component.css +1 -1
  36. package/assets/css/components/nav.component.css.map +1 -1
  37. package/assets/css/components/nav.global.css +1 -1
  38. package/assets/css/components/nav.global.css.map +1 -1
  39. package/assets/css/components/notification.global.css +1 -1
  40. package/assets/css/components/notification.global.css.map +1 -1
  41. package/assets/css/components/pagination.css +1 -1
  42. package/assets/css/components/pagination.css.map +1 -1
  43. package/assets/css/components/record-card.component.css +1 -1
  44. package/assets/css/components/record-card.component.css.map +1 -1
  45. package/assets/css/components/search.component.css +1 -1
  46. package/assets/css/components/search.component.css.map +1 -1
  47. package/assets/css/components/skeleton.global.css +1 -1
  48. package/assets/css/components/skeleton.global.css.map +1 -1
  49. package/assets/css/components/slider.css +1 -1
  50. package/assets/css/components/slider.css.map +1 -1
  51. package/assets/css/components/split-button.component.css +1 -1
  52. package/assets/css/components/split-button.component.css.map +1 -1
  53. package/assets/css/components/std-nav-standalone.component.css +1 -1
  54. package/assets/css/components/std-nav-standalone.component.css.map +1 -1
  55. package/assets/css/components/tabs.component.css +1 -1
  56. package/assets/css/components/tabs.component.css.map +1 -1
  57. package/assets/css/components/tag.component.css +1 -1
  58. package/assets/css/components/tag.component.css.map +1 -1
  59. package/assets/css/components/video-card.component.css +1 -1
  60. package/assets/css/components/video-card.component.css.map +1 -1
  61. package/assets/css/components/video-modal.component.css +1 -1
  62. package/assets/css/components/video-modal.component.css.map +1 -1
  63. package/assets/css/core.min.css +1 -1
  64. package/assets/css/core.min.css.map +1 -1
  65. package/assets/css/elements/dialog.css +1 -1
  66. package/assets/css/elements/dialog.css.map +1 -1
  67. package/assets/css/elements/dropdown.css +1 -1
  68. package/assets/css/elements/dropdown.css.map +1 -1
  69. package/assets/css/elements/forms.css +1 -1
  70. package/assets/css/elements/forms.css.map +1 -1
  71. package/assets/css/elements/links--global.css +1 -1
  72. package/assets/css/elements/links--global.css.map +1 -1
  73. package/assets/css/elements/links.css +1 -1
  74. package/assets/css/elements/links.css.map +1 -1
  75. package/assets/css/style.min.css +1 -1
  76. package/assets/css/style.min.css.map +1 -1
  77. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  78. package/assets/js/components/actionbar/actionbar.component.min.js +3 -3
  79. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  80. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  81. package/assets/js/components/advanced-select/advanced-select.component.min.js +2 -2
  82. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  83. package/assets/js/components/banner/banner.component.min.js +1 -1
  84. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  85. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  86. package/assets/js/components/bone/bone.component.min.js +1 -1
  87. package/assets/js/components/button/button.component.min.js +1 -1
  88. package/assets/js/components/calendar/calendar.component.min.js +2 -2
  89. package/assets/js/components/card/card.component.js +114 -125
  90. package/assets/js/components/card/card.component.min.js +7 -7
  91. package/assets/js/components/card/card.component.min.js.map +1 -1
  92. package/assets/js/components/carousel/carousel.component.js +83 -29
  93. package/assets/js/components/carousel/carousel.component.min.js +16 -11
  94. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  95. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  96. package/assets/js/components/config/config.component.min.js +7 -7
  97. package/assets/js/components/config/config.component.min.js.map +1 -1
  98. package/assets/js/components/content/content.component.js +28 -69
  99. package/assets/js/components/content/content.component.min.js +4 -4
  100. package/assets/js/components/content/content.component.min.js.map +1 -1
  101. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  102. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  103. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  104. package/assets/js/components/filter-card/filter-card.component.min.js +5 -5
  105. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  106. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  107. package/assets/js/components/form/form.component.js +42 -151
  108. package/assets/js/components/form/form.component.min.js +3 -3
  109. package/assets/js/components/form/form.component.min.js.map +1 -1
  110. package/assets/js/components/header/header.component.min.js +1 -1
  111. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  112. package/assets/js/components/input/input.component.min.js +1 -1
  113. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  114. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  115. package/assets/js/components/menu/menu.component.min.js +1 -1
  116. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  117. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  118. package/assets/js/components/modal/modal.component.js +16 -11
  119. package/assets/js/components/modal/modal.component.min.js +7 -7
  120. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  121. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  122. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +4 -4
  123. package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
  124. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  125. package/assets/js/components/nav/nav.component.js +88 -79
  126. package/assets/js/components/nav/nav.component.min.js +8 -8
  127. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  128. package/assets/js/components/notification/notification.component.min.js +2 -2
  129. package/assets/js/components/pagination/pagination.component.min.js +5 -5
  130. package/assets/js/components/password/password.component.min.js +1 -1
  131. package/assets/js/components/popover/popover.component.min.js +1 -1
  132. package/assets/js/components/rank/rank.component.min.js +1 -1
  133. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  134. package/assets/js/components/rating/rating.component.min.js +1 -1
  135. package/assets/js/components/record-card/record-card.component.min.js +6 -6
  136. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  137. package/assets/js/components/search/search.component.js +235 -186
  138. package/assets/js/components/search/search.component.min.js +12 -7
  139. package/assets/js/components/search/search.component.min.js.map +1 -1
  140. package/assets/js/components/skeleton/skeleton.component.min.js +1 -1
  141. package/assets/js/components/slider/slider.component.min.js +2 -2
  142. package/assets/js/components/split-button/split-button.component.min.js +2 -2
  143. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +5 -5
  144. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  145. package/assets/js/components/std-nav/std-nav.component.js +12 -9
  146. package/assets/js/components/std-nav/std-nav.component.min.js +12 -15
  147. package/assets/js/components/std-nav/std-nav.component.min.js.map +1 -1
  148. package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js +5 -5
  149. package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js.map +1 -1
  150. package/assets/js/components/table/table.component.min.js +1 -1
  151. package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
  152. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  153. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  154. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  155. package/assets/js/components/tabs/tabs.component.min.js +4 -4
  156. package/assets/js/components/tag/tag.component.min.js +3 -3
  157. package/assets/js/components/tag/tag.component.min.js.map +1 -1
  158. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  159. package/assets/js/components/video/video.component.min.js +1 -1
  160. package/assets/js/components/video-card/video-card.component.min.js +9 -9
  161. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  162. package/assets/js/components/video-modal/video-modal.component.min.js +5 -5
  163. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  164. package/assets/js/modules/card.module.js +12 -11
  165. package/assets/js/modules/content.js +40 -8
  166. package/assets/js/modules/content.test.js +62 -12
  167. package/assets/js/modules/data-layer.js +7 -6
  168. package/assets/js/modules/dropdown.js +0 -1
  169. package/assets/js/modules/form.js +129 -0
  170. package/assets/js/modules/form.test.js +132 -0
  171. package/assets/js/modules/nav.js +10 -3
  172. package/assets/js/modules/search.js +153 -0
  173. package/assets/js/modules/search.test.js +125 -0
  174. package/assets/js/modules/tabs.test.js +64 -12
  175. package/assets/js/modules/test-dom.js +5 -0
  176. package/assets/js/modules/testimonial.test.js +44 -6
  177. package/assets/js/modules/videos.test.js +61 -13
  178. package/assets/js/scripts.bundle.js +3 -3
  179. package/assets/js/scripts.bundle.js.map +1 -1
  180. package/assets/js/scripts.bundle.min.js +2 -2
  181. package/assets/js/scripts.bundle.min.js.map +1 -1
  182. package/assets/sass/_components.scss +2 -63
  183. package/assets/sass/_utilities.scss +1 -0
  184. package/assets/sass/components/banner.preload.scss +26 -0
  185. package/assets/sass/components/card.component.scss +1 -7
  186. package/assets/sass/components/card.module.scss +6 -6
  187. package/assets/sass/components/card.preload.scss +80 -0
  188. package/assets/sass/components/carousel.component.scss +165 -0
  189. package/assets/sass/components/carousel.config.scss +90 -249
  190. package/assets/sass/components/content.component.scss +0 -7
  191. package/assets/sass/components/modal.component.scss +5 -1
  192. package/assets/sass/components/nav.component.scss +2 -1
  193. package/assets/sass/components/nav.global.scss +0 -10
  194. package/assets/sass/components/notification.global.scss +8 -0
  195. package/assets/sass/components/search.component.scss +89 -7
  196. package/assets/sass/components/skeleton.global.scss +4 -0
  197. package/assets/sass/elements/dialog.scss +43 -0
  198. package/assets/sass/elements/dropdown.css +2 -0
  199. package/assets/sass/elements/forms.scss +0 -27
  200. package/assets/sass/elements/links--global.scss +40 -2
  201. package/assets/sass/foundations/colours.scss +0 -24
  202. package/assets/sass/foundations/reboot.scss +4 -0
  203. package/assets/sass/foundations/root.scss +0 -1
  204. package/assets/sass/utilities/js-display.css +2 -3
  205. package/assets/sass/utilities/wordpress.css +7 -0
  206. package/assets/ts/components/card/card.component.ts +72 -62
  207. package/assets/ts/components/carousel/carousel.component.ts +84 -19
  208. package/assets/ts/components/content/content.component.ts +36 -100
  209. package/assets/ts/components/form/form.component.ts +54 -213
  210. package/assets/ts/components/modal/modal.component.ts +27 -19
  211. package/assets/ts/components/nav/nav.component.ts +107 -95
  212. package/assets/ts/components/search/search.component.ts +260 -184
  213. package/assets/ts/components/std-nav/std-nav.component.ts +20 -17
  214. package/assets/ts/html.d.ts +6 -0
  215. package/assets/ts/modules/card.module.ts +19 -11
  216. package/assets/ts/modules/content.test.ts +84 -12
  217. package/assets/ts/modules/content.ts +56 -9
  218. package/assets/ts/modules/data-layer.ts +7 -11
  219. package/assets/ts/modules/dropdown.ts +0 -2
  220. package/assets/ts/modules/form.test.ts +183 -0
  221. package/assets/ts/modules/form.ts +210 -0
  222. package/assets/ts/modules/nav.ts +12 -3
  223. package/assets/ts/modules/search.test.ts +142 -0
  224. package/assets/ts/modules/search.ts +206 -0
  225. package/assets/ts/modules/tabs.test.ts +79 -12
  226. package/assets/ts/modules/test-dom.ts +5 -0
  227. package/assets/ts/modules/testimonial.test.ts +45 -6
  228. package/assets/ts/modules/videos.test.ts +74 -14
  229. package/dist/components.es.js +25 -25
  230. package/dist/components.umd.js +170 -163
  231. package/package.json +1 -1
  232. package/assets/js/modules/carousel.js +0 -214
  233. package/assets/js/modules/carousel.test.js +0 -18
  234. package/assets/ts/modules/carousel.test.ts +0 -27
  235. package/assets/ts/modules/carousel.ts +0 -301
@@ -29,7 +29,7 @@ class iamNav extends HTMLElement {
29
29
 
30
30
  <div class="menu__outer">
31
31
  <div class="menu closed">
32
-
32
+
33
33
  <div class="menu__primary">
34
34
  <slot></slot>
35
35
  <slot name="dual"></slot>
@@ -43,7 +43,7 @@ class iamNav extends HTMLElement {
43
43
  </div>
44
44
  </div>
45
45
  <slot name="menus"></slot>
46
- </div>
46
+ </div>
47
47
  </div>
48
48
  <div class="backdrop" part="backdrop"></div>
49
49
  `;
@@ -65,90 +65,99 @@ class iamNav extends HTMLElement {
65
65
  const backdrop = this.shadowRoot.querySelector('.backdrop');
66
66
  const buttonsHolder = this.shadowRoot.querySelector('.buttons-holder');
67
67
  // Check the content
68
- this.querySelectorAll(':scope > *').forEach(function (element) {
69
- const tagname = element.tagName;
70
- switch (tagname) {
71
- case 'BUTTON':
72
- if (!element.hasAttribute('slot')) {
73
- element.setAttribute('slot', 'actions');
74
- menu.classList.add('has-actions');
75
- }
76
- break;
77
- }
78
- // Create menu button
79
- if (element.classList.contains('nav--menu') &&
80
- element.hasAttribute('data-title') &&
81
- element.hasAttribute('data-icon')) {
82
- const title = element.getAttribute('data-title');
83
- const iconClass = element.getAttribute('data-icon');
84
- // Create the menu button that sits seperately to the menu
85
- const button = document.createElement('button');
86
- button.setAttribute('slot', title);
87
- button.classList.add('btn-menu');
88
- button.setAttribute('part', 'btn-menu');
89
- button.innerHTML = `<span class="btn btn-primary"><span>${title}</span><i class="${iconClass}"></i><i class="fa-regular fa-xmark-large"></i></span>`;
90
- buttonsHolder.insertAdjacentElement('beforeend', button);
91
- const mdButton = button.querySelector('.btn-primary');
92
- // Make sure the menu is added to the right part of the component
93
- element.setAttribute('slot', 'menus');
94
- // If open we need to make sure the main mobile menu is closed, the new button has the right state and the backdrop is shown
95
- if (element.classList.contains('open')) {
96
- button.setAttribute('aria-expanded', true);
97
- mdButton.classList.toggle('active');
98
- iamNav.classList.add('open');
99
- backdrop.classList.add('show');
100
- }
101
- else {
102
- element.classList.add('closed'); // closed class is added to prevent the elements being tabbed into, this causes visual issues
68
+ const createNavMenu = (component) => {
69
+ buttonsHolder === null || buttonsHolder === void 0 ? void 0 : buttonsHolder.innerHTML = '';
70
+ component.querySelectorAll(':scope > *').forEach(function (element) {
71
+ const tagname = element.tagName;
72
+ switch (tagname) {
73
+ case 'BUTTON':
74
+ if (!element.hasAttribute('slot')) {
75
+ element.setAttribute('slot', 'actions');
76
+ menu.classList.add('has-actions');
77
+ }
78
+ break;
103
79
  }
104
- // Click event
105
- button.addEventListener('click', function (e) {
106
- e.preventDefault();
107
- button.toggleAttribute('aria-expanded');
108
- element.classList.toggle('open');
109
- mdButton.classList.toggle('active');
110
- // Close desktop menus
111
- const openMenu = iamNav.querySelector(':scope > details[open]');
112
- if (openMenu)
113
- openMenu.removeAttribute('open');
114
- // Close the main menu and fix states on the button, iamNav component and backdrop
80
+ // Create menu button
81
+ if (element.classList.contains('nav--menu') &&
82
+ element.hasAttribute('data-title') &&
83
+ element.hasAttribute('data-icon')) {
84
+ const title = element.getAttribute('data-title');
85
+ const iconClass = element.getAttribute('data-icon');
86
+ // Create the menu button that sits seperately to the menu
87
+ const button = document.createElement('button');
88
+ button.setAttribute('slot', title);
89
+ button.classList.add('btn-menu');
90
+ button.setAttribute('part', 'btn-menu');
91
+ button.innerHTML = `<span class="btn btn-primary"><span>${title}</span><i class="${iconClass}"></i><i class="fa-regular fa-xmark-large"></i></span>`;
92
+ buttonsHolder.insertAdjacentElement('beforeend', button);
93
+ const mdButton = button.querySelector('.btn-primary');
94
+ // Make sure the menu is added to the right part of the component
95
+ element.setAttribute('slot', 'menus');
96
+ // If open we need to make sure the main mobile menu is closed, the new button has the right state and the backdrop is shown
115
97
  if (element.classList.contains('open')) {
116
- menu.classList.remove('open');
117
- menuButton.removeAttribute('aria-expanded');
118
- setTimeout(function () {
119
- menu.classList.add('closed');
120
- }, 1000); // Delay until its close so the animation is broken
121
- iamNav.classList.add('open');
98
+ button.setAttribute('aria-expanded', true);
99
+ mdButton.classList.toggle('active');
100
+ component.classList.add('open');
122
101
  backdrop.classList.add('show');
123
- element.classList.remove('closed');
124
102
  }
125
103
  else {
126
- iamNav.classList.remove('open');
127
- backdrop.classList.remove('show');
128
- setTimeout(function () {
129
- element.classList.add('closed');
130
- }, 1000);
104
+ element.classList.add('closed'); // closed class is added to prevent the elements being tabbed into, this causes visual issues
131
105
  }
132
- // Close any open menus
133
- iamNav.querySelectorAll('.nav--menu.open').forEach(function (openmenu) {
134
- if (openmenu != element) {
135
- openmenu.classList.remove('open');
106
+ // Click event
107
+ button.addEventListener('click', function (e) {
108
+ e.preventDefault();
109
+ button.toggleAttribute('aria-expanded');
110
+ console.log(element);
111
+ element.classList.toggle('open');
112
+ mdButton.classList.toggle('active');
113
+ // Close desktop menus
114
+ const openMenu = component.querySelector(':scope > details[open]');
115
+ if (openMenu)
116
+ openMenu.removeAttribute('open');
117
+ // Close the main menu and fix states on the button, iamNav component and backdrop
118
+ if (element.classList.contains('open')) {
119
+ menu.classList.remove('open');
120
+ menuButton.removeAttribute('aria-expanded');
121
+ setTimeout(function () {
122
+ menu.classList.add('closed');
123
+ }, 1000); // Delay until its close so the animation is broken
124
+ component.classList.add('open');
125
+ backdrop.classList.add('show');
126
+ element.classList.remove('closed');
136
127
  }
137
- });
138
- iamNav.shadowRoot
139
- .querySelectorAll('.buttons-holder .btn-menu[aria-expanded]')
140
- .forEach(function (selectedButton) {
141
- if (selectedButton != button) {
142
- selectedButton.removeAttribute('aria-expanded');
143
- const innerBtn = selectedButton.querySelector('.btn-primary');
144
- innerBtn.classList.remove('active');
128
+ else {
129
+ component.classList.remove('open');
130
+ backdrop.classList.remove('show');
131
+ setTimeout(function () {
132
+ element.classList.add('closed');
133
+ }, 1000);
145
134
  }
146
- });
147
- }, false);
148
- }
149
- });
150
- this.querySelectorAll('details').forEach(function (element) {
151
- element.classList.add('details--revert');
135
+ // Close any open menus
136
+ component.querySelectorAll('.nav--menu.open').forEach(function (openmenu) {
137
+ if (openmenu != element) {
138
+ openmenu.classList.remove('open');
139
+ }
140
+ });
141
+ component.shadowRoot
142
+ .querySelectorAll('.buttons-holder .btn-menu[aria-expanded]')
143
+ .forEach(function (selectedButton) {
144
+ if (selectedButton != button) {
145
+ selectedButton.removeAttribute('aria-expanded');
146
+ const innerBtn = selectedButton.querySelector('.btn-primary');
147
+ innerBtn.classList.remove('active');
148
+ }
149
+ });
150
+ }, false);
151
+ }
152
+ });
153
+ component.querySelectorAll('details').forEach(function (element) {
154
+ element.classList.add('details--revert');
155
+ });
156
+ };
157
+ createNavMenu(this);
158
+ this.addEventListener('rebuilt', () => {
159
+ console.log('rebuilt nav');
160
+ createNavMenu(this);
152
161
  });
153
162
  // Has secondary link
154
163
  if (this.querySelector('[slot="secondary"]')) {
@@ -157,7 +166,7 @@ class iamNav extends HTMLElement {
157
166
  // Open and close the menu
158
167
  menuButton.addEventListener('click', function (e) {
159
168
  e.preventDefault();
160
- menuButton.toggleAttribute('aria-expanded');
169
+ //menuButton.toggleAttribute('aria-expanded');
161
170
  menu.classList.toggle('open');
162
171
  // Close any other menus
163
172
  iamNav.querySelectorAll('.nav--menu.open').forEach(function (element) {