@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
@@ -0,0 +1,24 @@
1
+ const cards = [
2
+ { banner_card_href: '#', image_src: '', banner_card_title: 'About us', banner_card_description: 'Who we are and what we do' },
3
+ { banner_card_href: '#', image_src: '', banner_card_title: 'Open data', banner_card_description: 'Download public data sets' },
4
+ { banner_card_href: '#', image_src: '', banner_card_title: 'Partnerships', banner_card_description: 'Public and private projects' },
5
+ { banner_card_href: '#', image_src: '', banner_card_title: 'Maliyoun', banner_card_description: 'Finance careers programme' },
6
+ { banner_card_href: '#', image_src: '', banner_card_title: 'Services', banner_card_description: 'All services in one place' },
7
+ ];
8
+ export default {
9
+ title: 'Components/Home Carousel',
10
+ tags: ['autodocs'],
11
+ component: 'dda-home-carousel',
12
+ argTypes: {
13
+ items_in_view: { control: { type: 'number', min: 1 }, description: 'Cards shown at once on wide screens' },
14
+ aria_label: { control: 'text', description: 'Accessible name of the card list' },
15
+ },
16
+ };
17
+ const Template = args => `
18
+ <div class="home-intros" style="position: relative; height: 480px; background: #1d211b;">
19
+ <div class="dda-home-quick-links-wrap"><div class="dda-home-quick-links">
20
+ <dda-home-carousel items_in_view="${args.items_in_view}" aria_label="${args.aria_label}" bannercardlist='${JSON.stringify(cards)}'></dda-home-carousel>
21
+ </div></div>
22
+ </div>`;
23
+ export const Default = Template.bind({});
24
+ Default.args = { items_in_view: 4, aria_label: 'Quick links' };
@@ -42,7 +42,7 @@ export class DdaInput {
42
42
  this.input_name,
43
43
  ].filter(Boolean).join(' ');
44
44
  const id = this.inputId;
