@dubai-design-system/components-js 5.0.3 → 5.1.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 (316) hide show
  1. package/CHANGELOG.md +198 -1
  2. package/MIGRATION.md +423 -0
  3. package/dist/cjs/dda-accordion.cjs.entry.js +12 -7
  4. package/dist/cjs/dda-alert.cjs.entry.js +20 -3
  5. package/dist/cjs/dda-attach-file.cjs.entry.js +24 -8
  6. package/dist/cjs/dda-avatar.cjs.entry.js +23 -12
  7. package/dist/cjs/dda-banner.cjs.entry.js +14 -5
  8. package/dist/cjs/dda-breadcrumb.cjs.entry.js +22 -10
  9. package/dist/cjs/dda-button.cjs.entry.js +16 -9
  10. package/dist/cjs/dda-checkbox.cjs.entry.js +5 -4
  11. package/dist/cjs/dda-chip.cjs.entry.js +8 -3
  12. package/dist/cjs/dda-credit-card.cjs.entry.js +5 -3
  13. package/dist/cjs/dda-creditcard-field.cjs.entry.js +26 -8
  14. package/dist/cjs/dda-dropdown.cjs.entry.js +31 -5
  15. package/dist/cjs/dda-footer.cjs.entry.js +9 -3
  16. package/dist/cjs/dda-header.cjs.entry.js +80 -8
  17. package/dist/cjs/dda-home-banner.cjs.entry.js +11 -5
  18. package/dist/cjs/dda-horizontal-stepper.cjs.entry.js +22 -5
  19. package/dist/cjs/dda-input.cjs.entry.js +17 -10
  20. package/dist/cjs/dda-link-button_2.cjs.entry.js +21 -13
  21. package/dist/cjs/dda-number-field.cjs.entry.js +20 -8
  22. package/dist/cjs/dda-pagination.cjs.entry.js +21 -11
  23. package/dist/cjs/dda-phonefield.cjs.entry.js +27 -9
  24. package/dist/cjs/dda-progressbar.cjs.entry.js +8 -3
  25. package/dist/cjs/dda-range-slider.cjs.entry.js +15 -3
  26. package/dist/cjs/dda-search-input.cjs.entry.js +27 -12
  27. package/dist/cjs/dda-segmented-tabs.cjs.entry.js +54 -6
  28. package/dist/cjs/dda-select.cjs.entry.js +40 -8
  29. package/dist/cjs/dda-sticky-footer.cjs.entry.js +20 -3
  30. package/dist/cjs/dda-tabs.cjs.entry.js +10 -4
  31. package/dist/cjs/dda-textarea.cjs.entry.js +22 -12
  32. package/dist/cjs/dda-toggle.cjs.entry.js +5 -4
  33. package/dist/cjs/dda-tooltip.cjs.entry.js +6 -4
  34. package/dist/cjs/dda-ui-card.cjs.entry.js +19 -2
  35. package/dist/cjs/dda-vertical-stepper.cjs.entry.js +23 -3
  36. package/dist/cjs/dda.cjs.js +2 -2
  37. package/dist/cjs/index-Dm7JbFAh.js +2116 -0
  38. package/dist/cjs/loader.cjs.js +2 -2
  39. package/dist/cjs/unique-id-DahNGdQy.js +14 -0
  40. package/dist/collection/collection-manifest.json +1 -1
  41. package/dist/collection/components/dda-accordion/dda-accordion.js +16 -11
  42. package/dist/collection/components/dda-alert/dda-alert.js +74 -17
  43. package/dist/collection/components/dda-alert/dda-alert.stories.js +2 -8
  44. package/dist/collection/components/dda-attach-file/dda-attach-file.js +35 -19
  45. package/dist/collection/components/dda-attach-file/dda-attach-file.stories.js +0 -9
  46. package/dist/collection/components/dda-avatar/dda-avatar.js +53 -25
  47. package/dist/collection/components/dda-avatar/dda-avatar.stories.js +1 -1
  48. package/dist/collection/components/dda-banner/dda-banner.css +35 -0
  49. package/dist/collection/components/dda-banner/dda-banner.js +34 -5
  50. package/dist/collection/components/dda-breadcrumb/dda-breadcrumb.js +49 -12
  51. package/dist/collection/components/dda-button/dda-button.js +29 -22
  52. package/dist/collection/components/dda-checkbox/dda-checkbox.css +13 -0
  53. package/dist/collection/components/dda-checkbox/dda-checkbox.js +13 -12
  54. package/dist/collection/components/dda-checkbox/dda-checkbox.stories.js +0 -11
  55. package/dist/collection/components/dda-chip/dda-chip.js +34 -9
  56. package/dist/collection/components/dda-chip/dda-chip.stories.js +0 -11
  57. package/dist/collection/components/dda-credit-card/dda-credit-card.js +10 -8
  58. package/dist/collection/components/dda-creditcard-field/dda-creditcard-field.js +58 -23
  59. package/dist/collection/components/dda-creditcard-field/dda-creditcard-field.stories.js +1 -10
  60. package/dist/collection/components/dda-dropdown/dda-dropdown.js +90 -18
  61. package/dist/collection/components/dda-dropdown/dda-dropdown.stories.js +0 -4
  62. package/dist/collection/components/dda-footer/dda-footer.js +57 -10
  63. package/dist/collection/components/dda-footer/dda-footer.stories.js +5 -4
  64. package/dist/collection/components/dda-header/dda-header.css +11 -0
  65. package/dist/collection/components/dda-header/dda-header.js +224 -37
  66. package/dist/collection/components/dda-header/dda-header.stories.js +12 -21
  67. package/dist/collection/components/dda-home-banner/dda-home-banner.js +8 -2
  68. package/dist/collection/components/dda-home-banner/home-banner.css +21 -1
  69. package/dist/collection/components/dda-input/dda-input.js +28 -21
  70. package/dist/collection/components/dda-input/dda-input.stories.js +0 -13
  71. package/dist/collection/components/dda-link-button/dda-link-button.js +30 -23
  72. package/dist/collection/components/dda-number-field/dda-number-field.js +54 -22
  73. package/dist/collection/components/dda-number-field/dda-number-field.stories.js +0 -9
  74. package/dist/collection/components/dda-pagination/dda-pagination.js +95 -28
  75. package/dist/collection/components/dda-pagination/dda-pagination.stories.js +24 -24
  76. package/dist/collection/components/dda-phonefield/dda-phonefield.js +62 -24
  77. package/dist/collection/components/dda-phonefield/dda-phonefield.stories.js +0 -13
  78. package/dist/collection/components/dda-progressbar/dda-progressbar.js +13 -8
  79. package/dist/collection/components/dda-radiobutton/dda-radiobutton.css +121 -4
  80. package/dist/collection/components/dda-radiobutton/dda-radiobutton.js +13 -12
  81. package/dist/collection/components/dda-radiobutton/dda-radiobutton.stories.js +5 -16
  82. package/dist/collection/components/dda-range-slider/dda-range-slider.js +29 -17
  83. package/dist/collection/components/dda-search-input/dda-search-input.js +61 -26
  84. package/dist/collection/components/dda-search-input/dda-search-input.stories.js +0 -9
  85. package/dist/collection/components/dda-select/dda-select.js +78 -20
  86. package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.js +80 -43
  87. package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.stories.js +1 -1
  88. package/dist/collection/components/dda-tabs/dda-tabs.js +21 -15
  89. package/dist/collection/components/dda-tabs/dda-tabs.stories.js +3 -10
  90. package/dist/collection/components/dda-textarea/dda-textarea.js +33 -23
  91. package/dist/collection/components/dda-textarea/dda-textarea.stories.js +0 -9
  92. package/dist/collection/components/dda-toggle/dda-toggle.css +9 -0
  93. package/dist/collection/components/dda-toggle/dda-toggle.js +47 -8
  94. package/dist/collection/components/dda-toggle/dda-toggle.stories.js +10 -22
  95. package/dist/collection/components/dda-tooltip/dda-tooltip.js +9 -7
  96. package/dist/collection/components/dda-ui-card/dda-ui-card.js +55 -13
  97. package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.js +79 -11
  98. package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.css +4 -1
  99. package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.js +24 -6
  100. package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.stories.js +2 -2
  101. package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.js +49 -6
  102. package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.stories.js +2 -2
  103. package/dist/collection/global/global.css +117 -4
  104. package/dist/collection/global/input.css +56 -2
  105. package/dist/collection/storybook/component-api.js +15 -0
  106. package/dist/collection/utils/placeholder-color.js +89 -0
  107. package/dist/collection/utils/unique-id.js +10 -0
  108. package/dist/components/dda-accordion.js +1 -1
  109. package/dist/components/dda-alert.js +1 -1
  110. package/dist/components/dda-attach-file.js +1 -1
  111. package/dist/components/dda-avatar.js +1 -1
  112. package/dist/components/dda-banner.js +1 -1
  113. package/dist/components/dda-breadcrumb.js +1 -1
  114. package/dist/components/dda-button.js +1 -1
  115. package/dist/components/dda-checkbox.js +1 -1
  116. package/dist/components/dda-chip.js +1 -1
  117. package/dist/components/dda-credit-card.js +1 -1
  118. package/dist/components/dda-creditcard-field.js +1 -1
  119. package/dist/components/dda-dropdown.js +1 -1
  120. package/dist/components/dda-footer.js +1 -1
  121. package/dist/components/dda-header.js +1 -1
  122. package/dist/components/dda-home-banner.js +1 -1
  123. package/dist/components/dda-horizontal-stepper.js +1 -1
  124. package/dist/components/dda-input.js +1 -1
  125. package/dist/components/dda-link-button.js +1 -1
  126. package/dist/components/dda-number-field.js +1 -1
  127. package/dist/components/dda-pagination.js +1 -1
  128. package/dist/components/dda-phonefield.js +1 -1
  129. package/dist/components/dda-progressbar.js +1 -1
  130. package/dist/components/dda-radiobutton.js +1 -1
  131. package/dist/components/dda-range-slider.js +1 -1
  132. package/dist/components/dda-search-input.js +1 -1
  133. package/dist/components/dda-segmented-tabs.js +1 -1
  134. package/dist/components/dda-select.js +1 -1
  135. package/dist/components/dda-sticky-footer.js +1 -1
  136. package/dist/components/dda-tabs.js +1 -1
  137. package/dist/components/dda-textarea.js +1 -1
  138. package/dist/components/dda-toggle.js +1 -1
  139. package/dist/components/dda-tooltip.js +1 -1
  140. package/dist/components/dda-ui-card.js +1 -1
  141. package/dist/components/dda-vertical-stepper.js +1 -1
  142. package/dist/components/index.js +1 -1
  143. package/dist/components/p-B-I003EB.js +1 -0
  144. package/dist/components/p-B4nkZ15I.js +1 -0
  145. package/dist/components/p-Bk2uycTf.js +1 -0
  146. package/dist/components/p-C96R7OFb.js +1 -0
  147. package/dist/components/p-Ciz-pnTr.js +1 -0
  148. package/dist/components/p-CleacZFl.js +1 -0
  149. package/dist/dda/dda.css +2 -2
  150. package/dist/dda/dda.esm.js +1 -1
  151. package/dist/dda/p-0daa2a14.entry.js +1 -0
  152. package/dist/dda/p-1537b9dd.entry.js +1 -0
  153. package/dist/dda/p-175c52b8.entry.js +1 -0
  154. package/dist/dda/p-2b65a79a.entry.js +1 -0
  155. package/dist/dda/p-2d93b185.entry.js +1 -0
  156. package/dist/dda/p-30d3a014.entry.js +1 -0
  157. package/dist/dda/p-33b890a5.entry.js +1 -0
  158. package/dist/dda/p-64d90f29.entry.js +1 -0
  159. package/dist/dda/p-69bc04c1.entry.js +1 -0
  160. package/dist/dda/p-6daa282f.entry.js +1 -0
  161. package/dist/dda/p-72f22d1f.entry.js +1 -0
  162. package/dist/dda/p-7549868d.entry.js +1 -0
  163. package/dist/dda/p-7a51a946.entry.js +1 -0
  164. package/dist/dda/p-7b187e1f.entry.js +1 -0
  165. package/dist/dda/p-7b4d895e.entry.js +1 -0
  166. package/dist/dda/p-8f408141.entry.js +1 -0
  167. package/dist/dda/p-91341ca7.entry.js +1 -0
  168. package/dist/dda/p-9552def5.entry.js +1 -0
  169. package/dist/dda/p-9672af43.entry.js +1 -0
  170. package/dist/dda/p-98bba4dc.entry.js +1 -0
  171. package/dist/dda/p-B-I003EB.js +1 -0
  172. package/dist/dda/p-a0768b2f.entry.js +1 -0
  173. package/dist/dda/p-a5bd30ad.entry.js +1 -0
  174. package/dist/dda/p-a83f6267.entry.js +1 -0
  175. package/dist/dda/p-b17f79df.entry.js +1 -0
  176. package/dist/dda/p-b79505e1.entry.js +1 -0
  177. package/dist/dda/p-b8b98df2.entry.js +1 -0
  178. package/dist/dda/p-cc2cc09b.entry.js +1 -0
  179. package/dist/dda/p-ceee08fa.entry.js +1 -0
  180. package/dist/dda/p-d000e69d.entry.js +1 -0
  181. package/dist/dda/p-e3a65ceb.entry.js +1 -0
  182. package/dist/dda/p-e5b79469.entry.js +1 -0
  183. package/dist/dda/p-f2f3be5f.entry.js +1 -0
  184. package/dist/dda/p-f92e0a32.entry.js +1 -0
  185. package/dist/dda/p-o6021Dsk.js +2 -0
  186. package/dist/esm/dda-accordion.entry.js +12 -7
  187. package/dist/esm/dda-alert.entry.js +20 -3
  188. package/dist/esm/dda-attach-file.entry.js +24 -8
  189. package/dist/esm/dda-avatar.entry.js +23 -12
  190. package/dist/esm/dda-banner.entry.js +14 -5
  191. package/dist/esm/dda-breadcrumb.entry.js +22 -10
  192. package/dist/esm/dda-button.entry.js +16 -9
  193. package/dist/esm/dda-checkbox.entry.js +5 -4
  194. package/dist/esm/dda-chip.entry.js +8 -3
  195. package/dist/esm/dda-credit-card.entry.js +5 -3
  196. package/dist/esm/dda-creditcard-field.entry.js +26 -8
  197. package/dist/esm/dda-dropdown.entry.js +31 -5
  198. package/dist/esm/dda-footer.entry.js +9 -3
  199. package/dist/esm/dda-header.entry.js +80 -8
  200. package/dist/esm/dda-home-banner.entry.js +11 -5
  201. package/dist/esm/dda-horizontal-stepper.entry.js +22 -5
  202. package/dist/esm/dda-input.entry.js +17 -10
  203. package/dist/esm/dda-link-button_2.entry.js +21 -13
  204. package/dist/esm/dda-number-field.entry.js +20 -8
  205. package/dist/esm/dda-pagination.entry.js +21 -11
  206. package/dist/esm/dda-phonefield.entry.js +27 -9
  207. package/dist/esm/dda-progressbar.entry.js +8 -3
  208. package/dist/esm/dda-range-slider.entry.js +15 -3
  209. package/dist/esm/dda-search-input.entry.js +27 -12
  210. package/dist/esm/dda-segmented-tabs.entry.js +54 -6
  211. package/dist/esm/dda-select.entry.js +40 -8
  212. package/dist/esm/dda-sticky-footer.entry.js +20 -3
  213. package/dist/esm/dda-tabs.entry.js +10 -4
  214. package/dist/esm/dda-textarea.entry.js +22 -12
  215. package/dist/esm/dda-toggle.entry.js +5 -4
  216. package/dist/esm/dda-tooltip.entry.js +6 -4
  217. package/dist/esm/dda-ui-card.entry.js +19 -2
  218. package/dist/esm/dda-vertical-stepper.entry.js +23 -3
  219. package/dist/esm/dda.js +3 -3
  220. package/dist/esm/index-o6021Dsk.js +2106 -0
  221. package/dist/esm/loader.js +3 -3
  222. package/dist/esm/unique-id-B-I003EB.js +12 -0
  223. package/dist/types/components/dda-accordion/dda-accordion.d.ts +6 -0
  224. package/dist/types/components/dda-alert/dda-alert.d.ts +21 -0
  225. package/dist/types/components/dda-attach-file/dda-attach-file.d.ts +17 -0
  226. package/dist/types/components/dda-attach-file/dda-attach-file.stories.d.ts +0 -4
  227. package/dist/types/components/dda-avatar/dda-avatar.d.ts +20 -0
  228. package/dist/types/components/dda-banner/dda-banner.d.ts +5 -0
  229. package/dist/types/components/dda-breadcrumb/dda-breadcrumb.d.ts +12 -6
  230. package/dist/types/components/dda-button/dda-button.d.ts +15 -4
  231. package/dist/types/components/dda-checkbox/dda-checkbox.d.ts +11 -0
  232. package/dist/types/components/dda-checkbox/dda-checkbox.stories.d.ts +0 -10
  233. package/dist/types/components/dda-chip/dda-chip.d.ts +10 -0
  234. package/dist/types/components/dda-chip/dda-chip.stories.d.ts +0 -6
  235. package/dist/types/components/dda-credit-card/dda-credit-card.d.ts +7 -0
  236. package/dist/types/components/dda-creditcard-field/dda-creditcard-field.d.ts +24 -0
  237. package/dist/types/components/dda-creditcard-field/dda-creditcard-field.stories.d.ts +0 -6
  238. package/dist/types/components/dda-dropdown/dda-dropdown.d.ts +25 -0
  239. package/dist/types/components/dda-dropdown/dda-dropdown.stories.d.ts +0 -4
  240. package/dist/types/components/dda-footer/dda-footer.d.ts +13 -0
  241. package/dist/types/components/dda-header/dda-header.d.ts +60 -0
  242. package/dist/types/components/dda-header/dda-header.stories.d.ts +6 -0
  243. package/dist/types/components/dda-home-banner/dda-home-banner.d.ts +1 -0
  244. package/dist/types/components/dda-input/dda-input.d.ts +16 -0
  245. package/dist/types/components/dda-input/dda-input.stories.d.ts +0 -6
  246. package/dist/types/components/dda-link-button/dda-link-button.d.ts +14 -3
  247. package/dist/types/components/dda-number-field/dda-number-field.d.ts +21 -0
  248. package/dist/types/components/dda-number-field/dda-number-field.stories.d.ts +0 -6
  249. package/dist/types/components/dda-pagination/dda-pagination.d.ts +26 -0
  250. package/dist/types/components/dda-phonefield/dda-phonefield.d.ts +21 -0
  251. package/dist/types/components/dda-phonefield/dda-phonefield.stories.d.ts +0 -6
  252. package/dist/types/components/dda-progressbar/dda-progressbar.d.ts +7 -0
  253. package/dist/types/components/dda-radiobutton/dda-radiobutton.d.ts +11 -0
  254. package/dist/types/components/dda-radiobutton/dda-radiobutton.stories.d.ts +5 -15
  255. package/dist/types/components/dda-range-slider/dda-range-slider.d.ts +16 -0
  256. package/dist/types/components/dda-search-input/dda-search-input.d.ts +21 -0
  257. package/dist/types/components/dda-search-input/dda-search-input.stories.d.ts +0 -6
  258. package/dist/types/components/dda-select/dda-select.d.ts +23 -0
  259. package/dist/types/components/dda-sticky-footer/dda-sticky-footer.d.ts +46 -3
  260. package/dist/types/components/dda-tabs/dda-tabs.d.ts +12 -1
  261. package/dist/types/components/dda-tabs/dda-tabs.stories.d.ts +0 -4
  262. package/dist/types/components/dda-textarea/dda-textarea.d.ts +16 -0
  263. package/dist/types/components/dda-textarea/dda-textarea.stories.d.ts +0 -6
  264. package/dist/types/components/dda-toggle/dda-toggle.d.ts +11 -0
  265. package/dist/types/components/dda-toggle/dda-toggle.stories.d.ts +2 -12
  266. package/dist/types/components/dda-tooltip/dda-tooltip.d.ts +5 -0
  267. package/dist/types/components/dda-ui-card/dda-ui-card.d.ts +13 -1
  268. package/dist/types/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.d.ts +19 -2
  269. package/dist/types/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.d.ts +6 -0
  270. package/dist/types/components/stepper/dda-vertical-stepper/dda-vertical-stepper.d.ts +8 -0
  271. package/dist/types/components.d.ts +2373 -47
  272. package/dist/types/utils/placeholder-color.d.ts +10 -0
  273. package/dist/types/utils/unique-id.d.ts +6 -0
  274. package/package.json +4 -3
  275. package/readme.md +6 -0
  276. package/dist/cjs/index-CDUC0Pdj.js +0 -1986
  277. package/dist/components/p-9UeqjDnY.js +0 -1
  278. package/dist/components/p-CrTEb7xH.js +0 -1
  279. package/dist/components/p-DldlmGnP.js +0 -1
  280. package/dist/components/p-NvTw9Mx1.js +0 -1
  281. package/dist/components/p-i15-_er0.js +0 -1
  282. package/dist/dda/p-016e4090.entry.js +0 -1
  283. package/dist/dda/p-0229b303.entry.js +0 -1
  284. package/dist/dda/p-05a6f90d.entry.js +0 -1
  285. package/dist/dda/p-1c9a6035.entry.js +0 -1
  286. package/dist/dda/p-2c313105.entry.js +0 -1
  287. package/dist/dda/p-2cec7be6.entry.js +0 -1
  288. package/dist/dda/p-2f4ace4c.entry.js +0 -1
  289. package/dist/dda/p-360a0577.entry.js +0 -1
  290. package/dist/dda/p-3e49128d.entry.js +0 -1
  291. package/dist/dda/p-3fa27728.entry.js +0 -1
  292. package/dist/dda/p-43e1c12f.entry.js +0 -1
  293. package/dist/dda/p-4428417d.entry.js +0 -1
  294. package/dist/dda/p-44ce832e.entry.js +0 -1
  295. package/dist/dda/p-560a3f0c.entry.js +0 -1
  296. package/dist/dda/p-5712bbd9.entry.js +0 -1
  297. package/dist/dda/p-626d7e7b.entry.js +0 -1
  298. package/dist/dda/p-68008c64.entry.js +0 -1
  299. package/dist/dda/p-6f3d9f78.entry.js +0 -1
  300. package/dist/dda/p-79db1218.entry.js +0 -1
  301. package/dist/dda/p-84911fab.entry.js +0 -1
  302. package/dist/dda/p-90d9648b.entry.js +0 -1
  303. package/dist/dda/p-91040abe.entry.js +0 -1
  304. package/dist/dda/p-Cq6A4mXg.js +0 -2
  305. package/dist/dda/p-a1421a54.entry.js +0 -1
  306. package/dist/dda/p-a22b1c56.entry.js +0 -1
  307. package/dist/dda/p-aa0e9035.entry.js +0 -1
  308. package/dist/dda/p-b2981646.entry.js +0 -1
  309. package/dist/dda/p-c1f45887.entry.js +0 -1
  310. package/dist/dda/p-c50e1141.entry.js +0 -1
  311. package/dist/dda/p-d8a9cab1.entry.js +0 -1
  312. package/dist/dda/p-dd966009.entry.js +0 -1
  313. package/dist/dda/p-ed099201.entry.js +0 -1
  314. package/dist/dda/p-f4bd2b2e.entry.js +0 -1
  315. package/dist/dda/p-fc30c60e.entry.js +0 -1
  316. package/dist/esm/index-Cq6A4mXg.js +0 -1976
