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

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 (262) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/MIGRATION.md +76 -15
  3. package/dist/cjs/dda-accordion.cjs.entry.js +2 -2
  4. package/dist/cjs/dda-alert.cjs.entry.js +4 -4
  5. package/dist/cjs/dda-attach-file.cjs.entry.js +2 -2
  6. package/dist/cjs/dda-avatar.cjs.entry.js +3 -3
  7. package/dist/cjs/dda-banner.cjs.entry.js +2 -2
  8. package/dist/cjs/dda-breadcrumb.cjs.entry.js +2 -2
  9. package/dist/cjs/dda-button.cjs.entry.js +2 -2
  10. package/dist/cjs/dda-checkbox.cjs.entry.js +2 -2
  11. package/dist/cjs/dda-chip.cjs.entry.js +2 -2
  12. package/dist/cjs/dda-credit-card.cjs.entry.js +2 -2
  13. package/dist/cjs/dda-creditcard-field.cjs.entry.js +3 -3
  14. package/dist/cjs/dda-dropdown.cjs.entry.js +3 -3
  15. package/dist/cjs/dda-footer.cjs.entry.js +2 -2
  16. package/dist/cjs/dda-header.cjs.entry.js +22 -12
  17. package/dist/cjs/dda-home-banner.cjs.entry.js +3 -3
  18. package/dist/cjs/dda-horizontal-stepper.cjs.entry.js +3 -3
  19. package/dist/cjs/dda-input.cjs.entry.js +3 -3
  20. package/dist/cjs/dda-link-button.cjs.entry.js +51 -0
  21. package/dist/cjs/dda-link-button_2.cjs.entry.js +3 -3
  22. package/dist/cjs/dda-number-field.cjs.entry.js +2 -2
  23. package/dist/cjs/dda-pagination.cjs.entry.js +3 -3
  24. package/dist/cjs/dda-phonefield.cjs.entry.js +2 -2
  25. package/dist/cjs/dda-progressbar.cjs.entry.js +2 -2
  26. package/dist/cjs/dda-radiobutton.cjs.entry.js +27 -0
  27. package/dist/cjs/dda-range-slider.cjs.entry.js +1 -1
  28. package/dist/cjs/dda-search-input.cjs.entry.js +2 -2
  29. package/dist/cjs/dda-segmented-tabs.cjs.entry.js +4 -4
  30. package/dist/cjs/dda-select.cjs.entry.js +5 -3
  31. package/dist/cjs/dda-sticky-footer.cjs.entry.js +14 -3
  32. package/dist/cjs/dda-tabs.cjs.entry.js +4 -4
  33. package/dist/cjs/dda-textarea.cjs.entry.js +16239 -1401
  34. package/dist/cjs/dda-toggle.cjs.entry.js +3 -3
  35. package/dist/cjs/dda-tooltip.cjs.entry.js +3 -3
  36. package/dist/cjs/dda-ui-card.cjs.entry.js +3 -3
  37. package/dist/cjs/dda-vertical-stepper.cjs.entry.js +2 -2
  38. package/dist/cjs/dda.cjs.js +30 -3
  39. package/dist/cjs/index-DXyiIgGK.js +4637 -0
  40. package/dist/cjs/{index-Dm7JbFAh.js → index-Na_7EWDR.js} +1 -1
  41. package/dist/cjs/index.cjs.js +10 -0
  42. package/dist/cjs/loader.cjs.js +2 -2
  43. package/dist/collection/components/dda-alert/dda-alert.stories.js +27 -20
  44. package/dist/collection/components/dda-header/dda-header.js +34 -4
  45. package/dist/collection/components/dda-header/dda-header.stories.js +21 -0
  46. package/dist/collection/components/dda-home-banner/home-banner.css +14 -3
  47. package/dist/collection/components/dda-input/dda-input.js +20 -1
  48. package/dist/collection/components/dda-radiobutton/dda-radiobutton.css +165 -27
  49. package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.js +16 -5
  50. package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.stories.js +12 -1
  51. package/dist/collection/components/dda-tabs/dda-tabs.js +1 -1
  52. package/dist/collection/components/dda-textarea/dda-textarea.js +2 -2
  53. package/dist/collection/components/dda-toggle/dda-toggle.js +1 -1
  54. package/dist/collection/components/dda-tooltip/dda-tooltip.js +1 -1
  55. package/dist/collection/components/dda-ui-card/dda-ui-card.js +1 -1
  56. package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.js +1 -1
  57. package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.js +1 -1
  58. package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.js +1 -1
  59. package/dist/collection/global/global.css +165 -27
  60. package/dist/components/dda-accordion.js +59 -1
  61. package/dist/components/dda-alert.js +94 -1
  62. package/dist/components/dda-attach-file.js +138 -1
  63. package/dist/components/dda-avatar.js +107 -1
  64. package/dist/components/dda-banner.js +57 -1
  65. package/dist/components/dda-breadcrumb.js +66 -1
  66. package/dist/components/dda-button.js +6 -1
  67. package/dist/components/dda-button2.js +80 -0
  68. package/dist/components/dda-checkbox.js +59 -1
  69. package/dist/components/dda-chip.js +55 -1
  70. package/dist/components/dda-credit-card.js +54 -1
  71. package/dist/components/dda-creditcard-field.js +133 -1
  72. package/dist/components/dda-dropdown.js +113 -1
  73. package/dist/components/dda-footer.js +72 -1
  74. package/dist/components/dda-header.js +367 -1
  75. package/dist/components/dda-home-banner.js +249 -1
  76. package/dist/components/dda-horizontal-stepper.js +69 -1
  77. package/dist/components/dda-input.js +92 -1
  78. package/dist/components/dda-link-button.js +6 -1
  79. package/dist/components/dda-link-button2.js +81 -0
  80. package/dist/components/dda-number-field.js +127 -1
  81. package/dist/components/dda-pagination.js +133 -1
  82. package/dist/components/dda-phonefield.js +316 -1
  83. package/dist/components/dda-progressbar.js +58 -1
  84. package/dist/components/dda-radiobutton.js +6 -1
  85. package/dist/components/dda-radiobutton2.js +54 -0
  86. package/dist/components/dda-range-slider.js +93 -1
  87. package/dist/components/dda-search-input.js +102 -1
  88. package/dist/components/dda-segmented-tabs.js +133 -1
  89. package/dist/components/dda-select.js +219 -1
  90. package/dist/components/dda-sticky-footer.js +132 -1
  91. package/dist/components/dda-tabs.js +91 -1
  92. package/dist/components/dda-textarea.js +31277 -1
  93. package/dist/components/dda-toggle.js +55 -1
  94. package/dist/components/dda-tooltip.js +6 -1
  95. package/dist/components/dda-tooltip2.js +70 -0
  96. package/dist/components/dda-ui-card.js +71 -1
  97. package/dist/components/dda-vertical-stepper.js +72 -1
  98. package/dist/components/index.js +34 -1
  99. package/dist/components/index2.js +4622 -0
  100. package/dist/components/p-C2Cs3ruo.js +1 -0
  101. package/dist/components/p-C520q-ka.js +1 -0
  102. package/dist/components/p-CZO9Eawo.js +1 -0
  103. package/dist/components/p-D7sJgBDk.js +1 -0
  104. package/dist/components/p-_-I_65FG.js +1 -0
  105. package/dist/components/unique-id.js +12 -0
  106. package/dist/dda/dda-accordion.entry.js +31 -0
  107. package/dist/dda/dda-alert.entry.js +57 -0
  108. package/dist/dda/dda-attach-file.entry.js +102 -0
  109. package/dist/dda/dda-avatar.entry.js +70 -0
  110. package/dist/dda/dda-banner.entry.js +30 -0
  111. package/dist/dda/dda-breadcrumb.entry.js +40 -0
  112. package/dist/dda/dda-button.entry.js +47 -0
  113. package/dist/dda/dda-checkbox.entry.js +27 -0
  114. package/dist/dda/dda-chip.entry.js +25 -0
  115. package/dist/dda/dda-credit-card.entry.js +26 -0
  116. package/dist/dda/dda-creditcard-field.entry.js +94 -0
  117. package/dist/dda/dda-dropdown.entry.js +75 -0
  118. package/dist/dda/dda-footer.entry.js +34 -0
  119. package/dist/dda/dda-header.entry.js +282 -0
  120. package/dist/dda/dda-home-banner.entry.js +208 -0
  121. package/dist/dda/dda-horizontal-stepper.entry.js +39 -0
  122. package/dist/dda/dda-input.entry.js +56 -0
  123. package/dist/dda/dda-link-button.entry.js +49 -0
  124. package/dist/dda/dda-number-field.entry.js +86 -0
  125. package/dist/dda/dda-pagination.entry.js +86 -0
  126. package/dist/dda/dda-phonefield.entry.js +271 -0
  127. package/dist/dda/dda-progressbar.entry.js +30 -0
  128. package/dist/dda/dda-radiobutton.entry.js +25 -0
  129. package/dist/dda/dda-range-slider.entry.js +55 -0
  130. package/dist/dda/dda-search-input.entry.js +63 -0
  131. package/dist/dda/dda-segmented-tabs.entry.js +96 -0
  132. package/dist/dda/dda-select.entry.js +183 -0
  133. package/dist/dda/dda-sticky-footer.entry.js +61 -0
  134. package/dist/dda/dda-tabs.entry.js +59 -0
  135. package/dist/dda/dda-textarea.entry.js +31241 -0
  136. package/dist/dda/dda-toggle.entry.js +25 -0
  137. package/dist/dda/dda-tooltip.entry.js +46 -0
  138. package/dist/dda/dda-ui-card.entry.js +41 -0
  139. package/dist/dda/dda-vertical-stepper.entry.js +41 -0
  140. package/dist/dda/dda.css +6385 -46
  141. package/dist/dda/dda.esm.js +47 -1
  142. package/dist/dda/index-CFIwfRqf.js +4622 -0
  143. package/dist/dda/index.esm.js +29 -1
  144. package/dist/dda/p-0574c9df.entry.js +1 -0
  145. package/dist/dda/p-0a86a74c.entry.js +1 -0
  146. package/dist/dda/p-16f94322.entry.js +1 -0
  147. package/dist/dda/p-1acc0fda.entry.js +1 -0
  148. package/dist/dda/p-2630152f.entry.js +1 -0
  149. package/dist/dda/p-271c5f91.entry.js +1 -0
  150. package/dist/dda/{p-e3a65ceb.entry.js → p-32746429.entry.js} +1 -1
  151. package/dist/dda/p-3835f3b7.entry.js +1 -0
  152. package/dist/dda/p-3d57e957.entry.js +1 -0
  153. package/dist/dda/{p-9672af43.entry.js → p-489a3711.entry.js} +1 -1
  154. package/dist/dda/p-58de747b.entry.js +1 -0
  155. package/dist/dda/p-63754a93.entry.js +1 -0
  156. package/dist/dda/p-87d647e7.entry.js +1 -0
  157. package/dist/dda/p-8de4f35e.entry.js +1 -0
  158. package/dist/dda/p-9416d8ec.entry.js +1 -0
  159. package/dist/dda/p-9541e108.entry.js +1 -0
  160. package/dist/dda/p-95b87c55.entry.js +1 -0
  161. package/dist/dda/{p-6daa282f.entry.js → p-95e1a389.entry.js} +1 -1
  162. package/dist/dda/p-96741f45.entry.js +1 -0
  163. package/dist/dda/p-98c59aa8.entry.js +1 -0
  164. package/dist/dda/p-9c86dc30.entry.js +1 -0
  165. package/dist/dda/p-CI_UcUy5.js +2 -0
  166. package/dist/dda/p-b6190656.entry.js +1 -0
  167. package/dist/dda/p-c0da1e14.entry.js +1 -0
  168. package/dist/dda/p-c39d196d.entry.js +1 -0
  169. package/dist/dda/p-c5ebf7df.entry.js +1 -0
  170. package/dist/dda/p-d06c5daf.entry.js +1 -0
  171. package/dist/dda/p-d8fd3f73.entry.js +1 -0
  172. package/dist/dda/p-e660a594.entry.js +1 -0
  173. package/dist/dda/p-e8ca224f.entry.js +1 -0
  174. package/dist/dda/p-ea1720d2.entry.js +1 -0
  175. package/dist/dda/p-ee6d56fc.entry.js +1 -0
  176. package/dist/dda/p-eecfe091.entry.js +1 -0
  177. package/dist/dda/p-eed4a104.entry.js +1 -0
  178. package/dist/dda/unique-id-B-I003EB.js +12 -0
  179. package/dist/esm/dda-accordion.entry.js +2 -2
  180. package/dist/esm/dda-alert.entry.js +4 -4
  181. package/dist/esm/dda-attach-file.entry.js +2 -2
  182. package/dist/esm/dda-avatar.entry.js +3 -3
  183. package/dist/esm/dda-banner.entry.js +2 -2
  184. package/dist/esm/dda-breadcrumb.entry.js +2 -2
  185. package/dist/esm/dda-button.entry.js +2 -2
  186. package/dist/esm/dda-checkbox.entry.js +2 -2
  187. package/dist/esm/dda-chip.entry.js +2 -2
  188. package/dist/esm/dda-credit-card.entry.js +2 -2
  189. package/dist/esm/dda-creditcard-field.entry.js +3 -3
  190. package/dist/esm/dda-dropdown.entry.js +3 -3
  191. package/dist/esm/dda-footer.entry.js +2 -2
  192. package/dist/esm/dda-header.entry.js +22 -12
  193. package/dist/esm/dda-home-banner.entry.js +3 -3
  194. package/dist/esm/dda-horizontal-stepper.entry.js +3 -3
  195. package/dist/esm/dda-input.entry.js +3 -3
  196. package/dist/esm/dda-link-button.entry.js +49 -0
  197. package/dist/esm/dda-link-button_2.entry.js +3 -3
  198. package/dist/esm/dda-number-field.entry.js +2 -2
  199. package/dist/esm/dda-pagination.entry.js +3 -3
  200. package/dist/esm/dda-phonefield.entry.js +2 -2
  201. package/dist/esm/dda-progressbar.entry.js +2 -2
  202. package/dist/esm/dda-radiobutton.entry.js +25 -0
  203. package/dist/esm/dda-range-slider.entry.js +1 -1
  204. package/dist/esm/dda-search-input.entry.js +2 -2
  205. package/dist/esm/dda-segmented-tabs.entry.js +4 -4
  206. package/dist/esm/dda-select.entry.js +5 -3
  207. package/dist/esm/dda-sticky-footer.entry.js +14 -3
  208. package/dist/esm/dda-tabs.entry.js +4 -4
  209. package/dist/esm/dda-textarea.entry.js +16239 -1401
  210. package/dist/esm/dda-toggle.entry.js +3 -3
  211. package/dist/esm/dda-tooltip.entry.js +3 -3
  212. package/dist/esm/dda-ui-card.entry.js +3 -3
  213. package/dist/esm/dda-vertical-stepper.entry.js +2 -2
  214. package/dist/esm/dda.js +31 -4
  215. package/dist/esm/index-CFIwfRqf.js +4622 -0
  216. package/dist/esm/{index-o6021Dsk.js → index-CI_UcUy5.js} +1 -1
  217. package/dist/esm/index.js +10 -0
  218. package/dist/esm/loader.js +3 -3
  219. package/dist/types/components/dda-alert/dda-alert.stories.d.ts +5 -1
  220. package/dist/types/components/dda-header/dda-header.d.ts +6 -2
  221. package/dist/types/components/dda-header/dda-header.stories.d.ts +19 -0
  222. package/dist/types/components/dda-input/dda-input.d.ts +2 -0
  223. package/dist/types/components/dda-sticky-footer/dda-sticky-footer.d.ts +5 -4
  224. package/dist/types/components/dda-sticky-footer/dda-sticky-footer.stories.d.ts +13 -0
  225. package/dist/types/components.d.ts +32 -12
  226. package/package.json +2 -2
  227. package/dist/components/p-B4nkZ15I.js +0 -1
  228. package/dist/components/p-Bk2uycTf.js +0 -1
  229. package/dist/components/p-C96R7OFb.js +0 -1
  230. package/dist/components/p-Ciz-pnTr.js +0 -1
  231. package/dist/components/p-CleacZFl.js +0 -1
  232. package/dist/dda/p-0daa2a14.entry.js +0 -1
  233. package/dist/dda/p-1537b9dd.entry.js +0 -1
  234. package/dist/dda/p-175c52b8.entry.js +0 -1
  235. package/dist/dda/p-2b65a79a.entry.js +0 -1
  236. package/dist/dda/p-2d93b185.entry.js +0 -1
  237. package/dist/dda/p-30d3a014.entry.js +0 -1
  238. package/dist/dda/p-33b890a5.entry.js +0 -1
  239. package/dist/dda/p-64d90f29.entry.js +0 -1
  240. package/dist/dda/p-69bc04c1.entry.js +0 -1
  241. package/dist/dda/p-72f22d1f.entry.js +0 -1
  242. package/dist/dda/p-7549868d.entry.js +0 -1
  243. package/dist/dda/p-7a51a946.entry.js +0 -1
  244. package/dist/dda/p-7b187e1f.entry.js +0 -1
  245. package/dist/dda/p-7b4d895e.entry.js +0 -1
  246. package/dist/dda/p-8f408141.entry.js +0 -1
  247. package/dist/dda/p-91341ca7.entry.js +0 -1
  248. package/dist/dda/p-9552def5.entry.js +0 -1
  249. package/dist/dda/p-98bba4dc.entry.js +0 -1
  250. package/dist/dda/p-a0768b2f.entry.js +0 -1
  251. package/dist/dda/p-a5bd30ad.entry.js +0 -1
  252. package/dist/dda/p-a83f6267.entry.js +0 -1
  253. package/dist/dda/p-b17f79df.entry.js +0 -1
  254. package/dist/dda/p-b79505e1.entry.js +0 -1
  255. package/dist/dda/p-b8b98df2.entry.js +0 -1
  256. package/dist/dda/p-cc2cc09b.entry.js +0 -1
  257. package/dist/dda/p-ceee08fa.entry.js +0 -1
  258. package/dist/dda/p-d000e69d.entry.js +0 -1
  259. package/dist/dda/p-e5b79469.entry.js +0 -1
  260. package/dist/dda/p-f2f3be5f.entry.js +0 -1
  261. package/dist/dda/p-f92e0a32.entry.js +0 -1
  262. package/dist/dda/p-o6021Dsk.js +0 -2