45
- return (h(Host, { key: '98dd445b764af2df20af7e95dbc49ef74013e312' }, h("div", { key: '7a83ce0abcd733095f27d5c3275d31548acff4ae', class: inputClass }, this.label && h("label", { key: 'ddea5a3451bf37ce1c753d4bddb32cef4a2baa2e', htmlFor: id, class: "dda-input-label" }, this.label), h("input", { key: 'b8c1062b1609e72c4b87f43c4ead4b63ce35262a', "aria-label": this.aria_label, id: id, name: this.input_name, type: this.type, autocomplete: this.autocomplete, placeholder: this.placeholder, value: this.value, onInput: (event) => this.handleInput(event), class: "dda-input-field dda-input-text", "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined }), this.helper_text && h("span", { key: 'af728d433f267c7e8c81e8b5894df4a17154faa7', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: '94ad0af0de6d1d02860e6432684b79ca137b61ad', id: this.errorId, class: "dda-error-message" }, this.error_message))));
45
+ return (h(Host, { key: '456013b1bf9ca36cec1e860eeed4d26cf6b212db' }, h("div", { key: '91cee372c7df53d78228f0cc4203c63b62d87baa', class: inputClass }, this.label && h("label", { key: 'ca0ebefb538fdf75ea2320d9b72e6b37eefceb90', htmlFor: id, class: "dda-input-label" }, this.label), h("input", { key: '2d192f9e330e69343af07dd9dc5ccf3114081a65', "aria-label": this.aria_label, id: id, name: this.input_name, type: this.type, autocomplete: this.autocomplete, placeholder: this.placeholder, value: this.value, onInput: (event) => this.handleInput(event), class: "dda-input-field dda-input-text", "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined }), this.helper_text && h("span", { key: '36471770750b966057d05c2d094649160718337f', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: 'f9f9f7232f29114a03bec71f5e815e7b99b5facb', id: this.errorId, class: "dda-error-message" }, this.error_message))));
46
46
  }
47
47
  static get is() { return "dda-input"; }
48
48
  static get originalStyleUrls() {
@@ -33,9 +33,9 @@ export class DdaLinkButton {
33
33
  this.custom_class, // Include custom class
34
34
  this.component_mode,
35
35
  ].filter(Boolean).join(' ');
36
- return (h(Host, { key: '8dc6bd810c9049ea16753e583f3b2459d7be8dce' }, h("a", { key: '8f33348f1cb96c947671cd0041cdfae96f75ce8d',
36
+ return (h(Host, { key: '2e046f0acf81a0794343eeed591da1dc410222a7' }, h("a", { key: 'f0cc2585726e2a4e081dda080edde3894a9f6ab2',
37
37
  // type={this.type}
38
- id: this.button_id, href: this.href, class: linkbuttonClass, "aria-label": this.aria_label }, this.start_icon && h("i", { key: '2f2a09f7aff30f48cc0e0bebbac6fb8747fec785', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, this.start_icon), h("slot", { key: '7c8c764e2df42a872f8bd5123a8882f6ab30309c' }), this.end_icon && h("i", { key: 'e4892d4cd4b763d4ab306bd60f24b2f25a43ec59', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, this.end_icon))));
38
+ id: this.button_id, href: this.href, class: linkbuttonClass, "aria-label": this.aria_label }, this.start_icon && h("i", { key: '21aa636558ccc01a45ec274470d1a0e76557ab30', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, this.start_icon), h("slot", { key: 'f150c5b2d5dcf495c3c1bd345996516a759087d3' }), this.end_icon && h("i", { key: '6534ba8e68d01beebaa69b65271edc772600ce77', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, this.end_icon))));
39
39
  }
40
40
  static get is() { return "dda-link-button"; }
41
41
  static get originalStyleUrls() {
@@ -72,7 +72,7 @@ export class DdaNumberField {
72
72
  this.component_mode,
73
73
  ].filter(Boolean).join(' ');
74
74
  const id = this.inputId;
75
- return (h(Host, { key: 'e8e821361d846cd52c01047c1f0648e719e96249' }, h("div", { key: '4141b53316b4dbcd60faa46cf2d2b1c374cef309', class: containerClass }, this.label && h("label", { key: '20593074d31733885d83733dc63cd41376d572dc', htmlFor: id, class: "dda-input-label" }, this.label), h("div", { key: '443763cfb3a895c30815e339cd81d5e9b6de2c3e', class: "dda-input-field-group dda-number-field" }, h("input", { key: '57ed90d585e5a2d4e0c9f39bb1fdb6356d7b50f7', id: id, name: this.input_name, "aria-label": this.aria_label, type: "text", placeholder: this.placeholder, value: this.value, pattern: "[0-9]*", onInput: event => this.handleInput(event), onFocus: this.handleFocus.bind(this), onBlur: this.handleBlur.bind(this), class: "dda-field-group-input", "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined }), h("div", { key: 'cd3c78d23ba19978c5b296731192f454db3e5906', class: "dda-input-dropdown-btn" }, h("button", { key: '74d7d3720fcb37122d60ce71155e234393824a26', name: this.toggle_button_name, type: "button", class: "dda-dropdown-select", "aria-label": this.toggle_button_label ? `${this.toggle_button_label}: ${this.selected_currency}` : undefined, "aria-expanded": this.isCurrencyDropdownOpen ? 'true' : 'false', onClick: () => this.toggleCurrencyDropdown() }, this.selected_currency, " ", h("i", { key: 'd2310ea5de9922de9dfab5bac39210921b1be971', class: `material-icons`, "aria-hidden": "true" }, this.isCurrencyDropdownOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.isCurrencyDropdownOpen && (h("div", { key: '77491f92b3c065987958c8a0aadead2c941b86be', class: "dda-input-dropdown-list" }, this.parsedCurrencies.length > 0 ? (this.parsedCurrencies.map(option => (h("button", { name: this.currency_button_name, type: "button", class: `dda-input-dropdown-item ${this.selected_currency === option ? 'selected' : ''}`, onClick: () => this.selectCurrency(option) }, option)))) : (h("div", { class: "dda-input-dropdown-item" }, "No options available")))))), this.helper_text && h("span", { key: 'a3e3d37303fac4919afce9a7c6a892de4e8d2771', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: 'da1de1672834e28084e47eb3ae02b6d774b150de', id: this.errorId, class: "dda-error-message" }, this.error_message))));
75
+ return (h(Host, { key: 'dc33118445c063d8a31299d0e75864f7c2af28b6' }, h("div", { key: '8722c72807a6e63b15ca5332cbdc96e969aba269', class: containerClass }, this.label && h("label", { key: '9dd6dca85d42b69ffa360e71c917fdfc623f6c88', htmlFor: id, class: "dda-input-label" }, this.label), h("div", { key: '4194f6757d7374277e1d83b5e68aed484cddfde3', class: "dda-input-field-group dda-number-field" }, h("input", { key: '23e0faff7ff131e7dc4f510aab976fda2da35cb3', id: id, name: this.input_name, "aria-label": this.aria_label, type: "text", placeholder: this.placeholder, value: this.value, pattern: "[0-9]*", onInput: event => this.handleInput(event), onFocus: this.handleFocus.bind(this), onBlur: this.handleBlur.bind(this), class: "dda-field-group-input", "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined }), h("div", { key: '794dd0cbfd19a7c5248577cd84246e15724f5bbc', class: "dda-input-dropdown-btn" }, h("button", { key: '58342bb737767eec02ab21e85ee54950e47a9c81', name: this.toggle_button_name, type: "button", class: "dda-dropdown-select", "aria-label": this.toggle_button_label ? `${this.toggle_button_label}: ${this.selected_currency}` : undefined, "aria-expanded": this.isCurrencyDropdownOpen ? 'true' : 'false', onClick: () => this.toggleCurrencyDropdown() }, this.selected_currency, " ", h("i", { key: 'c6b45acd08c9c8091c0c350ce589af6a8de55bb3', class: `material-icons`, "aria-hidden": "true" }, this.isCurrencyDropdownOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.isCurrencyDropdownOpen && (h("div", { key: 'e9d3355a8cc996668af6bd1d54b2cd63c960ce22', class: "dda-input-dropdown-list" }, this.parsedCurrencies.length > 0 ? (this.parsedCurrencies.map(option => (h("button", { name: this.currency_button_name, type: "button", class: `dda-input-dropdown-item ${this.selected_currency === option ? 'selected' : ''}`, onClick: () => this.selectCurrency(option) }, option)))) : (h("div", { class: "dda-input-dropdown-item" }, "No options available")))))), this.helper_text && h("span", { key: '31e43fb31d6f5256fa1be9ad07ad6b8ed39a10d6', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: '7a5ba18f96a66cb35fa217379014d0b5d15da9ce', id: this.errorId, class: "dda-error-message" }, this.error_message))));
76
76
  }
77
77
  static get is() { return "dda-number-field"; }
78
78
  static get originalStyleUrls() {
@@ -63,7 +63,7 @@ export class DdaPagination {
63
63
  }
64
64
  }
65
65
  render() {
66
- return (h(Host, { key: '4de1572ef7acf0cd89b620183a723f8f9598fdf9' }, h("div", { key: '1aad2deab4985aaa29e0cf31790a0e7f3587c0d5', class: `dda-pagination-container` }, this.renderPagination())));
66
+ return (h(Host, { key: 'df2d0d06768da20cb3abb0321ab530e5843e1926' }, h("div", { key: 'c3eb73ffd96039d3a979fef9f7c750de725c3a9f', class: `dda-pagination-container` }, this.renderPagination())));
67
67
  }
68
68
  static get is() { return "dda-pagination"; }
69
69
  static get originalStyleUrls() {
@@ -78,7 +78,7 @@ export class DdaPhoneField {
78
78
  render() {
79
79
  const inputClass = `${this.component_mode} ${this.size ? `dda-input-size-${this.size}` : ''} ${this.error_message ? `dda-error-message` : ''} ${this.validation_type ? `dda-validation-${this.validation_type}` : ''} ${this.is_focused ? 'dda-input-focus' : ''} ${this.phone_number ? 'dda-input-focus-filled' : ''}`;
80
80
  const id = this.inputId;
81
- return (h(Host, { key: 'ed4636c58fceb5ee94ab0e643bef7c0d80a29e24' }, h("div", { key: '2fac5e6cf7529e1892453eaf0eae6eb49765802d', class: `dda-input-container ${inputClass} ${this.custom_class} ${this.disabled ? 'dda-input-disabled' : ''}` }, this.label && h("label", { key: '3d5a0b67761684d04ac28984337598cc69239a89', htmlFor: id, class: "dda-input-label" }, this.label), h("div", { key: 'c7934f67a0b4210164e9ba2b01f1f4b7f0456a0c', class: `dda-input-field-group dda-phone-field` }, h("div", { key: '57f327b669bd80efe824934f5580df54f6939381', class: "dda-input-dropdown-btn" }, h("button", { key: '645477fa36b62fb9b0495d58074b98db2d62beb4', type: "button", name: this.toggle_button_name, class: "dda-dropdown-select", "aria-label": this.toggle_button_label ? `${this.toggle_button_label}: ${this.country_code}` : undefined, "aria-expanded": this.dropdown_open ? 'true' : 'false', onClick: () => this.toggleDropdown() }, h("img", { key: 'a7e82fcf47ae104a3c39aa97cc9c64cea1588070', src: this.country_flag, alt: "", width: "20" }), " ", this.country_code, " ", h("i", { key: 'b8e9482e942a69b252071d9286c9fa30ead4f2f9', class: `material-icons`, "aria-hidden": "true" }, this.dropdown_open ? 'keyboard_arrow_down' : 'keyboard_arrow_down')), this.dropdown_open && (h("div", { key: 'a71f7b95b1eb9682826645655191c27ec41740d7', class: "dda-input-dropdown-list" }, this.countries.map((country, index) => (h("button", { id: `${this.button_id || `${id}-country`}-${index}`, name: this.country_select_button_name, "aria-label": this.button_aria_label, type: "button", class: "dda-input-dropdown-item", onClick: () => this.selectCountry(country) }, h("img", { src: country.flag, alt: "", width: "20" }), " ", country.code)))))), h("input", { key: 'd8d4ad4c885b26f38ece5fe3ec91bc583d03af58', id: id, name: this.phone_input_name, "aria-label": this.aria_label, type: "tel", class: `dda-field-group-input`, placeholder: this.placeholder, inputmode: 'tel', pattern: "[0-9]*", autocomplete: this.autocomplete, value: this.phone_number, onInput: this.handlephonenumberChange.bind(this), onFocus: this.handleFocus.bind(this), onBlur: this.handleBlur.bind(this), disabled: this.disabled, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined })), this.helper_text && !this.validation_type && h("span", { key: 'facc14856c52b22330242c5f3a9ab17293232900', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: '6b2d21965e9797235d757e1183799bcfa24b0461', id: this.errorId, class: "dda-error-message" }, this.error_message))));
81
+ return (h(Host, { key: 'c8913d6b359cfe46a5706f42acbb11764bbd63d5' }, h("div", { key: '90871fbde7ba810963796ec709106b0463ef2b97', class: `dda-input-container ${inputClass} ${this.custom_class} ${this.disabled ? 'dda-input-disabled' : ''}` }, this.label && h("label", { key: '031fe1b88ca5dce28bf0d05f065e29b713e6b0e0', htmlFor: id, class: "dda-input-label" }, this.label), h("div", { key: 'cffc978d774e2e70825cd6b0ea43d91f5b04ff6b', class: `dda-input-field-group dda-phone-field` }, h("div", { key: '5598c70cd89160303d7d3b13a7cefcaa5244d957', class: "dda-input-dropdown-btn" }, h("button", { key: 'bdadca750c04d90a310f0e2a323602b7ae493882', type: "button", name: this.toggle_button_name, class: "dda-dropdown-select", "aria-label": this.toggle_button_label ? `${this.toggle_button_label}: ${this.country_code}` : undefined, "aria-expanded": this.dropdown_open ? 'true' : 'false', onClick: () => this.toggleDropdown() }, h("img", { key: '8074516551e14d63f9db1d964aba1f4d8a2071f8', src: this.country_flag, alt: "", width: "20" }), " ", this.country_code, " ", h("i", { key: '4b02530bc19f68d6caeeda5ebcf26fa497db7805', class: `material-icons`, "aria-hidden": "true" }, this.dropdown_open ? 'keyboard_arrow_down' : 'keyboard_arrow_down')), this.dropdown_open && (h("div", { key: '4b1b3b5d846d2a1520019e99c25d2bdaea404c9f', class: "dda-input-dropdown-list" }, this.countries.map((country, index) => (h("button", { id: `${this.button_id || `${id}-country`}-${index}`, name: this.country_select_button_name, "aria-label": this.button_aria_label, type: "button", class: "dda-input-dropdown-item", onClick: () => this.selectCountry(country) }, h("img", { src: country.flag, alt: "", width: "20" }), " ", country.code)))))), h("input", { key: '679214a85f3ede2dbf92bf47978638f2409da898', id: id, name: this.phone_input_name, "aria-label": this.aria_label, type: "tel", class: `dda-field-group-input`, placeholder: this.placeholder, inputmode: 'tel', pattern: "[0-9]*", autocomplete: this.autocomplete, value: this.phone_number, onInput: this.handlephonenumberChange.bind(this), onFocus: this.handleFocus.bind(this), onBlur: this.handleBlur.bind(this), disabled: this.disabled, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined })), this.helper_text && !this.validation_type && h("span", { key: '9af9eb28aa2843e44dfbde3fc9fe7f7bd39f1d27', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: '5b1f290bba8fc9896a2de543611fa44da2579fab', id: this.errorId, class: "dda-error-message" }, this.error_message))));
82
82
  }
83
83
  static get is() { return "dda-phonefield"; }
84
84
  static get originalStyleUrls() {
@@ -16,7 +16,7 @@ export class DdaProgressBar {
16
16
  const progressStyle = {
17
17
  width: `${this.progress}%`,
18
18
  };
19
- return (h(Host, { key: '9aba64a14f203bb1c33e1e062c5d4e7e7184c629' }, h("div", { key: '24696a000c26d6b8247b45503187440fa53a6c63', class: `dda-progress-bar-container ${this.custom_class} ${this.component_mode}` }, h("div", { key: 'f04d35bf3f048585df20c365c716307e683bb77f', class: "dda-progress-bar", role: "progressbar", "aria-label": this.aria_label, "aria-valuenow": `${this.progress}`, "aria-valuemin": "0", "aria-valuemax": "100" }, h("div", { key: '9bc2a539196b12d7579aa01f09a9d11f52bc91fd', class: "dda-progress-value", style: progressStyle }, this.tooltip && (h("div", { key: 'd7267cd54ed3b09ab19dcbb8837e9620a1411e84', class: `dda-tooltip tooltip-${this.tooltip_position}` }, this.progress, "%")))), this.show_percentage_text && (h("span", { key: 'c0cd34956a817d6daa3fe526d961897194452cbe', class: "dda-percentage-text" }, this.progress, "%")))));
19
+ return (h(Host, { key: '04313ddfb70c55db686fea642590ba75ab52d00f' }, h("div", { key: '9daec3039295c313c661f990a5e95a583508a744', class: `dda-progress-bar-container ${this.custom_class} ${this.component_mode}` }, h("div", { key: '784a889d7db67402936a560997cbd12d59c886df', class: "dda-progress-bar", role: "progressbar", "aria-label": this.aria_label, "aria-valuenow": `${this.progress}`, "aria-valuemin": "0", "aria-valuemax": "100" }, h("div", { key: '5429f351051181423e18a271269babd479f15e9a', class: "dda-progress-value", style: progressStyle }, this.tooltip && (h("div", { key: '2178aa8908e5fce94a72c1a2b8dada282addc9fe', class: `dda-tooltip tooltip-${this.tooltip_position}` }, this.progress, "%")))), this.show_percentage_text && (h("span", { key: '323b032598d4bbe965dd8e56874835d3573b6adb', class: "dda-percentage-text" }, this.progress, "%")))));
20
20
  }
21
21
  static get is() { return "dda-progressbar"; }
22
22
  static get originalStyleUrls() {
@@ -718,7 +718,7 @@
718
718
  --dda-quick-links-card-height-sm: 112px;
719
719
  }
720
720
 
721
- .quick-links-wrap {
721
+ :is(.quick-links-wrap, .dda-home-quick-links-wrap) {
722
722
  width: 100%;
723
723
  position: absolute;
724
724
  /* dda-sticky-footer sets --dda-sticky-footer-height; the cards sit above the fixed bar.
@@ -742,7 +742,7 @@
742
742
 
743
743
  /* One row of cards. When the cards do not fit, the row scrolls sideways. A card cut at the edge,
744
744
  a fade on each edge with more cards, and a thin scrollbar show that the row scrolls. */
745
- .quick-links-wrap,
745
+ :is(.quick-links-wrap, .dda-home-quick-links-wrap),
746
746
  .quick-links {
747
747
  /* Room inside the row for the hover lift (12px above) and the pointer (9px below);
748
748
  a scrolling box clips anything outside it. */
@@ -865,14 +865,14 @@
865
865
  .slide-content p {
866
866
  width: 100%;
867
867
  }
868
- .quick-links-wrap {
868
+ :is(.quick-links-wrap, .dda-home-quick-links-wrap) {
869
869
  position: relative;
870
870
  /* In normal flow the cards do not sit over the fixed bar, so keep the original offset. */
871
871
  bottom: 45px;
872
872
  }
873
873
  /* Below the banner, on the page background: the row spans the screen, and each card is
874
874
  narrower than the row so the next card shows at the edge. */
875
- .quick-links-wrap .quick-links {
875
+ :is(.quick-links-wrap, .dda-home-quick-links-wrap) .quick-links {
876
876
  width: 100%;
877
877
  box-sizing: border-box;
878
878
  padding: 20px 20px var(--dda-quick-links-pad-bottom);
@@ -957,12 +957,12 @@
957
957
  controls move above them (home-banner.css). On short landscape screens the banner cannot hold
958
958
  the text, the controls and the cards, so the cards stay under it (the rules above). */
959
959
  @media screen and (max-width: 992px) and (min-height: 601px) {
960
- .quick-links-wrap {
960
+ :is(.quick-links-wrap, .dda-home-quick-links-wrap) {
961
961
  position: absolute;
962
962
  /* The row's bottom padding is part of the gap above the bar. */
963
963
  bottom: calc(var(--dda-quick-links-gap-sm) - var(--dda-quick-links-pad-bottom) + var(--dda-sticky-footer-height, 0px));
964
964
  }
965
- .quick-links-wrap .quick-links {
965
+ :is(.quick-links-wrap, .dda-home-quick-links-wrap) .quick-links {
966
966
  padding-top: var(--dda-quick-links-pad-top);
967
967
  scrollbar-color: rgba(255, 255, 255, 0.7) transparent;
968
968
  }
@@ -990,6 +990,59 @@
990
990
  }
991
991
  }
992
992
 
993
+ /* dda-home-carousel: its list is a .quick-links row; each <li> holds one dda-banner-card. */
994
+ ul.quick-links {
995
+ margin-block: 0;
996
+ list-style: none;
997
+ }
998
+ .quick-links > .dda-home-carousel-item {
999
+ flex: 0 0 max(220px, calc((100% - (var(--dda-home-carousel-per-view, 5) - 1) * 8px) / var(--dda-home-carousel-per-view, 5)));
1000
+ display: flex;
1001
+ scroll-snap-align: start;
1002
+ list-style: none;
1003
+ }
1004
+ .dda-home-carousel-item dda-banner-card {
1005
+ display: flex;
1006
+ width: 100%;
1007
+ }
1008
+ .dda-home-carousel-item .link-item {
1009
+ width: 100%;
1010
+ flex: 1 1 auto;
1011
+ }
1012
+ /* A card without a URL is a <button>: remove the browser button look. */
1013
+ button.link-item {
1014
+ border: 0;
1015
+ font: inherit;
1016
+ text-align: start;
1017
+ cursor: pointer;
1018
+ }
1019
+ .quick-links .link-item img {
1020
+ display: block;
1021
+ height: 35px;
1022
+ width: auto;
1023
+ margin-bottom: 15px;
1024
+ }
1025
+ .quick-links .link-item:focus-visible {
1026
+ outline: 2px solid var(--dda-color-primary-40);
1027
+ outline-offset: 2px;
1028
+ margin-top: -12px;
1029
+ }
1030
+ @media screen and (max-width: 992px) and (min-height: 601px) {
1031
+ .quick-links > .dda-home-carousel-item {
1032
+ flex: 0 0 min(75%, 300px);
1033
+ }
1034
+ .quick-links .link-item img {
1035
+ height: 24px;
1036
+ margin-bottom: 8px;
1037
+ }
1038
+ }
1039
+ @media only screen and (orientation: landscape) and (max-width: 1600px) {
1040
+ .quick-links .link-item img {
1041
+ height: 20px;
1042
+ margin-bottom: 5px;
1043
+ }
1044
+ }
1045
+
993
1046
  .dda-card {
994
1047
  position: relative;
995
1048
  display: -ms-flexbox;
@@ -2346,6 +2399,77 @@ body {
2346
2399
  }
2347
2400
  }
2348
2401
 
2402
+ /* dubai.ae: a wordmark on desktop, a small icon at 992px and below. */
2403
+ .dda-footer .dubaiae-text-icon {
2404
+ height: 18px;
2405
+ }
2406
+ .dda-footer .dubaiae-small-icon {
2407
+ height: 24px;
2408
+ display: none;
2409
+ }
2410
+ /* The "more" button exists only with more-icon; it is shown at 992px and below. */
2411
+ .dda-footer-right {
2412
+ position: relative;
2413
+ }
2414
+ .dda-footer-right button.show-right-icon {
2415
+ display: none;
2416
+ }
2417
+ @media (max-width: 992px) {
2418
+ .dda-footer .dubaiae-text-icon {
2419
+ display: none;
2420
+ }
2421
+ .dda-footer .dubaiae-small-icon {
2422
+ display: block;
2423
+ }
2424
+ .dda-footer-right button.show-right-icon {
2425
+ display: flex;
2426
+ align-items: center;
2427
+ justify-content: center;
2428
+ width: 48px;
2429
+ height: 48px;
2430
+ background: #ffffff;
2431
+ border: 0;
2432
+ border-radius: 50px;
2433
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
2434
+ color: var(--dda-on-surface-variant-30);
2435
+ cursor: pointer;
2436
+ }
2437
+ .dda-footer-right button.show-right-icon i {
2438
+ font-size: 34px;
2439
+ }
2440
+ .dda-footer-right button.show-right-icon:focus-visible {
2441
+ outline: none;
2442
+ box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(0, 0, 0, 0.65);
2443
+ }
2444
+ .dda-footer.has-more-button .dda-footer-right .foot-right_links {
2445
+ position: absolute;
2446
+ bottom: 59px;
2447
+ inset-inline-end: 0;
2448
+ display: flex;
2449
+ flex-direction: column;
2450
+ gap: 10px;
2451
+ height: 0;
2452
+ overflow: hidden;
2453
+ }
2454
+ .dda-footer.has-more-button .dda-footer-right .foot-right_links.show-dda-icon {
2455
+ height: auto;
2456
+ overflow: visible;
2457
+ }
2458
+ .dda-footer.has-more-button .foot-right_links li {
2459
+ opacity: 0;
2460
+ transform: translateY(20px);
2461
+ }
2462
+ .dda-footer.has-more-button .foot-right_links.show-dda-icon li {
2463
+ opacity: 1;
2464
+ transform: translateY(0);
2465
+ }
2466
+ }
2467
+ @media (max-width: 992px) and (prefers-reduced-motion: no-preference) {
2468
+ .dda-footer.has-more-button .foot-right_links li {
2469
+ transition: opacity 0.4s ease, transform 0.4s ease;
2470
+ }
2471
+ }
2472
+
2349
2473
  .dda-dashboard-sidebar {
2350
2474
  position: fixed;
2351
2475
  top: 0;
@@ -3079,6 +3203,11 @@ body {
3079
3203
  .dda-search input[type="text"]::placeholder{
3080
3204
  color: var(--dda-on-surface-0);
3081
3205
  }
3206
+ /* On the transparent header the typed text and the caret are white, like the placeholder. */
3207
+ .transparent dda-header:not(.dda-scrolled) .dda-search input[type="text"] {
3208
+ color: var(--dda-neutral-100);
3209
+ caret-color: var(--dda-neutral-100);
3210
+ }
3082
3211
  .transparent dda-header:not(.dda-scrolled) .dda-search input[type="text"]::-ms-input-placeholder {
3083
3212
  color: var(--dda-neutral-100);
3084
3213
  }
@@ -3686,6 +3815,104 @@ ul.main_side_menu .main_sub_menu .main_sub_menu .main_sub_menu {
3686
3815
  }
3687
3816
  }
3688
3817
 
3818
+ /* 3.x dropdown submenus (quick-links items with "type": "dda_default_submenu"). */
3819
+ .dda-mega-menu > li {
3820
+ position: relative;
3821
+ }
3822
+ /* The <ul> scrolls; the third-level panel is its sibling, so the scroll does not clip it.
3823
+ The fixed width puts the panel (inset-inline-start: 100%) against the edge of the <ul>. */
3824
+ .dda-default-submenu {
3825
+ display: none;
3826
+ width: 350px;
3827
+ position: absolute;
3828
+ top: 100%;
3829
+ inset-inline-start: 0;
3830
+ padding-top: 5px;
3831
+ z-index: 5;
3832
+ }
3833
+ .dda-default-submenu.is-visible {
3834
+ display: block;
3835
+ }
3836
+ .dda-default-submenu > ul {
3837
+ width: 100%;
3838
+ max-width: 350px;
3839
+ max-height: 325px;
3840
+ overflow-y: auto;
3841
+ margin: 0;
3842
+ padding: 10px;
3843
+ list-style: none;
3844
+ background-color: var(--dda-surface-100);
3845
+ border-radius: 5px;
3846
+ box-shadow: 0 6px 7px 0 rgba(0, 0, 0, 0.13);
3847
+ }
3848
+ .dda-default-submenu li {
3849
+ list-style: none;
3850
+ position: relative;
3851
+ margin-bottom: 1px;
3852
+ }
3853
+ .dda-default-submenu a {
3854
+ position: relative;
3855
+ display: block;
3856
+ padding: 10px 7px;
3857
+ padding-inline-end: 24px;
3858
+ border-radius: 8px;
3859
+ font-size: var(--dda-fs-body-lg);
3860
+ font-weight: var(--dda-fw-400);
3861
+ color: var(--dda-on-surface-0);
3862
+ }
3863
+ .dda-default-submenu li:hover > a,
3864
+ .dda-default-submenu a.active {
3865
+ background-color: var(--dda-on-primary-98);
3866
+ color: var(--dda-on-primary-variant-40);
3867
+ }
3868
+ .dda-default-submenu a:focus-visible {
3869
+ outline: 2px solid var(--dda-color-primary-40);
3870
+ outline-offset: 0;
3871
+ }
3872
+ .dda-default-submenu a.has-submenu::after {
3873
+ content: '';
3874
+ width: 6px;
3875
+ height: 6px;
3876
+ border-right: solid 1px var(--dda-color-primary-40);
3877
+ border-bottom: solid 1px var(--dda-color-primary-40);
3878
+ position: absolute;
3879
+ top: 50%;
3880
+ inset-inline-end: 9px;
3881
+ margin-top: -4.5px;
3882
+ transform: rotate(-45deg);
3883
+ }
3884
+ [dir='rtl'] .dda-default-submenu a.has-submenu::after {
3885
+ transform: rotate(135deg);
3886
+ }
3887
+ .dda-default-subsubmenu {
3888
+ display: none;
3889
+ width: 300px;
3890
+ position: absolute;
3891
+ top: 0;
3892
+ inset-inline-start: 100%;
3893
+ padding-inline-start: 15px;
3894
+ }
3895
+ .dda-default-subsubmenu.is-visible {
3896
+ display: block;
3897
+ }
3898
+ .dda-default-subsubmenu-content {
3899
+ padding: 10px;
3900
+ background-color: var(--dda-surface-100);
3901
+ border-radius: 5px;
3902
+ box-shadow: 0 6px 7px 0 rgba(0, 0, 0, 0.13);
3903
+ }
3904
+ .dda-default-subsubmenu-content ul {
3905
+ margin: 0;
3906
+ padding: 0;
3907
+ }
3908
+ .dda-submenu-title {
3909
+ display: block;
3910
+ padding: 5px 8px 10px;
3911
+ margin-bottom: 5px;
3912
+ border-bottom: solid 1px var(--dda-surface-variant-80);
3913
+ font-weight: var(--dda-fw-700);
3914
+ }
3915
+
3689
3916
 
3690
3917
  :root{
3691
3918
  --font-family-main: 'Dubai', sans-serif;
@@ -13,7 +13,7 @@ export class DdaRadiobutton {
13
13
  this.radio_status ? `dda-radio-${this.radio_status}` : '',
14
14
  this.component_mode,
15
15
  ].filter(Boolean).join(' ');
16
- return (h(Host, { key: '3ded227310410ca3089d2fb5e7bbf703c7265a77' }, h("div", { key: 'e3811560e5a82a24cba3b238c787350887a36236', class: radiobuttonClass }, h("input", { key: 'a36c5facb630f742dd56d71837995a17629731b7', "aria-label": this.aria_label, type: "radio", id: this.input_id, name: this.group_name, checked: this.checked }), h("label", { key: '60c40663b7259d7582043639a3b9a25b484898a1', htmlFor: this.input_id }, h("span", { key: '652a643169f96d317df1901cff19368466f8ad43', class: "radio-circle" }), h("p", { key: 'e6bdad31f55802fc2da9b78c603063382a18826c' }, h("span", { key: '0cca8461aa8c5a00dbde62fd42b1fc17715798d5', class: "radio-title" }, this.title_text), this.supporting && h("span", { key: '56bc7d2c636a1a106bed8120238138963933f6a0', class: "radio-supporting" }, this.supporting))))));
16
+ return (h(Host, { key: 'dd57237727d215708e18097d29e1543b27f155fd' }, h("div", { key: 'c9997615a28ba5e6b39dd5192bce8be6bafa3294', class: radiobuttonClass }, h("input", { key: '06e80cd7290b4582174d1d5ac66016091c9be88b', "aria-label": this.aria_label, type: "radio", id: this.input_id, name: this.group_name, checked: this.checked }), h("label", { key: '1d337acbc432e898381079385de5a44ea7e84d7c', htmlFor: this.input_id }, h("span", { key: 'b3864f116634c2c3d4dca437df9f7e06c9897844', class: "radio-circle" }), h("p", { key: '19241cca6592bc73e695ef7801a6faf18e1a566f' }, h("span", { key: 'a082d64589f2452401380039adfe65d34747c679', class: "radio-title" }, this.title_text), this.supporting && h("span", { key: 'd98a860bbe61b9e09c06f164108c5d49612c9a3a', class: "radio-supporting" }, this.supporting))))));
17
17
  }
18
18
  static get is() { return "dda-radiobutton"; }
19
19
  static get originalStyleUrls() {
@@ -40,10 +40,10 @@ export class DdaRangeSlider {
40
40
  render() {
41
41
  const leftId = this.left_input_id || `${this.fallbackId}-min`;
42
42
  const rightId = this.right_input_id || `${this.fallbackId}-max`;
43
- return (h(Host, { key: '3a72a25212a511d65f982a0606cd8cd0e6cd1d66' }, h("div", { key: '8eb7a5199e81bc5bf437d5dfe61e4eec7b732753', class: `dda-range-slider-container dda-tooltip-${this.tooltip_position} ${this.custom_class} ${this.component_mode}` }, h("div", { key: '6b303ab598aff66a693b645d350fea4eaa470bac', class: "dda-range-slider" }, h("div", { key: '3904d63ade7e2251d9ea424c015bf4aab74eae77', class: "dda-range-slider-track", style: {
43
+ return (h(Host, { key: '183b4a9a57ed9c7c64158595d6d8ecc7985784a4' }, h("div", { key: '741df5d78729be31eb32701d3aa13b7fc6190682', class: `dda-range-slider-container dda-tooltip-${this.tooltip_position} ${this.custom_class} ${this.component_mode}` }, h("div", { key: '13d362fc01c2189edfce78dcc01ae6ae7a397c49', class: "dda-range-slider" }, h("div", { key: '1f5cc6b659e517107a035f15e79245eec9dbd09d', class: "dda-range-slider-track", style: {
44
44
  left: `${this.getPercentage(this.min_value)}%`,
45
45
  right: `${100 - this.getPercentage(this.max_value)}%`,
46
- } }, h("span", { key: '0d1038171b37eebb70862e3dec81773a069f8d39', class: "min-label" }, this.min_value, "%"), h("span", { key: 'ee925f1eb9de817c30fb1b24669e05088d2735c8', class: "max-label" }, this.max_value, "%")), h("span", { key: '29d65987c630c9d67453ad3f3566a3ecdf55357b' }, h("input", { key: '4a6db59b2ef1ca6cfde2acc1ab52046afb2d786f', id: leftId, name: this.left_input_name, "aria-label": this.left_aria_label || 'Minimum', type: "range", min: this.min, max: this.max, step: this.step, value: this.min_value, onInput: (event) => this.handleMinChange(event), class: "dda-range-slider-input", style: { zIndex: `${this.min_value > this.max - this.min_value ? 5 : 3}` } })), h("span", { key: '02fb3162cb1566304e1d25794d61bd760b02bd3c' }, h("input", { key: '46022edc3c2b069ba5f240ea0e7945326cf7459c', id: rightId, name: this.right_input_name, "aria-label": this.right_aria_label || 'Maximum', type: "range", min: this.min, max: this.max, step: this.step, value: this.max_value, onInput: (event) => this.handleMaxChange(event), class: "dda-range-slider-input", style: { zIndex: `${this.max_value < this.max - this.min_value ? 5 : 3}` } }))))));
46
+ } }, h("span", { key: '79773cfafea77732a556d70819ea4ac8875c19fd', class: "min-label" }, this.min_value, "%"), h("span", { key: 'e5663666fce21bd4a2a59b811cd740577b890c35', class: "max-label" }, this.max_value, "%")), h("span", { key: 'b4ab6d47bb1e26e0ed4ba430eab6218f5168cefa' }, h("input", { key: '3eb384952b21acf20fefb49e8cc2fd2565c4fb9d', id: leftId, name: this.left_input_name, "aria-label": this.left_aria_label || 'Minimum', type: "range", min: this.min, max: this.max, step: this.step, value: this.min_value, onInput: (event) => this.handleMinChange(event), class: "dda-range-slider-input", style: { zIndex: `${this.min_value > this.max - this.min_value ? 5 : 3}` } })), h("span", { key: '8bfe1915e08e6ce035f74cf781ac9543736bd7e2' }, h("input", { key: '3abcde5b1d268d0d56f687caadfcf16340ae6c4f', id: rightId, name: this.right_input_name, "aria-label": this.right_aria_label || 'Maximum', type: "range", min: this.min, max: this.max, step: this.step, value: this.max_value, onInput: (event) => this.handleMaxChange(event), class: "dda-range-slider-input", style: { zIndex: `${this.max_value < this.max - this.min_value ? 5 : 3}` } }))))));
47
47
  }
48
48
  static get is() { return "dda-range-slider"; }
49
49
  static get originalStyleUrls() {
@@ -0,0 +1,72 @@
1
+ dda-scroll-icon {
2
+ display: inline-flex;
3
+ }
4
+ .dda-scroll-icon-scroll {
5
+ border-style: solid;
6
+ border-radius: 20px;
7
+ box-sizing: border-box;
8
+ display: flex;
9
+ justify-content: center;
10
+ align-items: flex-start;
11
+ }
12
+ .scroll-icon-size-sm {
13
+ width: 16.5px;
14
+ height: 24px;
15
+ border-width: 2px;
16
+ }
17
+ .scroll-icon-size-lg {
18
+ width: 40px;
19
+ height: 60px;
20
+ border-width: 4px;
21
+ }
22
+ .scroll-icon-color-white {
23
+ border-color: #ffffff;
24
+ }
25
+ .scroll-icon-color-black {
26
+ border-color: #000000;
27
+ }
28
+ .dda-scroll-icon-scroll-dot {
29
+ border-radius: 50%;
30
+ }
31
+ .scroll-icon-color-white .dda-scroll-icon-scroll-dot {
32
+ background: #ffffff;
33
+ }
34
+ .scroll-icon-color-black .dda-scroll-icon-scroll-dot {
35
+ background: #000000;
36
+ }
37
+ .scroll-icon-size-sm .dda-scroll-icon-scroll-dot {
38
+ width: 4.5px;
39
+ height: 4.5px;
40
+ transform: translateY(2px);
41
+ }
42
+ .scroll-icon-size-lg .dda-scroll-icon-scroll-dot {
43
+ width: 12px;
44
+ height: 12px;
45
+ transform: translateY(5px);
46
+ }
47
+ @media (prefers-reduced-motion: no-preference) {
48
+ .scroll-icon-size-sm .dda-scroll-icon-scroll-dot {
49
+ animation: dda-scroll-icon-sm var(--animation-duration, 1.8s) infinite;
50
+ }
51
+ .scroll-icon-size-lg .dda-scroll-icon-scroll-dot {
52
+ animation: dda-scroll-icon-lg var(--animation-duration, 1.5s) infinite;
53
+ }
54
+ }
55
+ @keyframes dda-scroll-icon-sm {
56
+ 0%,
57
+ 100% {
58
+ transform: translateY(2px);
59
+ }
60
+ 50% {
61
+ transform: translateY(10px);
62
+ }
63
+ }
64
+ @keyframes dda-scroll-icon-lg {
65
+ 0%,
66
+ 100% {
67
+ transform: translateY(5px);
68
+ }
69
+ 50% {
70
+ transform: translateY(24px);
71
+ }
72
+ }
@@ -0,0 +1,120 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
+ import { Host, h } from "@stencil/core";
3
+ // A decorative "scroll down" mouse icon. It carries no information, so it is hidden from
4
+ // assistive technology, and its dot moves only when the user has not asked for reduced motion.
5
+ export class DdaScrollIcon {
6
+ constructor() {
7
+ /** Size: `sm` (16.5 × 24px) or `lg` (40 × 60px). Default: `sm`. */
8
+ this.scroll_icon_size = 'sm';
9
+ /** Colour: `white` or `black`. Default: `white`. */
10
+ this.scroll_icon_color = 'white';
11
+ /** Extra CSS classes on the icon. */
12
+ this.custom_class = '';
13
+ }
14
+ render() {
15
+ const className = [
16
+ 'dda-scroll-icon-scroll',
17
+ `scroll-icon-size-${this.scroll_icon_size || 'sm'}`,
18
+ `scroll-icon-color-${this.scroll_icon_color || 'white'}`,
19
+ this.custom_class,
20
+ this.component_mode,
21
+ ]
22
+ .filter(Boolean)
23
+ .join(' ');
24
+ return (h(Host, { key: '7aa27a84683b21941cc9f843579736d85a5f3717', "aria-hidden": "true" }, h("div", { key: '59a540879bb9786d8088ca64ea0e0ca3ee8b82c2', class: className }, h("div", { key: 'f44dc05a49f86b9af2460de11381516fbe86127b', class: "dda-scroll-icon-scroll-dot" }))));
25
+ }
26
+ static get is() { return "dda-scroll-icon"; }
27
+ static get originalStyleUrls() {
28
+ return {
29
+ "$": ["dda-scroll-icon.css"]
30
+ };
31
+ }
32
+ static get styleUrls() {
33
+ return {
34
+ "$": ["dda-scroll-icon.css"]
35
+ };
36
+ }
37
+ static get properties() {
38
+ return {
39
+ "scroll_icon_size": {
40
+ "type": "string",
41
+ "mutable": false,
42
+ "complexType": {
43
+ "original": "'sm' | 'lg'",
44
+ "resolved": "\"lg\" | \"sm\"",
45
+ "references": {}
46
+ },
47
+ "required": false,
48
+ "optional": false,
49
+ "docs": {
50
+ "tags": [],
51
+ "text": "Size: `sm` (16.5 \u00D7 24px) or `lg` (40 \u00D7 60px). Default: `sm`."
52
+ },
53
+ "getter": false,
54
+ "setter": false,
55
+ "reflect": false,
56
+ "attribute": "scroll_icon_size",
57
+ "defaultValue": "'sm'"
58
+ },
59
+ "scroll_icon_color": {
60
+ "type": "string",
61
+ "mutable": false,
62
+ "complexType": {
63
+ "original": "'white' | 'black'",
64
+ "resolved": "\"black\" | \"white\"",
65
+ "references": {}
66
+ },
67
+ "required": false,
68
+ "optional": false,
69
+ "docs": {
70
+ "tags": [],
71
+ "text": "Colour: `white` or `black`. Default: `white`."
72
+ },
73
+ "getter": false,
74
+ "setter": false,
75
+ "reflect": false,
76
+ "attribute": "scroll_icon_color",
77
+ "defaultValue": "'white'"
78
+ },
79
+ "custom_class": {
80
+ "type": "string",
81
+ "mutable": false,
82
+ "complexType": {
83
+ "original": "string",
84
+ "resolved": "string",
85
+ "references": {}
86
+ },
87
+ "required": false,
88
+ "optional": false,
89
+ "docs": {
90
+ "tags": [],
91
+ "text": "Extra CSS classes on the icon."
92
+ },
93
+ "getter": false,
94
+ "setter": false,
95
+ "reflect": false,
96
+ "attribute": "custom_class",
97
+ "defaultValue": "''"
98
+ },
99
+ "component_mode": {
100
+ "type": "string",
101
+ "mutable": false,
102
+ "complexType": {
103
+ "original": "string",
104
+ "resolved": "string",
105
+ "references": {}
106
+ },
107
+ "required": false,
108
+ "optional": false,
109
+ "docs": {
110
+ "tags": [],
111
+ "text": "Theme override class, e.g. `light-mode`."
112
+ },
113
+ "getter": false,
114
+ "setter": false,
115
+ "reflect": false,
116
+ "attribute": "component_mode"
117
+ }
118
+ };
119
+ }
120
+ }