@dubai-design-system/components-js 5.2.0 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/MIGRATION.md +153 -18
  3. package/dist/cjs/dda-accordion.cjs.entry.js +3 -3
  4. package/dist/cjs/dda-alert.cjs.entry.js +5 -5
  5. package/dist/cjs/dda-attach-file.cjs.entry.js +3 -3
  6. package/dist/cjs/dda-avatar.cjs.entry.js +8 -8
  7. package/dist/{dda/dda-credit-card.entry.js → cjs/dda-banner-card.cjs.entry.js} +16 -16
  8. package/dist/cjs/dda-banner.cjs.entry.js +3 -3
  9. package/dist/cjs/dda-breadcrumb.cjs.entry.js +2 -2
  10. package/dist/cjs/dda-button.cjs.entry.js +3 -3
  11. package/dist/cjs/dda-checkbox.cjs.entry.js +3 -3
  12. package/dist/cjs/dda-chip.cjs.entry.js +3 -3
  13. package/dist/cjs/dda-credit-card.cjs.entry.js +3 -3
  14. package/dist/cjs/dda-creditcard-field.cjs.entry.js +4 -4
  15. package/dist/cjs/dda-dropdown.cjs.entry.js +4 -4
  16. package/dist/cjs/dda-footer.cjs.entry.js +3 -3
  17. package/dist/cjs/dda-header.cjs.entry.js +208 -23
  18. package/dist/cjs/dda-home-banner.cjs.entry.js +9 -5
  19. package/dist/{dda/dda-tooltip.entry.js → cjs/dda-home-carousel.cjs.entry.js} +18 -36
  20. package/dist/cjs/dda-horizontal-stepper.cjs.entry.js +3 -3
  21. package/dist/cjs/dda-input.cjs.entry.js +3 -3
  22. package/dist/cjs/dda-link-button_2.cjs.entry.js +6 -6
  23. package/dist/cjs/dda-number-field.cjs.entry.js +3 -3
  24. package/dist/cjs/dda-pagination.cjs.entry.js +4 -4
  25. package/dist/cjs/dda-phonefield.cjs.entry.js +3 -3
  26. package/dist/cjs/dda-progressbar.cjs.entry.js +3 -3
  27. package/dist/cjs/dda-range-slider.cjs.entry.js +3 -3
  28. package/dist/cjs/dda-scroll-icon.cjs.entry.js +32 -0
  29. package/dist/cjs/dda-search-input.cjs.entry.js +2 -2
  30. package/dist/cjs/dda-segmented-tabs.cjs.entry.js +5 -5
  31. package/dist/cjs/dda-select.cjs.entry.js +84 -15
  32. package/dist/cjs/dda-sticky-footer.cjs.entry.js +41 -4
  33. package/dist/cjs/dda-tabs.cjs.entry.js +4 -4
  34. package/dist/cjs/dda-textarea.cjs.entry.js +1351 -16189
  35. package/dist/cjs/dda-toggle.cjs.entry.js +3 -3
  36. package/dist/cjs/dda-tooltip.cjs.entry.js +3 -3
  37. package/dist/cjs/dda-ui-card.cjs.entry.js +3 -3
  38. package/dist/cjs/dda-vertical-stepper.cjs.entry.js +2 -2
  39. package/dist/cjs/dda.cjs.js +3 -30
  40. package/dist/cjs/{index-Na_7EWDR.js → index-CM4T__Je.js} +1 -1
  41. package/dist/cjs/index.cjs.js +0 -10
  42. package/dist/cjs/loader.cjs.js +2 -2
  43. package/dist/cjs/parse-json-prop-B0KWD8qe.js +38 -0
  44. package/dist/collection/collection-manifest.json +7 -4
  45. package/dist/collection/components/dda-accordion/dda-accordion.js +1 -1
  46. package/dist/collection/components/dda-alert/dda-alert.js +1 -1
  47. package/dist/collection/components/dda-attach-file/dda-attach-file.js +1 -1
  48. package/dist/collection/components/dda-avatar/dda-avatar.js +5 -5
  49. package/dist/collection/components/dda-banner/dda-banner.js +1 -1
  50. package/dist/collection/components/dda-banner-card/dda-banner-card.js +243 -0
  51. package/dist/collection/components/dda-button/dda-button.js +1 -1
  52. package/dist/collection/components/dda-checkbox/dda-checkbox.js +1 -1
  53. package/dist/collection/components/dda-chip/dda-chip.js +1 -1
  54. package/dist/collection/components/dda-credit-card/dda-credit-card.js +1 -1
  55. package/dist/collection/components/dda-creditcard-field/dda-creditcard-field.js +1 -1
  56. package/dist/collection/components/dda-dropdown/dda-dropdown.js +1 -1
  57. package/dist/collection/components/dda-footer/dda-footer.js +1 -1
  58. package/dist/collection/components/dda-header/dda-header.js +838 -88
  59. package/dist/collection/components/dda-header/dda-header.stories.js +200 -35
  60. package/dist/collection/components/dda-header/nav-model.js +69 -0
  61. package/dist/collection/components/dda-home-banner/dda-home-banner.js +46 -2
  62. package/dist/collection/components/dda-home-banner/dda-home-banner.stories.js +6 -0
  63. package/dist/collection/components/dda-home-banner/home-banner.css +10 -0
  64. package/dist/collection/components/dda-home-carousel/dda-home-carousel.js +164 -0
  65. package/dist/collection/components/dda-home-carousel/dda-home-carousel.stories.js +24 -0
  66. package/dist/collection/components/dda-input/dda-input.js +1 -1
  67. package/dist/collection/components/dda-link-button/dda-link-button.js +2 -2
  68. package/dist/collection/components/dda-number-field/dda-number-field.js +1 -1
  69. package/dist/collection/components/dda-pagination/dda-pagination.js +1 -1
  70. package/dist/collection/components/dda-phonefield/dda-phonefield.js +1 -1
  71. package/dist/collection/components/dda-progressbar/dda-progressbar.js +1 -1
  72. package/dist/collection/components/dda-radiobutton/dda-radiobutton.css +233 -6
  73. package/dist/collection/components/dda-radiobutton/dda-radiobutton.js +1 -1
  74. package/dist/collection/components/dda-range-slider/dda-range-slider.js +2 -2
  75. package/dist/collection/components/dda-scroll-icon/dda-scroll-icon.css +72 -0
  76. package/dist/collection/components/dda-scroll-icon/dda-scroll-icon.js +120 -0
  77. package/dist/collection/components/dda-scroll-icon/dda-scroll-icon.stories.js +17 -0
  78. package/dist/collection/components/dda-select/dda-select.js +209 -18
  79. package/dist/collection/components/dda-select/dda-select.stories.js +68 -10
  80. package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.js +496 -5
  81. package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.stories.js +12 -1
  82. package/dist/collection/components/dda-tabs/dda-tabs.js +1 -1
  83. package/dist/collection/components/dda-textarea/dda-textarea.js +2 -2
  84. package/dist/collection/components/dda-toggle/dda-toggle.js +1 -1
  85. package/dist/collection/components/dda-tooltip/dda-tooltip.js +1 -1
  86. package/dist/collection/components/dda-ui-card/dda-ui-card.js +1 -1
  87. package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.css +29 -9
  88. package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.js +1 -1
  89. package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.js +1 -1
  90. package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.js +1 -1
  91. package/dist/collection/global/global.css +233 -6
  92. package/dist/collection/utils/parse-json-prop.js +34 -0
  93. package/dist/components/dda-accordion.js +1 -59
  94. package/dist/components/dda-alert.js +1 -94
  95. package/dist/components/dda-attach-file.js +1 -138
  96. package/dist/components/dda-avatar.js +1 -107
  97. package/dist/components/dda-banner-card.d.ts +11 -0
  98. package/dist/components/dda-banner-card.js +1 -0
  99. package/dist/components/dda-banner.js +1 -57
  100. package/dist/components/dda-breadcrumb.js +1 -66
  101. package/dist/components/dda-button.js +1 -6
  102. package/dist/components/dda-checkbox.js +1 -59
  103. package/dist/components/dda-chip.js +1 -55
  104. package/dist/components/dda-credit-card.js +1 -54
  105. package/dist/components/dda-creditcard-field.js +1 -133
  106. package/dist/components/dda-dropdown.js +1 -113
  107. package/dist/components/dda-footer.js +1 -72
  108. package/dist/components/dda-header.js +1 -367
  109. package/dist/components/dda-home-banner.js +1 -249
  110. package/dist/components/dda-home-carousel.d.ts +11 -0
  111. package/dist/components/dda-home-carousel.js +1 -0
  112. package/dist/components/dda-horizontal-stepper.js +1 -69
  113. package/dist/components/dda-input.js +1 -92
  114. package/dist/components/dda-link-button.js +1 -6
  115. package/dist/components/dda-number-field.js +1 -127
  116. package/dist/components/dda-pagination.js +1 -133
  117. package/dist/components/dda-phonefield.js +1 -316
  118. package/dist/components/dda-progressbar.js +1 -58
  119. package/dist/components/dda-radiobutton.js +1 -6
  120. package/dist/components/dda-range-slider.js +1 -93
  121. package/dist/components/dda-scroll-icon.d.ts +11 -0
  122. package/dist/components/dda-scroll-icon.js +1 -0
  123. package/dist/components/dda-search-input.js +1 -102
  124. package/dist/components/dda-segmented-tabs.js +1 -133
  125. package/dist/components/dda-select.js +1 -219
  126. package/dist/components/dda-sticky-footer.js +1 -132
  127. package/dist/components/dda-tabs.js +1 -91
  128. package/dist/components/dda-textarea.js +1 -31277
  129. package/dist/components/dda-toggle.js +1 -55
  130. package/dist/components/dda-tooltip.js +1 -6
  131. package/dist/components/dda-ui-card.js +1 -71
  132. package/dist/components/dda-vertical-stepper.js +1 -72
  133. package/dist/components/index.js +1 -34
  134. package/dist/components/p-BUv5-HOm.js +1 -0
  135. package/dist/components/p-BvEnF2US.js +1 -0
  136. package/dist/components/{p-C2Cs3ruo.js → p-C8EPNbJC.js} +1 -1
  137. package/dist/components/p-CS5LPB9B.js +1 -0
  138. package/dist/components/p-CedhFs0i.js +1 -0
  139. package/dist/components/p-CvcFE821.js +1 -0
  140. package/dist/components/{p-D7sJgBDk.js → p-DHgv6zQy.js} +1 -1
  141. package/dist/components/p-kJRBkcMn.js +1 -0
  142. package/dist/dda/dda.css +46 -6385
  143. package/dist/dda/dda.esm.js +1 -47
  144. package/dist/dda/index.esm.js +1 -29
  145. package/dist/dda/p-074f8dab.entry.js +1 -0
  146. package/dist/dda/p-1a0d490e.entry.js +1 -0
  147. package/dist/dda/p-1c42a19b.entry.js +1 -0
  148. package/dist/dda/p-1eb0af5a.entry.js +1 -0
  149. package/dist/dda/p-215629d6.entry.js +1 -0
  150. package/dist/dda/{p-eed4a104.entry.js → p-221613e8.entry.js} +1 -1
  151. package/dist/dda/{p-3835f3b7.entry.js → p-284bc873.entry.js} +1 -1
  152. package/dist/dda/{p-98c59aa8.entry.js → p-2f99af01.entry.js} +1 -1
  153. package/dist/dda/p-3003acb0.entry.js +1 -0
  154. package/dist/dda/p-5b314403.entry.js +1 -0
  155. package/dist/dda/{p-32746429.entry.js → p-5b669c2f.entry.js} +1 -1
  156. package/dist/dda/p-5fe5c488.entry.js +1 -0
  157. package/dist/dda/{p-95b87c55.entry.js → p-6577d6b5.entry.js} +1 -1
  158. package/dist/dda/{p-95e1a389.entry.js → p-6b358fa8.entry.js} +1 -1
  159. package/dist/dda/{p-eecfe091.entry.js → p-6e6ce5c8.entry.js} +1 -1
  160. package/dist/dda/{p-d8fd3f73.entry.js → p-70a20025.entry.js} +1 -1
  161. package/dist/dda/p-78ff5172.entry.js +1 -0
  162. package/dist/dda/{p-489a3711.entry.js → p-7afdde8a.entry.js} +1 -1
  163. package/dist/dda/{p-1acc0fda.entry.js → p-7ba8071a.entry.js} +1 -1
  164. package/dist/dda/{p-96741f45.entry.js → p-7d20f926.entry.js} +1 -1
  165. package/dist/dda/p-806de72d.entry.js +1 -0
  166. package/dist/dda/{p-0a86a74c.entry.js → p-922d33f8.entry.js} +1 -1
  167. package/dist/dda/{p-c39d196d.entry.js → p-9a9e372d.entry.js} +1 -1
  168. package/dist/dda/{p-0574c9df.entry.js → p-9c3b7bf8.entry.js} +1 -1
  169. package/dist/dda/p-BJOt1fv7.js +2 -0
  170. package/dist/dda/p-CvcFE821.js +1 -0
  171. package/dist/dda/{p-ee6d56fc.entry.js → p-a19303b5.entry.js} +1 -1
  172. package/dist/dda/{p-87d647e7.entry.js → p-c7a4e410.entry.js} +1 -1
  173. package/dist/dda/{p-8de4f35e.entry.js → p-c9e411cb.entry.js} +1 -1
  174. package/dist/dda/{p-3d57e957.entry.js → p-cd1d47cb.entry.js} +1 -1
  175. package/dist/dda/p-cfdbbd1a.entry.js +1 -0
  176. package/dist/dda/{p-e660a594.entry.js → p-d114dea3.entry.js} +1 -1
  177. package/dist/dda/{p-16f94322.entry.js → p-db565a30.entry.js} +1 -1
  178. package/dist/dda/{p-d06c5daf.entry.js → p-e6043272.entry.js} +1 -1
  179. package/dist/dda/p-ef52ec1e.entry.js +1 -0
  180. package/dist/dda/{p-9c86dc30.entry.js → p-f2c9d77a.entry.js} +1 -1
  181. package/dist/dda/{p-2630152f.entry.js → p-faccb313.entry.js} +1 -1
  182. package/dist/dda/{p-9416d8ec.entry.js → p-fdf0dce8.entry.js} +1 -1
  183. package/dist/esm/dda-accordion.entry.js +3 -3
  184. package/dist/esm/dda-alert.entry.js +5 -5
  185. package/dist/esm/dda-attach-file.entry.js +3 -3
  186. package/dist/esm/dda-avatar.entry.js +8 -8
  187. package/dist/{dda/dda-tabs.entry.js → esm/dda-banner-card.entry.js} +14 -49
  188. package/dist/esm/dda-banner.entry.js +3 -3
  189. package/dist/esm/dda-breadcrumb.entry.js +2 -2
  190. package/dist/esm/dda-button.entry.js +3 -3
  191. package/dist/esm/dda-checkbox.entry.js +3 -3
  192. package/dist/esm/dda-chip.entry.js +3 -3
  193. package/dist/esm/dda-credit-card.entry.js +3 -3
  194. package/dist/esm/dda-creditcard-field.entry.js +4 -4
  195. package/dist/esm/dda-dropdown.entry.js +4 -4
  196. package/dist/esm/dda-footer.entry.js +3 -3
  197. package/dist/esm/dda-header.entry.js +208 -23
  198. package/dist/esm/dda-home-banner.entry.js +9 -5
  199. package/dist/{dda/dda-breadcrumb.entry.js → esm/dda-home-carousel.entry.js} +16 -30
  200. package/dist/esm/dda-horizontal-stepper.entry.js +3 -3
  201. package/dist/esm/dda-input.entry.js +3 -3
  202. package/dist/esm/dda-link-button_2.entry.js +6 -6
  203. package/dist/esm/dda-number-field.entry.js +3 -3
  204. package/dist/esm/dda-pagination.entry.js +4 -4
  205. package/dist/esm/dda-phonefield.entry.js +3 -3
  206. package/dist/esm/dda-progressbar.entry.js +3 -3
  207. package/dist/esm/dda-range-slider.entry.js +3 -3
  208. package/dist/esm/dda-scroll-icon.entry.js +30 -0
  209. package/dist/esm/dda-search-input.entry.js +2 -2
  210. package/dist/esm/dda-segmented-tabs.entry.js +5 -5
  211. package/dist/esm/dda-select.entry.js +84 -15
  212. package/dist/esm/dda-sticky-footer.entry.js +41 -4
  213. package/dist/esm/dda-tabs.entry.js +4 -4
  214. package/dist/esm/dda-textarea.entry.js +1351 -16189
  215. package/dist/esm/dda-toggle.entry.js +3 -3
  216. package/dist/esm/dda-tooltip.entry.js +3 -3
  217. package/dist/esm/dda-ui-card.entry.js +3 -3
  218. package/dist/esm/dda-vertical-stepper.entry.js +2 -2
  219. package/dist/esm/dda.js +4 -31
  220. package/dist/esm/{index-CI_UcUy5.js → index-BJOt1fv7.js} +1 -1
  221. package/dist/esm/index.js +0 -10
  222. package/dist/esm/loader.js +3 -3
  223. package/dist/esm/parse-json-prop-CvcFE821.js +36 -0
  224. package/dist/types/components/dda-banner-card/dda-banner-card.d.ts +25 -0
  225. package/dist/types/components/dda-header/dda-header.d.ts +114 -4
  226. package/dist/types/components/dda-header/dda-header.stories.d.ts +187 -0
  227. package/dist/types/components/dda-header/nav-model.d.ts +19 -0
  228. package/dist/types/components/dda-home-banner/dda-home-banner.d.ts +4 -0
  229. package/dist/types/components/dda-home-banner/dda-home-banner.stories.d.ts +8 -0
  230. package/dist/types/components/dda-home-carousel/dda-home-carousel.d.ts +29 -0
  231. package/dist/types/components/dda-home-carousel/dda-home-carousel.stories.d.ts +20 -0
  232. package/dist/types/components/dda-scroll-icon/dda-scroll-icon.d.ts +11 -0
  233. package/dist/types/components/dda-scroll-icon/dda-scroll-icon.stories.d.ts +20 -0
  234. package/dist/types/components/dda-select/dda-select.d.ts +40 -5
  235. package/dist/types/components/dda-select/dda-select.stories.d.ts +25 -0
  236. package/dist/types/components/dda-sticky-footer/dda-sticky-footer.d.ts +70 -1
  237. package/dist/types/components/dda-sticky-footer/dda-sticky-footer.stories.d.ts +4 -0
  238. package/dist/types/components.d.ts +863 -21
  239. package/dist/types/utils/parse-json-prop.d.ts +1 -0
  240. package/package.json +4 -2
  241. package/dist/cjs/dda-link-button.cjs.entry.js +0 -51
  242. package/dist/cjs/dda-radiobutton.cjs.entry.js +0 -27
  243. package/dist/cjs/index-DXyiIgGK.js +0 -4637
  244. package/dist/components/dda-button2.js +0 -80
  245. package/dist/components/dda-link-button2.js +0 -81
  246. package/dist/components/dda-radiobutton2.js +0 -54
  247. package/dist/components/dda-tooltip2.js +0 -70
  248. package/dist/components/index2.js +0 -4622
  249. package/dist/components/p-C520q-ka.js +0 -1
  250. package/dist/components/p-CZO9Eawo.js +0 -1
  251. package/dist/components/p-_-I_65FG.js +0 -1
  252. package/dist/components/unique-id.js +0 -12
  253. package/dist/dda/dda-accordion.entry.js +0 -31
  254. package/dist/dda/dda-alert.entry.js +0 -57
  255. package/dist/dda/dda-attach-file.entry.js +0 -102
  256. package/dist/dda/dda-avatar.entry.js +0 -70
  257. package/dist/dda/dda-banner.entry.js +0 -30
  258. package/dist/dda/dda-button.entry.js +0 -47
  259. package/dist/dda/dda-checkbox.entry.js +0 -27
  260. package/dist/dda/dda-chip.entry.js +0 -25
  261. package/dist/dda/dda-creditcard-field.entry.js +0 -94
  262. package/dist/dda/dda-dropdown.entry.js +0 -75
  263. package/dist/dda/dda-footer.entry.js +0 -34
  264. package/dist/dda/dda-header.entry.js +0 -282
  265. package/dist/dda/dda-home-banner.entry.js +0 -208
  266. package/dist/dda/dda-horizontal-stepper.entry.js +0 -39
  267. package/dist/dda/dda-input.entry.js +0 -56
  268. package/dist/dda/dda-link-button.entry.js +0 -49
  269. package/dist/dda/dda-number-field.entry.js +0 -86
  270. package/dist/dda/dda-pagination.entry.js +0 -86
  271. package/dist/dda/dda-phonefield.entry.js +0 -271
  272. package/dist/dda/dda-progressbar.entry.js +0 -30
  273. package/dist/dda/dda-radiobutton.entry.js +0 -25
  274. package/dist/dda/dda-range-slider.entry.js +0 -55
  275. package/dist/dda/dda-search-input.entry.js +0 -63
  276. package/dist/dda/dda-segmented-tabs.entry.js +0 -96
  277. package/dist/dda/dda-select.entry.js +0 -183
  278. package/dist/dda/dda-sticky-footer.entry.js +0 -61
  279. package/dist/dda/dda-textarea.entry.js +0 -31241
  280. package/dist/dda/dda-toggle.entry.js +0 -25
  281. package/dist/dda/dda-ui-card.entry.js +0 -41
  282. package/dist/dda/dda-vertical-stepper.entry.js +0 -41
  283. package/dist/dda/index-CFIwfRqf.js +0 -4622
  284. package/dist/dda/p-271c5f91.entry.js +0 -1
  285. package/dist/dda/p-58de747b.entry.js +0 -1
  286. package/dist/dda/p-63754a93.entry.js +0 -1
  287. package/dist/dda/p-9541e108.entry.js +0 -1
  288. package/dist/dda/p-CI_UcUy5.js +0 -2
  289. package/dist/dda/p-b6190656.entry.js +0 -1
  290. package/dist/dda/p-c0da1e14.entry.js +0 -1
  291. package/dist/dda/p-c5ebf7df.entry.js +0 -1
  292. package/dist/dda/p-e8ca224f.entry.js +0 -1
  293. package/dist/dda/p-ea1720d2.entry.js +0 -1
  294. package/dist/dda/unique-id-B-I003EB.js +0 -12
  295. package/dist/esm/dda-link-button.entry.js +0 -49
  296. package/dist/esm/dda-radiobutton.entry.js +0 -25
  297. package/dist/esm/index-CFIwfRqf.js +0 -4622