@@ -5,353 +5,792 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { BreadcrumbItem } from "./components/dda-breadcrumb/dda-breadcrumb";
9
+ export { BreadcrumbItem } from "./components/dda-breadcrumb/dda-breadcrumb";
8
10
  export namespace Components {
9
11
  interface DdaAccordion {
10
12
  /**
13
+ * Material Symbols icon name shown before the header text, e.g. `info`.
11
14
  * @default 'info'
12
15
  */
13
16
  "accordion_icon": string;
14
17
  /**
18
+ * Paragraph text shown in the panel when it is open. Slotted content follows it.
15
19
  * @default ''
16
20
  */
17
21
  "body_description": string;
22
+ /**
23
+ * Theme override class for the container, e.g. `light-mode`.
24
+ */
18
25
  "component_mode"?: string;
19
26
  /**
27
+ * Extra CSS classes added to the accordion container.
20
28
  * @default ''
21
29
  */
22
30
  "custom_class"?: string;
23
31
  /**
32
+ * Container style: `bg-border` (filled background with border) or `no-border` (no background or border).
24
33
  * @default 'bg-border'
25
34
  */
26
35
  "design": 'bg-border' | 'no-border';
27
36
  /**
37
+ * Text shown in the header button that opens and closes the panel.
28
38
  * @default 'Accordion Header'
29
39
  */
30
40
  "header_text": string;
31
41
  }
32
42
  interface DdaAlert {
43
+ /**
44
+ * `name` of the close button.
45
+ */
33
46
  "button_name"?: string;
34
47
  /**
48
+ * Not used by the component; nothing is rendered from this value.
35
49
  * @default ''
36
50
  */
37
51
  "button_text": string;
52
+ /**
53
+ * Click handler for the close button, set as a JavaScript property. The alert does not hide itself.
54
+ */
38
55
  "clickHandler"?: (event: MouseEvent) => void;
56
+ /**
57
+ * Accessible name of the close button, read by screen readers instead of the icon ligature.
58
+ * @default 'Close'
59
+ */
60
+ "close_button_label": string;
61
+ /**
62
+ * Not used by the component; it is not applied to any element.
63
+ */
39
64
  "component_id"?: string;
65
+ /**
66
+ * Theme override class for the alert, e.g. `light-mode`.
67
+ */
40
68
  "component_mode"?: string;
41
69
  /**
70
+ * Extra CSS classes added to the alert container.
42
71
  * @default ''
43
72
  */
44
73
  "custom_class"?: string;
45
74
  /**
75
+ * Body text shown below the heading.
46
76
  * @default ''
47
77
  */
48
78
  "description": string;
79
+ /**
80
+ * Label of the first action link. The link shows only when this is set.
81
+ */
49
82
  "first_button"?: string;
83
+ /**
84
+ * `href` of the first action link.
85
+ */
50
86
  "first_link"?: string;
87
+ /**
88
+ * Heading level (1–6) of the title; pick the level that fits the page outline.
89
+ * @default 4
90
+ */
91
+ "heading_level": number;
92
+ /**
93
+ * Label of the second action link. The link shows only when this is set.
94
+ */
51
95
  "second_button"?: string;
96
+ /**
97
+ * `href` of the second action link.
98
+ */
52
99
  "second_link"?: string;
53
100
  /**
101
+ * Heading text of the alert.
54
102
  * @default ''
55
103
  */
56
104
  "title_text": string;
57
105
  /**
106
+ * Style: `primary` uses a tinted background and border in the variation color; `secondary` uses a neutral surface and border.
58
107
  * @default 'primary'
59
108
  */
60
109
  "type": 'primary' | 'secondary';
61
110
  /**
111
+ * Color and screen reader urgency: `info`, `warning`, `error` or `success`. `error` uses `role="alert"`; the others use `role="status"`.
62
112
  * @default 'info'
63
113
  */
64
114
  "variation": 'info' | 'warning' | 'error' | 'success';
65
115
  }
66
116
  interface DdaAttachFile {
67
117
  /**
118
+ * Accessible name of the file input. Not rendered when empty.
68
119
  * @default ''
69
120
  */
70
121
  "aria_label"?: string;
71
122
  /**
123
+ * Accessible name of the remove button shown after a file is chosen, e.g. `Remove file`.
72
124
  * @default ''
73
125
  */
74
126
  "button_aria_label"?: string;
127
+ /**
128
+ * `id` of the remove button shown after a file is chosen.
129
+ */
75
130
  "button_id": string;
131
+ /**
132
+ * `name` of the remove button shown after a file is chosen.
133
+ */
76
134
  "button_name"?: string;
135
+ /**
136
+ * Theme override class for the field, e.g. `light-mode`.
137
+ */
77
138
  "component_mode"?: string;
78
139
  /**
140
+ * Extra CSS classes added to the field container.
79
141
  * @default ''
80
142
  */
81
143
  "custom_class"?: string;
144
+ /**
145
+ * Error text shown below the field. Also sets `aria-invalid="true"` on the file input.
146
+ */
82
147
  "error_message": string;
148
+ /**
149
+ * Helper text shown below the field. Linked by `aria-describedby`.
150
+ */
83
151
  "helper_text": string;
152
+ /**
153
+ * `id` of the file input. Also used to link the label, helper text and error message. Optional: an id is generated when it is not set.
154
+ */
84
155
  "input_id": string;
156
+ /**
157
+ * `name` of the file input.
158
+ */
85
159
  "input_name"?: string;
160
+ /**
161
+ * Adds the class `dda-input-<value>`. `disabled` gives the disabled look only; it does not disable the file input.
162
+ */
86
163
  "input_type"?: string;
164
+ /**
165
+ * Label text shown above the field. Linked to the file input through `input_id` (or a generated id).
166
+ */
87
167
  "label": string;
168
+ /**
169
+ * Size: `default` or `small`.
170
+ */
88
171
  "size"?: string;
172
+ /**
173
+ * Validation state: `error` applies the error colors.
174
+ */
89
175
  "validation_type"?: string;
90
176
  }
91
177
  interface DdaAvatar {
178
+ /**
179
+ * Accessible name of the avatar button and of each option button. The avatar button falls back to `Avatar options`.
180
+ */
92
181
  "aria_label": string;
182
+ /**
183
+ * `id` applied to each option button in the dropdown.
184
+ */
93
185
  "button_id"?: string;
186
+ /**
187
+ * `name` of each option button in the dropdown. Also added as a CSS class on the avatar container.
188
+ */
94
189
  "button_name"?: string;
190
+ /**
191
+ * Theme override class for the avatar, e.g. `light-mode`.
192
+ */
95
193
  "component_mode"?: string;
96
194
  /**
195
+ * Extra CSS classes added to the avatar container.
97
196
  * @default ''
98
197
  */
99
198
  "custom_class"?: string;
100
199
  /**
200
+ * Badge: `default` (none), `status` (green dot), `verified` (check badge), `notification` (count from `notification_number`). `story` has no style yet.
101
201
  * @default 'default'
102
202
  */
103
203
  "design": 'default' | 'status' | 'verified' | 'story' | 'notification';
104
204
  /**
205
+ * CSS class of the icon font used when `type` is `icon`, e.g. `material-icons`. The icon glyph is always `sentiment_satisfied`.
105
206
  * @default 'material-icons'
106
207
  */
107
208
  "icon": string;
108
209
  /**
210
+ * Count shown in the badge when `design` is `notification`. Hidden at sizes `xs` and `sm`.
109
211
  * @default 0
110
212
  */
111
213
  "notification_number": number;
214
+ /**
215
+ * Dropdown options as a JSON array of strings, e.g. `["Profile","Sign out"]`. When set, the avatar becomes a button that opens the list.
216
+ */
112
217
  "options": string;
113
218
  /**
219
+ * Shape: `circle` or `square` (rounded corners).
114
220
  * @default 'circle'
115
221
  */
116
222
  "rounded": 'square' | 'circle';
223
+ /**
224
+ * The selected option. Matches one entry of `options`; updated when the user picks an option. Mutable: the component assigns it.
225
+ */
117
226
  "selected": string;
118
227
  /**
228
+ * Size: `xs` (24px), `sm` (32px), `md` (40px), `lg` (48px), `xl` (56px) or `xxl` (64px).
119
229
  * @default 'md'
120
230
  */
121
231
  "size": 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
122
232
  /**
233
+ * Image URL shown when `type` is `photo`.
123
234
  * @default ''
124
235
  */
125
236
  "src": string;
126
237
  /**
238
+ * Initials shown when `type` is `text`.
127
239
  * @default 'AB'
128
240
  */
129
241
  "text": string;
130
242
  /**
243
+ * Content: `photo` shows the `src` image, `icon` shows a smiley icon, `text` shows `text` as initials.
131
244
  * @default 'photo'
132
245
  */
133
246
  "type": 'photo' | 'icon' | 'text';
134
247
  }
135
248
  interface DdaBanner {
249
+ /**
250
+ * Accessible name of the scrollable slide region that keyboard users focus to scroll.
251
+ * @default 'Slides'
252
+ */
253
+ "aria_label": string;
254
+ /**
255
+ * CSS height of each slide image, e.g. `220px`.
256
+ */
136
257
  "slider_height": string;
258
+ /**
259
+ * CSS width of each slide image, e.g. `360px`.
260
+ */
137
261
  "slider_width": string;
262
+ /**
263
+ * Slide images. JSON array of `{ image, title }`; `image` is the image URL and `title` its alternative text. Read once, when the component loads.
264
+ */
138
265
  "slides": string;
139
266
  }
140
267
  interface DdaBreadcrumb {
268
+ /**
269
+ * The items, as an array or a JSON string of `{ text, icon?, url? }` objects. The last item is the current page. The `data-breadcrumbs` attribute is still read when this is not set.
270
+ */
271
+ "breadcrumbs"?: string | BreadcrumbItem[];
272
+ /**
273
+ * Theme override class on the wrapper, e.g. `light-mode`.
274
+ */
141
275
  "component_mode"?: string;
142
276
  /**
277
+ * Extra CSS classes added to the inner `<nav>`.
143
278
  * @default ''
144
279
  */
145
280
  "custom_class"?: string;
146
281
  /**
282
+ * What each item shows: `text` (label only), `icon-text` (icon and label) or `icon` (icon only).
147
283
  * @default 'text'
148
284
  */
149
285
  "design": 'text' | 'icon-text' | 'icon';
150
286
  /**
287
+ * Material Symbols icon shown between items: `chevron_right` or `pen_size_2` (a slash).
151
288
  * @default 'chevron_right'
152
289
  */
153
290
  "separator": 'chevron_right' | 'pen_size_2';
154
291
  }
155
292
  interface DdaButton {
156
293
  /**
294
+ * Accessible name. Required when the button shows only an icon.
157
295
  * @default ''
158
296
  */
159
297
  "aria_label"?: string;
160
298
  /**
299
+ * Color variant, e.g. `default-primary`, `default-secondary`, `error-primary`, `onsurface-link`.
161
300
  * @default 'primary'
162
301
  */
163
302
  "button_color": string;
303
+ /**
304
+ * `id` of the inner `<button>`.
305
+ */
164
306
  "button_id": string;
165
307
  /**
308
+ * `name` of the inner `<button>`, submitted with its form.
166
309
  * @default ''
167
310
  */
168
311
  "button_name"?: string;
169
312
  /**
313
+ * Shape: `default` or `circle`.
170
314
  * @default ''
171
315
  */
172
316
  "button_shape"?: string;
173
317
  /**
174
- * Function to be called on button click
318
+ * Click handler, set as a JavaScript property. You can also listen for the native `click` event.
175
319
  */
176
320
  "clickHandler"?: (event: MouseEvent) => void;
321
+ /**
322
+ * Theme override class for the button, e.g. `light-mode`.
323
+ */
177
324
  "component_mode"?: string;
178
325
  /**
326
+ * Extra CSS classes added to the inner `<button>`.
179
327
  * @default ''
180
328
  */
181
329
  "custom_class"?: string;
182
330
  /**
183
- * Disable the button
331
+ * Disables the button.
184
332
  * @default false
185
333
  */
186
334
  "disabled": boolean;
187
335
  /**
336
+ * Material Symbols icon name shown after the label, e.g. `arrow_forward`.
188
337
  * @default ''
189
338
  */
190
339
  "end_icon": string;
340
+ /**
341
+ * Gap between icon and label, as a spacing step: 1–6, 8, 10, 12 or 16.
342
+ */
191
343
  "gap"?: number;
192
344
  /**
345
+ * Shape of an icon-only button: `default` or `circle`.
193
346
  * @default ''
194
347
  */
195
348
  "icon_button_shape"?: string;
349
+ /**
350
+ * Size: `sm`, `md`, `lg` or `xl`.
351
+ */
196
352
  "size"?: string;
197
353
  /**
198
- * Icon class for the starting icon
354
+ * Material Symbols icon name shown before the label, e.g. `arrow_back`.
199
355
  * @default ''
200
356
  */
201
357
  "start_icon": string;
202
358
  /**
203
- * Type of button, e.g., "button", "submit"
359
+ * Native button type: `button`, `submit` or `reset`.
204
360
  * @default 'button'
205
361
  */
206
362
  "type": string;
207
363
  }
208
364
  interface DdaCheckbox {
365
+ /**
366
+ * Accessible name of the inner checkbox input.
367
+ */
209
368
  "aria_label"?: string;
369
+ /**
370
+ * Status: `disabled` shows the disabled style and blocks pointer clicks.
371
+ */
210
372
  "checkbox_status"?: string;
373
+ /**
374
+ * Checked state of the inner input. Read the current state from the input or its `change` event.
375
+ */
211
376
  "checked": boolean;
377
+ /**
378
+ * Theme override class for the checkbox, e.g. `light-mode`.
379
+ */
212
380
  "component_mode"?: string;
213
381
  /**
382
+ * Extra CSS classes added to the checkbox container.
214
383
  * @default ''
215
384
  */
216
385
  "custom_class"?: string;
386
+ /**
387
+ * `name` of the inner checkbox input.
388
+ */
217
389
  "group_name"?: string;
390
+ /**
391
+ * `id` of the inner checkbox input. The label points to it, so set a unique value to make the label clickable.
392
+ */
218
393
  "input_id"?: string;
394
+ /**
395
+ * Size: `sm`, `md` or `lg`.
396
+ */
219
397
  "size"?: string;
398
+ /**
399
+ * Box shape: `square` or `rounded`.
400
+ */
220
401
  "style_type"?: string;
402
+ /**
403
+ * Secondary text shown under the title.
404
+ */
221
405
  "supporting"?: string;
406
+ /**
407
+ * Label shown next to the checkbox.
408
+ */
222
409
  "title_text": string;
223
410
  }
224
411
  interface DdaChip {
225
412
  /**
413
+ * Color: `grey`, `primary`, `green`, `yellow`, `red` or `purple`. Other values, including the default, use the base primary style.
226
414
  * @default 'success'
227
415
  */
228
416
  "bg_color": string;
417
+ /**
418
+ * Click handler for the close button, set as a JavaScript property. The chip does not remove itself.
419
+ */
229
420
  "clickHandler"?: (event: MouseEvent) => void;
421
+ /**
422
+ * Accessible name of the icon-only close button.
423
+ * @default 'Remove'
424
+ */
425
+ "close_button_label": string;
426
+ /**
427
+ * Theme override class for the chip, e.g. `light-mode`.
428
+ */
230
429
  "component_mode"?: string;
430
+ /**
431
+ * Extra CSS classes added to the chip container.
432
+ */
231
433
  "custom_class"?: string;
434
+ /**
435
+ * Material Symbols icon name shown before the label, e.g. `check_circle`.
436
+ */
232
437
  "icon": string;
233
438
  /**
439
+ * Corner radius: `sm`, `md`, `lg` or `circle`.
234
440
  * @default ''
235
441
  */
236
442
  "rounded"?: string;
237
443
  /**
444
+ * Shows a close button after the label. Its accessible name comes from `close_button_label`.
238
445
  * @default false
239
446
  */
240
447
  "show_close_icon": boolean;
448
+ /**
449
+ * Height: `sm` (24px), `md` (26px) or `lg` (32px).
450
+ */
241
451
  "size"?: string;
242
452
  }
243
453
  interface DdaCreditCard {
454
+ /**
455
+ * Balance text shown under the fixed "Current Balance" label, e.g. `AED 5,750.20`.
456
+ */
244
457
  "balance": string;
458
+ /**
459
+ * Card number. Only the last four characters are shown, after `****`. When not set, only `****` is shown.
460
+ */
245
461
  "card_number": string;
462
+ /**
463
+ * URL of the card type image (e.g. a card brand logo) shown at the bottom end of the card. When not set, no image is rendered.
464
+ */
246
465
  "card_type": string;
466
+ /**
467
+ * Theme override class for the card, e.g. `light-mode`.
468
+ */
247
469
  "component_mode"?: string;
248
470
  /**
471
+ * Extra CSS classes added to the card container.
249
472
  * @default ''
250
473
  */
251
474
  "custom_class"?: string;
475
+ /**
476
+ * Background design: `default`, `green` or `dark`.
477
+ */
252
478
  "design": string;
479
+ /**
480
+ * Card holder name.
481
+ */
253
482
  "name": string;
254
483
  }
255
484
  interface DdaCreditcardField {
485
+ /**
486
+ * Accessible name of the input. Use it when there is no visible `label`.
487
+ */
256
488
  "aria_label"?: string;
257
489
  /**
490
+ * `autocomplete` token of the input. Defaults to `cc-number`.
258
491
  * @default 'cc-number'
259
492
  */
260
493
  "autocomplete": string;
494
+ /**
495
+ * URL of an image shown at the start of the input, e.g. a card brand logo.
496
+ */
261
497
  "card_icon": string;
498
+ /**
499
+ * Theme override class for the field, e.g. `light-mode`.
500
+ */
262
501
  "component_mode"?: string;
263
502
  /**
503
+ * Extra CSS classes added to the field container.
264
504
  * @default ''
265
505
  */
266
506
  "custom_class"?: string;
267
507
  /**
508
+ * Disables the input and applies the disabled look.
268
509
  * @default false
269
510
  */
270
511
  "disabled": boolean;
512
+ /**
513
+ * Error text shown below the input. Also sets `aria-invalid="true"` on the input.
514
+ */
271
515
  "error_message": string;
516
+ /**
517
+ * Helper text shown below the input. Linked by `aria-describedby`.
518
+ */
272
519
  "helper_text": string;
520
+ /**
521
+ * `id` of the inner `<input>`. Also used to link the label, helper text and error message. Optional: an id is generated when it is not set.
522
+ */
273
523
  "input_id": string;
524
+ /**
525
+ * `name` of the inner `<input>`, submitted with its form.
526
+ */
274
527
  "input_name"?: string;
528
+ /**
529
+ * Adds the class `dda-input-<value>`. `disabled` gives only the disabled look; use `disabled` to disable the input.
530
+ */
275
531
  "input_type"?: string;
532
+ /**
533
+ * Label text shown above the input. Linked to the input through `input_id` (or a generated id).
534
+ */
276
535
  "label": string;
536
+ /**
537
+ * Placeholder text of the input, e.g. `0000 - 0000 - 0000 - 0000`.
538
+ */
277
539
  "placeholder": string;
278
540
  /**
541
+ * Sets the input `maxlength`: 25 characters when `false` (16 digits with separators), 100 when `true`.
279
542
  * @default false
280
543
  */
281
544
  "restrict_input": boolean;
545
+ /**
546
+ * Size: `default` or `small`.
547
+ */
282
548
  "size"?: string;
549
+ /**
550
+ * Validation state: `error` applies the error colors.
551
+ */
283
552
  "validation_type"?: string;
284
553
  /**
554
+ * Card number. Shown as groups of four digits separated by ` - `; the component updates it as the user types. Mutable: the component assigns it.
285
555
  * @default ''
286
556
  */
287
557
  "value": string;
288
558
  }
289
559
  interface DdaDropdown {
560
+ /**
561
+ * Accessible name of the dropdown button. Set it when `icon_mode` is on.
562
+ */
290
563
  "aria_label"?: string;
564
+ /**
565
+ * `name` of the dropdown button that opens the list.
566
+ */
291
567
  "arrow_button_name"?: string;
568
+ /**
569
+ * `id` of the dropdown button. The label id is built from it. When it is not set, the component generates a unique id.
570
+ */
292
571
  "button_id": string;
572
+ /**
573
+ * Theme override class for the dropdown, e.g. `light-mode`.
574
+ */
293
575
  "component_mode"?: string;
294
576
  /**
577
+ * Extra CSS classes added to the dropdown container.
295
578
  * @default ''
296
579
  */
297
580
  "custom_class"?: string;
298
581
  /**
582
+ * Disables the dropdown: the list does not open and options cannot be picked.
299
583
  * @default false
300
584
  */
301
585
  "disabled": boolean;
586
+ /**
587
+ * `name` of each option button in the list.
588
+ */
302
589
  "dropdown_button_name"?: string;
590
+ /**
591
+ * Error text shown under the dropdown.
592
+ */
303
593
  "error": string;
594
+ /**
595
+ * Helper text shown under the dropdown.
596
+ */
304
597
  "helper_text": string;
305
598
  /**
599
+ * Shows only the three-dots icon, without the selected text and arrow.
306
600
  * @default false
307
601
  */
308
602
  "icon_mode": boolean;
603
+ /**
604
+ * Label shown above the dropdown. The dropdown button is named by the label and its current text.
605
+ */
309
606
  "label": string;
607
+ /**
608
+ * Options as a JSON array string, e.g. `'["Edit","Download","Delete"]'`. Invalid JSON shows "No options available".
609
+ */
310
610
  "options": string;
611
+ /**
612
+ * The selected option. Must match an entry in `options`. The button shows "Select an option" when it is empty. Updated when the user picks an option. Mutable: the component assigns it.
613
+ */
311
614
  "selected": string;
312
615
  /**
616
+ * Size: `medium` or `small`.
313
617
  * @default 'medium'
314
618
  */
315
619
  "size": 'small' | 'medium';
316
620
  /**
621
+ * Accessible name of the dropdown button in `icon_mode` when `aria_label` and `label` are not set.
622
+ * @default 'Show options'
623
+ */
624
+ "toggle_button_label"?: string;
625
+ /**
626
+ * Button background: `bg-white` (field style) or `bg-transparent` (no border, background or padding).
317
627
  * @default 'bg-white'
318
628
  */
319
629
  "type": 'bg-transparent' | 'bg-white';
320
630
  }
321
631
  interface DdaFooter {
632
+ /**
633
+ * Copyright text in the bottom row.
634
+ */
322
635
  "copyrightText": string;
636
+ /**
637
+ * Paragraph under `footerTitle`.
638
+ */
323
639
  "description": string;
640
+ /**
641
+ * Link columns. JSON array of `{ title, links: [{ label, href }] }`.
642
+ */
324
643
  "footerSections": string;
644
+ /**
645
+ * Heading of the call-to-action area at the top of the footer.
646
+ */
325
647
  "footerTitle": string;
648
+ /**
649
+ * Heading level (1 to 6) of `footerTitle`, to fit the page's heading order. Default: `4`.
650
+ * @default 4
651
+ */
652
+ "heading_level": number;
653
+ /**
654
+ * Label of the tertiary (Login) button. The button has no link or action.
655
+ */
326
656
  "loginButtonText": string;
657
+ /**
658
+ * Alternative text for the footer logo.
659
+ */
327
660
  "logoAlt": string;
661
+ /**
662
+ * Short text shown under the footer logo. Nothing is shown when it is not set.
663
+ */
664
+ "logoDescription": string;
665
+ /**
666
+ * Image URL of the footer logo.
667
+ */
328
668
  "logoSrc": string;
669
+ /**
670
+ * Label of the primary (Sign up) button. The button has no link or action.
671
+ */
329
672
  "signUpButtonText": string;
673
+ /**
674
+ * Social links in the bottom row. JSON array of `{ href, src, alt }`, where `src` is an image URL.
675
+ */
330
676
  "socialIcons": string;
331
677
  }
332
678
  interface DdaHeader {
679
+ /**
680
+ * `name` attribute of the accessibility button in the side menu.
681
+ */
333
682
  "accessibility_button_name": string;
683
+ /**
684
+ * `name` attribute of the buttons that close the accessibility panel.
685
+ */
334
686
  "close_accessibility_button_name": string;
687
+ /**
688
+ * `name` attribute of the button that closes the side menu.
689
+ */
335
690
  "close_menu_button_name": string;
691
+ /**
692
+ * Not used: the current markup does not render an element with this name.
693
+ */
336
694
  "close_sidebar_button_name": string;
695
+ /**
696
+ * Alternative text for the first logo.
697
+ */
337
698
  "firstLogoAlt": string;
699
+ /**
700
+ * Link URL of the first logo in the header and the side menu. Default: `/`.
701
+ * @default '/'
702
+ */
703
+ "firstLogoHref": string;
704
+ /**
705
+ * Image URL of the first (government) logo, on the left of the header and in the side menu.
706
+ */
338
707
  "firstLogoSrc": string;
708
+ /**
709
+ * Image URL of the white first logo, shown in dark theme and on a transparent header (`<body class="transparent">`). Falls back to `firstLogoSrc`.
710
+ */
339
711
  "firstLogoWhiteSrc": string;
712
+ /**
713
+ * `name` attribute of the hamburger menu button.
714
+ */
340
715
  "hamburger_menu_button_name": string;
716
+ /**
717
+ * `name` attribute of the language button in the side menu.
718
+ */
341
719
  "language_button_name": string;
720
+ /**
721
+ * `lang` attribute of the language buttons, the language of `language_text`. Default: `ar`.
722
+ * @default 'ar'
723
+ */
724
+ "language_lang": string;
725
+ /**
726
+ * Label of the language buttons in the desktop toolbar and the side menu. Default: `العربية`.
727
+ */
342
728
  "language_text": string;
729
+ /**
730
+ * Material Symbols icon name of the Login link in the side menu. Default: `sentiment_satisfied`.
731
+ */
343
732
  "loginIcon": string;
733
+ /**
734
+ * URL of the Login link in the toolbar and the side menu.
735
+ */
344
736
  "loginLink": string;
737
+ /**
738
+ * Label of the Login link in the side menu. Default: `Login`.
739
+ */
345
740
  "loginText": string;
741
+ /**
742
+ * Accessible name of the hamburger menu button (visually hidden text). Default: `Menu`.
743
+ * @default 'Menu'
744
+ */
745
+ "menu_button_label": string;
746
+ /**
747
+ * Main navigation links. JSON array of `{ label, href, menuLabel, subMenu }`; `subMenu` items are `{ title, description, icon, href }` and open a mega menu.
748
+ */
346
749
  "quickLinks": string;
750
+ /**
751
+ * URL of the ReadSpeaker "listen" link in the accessibility panel.
752
+ */
347
753
  "readSpeakerLink": string;
754
+ /**
755
+ * Placeholder and accessible label of the search input. Default: `Search`.
756
+ */
348
757
  "searchText": string;
758
+ /**
759
+ * Results page URL. When set, a search does a GET to this URL with the query in `search_input_name` (default `q`).
760
+ */
761
+ "search_action": string;
762
+ /**
763
+ * `name` attribute of the mobile search button.
764
+ */
349
765
  "search_button_name": string;
766
+ /**
767
+ * `name` of the search input, which is the query parameter sent to `search_action`. Default: `q`.
768
+ */
350
769
  "search_input_name": string;
770
+ /**
771
+ * Alternative text for the second logo.
772
+ */
351
773
  "secondLogoAlt": string;
774
+ /**
775
+ * Link URL of the second logo on desktop and mobile. Default: `/`.
776
+ * @default '/'
777
+ */
778
+ "secondLogoHref": string;
779
+ /**
780
+ * Image URL of the second (entity) logo.
781
+ */
352
782
  "secondLogoSrc": string;
783
+ /**
784
+ * Image URL of the white second logo, shown in dark theme and on a transparent header. Falls back to `secondLogoSrc` on desktop.
785
+ */
353
786
  "secondLogoWhiteSrc": string;
787
+ /**
788
+ * Side menu items. JSON array of `{ label, href, subMenu }`; each `subMenu` item is `{ headerLabel, label, href, subMenu }` and can nest.
789
+ */
354
790
  "sideMenuItems": string;
791
+ /**
792
+ * `name` attribute of the accessibility button in the desktop toolbar.
793
+ */
355
794
  "toggle_accessibility_button_name": string;
356
795
  }
357
796
  interface DdaHomeBanner {
@@ -402,271 +841,616 @@ export namespace Components {
402
841
  "slide_status_label": string;
403
842
  }
404
843
  interface DdaHorizontalStepper {
844
+ /**
845
+ * Theme override class on the stepper container, e.g. `light-mode`.
846
+ */
405
847
  "component_mode"?: string;
406
848
  /**
849
+ * Index of the active step, from 0. Steps before it show as completed.
407
850
  * @default 1
408
851
  */
409
852
  "current_step": number;
853
+ /**
854
+ * Extra CSS classes added to the stepper container.
855
+ */
410
856
  "custom_class"?: string;
857
+ /**
858
+ * Steps, as a JSON string array of `{ title, subtitle, description }` objects.
859
+ */
411
860
  "steps": string;
412
861
  }
413
862
  interface DdaInput {
863
+ /**
864
+ * Accessible name of the inner `<input>`. Use it when there is no visible label.
865
+ */
414
866
  "aria_label"?: string;
415
- "component_mode"?: string;
867
+ /**
868
+ * Theme override class for the field, e.g. `light-mode`.
869
+ */
870
+ "component_mode"?: string;
871
+ /**
872
+ * Extra CSS classes added to the field container.
873
+ */
416
874
  "custom_class"?: string;
875
+ /**
876
+ * Error text shown below the input. When set, the input gets `aria-invalid="true"`.
877
+ */
417
878
  "error_message": string;
879
+ /**
880
+ * Helper text shown below the input and linked with `aria-describedby`.
881
+ */
418
882
  "helper_text": string;
883
+ /**
884
+ * `id` of the inner `<input>`. Also used for the label `for` and the helper and error text ids. Optional: an id is generated when it is not set.
885
+ */
419
886
  "input_id": string;
887
+ /**
888
+ * `name` of the inner `<input>`, submitted with its form.
889
+ */
420
890
  "input_name"?: string;
891
+ /**
892
+ * Status style. `disabled` shows the disabled styling only; it does not set the native `disabled` attribute.
893
+ */
421
894
  "input_status"?: string;
895
+ /**
896
+ * Visible label text, linked to the input through `input_id` (or a generated id).
897
+ */
422
898
  "label": string;
899
+ /**
900
+ * Placeholder text of the inner `<input>`.
901
+ */
423
902
  "placeholder": string;
903
+ /**
904
+ * Size. `small` shows a smaller field; omit for the default size.
905
+ */
424
906
  "size"?: string;
425
907
  /**
908
+ * Native input type, e.g. `text`, `password`, `email`, `number`, `date` or `time`. The legacy values `Witherror` and `disabled` only apply the error or disabled styling.
426
909
  * @default 'text'
427
910
  */
428
911
  "type": string;
912
+ /**
913
+ * Validation style. `error` shows the error colors.
914
+ */
429
915
  "validation_type"?: string;
916
+ /**
917
+ * Value of the inner `<input>`. Updates as the user types.
918
+ */
430
919
  "value": string;
431
920
  }
432
921
  interface DdaLinkButton {
433
922
  /**
923
+ * Accessible name of the link. Required when the link shows only an icon.
434
924
  * @default ''
435
925
  */
436
926
  "aria_label"?: string;
437
927
  /**
928
+ * Color variant, e.g. `default-primary`, `default-secondary`, `error-primary`, `onsurface-link` or `disabled`.
438
929
  * @default 'primary'
439
930
  */
440
931
  "button_color": string;
932
+ /**
933
+ * `id` of the inner `<a>`.
934
+ */
441
935
  "button_id": string;
442
936
  /**
937
+ * Shape: `default` or `circle`.
443
938
  * @default ''
444
939
  */
445
940
  "button_shape"?: string;
941
+ /**
942
+ * Theme override class for the link, e.g. `light-mode`.
943
+ */
446
944
  "component_mode"?: string;
447
945
  /**
946
+ * Extra CSS classes added to the inner `<a>`.
448
947
  * @default ''
449
948
  */
450
949
  "custom_class"?: string;
451
950
  /**
452
- * Disable the button
951
+ * Not used: the link stays active. For a disabled look, set `button_color` to `disabled`.
453
952
  * @default false
454
953
  */
455
954
  "disabled": boolean;
456
955
  /**
956
+ * Material Symbols icon name shown after the label, e.g. `arrow_forward`.
457
957
  * @default ''
458
958
  */
459
959
  "end_icon": string;
960
+ /**
961
+ * Gap between icon and label, as a spacing step: 1–6, 8, 10, 12 or 16.
962
+ */
460
963
  "gap"?: number;
461
964
  /**
965
+ * URL the link opens.
462
966
  * @default '#'
463
967
  */
464
968
  "href"?: string;
465
969
  /**
970
+ * Shape of an icon-only link: `default` or `circle`.
466
971
  * @default ''
467
972
  */
468
973
  "icon_button_shape"?: string;
974
+ /**
975
+ * Size: `sm`, `md`, `lg` or `xl`.
976
+ */
469
977
  "size"?: string;
470
978
  /**
471
- * Icon class for the starting icon
979
+ * Material Symbols icon name shown before the label, e.g. `arrow_back`.
472
980
  * @default ''
473
981
  */
474
982
  "start_icon": string;
475
983
  /**
476
- * Type of button, e.g., "button", "submit"
984
+ * Not used: the component renders an `<a>` link, which has no `type`.
477
985
  * @default 'button'
478
986
  */
479
987
  "type": string;
480
988
  }
481
989
  interface DdaNumberField {
990
+ /**
991
+ * Accessible name of the amount input. Use it when there is no visible label.
992
+ */
482
993
  "aria_label"?: string;
994
+ /**
995
+ * Theme override class for the field, e.g. `light-mode`.
996
+ */
483
997
  "component_mode"?: string;
998
+ /**
999
+ * Currency options for the dropdown, as a JSON array string, e.g. `'["AED","USD"]'`.
1000
+ */
484
1001
  "currencies": string;
1002
+ /**
1003
+ * `name` of each currency option button.
1004
+ */
485
1005
  "currency_button_name"?: string;
486
1006
  /**
1007
+ * Extra CSS classes added to the field container.
487
1008
  * @default ''
488
1009
  */
489
1010
  "custom_class"?: string;
1011
+ /**
1012
+ * Error text shown below the field. When set, the input gets `aria-invalid="true"`.
1013
+ */
490
1014
  "error_message": string;
1015
+ /**
1016
+ * Helper text shown below the field and linked with `aria-describedby`.
1017
+ */
491
1018
  "helper_text": string;
1019
+ /**
1020
+ * `id` of the amount input. Also used for the label `for` and the helper and error text ids. Optional: an id is generated when it is not set.
1021
+ */
492
1022
  "input_id": string;
1023
+ /**
1024
+ * `name` of the amount input, submitted with its form.
1025
+ */
493
1026
  "input_name"?: string;
1027
+ /**
1028
+ * Status style. `disabled` shows the disabled styling only; it does not set the native `disabled` attribute.
1029
+ */
494
1030
  "input_status"?: string;
1031
+ /**
1032
+ * Visible label text, linked to the amount input through `input_id` (or a generated id).
1033
+ */
495
1034
  "label": string;
1035
+ /**
1036
+ * Placeholder text of the amount input.
1037
+ */
496
1038
  "placeholder": string;
497
1039
  /**
1040
+ * Currency shown on the dropdown button. Updates when the user picks a currency.
498
1041
  * @default 'USD'
499
1042
  */
500
1043
  "selected_currency": string;
1044
+ /**
1045
+ * Size. `small` shows a smaller field; omit for the default size.
1046
+ */
501
1047
  "size"?: string;
1048
+ /**
1049
+ * Accessible name of the currency dropdown button; the selected currency is added after it.
1050
+ * @default 'Choose currency'
1051
+ */
1052
+ "toggle_button_label"?: string;
1053
+ /**
1054
+ * `name` of the currency dropdown button.
1055
+ */
502
1056
  "toggle_button_name"?: string;
1057
+ /**
1058
+ * Validation style. `error` shows the error colors.
1059
+ */
503
1060
  "validation_type"?: string;
1061
+ /**
1062
+ * Initial value of the amount input. Characters other than digits and `.` are removed as the user types.
1063
+ */
504
1064
  "value": string;
505
1065
  }
506
1066
  interface DdaPagination {
1067
+ /**
1068
+ * `name` of the next page button when `type` is `button-text`.
1069
+ */
507
1070
  "button_text_next_button": string;
1071
+ /**
1072
+ * `name` of the previous page button when `type` is `button-text`.
1073
+ */
508
1074
  "button_text_prev_button": string;
1075
+ /**
1076
+ * `name` of the next page button when `type` is `buttons`.
1077
+ */
509
1078
  "buttons_next_button": string;
1079
+ /**
1080
+ * `name` of the next page button when `type` is `buttons-pages`.
1081
+ */
510
1082
  "buttons_pages_next_button": string;
1083
+ /**
1084
+ * `name` of the previous page button when `type` is `buttons-pages`.
1085
+ */
511
1086
  "buttons_pages_prev_button": string;
1087
+ /**
1088
+ * `name` of the previous page button when `type` is `buttons`.
1089
+ */
512
1090
  "buttons_prev_button": string;
1091
+ /**
1092
+ * Theme override class on the pagination element, e.g. `light-mode`.
1093
+ */
513
1094
  "component_mode"?: string;
514
1095
  /**
1096
+ * Selected page, counted from 1. Kept between 1 and `total_pages`; updates when the user changes the page. Mutable: the component assigns it.
515
1097
  * @default 1
516
1098
  */
517
1099
  "current_page": number;
518
1100
  /**
1101
+ * Extra CSS classes added to the pagination element.
519
1102
  * @default ''
520
1103
  */
521
1104
  "custom_class": string;
1105
+ /**
1106
+ * Accessible name of the icon-only next page button (`text`, `text-pages`, `button-text` and `buttons-pages` layouts).
1107
+ * @default 'Next page'
1108
+ */
1109
+ "next_button_label": string;
1110
+ /**
1111
+ * Accessible name of the icon-only previous page button (`text`, `text-pages`, `button-text` and `buttons-pages` layouts).
1112
+ * @default 'Previous page'
1113
+ */
1114
+ "previous_button_label": string;
1115
+ /**
1116
+ * `name` of the next page button when `type` is `simple-slider`.
1117
+ */
522
1118
  "simple_slider_next_button": string;
1119
+ /**
1120
+ * `name` of the previous page button when `type` is `simple-slider`.
1121
+ */
523
1122
  "simple_slider_prev_button": string;
1123
+ /**
1124
+ * `name` of the next page button when `type` is `text`.
1125
+ */
524
1126
  "text_next_button": string;
1127
+ /**
1128
+ * `name` of the next page button when `type` is `text-pages`.
1129
+ */
525
1130
  "text_pages_next_button": string;
1131
+ /**
1132
+ * `name` of the previous page button when `type` is `text-pages`.
1133
+ */
526
1134
  "text_pages_prev_button": string;
1135
+ /**
1136
+ * `name` of the previous page button when `type` is `text`.
1137
+ */
527
1138
  "text_prev_button": string;
528
1139
  /**
1140
+ * Number of pages. Values below 1 become 1. Mutable: the component corrects out-of-range values.
529
1141
  * @default 8
530
1142
  */
531
1143
  "total_pages": number;
532
1144
  /**
1145
+ * Layout: `simple-slider`, `buttons`, `text`, `text-pages`, `button-text`, `buttons-pages` or `full`.
533
1146
  * @default 'simple-slider'
534
1147
  */
535
1148
  "type": 'simple-slider' | 'buttons' | 'text' | 'text-pages' | 'button-text' | 'buttons-pages' | 'full';
536
1149
  }
537
1150
  interface DdaPhonefield {
1151
+ /**
1152
+ * Accessible name of the phone input. Use it when there is no visible label.
1153
+ */
538
1154
  "aria_label": string;
539
1155
  /**
540
- * @default 'tel'
1156
+ * `autocomplete` token of the phone input. Defaults to `tel-national`, because the country code is chosen separately.
1157
+ * @default 'tel-national'
541
1158
  */
542
1159
  "autocomplete": string;
1160
+ /**
1161
+ * Accessible name set on each country option button in the open list.
1162
+ */
543
1163
  "button_aria_label": string;
1164
+ /**
1165
+ * Prefix of the country option button ids in the open list. Each option gets `<button_id>-<index>`. When it is not set, the prefix comes from the input id.
1166
+ */
544
1167
  "button_id"?: string;
1168
+ /**
1169
+ * Theme override class for the field, e.g. `light-mode`.
1170
+ */
545
1171
  "component_mode"?: string;
1172
+ /**
1173
+ * `name` of each country option button.
1174
+ */
546
1175
  "country_select_button_name": string;
1176
+ /**
1177
+ * Extra CSS classes added to the field container.
1178
+ */
547
1179
  "custom_class": string;
548
1180
  /**
1181
+ * Disables the phone input and shows the disabled styling.
549
1182
  * @default false
550
1183
  */
551
1184
  "disabled": boolean;
1185
+ /**
1186
+ * Error text shown below the field. When set, the input gets `aria-invalid="true"`.
1187
+ */
552
1188
  "error_message": string;
1189
+ /**
1190
+ * Helper text shown below the field. Hidden when `validation_type` is set.
1191
+ */
553
1192
  "helper_text": string;
1193
+ /**
1194
+ * `id` of the phone input. Also used for the label `for` and the helper and error text ids. When it is not set, the component generates a unique id.
1195
+ */
554
1196
  "input_id"?: string;
1197
+ /**
1198
+ * Visible label text, linked to the phone input through `input_id`.
1199
+ */
555
1200
  "label": string;
1201
+ /**
1202
+ * `name` of the phone input, submitted with its form.
1203
+ */
556
1204
  "phone_input_name": string;
557
1205
  /**
1206
+ * Placeholder text of the phone input.
558
1207
  * @default 'Enter phone number'
559
1208
  */
560
1209
  "placeholder": string;
1210
+ /**
1211
+ * Size. `small` shows a smaller field; omit for the default size.
1212
+ */
561
1213
  "size"?: string;
1214
+ /**
1215
+ * Accessible name of the country code dropdown button; the selected code is added after it.
1216
+ * @default 'Choose country code'
1217
+ */
1218
+ "toggle_button_label": string;
1219
+ /**
1220
+ * `name` of the country code dropdown button.
1221
+ */
562
1222
  "toggle_button_name": string;
1223
+ /**
1224
+ * Validation style. `error` shows the error colors. Any value hides `helper_text`.
1225
+ */
563
1226
  "validation_type"?: string;
564
1227
  }
565
1228
  interface DdaProgressbar {
566
1229
  /**
1230
+ * Accessible name of the progress bar.
567
1231
  * @default 'Progress'
568
1232
  */
569
1233
  "aria_label": string;
1234
+ /**
1235
+ * Theme override class for the progress bar, e.g. `light-mode`.
1236
+ */
570
1237
  "component_mode"?: string;
1238
+ /**
1239
+ * Extra CSS classes added to the progress bar container.
1240
+ */
571
1241
  "custom_class": string;
572
1242
  /**
1243
+ * Progress in percent, from 0 to 100. Sets the bar width and `aria-valuenow`.
573
1244
  * @default 0
574
1245
  */
575
1246
  "progress": number;
576
1247
  /**
1248
+ * Shows the percentage as text after the bar.
577
1249
  * @default false
578
1250
  */
579
1251
  "show_percentage_text": boolean;
580
1252
  /**
1253
+ * Shows the percentage in a tooltip at the end of the filled bar.
581
1254
  * @default false
582
1255
  */
583
1256
  "tooltip": boolean;
584
1257
  /**
1258
+ * Tooltip position: `top` or `bottom`.
585
1259
  * @default 'top'
586
1260
  */
587
1261
  "tooltip_position": 'top' | 'bottom';
588
1262
  }
589
1263
  interface DdaRadiobutton {
1264
+ /**
1265
+ * Accessible name of the inner radio input.
1266
+ */
590
1267
  "aria_label"?: string;
1268
+ /**
1269
+ * Checked state of the inner input. Read the current state from the input or its `change` event.
1270
+ */
591
1271
  "checked": boolean;
1272
+ /**
1273
+ * Theme override class for the radio button, e.g. `light-mode`.
1274
+ */
592
1275
  "component_mode"?: string;
593
1276
  /**
1277
+ * Extra class suffix. The value is added as `dda-radio-<value>` on the container.
594
1278
  * @default ''
595
1279
  */
596
1280
  "custom_class"?: string;
1281
+ /**
1282
+ * `name` of the inner radio input. Give all radio buttons in one group the same value.
1283
+ */
597
1284
  "group_name"?: string;
1285
+ /**
1286
+ * `id` of the inner radio input. The label points to it, so set a unique value to make the label clickable.
1287
+ */
598
1288
  "input_id"?: string;
1289
+ /**
1290
+ * Status: `disabled` shows the disabled style and blocks pointer clicks.
1291
+ */
599
1292
  "radio_status"?: string;
1293
+ /**
1294
+ * Size: `sm`, `md` or `lg`.
1295
+ */
600
1296
  "size"?: string;
1297
+ /**
1298
+ * Secondary text shown under the title.
1299
+ */
601
1300
  "supporting"?: string;
1301
+ /**
1302
+ * Label shown next to the radio button.
1303
+ */
602
1304
  "title_text": string;
1305
+ /**
1306
+ * Style variant: `outlined` or `faded`. Leave empty (or `normal`) for the default style.
1307
+ */
603
1308
  "variants"?: string;
604
1309
  }
605
1310
  interface DdaRangeSlider {
1311
+ /**
1312
+ * Theme override class for the slider, e.g. `light-mode`.
1313
+ */
606
1314
  "component_mode"?: string;
607
1315
  /**
1316
+ * Extra CSS classes added to the slider container.
608
1317
  * @default ''
609
1318
  */
610
1319
  "custom_class"?: string;
611
1320
  /**
1321
+ * Start value of the upper (right) handle. Read only when the component loads.
612
1322
  * @default 100
613
1323
  */
614
1324
  "initial_max": number;
615
1325
  /**
1326
+ * Start value of the lower (left) handle. Read only when the component loads.
616
1327
  * @default 0
617
1328
  */
618
1329
  "initial_min": number;
1330
+ /**
1331
+ * Accessible name of the lower (left) range input, e.g. `Minimum amount`. When it is empty, the name is `Minimum`.
1332
+ */
619
1333
  "left_aria_label"?: string;
1334
+ /**
1335
+ * `id` of the lower (left) range input. When it is not set, the component generates a unique id.
1336
+ */
620
1337
  "left_input_id": string;
1338
+ /**
1339
+ * `name` of the lower (left) range input, submitted with its form.
1340
+ */
621
1341
  "left_input_name": string;
622
1342
  /**
1343
+ * Highest value of the range.
623
1344
  * @default 100
624
1345
  */
625
1346
  "max": number;
626
1347
  /**
1348
+ * Lowest value of the range.
627
1349
  * @default 0
628
1350
  */
629
1351
  "min": number;
1352
+ /**
1353
+ * Accessible name of the upper (right) range input, e.g. `Maximum amount`. When it is empty, the name is `Maximum`.
1354
+ */
630
1355
  "right_aria_label"?: string;
1356
+ /**
1357
+ * `id` of the upper (right) range input. When it is not set, the component generates a unique id.
1358
+ */
631
1359
  "right_input_id": string;
1360
+ /**
1361
+ * `name` of the upper (right) range input, submitted with its form.
1362
+ */
632
1363
  "right_input_name": string;
1364
+ /**
1365
+ * Not used by the current version; it has no effect.
1366
+ */
633
1367
  "size"?: string;
634
1368
  /**
1369
+ * Step between selectable values.
635
1370
  * @default 1
636
1371
  */
637
1372
  "step": number;
1373
+ /**
1374
+ * Value labels shown as tooltips: `top` or `bottom`. Without it, plain labels show below the track.
1375
+ */
638
1376
  "tooltip_position"?: string;
639
1377
  }
640
1378
  interface DdaSearchInput {
1379
+ /**
1380
+ * Accessible name of the search input. Use it when there is no visible label.
1381
+ */
641
1382
  "aria_label"?: string;
1383
+ /**
1384
+ * Accessible name of the clear button, e.g. `Clear search`.
1385
+ */
642
1386
  "button_aria_label"?: string;
1387
+ /**
1388
+ * `id` of the clear button.
1389
+ */
643
1390
  "button_id"?: string;
1391
+ /**
1392
+ * Accessible name of the clear button. `button_aria_label` wins when set.
1393
+ * @default 'Clear search'
1394
+ */
1395
+ "clear_button_label": string;
1396
+ /**
1397
+ * `name` of the clear button.
1398
+ */
644
1399
  "close_button_name": string;
1400
+ /**
1401
+ * Theme override class for the field, e.g. `light-mode`.
1402
+ */
645
1403
  "component_mode"?: string;
646
1404
  /**
1405
+ * Extra CSS classes added to the field container.
647
1406
  * @default ''
648
1407
  */
649
1408
  "custom_class"?: string;
1409
+ /**
1410
+ * Error text shown below the field. When set, the input gets `aria-invalid="true"`.
1411
+ */
650
1412
  "error_message": string;
651
1413
  /**
1414
+ * Shows the error colors.
652
1415
  * @default false
653
1416
  */
654
1417
  "has_error": boolean;
1418
+ /**
1419
+ * Helper text shown below the field and linked with `aria-describedby`.
1420
+ */
655
1421
  "helper_text": string;
1422
+ /**
1423
+ * `id` of the search input. Also used for the label `for` and the helper and error text ids. Optional: an id is generated when it is not set.
1424
+ */
656
1425
  "input_id"?: string;
1426
+ /**
1427
+ * Status style. `disabled` shows the disabled styling only; it does not set the native `disabled` attribute.
1428
+ */
657
1429
  "input_status"?: string;
1430
+ /**
1431
+ * Visible label text, linked to the search input through `input_id` (or a generated id).
1432
+ */
658
1433
  "label": string;
659
1434
  /**
1435
+ * Placeholder text of the search input.
660
1436
  * @default 'Search'
661
1437
  */
662
1438
  "placeholder": string;
1439
+ /**
1440
+ * `name` of the "Search" button.
1441
+ */
663
1442
  "search_button_name": string;
1443
+ /**
1444
+ * `name` of the search input, submitted with its form.
1445
+ */
664
1446
  "search_input_name": string;
665
1447
  /**
1448
+ * Shows a "Search" button after the clear button.
666
1449
  * @default false
667
1450
  */
668
1451
  "show_button": boolean;
669
1452
  /**
1453
+ * Size. `small` shows a smaller field; other values show the default size.
670
1454
  * @default 'sm'
671
1455
  */
672
1456
  "size": string;
@@ -676,210 +1460,510 @@ export namespace Components {
676
1460
  * Accessible name for the group (applied as aria-label on the group container).
677
1461
  */
678
1462
  "aria_label": string;
1463
+ /**
1464
+ * `name` set on every segment button.
1465
+ */
679
1466
  "button_name": string;
1467
+ /**
1468
+ * Theme override class on the group, e.g. `light-mode`.
1469
+ */
680
1470
  "component_mode"?: string;
1471
+ /**
1472
+ * Extra CSS classes added to the group.
1473
+ */
681
1474
  "custom_class": string;
1475
+ /**
1476
+ * Accessible names for icon-only segments, as a JSON string array in the same order as `items`, e.g. `'["Align left", "Align center"]'`.
1477
+ */
1478
+ "icon_labels"?: string;
1479
+ /**
1480
+ * Segments, as a JSON string array, e.g. `'["All", "Pending", "Approved"]'`. A missing or invalid value renders no segments. An item that starts with `fo` renders as a Material Symbols icon name (e.g. `format_align_left`).
1481
+ */
682
1482
  "items": string;
1483
+ /**
1484
+ * Corner shape of the group: `square` or `rounded`.
1485
+ */
683
1486
  "radius_type": string;
684
1487
  /**
685
- * Index of the segment selected by default. Clamped to a valid item index.
1488
+ * Index of the selected segment, from 0. Changing it after load moves the selection. An out-of-range value selects the first segment.
686
1489
  * @default 0
687
1490
  */
688
1491
  "selected_index": number;
689
1492
  }
690
1493
  interface DdaSelect {
1494
+ /**
1495
+ * Accessible name of the trigger button and the option list. The list falls back to `label`.
1496
+ */
691
1497
  "aria_label"?: string;
1498
+ /**
1499
+ * `id` of the trigger button. Also used to build the ids of the label, list, helper text and error message, so keep it unique. When it is not set, the component generates a unique id.
1500
+ */
692
1501
  "button_id": string;
1502
+ /**
1503
+ * Theme override class for the field, e.g. `light-mode`.
1504
+ */
693
1505
  "component_mode"?: string;
694
1506
  /**
1507
+ * Extra CSS classes added to the field container.
695
1508
  * @default ''
696
1509
  */
697
1510
  "custom_class"?: string;
698
1511
  /**
1512
+ * Disables the select: the list does not open and options cannot be picked.
699
1513
  * @default false
700
1514
  */
701
1515
  "disabled": boolean;
1516
+ /**
1517
+ * Validation state. `error` shows the error styling.
1518
+ */
702
1519
  "error"?: string;
1520
+ /**
1521
+ * Error text shown under the field. Also sets `aria-invalid` on the trigger.
1522
+ */
703
1523
  "error_message": string;
1524
+ /**
1525
+ * Helper text shown under the field.
1526
+ */
704
1527
  "helper_text": string;
1528
+ /**
1529
+ * Label shown above the field. The trigger button is named by the label and its current text.
1530
+ */
705
1531
  "label": string;
1532
+ /**
1533
+ * `name` of each option button in the list.
1534
+ */
706
1535
  "option_select_button_name": string;
1536
+ /**
1537
+ * Options as a JSON array string, e.g. `'["Dubai","Abu Dhabi","Sharjah"]'`. Invalid JSON shows "No options available".
1538
+ */
707
1539
  "options": string;
1540
+ /**
1541
+ * The selected option. Must match an entry in `options`. The trigger shows "Select an option" when it is empty. Updated when the user picks an option. Mutable: the component assigns it.
1542
+ */
708
1543
  "selected": string;
1544
+ /**
1545
+ * Field size. `small` gives the compact field; leave empty for the default size.
1546
+ */
709
1547
  "size"?: string;
1548
+ /**
1549
+ * `name` of the trigger button.
1550
+ */
710
1551
  "toggle_button_name": string;
711
1552
  }
712
1553
  interface DdaStickyFooter {
1554
+ /**
1555
+ * Alternative text for the accessibility icon.
1556
+ */
713
1557
  "accessibilityIconAlt": string;
1558
+ /**
1559
+ * Link URL of the accessibility icon, the second icon in the left section.
1560
+ */
714
1561
  "accessibilityIconHref": string;
1562
+ /**
1563
+ * Image URL of the accessibility icon.
1564
+ */
715
1565
  "accessibilityIconSrc": string;
1566
+ /**
1567
+ * Tooltip text of the accessibility icon.
1568
+ */
716
1569
  "accessibilityIconTooltip": string;
1570
+ /**
1571
+ * Alternative text for the AI assistant icon.
1572
+ */
717
1573
  "aiIconAlt": string;
1574
+ /**
1575
+ * Link URL of the AI assistant icon (right section).
1576
+ */
718
1577
  "aiIconHref": string;
1578
+ /**
1579
+ * Image URL of the AI assistant icon.
1580
+ */
719
1581
  "aiIconSrc": string;
720
- "aiIconTooltip": string;
721
- "chatIconAlt": string;
722
- "chatIconHref": string;
723
- "chatIconSrc": string;
724
- "chatIconTooltip": string;
725
- "firstLogoAlt": string;
726
1582
  /**
727
- * Middle Section Props
1583
+ * Tooltip text of the AI assistant icon.
728
1584
  */
729
- "firstLogoHref": string;
730
- "firstLogoSrc": string;
731
- "firstLogoTooltip": string;
732
- "happinessIconAlt": string;
1585
+ "aiIconTooltip": string;
733
1586
  /**
734
- * Left Section Props
1587
+ * Accessible name of the bar's `<aside>` landmark. Default: `Quick actions`.
1588
+ * @default 'Quick actions'
1589
+ */
1590
+ "aria_label": string;
1591
+ /**
1592
+ * Alternative text for the chat icon.
1593
+ */
1594
+ "chatIconAlt": string;
1595
+ /**
1596
+ * Link URL of the chat icon (right section).
1597
+ */
1598
+ "chatIconHref": string;
1599
+ /**
1600
+ * Image URL of the chat icon.
1601
+ */
1602
+ "chatIconSrc": string;
1603
+ /**
1604
+ * Tooltip text of the chat icon.
1605
+ */
1606
+ "chatIconTooltip": string;
1607
+ /**
1608
+ * Alternative text for the first logo.
1609
+ */
1610
+ "firstLogoAlt": string;
1611
+ /**
1612
+ * Link URL of the first logo (middle section).
1613
+ */
1614
+ "firstLogoHref": string;
1615
+ /**
1616
+ * Image URL of the first logo.
1617
+ */
1618
+ "firstLogoSrc": string;
1619
+ /**
1620
+ * Tooltip text of the first logo.
1621
+ */
1622
+ "firstLogoTooltip": string;
1623
+ /**
1624
+ * Alternative text for the happiness icon.
1625
+ */
1626
+ "happinessIconAlt": string;
1627
+ /**
1628
+ * Link URL of the happiness icon (left section).
735
1629
  */
736
1630
  "happinessIconHref": string;
1631
+ /**
1632
+ * Image URL of the happiness icon.
1633
+ */
737
1634
  "happinessIconSrc": string;
1635
+ /**
1636
+ * Tooltip text of the happiness icon.
1637
+ */
738
1638
  "happinessIconTooltip": string;
1639
+ /**
1640
+ * Hides the middle logo section. The section shows only when this is explicitly `false`.
1641
+ */
739
1642
  "hideMiddleSection": boolean;
740
1643
  /**
741
- * Right Section Props
1644
+ * Link URL of the location icon (right section).
742
1645
  */
743
1646
  "locationButtonHref": string;
1647
+ /**
1648
+ * Not used: the current markup does not render it.
1649
+ */
744
1650
  "locationButtonIcon": string;
1651
+ /**
1652
+ * Tooltip text and alternative text of the location icon.
1653
+ */
745
1654
  "locationButtonText": string;
1655
+ /**
1656
+ * Image URL of the location icon.
1657
+ */
746
1658
  "locationLogoSrc": string;
1659
+ /**
1660
+ * Link URL of the news icon (right section).
1661
+ */
747
1662
  "newsButtonHref": string;
1663
+ /**
1664
+ * Not used: the current markup does not render it.
1665
+ */
748
1666
  "newsButtonIcon": string;
1667
+ /**
1668
+ * Image URL of the news icon.
1669
+ */
749
1670
  "newsButtonSrc": string;
1671
+ /**
1672
+ * Tooltip text and alternative text of the news icon.
1673
+ */
750
1674
  "newsButtonText": string;
1675
+ /**
1676
+ * Alternative text for the second logo.
1677
+ */
751
1678
  "secondLogoAlt": string;
1679
+ /**
1680
+ * Link URL of the second logo (middle section).
1681
+ */
752
1682
  "secondLogoHref": string;
1683
+ /**
1684
+ * Image URL of the second logo.
1685
+ */
753
1686
  "secondLogoSrc": string;
1687
+ /**
1688
+ * Tooltip text of the second logo.
1689
+ */
754
1690
  "secondLogoTooltip": string;
1691
+ /**
1692
+ * Alternative text for the services icon.
1693
+ */
755
1694
  "servicesIconAlt": string;
1695
+ /**
1696
+ * Link URL of the services icon (left section).
1697
+ */
756
1698
  "servicesIconHref": string;
1699
+ /**
1700
+ * Image URL of the services icon.
1701
+ */
757
1702
  "servicesIconSrc": string;
1703
+ /**
1704
+ * Text shown next to the services icon. Nothing is shown when it is not set.
1705
+ */
758
1706
  "servicesIconText": string;
1707
+ /**
1708
+ * Tooltip text of the services icon.
1709
+ */
759
1710
  "servicesIconTooltip": string;
1711
+ /**
1712
+ * Alternative text for the third logo.
1713
+ */
760
1714
  "thirdLogoAlt": string;
1715
+ /**
1716
+ * Link URL of the third logo (middle section).
1717
+ */
761
1718
  "thirdLogoHref": string;
1719
+ /**
1720
+ * Image URL of the third logo.
1721
+ */
762
1722
  "thirdLogoSrc": string;
1723
+ /**
1724
+ * Tooltip text of the third logo.
1725
+ */
763
1726
  "thirdLogoTooltip": string;
764
1727
  }
765
1728
  interface DdaTabs {
1729
+ /**
1730
+ * Accessible name for the tab group (`aria-label` on the `role="group"` container).
1731
+ */
766
1732
  "aria_label": string;
767
1733
  /**
1734
+ * Not used by the component; it has no effect.
768
1735
  * @default false
769
1736
  */
770
1737
  "border_bottom": boolean;
1738
+ /**
1739
+ * `id` set on every tab button.
1740
+ */
771
1741
  "button_id"?: string;
1742
+ /**
1743
+ * `name` set on every tab button.
1744
+ */
772
1745
  "button_name": string;
1746
+ /**
1747
+ * Theme override class on the tab group, e.g. `light-mode`.
1748
+ */
773
1749
  "component_mode"?: string;
774
1750
  /**
1751
+ * Extra CSS classes added to the tab group.
775
1752
  * @default ''
776
1753
  */
777
1754
  "custom_class"?: string;
778
1755
  /**
1756
+ * Style of the active and hovered tab: `dda-tab-default`, `dda-tab-filed`, `dda-tab-underline` or `dda-tab-underline-filled`.
779
1757
  * @default 'dda-tab-default'
780
1758
  */
781
1759
  "hover_style": 'dda-tab-default' | 'dda-tab-filed' | 'dda-tab-underline' | 'dda-tab-underline-filled';
782
1760
  /**
1761
+ * Material Icons names, one per tab in the same order, as a JSON string array. Shown when `type` is `text-icon`.
783
1762
  * @default '["sentiment_satisfied", "sentiment_satisfied", "sentiment_satisfied"]'
784
1763
  */
785
1764
  "tab_icons": string;
786
1765
  /**
1766
+ * Tab labels, as a JSON string array, e.g. `'["Details", "Documents"]'`.
787
1767
  * @default '["Tab 1", "Tab 2", "Tab 3"]'
788
1768
  */
789
1769
  "tab_texts": string;
790
1770
  /**
1771
+ * Tab content: `text` (label only) or `text-icon` (icon from `tab_icons` before the label).
791
1772
  * @default 'text'
792
1773
  */
793
1774
  "type": 'text' | 'text-icon';
794
1775
  }
795
1776
  interface DdaTextarea {
1777
+ /**
1778
+ * Accessible name of the textarea. Use it when there is no visible label.
1779
+ */
796
1780
  "aria_label"?: string;
1781
+ /**
1782
+ * Theme override class for the field, e.g. `light-mode`.
1783
+ */
797
1784
  "component_mode"?: string;
1785
+ /**
1786
+ * Extra CSS classes added to the field container.
1787
+ */
798
1788
  "custom_class"?: string;
1789
+ /**
1790
+ * Replaces the textarea with a Quill rich text editor and toolbar.
1791
+ */
799
1792
  "enable_rich_editor"?: boolean;
1793
+ /**
1794
+ * Error text shown below the field with the character count. When set, the field gets `aria-invalid="true"`.
1795
+ */
800
1796
  "error_message": string;
1797
+ /**
1798
+ * Helper text shown below the field with the character count, linked with `aria-describedby`.
1799
+ */
801
1800
  "helper_text"?: string;
1801
+ /**
1802
+ * `id` of the textarea or editor. Also used for the label and the helper and error text ids. Optional: an id is generated when it is not set.
1803
+ */
802
1804
  "input_id": string;
1805
+ /**
1806
+ * Status style. `disabled` shows the disabled styling only; it does not set the native `disabled` attribute.
1807
+ */
803
1808
  "input_status"?: string;
1809
+ /**
1810
+ * Visible label text, linked to the field through `input_id` (or a generated id).
1811
+ */
804
1812
  "label": string;
1813
+ /**
1814
+ * Maximum number of characters (`maxlength` of the textarea), shown in the character count.
1815
+ */
805
1816
  "max_characters": number;
1817
+ /**
1818
+ * Placeholder text of the textarea or the rich text editor.
1819
+ */
806
1820
  "placeholder": string;
1821
+ /**
1822
+ * `name` of the textarea, submitted with its form.
1823
+ */
807
1824
  "textarea_name": string;
1825
+ /**
1826
+ * Validation style. `error` shows the error colors.
1827
+ */
808
1828
  "validation_type"?: string;
809
1829
  /**
1830
+ * Value of the textarea. Updates as the user types; in rich text mode it holds the editor HTML.
810
1831
  * @default ''
811
1832
  */
812
1833
  "value": string;
813
1834
  }
814
1835
  interface DdaToggle {
1836
+ /**
1837
+ * Accessible name of the inner checkbox input. Set it when there is no `title_text`.
1838
+ */
815
1839
  "aria_label": string;
1840
+ /**
1841
+ * Checked (on) state of the inner input. Read the current state from the input or its `change` event.
1842
+ */
816
1843
  "checked": boolean;
1844
+ /**
1845
+ * Theme override class for the toggle, e.g. `light-mode`.
1846
+ */
817
1847
  "component_mode"?: string;
818
1848
  /**
1849
+ * Extra CSS classes added to the toggle label.
819
1850
  * @default ''
820
1851
  */
821
1852
  "custom_class"?: string;
1853
+ /**
1854
+ * `name` of the inner checkbox input.
1855
+ */
822
1856
  "group_name"?: string;
1857
+ /**
1858
+ * `id` of the inner checkbox input.
1859
+ */
823
1860
  "input_id"?: string;
1861
+ /**
1862
+ * Size: `sm`, `md` or `lg`.
1863
+ */
824
1864
  "size"?: string;
1865
+ /**
1866
+ * Secondary text shown under the title.
1867
+ */
1868
+ "supporting"?: string;
1869
+ /**
1870
+ * Label shown next to the switch. Nothing is shown when it is not set.
1871
+ */
1872
+ "title_text"?: string;
825
1873
  }
826
1874
  interface DdaTooltip {
1875
+ /**
1876
+ * Theme class added to the tooltip container, e.g. `light-mode`. The tooltip styles do not change with it.
1877
+ */
827
1878
  "component_mode"?: string;
828
1879
  /**
1880
+ * Extra CSS classes added to the tooltip container.
829
1881
  * @default ''
830
1882
  */
831
1883
  "custom_class"?: string;
1884
+ /**
1885
+ * Text shown below the heading in the tooltip box.
1886
+ */
832
1887
  "description": string;
833
1888
  /**
1889
+ * Side of the trigger where the box appears: `top`, `bottom`, `left` or `right`.
834
1890
  * @default 'top'
835
1891
  */
836
1892
  "position": 'top' | 'bottom' | 'left' | 'right';
1893
+ /**
1894
+ * Bold heading shown in the tooltip box.
1895
+ */
837
1896
  "title_text": string;
838
1897
  }
839
1898
  interface DdaUiCard {
840
1899
  /**
1900
+ * Heading level (1–6) of the title; pick the level that fits the page outline.
1901
+ * @default 3
1902
+ */
1903
+ "heading_level": number;
1904
+ /**
1905
+ * Material Icons name shown at the top of the card, e.g. `description`.
841
1906
  * @default ''
842
1907
  */
843
1908
  "icon": string;
844
1909
  /**
1910
+ * URL of an image shown at the top of the card. Its alt text is `maintitle`.
845
1911
  * @default ''
846
1912
  */
847
1913
  "image": string;
848
1914
  /**
1915
+ * URL of the card link. The link shows only when this is set.
849
1916
  * @default ''
850
1917
  */
851
1918
  "link": string;
852
1919
  /**
1920
+ * Material Icons name shown after the link text. Set it to an empty string to hide the icon.
853
1921
  * @default 'arrow_forward'
854
1922
  */
855
1923
  "linkicon": string;
856
1924
  /**
1925
+ * Text of the card link.
857
1926
  * @default ''
858
1927
  */
859
1928
  "linktext": string;
860
1929
  /**
1930
+ * Card title, rendered as a heading at `heading_level`.
861
1931
  * @default ''
862
1932
  */
863
1933
  "maintitle": string;
864
1934
  /**
1935
+ * Muted text shown below the title.
865
1936
  * @default ''
866
1937
  */
867
1938
  "subtitle": string;
868
1939
  /**
1940
+ * `default` renders the icon, image, title, subtitle and link from props before the slot; `custom` renders only the slot.
869
1941
  * @default 'default'
870
1942
  */
871
1943
  "type": 'default' | 'custom';
872
1944
  }
873
1945
  interface DdaVerticalStepper {
1946
+ /**
1947
+ * Class added to the stepper container, e.g. `light-mode`.
1948
+ */
874
1949
  "component_mode"?: string;
875
1950
  /**
1951
+ * @deprecated Use `current_step`. Its attribute is `current_-step`, so it never worked in HTML.
876
1952
  * @default 0
877
1953
  */
878
1954
  "current_Step": number;
879
1955
  /**
1956
+ * Index of the current step, from 0. Steps up to and including it are active.
1957
+ */
1958
+ "current_step"?: number;
1959
+ /**
1960
+ * Extra CSS classes added to the stepper container.
880
1961
  * @default ''
881
1962
  */
882
1963
  "custom_class"?: string;
1964
+ /**
1965
+ * Steps, as a JSON string array of `{ icon, title, subtitle, description }` objects. `icon` is a Material Icons name.
1966
+ */
883
1967
  "steps": string;
884
1968
  }
885
1969
  }
@@ -887,14 +1971,34 @@ export interface DdaAlertCustomEvent<T> extends CustomEvent<T> {
887
1971
  detail: T;
888
1972
  target: HTMLDdaAlertElement;
889
1973
  }
1974
+ export interface DdaAvatarCustomEvent<T> extends CustomEvent<T> {
1975
+ detail: T;
1976
+ target: HTMLDdaAvatarElement;
1977
+ }
1978
+ export interface DdaCreditcardFieldCustomEvent<T> extends CustomEvent<T> {
1979
+ detail: T;
1980
+ target: HTMLDdaCreditcardFieldElement;
1981
+ }
1982
+ export interface DdaDropdownCustomEvent<T> extends CustomEvent<T> {
1983
+ detail: T;
1984
+ target: HTMLDdaDropdownElement;
1985
+ }
890
1986
  export interface DdaHeaderCustomEvent<T> extends CustomEvent<T> {
891
1987
  detail: T;
892
1988
  target: HTMLDdaHeaderElement;
893
1989
  }
1990
+ export interface DdaPaginationCustomEvent<T> extends CustomEvent<T> {
1991
+ detail: T;
1992
+ target: HTMLDdaPaginationElement;
1993
+ }
894
1994
  export interface DdaSegmentedTabsCustomEvent<T> extends CustomEvent<T> {
895
1995
  detail: T;
896
1996
  target: HTMLDdaSegmentedTabsElement;
897
1997
  }
1998
+ export interface DdaSelectCustomEvent<T> extends CustomEvent<T> {
1999
+ detail: T;
2000
+ target: HTMLDdaSelectElement;
2001
+ }
898
2002
  export interface DdaTabsCustomEvent<T> extends CustomEvent<T> {
899
2003
  detail: T;
900
2004
  target: HTMLDdaTabsElement;
@@ -934,7 +2038,18 @@ declare global {
934
2038
  prototype: HTMLDdaAttachFileElement;
935
2039
  new (): HTMLDdaAttachFileElement;
936
2040
  };
2041
+ interface HTMLDdaAvatarElementEventMap {
2042
+ "optionSelect": { value: string };
2043
+ }
937
2044
  interface HTMLDdaAvatarElement extends Components.DdaAvatar, HTMLStencilElement {
2045
+ addEventListener<K extends keyof HTMLDdaAvatarElementEventMap>(type: K, listener: (this: HTMLDdaAvatarElement, ev: DdaAvatarCustomEvent<HTMLDdaAvatarElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2046
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2047
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2048
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2049
+ removeEventListener<K extends keyof HTMLDdaAvatarElementEventMap>(type: K, listener: (this: HTMLDdaAvatarElement, ev: DdaAvatarCustomEvent<HTMLDdaAvatarElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2050
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2051
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2052
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
938
2053
  }
939
2054
  var HTMLDdaAvatarElement: {
940
2055
  prototype: HTMLDdaAvatarElement;
@@ -976,13 +2091,35 @@ declare global {
976
2091
  prototype: HTMLDdaCreditCardElement;
977
2092
  new (): HTMLDdaCreditCardElement;
978
2093
  };
2094
+ interface HTMLDdaCreditcardFieldElementEventMap {
2095
+ "valueChange": { value: string };
2096
+ }
979
2097
  interface HTMLDdaCreditcardFieldElement extends Components.DdaCreditcardField, HTMLStencilElement {
2098
+ addEventListener<K extends keyof HTMLDdaCreditcardFieldElementEventMap>(type: K, listener: (this: HTMLDdaCreditcardFieldElement, ev: DdaCreditcardFieldCustomEvent<HTMLDdaCreditcardFieldElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2099
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2100
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2101
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2102
+ removeEventListener<K extends keyof HTMLDdaCreditcardFieldElementEventMap>(type: K, listener: (this: HTMLDdaCreditcardFieldElement, ev: DdaCreditcardFieldCustomEvent<HTMLDdaCreditcardFieldElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2103
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2104
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2105
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
980
2106
  }
981
2107
  var HTMLDdaCreditcardFieldElement: {
982
2108
  prototype: HTMLDdaCreditcardFieldElement;
983
2109
  new (): HTMLDdaCreditcardFieldElement;
984
2110
  };
2111
+ interface HTMLDdaDropdownElementEventMap {
2112
+ "optionSelect": { value: string };
2113
+ }
985
2114
  interface HTMLDdaDropdownElement extends Components.DdaDropdown, HTMLStencilElement {
2115
+ addEventListener<K extends keyof HTMLDdaDropdownElementEventMap>(type: K, listener: (this: HTMLDdaDropdownElement, ev: DdaDropdownCustomEvent<HTMLDdaDropdownElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2116
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2117
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2118
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2119
+ removeEventListener<K extends keyof HTMLDdaDropdownElementEventMap>(type: K, listener: (this: HTMLDdaDropdownElement, ev: DdaDropdownCustomEvent<HTMLDdaDropdownElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2120
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2121
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2122
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
986
2123
  }
987
2124
  var HTMLDdaDropdownElement: {
988
2125
  prototype: HTMLDdaDropdownElement;
@@ -1003,6 +2140,7 @@ declare global {
1003
2140
  "blindContrast": void;
1004
2141
  "redContrast": void;
1005
2142
  "greenContrast": void;
2143
+ "searchSubmit": { query: string };
1006
2144
  }
1007
2145
  interface HTMLDdaHeaderElement extends Components.DdaHeader, HTMLStencilElement {
1008
2146
  addEventListener<K extends keyof HTMLDdaHeaderElementEventMap>(type: K, listener: (this: HTMLDdaHeaderElement, ev: DdaHeaderCustomEvent<HTMLDdaHeaderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -1048,7 +2186,18 @@ declare global {
1048
2186
  prototype: HTMLDdaNumberFieldElement;
1049
2187
  new (): HTMLDdaNumberFieldElement;
1050
2188
  };
2189
+ interface HTMLDdaPaginationElementEventMap {
2190
+ "pageChange": { page: number };
2191
+ }
1051
2192
  interface HTMLDdaPaginationElement extends Components.DdaPagination, HTMLStencilElement {
2193
+ addEventListener<K extends keyof HTMLDdaPaginationElementEventMap>(type: K, listener: (this: HTMLDdaPaginationElement, ev: DdaPaginationCustomEvent<HTMLDdaPaginationElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2194
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2195
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2196
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2197
+ removeEventListener<K extends keyof HTMLDdaPaginationElementEventMap>(type: K, listener: (this: HTMLDdaPaginationElement, ev: DdaPaginationCustomEvent<HTMLDdaPaginationElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2198
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2199
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2200
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1052
2201
  }
1053
2202
  var HTMLDdaPaginationElement: {
1054
2203
  prototype: HTMLDdaPaginationElement;
@@ -1101,7 +2250,18 @@ declare global {
1101
2250
  prototype: HTMLDdaSegmentedTabsElement;
1102
2251
  new (): HTMLDdaSegmentedTabsElement;
1103
2252
  };
2253
+ interface HTMLDdaSelectElementEventMap {
2254
+ "selectionChange": { value: string };
2255
+ }
1104
2256
  interface HTMLDdaSelectElement extends Components.DdaSelect, HTMLStencilElement {
2257
+ addEventListener<K extends keyof HTMLDdaSelectElementEventMap>(type: K, listener: (this: HTMLDdaSelectElement, ev: DdaSelectCustomEvent<HTMLDdaSelectElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2258
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2259
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2260
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2261
+ removeEventListener<K extends keyof HTMLDdaSelectElementEventMap>(type: K, listener: (this: HTMLDdaSelectElement, ev: DdaSelectCustomEvent<HTMLDdaSelectElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2262
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2263
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2264
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1105
2265
  }
1106
2266
  var HTMLDdaSelectElement: {
1107
2267
  prototype: HTMLDdaSelectElement;
@@ -1114,7 +2274,7 @@ declare global {
1114
2274
  new (): HTMLDdaStickyFooterElement;
1115
2275
  };
1116
2276
  interface HTMLDdaTabsElementEventMap {
1117
- "tabClick": void;
2277
+ "tabClick": number;
1118
2278
  }
1119
2279
  interface HTMLDdaTabsElement extends Components.DdaTabs, HTMLStencilElement {
1120
2280
  addEventListener<K extends keyof HTMLDdaTabsElementEventMap>(type: K, listener: (this: HTMLDdaTabsElement, ev: DdaTabsCustomEvent<HTMLDdaTabsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -1149,7 +2309,7 @@ declare global {
1149
2309
  new (): HTMLDdaTooltipElement;
1150
2310
  };
1151
2311
  interface HTMLDdaUiCardElementEventMap {
1152
- "linkClick": void;
2312
+ "linkClick": MouseEvent;
1153
2313
  }
1154
2314
  interface HTMLDdaUiCardElement extends Components.DdaUiCard, HTMLStencilElement {
1155
2315
  addEventListener<K extends keyof HTMLDdaUiCardElementEventMap>(type: K, listener: (this: HTMLDdaUiCardElement, ev: DdaUiCardCustomEvent<HTMLDdaUiCardElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -1211,360 +2371,843 @@ declare global {
1211
2371
  declare namespace LocalJSX {
1212
2372
  interface DdaAccordion {
1213
2373
  /**
2374
+ * Material Symbols icon name shown before the header text, e.g. `info`.
1214
2375
  * @default 'info'
1215
2376
  */
1216
2377
  "accordion_icon"?: string;
1217
2378
  /**
2379
+ * Paragraph text shown in the panel when it is open. Slotted content follows it.
1218
2380
  * @default ''
1219
2381
  */
1220
2382
  "body_description"?: string;
2383
+ /**
2384
+ * Theme override class for the container, e.g. `light-mode`.
2385
+ */
1221
2386
  "component_mode"?: string;
1222
2387
  /**
2388
+ * Extra CSS classes added to the accordion container.
1223
2389
  * @default ''
1224
2390
  */
1225
2391
  "custom_class"?: string;
1226
2392
  /**
2393
+ * Container style: `bg-border` (filled background with border) or `no-border` (no background or border).
1227
2394
  * @default 'bg-border'
1228
2395
  */
1229
2396
  "design"?: 'bg-border' | 'no-border';
1230
2397
  /**
2398
+ * Text shown in the header button that opens and closes the panel.
1231
2399
  * @default 'Accordion Header'
1232
2400
  */
1233
2401
  "header_text"?: string;
1234
2402
  }
1235
2403
  interface DdaAlert {
2404
+ /**
2405
+ * `name` of the close button.
2406
+ */
1236
2407
  "button_name"?: string;
1237
2408
  /**
2409
+ * Not used by the component; nothing is rendered from this value.
1238
2410
  * @default ''
1239
2411
  */
1240
2412
  "button_text"?: string;
2413
+ /**
2414
+ * Click handler for the close button, set as a JavaScript property. The alert does not hide itself.
2415
+ */
1241
2416
  "clickHandler"?: (event: MouseEvent) => void;
2417
+ /**
2418
+ * Accessible name of the close button, read by screen readers instead of the icon ligature.
2419
+ * @default 'Close'
2420
+ */
2421
+ "close_button_label"?: string;
2422
+ /**
2423
+ * Not used by the component; it is not applied to any element.
2424
+ */
1242
2425
  "component_id"?: string;
2426
+ /**
2427
+ * Theme override class for the alert, e.g. `light-mode`.
2428
+ */
1243
2429
  "component_mode"?: string;
1244
2430
  /**
2431
+ * Extra CSS classes added to the alert container.
1245
2432
  * @default ''
1246
2433
  */
1247
2434
  "custom_class"?: string;
1248
2435
  /**
2436
+ * Body text shown below the heading.
1249
2437
  * @default ''
1250
2438
  */
1251
2439
  "description"?: string;
2440
+ /**
2441
+ * Label of the first action link. The link shows only when this is set.
2442
+ */
1252
2443
  "first_button"?: string;
2444
+ /**
2445
+ * `href` of the first action link.
2446
+ */
1253
2447
  "first_link"?: string;
2448
+ /**
2449
+ * Heading level (1–6) of the title; pick the level that fits the page outline.
2450
+ * @default 4
2451
+ */
2452
+ "heading_level"?: number;
2453
+ /**
2454
+ * Fires when the first action link is clicked. No detail.
2455
+ */
1254
2456
  "onFirstClick"?: (event: DdaAlertCustomEvent<void>) => void;
2457
+ /**
2458
+ * Fires when the second action link is clicked. No detail.
2459
+ */
1255
2460
  "onSecondClick"?: (event: DdaAlertCustomEvent<void>) => void;
2461
+ /**
2462
+ * Label of the second action link. The link shows only when this is set.
2463
+ */
1256
2464
  "second_button"?: string;
2465
+ /**
2466
+ * `href` of the second action link.
2467
+ */
1257
2468
  "second_link"?: string;
1258
2469
  /**
2470
+ * Heading text of the alert.
1259
2471
  * @default ''
1260
2472
  */
1261
2473
  "title_text"?: string;
1262
2474
  /**
2475
+ * Style: `primary` uses a tinted background and border in the variation color; `secondary` uses a neutral surface and border.
1263
2476
  * @default 'primary'
1264
2477
  */
1265
2478
  "type"?: 'primary' | 'secondary';
1266
2479
  /**
2480
+ * Color and screen reader urgency: `info`, `warning`, `error` or `success`. `error` uses `role="alert"`; the others use `role="status"`.
1267
2481
  * @default 'info'
1268
2482
  */
1269
2483
  "variation"?: 'info' | 'warning' | 'error' | 'success';
1270
2484
  }
1271
2485
  interface DdaAttachFile {
1272
2486
  /**
2487
+ * Accessible name of the file input. Not rendered when empty.
1273
2488
  * @default ''
1274
2489
  */
1275
2490
  "aria_label"?: string;
1276
2491
  /**
2492
+ * Accessible name of the remove button shown after a file is chosen, e.g. `Remove file`.
1277
2493
  * @default ''
1278
2494
  */
1279
2495
  "button_aria_label"?: string;
2496
+ /**
2497
+ * `id` of the remove button shown after a file is chosen.
2498
+ */
1280
2499
  "button_id"?: string;
2500
+ /**
2501
+ * `name` of the remove button shown after a file is chosen.
2502
+ */
1281
2503
  "button_name"?: string;
2504
+ /**
2505
+ * Theme override class for the field, e.g. `light-mode`.
2506
+ */
1282
2507
  "component_mode"?: string;
1283
2508
  /**
2509
+ * Extra CSS classes added to the field container.
1284
2510
  * @default ''
1285
2511
  */
1286
2512
  "custom_class"?: string;
2513
+ /**
2514
+ * Error text shown below the field. Also sets `aria-invalid="true"` on the file input.
2515
+ */
1287
2516
  "error_message"?: string;
2517
+ /**
2518
+ * Helper text shown below the field. Linked by `aria-describedby`.
2519
+ */
1288
2520
  "helper_text"?: string;
2521
+ /**
2522
+ * `id` of the file input. Also used to link the label, helper text and error message. Optional: an id is generated when it is not set.
2523
+ */
1289
2524
  "input_id"?: string;
2525
+ /**
2526
+ * `name` of the file input.
2527
+ */
1290
2528
  "input_name"?: string;
2529
+ /**
2530
+ * Adds the class `dda-input-<value>`. `disabled` gives the disabled look only; it does not disable the file input.
2531
+ */
1291
2532
  "input_type"?: string;
2533
+ /**
2534
+ * Label text shown above the field. Linked to the file input through `input_id` (or a generated id).
2535
+ */
1292
2536
  "label"?: string;
2537
+ /**
2538
+ * Size: `default` or `small`.
2539
+ */
1293
2540
  "size"?: string;
2541
+ /**
2542
+ * Validation state: `error` applies the error colors.
2543
+ */
1294
2544
  "validation_type"?: string;
1295
2545
  }
1296
2546
  interface DdaAvatar {
2547
+ /**
2548
+ * Accessible name of the avatar button and of each option button. The avatar button falls back to `Avatar options`.
2549
+ */
1297
2550
  "aria_label"?: string;
2551
+ /**
2552
+ * `id` applied to each option button in the dropdown.
2553
+ */
1298
2554
  "button_id"?: string;
2555
+ /**
2556
+ * `name` of each option button in the dropdown. Also added as a CSS class on the avatar container.
2557
+ */
1299
2558
  "button_name"?: string;
2559
+ /**
2560
+ * Theme override class for the avatar, e.g. `light-mode`.
2561
+ */
1300
2562
  "component_mode"?: string;
1301
2563
  /**
2564
+ * Extra CSS classes added to the avatar container.
1302
2565
  * @default ''
1303
2566
  */
1304
2567
  "custom_class"?: string;
1305
2568
  /**
2569
+ * Badge: `default` (none), `status` (green dot), `verified` (check badge), `notification` (count from `notification_number`). `story` has no style yet.
1306
2570
  * @default 'default'
1307
2571
  */
1308
2572
  "design"?: 'default' | 'status' | 'verified' | 'story' | 'notification';
1309
2573
  /**
2574
+ * CSS class of the icon font used when `type` is `icon`, e.g. `material-icons`. The icon glyph is always `sentiment_satisfied`.
1310
2575
  * @default 'material-icons'
1311
2576
  */
1312
2577
  "icon"?: string;
1313
2578
  /**
2579
+ * Count shown in the badge when `design` is `notification`. Hidden at sizes `xs` and `sm`.
1314
2580
  * @default 0
1315
2581
  */
1316
2582
  "notification_number"?: number;
2583
+ /**
2584
+ * Emitted every time the user picks an option from the dropdown, also when it is already selected. `detail.value` is the option.
2585
+ */
2586
+ "onOptionSelect"?: (event: DdaAvatarCustomEvent<{ value: string }>) => void;
2587
+ /**
2588
+ * Dropdown options as a JSON array of strings, e.g. `["Profile","Sign out"]`. When set, the avatar becomes a button that opens the list.
2589
+ */
1317
2590
  "options"?: string;
1318
2591
  /**
2592
+ * Shape: `circle` or `square` (rounded corners).
1319
2593
  * @default 'circle'
1320
2594
  */
1321
2595
  "rounded"?: 'square' | 'circle';
2596
+ /**
2597
+ * The selected option. Matches one entry of `options`; updated when the user picks an option. Mutable: the component assigns it.
2598
+ */
1322
2599
  "selected"?: string;
1323
2600
  /**
2601
+ * Size: `xs` (24px), `sm` (32px), `md` (40px), `lg` (48px), `xl` (56px) or `xxl` (64px).
1324
2602
  * @default 'md'
1325
2603
  */
1326
2604
  "size"?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
1327
2605
  /**
2606
+ * Image URL shown when `type` is `photo`.
1328
2607
  * @default ''
1329
2608
  */
1330
2609
  "src"?: string;
1331
2610
  /**
2611
+ * Initials shown when `type` is `text`.
1332
2612
  * @default 'AB'
1333
2613
  */
1334
2614
  "text"?: string;
1335
2615
  /**
2616
+ * Content: `photo` shows the `src` image, `icon` shows a smiley icon, `text` shows `text` as initials.
1336
2617
  * @default 'photo'
1337
2618
  */
1338
2619
  "type"?: 'photo' | 'icon' | 'text';
1339
2620
  }
1340
2621
  interface DdaBanner {
1341
- "slider_height"?: string;
1342
- "slider_width"?: string;
1343
- "slides"?: string;
1344
- }
1345
- interface DdaBreadcrumb {
1346
- "component_mode"?: string;
1347
2622
  /**
2623
+ * Accessible name of the scrollable slide region that keyboard users focus to scroll.
2624
+ * @default 'Slides'
2625
+ */
2626
+ "aria_label"?: string;
2627
+ /**
2628
+ * CSS height of each slide image, e.g. `220px`.
2629
+ */
2630
+ "slider_height"?: string;
2631
+ /**
2632
+ * CSS width of each slide image, e.g. `360px`.
2633
+ */
2634
+ "slider_width"?: string;
2635
+ /**
2636
+ * Slide images. JSON array of `{ image, title }`; `image` is the image URL and `title` its alternative text. Read once, when the component loads.
2637
+ */
2638
+ "slides"?: string;
2639
+ }
2640
+ interface DdaBreadcrumb {
2641
+ /**
2642
+ * The items, as an array or a JSON string of `{ text, icon?, url? }` objects. The last item is the current page. The `data-breadcrumbs` attribute is still read when this is not set.
2643
+ */
2644
+ "breadcrumbs"?: string | BreadcrumbItem[];
2645
+ /**
2646
+ * Theme override class on the wrapper, e.g. `light-mode`.
2647
+ */
2648
+ "component_mode"?: string;
2649
+ /**
2650
+ * Extra CSS classes added to the inner `<nav>`.
1348
2651
  * @default ''
1349
2652
  */
1350
2653
  "custom_class"?: string;
1351
2654
  /**
2655
+ * What each item shows: `text` (label only), `icon-text` (icon and label) or `icon` (icon only).
1352
2656
  * @default 'text'
1353
2657
  */
1354
2658
  "design"?: 'text' | 'icon-text' | 'icon';
1355
2659
  /**
2660
+ * Material Symbols icon shown between items: `chevron_right` or `pen_size_2` (a slash).
1356
2661
  * @default 'chevron_right'
1357
2662
  */
1358
2663
  "separator"?: 'chevron_right' | 'pen_size_2';
1359
2664
  }
1360
2665
  interface DdaButton {
1361
2666
  /**
2667
+ * Accessible name. Required when the button shows only an icon.
1362
2668
  * @default ''
1363
2669
  */
1364
2670
  "aria_label"?: string;
1365
2671
  /**
2672
+ * Color variant, e.g. `default-primary`, `default-secondary`, `error-primary`, `onsurface-link`.
1366
2673
  * @default 'primary'
1367
2674
  */
1368
2675
  "button_color"?: string;
2676
+ /**
2677
+ * `id` of the inner `<button>`.
2678
+ */
1369
2679
  "button_id"?: string;
1370
2680
  /**
2681
+ * `name` of the inner `<button>`, submitted with its form.
1371
2682
  * @default ''
1372
2683
  */
1373
2684
  "button_name"?: string;
1374
2685
  /**
2686
+ * Shape: `default` or `circle`.
1375
2687
  * @default ''
1376
2688
  */
1377
2689
  "button_shape"?: string;
1378
2690
  /**
1379
- * Function to be called on button click
2691
+ * Click handler, set as a JavaScript property. You can also listen for the native `click` event.
1380
2692
  */
1381
2693
  "clickHandler"?: (event: MouseEvent) => void;
2694
+ /**
2695
+ * Theme override class for the button, e.g. `light-mode`.
2696
+ */
1382
2697
  "component_mode"?: string;
1383
2698
  /**
2699
+ * Extra CSS classes added to the inner `<button>`.
1384
2700
  * @default ''
1385
2701
  */
1386
2702
  "custom_class"?: string;
1387
2703
  /**
1388
- * Disable the button
2704
+ * Disables the button.
1389
2705
  * @default false
1390
2706
  */
1391
2707
  "disabled"?: boolean;
1392
2708
  /**
2709
+ * Material Symbols icon name shown after the label, e.g. `arrow_forward`.
1393
2710
  * @default ''
1394
2711
  */
1395
2712
  "end_icon"?: string;
2713
+ /**
2714
+ * Gap between icon and label, as a spacing step: 1–6, 8, 10, 12 or 16.
2715
+ */
1396
2716
  "gap"?: number;
1397
2717
  /**
2718
+ * Shape of an icon-only button: `default` or `circle`.
1398
2719
  * @default ''
1399
2720
  */
1400
2721
  "icon_button_shape"?: string;
2722
+ /**
2723
+ * Size: `sm`, `md`, `lg` or `xl`.
2724
+ */
1401
2725
  "size"?: string;
1402
2726
  /**
1403
- * Icon class for the starting icon
2727
+ * Material Symbols icon name shown before the label, e.g. `arrow_back`.
1404
2728
  * @default ''
1405
2729
  */
1406
2730
  "start_icon"?: string;
1407
2731
  /**
1408
- * Type of button, e.g., "button", "submit"
2732
+ * Native button type: `button`, `submit` or `reset`.
1409
2733
  * @default 'button'
1410
2734
  */
1411
2735
  "type"?: string;
1412
2736
  }
1413
2737
  interface DdaCheckbox {
2738
+ /**
2739
+ * Accessible name of the inner checkbox input.
2740
+ */
1414
2741
  "aria_label"?: string;
2742
+ /**
2743
+ * Status: `disabled` shows the disabled style and blocks pointer clicks.
2744
+ */
1415
2745
  "checkbox_status"?: string;
2746
+ /**
2747
+ * Checked state of the inner input. Read the current state from the input or its `change` event.
2748
+ */
1416
2749
  "checked"?: boolean;
2750
+ /**
2751
+ * Theme override class for the checkbox, e.g. `light-mode`.
2752
+ */
1417
2753
  "component_mode"?: string;
1418
2754
  /**
2755
+ * Extra CSS classes added to the checkbox container.
1419
2756
  * @default ''
1420
2757
  */
1421
2758
  "custom_class"?: string;
2759
+ /**
2760
+ * `name` of the inner checkbox input.
2761
+ */
1422
2762
  "group_name"?: string;
2763
+ /**
2764
+ * `id` of the inner checkbox input. The label points to it, so set a unique value to make the label clickable.
2765
+ */
1423
2766
  "input_id"?: string;
2767
+ /**
2768
+ * Size: `sm`, `md` or `lg`.
2769
+ */
1424
2770
  "size"?: string;
2771
+ /**
2772
+ * Box shape: `square` or `rounded`.
2773
+ */
1425
2774
  "style_type"?: string;
2775
+ /**
2776
+ * Secondary text shown under the title.
2777
+ */
1426
2778
  "supporting"?: string;
2779
+ /**
2780
+ * Label shown next to the checkbox.
2781
+ */
1427
2782
  "title_text"?: string;
1428
2783
  }
1429
2784
  interface DdaChip {
1430
2785
  /**
2786
+ * Color: `grey`, `primary`, `green`, `yellow`, `red` or `purple`. Other values, including the default, use the base primary style.
1431
2787
  * @default 'success'
1432
2788
  */
1433
2789
  "bg_color"?: string;
2790
+ /**
2791
+ * Click handler for the close button, set as a JavaScript property. The chip does not remove itself.
2792
+ */
1434
2793
  "clickHandler"?: (event: MouseEvent) => void;
2794
+ /**
2795
+ * Accessible name of the icon-only close button.
2796
+ * @default 'Remove'
2797
+ */
2798
+ "close_button_label"?: string;
2799
+ /**
2800
+ * Theme override class for the chip, e.g. `light-mode`.
2801
+ */
1435
2802
  "component_mode"?: string;
2803
+ /**
2804
+ * Extra CSS classes added to the chip container.
2805
+ */
1436
2806
  "custom_class"?: string;
2807
+ /**
2808
+ * Material Symbols icon name shown before the label, e.g. `check_circle`.
2809
+ */
1437
2810
  "icon"?: string;
1438
2811
  /**
2812
+ * Corner radius: `sm`, `md`, `lg` or `circle`.
1439
2813
  * @default ''
1440
2814
  */
1441
2815
  "rounded"?: string;
1442
2816
  /**
2817
+ * Shows a close button after the label. Its accessible name comes from `close_button_label`.
1443
2818
  * @default false
1444
2819
  */
1445
2820
  "show_close_icon"?: boolean;
2821
+ /**
2822
+ * Height: `sm` (24px), `md` (26px) or `lg` (32px).
2823
+ */
1446
2824
  "size"?: string;
1447
2825
  }
1448
2826
  interface DdaCreditCard {
2827
+ /**
2828
+ * Balance text shown under the fixed "Current Balance" label, e.g. `AED 5,750.20`.
2829
+ */
1449
2830
  "balance"?: string;
2831
+ /**
2832
+ * Card number. Only the last four characters are shown, after `****`. When not set, only `****` is shown.
2833
+ */
1450
2834
  "card_number"?: string;
2835
+ /**
2836
+ * URL of the card type image (e.g. a card brand logo) shown at the bottom end of the card. When not set, no image is rendered.
2837
+ */
1451
2838
  "card_type"?: string;
2839
+ /**
2840
+ * Theme override class for the card, e.g. `light-mode`.
2841
+ */
1452
2842
  "component_mode"?: string;
1453
2843
  /**
2844
+ * Extra CSS classes added to the card container.
1454
2845
  * @default ''
1455
2846
  */
1456
2847
  "custom_class"?: string;
2848
+ /**
2849
+ * Background design: `default`, `green` or `dark`.
2850
+ */
1457
2851
  "design"?: string;
2852
+ /**
2853
+ * Card holder name.
2854
+ */
1458
2855
  "name"?: string;
1459
2856
  }
1460
2857
  interface DdaCreditcardField {
2858
+ /**
2859
+ * Accessible name of the input. Use it when there is no visible `label`.
2860
+ */
1461
2861
  "aria_label"?: string;
1462
2862
  /**
2863
+ * `autocomplete` token of the input. Defaults to `cc-number`.
1463
2864
  * @default 'cc-number'
1464
2865
  */
1465
2866
  "autocomplete"?: string;
2867
+ /**
2868
+ * URL of an image shown at the start of the input, e.g. a card brand logo.
2869
+ */
1466
2870
  "card_icon"?: string;
2871
+ /**
2872
+ * Theme override class for the field, e.g. `light-mode`.
2873
+ */
1467
2874
  "component_mode"?: string;
1468
2875
  /**
2876
+ * Extra CSS classes added to the field container.
1469
2877
  * @default ''
1470
2878
  */
1471
2879
  "custom_class"?: string;
1472
2880
  /**
2881
+ * Disables the input and applies the disabled look.
1473
2882
  * @default false
1474
2883
  */
1475
2884
  "disabled"?: boolean;
2885
+ /**
2886
+ * Error text shown below the input. Also sets `aria-invalid="true"` on the input.
2887
+ */
1476
2888
  "error_message"?: string;
2889
+ /**
2890
+ * Helper text shown below the input. Linked by `aria-describedby`.
2891
+ */
1477
2892
  "helper_text"?: string;
2893
+ /**
2894
+ * `id` of the inner `<input>`. Also used to link the label, helper text and error message. Optional: an id is generated when it is not set.
2895
+ */
1478
2896
  "input_id"?: string;
2897
+ /**
2898
+ * `name` of the inner `<input>`, submitted with its form.
2899
+ */
1479
2900
  "input_name"?: string;
2901
+ /**
2902
+ * Adds the class `dda-input-<value>`. `disabled` gives only the disabled look; use `disabled` to disable the input.
2903
+ */
1480
2904
  "input_type"?: string;
2905
+ /**
2906
+ * Label text shown above the input. Linked to the input through `input_id` (or a generated id).
2907
+ */
1481
2908
  "label"?: string;
2909
+ /**
2910
+ * Emitted when user input changes `value`, after the component removes characters other than digits and `-`. `detail.value` is the new `value`.
2911
+ */
2912
+ "onValueChange"?: (event: DdaCreditcardFieldCustomEvent<{ value: string }>) => void;
2913
+ /**
2914
+ * Placeholder text of the input, e.g. `0000 - 0000 - 0000 - 0000`.
2915
+ */
1482
2916
  "placeholder"?: string;
1483
2917
  /**
2918
+ * Sets the input `maxlength`: 25 characters when `false` (16 digits with separators), 100 when `true`.
1484
2919
  * @default false
1485
2920
  */
1486
2921
  "restrict_input"?: boolean;
2922
+ /**
2923
+ * Size: `default` or `small`.
2924
+ */
1487
2925
  "size"?: string;
2926
+ /**
2927
+ * Validation state: `error` applies the error colors.
2928
+ */
1488
2929
  "validation_type"?: string;
1489
2930
  /**
2931
+ * Card number. Shown as groups of four digits separated by ` - `; the component updates it as the user types. Mutable: the component assigns it.
1490
2932
  * @default ''
1491
2933
  */
1492
2934
  "value"?: string;
1493
2935
  }
1494
2936
  interface DdaDropdown {
2937
+ /**
2938
+ * Accessible name of the dropdown button. Set it when `icon_mode` is on.
2939
+ */
1495
2940
  "aria_label"?: string;
2941
+ /**
2942
+ * `name` of the dropdown button that opens the list.
2943
+ */
1496
2944
  "arrow_button_name"?: string;
2945
+ /**
2946
+ * `id` of the dropdown button. The label id is built from it. When it is not set, the component generates a unique id.
2947
+ */
1497
2948
  "button_id"?: string;
2949
+ /**
2950
+ * Theme override class for the dropdown, e.g. `light-mode`.
2951
+ */
1498
2952
  "component_mode"?: string;
1499
2953
  /**
2954
+ * Extra CSS classes added to the dropdown container.
1500
2955
  * @default ''
1501
2956
  */
1502
2957
  "custom_class"?: string;
1503
2958
  /**
2959
+ * Disables the dropdown: the list does not open and options cannot be picked.
1504
2960
  * @default false
1505
2961
  */
1506
2962
  "disabled"?: boolean;
2963
+ /**
2964
+ * `name` of each option button in the list.
2965
+ */
1507
2966
  "dropdown_button_name"?: string;
2967
+ /**
2968
+ * Error text shown under the dropdown.
2969
+ */
1508
2970
  "error"?: string;
2971
+ /**
2972
+ * Helper text shown under the dropdown.
2973
+ */
1509
2974
  "helper_text"?: string;
1510
2975
  /**
2976
+ * Shows only the three-dots icon, without the selected text and arrow.
1511
2977
  * @default false
1512
2978
  */
1513
2979
  "icon_mode"?: boolean;
2980
+ /**
2981
+ * Label shown above the dropdown. The dropdown button is named by the label and its current text.
2982
+ */
1514
2983
  "label"?: string;
2984
+ /**
2985
+ * Emitted every time the user picks an option, also when it is already selected, so the dropdown works as an action menu. `detail.value` is the option.
2986
+ */
2987
+ "onOptionSelect"?: (event: DdaDropdownCustomEvent<{ value: string }>) => void;
2988
+ /**
2989
+ * Options as a JSON array string, e.g. `'["Edit","Download","Delete"]'`. Invalid JSON shows "No options available".
2990
+ */
1515
2991
  "options"?: string;
2992
+ /**
2993
+ * The selected option. Must match an entry in `options`. The button shows "Select an option" when it is empty. Updated when the user picks an option. Mutable: the component assigns it.
2994
+ */
1516
2995
  "selected"?: string;
1517
2996
  /**
2997
+ * Size: `medium` or `small`.
1518
2998
  * @default 'medium'
1519
2999
  */
1520
3000
  "size"?: 'small' | 'medium';
1521
3001
  /**
3002
+ * Accessible name of the dropdown button in `icon_mode` when `aria_label` and `label` are not set.
3003
+ * @default 'Show options'
3004
+ */
3005
+ "toggle_button_label"?: string;
3006
+ /**
3007
+ * Button background: `bg-white` (field style) or `bg-transparent` (no border, background or padding).
1522
3008
  * @default 'bg-white'
1523
3009
  */
1524
3010
  "type"?: 'bg-transparent' | 'bg-white';
1525
3011
  }
1526
3012
  interface DdaFooter {
3013
+ /**
3014
+ * Copyright text in the bottom row.
3015
+ */
1527
3016
  "copyrightText"?: string;
3017
+ /**
3018
+ * Paragraph under `footerTitle`.
3019
+ */
1528
3020
  "description"?: string;
3021
+ /**
3022
+ * Link columns. JSON array of `{ title, links: [{ label, href }] }`.
3023
+ */
1529
3024
  "footerSections"?: string;
3025
+ /**
3026
+ * Heading of the call-to-action area at the top of the footer.
3027
+ */
1530
3028
  "footerTitle"?: string;
3029
+ /**
3030
+ * Heading level (1 to 6) of `footerTitle`, to fit the page's heading order. Default: `4`.
3031
+ * @default 4
3032
+ */
3033
+ "heading_level"?: number;
3034
+ /**
3035
+ * Label of the tertiary (Login) button. The button has no link or action.
3036
+ */
1531
3037
  "loginButtonText"?: string;
3038
+ /**
3039
+ * Alternative text for the footer logo.
3040
+ */
1532
3041
  "logoAlt"?: string;
3042
+ /**
3043
+ * Short text shown under the footer logo. Nothing is shown when it is not set.
3044
+ */
3045
+ "logoDescription"?: string;
3046
+ /**
3047
+ * Image URL of the footer logo.
3048
+ */
1533
3049
  "logoSrc"?: string;
3050
+ /**
3051
+ * Label of the primary (Sign up) button. The button has no link or action.
3052
+ */
1534
3053
  "signUpButtonText"?: string;
3054
+ /**
3055
+ * Social links in the bottom row. JSON array of `{ href, src, alt }`, where `src` is an image URL.
3056
+ */
1535
3057
  "socialIcons"?: string;
1536
3058
  }
1537
3059
  interface DdaHeader {
3060
+ /**
3061
+ * `name` attribute of the accessibility button in the side menu.
3062
+ */
1538
3063
  "accessibility_button_name"?: string;
3064
+ /**
3065
+ * `name` attribute of the buttons that close the accessibility panel.
3066
+ */
1539
3067
  "close_accessibility_button_name"?: string;
3068
+ /**
3069
+ * `name` attribute of the button that closes the side menu.
3070
+ */
1540
3071
  "close_menu_button_name"?: string;
3072
+ /**
3073
+ * Not used: the current markup does not render an element with this name.
3074
+ */
1541
3075
  "close_sidebar_button_name"?: string;
3076
+ /**
3077
+ * Alternative text for the first logo.
3078
+ */
1542
3079
  "firstLogoAlt"?: string;
3080
+ /**
3081
+ * Link URL of the first logo in the header and the side menu. Default: `/`.
3082
+ * @default '/'
3083
+ */
3084
+ "firstLogoHref"?: string;
3085
+ /**
3086
+ * Image URL of the first (government) logo, on the left of the header and in the side menu.
3087
+ */
1543
3088
  "firstLogoSrc"?: string;
3089
+ /**
3090
+ * Image URL of the white first logo, shown in dark theme and on a transparent header (`<body class="transparent">`). Falls back to `firstLogoSrc`.
3091
+ */
1544
3092
  "firstLogoWhiteSrc"?: string;
3093
+ /**
3094
+ * `name` attribute of the hamburger menu button.
3095
+ */
1545
3096
  "hamburger_menu_button_name"?: string;
3097
+ /**
3098
+ * `name` attribute of the language button in the side menu.
3099
+ */
1546
3100
  "language_button_name"?: string;
3101
+ /**
3102
+ * `lang` attribute of the language buttons, the language of `language_text`. Default: `ar`.
3103
+ * @default 'ar'
3104
+ */
3105
+ "language_lang"?: string;
3106
+ /**
3107
+ * Label of the language buttons in the desktop toolbar and the side menu. Default: `العربية`.
3108
+ */
1547
3109
  "language_text"?: string;
3110
+ /**
3111
+ * Material Symbols icon name of the Login link in the side menu. Default: `sentiment_satisfied`.
3112
+ */
1548
3113
  "loginIcon"?: string;
3114
+ /**
3115
+ * URL of the Login link in the toolbar and the side menu.
3116
+ */
1549
3117
  "loginLink"?: string;
3118
+ /**
3119
+ * Label of the Login link in the side menu. Default: `Login`.
3120
+ */
1550
3121
  "loginText"?: string;
3122
+ /**
3123
+ * Accessible name of the hamburger menu button (visually hidden text). Default: `Menu`.
3124
+ * @default 'Menu'
3125
+ */
3126
+ "menu_button_label"?: string;
3127
+ /**
3128
+ * Emitted when the user clicks the `A` (default text size) button in the accessibility panel.
3129
+ */
1551
3130
  "onBaseTextSize"?: (event: DdaHeaderCustomEvent<void>) => void;
3131
+ /**
3132
+ * Emitted when the user selects the Colours Blind contrast option.
3133
+ */
1552
3134
  "onBlindContrast"?: (event: DdaHeaderCustomEvent<void>) => void;
3135
+ /**
3136
+ * Emitted when the user selects the Green Weakness contrast option.
3137
+ */
1553
3138
  "onGreenContrast"?: (event: DdaHeaderCustomEvent<void>) => void;
3139
+ /**
3140
+ * Emitted when the user clicks the language button.
3141
+ */
1554
3142
  "onLanguageSwitch"?: (event: DdaHeaderCustomEvent<void>) => void;
3143
+ /**
3144
+ * Emitted when the user clicks the `A+` (larger text) button in the accessibility panel.
3145
+ */
1555
3146
  "onLgTextSize"?: (event: DdaHeaderCustomEvent<void>) => void;
3147
+ /**
3148
+ * Emitted when the user selects the Normal contrast option.
3149
+ */
1556
3150
  "onNormalContrast"?: (event: DdaHeaderCustomEvent<void>) => void;
3151
+ /**
3152
+ * Emitted when the user selects the Red Weakness contrast option.
3153
+ */
1557
3154
  "onRedContrast"?: (event: DdaHeaderCustomEvent<void>) => void;
3155
+ /**
3156
+ * Emitted when a non-empty search is submitted. Call `preventDefault()` to stop the browser navigating to `search_action`, for example to route inside a single-page app.
3157
+ */
3158
+ "onSearchSubmit"?: (event: DdaHeaderCustomEvent<{ query: string }>) => void;
3159
+ /**
3160
+ * Emitted when the user clicks the `A-` (smaller text) button in the accessibility panel.
3161
+ */
1558
3162
  "onSmTextSize"?: (event: DdaHeaderCustomEvent<void>) => void;
3163
+ /**
3164
+ * Main navigation links. JSON array of `{ label, href, menuLabel, subMenu }`; `subMenu` items are `{ title, description, icon, href }` and open a mega menu.
3165
+ */
1559
3166
  "quickLinks"?: string;
3167
+ /**
3168
+ * URL of the ReadSpeaker "listen" link in the accessibility panel.
3169
+ */
1560
3170
  "readSpeakerLink"?: string;
3171
+ /**
3172
+ * Placeholder and accessible label of the search input. Default: `Search`.
3173
+ */
1561
3174
  "searchText"?: string;
3175
+ /**
3176
+ * Results page URL. When set, a search does a GET to this URL with the query in `search_input_name` (default `q`).
3177
+ */
3178
+ "search_action"?: string;
3179
+ /**
3180
+ * `name` attribute of the mobile search button.
3181
+ */
1562
3182
  "search_button_name"?: string;
3183
+ /**
3184
+ * `name` of the search input, which is the query parameter sent to `search_action`. Default: `q`.
3185
+ */
1563
3186
  "search_input_name"?: string;
3187
+ /**
3188
+ * Alternative text for the second logo.
3189
+ */
1564
3190
  "secondLogoAlt"?: string;
3191
+ /**
3192
+ * Link URL of the second logo on desktop and mobile. Default: `/`.
3193
+ * @default '/'
3194
+ */
3195
+ "secondLogoHref"?: string;
3196
+ /**
3197
+ * Image URL of the second (entity) logo.
3198
+ */
1565
3199
  "secondLogoSrc"?: string;
3200
+ /**
3201
+ * Image URL of the white second logo, shown in dark theme and on a transparent header. Falls back to `secondLogoSrc` on desktop.
3202
+ */
1566
3203
  "secondLogoWhiteSrc"?: string;
3204
+ /**
3205
+ * Side menu items. JSON array of `{ label, href, subMenu }`; each `subMenu` item is `{ headerLabel, label, href, subMenu }` and can nest.
3206
+ */
1567
3207
  "sideMenuItems"?: string;
3208
+ /**
3209
+ * `name` attribute of the accessibility button in the desktop toolbar.
3210
+ */
1568
3211
  "toggle_accessibility_button_name"?: string;
1569
3212
  }
1570
3213
  interface DdaHomeBanner {
@@ -1615,271 +3258,620 @@ declare namespace LocalJSX {
1615
3258
  "slide_status_label"?: string;
1616
3259
  }
1617
3260
  interface DdaHorizontalStepper {
3261
+ /**
3262
+ * Theme override class on the stepper container, e.g. `light-mode`.
3263
+ */
1618
3264
  "component_mode"?: string;
1619
3265
  /**
3266
+ * Index of the active step, from 0. Steps before it show as completed.
1620
3267
  * @default 1
1621
3268
  */
1622
3269
  "current_step"?: number;
3270
+ /**
3271
+ * Extra CSS classes added to the stepper container.
3272
+ */
1623
3273
  "custom_class"?: string;
3274
+ /**
3275
+ * Steps, as a JSON string array of `{ title, subtitle, description }` objects.
3276
+ */
1624
3277
  "steps"?: string;
1625
3278
  }
1626
3279
  interface DdaInput {
3280
+ /**
3281
+ * Accessible name of the inner `<input>`. Use it when there is no visible label.
3282
+ */
1627
3283
  "aria_label"?: string;
3284
+ /**
3285
+ * Theme override class for the field, e.g. `light-mode`.
3286
+ */
1628
3287
  "component_mode"?: string;
3288
+ /**
3289
+ * Extra CSS classes added to the field container.
3290
+ */
1629
3291
  "custom_class"?: string;
3292
+ /**
3293
+ * Error text shown below the input. When set, the input gets `aria-invalid="true"`.
3294
+ */
1630
3295
  "error_message"?: string;
3296
+ /**
3297
+ * Helper text shown below the input and linked with `aria-describedby`.
3298
+ */
1631
3299
  "helper_text"?: string;
3300
+ /**
3301
+ * `id` of the inner `<input>`. Also used for the label `for` and the helper and error text ids. Optional: an id is generated when it is not set.
3302
+ */
1632
3303
  "input_id"?: string;
3304
+ /**
3305
+ * `name` of the inner `<input>`, submitted with its form.
3306
+ */
1633
3307
  "input_name"?: string;
3308
+ /**
3309
+ * Status style. `disabled` shows the disabled styling only; it does not set the native `disabled` attribute.
3310
+ */
1634
3311
  "input_status"?: string;
3312
+ /**
3313
+ * Visible label text, linked to the input through `input_id` (or a generated id).
3314
+ */
1635
3315
  "label"?: string;
3316
+ /**
3317
+ * Placeholder text of the inner `<input>`.
3318
+ */
1636
3319
  "placeholder"?: string;
3320
+ /**
3321
+ * Size. `small` shows a smaller field; omit for the default size.
3322
+ */
1637
3323
  "size"?: string;
1638
3324
  /**
3325
+ * Native input type, e.g. `text`, `password`, `email`, `number`, `date` or `time`. The legacy values `Witherror` and `disabled` only apply the error or disabled styling.
1639
3326
  * @default 'text'
1640
3327
  */
1641
3328
  "type"?: string;
3329
+ /**
3330
+ * Validation style. `error` shows the error colors.
3331
+ */
1642
3332
  "validation_type"?: string;
3333
+ /**
3334
+ * Value of the inner `<input>`. Updates as the user types.
3335
+ */
1643
3336
  "value"?: string;
1644
3337
  }
1645
3338
  interface DdaLinkButton {
1646
3339
  /**
3340
+ * Accessible name of the link. Required when the link shows only an icon.
1647
3341
  * @default ''
1648
3342
  */
1649
3343
  "aria_label"?: string;
1650
3344
  /**
3345
+ * Color variant, e.g. `default-primary`, `default-secondary`, `error-primary`, `onsurface-link` or `disabled`.
1651
3346
  * @default 'primary'
1652
3347
  */
1653
3348
  "button_color"?: string;
3349
+ /**
3350
+ * `id` of the inner `<a>`.
3351
+ */
1654
3352
  "button_id"?: string;
1655
3353
  /**
3354
+ * Shape: `default` or `circle`.
1656
3355
  * @default ''
1657
3356
  */
1658
3357
  "button_shape"?: string;
3358
+ /**
3359
+ * Theme override class for the link, e.g. `light-mode`.
3360
+ */
1659
3361
  "component_mode"?: string;
1660
3362
  /**
3363
+ * Extra CSS classes added to the inner `<a>`.
1661
3364
  * @default ''
1662
3365
  */
1663
3366
  "custom_class"?: string;
1664
3367
  /**
1665
- * Disable the button
3368
+ * Not used: the link stays active. For a disabled look, set `button_color` to `disabled`.
1666
3369
  * @default false
1667
3370
  */
1668
3371
  "disabled"?: boolean;
1669
3372
  /**
3373
+ * Material Symbols icon name shown after the label, e.g. `arrow_forward`.
1670
3374
  * @default ''
1671
3375
  */
1672
3376
  "end_icon"?: string;
3377
+ /**
3378
+ * Gap between icon and label, as a spacing step: 1–6, 8, 10, 12 or 16.
3379
+ */
1673
3380
  "gap"?: number;
1674
3381
  /**
3382
+ * URL the link opens.
1675
3383
  * @default '#'
1676
3384
  */
1677
3385
  "href"?: string;
1678
3386
  /**
3387
+ * Shape of an icon-only link: `default` or `circle`.
1679
3388
  * @default ''
1680
3389
  */
1681
3390
  "icon_button_shape"?: string;
3391
+ /**
3392
+ * Size: `sm`, `md`, `lg` or `xl`.
3393
+ */
1682
3394
  "size"?: string;
1683
3395
  /**
1684
- * Icon class for the starting icon
3396
+ * Material Symbols icon name shown before the label, e.g. `arrow_back`.
1685
3397
  * @default ''
1686
3398
  */
1687
3399
  "start_icon"?: string;
1688
3400
  /**
1689
- * Type of button, e.g., "button", "submit"
3401
+ * Not used: the component renders an `<a>` link, which has no `type`.
1690
3402
  * @default 'button'
1691
3403
  */
1692
3404
  "type"?: string;
1693
3405
  }
1694
3406
  interface DdaNumberField {
3407
+ /**
3408
+ * Accessible name of the amount input. Use it when there is no visible label.
3409
+ */
1695
3410
  "aria_label"?: string;
3411
+ /**
3412
+ * Theme override class for the field, e.g. `light-mode`.
3413
+ */
1696
3414
  "component_mode"?: string;
3415
+ /**
3416
+ * Currency options for the dropdown, as a JSON array string, e.g. `'["AED","USD"]'`.
3417
+ */
1697
3418
  "currencies"?: string;
3419
+ /**
3420
+ * `name` of each currency option button.
3421
+ */
1698
3422
  "currency_button_name"?: string;
1699
3423
  /**
3424
+ * Extra CSS classes added to the field container.
1700
3425
  * @default ''
1701
3426
  */
1702
3427
  "custom_class"?: string;
3428
+ /**
3429
+ * Error text shown below the field. When set, the input gets `aria-invalid="true"`.
3430
+ */
1703
3431
  "error_message"?: string;
3432
+ /**
3433
+ * Helper text shown below the field and linked with `aria-describedby`.
3434
+ */
1704
3435
  "helper_text"?: string;
3436
+ /**
3437
+ * `id` of the amount input. Also used for the label `for` and the helper and error text ids. Optional: an id is generated when it is not set.
3438
+ */
1705
3439
  "input_id"?: string;
3440
+ /**
3441
+ * `name` of the amount input, submitted with its form.
3442
+ */
1706
3443
  "input_name"?: string;
3444
+ /**
3445
+ * Status style. `disabled` shows the disabled styling only; it does not set the native `disabled` attribute.
3446
+ */
1707
3447
  "input_status"?: string;
3448
+ /**
3449
+ * Visible label text, linked to the amount input through `input_id` (or a generated id).
3450
+ */
1708
3451
  "label"?: string;
3452
+ /**
3453
+ * Placeholder text of the amount input.
3454
+ */
1709
3455
  "placeholder"?: string;
1710
3456
  /**
3457
+ * Currency shown on the dropdown button. Updates when the user picks a currency.
1711
3458
  * @default 'USD'
1712
3459
  */
1713
3460
  "selected_currency"?: string;
3461
+ /**
3462
+ * Size. `small` shows a smaller field; omit for the default size.
3463
+ */
1714
3464
  "size"?: string;
3465
+ /**
3466
+ * Accessible name of the currency dropdown button; the selected currency is added after it.
3467
+ * @default 'Choose currency'
3468
+ */
3469
+ "toggle_button_label"?: string;
3470
+ /**
3471
+ * `name` of the currency dropdown button.
3472
+ */
1715
3473
  "toggle_button_name"?: string;
3474
+ /**
3475
+ * Validation style. `error` shows the error colors.
3476
+ */
1716
3477
  "validation_type"?: string;
3478
+ /**
3479
+ * Initial value of the amount input. Characters other than digits and `.` are removed as the user types.
3480
+ */
1717
3481
  "value"?: string;
1718
3482
  }
1719
3483
  interface DdaPagination {
3484
+ /**
3485
+ * `name` of the next page button when `type` is `button-text`.
3486
+ */
1720
3487
  "button_text_next_button"?: string;
3488
+ /**
3489
+ * `name` of the previous page button when `type` is `button-text`.
3490
+ */
1721
3491
  "button_text_prev_button"?: string;
3492
+ /**
3493
+ * `name` of the next page button when `type` is `buttons`.
3494
+ */
1722
3495
  "buttons_next_button"?: string;
3496
+ /**
3497
+ * `name` of the next page button when `type` is `buttons-pages`.
3498
+ */
1723
3499
  "buttons_pages_next_button"?: string;
3500
+ /**
3501
+ * `name` of the previous page button when `type` is `buttons-pages`.
3502
+ */
1724
3503
  "buttons_pages_prev_button"?: string;
3504
+ /**
3505
+ * `name` of the previous page button when `type` is `buttons`.
3506
+ */
1725
3507
  "buttons_prev_button"?: string;
3508
+ /**
3509
+ * Theme override class on the pagination element, e.g. `light-mode`.
3510
+ */
1726
3511
  "component_mode"?: string;
1727
3512
  /**
3513
+ * Selected page, counted from 1. Kept between 1 and `total_pages`; updates when the user changes the page. Mutable: the component assigns it.
1728
3514
  * @default 1
1729
3515
  */
1730
3516
  "current_page"?: number;
1731
3517
  /**
3518
+ * Extra CSS classes added to the pagination element.
1732
3519
  * @default ''
1733
3520
  */
1734
3521
  "custom_class"?: string;
3522
+ /**
3523
+ * Accessible name of the icon-only next page button (`text`, `text-pages`, `button-text` and `buttons-pages` layouts).
3524
+ * @default 'Next page'
3525
+ */
3526
+ "next_button_label"?: string;
3527
+ /**
3528
+ * Emitted when the user moves to a different page. `detail.page` is the new page, counted from 1.
3529
+ */
3530
+ "onPageChange"?: (event: DdaPaginationCustomEvent<{ page: number }>) => void;
3531
+ /**
3532
+ * Accessible name of the icon-only previous page button (`text`, `text-pages`, `button-text` and `buttons-pages` layouts).
3533
+ * @default 'Previous page'
3534
+ */
3535
+ "previous_button_label"?: string;
3536
+ /**
3537
+ * `name` of the next page button when `type` is `simple-slider`.
3538
+ */
1735
3539
  "simple_slider_next_button"?: string;
3540
+ /**
3541
+ * `name` of the previous page button when `type` is `simple-slider`.
3542
+ */
1736
3543
  "simple_slider_prev_button"?: string;
3544
+ /**
3545
+ * `name` of the next page button when `type` is `text`.
3546
+ */
1737
3547
  "text_next_button"?: string;
3548
+ /**
3549
+ * `name` of the next page button when `type` is `text-pages`.
3550
+ */
1738
3551
  "text_pages_next_button"?: string;
3552
+ /**
3553
+ * `name` of the previous page button when `type` is `text-pages`.
3554
+ */
1739
3555
  "text_pages_prev_button"?: string;
3556
+ /**
3557
+ * `name` of the previous page button when `type` is `text`.
3558
+ */
1740
3559
  "text_prev_button"?: string;
1741
3560
  /**
3561
+ * Number of pages. Values below 1 become 1. Mutable: the component corrects out-of-range values.
1742
3562
  * @default 8
1743
3563
  */
1744
3564
  "total_pages"?: number;
1745
3565
  /**
3566
+ * Layout: `simple-slider`, `buttons`, `text`, `text-pages`, `button-text`, `buttons-pages` or `full`.
1746
3567
  * @default 'simple-slider'
1747
3568
  */
1748
3569
  "type"?: 'simple-slider' | 'buttons' | 'text' | 'text-pages' | 'button-text' | 'buttons-pages' | 'full';
1749
3570
  }
1750
3571
  interface DdaPhonefield {
3572
+ /**
3573
+ * Accessible name of the phone input. Use it when there is no visible label.
3574
+ */
1751
3575
  "aria_label"?: string;
1752
3576
  /**
1753
- * @default 'tel'
3577
+ * `autocomplete` token of the phone input. Defaults to `tel-national`, because the country code is chosen separately.
3578
+ * @default 'tel-national'
1754
3579
  */
1755
3580
  "autocomplete"?: string;
3581
+ /**
3582
+ * Accessible name set on each country option button in the open list.
3583
+ */
1756
3584
  "button_aria_label"?: string;
3585
+ /**
3586
+ * Prefix of the country option button ids in the open list. Each option gets `<button_id>-<index>`. When it is not set, the prefix comes from the input id.
3587
+ */
1757
3588
  "button_id"?: string;
3589
+ /**
3590
+ * Theme override class for the field, e.g. `light-mode`.
3591
+ */
1758
3592
  "component_mode"?: string;
3593
+ /**
3594
+ * `name` of each country option button.
3595
+ */
1759
3596
  "country_select_button_name"?: string;
3597
+ /**
3598
+ * Extra CSS classes added to the field container.
3599
+ */
1760
3600
  "custom_class"?: string;
1761
3601
  /**
3602
+ * Disables the phone input and shows the disabled styling.
1762
3603
  * @default false
1763
3604
  */
1764
3605
  "disabled"?: boolean;
3606
+ /**
3607
+ * Error text shown below the field. When set, the input gets `aria-invalid="true"`.
3608
+ */
1765
3609
  "error_message"?: string;
3610
+ /**
3611
+ * Helper text shown below the field. Hidden when `validation_type` is set.
3612
+ */
1766
3613
  "helper_text"?: string;
3614
+ /**
3615
+ * `id` of the phone input. Also used for the label `for` and the helper and error text ids. When it is not set, the component generates a unique id.
3616
+ */
1767
3617
  "input_id"?: string;
3618
+ /**
3619
+ * Visible label text, linked to the phone input through `input_id`.
3620
+ */
1768
3621
  "label"?: string;
3622
+ /**
3623
+ * `name` of the phone input, submitted with its form.
3624
+ */
1769
3625
  "phone_input_name"?: string;
1770
3626
  /**
3627
+ * Placeholder text of the phone input.
1771
3628
  * @default 'Enter phone number'
1772
3629
  */
1773
3630
  "placeholder"?: string;
3631
+ /**
3632
+ * Size. `small` shows a smaller field; omit for the default size.
3633
+ */
1774
3634
  "size"?: string;
3635
+ /**
3636
+ * Accessible name of the country code dropdown button; the selected code is added after it.
3637
+ * @default 'Choose country code'
3638
+ */
3639
+ "toggle_button_label"?: string;
3640
+ /**
3641
+ * `name` of the country code dropdown button.
3642
+ */
1775
3643
  "toggle_button_name"?: string;
3644
+ /**
3645
+ * Validation style. `error` shows the error colors. Any value hides `helper_text`.
3646
+ */
1776
3647
  "validation_type"?: string;
1777
3648
  }
1778
3649
  interface DdaProgressbar {
1779
3650
  /**
3651
+ * Accessible name of the progress bar.
1780
3652
  * @default 'Progress'
1781
3653
  */
1782
3654
  "aria_label"?: string;
3655
+ /**
3656
+ * Theme override class for the progress bar, e.g. `light-mode`.
3657
+ */
1783
3658
  "component_mode"?: string;
3659
+ /**
3660
+ * Extra CSS classes added to the progress bar container.
3661
+ */
1784
3662
  "custom_class"?: string;
1785
3663
  /**
3664
+ * Progress in percent, from 0 to 100. Sets the bar width and `aria-valuenow`.
1786
3665
  * @default 0
1787
3666
  */
1788
3667
  "progress"?: number;
1789
3668
  /**
3669
+ * Shows the percentage as text after the bar.
1790
3670
  * @default false
1791
3671
  */
1792
3672
  "show_percentage_text"?: boolean;
1793
3673
  /**
3674
+ * Shows the percentage in a tooltip at the end of the filled bar.
1794
3675
  * @default false
1795
3676
  */
1796
3677
  "tooltip"?: boolean;
1797
3678
  /**
3679
+ * Tooltip position: `top` or `bottom`.
1798
3680
  * @default 'top'
1799
3681
  */
1800
3682
  "tooltip_position"?: 'top' | 'bottom';
1801
3683
  }
1802
3684
  interface DdaRadiobutton {
3685
+ /**
3686
+ * Accessible name of the inner radio input.
3687
+ */
1803
3688
  "aria_label"?: string;
3689
+ /**
3690
+ * Checked state of the inner input. Read the current state from the input or its `change` event.
3691
+ */
1804
3692
  "checked"?: boolean;
3693
+ /**
3694
+ * Theme override class for the radio button, e.g. `light-mode`.
3695
+ */
1805
3696
  "component_mode"?: string;
1806
3697
  /**
3698
+ * Extra class suffix. The value is added as `dda-radio-<value>` on the container.
1807
3699
  * @default ''
1808
3700
  */
1809
- "custom_class"?: string;
3701
+ "custom_class"?: string;
3702
+ /**
3703
+ * `name` of the inner radio input. Give all radio buttons in one group the same value.
3704
+ */
1810
3705
  "group_name"?: string;
3706
+ /**
3707
+ * `id` of the inner radio input. The label points to it, so set a unique value to make the label clickable.
3708
+ */
1811
3709
  "input_id"?: string;
3710
+ /**
3711
+ * Status: `disabled` shows the disabled style and blocks pointer clicks.
3712
+ */
1812
3713
  "radio_status"?: string;
3714
+ /**
3715
+ * Size: `sm`, `md` or `lg`.
3716
+ */
1813
3717
  "size"?: string;
3718
+ /**
3719
+ * Secondary text shown under the title.
3720
+ */
1814
3721
  "supporting"?: string;
3722
+ /**
3723
+ * Label shown next to the radio button.
3724
+ */
1815
3725
  "title_text"?: string;
3726
+ /**
3727
+ * Style variant: `outlined` or `faded`. Leave empty (or `normal`) for the default style.
3728
+ */
1816
3729
  "variants"?: string;
1817
3730
  }
1818
3731
  interface DdaRangeSlider {
3732
+ /**
3733
+ * Theme override class for the slider, e.g. `light-mode`.
3734
+ */
1819
3735
  "component_mode"?: string;
1820
3736
  /**
3737
+ * Extra CSS classes added to the slider container.
1821
3738
  * @default ''
1822
3739
  */
1823
3740
  "custom_class"?: string;
1824
3741
  /**
3742
+ * Start value of the upper (right) handle. Read only when the component loads.
1825
3743
  * @default 100
1826
3744
  */
1827
3745
  "initial_max"?: number;
1828
3746
  /**
3747
+ * Start value of the lower (left) handle. Read only when the component loads.
1829
3748
  * @default 0
1830
3749
  */
1831
3750
  "initial_min"?: number;
3751
+ /**
3752
+ * Accessible name of the lower (left) range input, e.g. `Minimum amount`. When it is empty, the name is `Minimum`.
3753
+ */
1832
3754
  "left_aria_label"?: string;
3755
+ /**
3756
+ * `id` of the lower (left) range input. When it is not set, the component generates a unique id.
3757
+ */
1833
3758
  "left_input_id"?: string;
3759
+ /**
3760
+ * `name` of the lower (left) range input, submitted with its form.
3761
+ */
1834
3762
  "left_input_name"?: string;
1835
3763
  /**
3764
+ * Highest value of the range.
1836
3765
  * @default 100
1837
3766
  */
1838
3767
  "max"?: number;
1839
3768
  /**
3769
+ * Lowest value of the range.
1840
3770
  * @default 0
1841
3771
  */
1842
3772
  "min"?: number;
3773
+ /**
3774
+ * Accessible name of the upper (right) range input, e.g. `Maximum amount`. When it is empty, the name is `Maximum`.
3775
+ */
1843
3776
  "right_aria_label"?: string;
3777
+ /**
3778
+ * `id` of the upper (right) range input. When it is not set, the component generates a unique id.
3779
+ */
1844
3780
  "right_input_id"?: string;
3781
+ /**
3782
+ * `name` of the upper (right) range input, submitted with its form.
3783
+ */
1845
3784
  "right_input_name"?: string;
3785
+ /**
3786
+ * Not used by the current version; it has no effect.
3787
+ */
1846
3788
  "size"?: string;
1847
3789
  /**
3790
+ * Step between selectable values.
1848
3791
  * @default 1
1849
3792
  */
1850
3793
  "step"?: number;
3794
+ /**
3795
+ * Value labels shown as tooltips: `top` or `bottom`. Without it, plain labels show below the track.
3796
+ */
1851
3797
  "tooltip_position"?: string;
1852
3798
  }
1853
3799
  interface DdaSearchInput {
3800
+ /**
3801
+ * Accessible name of the search input. Use it when there is no visible label.
3802
+ */
1854
3803
  "aria_label"?: string;
3804
+ /**
3805
+ * Accessible name of the clear button, e.g. `Clear search`.
3806
+ */
1855
3807
  "button_aria_label"?: string;
3808
+ /**
3809
+ * `id` of the clear button.
3810
+ */
1856
3811
  "button_id"?: string;
3812
+ /**
3813
+ * Accessible name of the clear button. `button_aria_label` wins when set.
3814
+ * @default 'Clear search'
3815
+ */
3816
+ "clear_button_label"?: string;
3817
+ /**
3818
+ * `name` of the clear button.
3819
+ */
1857
3820
  "close_button_name"?: string;
3821
+ /**
3822
+ * Theme override class for the field, e.g. `light-mode`.
3823
+ */
1858
3824
  "component_mode"?: string;
1859
3825
  /**
3826
+ * Extra CSS classes added to the field container.
1860
3827
  * @default ''
1861
3828
  */
1862
3829
  "custom_class"?: string;
3830
+ /**
3831
+ * Error text shown below the field. When set, the input gets `aria-invalid="true"`.
3832
+ */
1863
3833
  "error_message"?: string;
1864
3834
  /**
3835
+ * Shows the error colors.
1865
3836
  * @default false
1866
3837
  */
1867
3838
  "has_error"?: boolean;
3839
+ /**
3840
+ * Helper text shown below the field and linked with `aria-describedby`.
3841
+ */
1868
3842
  "helper_text"?: string;
3843
+ /**
3844
+ * `id` of the search input. Also used for the label `for` and the helper and error text ids. Optional: an id is generated when it is not set.
3845
+ */
1869
3846
  "input_id"?: string;
3847
+ /**
3848
+ * Status style. `disabled` shows the disabled styling only; it does not set the native `disabled` attribute.
3849
+ */
1870
3850
  "input_status"?: string;
3851
+ /**
3852
+ * Visible label text, linked to the search input through `input_id` (or a generated id).
3853
+ */
1871
3854
  "label"?: string;
1872
3855
  /**
3856
+ * Placeholder text of the search input.
1873
3857
  * @default 'Search'
1874
3858
  */
1875
3859
  "placeholder"?: string;
3860
+ /**
3861
+ * `name` of the "Search" button.
3862
+ */
1876
3863
  "search_button_name"?: string;
3864
+ /**
3865
+ * `name` of the search input, submitted with its form.
3866
+ */
1877
3867
  "search_input_name"?: string;
1878
3868
  /**
3869
+ * Shows a "Search" button after the clear button.
1879
3870
  * @default false
1880
3871
  */
1881
3872
  "show_button"?: boolean;
1882
3873
  /**
3874
+ * Size. `small` shows a smaller field; other values show the default size.
1883
3875
  * @default 'sm'
1884
3876
  */
1885
3877
  "size"?: string;
@@ -1889,216 +3881,526 @@ declare namespace LocalJSX {
1889
3881
  * Accessible name for the group (applied as aria-label on the group container).
1890
3882
  */
1891
3883
  "aria_label"?: string;
3884
+ /**
3885
+ * `name` set on every segment button.
3886
+ */
1892
3887
  "button_name"?: string;
3888
+ /**
3889
+ * Theme override class on the group, e.g. `light-mode`.
3890
+ */
1893
3891
  "component_mode"?: string;
3892
+ /**
3893
+ * Extra CSS classes added to the group.
3894
+ */
1894
3895
  "custom_class"?: string;
3896
+ /**
3897
+ * Accessible names for icon-only segments, as a JSON string array in the same order as `items`, e.g. `'["Align left", "Align center"]'`.
3898
+ */
3899
+ "icon_labels"?: string;
3900
+ /**
3901
+ * Segments, as a JSON string array, e.g. `'["All", "Pending", "Approved"]'`. A missing or invalid value renders no segments. An item that starts with `fo` renders as a Material Symbols icon name (e.g. `format_align_left`).
3902
+ */
1895
3903
  "items"?: string;
1896
3904
  /**
1897
- * Emits the newly-selected index whenever the selection changes.
3905
+ * Fires when the user selects a different segment. `detail` is the new index, from 0.
1898
3906
  */
1899
3907
  "onSegmentChange"?: (event: DdaSegmentedTabsCustomEvent<number>) => void;
3908
+ /**
3909
+ * Corner shape of the group: `square` or `rounded`.
3910
+ */
1900
3911
  "radius_type"?: string;
1901
3912
  /**
1902
- * Index of the segment selected by default. Clamped to a valid item index.
3913
+ * Index of the selected segment, from 0. Changing it after load moves the selection. An out-of-range value selects the first segment.
1903
3914
  * @default 0
1904
3915
  */
1905
3916
  "selected_index"?: number;
1906
3917
  }
1907
3918
  interface DdaSelect {
3919
+ /**
3920
+ * Accessible name of the trigger button and the option list. The list falls back to `label`.
3921
+ */
1908
3922
  "aria_label"?: string;
3923
+ /**
3924
+ * `id` of the trigger button. Also used to build the ids of the label, list, helper text and error message, so keep it unique. When it is not set, the component generates a unique id.
3925
+ */
1909
3926
  "button_id"?: string;
3927
+ /**
3928
+ * Theme override class for the field, e.g. `light-mode`.
3929
+ */
1910
3930
  "component_mode"?: string;
1911
3931
  /**
3932
+ * Extra CSS classes added to the field container.
1912
3933
  * @default ''
1913
3934
  */
1914
3935
  "custom_class"?: string;
1915
3936
  /**
3937
+ * Disables the select: the list does not open and options cannot be picked.
1916
3938
  * @default false
1917
3939
  */
1918
3940
  "disabled"?: boolean;
3941
+ /**
3942
+ * Validation state. `error` shows the error styling.
3943
+ */
1919
3944
  "error"?: string;
3945
+ /**
3946
+ * Error text shown under the field. Also sets `aria-invalid` on the trigger.
3947
+ */
1920
3948
  "error_message"?: string;
3949
+ /**
3950
+ * Helper text shown under the field.
3951
+ */
1921
3952
  "helper_text"?: string;
3953
+ /**
3954
+ * Label shown above the field. The trigger button is named by the label and its current text.
3955
+ */
1922
3956
  "label"?: string;
3957
+ /**
3958
+ * Emitted when the user picks an option other than the selected one, by mouse or keyboard. `detail.value` is the new option.
3959
+ */
3960
+ "onSelectionChange"?: (event: DdaSelectCustomEvent<{ value: string }>) => void;
3961
+ /**
3962
+ * `name` of each option button in the list.
3963
+ */
1923
3964
  "option_select_button_name"?: string;
3965
+ /**
3966
+ * Options as a JSON array string, e.g. `'["Dubai","Abu Dhabi","Sharjah"]'`. Invalid JSON shows "No options available".
3967
+ */
1924
3968
  "options"?: string;
3969
+ /**
3970
+ * The selected option. Must match an entry in `options`. The trigger shows "Select an option" when it is empty. Updated when the user picks an option. Mutable: the component assigns it.
3971
+ */
1925
3972
  "selected"?: string;
3973
+ /**
3974
+ * Field size. `small` gives the compact field; leave empty for the default size.
3975
+ */
1926
3976
  "size"?: string;
3977
+ /**
3978
+ * `name` of the trigger button.
3979
+ */
1927
3980
  "toggle_button_name"?: string;
1928
3981
  }
1929
3982
  interface DdaStickyFooter {
3983
+ /**
3984
+ * Alternative text for the accessibility icon.
3985
+ */
1930
3986
  "accessibilityIconAlt"?: string;
3987
+ /**
3988
+ * Link URL of the accessibility icon, the second icon in the left section.
3989
+ */
1931
3990
  "accessibilityIconHref"?: string;
3991
+ /**
3992
+ * Image URL of the accessibility icon.
3993
+ */
1932
3994
  "accessibilityIconSrc"?: string;
3995
+ /**
3996
+ * Tooltip text of the accessibility icon.
3997
+ */
1933
3998
  "accessibilityIconTooltip"?: string;
3999
+ /**
4000
+ * Alternative text for the AI assistant icon.
4001
+ */
1934
4002
  "aiIconAlt"?: string;
4003
+ /**
4004
+ * Link URL of the AI assistant icon (right section).
4005
+ */
1935
4006
  "aiIconHref"?: string;
4007
+ /**
4008
+ * Image URL of the AI assistant icon.
4009
+ */
1936
4010
  "aiIconSrc"?: string;
4011
+ /**
4012
+ * Tooltip text of the AI assistant icon.
4013
+ */
1937
4014
  "aiIconTooltip"?: string;
4015
+ /**
4016
+ * Accessible name of the bar's `<aside>` landmark. Default: `Quick actions`.
4017
+ * @default 'Quick actions'
4018
+ */
4019
+ "aria_label"?: string;
4020
+ /**
4021
+ * Alternative text for the chat icon.
4022
+ */
1938
4023
  "chatIconAlt"?: string;
4024
+ /**
4025
+ * Link URL of the chat icon (right section).
4026
+ */
1939
4027
  "chatIconHref"?: string;
4028
+ /**
4029
+ * Image URL of the chat icon.
4030
+ */
1940
4031
  "chatIconSrc"?: string;
4032
+ /**
4033
+ * Tooltip text of the chat icon.
4034
+ */
1941
4035
  "chatIconTooltip"?: string;
4036
+ /**
4037
+ * Alternative text for the first logo.
4038
+ */
1942
4039
  "firstLogoAlt"?: string;
1943
4040
  /**
1944
- * Middle Section Props
4041
+ * Link URL of the first logo (middle section).
1945
4042
  */
1946
4043
  "firstLogoHref"?: string;
4044
+ /**
4045
+ * Image URL of the first logo.
4046
+ */
1947
4047
  "firstLogoSrc"?: string;
4048
+ /**
4049
+ * Tooltip text of the first logo.
4050
+ */
1948
4051
  "firstLogoTooltip"?: string;
4052
+ /**
4053
+ * Alternative text for the happiness icon.
4054
+ */
1949
4055
  "happinessIconAlt"?: string;
1950
4056
  /**
1951
- * Left Section Props
4057
+ * Link URL of the happiness icon (left section).
1952
4058
  */
1953
4059
  "happinessIconHref"?: string;
4060
+ /**
4061
+ * Image URL of the happiness icon.
4062
+ */
1954
4063
  "happinessIconSrc"?: string;
4064
+ /**
4065
+ * Tooltip text of the happiness icon.
4066
+ */
1955
4067
  "happinessIconTooltip"?: string;
4068
+ /**
4069
+ * Hides the middle logo section. The section shows only when this is explicitly `false`.
4070
+ */
1956
4071
  "hideMiddleSection"?: boolean;
1957
4072
  /**
1958
- * Right Section Props
4073
+ * Link URL of the location icon (right section).
1959
4074
  */
1960
4075
  "locationButtonHref"?: string;
4076
+ /**
4077
+ * Not used: the current markup does not render it.
4078
+ */
1961
4079
  "locationButtonIcon"?: string;
4080
+ /**
4081
+ * Tooltip text and alternative text of the location icon.
4082
+ */
1962
4083
  "locationButtonText"?: string;
4084
+ /**
4085
+ * Image URL of the location icon.
4086
+ */
1963
4087
  "locationLogoSrc"?: string;
4088
+ /**
4089
+ * Link URL of the news icon (right section).
4090
+ */
1964
4091
  "newsButtonHref"?: string;
4092
+ /**
4093
+ * Not used: the current markup does not render it.
4094
+ */
1965
4095
  "newsButtonIcon"?: string;
4096
+ /**
4097
+ * Image URL of the news icon.
4098
+ */
1966
4099
  "newsButtonSrc"?: string;
4100
+ /**
4101
+ * Tooltip text and alternative text of the news icon.
4102
+ */
1967
4103
  "newsButtonText"?: string;
4104
+ /**
4105
+ * Alternative text for the second logo.
4106
+ */
1968
4107
  "secondLogoAlt"?: string;
4108
+ /**
4109
+ * Link URL of the second logo (middle section).
4110
+ */
1969
4111
  "secondLogoHref"?: string;
4112
+ /**
4113
+ * Image URL of the second logo.
4114
+ */
1970
4115
  "secondLogoSrc"?: string;
4116
+ /**
4117
+ * Tooltip text of the second logo.
4118
+ */
1971
4119
  "secondLogoTooltip"?: string;
4120
+ /**
4121
+ * Alternative text for the services icon.
4122
+ */
1972
4123
  "servicesIconAlt"?: string;
4124
+ /**
4125
+ * Link URL of the services icon (left section).
4126
+ */
1973
4127
  "servicesIconHref"?: string;
4128
+ /**
4129
+ * Image URL of the services icon.
4130
+ */
1974
4131
  "servicesIconSrc"?: string;
4132
+ /**
4133
+ * Text shown next to the services icon. Nothing is shown when it is not set.
4134
+ */
1975
4135
  "servicesIconText"?: string;
4136
+ /**
4137
+ * Tooltip text of the services icon.
4138
+ */
1976
4139
  "servicesIconTooltip"?: string;
4140
+ /**
4141
+ * Alternative text for the third logo.
4142
+ */
1977
4143
  "thirdLogoAlt"?: string;
4144
+ /**
4145
+ * Link URL of the third logo (middle section).
4146
+ */
1978
4147
  "thirdLogoHref"?: string;
4148
+ /**
4149
+ * Image URL of the third logo.
4150
+ */
1979
4151
  "thirdLogoSrc"?: string;
4152
+ /**
4153
+ * Tooltip text of the third logo.
4154
+ */
1980
4155
  "thirdLogoTooltip"?: string;
1981
4156
  }
1982
4157
  interface DdaTabs {
4158
+ /**
4159
+ * Accessible name for the tab group (`aria-label` on the `role="group"` container).
4160
+ */
1983
4161
  "aria_label"?: string;
1984
4162
  /**
4163
+ * Not used by the component; it has no effect.
1985
4164
  * @default false
1986
4165
  */
1987
4166
  "border_bottom"?: boolean;
4167
+ /**
4168
+ * `id` set on every tab button.
4169
+ */
1988
4170
  "button_id"?: string;
4171
+ /**
4172
+ * `name` set on every tab button.
4173
+ */
1989
4174
  "button_name"?: string;
4175
+ /**
4176
+ * Theme override class on the tab group, e.g. `light-mode`.
4177
+ */
1990
4178
  "component_mode"?: string;
1991
4179
  /**
4180
+ * Extra CSS classes added to the tab group.
1992
4181
  * @default ''
1993
4182
  */
1994
4183
  "custom_class"?: string;
1995
4184
  /**
4185
+ * Style of the active and hovered tab: `dda-tab-default`, `dda-tab-filed`, `dda-tab-underline` or `dda-tab-underline-filled`.
1996
4186
  * @default 'dda-tab-default'
1997
4187
  */
1998
4188
  "hover_style"?: 'dda-tab-default' | 'dda-tab-filed' | 'dda-tab-underline' | 'dda-tab-underline-filled';
1999
- "onTabClick"?: (event: DdaTabsCustomEvent<void>) => void;
2000
4189
  /**
4190
+ * Fires when the user clicks a tab. `detail` is the tab index, a number from 0.
4191
+ */
4192
+ "onTabClick"?: (event: DdaTabsCustomEvent<number>) => void;
4193
+ /**
4194
+ * Material Icons names, one per tab in the same order, as a JSON string array. Shown when `type` is `text-icon`.
2001
4195
  * @default '["sentiment_satisfied", "sentiment_satisfied", "sentiment_satisfied"]'
2002
4196
  */
2003
4197
  "tab_icons"?: string;
2004
4198
  /**
4199
+ * Tab labels, as a JSON string array, e.g. `'["Details", "Documents"]'`.
2005
4200
  * @default '["Tab 1", "Tab 2", "Tab 3"]'
2006
4201
  */
2007
4202
  "tab_texts"?: string;
2008
4203
  /**
4204
+ * Tab content: `text` (label only) or `text-icon` (icon from `tab_icons` before the label).
2009
4205
  * @default 'text'
2010
4206
  */
2011
4207
  "type"?: 'text' | 'text-icon';
2012
4208
  }
2013
4209
  interface DdaTextarea {
4210
+ /**
4211
+ * Accessible name of the textarea. Use it when there is no visible label.
4212
+ */
2014
4213
  "aria_label"?: string;
4214
+ /**
4215
+ * Theme override class for the field, e.g. `light-mode`.
4216
+ */
2015
4217
  "component_mode"?: string;
4218
+ /**
4219
+ * Extra CSS classes added to the field container.
4220
+ */
2016
4221
  "custom_class"?: string;
4222
+ /**
4223
+ * Replaces the textarea with a Quill rich text editor and toolbar.
4224
+ */
2017
4225
  "enable_rich_editor"?: boolean;
4226
+ /**
4227
+ * Error text shown below the field with the character count. When set, the field gets `aria-invalid="true"`.
4228
+ */
2018
4229
  "error_message"?: string;
4230
+ /**
4231
+ * Helper text shown below the field with the character count, linked with `aria-describedby`.
4232
+ */
2019
4233
  "helper_text"?: string;
4234
+ /**
4235
+ * `id` of the textarea or editor. Also used for the label and the helper and error text ids. Optional: an id is generated when it is not set.
4236
+ */
2020
4237
  "input_id"?: string;
4238
+ /**
4239
+ * Status style. `disabled` shows the disabled styling only; it does not set the native `disabled` attribute.
4240
+ */
2021
4241
  "input_status"?: string;
4242
+ /**
4243
+ * Visible label text, linked to the field through `input_id` (or a generated id).
4244
+ */
2022
4245
  "label"?: string;
4246
+ /**
4247
+ * Maximum number of characters (`maxlength` of the textarea), shown in the character count.
4248
+ */
2023
4249
  "max_characters"?: number;
4250
+ /**
4251
+ * Placeholder text of the textarea or the rich text editor.
4252
+ */
2024
4253
  "placeholder"?: string;
4254
+ /**
4255
+ * `name` of the textarea, submitted with its form.
4256
+ */
2025
4257
  "textarea_name"?: string;
4258
+ /**
4259
+ * Validation style. `error` shows the error colors.
4260
+ */
2026
4261
  "validation_type"?: string;
2027
4262
  /**
4263
+ * Value of the textarea. Updates as the user types; in rich text mode it holds the editor HTML.
2028
4264
  * @default ''
2029
4265
  */
2030
4266
  "value"?: string;
2031
4267
  }
2032
4268
  interface DdaToggle {
4269
+ /**
4270
+ * Accessible name of the inner checkbox input. Set it when there is no `title_text`.
4271
+ */
2033
4272
  "aria_label"?: string;
4273
+ /**
4274
+ * Checked (on) state of the inner input. Read the current state from the input or its `change` event.
4275
+ */
2034
4276
  "checked"?: boolean;
4277
+ /**
4278
+ * Theme override class for the toggle, e.g. `light-mode`.
4279
+ */
2035
4280
  "component_mode"?: string;
2036
4281
  /**
4282
+ * Extra CSS classes added to the toggle label.
2037
4283
  * @default ''
2038
4284
  */
2039
4285
  "custom_class"?: string;
4286
+ /**
4287
+ * `name` of the inner checkbox input.
4288
+ */
2040
4289
  "group_name"?: string;
4290
+ /**
4291
+ * `id` of the inner checkbox input.
4292
+ */
2041
4293
  "input_id"?: string;
4294
+ /**
4295
+ * Size: `sm`, `md` or `lg`.
4296
+ */
2042
4297
  "size"?: string;
4298
+ /**
4299
+ * Secondary text shown under the title.
4300
+ */
4301
+ "supporting"?: string;
4302
+ /**
4303
+ * Label shown next to the switch. Nothing is shown when it is not set.
4304
+ */
4305
+ "title_text"?: string;
2043
4306
  }
2044
4307
  interface DdaTooltip {
4308
+ /**
4309
+ * Theme class added to the tooltip container, e.g. `light-mode`. The tooltip styles do not change with it.
4310
+ */
2045
4311
  "component_mode"?: string;
2046
4312
  /**
4313
+ * Extra CSS classes added to the tooltip container.
2047
4314
  * @default ''
2048
4315
  */
2049
4316
  "custom_class"?: string;
4317
+ /**
4318
+ * Text shown below the heading in the tooltip box.
4319
+ */
2050
4320
  "description"?: string;
2051
4321
  /**
4322
+ * Side of the trigger where the box appears: `top`, `bottom`, `left` or `right`.
2052
4323
  * @default 'top'
2053
4324
  */
2054
4325
  "position"?: 'top' | 'bottom' | 'left' | 'right';
4326
+ /**
4327
+ * Bold heading shown in the tooltip box.
4328
+ */
2055
4329
  "title_text"?: string;
2056
4330
  }
2057
4331
  interface DdaUiCard {
2058
4332
  /**
4333
+ * Heading level (1–6) of the title; pick the level that fits the page outline.
4334
+ * @default 3
4335
+ */
4336
+ "heading_level"?: number;
4337
+ /**
4338
+ * Material Icons name shown at the top of the card, e.g. `description`.
2059
4339
  * @default ''
2060
4340
  */
2061
4341
  "icon"?: string;
2062
4342
  /**
4343
+ * URL of an image shown at the top of the card. Its alt text is `maintitle`.
2063
4344
  * @default ''
2064
4345
  */
2065
4346
  "image"?: string;
2066
4347
  /**
4348
+ * URL of the card link. The link shows only when this is set.
2067
4349
  * @default ''
2068
4350
  */
2069
4351
  "link"?: string;
2070
4352
  /**
4353
+ * Material Icons name shown after the link text. Set it to an empty string to hide the icon.
2071
4354
  * @default 'arrow_forward'
2072
4355
  */
2073
4356
  "linkicon"?: string;
2074
4357
  /**
4358
+ * Text of the card link.
2075
4359
  * @default ''
2076
4360
  */
2077
4361
  "linktext"?: string;
2078
4362
  /**
4363
+ * Card title, rendered as a heading at `heading_level`.
2079
4364
  * @default ''
2080
4365
  */
2081
4366
  "maintitle"?: string;
2082
- "onLinkClick"?: (event: DdaUiCardCustomEvent<void>) => void;
2083
4367
  /**
4368
+ * Emitted when the user clicks the card link. `detail` is the original click `MouseEvent`; call `detail.preventDefault()` to stop the navigation.
4369
+ */
4370
+ "onLinkClick"?: (event: DdaUiCardCustomEvent<MouseEvent>) => void;
4371
+ /**
4372
+ * Muted text shown below the title.
2084
4373
  * @default ''
2085
4374
  */
2086
4375
  "subtitle"?: string;
2087
4376
  /**
4377
+ * `default` renders the icon, image, title, subtitle and link from props before the slot; `custom` renders only the slot.
2088
4378
  * @default 'default'
2089
4379
  */
2090
4380
  "type"?: 'default' | 'custom';
2091
4381
  }
2092
4382
  interface DdaVerticalStepper {
4383
+ /**
4384
+ * Class added to the stepper container, e.g. `light-mode`.
4385
+ */
2093
4386
  "component_mode"?: string;
2094
4387
  /**
4388
+ * @deprecated Use `current_step`. Its attribute is `current_-step`, so it never worked in HTML.
2095
4389
  * @default 0
2096
4390
  */
2097
4391
  "current_Step"?: number;
2098
4392
  /**
4393
+ * Index of the current step, from 0. Steps up to and including it are active.
4394
+ */
4395
+ "current_step"?: number;
4396
+ /**
4397
+ * Extra CSS classes added to the stepper container.
2099
4398
  * @default ''
2100
4399
  */
2101
4400
  "custom_class"?: string;
4401
+ /**
4402
+ * Steps, as a JSON string array of `{ icon, title, subtitle, description }` objects. `icon` is a Material Icons name.
4403
+ */
2102
4404
  "steps"?: string;
2103
4405
  }
2104
4406
 
@@ -2124,6 +4426,8 @@ declare namespace LocalJSX {
2124
4426
  "first_button": string;
2125
4427
  "second_button": string;
2126
4428
  "button_name": string;
4429
+ "close_button_label": string;
4430
+ "heading_level": number;
2127
4431
  }
2128
4432
  interface DdaAttachFileAttributes {
2129
4433
  "label": string;
@@ -2162,12 +4466,14 @@ declare namespace LocalJSX {
2162
4466
  "slides": string;
2163
4467
  "slider_width": string;
2164
4468
  "slider_height": string;
4469
+ "aria_label": string;
2165
4470
  }
2166
4471
  interface DdaBreadcrumbAttributes {
2167
4472
  "design": 'text' | 'icon-text' | 'icon';
2168
4473
  "separator": 'chevron_right' | 'pen_size_2';
2169
4474
  "custom_class": string;
2170
4475
  "component_mode": string;
4476
+ "breadcrumbs": string | BreadcrumbItem[];
2171
4477
  }
2172
4478
  interface DdaButtonAttributes {
2173
4479
  "type": string;
@@ -2203,6 +4509,7 @@ declare namespace LocalJSX {
2203
4509
  "rounded": string;
2204
4510
  "icon": string;
2205
4511
  "show_close_icon": boolean;
4512
+ "close_button_label": string;
2206
4513
  "size": string;
2207
4514
  "custom_class": string;
2208
4515
  "component_mode": string;
@@ -2251,15 +4558,18 @@ declare namespace LocalJSX {
2251
4558
  "aria_label": string;
2252
4559
  "arrow_button_name": string;
2253
4560
  "dropdown_button_name": string;
4561
+ "toggle_button_label": string;
2254
4562
  }
2255
4563
  interface DdaFooterAttributes {
2256
4564
  "footerTitle": string;
4565
+ "heading_level": number;
2257
4566
  "description": string;
2258
4567
  "signUpButtonText": string;
2259
4568
  "loginButtonText": string;
2260
4569
  "logoSrc": string;
2261
4570
  "logoAlt": string;
2262
4571
  "copyrightText": string;
4572
+ "logoDescription": string;
2263
4573
  "footerSections": string;
2264
4574
  "socialIcons": string;
2265
4575
  }
@@ -2267,9 +4577,11 @@ declare namespace LocalJSX {
2267
4577
  "firstLogoSrc": string;
2268
4578
  "firstLogoWhiteSrc": string;
2269
4579
  "firstLogoAlt": string;
4580
+ "firstLogoHref": string;
2270
4581
  "secondLogoSrc": string;
2271
4582
  "secondLogoWhiteSrc": string;
2272
4583
  "secondLogoAlt": string;
4584
+ "secondLogoHref": string;
2273
4585
  "loginLink": string;
2274
4586
  "sideMenuItems": string;
2275
4587
  "quickLinks": string;
@@ -2278,10 +4590,13 @@ declare namespace LocalJSX {
2278
4590
  "loginIcon": string;
2279
4591
  "loginText": string;
2280
4592
  "language_text": string;
4593
+ "language_lang": string;
2281
4594
  "hamburger_menu_button_name": string;
4595
+ "menu_button_label": string;
2282
4596
  "accessibility_button_name": string;
2283
4597
  "search_button_name": string;
2284
4598
  "search_input_name": string;
4599
+ "search_action": string;
2285
4600
  "language_button_name": string;
2286
4601
  "close_menu_button_name": string;
2287
4602
  "close_accessibility_button_name": string;
@@ -2355,6 +4670,7 @@ declare namespace LocalJSX {
2355
4670
  "input_name": string;
2356
4671
  "toggle_button_name": string;
2357
4672
  "currency_button_name": string;
4673
+ "toggle_button_label": string;
2358
4674
  }
2359
4675
  interface DdaPaginationAttributes {
2360
4676
  "total_pages": number;
@@ -2374,6 +4690,8 @@ declare namespace LocalJSX {
2374
4690
  "button_text_next_button": string;
2375
4691
  "buttons_pages_prev_button": string;
2376
4692
  "buttons_pages_next_button": string;
4693
+ "previous_button_label": string;
4694
+ "next_button_label": string;
2377
4695
  }
2378
4696
  interface DdaPhonefieldAttributes {
2379
4697
  "label": string;
@@ -2391,6 +4709,7 @@ declare namespace LocalJSX {
2391
4709
  "button_aria_label": string;
2392
4710
  "toggle_button_name": string;
2393
4711
  "country_select_button_name": string;
4712
+ "toggle_button_label": string;
2394
4713
  "phone_input_name": string;
2395
4714
  "autocomplete": string;
2396
4715
  }
@@ -2450,6 +4769,7 @@ declare namespace LocalJSX {
2450
4769
  "button_aria_label": string;
2451
4770
  "search_input_name": string;
2452
4771
  "close_button_name": string;
4772
+ "clear_button_label": string;
2453
4773
  "search_button_name": string;
2454
4774
  }
2455
4775
  interface DdaSegmentedTabsAttributes {
@@ -2460,6 +4780,7 @@ declare namespace LocalJSX {
2460
4780
  "button_name": string;
2461
4781
  "aria_label": string;
2462
4782
  "selected_index": number;
4783
+ "icon_labels": string;
2463
4784
  }
2464
4785
  interface DdaSelectAttributes {
2465
4786
  "label": string;
@@ -2519,6 +4840,7 @@ declare namespace LocalJSX {
2519
4840
  "chatIconSrc": string;
2520
4841
  "chatIconAlt": string;
2521
4842
  "chatIconTooltip": string;
4843
+ "aria_label": string;
2522
4844
  "hideMiddleSection": boolean;
2523
4845
  }
2524
4846
  interface DdaTabsAttributes {
@@ -2557,6 +4879,8 @@ declare namespace LocalJSX {
2557
4879
  "input_id": string;
2558
4880
  "component_mode": string;
2559
4881
  "aria_label": string;
4882
+ "title_text": string;
4883
+ "supporting": string;
2560
4884
  }
2561
4885
  interface DdaTooltipAttributes {
2562
4886
  "title_text": string;
@@ -2574,9 +4898,11 @@ declare namespace LocalJSX {
2574
4898
  "link": string;
2575
4899
  "linktext": string;
2576
4900
  "linkicon": string;
4901
+ "heading_level": number;
2577
4902
  }
2578
4903
  interface DdaVerticalStepperAttributes {
2579
4904
  "steps": string;
4905
+ "current_step": number;
2580
4906
  "current_Step": number;
2581
4907
  "custom_class": string;
2582
4908
  "component_mode": string;