@@ -711,24 +711,97 @@
711
711
  padding: 50px 20px 70px 20px;
712
712
  }
713
713
 
714
+ /* Small screens: the cards sit on the banner this far above the sticky footer bar, at this height.
715
+ dda-home-banner's .slider-nav reads the same two values to stay 16px above the cards. */
716
+ :root {
717
+ --dda-quick-links-gap-sm: 12px;
718
+ --dda-quick-links-card-height-sm: 112px;
719
+ }
720
+
714
721
  .quick-links-wrap {
715
722
  width: 100%;
716
723
  position: absolute;
717
- /* dda-sticky-footer sets --dda-sticky-footer-height; the cards sit above the fixed bar. */
718
- bottom: calc(45px + var(--dda-sticky-footer-height, 0px));
724
+ /* dda-sticky-footer sets --dda-sticky-footer-height; the cards sit above the fixed bar.
725
+ The row's bottom padding (below) is part of the 69px. The banner's .slider-nav sits 205px
726
+ above this offset (274px in home-banner.css); change both together. */
727
+ bottom: calc(69px - var(--dda-quick-links-pad-bottom) + var(--dda-sticky-footer-height, 0px));
719
728
  z-index: 1;
720
729
  }
721
730
 
731
+ /* The width of the fade on each edge that has more cards to scroll to. */
732
+ @property --dda-quick-links-fade-start {
733
+ syntax: '<length>';
734
+ inherits: false;
735
+ initial-value: 0px;
736
+ }
737
+ @property --dda-quick-links-fade-end {
738
+ syntax: '<length>';
739
+ inherits: false;
740
+ initial-value: 0px;
741
+ }
742
+
743
+ /* One row of cards. When the cards do not fit, the row scrolls sideways. A card cut at the edge,
744
+ a fade on each edge with more cards, and a thin scrollbar show that the row scrolls. */
745
+ .quick-links-wrap,
746
+ .quick-links {
747
+ /* Room inside the row for the hover lift (12px above) and the pointer (9px below);
748
+ a scrolling box clips anything outside it. */
749
+ --dda-quick-links-pad-top: 12px;
750
+ --dda-quick-links-pad-bottom: 12px;
751
+ --dda-quick-links-fade: 32px;
752
+ }
722
753
  .quick-links {
723
754
  width: 90vw;
724
755
  margin: 0 auto;
725
756
  display: flex;
726
757
  gap: 8px;
727
- padding: 0 20px;
758
+ padding: var(--dda-quick-links-pad-top) 20px var(--dda-quick-links-pad-bottom);
759
+ overflow-x: auto;
760
+ overflow-y: hidden;
761
+ overscroll-behavior-x: contain;
762
+ scroll-snap-type: x mandatory;
763
+ /* A card that snaps or takes focus stops clear of the fade. */
764
+ scroll-padding-inline: calc(var(--dda-quick-links-fade) + 4px);
765
+ scrollbar-width: thin;
766
+ scrollbar-color: rgba(255, 255, 255, 0.7) transparent;
767
+ }
768
+
769
+ /* Fades show only where the row can scroll, and follow the scroll position. Browsers without
770
+ scroll-driven animations show no fade; the cut card and the scrollbar still show. */
771
+ @supports (animation-timeline: scroll()) {
772
+ .quick-links {
773
+ -webkit-mask-image: linear-gradient(to right, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
774
+ mask-image: linear-gradient(to right, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
775
+ animation: dda-quick-links-fade linear both;
776
+ animation-timeline: scroll(self inline);
777
+ }
778
+ /* In RTL the row starts on the right. */
779
+ [dir='rtl'] .quick-links {
780
+ -webkit-mask-image: linear-gradient(to left, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
781
+ mask-image: linear-gradient(to left, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
782
+ }
783
+ }
784
+ @keyframes dda-quick-links-fade {
785
+ 0% {
786
+ --dda-quick-links-fade-start: 0px;
787
+ --dda-quick-links-fade-end: var(--dda-quick-links-fade);
788
+ }
789
+ 10%,
790
+ 90% {
791
+ --dda-quick-links-fade-start: var(--dda-quick-links-fade);
792
+ --dda-quick-links-fade-end: var(--dda-quick-links-fade);
793
+ }
794
+ 100% {
795
+ --dda-quick-links-fade-start: var(--dda-quick-links-fade);
796
+ --dda-quick-links-fade-end: 0px;
797
+ }
728
798
  }
729
799
 
730
800
  .quick-links .link-item {
731
- width: 100%;
801
+ /* Cards share the row when they fit and are never narrower than 220px. */
802
+ flex: 1 0 220px;
803
+ min-width: 0;
804
+ scroll-snap-align: start;
732
805
  height: 170px;
733
806
  display: block;
734
807
  background: var(--dda-surface-100);
@@ -797,11 +870,16 @@
797
870
  /* In normal flow the cards do not sit over the fixed bar, so keep the original offset. */
798
871
  bottom: 45px;
799
872
  }
873
+ /* Below the banner, on the page background: the row spans the screen, and each card is
874
+ narrower than the row so the next card shows at the edge. */
800
875
  .quick-links-wrap .quick-links {
801
- display: grid;
802
- padding: 20px 20px;
876
+ width: 100%;
877
+ box-sizing: border-box;
878
+ padding: 20px 20px var(--dda-quick-links-pad-bottom);
879
+ scrollbar-color: var(--dda-on-surface-variant-40) transparent;
803
880
  }
804
881
  .quick-links .link-item {
882
+ flex: 0 0 min(75%, 300px);
805
883
  height: auto;
806
884
  margin: 0px;
807
885
  border: solid 1px #ddd;
@@ -851,7 +929,7 @@
851
929
  .dda-head-logo .govt-logo img {
852
930
  height: 39px;
853
931
  }
854
- .transparent .dda-header::before {
932
+ .transparent dda-header:not(.dda-scrolled) .dda-header::before {
855
933
  height: 100%;
856
934
  }
857
935
  }
@@ -874,6 +952,44 @@
874
952
  max-width: 90vw !important;
875
953
  }
876
954
 
955
+ /* 992px and below, on screens taller than 600px: the cards sit on the banner, above the sticky
956
+ footer bar, as on desktop. They are compact so they cover less of the slide, and the slide
957
+ controls move above them (home-banner.css). On short landscape screens the banner cannot hold
958
+ the text, the controls and the cards, so the cards stay under it (the rules above). */
959
+ @media screen and (max-width: 992px) and (min-height: 601px) {
960
+ .quick-links-wrap {
961
+ position: absolute;
962
+ /* The row's bottom padding is part of the gap above the bar. */
963
+ bottom: calc(var(--dda-quick-links-gap-sm) - var(--dda-quick-links-pad-bottom) + var(--dda-sticky-footer-height, 0px));
964
+ }
965
+ .quick-links-wrap .quick-links {
966
+ padding-top: var(--dda-quick-links-pad-top);
967
+ scrollbar-color: rgba(255, 255, 255, 0.7) transparent;
968
+ }
969
+ .quick-links .link-item {
970
+ height: var(--dda-quick-links-card-height-sm);
971
+ padding: 16px;
972
+ border: 0;
973
+ }
974
+ .quick-links .link-item i {
975
+ font-size: 24px;
976
+ margin-bottom: 8px;
977
+ }
978
+ .quick-links .link-item svg {
979
+ height: 24px;
980
+ margin-bottom: 8px;
981
+ }
982
+ .quick-links .link-item .title {
983
+ font-size: var(--dda-fs-body-lg);
984
+ }
985
+ .quick-links .link-item .subtitle {
986
+ font-size: var(--dda-fs-body-sm);
987
+ white-space: nowrap;
988
+ overflow: hidden;
989
+ text-overflow: ellipsis;
990
+ }
991
+ }
992
+
877
993
  .dda-card {
878
994
  position: relative;
879
995
  display: -ms-flexbox;
@@ -2074,6 +2190,20 @@
2074
2190
  transition: transform 300ms ease-in-out;
2075
2191
  }
2076
2192
 
2193
+ /* WCAG 2.4.11: the fixed bar covers the bottom of the viewport. dda-sticky-footer publishes
2194
+ its height as --dda-sticky-footer-height (and removes it when it is removed), so:
2195
+ - scroll-padding-bottom keeps focused and scrolled-to elements above the bar, the same way
2196
+ scroll-padding-top in dda-header.css keeps them below the fixed header;
2197
+ - body padding-bottom lets the end of the page scroll clear of the bar.
2198
+ Without the component the variable is not set and both are 0. */
2199
+ :root {
2200
+ scroll-padding-bottom: var(--dda-sticky-footer-height, 0px);
2201
+ }
2202
+
2203
+ body {
2204
+ padding-bottom: var(--dda-sticky-footer-height, 0px);
2205
+ }
2206
+
2077
2207
  /* dda-sticky-footer toggles this class off its own scroll-direction state
2078
2208
  (see dda-sticky-footer.tsx handleScroll) to hide the bar while scrolling
2079
2209
  down and bring it back while scrolling up. Same transition idiom as
@@ -2122,6 +2252,10 @@
2122
2252
  .foot-icon-btn a img {
2123
2253
  height: 32px;
2124
2254
  }
2255
+
2256
+ .foot-icon-btn a i {
2257
+ font-size: 32px;
2258
+ }
2125
2259
  .dda-footer-item ul li.foot-menu{
2126
2260
  padding: 0 5px;
2127
2261
  }
@@ -2198,6 +2332,10 @@
2198
2332
  .foot-icon-btn a img {
2199
2333
  height: 24px;
2200
2334
  }
2335
+
2336
+ .foot-icon-btn a i {
2337
+ font-size: 24px;
2338
+ }
2201
2339
  }
2202
2340
 
2203
2341
  @media (max-width: 1200px) {}
@@ -2511,12 +2649,12 @@
2511
2649
  position: relative;
2512
2650
  }
2513
2651
 
2514
- .transparent .dda-header {
2652
+ .transparent dda-header:not(.dda-scrolled) .dda-header {
2515
2653
  background: transparent;
2516
2654
  box-shadow: none;
2517
2655
  }
2518
2656
 
2519
- .transparent .dda-header::before {
2657
+ .transparent dda-header:not(.dda-scrolled) .dda-header::before {
2520
2658
  content: "";
2521
2659
  width: 100%;
2522
2660
  height: 250px;
@@ -2547,13 +2685,13 @@
2547
2685
  .entt-logo img {
2548
2686
  height: 44px;
2549
2687
  }
2550
- .transparent .logo-colored{
2688
+ .transparent dda-header:not(.dda-scrolled) .logo-colored{
2551
2689
  display: none;
2552
2690
  }
2553
2691
  .logo-white{
2554
2692
  display: none;
2555
2693
  }
2556
- .transparent .logo-white{
2694
+ .transparent dda-header:not(.dda-scrolled) .logo-white{
2557
2695
  display: block;
2558
2696
  }
2559
2697
  .dda-header.white .dda-head-logo .logo-white,
@@ -2673,9 +2811,9 @@
2673
2811
  background-color: var(--dda-color-primary-40);
2674
2812
  }
2675
2813
 
2676
- .transparent .hamburger-menu-btn::before,
2677
- .transparent .hamburger-menu-btn::after,
2678
- .transparent .hamburger-line {
2814
+ .transparent dda-header:not(.dda-scrolled) .hamburger-menu-btn::before,
2815
+ .transparent dda-header:not(.dda-scrolled) .hamburger-menu-btn::after,
2816
+ .transparent dda-header:not(.dda-scrolled) .hamburger-line {
2679
2817
  background-color: var(--dda-neutral-100) !important;
2680
2818
  }
2681
2819
 
@@ -2739,7 +2877,7 @@
2739
2877
  color: var(--dda-color-primary-40);
2740
2878
  }
2741
2879
 
2742
- .transparent .dda-mega-menu>li>a {
2880
+ .transparent dda-header:not(.dda-scrolled) .dda-mega-menu>li>a {
2743
2881
  color: var(--dda-neutral-100);
2744
2882
  }
2745
2883
 
@@ -2756,7 +2894,7 @@
2756
2894
  transition: all 0.25s ease-in-out;
2757
2895
  }
2758
2896
 
2759
- .transparent .dda-mega-menu>li>a::after {
2897
+ .transparent dda-header:not(.dda-scrolled) .dda-mega-menu>li>a::after {
2760
2898
  background-color: var(--dda-neutral-100);
2761
2899
  }
2762
2900
 
@@ -2870,8 +3008,8 @@
2870
3008
  gap: 10px;
2871
3009
  }
2872
3010
 
2873
- .transparent .dda-toolbar-menu ul li .tool-btn,
2874
- .transparent .dda-toolbar-menu-sidemenu ul li .tool-btn {
3011
+ .transparent dda-header:not(.dda-scrolled) .dda-toolbar-menu ul li .tool-btn,
3012
+ .transparent dda-header:not(.dda-scrolled) .dda-toolbar-menu-sidemenu ul li .tool-btn {
2875
3013
  background-color: var(--dda-neutral-17);
2876
3014
  color: var(--dda-neutral-100);
2877
3015
  }
@@ -2892,10 +3030,10 @@
2892
3030
  color: var(--dda-on-surface-variant-30);
2893
3031
  }
2894
3032
 
2895
- .transparent .dda-toolbar-menu ul li .tool-btn i,
2896
- .transparent .dda-toolbar-menu ul li .tool-btn svg,
2897
- .transparent .dda-toolbar-menu-sidemenu ul li .tool-btn i,
2898
- .transparent .dda-toolbar-menu-sidemenu ul li .tool-btn svg {
3033
+ .transparent dda-header:not(.dda-scrolled) .dda-toolbar-menu ul li .tool-btn i,
3034
+ .transparent dda-header:not(.dda-scrolled) .dda-toolbar-menu ul li .tool-btn svg,
3035
+ .transparent dda-header:not(.dda-scrolled) .dda-toolbar-menu-sidemenu ul li .tool-btn i,
3036
+ .transparent dda-header:not(.dda-scrolled) .dda-toolbar-menu-sidemenu ul li .tool-btn svg {
2899
3037
  color: var(--dda-neutral-100);
2900
3038
  }
2901
3039
  .dda-search{
@@ -2941,10 +3079,10 @@
2941
3079
  .dda-search input[type="text"]::placeholder{
2942
3080
  color: var(--dda-on-surface-0);
2943
3081
  }
2944
- .transparent .dda-search input[type="text"]::-ms-input-placeholder {
3082
+ .transparent dda-header:not(.dda-scrolled) .dda-search input[type="text"]::-ms-input-placeholder {
2945
3083
  color: var(--dda-neutral-100);
2946
3084
  }
2947
- .transparent .dda-search input[type="text"]::placeholder{
3085
+ .transparent dda-header:not(.dda-scrolled) .dda-search input[type="text"]::placeholder{
2948
3086
  color: var(--dda-neutral-100);
2949
3087
  }
2950
3088
 
@@ -3238,8 +3376,8 @@ ul.main_side_menu .main_sub_menu .main_sub_menu .main_sub_menu {
3238
3376
  fill: var(--dda-on-surface-variant-30);
3239
3377
  }
3240
3378
 
3241
- .transparent .dda-mobile-search button i,
3242
- .transparent .dda-mobile-search button svg {
3379
+ .transparent dda-header:not(.dda-scrolled) .dda-mobile-search button i,
3380
+ .transparent dda-header:not(.dda-scrolled) .dda-mobile-search button svg {
3243
3381
  color: var(--dda-neutral-100);
3244
3382
  }
3245
3383
 
@@ -3250,7 +3388,7 @@ ul.main_side_menu .main_sub_menu .main_sub_menu .main_sub_menu {
3250
3388
 
3251
3389
 
3252
3390
  @media screen and (max-width: 767px) {
3253
- .transparent .dda-header::before {
3391
+ .transparent dda-header:not(.dda-scrolled) .dda-header::before {
3254
3392
  height: 130px;
3255
3393
  }
3256
3394
  .dda-header{