@@ -1,4 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
+ import { parseJsonProp } from "../../utils/parse-json-prop";
3
+ import { normalizeQuickLinks } from "./nav-model";
2
4
  // Gives each header its own search input ids, so several headers on a page do not clash.
3
5
  let headerInstanceCount = 0;
4
6
  export class DdaHeader {
@@ -7,10 +9,16 @@ export class DdaHeader {
7
9
  this.firstLogoHref = '/';
8
10
  /** Link URL of the second logo on desktop and mobile. Default: `/`. */
9
11
  this.secondLogoHref = '/';
12
+ /** Hides the "other" side-menu links and their title. Default: `false`. */
13
+ this.hideOtherMenu = false;
14
+ /** The contrast option shown as selected. The header updates it when the user picks an option. Default: `normal`. */
15
+ this.selected_contrast = 'normal';
10
16
  /** Hides the Login link in the desktop toolbar and the side menu. */
11
17
  this.hide_login = false;
12
18
  /** `lang` attribute of the language buttons, the language of `language_text`. Default: `ar`. */
13
19
  this.language_lang = 'ar';
20
+ /** When `false`, the header renders no accessibility panel; the buttons only emit `accessibilitymenufunctionality`, so the page can open its own panel. Default: `true`. */
21
+ this.usePredesignedAccessibilityMenu = true;
14
22
  this.isMenuOpen = false;
15
23
  this.isSubMenuOpen = false;
16
24
  this.isSideSubMenuOpen = false;
@@ -23,6 +31,9 @@ export class DdaHeader {
23
31
  this.menu_button_label = 'Menu';
24
32
  this.openMenus = {};
25
33
  this.activeMenuIndex = null;
34
+ this.activeSubIndex = null;
35
+ /** Offset (px) from the top of the open dropdown to the opener of its third-level panel. */
36
+ this.activeSubTop = 0;
26
37
  this.toggleEscapeKey = (event) => {
27
38
  if (event.key === 'Escape') {
28
39
  if (this.isSearchOpen) {
@@ -33,6 +44,7 @@ export class DdaHeader {
33
44
  this.isSubMenuOpen = false;
34
45
  this.isSideSubMenuOpen = false;
35
46
  this.activeMenuIndex = null;
47
+ this.activeSubIndex = null;
36
48
  }
37
49
  };
38
50
  this.handleSearchSubmit = (event) => {
@@ -43,6 +55,7 @@ export class DdaHeader {
43
55
  input.focus();
44
56
  return;
45
57
  }
58
+ this.searchInput.emit(query);
46
59
  const searchEvent = this.searchSubmit.emit({ query });
47
60
  // Without a results URL there is nowhere to go; a cancelled event means the app routes itself.
48
61
  if (searchEvent.defaultPrevented || !this.search_action) {
@@ -82,11 +95,15 @@ export class DdaHeader {
82
95
  };
83
96
  this.handleOutsideMegaMenuClick = (event) => {
84
97
  if (this.activeMenuIndex !== null) {
85
- const megaMenu = document.querySelector('.megamenu-content');
86
- const isClickInsideMegaMenu = megaMenu && megaMenu.contains(event.target);
87
- const isClickOnToggleLink = event.target.closest('.showSub');
88
- if (!isClickInsideMegaMenu && !isClickOnToggleLink) {
98
+ // A click anywhere inside the top-level menu is not an "outside" click: the mega-menu
99
+ // content and the 3.x dropdown's second/third levels both render inside their <li>, which
100
+ // is inside .dda-mega-menu, so this covers every open level without naming a specific one
101
+ // (naming ".megamenu-content" alone, for example, always matches when any mega item exists,
102
+ // open or not, and would never let the 3.x dropdown branch be reached).
103
+ const isClickInsideMenu = event.target.closest('.dda-mega-menu');
104
+ if (!isClickInsideMenu) {
89
105
  this.activeMenuIndex = null;
106
+ this.activeSubIndex = null;
90
107
  }
91
108
  }
92
109
  };
@@ -116,36 +133,46 @@ export class DdaHeader {
116
133
  this.isMenuOpen = !this.isMenuOpen;
117
134
  };
118
135
  this.toggleSubMenu = (index, event) => {
119
- // this.isSubMenuOpen = !this.isSubMenuOpen;
120
136
  if (event)
121
137
  event.preventDefault();
122
138
  this.activeMenuIndex = this.activeMenuIndex === index ? null : index;
139
+ this.activeSubIndex = null;
123
140
  };
124
141
  this.toggleAccessibilty = () => {
125
- this.isAccessibiltyOpen = !this.isAccessibiltyOpen;
142
+ if (this.usePredesignedAccessibilityMenu) {
143
+ this.isAccessibiltyOpen = !this.isAccessibiltyOpen;
144
+ }
145
+ this.accessibilityMenuToggle.emit();
126
146
  };
127
147
  this.languagehandler = () => {
128
148
  this.languageSwitch.emit();
129
149
  };
130
150
  this.smTexthandler = () => {
151
+ this.selected_text_size = 'small';
131
152
  this.smTextSize.emit();
132
153
  };
133
154
  this.baseTexthandler = () => {
155
+ this.selected_text_size = 'normal';
134
156
  this.baseTextSize.emit();
135
157
  };
136
158
  this.lgTexthandler = () => {
159
+ this.selected_text_size = 'large';
137
160
  this.lgTextSize.emit();
138
161
  };
139
162
  this.normalContrasthandler = () => {
163
+ this.selected_contrast = 'normal';
140
164
  this.normalContrast.emit();
141
165
  };
142
166
  this.blindContrasthandler = () => {
167
+ this.selected_contrast = 'colorblind';
143
168
  this.blindContrast.emit();
144
169
  };
145
170
  this.redContrasthandler = () => {
171
+ this.selected_contrast = 'redweakness';
146
172
  this.redContrast.emit();
147
173
  };
148
174
  this.greenContrasthandler = () => {
175
+ this.selected_contrast = 'greenweakness';
149
176
  this.greenContrast.emit();
150
177
  };
151
178
  this.renderSubMenu = (subMenu, parentLi) => {
@@ -222,7 +249,7 @@ export class DdaHeader {
222
249
  return [
223
250
  h("label", { htmlFor: id, class: "visually-hidden" }, this.searchText || 'Search'),
224
251
  h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "search"),
225
- h("input", { name: this.search_input_name || 'q', type: "text", id: id, placeholder: this.searchText || 'Search', enterkeyhint: "search", autocomplete: "off", ref: ref }),
252
+ h("input", { name: this.search_input_name || 'q', type: "text", id: id, placeholder: this.text(this.search_input_placeholder, this.searchText || 'Search'), enterkeyhint: "search", autocomplete: "off", ref: ref }),
226
253
  ];
227
254
  }
228
255
  // The transparent style (<body class="transparent">) shows only at the top of the page.
@@ -239,15 +266,96 @@ export class DdaHeader {
239
266
  return [];
240
267
  }
241
268
  }
269
+ // Text-prop rule: an absent attribute uses the English default; an empty one means "show nothing".
270
+ text(value, fallback) {
271
+ return value === undefined || value === null ? fallback : value;
272
+ }
273
+ // The three columns of the accessibility panel. The desktop panel and the side-menu panel show
274
+ // the same content; only the radio group and ids differ, so both panels stay independent forms.
275
+ renderAccessibilityColumns(variant) {
276
+ var _a;
277
+ const suffix = variant === 'mobile' ? 'Mobile' : '';
278
+ const group = variant === 'mobile' ? 'themeselectionmobile' : 'themeselection';
279
+ const contrastTitle = this.text(this.contrast_title, 'Contrast');
280
+ const contrastDescription = this.text(this.contrast_description, 'Select your preferred contrast setting');
281
+ const readSpeakerLink = this.readSpeakerLink || this.read_speaker_link;
282
+ const screenReaderTitle = this.text(this.screen_reader_title, 'Screen Reader');
283
+ const screenReaderDescription = this.text(this.screen_reader_description, 'Listen to the content of the page by clicking play or listen');
284
+ const textSizeTitle = this.text(this.text_size_title, 'Text Size');
285
+ const textSizeDescription = this.text(this.text_size_description, 'Use the buttons below to increase or decrease the text size');
286
+ const options = [
287
+ { value: 'normal', label: this.text((_a = this.contrast_normal_text) !== null && _a !== void 0 ? _a : this.contrast_noraml_text, 'Normal'), id: 'Normal', handler: this.normalContrasthandler },
288
+ { value: 'colorblind', label: this.text(this.contrast_color_blind_text, 'Colours Blind'), id: 'ColoursBlind', handler: this.blindContrasthandler },
289
+ { value: 'redweakness', label: this.text(this.contrast_red_weakness_text, 'Red Weakness'), id: 'RedWeakness', handler: this.redContrasthandler },
290
+ { value: 'greenweakness', label: this.text(this.contrast_green_weakness_text, 'Green Weakness'), id: 'GreenWeakness', handler: this.greenContrasthandler },
291
+ ];
292
+ const sizes = [
293
+ { value: 'normal', label: 'A', handler: this.baseTexthandler },
294
+ { value: 'large', label: 'A+', handler: this.lgTexthandler },
295
+ { value: 'small', label: 'A-', handler: this.smTexthandler },
296
+ ];
297
+ return (h("div", { class: "dda-row" }, h("div", { class: "dda-col-md-4 dda-accessibility-item" }, contrastTitle && h("h2", { class: "dda-fs-body-lg dda-fw-700 mb-1" }, contrastTitle), h("form", null, h("fieldset", { class: "dda-theme-list" }, contrastDescription && (h("legend", null, h("p", { class: "mb-3" }, contrastDescription))), options.map(option => option.label ? (h("dda-radiobutton", { title_text: option.label, checked: this.selected_contrast === option.value, size: "sm", variants: "normal", supporting: "", group_name: group, input_id: `${option.id}${suffix}`, custom_class: "", component_mode: "", onClick: option.handler })) : null)))), readSpeakerLink && (h("div", { class: "dda-col-md-4 dda-accessibility-item" }, screenReaderTitle && h("h2", { class: "dda-fs-body-lg dda-fw-700 mb-1" }, screenReaderTitle), screenReaderDescription && h("p", { class: "mb-3" }, screenReaderDescription), h("div", { class: "rs_skip rsbtn rs_preserve", id: `readspeaker_button1${suffix}` }, h("a", { href: readSpeakerLink, rel: "nofollow", class: "rsbtn_play circle readspeaker", accessKey: variant === 'desktop' ? 'L' : undefined, "aria-label": this.text(this.screen_reader_link_label, 'Listen to this page using ReadSpeaker') }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "volume_up"))))), h("div", { class: "dda-col-md-4 dda-accessibility-item" }, textSizeTitle && h("h2", { class: "dda-fs-body-lg dda-fw-700 mb-1" }, textSizeTitle), textSizeDescription && h("p", { class: "mb-3" }, textSizeDescription), h("div", { class: "d-flex dda-gap-4 dda-text-size-buttons" }, sizes.map(size => (h("dda-button", { button_color: this.selected_text_size === size.value ? 'default-primary' : 'default-secondary', icon_button_shape: "circle", custom_class: "", size: "lg", onClick: size.handler }, size.label)))))));
298
+ }
299
+ // A tooltip must have text, so an empty tooltip attribute falls back to the default.
300
+ tooltip(value, fallback) {
301
+ return value ? value : fallback;
302
+ }
303
+ get loginLabel() {
304
+ return this.text(this.loginText, 'Login');
305
+ }
306
+ // 3.x hid Login when login-text was empty; hide_login is the 5.x switch.
307
+ get showLogin() {
308
+ return !this.hide_login && this.loginLabel !== '';
309
+ }
310
+ get languageLabel() {
311
+ return this.text(this.language_text, 'العربية');
312
+ }
313
+ renderAccessibilityButton(variant) {
314
+ const id = this.accessibility_button_id ? (variant === 'desktop' ? this.accessibility_button_id : `${this.accessibility_button_id}-sidemenu`) : undefined;
315
+ const iconClass = this.accessibility_button_icon_family || 'material-icons material-symbols-outlined';
316
+ const buttonClass = variant === 'desktop' ? 'tool-btn dda-btn btn-color-onsurface-secondary btn-size-sm btn-shape-circle accessibility-btn' : 'tool-btn accessibility-btn';
317
+ return (h("button", { id: id, name: variant === 'desktop' ? this.toggle_accessibility_button_name : this.accessibility_button_name, class: buttonClass, type: "button", "aria-expanded": this.usePredesignedAccessibilityMenu ? (this.isAccessibiltyOpen ? 'true' : 'false') : undefined, onClick: this.toggleAccessibilty }, h("i", { class: iconClass, "aria-hidden": "true" }, this.accessibility_button_icon_name || 'accessibility'), h("span", { class: "visually-hidden" }, this.text(this.accessibility_button_text, 'Accessibility'))));
318
+ }
319
+ renderDropdown(item, index) {
320
+ const id = this.menuPanelId(index);
321
+ // The third-level panels are siblings of the <ul>, not children of its <li> items. The <ul>
322
+ // scrolls (max-height), and a scroll container clips an absolutely positioned child on both
323
+ // axes, so a fly-out inside it cannot show. The open panel is aligned with its opener.
324
+ return (h("div", { id: id, class: { 'dda-default-submenu': true, 'is-visible': this.activeMenuIndex === index } }, h("ul", null, item.children.map((child, subIndex) => {
325
+ const hasSub = child.kind === 'dropdown';
326
+ const subId = `${id}-${subIndex}`;
327
+ const isOpen = this.activeSubIndex === subIndex;
328
+ return (h("li", { key: subIndex }, h("a", { id: child.id, href: hasSub ? '#' : child.href, class: { 'has-submenu': hasSub, active: isOpen || child.active }, "aria-expanded": hasSub ? String(isOpen) : undefined, "aria-controls": hasSub ? subId : undefined, "aria-current": child.active && !hasSub ? 'page' : undefined, onClick: (event) => {
329
+ if (!hasSub)
330
+ return;
331
+ event.preventDefault();
332
+ const opener = event.currentTarget;
333
+ const panel = opener.closest('.dda-default-submenu');
334
+ if (panel)
335
+ this.activeSubTop = opener.getBoundingClientRect().top - panel.getBoundingClientRect().top;
336
+ this.activeSubIndex = isOpen ? null : subIndex;
337
+ } }, child.label)));
338
+ })), item.children.map((child, subIndex) => {
339
+ if (child.kind !== 'dropdown')
340
+ return null;
341
+ const isOpen = this.activeSubIndex === subIndex;
342
+ return (h("div", { key: `sub-${subIndex}`, id: `${id}-${subIndex}`, class: { 'dda-default-subsubmenu': true, 'is-visible': isOpen }, style: isOpen ? { top: `${this.activeSubTop}px` } : undefined }, h("div", { class: "dda-default-subsubmenu-content" }, h("span", { class: "dda-submenu-title" }, child.submenuTitle || child.label), h("ul", null, child.children.map((leaf, leafIndex) => (h("li", { key: leafIndex }, h("a", { id: leaf.id, href: leaf.href, "aria-current": leaf.active ? 'page' : undefined }, leaf.label))))))));
343
+ })));
344
+ }
345
+ /** The id of the dropdown or mega panel that top-level item `index` opens. */
346
+ menuPanelId(index) {
347
+ return `${this.searchId}-submenu-${index}`;
348
+ }
349
+ renderMega(item, index) {
350
+ return (h("div", { id: this.menuPanelId(index), class: `megamenu-content ${this.activeMenuIndex === index ? 'showSubMenu' : ''}`, style: { display: this.activeMenuIndex === index ? 'block' : 'none' } }, h("div", { class: "megamenu-item dda-container" }, h("div", { class: "dda-row" }, item.columns.map((column, columnIndex) => (h("div", { class: "dda-col-md-3", key: columnIndex }, column.title && h("h3", { class: "mega-menu-title" }, column.title), h("ul", null, column.links.map((link, linkIndex) => (h("li", { key: linkIndex }, h("a", { class: "megamenu-link", href: link.href }, h("span", { class: "dda-btn btn-color-onsurface-secondary btn-size-sm icon-btn-default" }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, link.icon)), h("span", { class: "text-wrap" }, h("span", { class: "title-text dda-fs-body-lg dda-fw-700" }, link.label), link.description && h("span", { class: "dda-fs-tagline-lg dda-fw-400" }, link.description))))))))))), h("button", { name: "close-mega-menu", class: "close-btn close_mega-menu", "aria-label": "Close Sidebar", onClick: () => (this.activeMenuIndex = null) }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")))));
351
+ }
242
352
  render() {
243
353
  const sideMenuItems = this.parseJsonArray(this.sideMenuItems);
244
- const quickLinks = this.parseJsonArray(this.quickLinks);
245
- const setActiveMenuIndex = (index) => {
246
- this.activeMenuIndex = index;
247
- };
354
+ const quickLinks = normalizeQuickLinks(this.quickLinks);
355
+ const otherMenuItems = parseJsonProp(this.otherMenuItems, 'other-menu-items');
248
356
  // The transparent style is opt-in at page level (<body class="transparent">);
249
357
  // CSS shows the white or colored logo to match.
250
- return (h("header", { key: '43166a6b01154f028167b441653d529995f70ddf', class: "dda-header" }, h("div", { key: 'a297117e6057f9629884c39db1c3babdeabf542d', class: "dda-head-logo" }, h("a", { key: '0214471f1b3afbf9ddac97790d36e224430d9f29', href: this.firstLogoHref, class: "govt-logo" }, h("img", { key: '14fc6908a033e635f12f678b0cf3f0eb57656da2', class: "logo-colored", src: this.firstLogoSrc, alt: this.firstLogoAlt }), h("img", { key: 'f44df6db1a4c24ade54f38bda4e693007ba32643', class: "logo-white", src: this.firstLogoWhiteSrc || this.firstLogoSrc, alt: this.firstLogoAlt })), h("a", { key: '875d0b2b37fd65c239e8727b95b8e430d578146c', href: this.secondLogoHref, class: "entt-logo" }, h("img", { key: '65e49ed851a16be54d97827f7086f04939508b68', class: "logo-colored", src: this.secondLogoSrc, alt: this.secondLogoAlt }), h("img", { key: '2fdd1ec129ab3d3c2647ae009f3573140bf5b642', class: "logo-white", src: this.secondLogoWhiteSrc || this.secondLogoSrc, alt: this.secondLogoAlt }))), h("div", { key: 'b8b18a8497c6942697876b7ca0d6d00de58bc9c5', class: "dda-menu-container" }, h("div", { key: 'b43c4406281640978e3396c91cd6de75122eeb5a', class: "dda-main-navigation" }, h("div", { key: 'b1209cd2a8d120e996d69069985ba30c800c2097', class: `dda-menu-overley ${this.isMenuOpen ? 'show-overley' : ''}`, onClick: this.toggleMenu }), h("div", { key: '175e76801f7075751034c57b686957f830920858', class: "hamburger-menu", onClick: this.toggleMenu }, h("dda-tooltip", { key: '789d7b7454d9efc21daf581c4c925dc5c4cf5d56', title_text: "Menu", position: "top", class: "d-block" }, h("button", { key: '0fadce5552c1b6887485f79141579f03addbeeff', type: "button", class: "hamburger-menu-btn", name: this.hamburger_menu_button_name }, h("span", { key: 'da32b9b73992ddf8b628ff5a59c0983ea232e168', class: "hamburger-line" }), h("span", { key: 'dd5183d61830656cfbb62d153601c9f1b9ce3e27', class: "hamburger-menu-text" }, this.menu_button_label)))), h("div", { key: '35bb4d17184d78cc82f10575c405671d2399c083', class: "dda-sidemenu", style: { display: this.isMenuOpen ? 'block' : '', insetInlineStart: this.isMenuOpen ? '0px' : '' } }, h("div", { key: '8b872eedae11463b79109b86aaebe79049417a0a', class: "dda-sidemenu-content" }, h("p", { key: 'b60ca2503ec258a0a2c929e58a2b60ad6a66be28', class: "dda-side-nav-title" }, "Quick Links"), h("ul", { key: '97a5b237524a897a1dd27cc35dc82f2978b7f88c', class: "main_side_menu" }, sideMenuItems.map((menu, index) => {
358
+ return (h("header", { key: '32433ee95f1ae35e0f74ccb5d6b096f589695e98', class: "dda-header" }, h("div", { key: '9ad5e7bae10b14edb5e4b425a398f5558d5f9235', class: "dda-head-logo" }, h("a", { key: 'eb6b3a1a8a251b36403032991208c6851fe13c8f', href: this.firstLogoHref, class: "govt-logo" }, h("img", { key: 'ad7ac43b73cf44d723741de98868bad4dd851671', class: "logo-colored", src: this.firstLogoSrc, alt: this.firstLogoAlt }), h("img", { key: '18ea73459cb1872774664b5f462d5ef62aa6797e', class: "logo-white", src: this.firstLogoWhiteSrc || this.firstLogoSrc, alt: this.firstLogoAlt })), h("a", { key: '0eefe4a0f33ffdf3985afae932e66913fd13a8f3', href: this.secondLogoHref, class: "entt-logo" }, h("img", { key: 'df4932bc5a0f04aeedbc96042eaa45bb8618f6be', class: "logo-colored", src: this.secondLogoSrc, alt: this.secondLogoAlt }), h("img", { key: 'ba7c80b44d063cae03ba9383791e6fd3130847e7', class: "logo-white", src: this.secondLogoWhiteSrc || this.secondLogoSrc, alt: this.secondLogoAlt }))), h("div", { key: 'f65d90eb129e728b5e2765dc56edb7f810cdfd35', class: "dda-menu-container" }, h("div", { key: '0350e48d6b954849223565e1bf7f12ae7412186d', class: "dda-main-navigation" }, h("div", { key: '94b7d46db89ebfdaf56e0e42b7e1f169ee5c0ace', class: `dda-menu-overley ${this.isMenuOpen ? 'show-overley' : ''}`, onClick: this.toggleMenu }), h("div", { key: 'f9f95ecec3c42ebcf2b19f648aa58e66992d7639', class: "hamburger-menu", onClick: this.toggleMenu }, h("dda-tooltip", { key: 'c54f460c9594e0d6419d6be238cef43cf36131d0', title_text: this.tooltip(this.menu_button_label, 'Menu'), position: "top", class: "d-block" }, h("button", { key: '5eed1a83dddc0611d452e5b592ce0a94aa4c41e0', type: "button", class: "hamburger-menu-btn", name: this.hamburger_menu_button_name }, h("span", { key: 'aed42c584a5bbcc1a06e932d613137d3aea6ba34', class: "hamburger-line" }), h("span", { key: 'a77cbf53977e5c6347a3847f2199487870a9dc9e', class: "hamburger-menu-text" }, this.menu_button_label)))), h("div", { key: '8da7f3edac3d3ad3cc73e29b6aa794c18b2d4199', class: "dda-sidemenu", style: { display: this.isMenuOpen ? 'block' : '', insetInlineStart: this.isMenuOpen ? '0px' : '' } }, h("div", { key: '444bd4291f474d6f50d47e1aab4a4a275d0a5028', class: "dda-sidemenu-content" }, this.text(this.sideMainMenuTitle, 'Quick Links') && h("p", { key: '0794f5ea9a0ea1750b5fb7d3f84002368d498177', class: "dda-side-nav-title" }, this.text(this.sideMainMenuTitle, 'Quick Links')), h("ul", { key: 'bc0f6a674f6a9aa5ce1678a5942147e615393ee9', class: "main_side_menu" }, sideMenuItems.map((menu, index) => {
251
359
  const currentIndex = `menu-${index}`;
252
360
  return (h("li", { key: currentIndex }, h("a", { href: menu.href, class: menu.subMenu && menu.subMenu.length > 0 ? 'showSub' : '', onClick: (e) => {
253
361
  if (menu.subMenu && menu.subMenu.length > 0) {
@@ -255,7 +363,14 @@ export class DdaHeader {
255
363
  this.toggleSidebarSubMenu(currentIndex);
256
364
  }
257
365
  } }, menu.label), this.renderSubMenu(menu.subMenu, currentIndex)));
258
- }))), h("div", { key: '2068b95884e81e7d45fa6d172bceaf8e9fcf3a5f', class: "dda-sidemenu-bottom" }, h("div", { key: 'f8fad40c7a6bcd89445caff8312b1d75446a2c39', class: "dda-sidemenu-gov-logo" }, h("a", { key: 'fd3cf7324d60503323536756c46a3e2269dd76be', href: this.firstLogoHref, class: "govt-logo mb-2" }, h("img", { key: '0c072aea99471241c4beed44aa45a783487109d1', class: "", src: this.firstLogoSrc, alt: this.firstLogoAlt }))), h("div", { key: 'd5229b78918d3f5141bdd6508bc9290dd82cff2e', class: "dda-toolbar-menu-sidemenu" }, h("ul", { key: 'c3a5fea233575cc41086f006d83c121637249ffa' }, h("li", { key: '05b8380b1bc2904dde6325c75e505c791d80d3b9' }, h("button", { key: '77bf98403406f1805e7c124868697ce93fa909c1', name: this.accessibility_button_name, class: "tool-btn accessibility-btn", type: "button", "aria-expanded": this.isAccessibiltyOpen ? 'true' : 'false', onClick: this.toggleAccessibilty }, h("i", { key: 'ba8ac2e906459c4f1146b8914fee17bd1e61bd31', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "accessibility"), h("span", { key: '40fdbbf2e61ab20d38b7393367b0307dbc79f653', class: "visually-hidden" }, "Accessibility"))), h("li", { key: 'e0967bfcee2d3cfced038afcd8d71f9b68b1c6c2' }, h("button", { key: '15b7f3fd0f8a88bf1e5b55c9193af6ce2f562766', name: this.language_button_name, class: "tool-btn", type: "button", lang: this.language_lang, onClick: this.languagehandler }, this.language_text || 'العربية')), !this.hide_login && (h("li", { key: '344c7ea8f9f39fc6b9186fae9f9d0e2a29812bd0' }, h("dda-link-button", { key: 'ddd23793936494095f92199ca8aa3b6542e057ee', button_color: "onsurface-secondary", start_icon: this.loginIcon || "sentiment_satisfied", custom_class: "tool-btn", href: this.loginLink, button_shape: "circle", size: "sm" }, this.loginText || "Login")))))), h("button", { key: 'c98eded45379cc3a5329754dbc20ee60b6b25613', name: this.close_menu_button_name, class: "close-btn side-nav-close-btn", "aria-label": "Close Sidebar", onClick: this.toggleMenu }, h("i", { key: '4e9757b2a1de7194d952caffefdf312a05b71f32', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")), h("div", { key: 'b0469e9a46224bfcd216cff235fead2897f50d2b', class: "dda-accessibility hide-accessibility mobile-accessibility", style: { display: this.isAccessibiltyOpen ? 'block' : 'none' } }, h("div", { key: '93defee85dde89cfa6e67e6b3ca370353c5e6222', class: "dda-row" }, h("div", { key: 'c481f64ad8865cfca1f5b0bc0354172aeedaabcd', class: "dda-col-md-4 dda-accessibility-item" }, h("h2", { key: '73937142ec896b3f45dad228c2877835162b79ac', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Contrast"), h("form", { key: '16ff3eb668308d3de610b7d31fe09703f80fdf92' }, h("fieldset", { key: 'e60d6ee03d81c4227083d0af770a169612f287d3', class: "dda-theme-list" }, h("legend", { key: '5e3bc4f036fd51720049c5f0443ae63717b6f8dc' }, h("p", { key: '374381cf5812b6f71abba5ff320b061b80a3f62d', class: "mb-3" }, "Select your preferred contrast setting ")), h("dda-radiobutton", { key: 'f51398e186eec4a8e432d54fa04b56768614889e', title_text: "Normal", checked: true, size: "sm", variants: "normal", supporting: "", group_name: "themeselectionmobile", input_id: "NormalMobile", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.normalContrasthandler }), h("dda-radiobutton", { key: '0903e68c4d56436e1375d11eace6012b0abdc056', title_text: "Colours Blind", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselectionmobile", input_id: "ColoursBlindMobile", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.blindContrasthandler }), h("dda-radiobutton", { key: '654338fbc2ea136382ba8317a25860e1c6ef035c', title_text: "Red Weakness", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselectionmobile", input_id: "RedWeaknessMobile", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.redContrasthandler }), h("dda-radiobutton", { key: '7fcb7c39b886f225ded3dfb785ef64a8a96cd3cd', title_text: "Green Weakness", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselectionmobile", input_id: "GreenWeaknessMobile", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.greenContrasthandler })))), this.readSpeakerLink && (h("div", { key: '670590bb033f934dd1c2a0ff2389852bdf6f6361', class: "dda-col-md-4 dda-accessibility-item" }, h("h2", { key: 'bae3c03019f94931a0b2916e2b0a27c4451fd73c', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Screen Reader"), h("p", { key: '5b76889779669cabb33daee5dc521365c69ad96f', class: "mb-3" }, "Listen to the content of the page by clicking play or listen"), h("div", { key: '47c3a9f7d45b9a126906eb096eac60bede592c4a', class: "rs_skip rsbtn rs_preserve", id: "readspeaker_button1" }, h("a", { key: 'b2ebbc608601aa1fe5820b3fe87f9666ff0fb93d', href: this.readSpeakerLink, rel: "nofollow", class: "rsbtn_play circle readspeaker", accessKey: "L", "aria-label": "Listen to this page using ReadSpeaker" }, h("i", { key: 'c3b834ef498cde814d013761d3a37aecb5b4098b', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "volume_up"))))), h("div", { key: 'f24c9312dddde483e7ca60ed25c9627b179e6982', class: "dda-col-md-4 dda-accessibility-item" }, h("h2", { key: '22f54cd6e591377091ec8af31428ae53a5e0d4c8', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Text Size"), h("p", { key: 'ae950393bfe69fdbff4b858cf293e1add02e5e66', class: "mb-3" }, "Use the buttons below to increase or decrease the text size"), h("div", { key: '09bf848262d342e678c6801eec642260226b60ad', class: "d-flex dda-gap-4" }, h("dda-button", { key: 'd5c3e531d557d74bb976b8fa35a1b228798b9b6f', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.baseTexthandler }, "A"), h("dda-button", { key: '7ed5564d6d99ace659b878510b412e0028a21b97', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.lgTexthandler }, "A+"), h("dda-button", { key: 'fbcd2b704dbddbd85c022210cd85824b67fe1bc1', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.smTexthandler }, "A-")))), h("button", { key: '0354ef95cce6976ea90307fa3e23a959b91136bf', name: this.close_accessibility_button_name, class: "close-btn close_accessibility", "aria-label": "Close Accessibility", onClick: this.toggleAccessibilty }, h("i", { key: 'f4f26c5ff5dafb974c1f0325ae04f235f9eb9bc2', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")))), h("div", { key: '3555e5a4a533f570fc36408d45bba80c23645886' }, h("ul", { key: 'ebadb135c7a33a8969fce9c1459f0ae7d9014f43', class: "dda-mega-menu" }, quickLinks.map((link, index) => (h("li", { key: index }, h("a", { href: link.subMenu && link.subMenu.length > 0 ? '#' : link.href, onClick: link.subMenu && link.subMenu.length > 0 ? (e) => this.toggleSubMenu(index, e) : undefined, class: link.subMenu && link.subMenu.length > 0 ? `showSub ${this.activeMenuIndex === index ? 'icon_arrow' : ''}` : '' }, link.label), link.subMenu && link.subMenu.length > 0 && (h("div", { class: `megamenu-content ${this.activeMenuIndex === index ? 'showSubMenu' : ''}`, style: { display: this.activeMenuIndex === index ? 'block' : 'none' } }, h("div", { class: "megamenu-item dda-container" }, h("div", { class: "dda-row" }, h("div", { class: "dda-col-md-3" }, h("h3", { class: "mega-menu-title" }, link.menuLabel), h("ul", null, link.subMenu.map((subItem, subIndex) => (h("li", { key: subIndex }, h("a", { class: "megamenu-link", href: subItem.href }, h("span", { class: "dda-btn btn-color-onsurface-secondary btn-size-sm icon-btn-default" }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, subItem.icon)), h("span", { class: "text-wrap" }, h("span", { class: "title-text dda-fs-body-lg dda-fw-700" }, subItem.title), h("span", { class: "dda-fs-tagline-lg dda-fw-400" }, subItem.description))))))))), h("button", { name: "close-mega-menu", class: "close-btn close_mega-menu", "aria-label": "Close Sidebar", onClick: () => setActiveMenuIndex(null) }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))))))))))), h("div", { key: '854e24db6dbec2bac0853d6071d46b7e5c221b35', class: "dda-mobile-entt-logo" }, h("a", { key: 'cd70858d48dc1d480e50bfa33b5f306cbdad6f4c', href: this.secondLogoHref, class: "entt-logo" }, h("img", { key: 'f43c2a7dbf7b67ba9b498eeece2ebe9467883fb6', class: "logo-colored", src: this.secondLogoSrc, alt: this.secondLogoAlt }), h("img", { key: '0e89c9bec4ff2f1d9ef2d1eda15ebe3b7c676446', class: "logo-white", src: this.secondLogoWhiteSrc, alt: this.secondLogoAlt }))), h("div", { key: 'a5474b5c7addd4133551987abe5df14306e343c2', class: "dda-mobile-search" }, h("button", { key: 'a36f8468c93b5c8510311683bf7215c7d9bebb23', name: this.search_button_name, class: "tool-btn", type: "button", "aria-expanded": this.isSearchOpen ? 'true' : 'false', "aria-controls": `${this.searchId}-mobile-panel`, onClick: this.isSearchOpen ? this.closeMobileSearch : this.openMobileSearch, ref: el => (this.mobileSearchButton = el) }, h("span", { key: '402360581f2bae5f39d1ae869692933e702ffd3a', class: "visually-hidden" }, "Search"), h("i", { key: '7c14bb124fed07e91007fe3e6d4218490cc650e4', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "search"))), h("div", { key: 'b7ed041b502925f0637e1e0ed541c0b730430a22', id: `${this.searchId}-mobile-panel`, class: "dda-mobile-search-panel", hidden: !this.isSearchOpen }, h("form", { key: '62d1886a6b174d0d20a2d4e49242cff4e3b858e2', class: "dda-mobile-search-form", role: "search", method: "get", action: this.search_action, onSubmit: this.handleSearchSubmit }, this.renderSearchInput(`${this.searchId}-mobile`, el => (this.mobileSearchInput = el)), h("button", { key: '70ccebc977fbeba61428f2c5198f113bc2957df5', type: "button", class: "dda-mobile-search-close", "aria-label": "Close search", onClick: this.closeMobileSearch }, h("i", { key: '057723af96658930cc885323288117d8c0c54fe2', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")))), h("div", { key: '2ab48d0aac2875a2ed5930a10fdd79ec0943b216', class: "dda-toolbar-menu" }, h("ul", { key: 'c3d6e3416dde1ea5a6cf62d01de97b7c0323c957' }, h("li", { key: 'efdcdf6436d2a6646f3eeaacd34f1078196b10a1' }, h("dda-tooltip", { key: '8ccd71882a96427444ed789ad9eca0e489b99892', title_text: "Search", description: "", position: "top" }, h("form", { key: '25dbdf52a3cbfad3fca2f81c07f6ba02042bd4e4', class: "dda-search dda-btn btn-color-onsurface-secondary btn-size-sm btn-shape-circle tool-btn", role: "search", method: "get", action: this.search_action, onSubmit: this.handleSearchSubmit }, this.renderSearchInput(this.searchId)))), h("li", { key: '1a5b626026b141cd806fdfa8d88c16f6d08491b0' }, h("dda-tooltip", { key: '614f5af0b5193f9b170530249328b5414a4e25bb', title_text: "Accessibility", position: "top" }, h("button", { key: '73c599b295f27b8171f5b7765dd60b321e874d1c', name: this.toggle_accessibility_button_name, class: "tool-btn dda-btn btn-color-onsurface-secondary btn-size-sm btn-shape-circle accessibility-btn", type: "button", "aria-expanded": this.isAccessibiltyOpen ? 'true' : 'false', onClick: this.toggleAccessibilty }, h("i", { key: 'a0d66112601707ac140afe1ac81f985b78c76365', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "accessibility"), h("span", { key: 'f25a594c8ee3f0e292aa2647a892b2f5f6b87af7', class: "visually-hidden" }, "Accessibility"))), h("div", { key: '5750bf8f5a0a14bad32bb2bf1da8f0b89a97d333', class: "dda-accessibility-wrap" }, h("div", { key: '737965b7dd14b33a84c1c8dd0fd2cad3a7141b2b', class: "dda-accessibility hide-accessibility", style: { display: this.isAccessibiltyOpen ? 'block' : 'none' } }, h("div", { key: '1aaffffa4c83f9ee065bc8398c0aeba88afb76af', class: "dda-row" }, h("div", { key: 'e8337c48645661d2d381b367a8a4fe3c9564dad6', class: "dda-col-md-4 dda-accessibility-item" }, h("h2", { key: '0a0ef35d619401eb9e7a9094dbd6481066862bcd', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Contrast"), h("form", { key: '693850d5a96f978d7ae350c2fa7c71d1b23fe114' }, h("fieldset", { key: '15ec283264f3505b50251a148f256810f398f3ff', class: "dda-theme-list" }, h("legend", { key: '3b35f9bef60a82c89b75df5c0f02828671625d34' }, h("p", { key: '75898cdac310529ad1e3c838995385c53b7d62ab', class: "mb-3" }, "Select your preferred contrast setting ")), h("dda-radiobutton", { key: '2d720c4f9c5bd3e4c784040eb35bd5ce54a08d1c', title_text: "Normal", checked: true, size: "sm", variants: "normal", supporting: "", group_name: "themeselection", input_id: "Normal", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.normalContrasthandler }), h("dda-radiobutton", { key: '1ba2595eacc84a62581722388a2995acd69181b5', title_text: "Colours Blind", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselection", input_id: "ColoursBlind", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.blindContrasthandler }), h("dda-radiobutton", { key: '529da9f6cea575e7d7f2aaee681b025de4216200', title_text: "Red Weakness", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselection", input_id: "RedWeakness", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.redContrasthandler }), h("dda-radiobutton", { key: 'a7893807dbea15a170bdc28be26f279ffa9b0735', title_text: "Green Weakness", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselection", input_id: "GreenWeakness", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.greenContrasthandler })))), this.readSpeakerLink && (h("div", { key: '771a1c410dd2d23369dd9288d92cdca8fe668d7d', class: "dda-col-md-4 dda-accessibility-item" }, h("h2", { key: 'eb442afea6c3c89a0889199ed2456610a4317be6', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Screen Reader"), h("p", { key: 'b44535f044e585f9fc866a0f9bfb8ff18891ad25', class: "mb-3" }, "Listen to the content of the page by clicking play or listen"), h("div", { key: '597d520cb2cae3c04579cbc5c3dd4c64bde439d0', class: "rs_skip rsbtn rs_preserve", id: "readspeaker_button1" }, h("a", { key: 'a477ebdd7ea39a8375797aaedb8fa3fbb63b5bb2', href: this.readSpeakerLink, rel: "nofollow", class: "rsbtn_play circle readspeaker", accessKey: "L", "aria-label": "Listen to this page using ReadSpeaker" }, h("i", { key: '6e0a70c58ab21cfe2e51dd5cde2b3d1e0d5567fe', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "volume_up"))))), h("div", { key: '569ee1ca086374701b87b831a282237aaee89696', class: "dda-col-md-4 dda-accessibility-item" }, h("h2", { key: '8011557e79f3b2a2cc9ae9204558d4f342857b72', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Text Size"), h("p", { key: '412bc7065a2d767b05e045fc008fbbb7c2415193', class: "mb-3" }, "Use the buttons below to increase or decrease the text size"), h("div", { key: '863736e26da3cfd0250953f3477d9dcc630bba09', class: "d-flex dda-gap-4" }, h("dda-button", { key: '3bed6701006f848c1a398cfebc09887b5708b9b9', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.baseTexthandler }, "A"), h("dda-button", { key: '6b0c58960dfc0ef027cde9f23aa2e4604e5ae82b', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.lgTexthandler }, "A+"), h("dda-button", { key: '36859719ec855a9c820ee785f835babe53d66a13', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.smTexthandler }, "A-")))), h("button", { key: '5eeb28eeff4092f5276c7ad5799b97016921298d', name: this.close_accessibility_button_name, class: "close-btn close_accessibility", "aria-label": "Close Sidebar", onClick: this.toggleAccessibilty }, h("i", { key: 'f304a9d206b14774ed885524ad870e410cd838a9', class: "materinal-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))))), h("li", { key: '4afaf5c712bf481eb733c43cedaefc85ae3d5868' }, h("dda-tooltip", { key: '09c796a5ca271097549e63c124ebaa3a3c0a65f6', title_text: "Language", position: "top" }, h("dda-button", { key: '36a733b9fce2fe1e9690bcb46280c29aba29030b', button_color: "onsurface-secondary", custom_class: "tool-btn", button_shape: "circle", size: "sm", lang: this.language_lang, onClick: this.languagehandler }, this.language_text || 'العربية'))), !this.hide_login && (h("li", { key: 'ea2b5b451cc255cfe85b594f689d7fdd858c04c4' }, h("dda-tooltip", { key: '7ec58a5f79d2c7001b05aa682c63256eb4e7686f', title_text: this.loginText || "Login", position: "top" }, h("dda-link-button", { key: 'eac673f812227a6878fd1efba63ec1cd4adfacd5', button_color: "onsurface-secondary", start_icon: this.loginIcon || "sentiment_satisfied", custom_class: "tool-btn", href: this.loginLink, button_shape: "circle", size: "sm" }, this.loginText || "Login")))))))));
366
+ })), !this.hideOtherMenu && otherMenuItems.length > 0 && [
367
+ this.sideOtherMenuTitle && h("p", { key: '9c7b8d1dd2d206f984951cef4dad79551c026dcc', class: "dda-side-nav-title" }, this.sideOtherMenuTitle),
368
+ h("ul", { key: '42001d954d19a80a7ad6328aeb13bc8f5adfba8d', class: "main_side_menu" }, otherMenuItems.map((item, index) => (h("li", { key: `other-${index}` }, h("a", { href: item.href, class: item.active === 'true' ? 'active' : '', "aria-current": item.active === 'true' ? 'page' : undefined }, item.label))))),
369
+ ]), h("div", { key: '06f5f6931ad39ec607aa10d97c14dd12ab0d4e01', class: "dda-sidemenu-bottom" }, h("div", { key: '108a9c80301683c910cc80e81c2b533b76d821a9', class: "dda-sidemenu-gov-logo" }, h("a", { key: '4be0fdf0cd40f5e8cff36bbad4acf63d97935bd8', href: this.firstLogoHref, class: "govt-logo mb-2" }, h("img", { key: 'b8b00bf0d624299da3ff2f2b824b951620c40be9', class: "", src: this.firstLogoSrc, alt: this.firstLogoAlt }))), h("div", { key: 'b0719b41aad4f75366d54e25a967bc8d67952918', class: "dda-toolbar-menu-sidemenu" }, h("ul", { key: '52ee920078fbb73ce827fc65e372d2899568a943' }, h("li", { key: '768b6f0f85f1304136dd23d0a3d5a9c213600810' }, this.renderAccessibilityButton('mobile')), this.languageLabel && (h("li", { key: 'ae2ee87232999ae08a38378c475c38f742b5bf0c' }, h("button", { key: '7c08d026b461becf44c5222a040c2544bb8c6b7c', name: this.language_button_name, class: "tool-btn", type: "button", lang: this.language_lang, onClick: this.languagehandler }, this.languageLabel))), this.showLogin && (h("li", { key: '5f4f33fca15860af56e9d9d45149f1c391cd31df' }, h("dda-link-button", { key: '4af11a09e4d414677b65707f228d3a8bdf85bc04', button_color: "onsurface-secondary", start_icon: this.loginIcon || 'sentiment_satisfied', custom_class: "tool-btn", href: this.loginLink, button_shape: "circle", size: "sm" }, this.loginLabel)))))), h("button", { key: 'a2ff2fbce6f369d570ad25efebf6f8f0de85cc04', name: this.close_menu_button_name, class: "close-btn side-nav-close-btn", "aria-label": "Close Sidebar", onClick: this.toggleMenu }, h("i", { key: '0334c91beef504626934e695b555d67a9bedbdf6', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")), this.usePredesignedAccessibilityMenu && (h("div", { key: '6668fd9fa40b85d119100f59bf5055ae7767db23', class: "dda-accessibility hide-accessibility mobile-accessibility", style: { display: this.isAccessibiltyOpen ? 'block' : 'none' } }, this.renderAccessibilityColumns('mobile'), h("button", { key: 'bdba830a83267399804cf30efb4b454b6dd0bbe0', name: this.close_accessibility_button_name, class: "close-btn close_accessibility", "aria-label": "Close Accessibility", onClick: this.toggleAccessibilty }, h("i", { key: '0b9a6819c1bff1b52662386aca02110c6ab8c131', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))))), h("div", { key: 'bd9ec32ec674f8738a78ff8f53108fdf682a20e0' }, h("ul", { key: '38ba8c0d6525077ebfe88c69b1ecfd0fb43e2608', class: "dda-mega-menu" }, quickLinks.map((link, index) => {
370
+ const hasSub = link.kind !== 'link';
371
+ const isOpen = this.activeMenuIndex === index;
372
+ return (h("li", { key: index }, h("a", { href: hasSub ? '#' : link.href, onClick: hasSub ? (e) => this.toggleSubMenu(index, e) : undefined, class: { showSub: hasSub, icon_arrow: hasSub && isOpen, active: link.active }, "aria-expanded": hasSub ? String(isOpen) : undefined, "aria-controls": hasSub ? this.menuPanelId(index) : undefined, "aria-current": link.active && !hasSub ? 'page' : undefined }, link.label), link.kind === 'dropdown' && this.renderDropdown(link, index), link.kind === 'mega' && this.renderMega(link, index)));
373
+ })))), h("div", { key: '005102cc2dffc29276815160605772370a3bc0cc', class: "dda-mobile-entt-logo" }, h("a", { key: 'df6a1b8c76455d114c08500ae6502be62f06858c', href: this.secondLogoHref, class: "entt-logo" }, h("img", { key: '9a04ddd255475900f45086120543260bfee0de29', class: "logo-colored", src: this.secondLogoSrc, alt: this.secondLogoAlt }), h("img", { key: 'f7b56f89406f1df4d1d64a5bb5b9d7b188b7d423', class: "logo-white", src: this.secondLogoWhiteSrc, alt: this.secondLogoAlt }))), h("div", { key: 'e8b285e912a1cb2acc55c11615f07ce6d7e6d337', class: "dda-mobile-search" }, this.mobileMenuSearchUrl ? (h("a", { id: this.mobileMenuSearchId, href: this.mobileMenuSearchUrl, class: "tool-btn" }, h("span", { class: "visually-hidden" }, this.searchText || 'Search'), h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "search"))) : (h("button", { id: this.mobileMenuSearchId, name: this.search_button_name, class: "tool-btn", type: "button", "aria-expanded": this.isSearchOpen ? 'true' : 'false', "aria-controls": `${this.searchId}-mobile-panel`, onClick: this.isSearchOpen ? this.closeMobileSearch : this.openMobileSearch, ref: el => (this.mobileSearchButton = el) }, h("span", { class: "visually-hidden" }, this.searchText || 'Search'), h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "search")))), !this.mobileMenuSearchUrl && (h("div", { key: 'edc649b51bdce87a49162dd8e2d29fa1e5525d50', id: `${this.searchId}-mobile-panel`, class: "dda-mobile-search-panel", hidden: !this.isSearchOpen }, h("form", { key: 'e6185f22e6d16c3ecdf3837917f6f5ac12483fa4', class: "dda-mobile-search-form", role: "search", method: "get", action: this.search_action, onSubmit: this.handleSearchSubmit }, this.renderSearchInput(`${this.searchId}-mobile`, el => (this.mobileSearchInput = el)), h("button", { key: '82ea4559f09115e8790b654d7c270734a436b0be', type: "button", class: "dda-mobile-search-close", "aria-label": "Close search", onClick: this.closeMobileSearch }, h("i", { key: 'fc2e02ff9a6d86f99ae0734d5dc77d9d3988af05', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))))), h("div", { key: 'caba18a60ff73e65bc70ff1ff082c47782e96ecb', class: "dda-toolbar-menu" }, h("ul", { key: 'c976f0088fdf1d9b50da2966aa45d8e66aff7e99' }, h("li", { key: '4ffb8b7e65c3516dc2619ed90387708701d65a61' }, h("dda-tooltip", { key: 'fee68662ada0b681d894fa47f4377a23a63c02d2', title_text: this.tooltip(this.search_tooltip, 'Search'), description: "", position: "top" }, h("form", { key: '981fff0a7cbab22cf454855d46d9fe254488607c', class: "dda-search dda-btn btn-color-onsurface-secondary btn-size-sm btn-shape-circle tool-btn", role: "search", method: "get", action: this.search_action, onSubmit: this.handleSearchSubmit }, this.renderSearchInput(this.searchId)))), h("li", { key: 'fa034c28c12012c9e080ffa02ba744c1359e3b71' }, h("dda-tooltip", { key: '39f7eeaae844e1aaad97894d3ac01dfe68ae5a6d', title_text: this.tooltip(this.accessibility_tooltip, 'Accessibility'), position: "top" }, this.renderAccessibilityButton('desktop')), this.usePredesignedAccessibilityMenu && (h("div", { key: '9bd00b640ddb4dd44497d1d665dfcfdc1bd8befc', class: "dda-accessibility-wrap" }, h("div", { key: '9743bd582c5705e1ce9602484f24c7fdd1718ac2', class: "dda-accessibility hide-accessibility", style: { display: this.isAccessibiltyOpen ? 'block' : 'none' } }, this.renderAccessibilityColumns('desktop'), h("button", { key: '7b2913e38ed3a3c59023de78254ab8de62abc661', name: this.close_accessibility_button_name, class: "close-btn close_accessibility", "aria-label": "Close Sidebar", onClick: this.toggleAccessibilty }, h("i", { key: 'b3aa1577875a36b310c9c52ee909c98940e8a81b', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")))))), this.languageLabel && (h("li", { key: '4d500ce6dfa7253a7ec7d8365f7944b0b09d793b' }, h("dda-tooltip", { key: 'd3308456b90d849acfef563a5fde1673606d50ca', title_text: this.tooltip(this.language_tooltip, 'Language'), position: "top" }, h("dda-button", { key: '40075897d322fd313a5871ec1b91f6efbac1d14b', button_color: "onsurface-secondary", custom_class: "tool-btn", button_shape: "circle", size: "sm", lang: this.language_lang, onClick: this.languagehandler }, this.languageLabel)))), this.showLogin && (h("li", { key: 'ceecde91b63d8bca127ac06e98bcef1abaeb2fc6' }, h("dda-tooltip", { key: '0e0af0d68680dbd27af3d7a9fee22f05487729d1', title_text: this.tooltip(this.login_tooltip, this.loginLabel), position: "top" }, h("dda-link-button", { key: '4acf05721471dd3434c0875986639f2d673fdf98', button_color: "onsurface-secondary", start_icon: this.loginIcon || 'sentiment_satisfied', custom_class: "tool-btn", href: this.loginLink, button_shape: "circle", size: "sm" }, this.loginLabel)))))))));
259
374
  }
260
375
  static get is() { return "dda-header"; }
261
376
  static get originalStyleUrls() {
@@ -462,7 +577,108 @@ export class DdaHeader {
462
577
  "reflect": false,
463
578
  "attribute": "side-menu-items"
464
579
  },
465
- "quickLinks": {
580
+ "sideMainMenuTitle": {
581
+ "type": "string",
582
+ "mutable": false,
583
+ "complexType": {
584
+ "original": "string",
585
+ "resolved": "string",
586
+ "references": {}
587
+ },
588
+ "required": false,
589
+ "optional": false,
590
+ "docs": {
591
+ "tags": [],
592
+ "text": "Title above the side-menu links. Default: `Quick Links`. An empty value removes it."
593
+ },
594
+ "getter": false,
595
+ "setter": false,
596
+ "reflect": false,
597
+ "attribute": "side-main-menu-title"
598
+ },
599
+ "sideOtherMenuTitle": {
600
+ "type": "string",
601
+ "mutable": false,
602
+ "complexType": {
603
+ "original": "string",
604
+ "resolved": "string",
605
+ "references": {}
606
+ },
607
+ "required": false,
608
+ "optional": false,
609
+ "docs": {
610
+ "tags": [],
611
+ "text": "Title above the \"other\" side-menu links. It shows only when there are other links."
612
+ },
613
+ "getter": false,
614
+ "setter": false,
615
+ "reflect": false,
616
+ "attribute": "side-other-menu-title"
617
+ },
618
+ "otherMenuItems": {
619
+ "type": "string",
620
+ "mutable": false,
621
+ "complexType": {
622
+ "original": "string | Array<{ label: string; href: string; active?: string }>",
623
+ "resolved": "string | { label: string; href: string; active?: string; }[]",
624
+ "references": {
625
+ "Array": {
626
+ "location": "global",
627
+ "id": "global::Array"
628
+ }
629
+ }
630
+ },
631
+ "required": false,
632
+ "optional": false,
633
+ "docs": {
634
+ "tags": [],
635
+ "text": "Second list in the side menu. JSON array (or array property) of `{ label, href, active }`; `active: \"true\"` marks the current page."
636
+ },
637
+ "getter": false,
638
+ "setter": false,
639
+ "reflect": false,
640
+ "attribute": "other-menu-items"
641
+ },
642
+ "hideOtherMenu": {
643
+ "type": "boolean",
644
+ "mutable": false,
645
+ "complexType": {
646
+ "original": "boolean",
647
+ "resolved": "boolean",
648
+ "references": {}
649
+ },
650
+ "required": false,
651
+ "optional": false,
652
+ "docs": {
653
+ "tags": [],
654
+ "text": "Hides the \"other\" side-menu links and their title. Default: `false`."
655
+ },
656
+ "getter": false,
657
+ "setter": false,
658
+ "reflect": false,
659
+ "attribute": "hide-other-menu",
660
+ "defaultValue": "false"
661
+ },
662
+ "mobileMenuSearchId": {
663
+ "type": "string",
664
+ "mutable": false,
665
+ "complexType": {
666
+ "original": "string",
667
+ "resolved": "string",
668
+ "references": {}
669
+ },
670
+ "required": false,
671
+ "optional": false,
672
+ "docs": {
673
+ "tags": [],
674
+ "text": "`id` of the mobile search control."
675
+ },
676
+ "getter": false,
677
+ "setter": false,
678
+ "reflect": false,
679
+ "attribute": "mobile-menu-search-id"
680
+ },
681
+ "mobileMenuSearchUrl": {
466
682
  "type": "string",
467
683
  "mutable": false,
468
684
  "complexType": {
@@ -474,7 +690,32 @@ export class DdaHeader {
474
690
  "optional": false,
475
691
  "docs": {
476
692
  "tags": [],
477
- "text": "Main navigation links. JSON array of `{ label, href, menuLabel, subMenu }`; `subMenu` items are `{ title, description, icon, href }` and open a mega menu."
693
+ "text": "3.x mobile search: when set, the mobile search is a plain link to this URL (with `mobileMenuSearchId` as its id) and the header's own search panel is not rendered."
694
+ },
695
+ "getter": false,
696
+ "setter": false,
697
+ "reflect": false,
698
+ "attribute": "mobile-menu-search-url"
699
+ },
700
+ "quickLinks": {
701
+ "type": "string",
702
+ "mutable": false,
703
+ "complexType": {
704
+ "original": "string | QuickLinkItem[]",
705
+ "resolved": "QuickLinkItem[] | string",
706
+ "references": {
707
+ "QuickLinkItem": {
708
+ "location": "local",
709
+ "path": "/root/Coding/dubai-design-system/packages/stencil/src/components/dda-header/dda-header.tsx",
710
+ "id": "src/components/dda-header/dda-header.tsx::QuickLinkItem"
711
+ }
712
+ }
713
+ },
714
+ "required": false,
715
+ "optional": false,
716
+ "docs": {
717
+ "tags": [],
718
+ "text": "Main navigation links: a JSON array (HTML attribute) or an array (JavaScript property). 5.x items are `{ label, href, menuLabel, subMenu }`; `subMenu` items are `{ title, description, icon, href }` and open a mega menu. 3.x items (`{ type, headerMenuLabel, url, children, ... }`) also work."
478
719
  },
479
720
  "getter": false,
480
721
  "setter": false,
@@ -500,7 +741,7 @@ export class DdaHeader {
500
741
  "reflect": false,
501
742
  "attribute": "read-speaker-link"
502
743
  },
503
- "searchText": {
744
+ "read_speaker_link": {
504
745
  "type": "string",
505
746
  "mutable": false,
506
747
  "complexType": {
@@ -512,14 +753,14 @@ export class DdaHeader {
512
753
  "optional": false,
513
754
  "docs": {
514
755
  "tags": [],
515
- "text": "Placeholder and accessible label of the search input. Default: `Search`."
756
+ "text": "3.x name of `readSpeakerLink`, as an attribute: `read_speaker_link`. `readSpeakerLink` wins when both are set."
516
757
  },
517
758
  "getter": false,
518
759
  "setter": false,
519
760
  "reflect": false,
520
- "attribute": "search-text"
761
+ "attribute": "read_speaker_link"
521
762
  },
522
- "loginIcon": {
763
+ "contrast_title": {
523
764
  "type": "string",
524
765
  "mutable": false,
525
766
  "complexType": {
@@ -531,14 +772,14 @@ export class DdaHeader {
531
772
  "optional": false,
532
773
  "docs": {
533
774
  "tags": [],
534
- "text": "Material Symbols icon name of the Login link in the desktop toolbar and the side menu. Default: `sentiment_satisfied`."
775
+ "text": "Heading of the contrast column in the accessibility panel. Default: `Contrast`. An empty value removes the heading."
535
776
  },
536
777
  "getter": false,
537
778
  "setter": false,
538
779
  "reflect": false,
539
- "attribute": "login-icon"
780
+ "attribute": "contrast_title"
540
781
  },
541
- "loginText": {
782
+ "contrast_description": {
542
783
  "type": "string",
543
784
  "mutable": false,
544
785
  "complexType": {
@@ -550,34 +791,33 @@ export class DdaHeader {
550
791
  "optional": false,
551
792
  "docs": {
552
793
  "tags": [],
553
- "text": "Label of the Login link in the desktop toolbar and the side menu. Default: `Login`."
794
+ "text": "Text above the contrast options. Default: `Select your preferred contrast setting`."
554
795
  },
555
796
  "getter": false,
556
797
  "setter": false,
557
798
  "reflect": false,
558
- "attribute": "login-text"
799
+ "attribute": "contrast_description"
559
800
  },
560
- "hide_login": {
561
- "type": "boolean",
801
+ "contrast_normal_text": {
802
+ "type": "string",
562
803
  "mutable": false,
563
804
  "complexType": {
564
- "original": "boolean",
565
- "resolved": "boolean",
805
+ "original": "string",
806
+ "resolved": "string",
566
807
  "references": {}
567
808
  },
568
809
  "required": false,
569
810
  "optional": false,
570
811
  "docs": {
571
812
  "tags": [],
572
- "text": "Hides the Login link in the desktop toolbar and the side menu."
813
+ "text": "Label of the normal contrast option. Default: `Normal`."
573
814
  },
574
815
  "getter": false,
575
816
  "setter": false,
576
817
  "reflect": false,
577
- "attribute": "hide_login",
578
- "defaultValue": "false"
818
+ "attribute": "contrast_normal_text"
579
819
  },
580
- "language_text": {
820
+ "contrast_noraml_text": {
581
821
  "type": "string",
582
822
  "mutable": false,
583
823
  "complexType": {
@@ -589,14 +829,14 @@ export class DdaHeader {
589
829
  "optional": false,
590
830
  "docs": {
591
831
  "tags": [],
592
- "text": "Label of the language buttons in the desktop toolbar and the side menu. Default: `\u0627\u0644\u0639\u0631\u0628\u064A\u0629`."
832
+ "text": "3.x spelling of `contrast_normal_text`. `contrast_normal_text` wins when both are set."
593
833
  },
594
834
  "getter": false,
595
835
  "setter": false,
596
836
  "reflect": false,
597
- "attribute": "language_text"
837
+ "attribute": "contrast_noraml_text"
598
838
  },
599
- "language_lang": {
839
+ "contrast_color_blind_text": {
600
840
  "type": "string",
601
841
  "mutable": false,
602
842
  "complexType": {
@@ -608,15 +848,14 @@ export class DdaHeader {
608
848
  "optional": false,
609
849
  "docs": {
610
850
  "tags": [],
611
- "text": "`lang` attribute of the language buttons, the language of `language_text`. Default: `ar`."
851
+ "text": "Label of the colour-blind contrast option. Default: `Colours Blind`."
612
852
  },
613
853
  "getter": false,
614
854
  "setter": false,
615
855
  "reflect": false,
616
- "attribute": "language_lang",
617
- "defaultValue": "'ar'"
856
+ "attribute": "contrast_color_blind_text"
618
857
  },
619
- "hamburger_menu_button_name": {
858
+ "contrast_red_weakness_text": {
620
859
  "type": "string",
621
860
  "mutable": false,
622
861
  "complexType": {
@@ -628,14 +867,14 @@ export class DdaHeader {
628
867
  "optional": false,
629
868
  "docs": {
630
869
  "tags": [],
631
- "text": "`name` attribute of the hamburger menu button."
870
+ "text": "Label of the red-weakness contrast option. Default: `Red Weakness`."
632
871
  },
633
872
  "getter": false,
634
873
  "setter": false,
635
874
  "reflect": false,
636
- "attribute": "hamburger_menu_button_name"
875
+ "attribute": "contrast_red_weakness_text"
637
876
  },
638
- "menu_button_label": {
877
+ "contrast_green_weakness_text": {
639
878
  "type": "string",
640
879
  "mutable": false,
641
880
  "complexType": {
@@ -647,15 +886,14 @@ export class DdaHeader {
647
886
  "optional": false,
648
887
  "docs": {
649
888
  "tags": [],
650
- "text": "Accessible name of the hamburger menu button (visually hidden text). Default: `Menu`."
889
+ "text": "Label of the green-weakness contrast option. Default: `Green Weakness`."
651
890
  },
652
891
  "getter": false,
653
892
  "setter": false,
654
893
  "reflect": false,
655
- "attribute": "menu_button_label",
656
- "defaultValue": "'Menu'"
894
+ "attribute": "contrast_green_weakness_text"
657
895
  },
658
- "accessibility_button_name": {
896
+ "screen_reader_title": {
659
897
  "type": "string",
660
898
  "mutable": false,
661
899
  "complexType": {
@@ -667,14 +905,14 @@ export class DdaHeader {
667
905
  "optional": false,
668
906
  "docs": {
669
907
  "tags": [],
670
- "text": "`name` attribute of the accessibility button in the side menu."
908
+ "text": "Heading of the screen reader column. Default: `Screen Reader`."
671
909
  },
672
910
  "getter": false,
673
911
  "setter": false,
674
912
  "reflect": false,
675
- "attribute": "accessibility_button_name"
913
+ "attribute": "screen_reader_title"
676
914
  },
677
- "search_button_name": {
915
+ "screen_reader_description": {
678
916
  "type": "string",
679
917
  "mutable": false,
680
918
  "complexType": {
@@ -686,14 +924,14 @@ export class DdaHeader {
686
924
  "optional": false,
687
925
  "docs": {
688
926
  "tags": [],
689
- "text": "`name` attribute of the mobile search button."
927
+ "text": "Text in the screen reader column. Default: `Listen to the content of the page by clicking play or listen`."
690
928
  },
691
929
  "getter": false,
692
930
  "setter": false,
693
931
  "reflect": false,
694
- "attribute": "search_button_name"
932
+ "attribute": "screen_reader_description"
695
933
  },
696
- "search_input_name": {
934
+ "screen_reader_link_label": {
697
935
  "type": "string",
698
936
  "mutable": false,
699
937
  "complexType": {
@@ -705,14 +943,14 @@ export class DdaHeader {
705
943
  "optional": false,
706
944
  "docs": {
707
945
  "tags": [],
708
- "text": "`name` of the search input, which is the query parameter sent to `search_action`. Default: `q`."
946
+ "text": "Accessible name of the ReadSpeaker play link. Default: `Listen to this page using ReadSpeaker`."
709
947
  },
710
948
  "getter": false,
711
949
  "setter": false,
712
950
  "reflect": false,
713
- "attribute": "search_input_name"
951
+ "attribute": "screen_reader_link_label"
714
952
  },
715
- "search_action": {
953
+ "text_size_title": {
716
954
  "type": "string",
717
955
  "mutable": false,
718
956
  "complexType": {
@@ -724,14 +962,14 @@ export class DdaHeader {
724
962
  "optional": false,
725
963
  "docs": {
726
964
  "tags": [],
727
- "text": "Results page URL. When set, a search does a GET to this URL with the query in `search_input_name` (default `q`)."
965
+ "text": "Heading of the text size column. Default: `Text Size`."
728
966
  },
729
967
  "getter": false,
730
968
  "setter": false,
731
969
  "reflect": false,
732
- "attribute": "search_action"
970
+ "attribute": "text_size_title"
733
971
  },
734
- "language_button_name": {
972
+ "text_size_description": {
735
973
  "type": "string",
736
974
  "mutable": false,
737
975
  "complexType": {
@@ -743,14 +981,53 @@ export class DdaHeader {
743
981
  "optional": false,
744
982
  "docs": {
745
983
  "tags": [],
746
- "text": "`name` attribute of the language button in the side menu."
984
+ "text": "Text in the text size column. Default: `Use the buttons below to increase or decrease the text size`."
747
985
  },
748
986
  "getter": false,
749
987
  "setter": false,
750
988
  "reflect": false,
751
- "attribute": "language_button_name"
989
+ "attribute": "text_size_description"
752
990
  },
753
- "close_menu_button_name": {
991
+ "selected_contrast": {
992
+ "type": "string",
993
+ "mutable": true,
994
+ "complexType": {
995
+ "original": "'normal' | 'colorblind' | 'redweakness' | 'greenweakness'",
996
+ "resolved": "\"colorblind\" | \"greenweakness\" | \"normal\" | \"redweakness\"",
997
+ "references": {}
998
+ },
999
+ "required": false,
1000
+ "optional": false,
1001
+ "docs": {
1002
+ "tags": [],
1003
+ "text": "The contrast option shown as selected. The header updates it when the user picks an option. Default: `normal`."
1004
+ },
1005
+ "getter": false,
1006
+ "setter": false,
1007
+ "reflect": false,
1008
+ "attribute": "selected_contrast",
1009
+ "defaultValue": "'normal'"
1010
+ },
1011
+ "selected_text_size": {
1012
+ "type": "string",
1013
+ "mutable": true,
1014
+ "complexType": {
1015
+ "original": "'small' | 'normal' | 'large'",
1016
+ "resolved": "\"large\" | \"normal\" | \"small\"",
1017
+ "references": {}
1018
+ },
1019
+ "required": false,
1020
+ "optional": false,
1021
+ "docs": {
1022
+ "tags": [],
1023
+ "text": "The text size button shown as selected (`default-primary`). The header updates it on each click. Default: none."
1024
+ },
1025
+ "getter": false,
1026
+ "setter": false,
1027
+ "reflect": false,
1028
+ "attribute": "selected_text_size"
1029
+ },
1030
+ "searchText": {
754
1031
  "type": "string",
755
1032
  "mutable": false,
756
1033
  "complexType": {
@@ -762,14 +1039,14 @@ export class DdaHeader {
762
1039
  "optional": false,
763
1040
  "docs": {
764
1041
  "tags": [],
765
- "text": "`name` attribute of the button that closes the side menu."
1042
+ "text": "Placeholder and accessible label of the search input. Default: `Search`."
766
1043
  },
767
1044
  "getter": false,
768
1045
  "setter": false,
769
1046
  "reflect": false,
770
- "attribute": "close_menu_button_name"
1047
+ "attribute": "search-text"
771
1048
  },
772
- "close_accessibility_button_name": {
1049
+ "loginIcon": {
773
1050
  "type": "string",
774
1051
  "mutable": false,
775
1052
  "complexType": {
@@ -781,14 +1058,14 @@ export class DdaHeader {
781
1058
  "optional": false,
782
1059
  "docs": {
783
1060
  "tags": [],
784
- "text": "`name` attribute of the buttons that close the accessibility panel."
1061
+ "text": "Material Symbols icon name of the Login link in the desktop toolbar and the side menu. Default: `sentiment_satisfied`."
785
1062
  },
786
1063
  "getter": false,
787
1064
  "setter": false,
788
1065
  "reflect": false,
789
- "attribute": "close_accessibility_button_name"
1066
+ "attribute": "login-icon"
790
1067
  },
791
- "close_sidebar_button_name": {
1068
+ "loginText": {
792
1069
  "type": "string",
793
1070
  "mutable": false,
794
1071
  "complexType": {
@@ -800,14 +1077,34 @@ export class DdaHeader {
800
1077
  "optional": false,
801
1078
  "docs": {
802
1079
  "tags": [],
803
- "text": "Not used: the current markup does not render an element with this name."
1080
+ "text": "Label of the Login link in the desktop toolbar and the side menu. Default: `Login`. An empty value removes the Login link."
804
1081
  },
805
1082
  "getter": false,
806
1083
  "setter": false,
807
1084
  "reflect": false,
808
- "attribute": "close_sidebar_button_name"
1085
+ "attribute": "login-text"
809
1086
  },
810
- "toggle_accessibility_button_name": {
1087
+ "hide_login": {
1088
+ "type": "boolean",
1089
+ "mutable": false,
1090
+ "complexType": {
1091
+ "original": "boolean",
1092
+ "resolved": "boolean",
1093
+ "references": {}
1094
+ },
1095
+ "required": false,
1096
+ "optional": false,
1097
+ "docs": {
1098
+ "tags": [],
1099
+ "text": "Hides the Login link in the desktop toolbar and the side menu."
1100
+ },
1101
+ "getter": false,
1102
+ "setter": false,
1103
+ "reflect": false,
1104
+ "attribute": "hide_login",
1105
+ "defaultValue": "false"
1106
+ },
1107
+ "language_text": {
811
1108
  "type": "string",
812
1109
  "mutable": false,
813
1110
  "complexType": {
@@ -819,28 +1116,481 @@ export class DdaHeader {
819
1116
  "optional": false,
820
1117
  "docs": {
821
1118
  "tags": [],
822
- "text": "`name` attribute of the accessibility button in the desktop toolbar."
1119
+ "text": "Label of the language buttons in the desktop toolbar and the side menu. Default: `\u0627\u0644\u0639\u0631\u0628\u064A\u0629`. An empty value removes the language buttons."
823
1120
  },
824
1121
  "getter": false,
825
1122
  "setter": false,
826
1123
  "reflect": false,
827
- "attribute": "toggle_accessibility_button_name"
828
- }
829
- };
830
- }
831
- static get states() {
832
- return {
833
- "isMenuOpen": {},
834
- "isSubMenuOpen": {},
835
- "isSideSubMenuOpen": {},
836
- "isAccessibiltyOpen": {},
837
- "isSearchOpen": {},
838
- "openMenus": {},
839
- "activeMenuIndex": {}
840
- };
841
- }
842
- static get events() {
843
- return [{
1124
+ "attribute": "language_text"
1125
+ },
1126
+ "language_lang": {
1127
+ "type": "string",
1128
+ "mutable": false,
1129
+ "complexType": {
1130
+ "original": "string",
1131
+ "resolved": "string",
1132
+ "references": {}
1133
+ },
1134
+ "required": false,
1135
+ "optional": false,
1136
+ "docs": {
1137
+ "tags": [],
1138
+ "text": "`lang` attribute of the language buttons, the language of `language_text`. Default: `ar`."
1139
+ },
1140
+ "getter": false,
1141
+ "setter": false,
1142
+ "reflect": false,
1143
+ "attribute": "language_lang",
1144
+ "defaultValue": "'ar'"
1145
+ },
1146
+ "accessibility_tooltip": {
1147
+ "type": "string",
1148
+ "mutable": false,
1149
+ "complexType": {
1150
+ "original": "string",
1151
+ "resolved": "string",
1152
+ "references": {}
1153
+ },
1154
+ "required": false,
1155
+ "optional": false,
1156
+ "docs": {
1157
+ "tags": [],
1158
+ "text": "Tooltip of the desktop accessibility button. Default: `Accessibility`."
1159
+ },
1160
+ "getter": false,
1161
+ "setter": false,
1162
+ "reflect": false,
1163
+ "attribute": "accessibility_tooltip"
1164
+ },
1165
+ "accessibility_button_text": {
1166
+ "type": "string",
1167
+ "mutable": false,
1168
+ "complexType": {
1169
+ "original": "string",
1170
+ "resolved": "string",
1171
+ "references": {}
1172
+ },
1173
+ "required": false,
1174
+ "optional": false,
1175
+ "docs": {
1176
+ "tags": [],
1177
+ "text": "Accessible name (visually hidden text) of both accessibility buttons. Default: `Accessibility`."
1178
+ },
1179
+ "getter": false,
1180
+ "setter": false,
1181
+ "reflect": false,
1182
+ "attribute": "accessibility_button_text"
1183
+ },
1184
+ "accessibility_button_id": {
1185
+ "type": "string",
1186
+ "mutable": false,
1187
+ "complexType": {
1188
+ "original": "string",
1189
+ "resolved": "string",
1190
+ "references": {}
1191
+ },
1192
+ "required": false,
1193
+ "optional": false,
1194
+ "docs": {
1195
+ "tags": [],
1196
+ "text": "`id` of the desktop accessibility button. The side-menu button gets this id plus `-sidemenu`."
1197
+ },
1198
+ "getter": false,
1199
+ "setter": false,
1200
+ "reflect": false,
1201
+ "attribute": "accessibility_button_id"
1202
+ },
1203
+ "accessibility_button_icon_family": {
1204
+ "type": "string",
1205
+ "mutable": false,
1206
+ "complexType": {
1207
+ "original": "string",
1208
+ "resolved": "string",
1209
+ "references": {}
1210
+ },
1211
+ "required": false,
1212
+ "optional": false,
1213
+ "docs": {
1214
+ "tags": [],
1215
+ "text": "`class` of the accessibility button icon. Default: `material-icons material-symbols-outlined`."
1216
+ },
1217
+ "getter": false,
1218
+ "setter": false,
1219
+ "reflect": false,
1220
+ "attribute": "accessibility_button_icon_family"
1221
+ },
1222
+ "accessibility_button_icon_name": {
1223
+ "type": "string",
1224
+ "mutable": false,
1225
+ "complexType": {
1226
+ "original": "string",
1227
+ "resolved": "string",
1228
+ "references": {}
1229
+ },
1230
+ "required": false,
1231
+ "optional": false,
1232
+ "docs": {
1233
+ "tags": [],
1234
+ "text": "Material icon name of the accessibility buttons. Default: `accessibility`."
1235
+ },
1236
+ "getter": false,
1237
+ "setter": false,
1238
+ "reflect": false,
1239
+ "attribute": "accessibility_button_icon_name"
1240
+ },
1241
+ "search_tooltip": {
1242
+ "type": "string",
1243
+ "mutable": false,
1244
+ "complexType": {
1245
+ "original": "string",
1246
+ "resolved": "string",
1247
+ "references": {}
1248
+ },
1249
+ "required": false,
1250
+ "optional": false,
1251
+ "docs": {
1252
+ "tags": [],
1253
+ "text": "Tooltip of the desktop search. Default: `Search`."
1254
+ },
1255
+ "getter": false,
1256
+ "setter": false,
1257
+ "reflect": false,
1258
+ "attribute": "search_tooltip"
1259
+ },
1260
+ "search_input_placeholder": {
1261
+ "type": "string",
1262
+ "mutable": false,
1263
+ "complexType": {
1264
+ "original": "string",
1265
+ "resolved": "string",
1266
+ "references": {}
1267
+ },
1268
+ "required": false,
1269
+ "optional": false,
1270
+ "docs": {
1271
+ "tags": [],
1272
+ "text": "Placeholder of the search inputs. Default: the `searchText` value, else `Search`."
1273
+ },
1274
+ "getter": false,
1275
+ "setter": false,
1276
+ "reflect": false,
1277
+ "attribute": "search_input_placeholder"
1278
+ },
1279
+ "language_tooltip": {
1280
+ "type": "string",
1281
+ "mutable": false,
1282
+ "complexType": {
1283
+ "original": "string",
1284
+ "resolved": "string",
1285
+ "references": {}
1286
+ },
1287
+ "required": false,
1288
+ "optional": false,
1289
+ "docs": {
1290
+ "tags": [],
1291
+ "text": "Tooltip of the desktop language button. Default: `Language`."
1292
+ },
1293
+ "getter": false,
1294
+ "setter": false,
1295
+ "reflect": false,
1296
+ "attribute": "language_tooltip"
1297
+ },
1298
+ "login_tooltip": {
1299
+ "type": "string",
1300
+ "mutable": false,
1301
+ "complexType": {
1302
+ "original": "string",
1303
+ "resolved": "string",
1304
+ "references": {}
1305
+ },
1306
+ "required": false,
1307
+ "optional": false,
1308
+ "docs": {
1309
+ "tags": [],
1310
+ "text": "Tooltip of the desktop Login link. Default: the Login label."
1311
+ },
1312
+ "getter": false,
1313
+ "setter": false,
1314
+ "reflect": false,
1315
+ "attribute": "login_tooltip"
1316
+ },
1317
+ "usePredesignedAccessibilityMenu": {
1318
+ "type": "boolean",
1319
+ "mutable": false,
1320
+ "complexType": {
1321
+ "original": "boolean",
1322
+ "resolved": "boolean",
1323
+ "references": {}
1324
+ },
1325
+ "required": false,
1326
+ "optional": false,
1327
+ "docs": {
1328
+ "tags": [],
1329
+ "text": "When `false`, the header renders no accessibility panel; the buttons only emit `accessibilitymenufunctionality`, so the page can open its own panel. Default: `true`."
1330
+ },
1331
+ "getter": false,
1332
+ "setter": false,
1333
+ "reflect": false,
1334
+ "attribute": "use-predesigned-accessibility-menu",
1335
+ "defaultValue": "true"
1336
+ },
1337
+ "hamburger_menu_button_name": {
1338
+ "type": "string",
1339
+ "mutable": false,
1340
+ "complexType": {
1341
+ "original": "string",
1342
+ "resolved": "string",
1343
+ "references": {}
1344
+ },
1345
+ "required": false,
1346
+ "optional": false,
1347
+ "docs": {
1348
+ "tags": [],
1349
+ "text": "`name` attribute of the hamburger menu button."
1350
+ },
1351
+ "getter": false,
1352
+ "setter": false,
1353
+ "reflect": false,
1354
+ "attribute": "hamburger_menu_button_name"
1355
+ },
1356
+ "menu_button_label": {
1357
+ "type": "string",
1358
+ "mutable": false,
1359
+ "complexType": {
1360
+ "original": "string",
1361
+ "resolved": "string",
1362
+ "references": {}
1363
+ },
1364
+ "required": false,
1365
+ "optional": false,
1366
+ "docs": {
1367
+ "tags": [],
1368
+ "text": "Accessible name of the hamburger menu button (visually hidden text). Default: `Menu`."
1369
+ },
1370
+ "getter": false,
1371
+ "setter": false,
1372
+ "reflect": false,
1373
+ "attribute": "menu_button_label",
1374
+ "defaultValue": "'Menu'"
1375
+ },
1376
+ "accessibility_button_name": {
1377
+ "type": "string",
1378
+ "mutable": false,
1379
+ "complexType": {
1380
+ "original": "string",
1381
+ "resolved": "string",
1382
+ "references": {}
1383
+ },
1384
+ "required": false,
1385
+ "optional": false,
1386
+ "docs": {
1387
+ "tags": [],
1388
+ "text": "`name` attribute of the accessibility button in the side menu."
1389
+ },
1390
+ "getter": false,
1391
+ "setter": false,
1392
+ "reflect": false,
1393
+ "attribute": "accessibility_button_name"
1394
+ },
1395
+ "search_button_name": {
1396
+ "type": "string",
1397
+ "mutable": false,
1398
+ "complexType": {
1399
+ "original": "string",
1400
+ "resolved": "string",
1401
+ "references": {}
1402
+ },
1403
+ "required": false,
1404
+ "optional": false,
1405
+ "docs": {
1406
+ "tags": [],
1407
+ "text": "`name` attribute of the mobile search button."
1408
+ },
1409
+ "getter": false,
1410
+ "setter": false,
1411
+ "reflect": false,
1412
+ "attribute": "search_button_name"
1413
+ },
1414
+ "search_input_name": {
1415
+ "type": "string",
1416
+ "mutable": false,
1417
+ "complexType": {
1418
+ "original": "string",
1419
+ "resolved": "string",
1420
+ "references": {}
1421
+ },
1422
+ "required": false,
1423
+ "optional": false,
1424
+ "docs": {
1425
+ "tags": [],
1426
+ "text": "`name` of the search input, which is the query parameter sent to `search_action`. Default: `q`."
1427
+ },
1428
+ "getter": false,
1429
+ "setter": false,
1430
+ "reflect": false,
1431
+ "attribute": "search_input_name"
1432
+ },
1433
+ "search_action": {
1434
+ "type": "string",
1435
+ "mutable": false,
1436
+ "complexType": {
1437
+ "original": "string",
1438
+ "resolved": "string",
1439
+ "references": {}
1440
+ },
1441
+ "required": false,
1442
+ "optional": false,
1443
+ "docs": {
1444
+ "tags": [],
1445
+ "text": "Results page URL. When set, a search does a GET to this URL with the query in `search_input_name` (default `q`)."
1446
+ },
1447
+ "getter": false,
1448
+ "setter": false,
1449
+ "reflect": false,
1450
+ "attribute": "search_action"
1451
+ },
1452
+ "language_button_name": {
1453
+ "type": "string",
1454
+ "mutable": false,
1455
+ "complexType": {
1456
+ "original": "string",
1457
+ "resolved": "string",
1458
+ "references": {}
1459
+ },
1460
+ "required": false,
1461
+ "optional": false,
1462
+ "docs": {
1463
+ "tags": [],
1464
+ "text": "`name` attribute of the language button in the side menu."
1465
+ },
1466
+ "getter": false,
1467
+ "setter": false,
1468
+ "reflect": false,
1469
+ "attribute": "language_button_name"
1470
+ },
1471
+ "close_menu_button_name": {
1472
+ "type": "string",
1473
+ "mutable": false,
1474
+ "complexType": {
1475
+ "original": "string",
1476
+ "resolved": "string",
1477
+ "references": {}
1478
+ },
1479
+ "required": false,
1480
+ "optional": false,
1481
+ "docs": {
1482
+ "tags": [],
1483
+ "text": "`name` attribute of the button that closes the side menu."
1484
+ },
1485
+ "getter": false,
1486
+ "setter": false,
1487
+ "reflect": false,
1488
+ "attribute": "close_menu_button_name"
1489
+ },
1490
+ "close_accessibility_button_name": {
1491
+ "type": "string",
1492
+ "mutable": false,
1493
+ "complexType": {
1494
+ "original": "string",
1495
+ "resolved": "string",
1496
+ "references": {}
1497
+ },
1498
+ "required": false,
1499
+ "optional": false,
1500
+ "docs": {
1501
+ "tags": [],
1502
+ "text": "`name` attribute of the buttons that close the accessibility panel."
1503
+ },
1504
+ "getter": false,
1505
+ "setter": false,
1506
+ "reflect": false,
1507
+ "attribute": "close_accessibility_button_name"
1508
+ },
1509
+ "close_sidebar_button_name": {
1510
+ "type": "string",
1511
+ "mutable": false,
1512
+ "complexType": {
1513
+ "original": "string",
1514
+ "resolved": "string",
1515
+ "references": {}
1516
+ },
1517
+ "required": false,
1518
+ "optional": false,
1519
+ "docs": {
1520
+ "tags": [],
1521
+ "text": "Not used: the current markup does not render an element with this name."
1522
+ },
1523
+ "getter": false,
1524
+ "setter": false,
1525
+ "reflect": false,
1526
+ "attribute": "close_sidebar_button_name"
1527
+ },
1528
+ "toggle_accessibility_button_name": {
1529
+ "type": "string",
1530
+ "mutable": false,
1531
+ "complexType": {
1532
+ "original": "string",
1533
+ "resolved": "string",
1534
+ "references": {}
1535
+ },
1536
+ "required": false,
1537
+ "optional": false,
1538
+ "docs": {
1539
+ "tags": [],
1540
+ "text": "`name` attribute of the accessibility button in the desktop toolbar."
1541
+ },
1542
+ "getter": false,
1543
+ "setter": false,
1544
+ "reflect": false,
1545
+ "attribute": "toggle_accessibility_button_name"
1546
+ }
1547
+ };
1548
+ }
1549
+ static get states() {
1550
+ return {
1551
+ "isMenuOpen": {},
1552
+ "isSubMenuOpen": {},
1553
+ "isSideSubMenuOpen": {},
1554
+ "isAccessibiltyOpen": {},
1555
+ "isSearchOpen": {},
1556
+ "openMenus": {},
1557
+ "activeMenuIndex": {},
1558
+ "activeSubIndex": {},
1559
+ "activeSubTop": {}
1560
+ };
1561
+ }
1562
+ static get events() {
1563
+ return [{
1564
+ "method": "accessibilityMenuToggle",
1565
+ "name": "accessibilitymenufunctionality",
1566
+ "bubbles": true,
1567
+ "cancelable": true,
1568
+ "composed": true,
1569
+ "docs": {
1570
+ "tags": [],
1571
+ "text": "Emitted on every click of an accessibility button (3.x name)."
1572
+ },
1573
+ "complexType": {
1574
+ "original": "void",
1575
+ "resolved": "void",
1576
+ "references": {}
1577
+ }
1578
+ }, {
1579
+ "method": "searchInput",
1580
+ "name": "searchfunctionality",
1581
+ "bubbles": true,
1582
+ "cancelable": true,
1583
+ "composed": true,
1584
+ "docs": {
1585
+ "tags": [],
1586
+ "text": "Emitted with the query when a non-empty search is submitted (3.x name). Pages that open a results page from this event keep working. `searchSubmit` is the 5.x event, and it can cancel the navigation."
1587
+ },
1588
+ "complexType": {
1589
+ "original": "string",
1590
+ "resolved": "string",
1591
+ "references": {}
1592
+ }
1593
+ }, {
844
1594
  "method": "languageSwitch",
845
1595
  "name": "languageSwitch",
846
1596
  "bubbles": true,