@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,10 +1,22 @@
1
1
  import { h } from "@stencil/core";
2
+ import { parseJsonProp } from "../../utils/parse-json-prop";
3
+ let stickyFooterCount = 0;
2
4
  export class DdaStickyFooter {
3
5
  constructor() {
6
+ /** Accessible name of the "more" button. Default, and fallback for an empty value: `More`. */
7
+ this.more_button_label = 'More';
8
+ /** `dark` uses the `*-src-dark` images; an image without a dark version keeps its light image. Default: `light`. */
9
+ this.colorTheme = 'light';
4
10
  /** Accessible name of the bar's `<aside>` landmark. Default: `Quick actions`. */
5
11
  this.aria_label = 'Quick actions';
6
12
  this.isHidden = false;
7
13
  this.lastScrollY = 0;
14
+ this.rightOpen = false;
15
+ this.rightListId = `dda-sticky-footer-right-${++stickyFooterCount}`;
16
+ this.isMobile = false;
17
+ this.onMobileChange = (event) => (this.isMobile = event.matches);
18
+ /** Hides the middle logo section. Default: `false` (the logos show when at least one is set). */
19
+ this.hideMiddleSection = false;
8
20
  }
9
21
  componentWillLoad() {
10
22
  this.handleScroll = this.handleScroll.bind(this);
@@ -19,13 +31,19 @@ export class DdaStickyFooter {
19
31
  });
20
32
  this.resizeObserver.observe(bar);
21
33
  }
34
+ if (typeof window.matchMedia === 'function') {
35
+ this.mobileQuery = window.matchMedia('(max-width: 992px)');
36
+ this.isMobile = this.mobileQuery.matches;
37
+ this.mobileQuery.addEventListener('change', this.onMobileChange);
38
+ }
22
39
  }
23
40
  disconnectedCallback() {
24
- var _a;
41
+ var _a, _b;
25
42
  window.removeEventListener('scroll', this.handleScroll);
26
43
  (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
27
44
  this.resizeObserver = null;
28
45
  document.documentElement.style.removeProperty('--dda-sticky-footer-height');
46
+ (_b = this.mobileQuery) === null || _b === void 0 ? void 0 : _b.removeEventListener('change', this.onMobileChange);
29
47
  }
30
48
  // An image wins when both are set, so pages that set both keep their current look.
31
49
  // A Material icon is decorative; the visually hidden text names the link.
@@ -38,15 +56,34 @@ export class DdaStickyFooter {
38
56
  h("span", { class: "visually-hidden" }, text),
39
57
  ];
40
58
  }
59
+ // 3.x: any colorTheme other than "light" is dark. 3.x gave an empty image when the dark one
60
+ // was missing; this falls back to the light image instead.
61
+ img(light, dark) {
62
+ return this.colorTheme !== 'light' && dark ? dark : light;
63
+ }
41
64
  handleScroll() {
42
65
  const currentScrollY = window.scrollY;
43
66
  this.isHidden = currentScrollY > this.lastScrollY;
44
67
  this.lastScrollY = currentScrollY;
45
68
  }
46
69
  render() {
70
+ const middleItems = parseJsonProp(this.middleLink, 'middle-link');
71
+ const middleLogos = (middleItems.length > 0
72
+ ? middleItems.map(item => ({ href: item.href, src: this.img(item.src, item.srcDark), alt: item.alt, tooltip: item.LogoTooltip }))
73
+ : [
74
+ { href: this.firstLogoHref, src: this.firstLogoSrc, alt: this.firstLogoAlt, tooltip: this.firstLogoTooltip },
75
+ { href: this.secondLogoHref, src: this.secondLogoSrc, alt: this.secondLogoAlt, tooltip: this.secondLogoTooltip },
76
+ { href: this.thirdLogoHref, src: this.thirdLogoSrc, alt: this.thirdLogoAlt, tooltip: this.thirdLogoTooltip },
77
+ ]).filter(logo => logo.src);
78
+ const rightItems = parseJsonProp(this.rightLink, 'right-link');
47
79
  return (
48
80
  // An <aside>, not a <footer>: the page footer (dda-footer) is the only contentinfo landmark.
49
- h("aside", { key: '00ce26f6e8b730f0e420aab0a2a1720fcd94b733', class: { 'dda-footer': true, 'hidden': this.isHidden }, "aria-label": this.aria_label, "aria-hidden": this.isHidden ? 'true' : 'false', inert: this.isHidden }, h("div", { key: '07119c454ae696291d76afa97b4b59f2df423a01', class: "footer-content" }, h("div", { key: '35924650b1eb37ac3c47118f316be49e9429da73', class: "dda-footer-item dda-footer-left" }, h("ul", { key: '6b3fd478402ff939eac034bfe8c2f0acc3a8be5b' }, h("li", { key: '4e7729bb6458b31af7af0eb2552964dba639091b', class: "foot-icon-btn" }, h("dda-tooltip", { key: 'cf4829d16ea19b13b6d658ef257f0fb525d8db30', title_text: this.happinessIconTooltip, description: "", position: "top" }, h("a", { key: '1fe23758b0c494d38667c716d13cd4e445705e65', href: this.happinessIconHref }, h("img", { key: '0cee47565071942c2a522c49e315c63f9019091a', src: this.happinessIconSrc, alt: this.happinessIconAlt })))), h("li", { key: '473cd525bb10eb696790b1f1da97910c0f238b52', class: "foot-icon-btn" }, h("dda-tooltip", { key: 'e4af8610afa278390f1b353c53a11d76f8960cd2', title_text: this.accessibilityIconTooltip, description: "", position: "top" }, h("a", { key: 'df65a784e936c03a3d7a97e0a1f42d7c702bf8c4', href: this.accessibilityIconHref }, h("img", { key: '2420fef29b01607c95337ba17fbc571f32380dc3', src: this.accessibilityIconSrc, alt: this.accessibilityIconAlt })))), h("li", { key: '875bf4dcc2fa35a4c43274e585368516a1f0c419', class: "foot-icon-btn" }, h("dda-tooltip", { key: '960e9e83b45ec1ca97ed5e3cf2bf0e4c64404f6c', title_text: this.servicesIconTooltip, description: "", position: "top" }, h("a", { key: '8989d62bdeb6ad5275ac8b83eb8d3365c49c7c8d', href: this.servicesIconHref }, h("img", { key: '64f1bfddc75b364889fcccfaa920f6554de854ac', src: this.servicesIconSrc, alt: this.servicesIconText ? '' : this.servicesIconAlt }), this.servicesIconText && h("span", { key: 'fcbb3557e2611a607ecc9d689a7185826e8a1536' }, this.servicesIconText)))))), this.hideMiddleSection == false && (h("div", { key: 'e2943640b40aba3efa7994da339c001c208e255e', class: "dda-footer-item dda-footer-middle" }, h("ul", { key: 'df1cf3eeb987812cf6256db4d43b7a4806aa743d', class: "foot-logo" }, h("li", { key: 'fa5a60952a04194b6097d0d65b6528360497ebe0' }, h("dda-tooltip", { key: '2e2c3565b9cd52682d5e93d8f50eba6fed02206b', title_text: this.firstLogoTooltip, description: "", position: "top" }, h("a", { key: 'e8bbd7842372bf1d9ea2c3a226e7097ad0e3afe7', href: this.firstLogoHref }, h("img", { key: 'c80985d96e2cb296b7a1c3a8eb72da5d5aaaeb16', src: this.firstLogoSrc, alt: this.firstLogoAlt })))), h("li", { key: 'f7042bd13a2da6f3a2f7725adebd3a8dfc7cb02c' }, h("dda-tooltip", { key: '7f500304b12bff7ad406eeb55181d902ef778e04', title_text: this.secondLogoTooltip, description: "", position: "top" }, h("a", { key: '7c4139a8a3cef3a8992d774103ed6d9843227a04', href: this.secondLogoHref }, h("img", { key: 'fed6b5271a0361d09389b7eea46aaa282a92bd6d', src: this.secondLogoSrc, alt: this.secondLogoAlt })))), h("li", { key: 'd94e97c4317e8720f36bea823388182f2abf8e79' }, h("dda-tooltip", { key: '37772845af7fb85d10f4b973fb89d4bc9a310d55', title_text: this.thirdLogoTooltip, description: "", position: "top" }, h("a", { key: 'd49a6c608cd0280909824142bf4f3c65ca53888a', href: this.thirdLogoHref }, h("img", { key: '334a184a61e0962bdfdc2ebbcb0955a50fcf496f', src: this.thirdLogoSrc, alt: this.thirdLogoAlt }))))))), h("div", { key: 'cf17c11f5b494003dddffc9b4d7a6ba13c1757c6', class: "dda-footer-item dda-footer-right" }, h("ul", { key: '96a7fdcab29367a7b26fa03bbac36b03c61d168f' }, h("li", { key: 'e3167fa25515c3127710b621053b31d12cd76359', class: "foot-icon-btn" }, h("dda-tooltip", { key: '87c90369dbc48510aaaedb8486dd445876f1e093', title_text: this.locationButtonText, description: "", position: "top" }, h("a", { key: '0252c18219bd05b4c892277a71cd00db23b84a31', href: this.locationButtonHref }, this.renderLinkGraphic(this.locationLogoSrc, this.locationButtonIcon, this.locationButtonText)))), h("li", { key: 'bff9d7b611382015d640fdd1e04a3a7e81111c3a', class: "foot-icon-btn" }, h("dda-tooltip", { key: '5643009f571ff58459fb29745531f0dc3c6a58fb', title_text: this.newsButtonText, description: "", position: "top" }, h("a", { key: '17c34d76970d9ac60c0072f37afbcad0bf72c875', href: this.newsButtonHref }, this.renderLinkGraphic(this.newsButtonSrc, this.newsButtonIcon, this.newsButtonText)))), h("li", { key: '861299a89994f344afa277f6b0857ab37ae2b187', class: "foot-icon-btn" }, h("dda-tooltip", { key: '0432ac8517824db42254f3620f9b1f6a602b8d12', title_text: this.aiIconTooltip, description: "", position: "top" }, h("a", { key: 'ccb2edccc8070848fb0fe6609f21c2e2a10dbaba', href: this.aiIconHref }, h("img", { key: '76cb10b57d1a7fe9874c48ed2a3ba70694b548f1', src: this.aiIconSrc, alt: this.aiIconAlt })))), h("li", { key: '44095b5fc6402f101b2b89e4737d0c0ff96da9c3', class: "foot-icon-btn" }, h("dda-tooltip", { key: 'd6e55bc78f2bcdb364e854c15c8e019190fa1da1', title_text: this.chatIconTooltip, description: "", position: "top" }, h("a", { key: '4e683ae48ffa83c4232a48bb08ee99948e606303', href: this.chatIconHref }, h("img", { key: '4d3b25afbdd7ff43ba5b17d3a6624552294986db', src: this.chatIconSrc, alt: this.chatIconAlt })))))))));
81
+ h("aside", { key: '3646462dd78e1e15798cbde5a74d75191cdd1086', class: { 'dda-footer': true, hidden: this.isHidden, 'has-more-button': !!this.moreIcon }, "aria-label": this.aria_label, "aria-hidden": this.isHidden ? 'true' : 'false', inert: this.isHidden }, h("div", { key: 'cef204100853f69250b15c7e71ef2d6b97df7fce', class: "footer-content" }, h("div", { key: '0bc5c97a4406ff13f240becca20212f78d2e96fc', class: "dda-footer-item dda-footer-left" }, h("ul", { key: '70d02e19f02c4dd54cf533351dd70e28f9b9d00f' }, this.happinessIconSrc && (h("li", { key: 'e0202043b9b94772dec0ecce445ab1fff71545a2', class: "foot-icon-btn" }, h("dda-tooltip", { key: '0d3fb7aa55adca64a1b2cd5adb7c6d323ab358fd', title_text: this.happinessIconTooltip, description: "", position: "top" }, h("a", { key: 'b6617f12a5834e8c2edd86addc03416f19ea7af3', href: this.happinessIconHref, id: this.happinessIconId }, h("img", { key: '1689a7b0fa925862d7083870c1d90b6e2dbbc4ba', src: this.img(this.happinessIconSrc, this.happinessIconSrcDark), alt: this.happinessIconAlt }))))), this.accessibilityIconSrc && (h("li", { key: 'b2abd53e38316dffba4081fbdc2f32e2733e0f65', class: "foot-icon-btn" }, h("dda-tooltip", { key: 'd59ddfeac093c7e213e5847a645a98cae907efbc', title_text: this.accessibilityIconTooltip, description: "", position: "top" }, h("a", { key: '81fcac6b35eed1caf49017d18aa0960871ada04c', href: this.accessibilityIconHref, id: this.accessibilityIconId }, h("img", { key: '1fbec3dc783c99e16a66aec2edf6e09bf68e64aa', src: this.img(this.accessibilityIconSrc, this.accessibilityIconSrcDark), alt: this.accessibilityIconAlt }))))), (this.servicesIconSrc || this.servicesIconText) && (h("li", { key: '4a8bfc4edf865cab5d0dfd271d537a2bd889a170', class: "foot-icon-btn" }, h("dda-tooltip", { key: '48bccd2fc8736481a8446c9db30a014ac63d6ad8', title_text: this.servicesIconTooltip, description: "", position: "top" }, h("a", { key: '15c07ad10e9b29434ed40e1a0db429bb90e9531d', href: this.servicesIconHref, id: this.servicesIconId }, h("img", { key: '3ec96b68cd44f4468e219e46764a84d967ed3989', src: this.img(this.servicesIconSrc, this.servicesIconSrcDark), alt: this.servicesIconText ? '' : this.servicesIconAlt }), this.servicesIconText && h("span", { key: 'c8ebfa04088a46d883e920900ecb8f6880042be4' }, this.servicesIconText))))))), !this.hideMiddleSection && middleLogos.length > 0 && (h("div", { key: 'ffbce0f6070b63588bdf52b5660bdafd02937dc4', class: "dda-footer-item dda-footer-middle" }, h("ul", { key: '7b1ffaa87a43a549d5ff7c09acc7eedda8289776', class: "foot-logo" }, middleLogos.map(logo => (h("li", null, h("dda-tooltip", { title_text: logo.tooltip, description: "", position: "top" }, h("a", { href: logo.href }, h("img", { src: logo.src, alt: logo.alt }))))))))), h("div", { key: '1177349fa3617cc0a60cc36569e2005bd8d161b4', class: "dda-footer-item dda-footer-right" }, h("ul", { key: '28cf955988ea1a1b4897015dbeddbcd19913c523', id: this.rightListId, class: { 'foot-right_links': true, 'show-dda-icon': this.rightOpen }, inert: !!this.moreIcon && !this.rightOpen && this.isMobile }, rightItems.length > 0
82
+ ? rightItems.map(item => (h("li", { class: "foot-icon-btn" }, h("dda-tooltip", { title_text: item.RightLinkTooltip || item.LinkText, description: "", position: "top" }, h("a", { href: item.href, id: item.itemId, title: item.title }, item.IconName && (h("i", { class: item.IconFamily || 'material-icons', "aria-hidden": "true" }, item.IconName)), h("span", null, item.LinkText))))))
83
+ : [
84
+ (this.locationLogoSrc || this.locationButtonIcon) && (h("li", { class: "foot-icon-btn" }, h("dda-tooltip", { title_text: this.locationButtonText, description: "", position: "top" }, h("a", { href: this.locationButtonHref }, this.renderLinkGraphic(this.locationLogoSrc, this.locationButtonIcon, this.locationButtonText))))),
85
+ (this.newsButtonSrc || this.newsButtonIcon) && (h("li", { class: "foot-icon-btn" }, h("dda-tooltip", { title_text: this.newsButtonText, description: "", position: "top" }, h("a", { href: this.newsButtonHref }, this.renderLinkGraphic(this.newsButtonSrc, this.newsButtonIcon, this.newsButtonText))))),
86
+ ], this.dubaiaeIconSrc && this.dubaiaeIconSmallSrc && (h("li", { key: 'edc740c6c800ef96bc14f5543923f82a041d446c', class: "foot-icon-btn" }, h("dda-tooltip", { key: '827b9a1300bde258043c55733fd3547a9390abda', title_text: this.dubaiaeIconTooltip, description: "", position: "top" }, h("a", { key: '5d8e8ed55f43e3615722365b9d26ec8f6e1c4b2f', href: this.dubaiaeIconHref, id: this.dubaiaeIconId }, h("img", { key: '4a1f27125a148e86f50f53afa1b930e0de090dd9', class: "dubaiae-text-icon", src: this.img(this.dubaiaeIconSrc, this.dubaiaeIconSrcDark), alt: this.dubaiaeIconAlt }), h("img", { key: '665af1359538e8355621f813a138f0eb9d7bd84b', class: "dubaiae-small-icon", src: this.dubaiaeIconSmallSrc, alt: this.dubaiaeIconAlt }))))), this.aiIconSrc && (h("li", { key: '01fee43f185be8bf1294aecbe52b055398b7b543', class: "foot-icon-btn" }, h("dda-tooltip", { key: '820c78282e14472ca990b12041db4ec4e642083e', title_text: this.aiIconTooltip, description: "", position: "top" }, h("a", { key: '54eb1224021a028677e9b8d23006fbd9beb11fbf', href: this.aiIconHref, id: this.aiIconId }, h("img", { key: '6d1feb742d0ca78e690351535bbd9cbeebe0d5f5', src: this.img(this.aiIconSrc, this.aiIconSrcDark), alt: this.aiIconAlt }))))), this.chatIconSrc && (h("li", { key: 'af4d7ad217827506e99407da3a8101f32d7bde78', class: "foot-icon-btn" }, h("dda-tooltip", { key: '7478d66901785ce407d0a51ab8e80fa538f67768', title_text: this.chatIconTooltip, description: "", position: "top" }, h("a", { key: '4c8b819b05e00738e6b6a2a2c5361ba3480ec956', href: this.chatIconHref, id: this.chatIconId }, h("img", { key: '316c1e6691521684e21ca55ee6199a959f20528a', src: this.img(this.chatIconSrc, this.chatIconSrcDark), alt: this.chatIconAlt })))))), this.moreIcon && (h("button", { key: '2fc1d6684a5c59a364edf3cd3e7a7c1c03e097a9', type: "button", class: "show-right-icon", "aria-label": this.more_button_label || 'More', "aria-expanded": this.rightOpen ? 'true' : 'false', "aria-controls": this.rightListId, onClick: () => (this.rightOpen = !this.rightOpen) }, h("i", { key: 'e7b3e9c6ba9dec1af710039255832e5a2242b8bd', class: this.moreIconFamily || 'material-icons', "aria-hidden": "true" }, this.moreIcon)))))));
50
87
  }
51
88
  static get is() { return "dda-sticky-footer"; }
52
89
  static get originalStyleUrls() {
@@ -137,6 +174,44 @@ export class DdaStickyFooter {
137
174
  "reflect": false,
138
175
  "attribute": "happiness-icon-tooltip"
139
176
  },
177
+ "happinessIconId": {
178
+ "type": "string",
179
+ "mutable": false,
180
+ "complexType": {
181
+ "original": "string",
182
+ "resolved": "string",
183
+ "references": {}
184
+ },
185
+ "required": false,
186
+ "optional": false,
187
+ "docs": {
188
+ "tags": [],
189
+ "text": "`id` of the happiness link."
190
+ },
191
+ "getter": false,
192
+ "setter": false,
193
+ "reflect": false,
194
+ "attribute": "happiness-icon-id"
195
+ },
196
+ "happinessIconSrcDark": {
197
+ "type": "string",
198
+ "mutable": false,
199
+ "complexType": {
200
+ "original": "string",
201
+ "resolved": "string",
202
+ "references": {}
203
+ },
204
+ "required": false,
205
+ "optional": false,
206
+ "docs": {
207
+ "tags": [],
208
+ "text": "Happiness image for `color-theme=\"dark\"`."
209
+ },
210
+ "getter": false,
211
+ "setter": false,
212
+ "reflect": false,
213
+ "attribute": "happiness-icon-src-dark"
214
+ },
140
215
  "accessibilityIconHref": {
141
216
  "type": "string",
142
217
  "mutable": false,
@@ -213,6 +288,44 @@ export class DdaStickyFooter {
213
288
  "reflect": false,
214
289
  "attribute": "accessibility-icon-tooltip"
215
290
  },
291
+ "accessibilityIconId": {
292
+ "type": "string",
293
+ "mutable": false,
294
+ "complexType": {
295
+ "original": "string",
296
+ "resolved": "string",
297
+ "references": {}
298
+ },
299
+ "required": false,
300
+ "optional": false,
301
+ "docs": {
302
+ "tags": [],
303
+ "text": "`id` of the accessibility (04) link."
304
+ },
305
+ "getter": false,
306
+ "setter": false,
307
+ "reflect": false,
308
+ "attribute": "accessibility-icon-id"
309
+ },
310
+ "accessibilityIconSrcDark": {
311
+ "type": "string",
312
+ "mutable": false,
313
+ "complexType": {
314
+ "original": "string",
315
+ "resolved": "string",
316
+ "references": {}
317
+ },
318
+ "required": false,
319
+ "optional": false,
320
+ "docs": {
321
+ "tags": [],
322
+ "text": "Accessibility (04) image for `color-theme=\"dark\"`."
323
+ },
324
+ "getter": false,
325
+ "setter": false,
326
+ "reflect": false,
327
+ "attribute": "accessibility-icon-src-dark"
328
+ },
216
329
  "servicesIconHref": {
217
330
  "type": "string",
218
331
  "mutable": false,
@@ -308,6 +421,44 @@ export class DdaStickyFooter {
308
421
  "reflect": false,
309
422
  "attribute": "services-icon-text"
310
423
  },
424
+ "servicesIconId": {
425
+ "type": "string",
426
+ "mutable": false,
427
+ "complexType": {
428
+ "original": "string",
429
+ "resolved": "string",
430
+ "references": {}
431
+ },
432
+ "required": false,
433
+ "optional": false,
434
+ "docs": {
435
+ "tags": [],
436
+ "text": "`id` of the services link."
437
+ },
438
+ "getter": false,
439
+ "setter": false,
440
+ "reflect": false,
441
+ "attribute": "services-icon-id"
442
+ },
443
+ "servicesIconSrcDark": {
444
+ "type": "string",
445
+ "mutable": false,
446
+ "complexType": {
447
+ "original": "string",
448
+ "resolved": "string",
449
+ "references": {}
450
+ },
451
+ "required": false,
452
+ "optional": false,
453
+ "docs": {
454
+ "tags": [],
455
+ "text": "Services image for `color-theme=\"dark\"`."
456
+ },
457
+ "getter": false,
458
+ "setter": false,
459
+ "reflect": false,
460
+ "attribute": "services-icon-src-dark"
461
+ },
311
462
  "firstLogoHref": {
312
463
  "type": "string",
313
464
  "mutable": false,
@@ -536,6 +687,31 @@ export class DdaStickyFooter {
536
687
  "reflect": false,
537
688
  "attribute": "third-logo-tooltip"
538
689
  },
690
+ "middleLink": {
691
+ "type": "string",
692
+ "mutable": false,
693
+ "complexType": {
694
+ "original": "string | MiddleLinkItem[]",
695
+ "resolved": "MiddleLinkItem[] | string",
696
+ "references": {
697
+ "MiddleLinkItem": {
698
+ "location": "local",
699
+ "path": "/root/Coding/dubai-design-system/packages/stencil/src/components/dda-sticky-footer/dda-sticky-footer.tsx",
700
+ "id": "src/components/dda-sticky-footer/dda-sticky-footer.tsx::MiddleLinkItem"
701
+ }
702
+ }
703
+ },
704
+ "required": false,
705
+ "optional": false,
706
+ "docs": {
707
+ "tags": [],
708
+ "text": "Middle logos as a list (3.x). JSON array, or array property, of `{ LogoTooltip, href, src, srcDark, alt }`. When set, it replaces the first, second and third logo props."
709
+ },
710
+ "getter": false,
711
+ "setter": false,
712
+ "reflect": false,
713
+ "attribute": "middle-link"
714
+ },
539
715
  "locationButtonHref": {
540
716
  "type": "string",
541
717
  "mutable": false,
@@ -764,6 +940,44 @@ export class DdaStickyFooter {
764
940
  "reflect": false,
765
941
  "attribute": "ai-icon-tooltip"
766
942
  },
943
+ "aiIconId": {
944
+ "type": "string",
945
+ "mutable": false,
946
+ "complexType": {
947
+ "original": "string",
948
+ "resolved": "string",
949
+ "references": {}
950
+ },
951
+ "required": false,
952
+ "optional": false,
953
+ "docs": {
954
+ "tags": [],
955
+ "text": "`id` of the AI assistant link."
956
+ },
957
+ "getter": false,
958
+ "setter": false,
959
+ "reflect": false,
960
+ "attribute": "ai-icon-id"
961
+ },
962
+ "aiIconSrcDark": {
963
+ "type": "string",
964
+ "mutable": false,
965
+ "complexType": {
966
+ "original": "string",
967
+ "resolved": "string",
968
+ "references": {}
969
+ },
970
+ "required": false,
971
+ "optional": false,
972
+ "docs": {
973
+ "tags": [],
974
+ "text": "AI assistant image for `color-theme=\"dark\"`."
975
+ },
976
+ "getter": false,
977
+ "setter": false,
978
+ "reflect": false,
979
+ "attribute": "ai-icon-src-dark"
980
+ },
767
981
  "chatIconHref": {
768
982
  "type": "string",
769
983
  "mutable": false,
@@ -840,6 +1054,280 @@ export class DdaStickyFooter {
840
1054
  "reflect": false,
841
1055
  "attribute": "chat-icon-tooltip"
842
1056
  },
1057
+ "chatIconId": {
1058
+ "type": "string",
1059
+ "mutable": false,
1060
+ "complexType": {
1061
+ "original": "string",
1062
+ "resolved": "string",
1063
+ "references": {}
1064
+ },
1065
+ "required": false,
1066
+ "optional": false,
1067
+ "docs": {
1068
+ "tags": [],
1069
+ "text": "`id` of the chat link."
1070
+ },
1071
+ "getter": false,
1072
+ "setter": false,
1073
+ "reflect": false,
1074
+ "attribute": "chat-icon-id"
1075
+ },
1076
+ "chatIconSrcDark": {
1077
+ "type": "string",
1078
+ "mutable": false,
1079
+ "complexType": {
1080
+ "original": "string",
1081
+ "resolved": "string",
1082
+ "references": {}
1083
+ },
1084
+ "required": false,
1085
+ "optional": false,
1086
+ "docs": {
1087
+ "tags": [],
1088
+ "text": "Chat image for `color-theme=\"dark\"`."
1089
+ },
1090
+ "getter": false,
1091
+ "setter": false,
1092
+ "reflect": false,
1093
+ "attribute": "chat-icon-src-dark"
1094
+ },
1095
+ "rightLink": {
1096
+ "type": "string",
1097
+ "mutable": false,
1098
+ "complexType": {
1099
+ "original": "string | RightLinkItem[]",
1100
+ "resolved": "RightLinkItem[] | string",
1101
+ "references": {
1102
+ "RightLinkItem": {
1103
+ "location": "local",
1104
+ "path": "/root/Coding/dubai-design-system/packages/stencil/src/components/dda-sticky-footer/dda-sticky-footer.tsx",
1105
+ "id": "src/components/dda-sticky-footer/dda-sticky-footer.tsx::RightLinkItem"
1106
+ }
1107
+ }
1108
+ },
1109
+ "required": false,
1110
+ "optional": false,
1111
+ "docs": {
1112
+ "tags": [],
1113
+ "text": "Right-side text links as a list (3.x). JSON array, or array property, of `{ RightLinkTooltip, href, title, itemId, IconFamily, IconName, LinkText }`. When set, it replaces the location and news links."
1114
+ },
1115
+ "getter": false,
1116
+ "setter": false,
1117
+ "reflect": false,
1118
+ "attribute": "right-link"
1119
+ },
1120
+ "dubaiaeIconHref": {
1121
+ "type": "string",
1122
+ "mutable": false,
1123
+ "complexType": {
1124
+ "original": "string",
1125
+ "resolved": "string",
1126
+ "references": {}
1127
+ },
1128
+ "required": false,
1129
+ "optional": false,
1130
+ "docs": {
1131
+ "tags": [],
1132
+ "text": "Link URL of the dubai.ae link (right section)."
1133
+ },
1134
+ "getter": false,
1135
+ "setter": false,
1136
+ "reflect": false,
1137
+ "attribute": "dubaiae-icon-href"
1138
+ },
1139
+ "dubaiaeIconId": {
1140
+ "type": "string",
1141
+ "mutable": false,
1142
+ "complexType": {
1143
+ "original": "string",
1144
+ "resolved": "string",
1145
+ "references": {}
1146
+ },
1147
+ "required": false,
1148
+ "optional": false,
1149
+ "docs": {
1150
+ "tags": [],
1151
+ "text": "`id` of the dubai.ae link."
1152
+ },
1153
+ "getter": false,
1154
+ "setter": false,
1155
+ "reflect": false,
1156
+ "attribute": "dubaiae-icon-id"
1157
+ },
1158
+ "dubaiaeIconSrc": {
1159
+ "type": "string",
1160
+ "mutable": false,
1161
+ "complexType": {
1162
+ "original": "string",
1163
+ "resolved": "string",
1164
+ "references": {}
1165
+ },
1166
+ "required": false,
1167
+ "optional": false,
1168
+ "docs": {
1169
+ "tags": [],
1170
+ "text": "dubai.ae wordmark image, shown on desktop. The link shows only when this and `dubaiaeIconSmallSrc` are set."
1171
+ },
1172
+ "getter": false,
1173
+ "setter": false,
1174
+ "reflect": false,
1175
+ "attribute": "dubaiae-icon-src"
1176
+ },
1177
+ "dubaiaeIconSrcDark": {
1178
+ "type": "string",
1179
+ "mutable": false,
1180
+ "complexType": {
1181
+ "original": "string",
1182
+ "resolved": "string",
1183
+ "references": {}
1184
+ },
1185
+ "required": false,
1186
+ "optional": false,
1187
+ "docs": {
1188
+ "tags": [],
1189
+ "text": "dubai.ae wordmark for `color-theme=\"dark\"`."
1190
+ },
1191
+ "getter": false,
1192
+ "setter": false,
1193
+ "reflect": false,
1194
+ "attribute": "dubaiae-icon-src-dark"
1195
+ },
1196
+ "dubaiaeIconSmallSrc": {
1197
+ "type": "string",
1198
+ "mutable": false,
1199
+ "complexType": {
1200
+ "original": "string",
1201
+ "resolved": "string",
1202
+ "references": {}
1203
+ },
1204
+ "required": false,
1205
+ "optional": false,
1206
+ "docs": {
1207
+ "tags": [],
1208
+ "text": "dubai.ae small icon, shown at 992px and below."
1209
+ },
1210
+ "getter": false,
1211
+ "setter": false,
1212
+ "reflect": false,
1213
+ "attribute": "dubaiae-icon-small-src"
1214
+ },
1215
+ "dubaiaeIconAlt": {
1216
+ "type": "string",
1217
+ "mutable": false,
1218
+ "complexType": {
1219
+ "original": "string",
1220
+ "resolved": "string",
1221
+ "references": {}
1222
+ },
1223
+ "required": false,
1224
+ "optional": false,
1225
+ "docs": {
1226
+ "tags": [],
1227
+ "text": "Alternative text of both dubai.ae images."
1228
+ },
1229
+ "getter": false,
1230
+ "setter": false,
1231
+ "reflect": false,
1232
+ "attribute": "dubaiae-icon-alt"
1233
+ },
1234
+ "dubaiaeIconTooltip": {
1235
+ "type": "string",
1236
+ "mutable": false,
1237
+ "complexType": {
1238
+ "original": "string",
1239
+ "resolved": "string",
1240
+ "references": {}
1241
+ },
1242
+ "required": false,
1243
+ "optional": false,
1244
+ "docs": {
1245
+ "tags": [],
1246
+ "text": "Tooltip text of the dubai.ae link."
1247
+ },
1248
+ "getter": false,
1249
+ "setter": false,
1250
+ "reflect": false,
1251
+ "attribute": "dubaiae-icon-tooltip"
1252
+ },
1253
+ "moreIcon": {
1254
+ "type": "string",
1255
+ "mutable": false,
1256
+ "complexType": {
1257
+ "original": "string",
1258
+ "resolved": "string",
1259
+ "references": {}
1260
+ },
1261
+ "required": false,
1262
+ "optional": false,
1263
+ "docs": {
1264
+ "tags": [],
1265
+ "text": "Material icon name of the \"more\" button. When set, the right links collapse behind this button at 992px and below."
1266
+ },
1267
+ "getter": false,
1268
+ "setter": false,
1269
+ "reflect": false,
1270
+ "attribute": "more-icon"
1271
+ },
1272
+ "moreIconFamily": {
1273
+ "type": "string",
1274
+ "mutable": false,
1275
+ "complexType": {
1276
+ "original": "string",
1277
+ "resolved": "string",
1278
+ "references": {}
1279
+ },
1280
+ "required": false,
1281
+ "optional": false,
1282
+ "docs": {
1283
+ "tags": [],
1284
+ "text": "`class` of the \"more\" button icon. Default: `material-icons`."
1285
+ },
1286
+ "getter": false,
1287
+ "setter": false,
1288
+ "reflect": false,
1289
+ "attribute": "more-icon-family"
1290
+ },
1291
+ "more_button_label": {
1292
+ "type": "string",
1293
+ "mutable": false,
1294
+ "complexType": {
1295
+ "original": "string",
1296
+ "resolved": "string",
1297
+ "references": {}
1298
+ },
1299
+ "required": false,
1300
+ "optional": false,
1301
+ "docs": {
1302
+ "tags": [],
1303
+ "text": "Accessible name of the \"more\" button. Default, and fallback for an empty value: `More`."
1304
+ },
1305
+ "getter": false,
1306
+ "setter": false,
1307
+ "reflect": false,
1308
+ "attribute": "more_button_label",
1309
+ "defaultValue": "'More'"
1310
+ },
1311
+ "colorTheme": {
1312
+ "type": "string",
1313
+ "mutable": false,
1314
+ "complexType": {
1315
+ "original": "'light' | 'dark'",
1316
+ "resolved": "\"dark\" | \"light\"",
1317
+ "references": {}
1318
+ },
1319
+ "required": false,
1320
+ "optional": false,
1321
+ "docs": {
1322
+ "tags": [],
1323
+ "text": "`dark` uses the `*-src-dark` images; an image without a dark version keeps its light image. Default: `light`."
1324
+ },
1325
+ "getter": false,
1326
+ "setter": false,
1327
+ "reflect": false,
1328
+ "attribute": "color-theme",
1329
+ "defaultValue": "'light'"
1330
+ },
843
1331
  "aria_label": {
844
1332
  "type": "string",
845
1333
  "mutable": false,
@@ -872,18 +1360,21 @@ export class DdaStickyFooter {
872
1360
  "optional": false,
873
1361
  "docs": {
874
1362
  "tags": [],
875
- "text": "Hides the middle logo section. The section shows only when this is explicitly `false`."
1363
+ "text": "Hides the middle logo section. Default: `false` (the logos show when at least one is set)."
876
1364
  },
877
1365
  "getter": false,
878
1366
  "setter": false,
879
1367
  "reflect": false,
880
- "attribute": "hide-middle-section"
1368
+ "attribute": "hide-middle-section",
1369
+ "defaultValue": "false"
881
1370
  }
882
1371
  };
883
1372
  }
884
1373
  static get states() {
885
1374
  return {
886
- "isHidden": {}
1375
+ "isHidden": {},
1376
+ "rightOpen": {},
1377
+ "isMobile": {}
887
1378
  };
888
1379
  }
889
1380
  static get elementRef() { return "el"; }
@@ -21,7 +21,7 @@ export default {
21
21
  newsButtonIcon: {
22
22
  control: { type: 'text' },
23
23
  description: 'Material Symbols icon of the news link, shown when the news image is empty',
24
- }
24
+ },
25
25
  },
26
26
  component: 'dda-sticky-footer',
27
27
  parameters: {
@@ -136,3 +136,14 @@ Default.args = {
136
136
  // The location and news links show a Material Symbols icon when their image is not set.
137
137
  export const MaterialIcons = Template.bind({});
138
138
  MaterialIcons.args = Object.assign(Object.assign({}, Default.args), { locationButtonSrc: '', locationButtonIcon: 'location_on', newsButtonSrc: '', newsButtonIcon: 'newspaper' });
139
+ // 3.x lists: any number of middle logos, right links with icons and text, and the "more" button
140
+ // that collects the right links on phones. `Template` returns a string, so the extra attributes
141
+ // are added to that string.
142
+ const listAttributes = `more-icon="more_horiz" more-icon-family="material-icons"
143
+ middle-link='${JSON.stringify([1, 2, 3, 4].map(n => ({ LogoTooltip: `Logo ${n}`, href: '#', src: digital_logo, alt: `Logo ${n}` })))}'
144
+ right-link='${JSON.stringify([
145
+ { RightLinkTooltip: 'Newsroom', href: '#', LinkText: 'Newsroom', IconFamily: 'material-icons', IconName: 'feed' },
146
+ { RightLinkTooltip: 'Contact us', href: '#', LinkText: 'Contact us', IconFamily: 'material-icons', IconName: 'call' },
147
+ ])}'`;
148
+ export const Lists3x = args => Template(args).replace('<dda-sticky-footer', `<dda-sticky-footer ${listAttributes}`);
149
+ Lists3x.args = Object.assign(Object.assign({}, Default.args), { locationButtonSrc: '', newsButtonSrc: '' });
@@ -44,7 +44,7 @@ export class DdaTabs {
44
44
  }
45
45
  }
46
46
  render() {
47
- return (h(Host, { key: '6cd2019b8b9c2b7fdb565241cc46bb5bcff01c09' }, h("div", { key: '2e12543d2c20521f1731c883280b266289813054', role: "group", "aria-label": this.aria_label, class: `dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode}` }, this.parsedTabs.map((title, index) => (h("button", { id: this.button_id, name: this.button_name, type: "button", "aria-pressed": this.active_tab === index ? 'true' : 'false', class: `dda-tab-item ${this.active_tab === index ? 'active' : ''}`, onClick: () => this.setActiveTab(index) }, this.type === 'text-icon' && h("i", { class: `material-icons`, "aria-hidden": "true" }, this.parsedIcons[index] || ""), h("span", null, title)))))));
47
+ return (h(Host, { key: 'cd618ae51b42c4b3537c9d79f9d0722c6fedcdf3' }, h("div", { key: '6c5ce0c1e8742ad322d845da606224b0caa9286c', role: "group", "aria-label": this.aria_label, class: `dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode}` }, this.parsedTabs.map((title, index) => (h("button", { id: this.button_id, name: this.button_name, type: "button", "aria-pressed": this.active_tab === index ? 'true' : 'false', class: `dda-tab-item ${this.active_tab === index ? 'active' : ''}`, onClick: () => this.setActiveTab(index) }, this.type === 'text-icon' && h("i", { class: `material-icons`, "aria-hidden": "true" }, this.parsedIcons[index] || ""), h("span", null, title)))))));
48
48
  }
49
49
  static get is() { return "dda-tabs"; }
50
50
  static get originalStyleUrls() {