@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
@@ -1,19 +1,33 @@
1
1
  import { h, Host } from "@stencil/core";
2
+ import { uniqueId } from "../../utils/unique-id";
2
3
  export class DdaSearchInput {
3
4
  constructor() {
5
+ /** Placeholder text of the search input. */
4
6
  this.placeholder = 'Search';
5
- this.size = 'sm'; // default to small size
6
- this.show_button = false; // control to show/hide search button
7
- this.has_error = false; // control error state
7
+ /** Size. `small` shows a smaller field; other values show the default size. */
8
+ this.size = 'sm';
9
+ /** Shows a "Search" button after the clear button. */
10
+ this.show_button = false;
11
+ /** Shows the error colors. */
12
+ this.has_error = false;
13
+ /** Extra CSS classes added to the field container. */
8
14
  this.custom_class = '';
15
+ /** Accessible name of the clear button. `button_aria_label` wins when set. */
16
+ this.clear_button_label = 'Clear search';
17
+ // Per-instance fallback, so the label, helper and error text stay linked
18
+ // to the search input when the consumer omits input_id.
19
+ this.fallbackId = uniqueId('dda-search-input');
20
+ }
21
+ // F-016: ids derived from the search input id (the consumer-supplied
22
+ // input_id, or the generated fallback), same pattern as dda-input.
23
+ get inputId() {
24
+ return this.input_id || this.fallbackId;
9
25
  }
10
- // F-016: ids derived from the consumer-supplied input_id, same pattern as
11
- // dda-input/dda-select.
12
26
  get helperId() {
13
- return this.input_id ? `${this.input_id}-helper` : undefined;
27
+ return `${this.inputId}-helper`;
14
28
  }
15
29
  get errorId() {
16
- return this.input_id ? `${this.input_id}-error` : undefined;
30
+ return `${this.inputId}-error`;
17
31
  }
18
32
  get describedBy() {
19
33
  const ids = [
@@ -24,14 +38,15 @@ export class DdaSearchInput {
24
38
  }
25
39
  clearInput() {
26
40
  // Was `#search` — the search input's id is now the consumer-supplied
27
- // input_id (possibly undefined), so target the stable class instead.
41
+ // input_id or a generated one, so target the stable class instead.
28
42
  const input = this.el.querySelector('.dda-search-field');
29
43
  if (input) {
30
44
  input.value = '';
31
45
  }
32
46
  }
33
47
  render() {
34
- return (h(Host, { key: 'defadb63674c2c2a74ff001a33c46e1b70884362' }, h("div", { key: '6b485070024fe6138c6964aafd30ac31f76add42', class: `dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}` }, this.label && h("label", { key: '71564d0889be28002cedf12d11159be2c0fc6ad8', htmlFor: this.input_id, class: "dda-input-label" }, this.label), h("div", { key: 'edd31c93a5098642a98952e9e786a1f52cef5f57', class: "dda-search-area dda-search-action" }, h("i", { key: '708fbf189d534e27c1a26c9491389c6caae0826d', class: "material-icons icon-left" }, "search"), h("input", { key: '8e1a5df3baf8c894a474047ff041db15191bc874', name: this.search_input_name, "aria-label": this.aria_label, id: this.input_id, type: "text", class: "dda-input-field dda-search-field", placeholder: this.placeholder, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined }), h("div", { key: '622e7a0ee2b0659ced993f533369e27bab553d6b', class: "dda-search-btngroup" }, h("button", { key: 'f508784161c13624b4cc30baaa05c031c6dbbbe4', name: this.close_button_name, "aria-label": this.button_aria_label, id: this.button_id, type: "button", class: "icon-close", onClick: () => this.clearInput() }, h("i", { key: '6680303fc0fe51810eaf1e2f2f509ac894fc0a8a', class: "material-icons material-symbols-outlined" }, "close")), this.show_button && (h("button", { key: '37c5dce6caff03bca2b018f2a789b5de2614aded', name: this.search_button_name, type: "button", class: "dda-btn btn-color-default-primary dda-btn-sm" }, "Search")))), this.helper_text && h("span", { key: 'ca5d52ea2953f2de298b6dbbca209697b006220f', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: '2c7e0710441d65ed6a4652fc3962629c4a644b05', id: this.errorId, class: "dda-error-message" }, this.error_message))));
48
+ const id = this.inputId;
49
+ return (h(Host, { key: '63dd0ce5b1ba526bc4f2b79cd4646f433bf7f5b1' }, h("div", { key: '4b19e3abcdd6e920b8146484f1e859c449eb6f56', class: `dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}` }, this.label && h("label", { key: '54f45f95ae269e974064a01d9453934ef25f1f82', htmlFor: id, class: "dda-input-label" }, this.label), h("div", { key: '51b6460a3a04c80947ce2a9f68cbd472d2dac945', class: "dda-search-area dda-search-action" }, h("i", { key: '2d19436afd728672b1dee78a5888a66a9418e929', class: "material-icons icon-left", "aria-hidden": "true" }, "search"), h("input", { key: 'a28e11d99e628aeb122c857bad226bea62881a1f', name: this.search_input_name, "aria-label": this.aria_label, id: id, type: "text", class: "dda-input-field dda-search-field", placeholder: this.placeholder, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined }), h("div", { key: 'd0064ab0d27ad86ef26d048a604de6d93f290c60', class: "dda-search-btngroup" }, h("button", { key: 'a6e9f7288c8ff9123553e80f74e36467bc6f5b43', name: this.close_button_name, "aria-label": this.button_aria_label || this.clear_button_label, id: this.button_id, type: "button", class: "icon-close", onClick: () => this.clearInput() }, h("i", { key: '2676bd651dd8fffd3f6ebf76dc812bfb0272e003', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")), this.show_button && (h("button", { key: '455e7da64da6df0b345ad44559a8a403b44d07f8', name: this.search_button_name, type: "button", class: "dda-btn btn-color-default-primary dda-btn-sm" }, "Search")))), this.helper_text && h("span", { key: 'fe5fbeb25377cf89d4d1fa3520d4c11fd44eb55c', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: '8538814d841caf3e75b0f4edb33c5d53d442b792', id: this.errorId, class: "dda-error-message" }, this.error_message))));
35
50
  }
36
51
  static get is() { return "dda-search-input"; }
37
52
  static get originalStyleUrls() {
@@ -58,7 +73,7 @@ export class DdaSearchInput {
58
73
  "optional": false,
59
74
  "docs": {
60
75
  "tags": [],
61
- "text": ""
76
+ "text": "Placeholder text of the search input."
62
77
  },
63
78
  "getter": false,
64
79
  "setter": false,
@@ -78,7 +93,7 @@ export class DdaSearchInput {
78
93
  "optional": false,
79
94
  "docs": {
80
95
  "tags": [],
81
- "text": ""
96
+ "text": "Visible label text, linked to the search input through `input_id` (or a generated id)."
82
97
  },
83
98
  "getter": false,
84
99
  "setter": false,
@@ -97,7 +112,7 @@ export class DdaSearchInput {
97
112
  "optional": false,
98
113
  "docs": {
99
114
  "tags": [],
100
- "text": ""
115
+ "text": "Size. `small` shows a smaller field; other values show the default size."
101
116
  },
102
117
  "getter": false,
103
118
  "setter": false,
@@ -117,7 +132,7 @@ export class DdaSearchInput {
117
132
  "optional": false,
118
133
  "docs": {
119
134
  "tags": [],
120
- "text": ""
135
+ "text": "Error text shown below the field. When set, the input gets `aria-invalid=\"true\"`."
121
136
  },
122
137
  "getter": false,
123
138
  "setter": false,
@@ -136,7 +151,7 @@ export class DdaSearchInput {
136
151
  "optional": false,
137
152
  "docs": {
138
153
  "tags": [],
139
- "text": ""
154
+ "text": "Shows a \"Search\" button after the clear button."
140
155
  },
141
156
  "getter": false,
142
157
  "setter": false,
@@ -156,7 +171,7 @@ export class DdaSearchInput {
156
171
  "optional": false,
157
172
  "docs": {
158
173
  "tags": [],
159
- "text": ""
174
+ "text": "Helper text shown below the field and linked with `aria-describedby`."
160
175
  },
161
176
  "getter": false,
162
177
  "setter": false,
@@ -175,7 +190,7 @@ export class DdaSearchInput {
175
190
  "optional": true,
176
191
  "docs": {
177
192
  "tags": [],
178
- "text": ""
193
+ "text": "Status style. `disabled` shows the disabled styling only; it does not set the native `disabled` attribute."
179
194
  },
180
195
  "getter": false,
181
196
  "setter": false,
@@ -194,7 +209,7 @@ export class DdaSearchInput {
194
209
  "optional": false,
195
210
  "docs": {
196
211
  "tags": [],
197
- "text": ""
212
+ "text": "Shows the error colors."
198
213
  },
199
214
  "getter": false,
200
215
  "setter": false,
@@ -214,7 +229,7 @@ export class DdaSearchInput {
214
229
  "optional": true,
215
230
  "docs": {
216
231
  "tags": [],
217
- "text": ""
232
+ "text": "Extra CSS classes added to the field container."
218
233
  },
219
234
  "getter": false,
220
235
  "setter": false,
@@ -234,7 +249,7 @@ export class DdaSearchInput {
234
249
  "optional": true,
235
250
  "docs": {
236
251
  "tags": [],
237
- "text": ""
252
+ "text": "Theme override class for the field, e.g. `light-mode`."
238
253
  },
239
254
  "getter": false,
240
255
  "setter": false,
@@ -253,7 +268,7 @@ export class DdaSearchInput {
253
268
  "optional": true,
254
269
  "docs": {
255
270
  "tags": [],
256
- "text": ""
271
+ "text": "`id` of the clear button."
257
272
  },
258
273
  "getter": false,
259
274
  "setter": false,
@@ -272,7 +287,7 @@ export class DdaSearchInput {
272
287
  "optional": true,
273
288
  "docs": {
274
289
  "tags": [],
275
- "text": ""
290
+ "text": "`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."
276
291
  },
277
292
  "getter": false,
278
293
  "setter": false,
@@ -291,7 +306,7 @@ export class DdaSearchInput {
291
306
  "optional": true,
292
307
  "docs": {
293
308
  "tags": [],
294
- "text": ""
309
+ "text": "Accessible name of the search input. Use it when there is no visible label."
295
310
  },
296
311
  "getter": false,
297
312
  "setter": false,
@@ -310,7 +325,7 @@ export class DdaSearchInput {
310
325
  "optional": true,
311
326
  "docs": {
312
327
  "tags": [],
313
- "text": ""
328
+ "text": "Accessible name of the clear button, e.g. `Clear search`."
314
329
  },
315
330
  "getter": false,
316
331
  "setter": false,
@@ -329,7 +344,7 @@ export class DdaSearchInput {
329
344
  "optional": false,
330
345
  "docs": {
331
346
  "tags": [],
332
- "text": ""
347
+ "text": "`name` of the search input, submitted with its form."
333
348
  },
334
349
  "getter": false,
335
350
  "setter": false,
@@ -348,13 +363,33 @@ export class DdaSearchInput {
348
363
  "optional": false,
349
364
  "docs": {
350
365
  "tags": [],
351
- "text": ""
366
+ "text": "`name` of the clear button."
352
367
  },
353
368
  "getter": false,
354
369
  "setter": false,
355
370
  "reflect": false,
356
371
  "attribute": "close_button_name"
357
372
  },
373
+ "clear_button_label": {
374
+ "type": "string",
375
+ "mutable": false,
376
+ "complexType": {
377
+ "original": "string",
378
+ "resolved": "string",
379
+ "references": {}
380
+ },
381
+ "required": false,
382
+ "optional": false,
383
+ "docs": {
384
+ "tags": [],
385
+ "text": "Accessible name of the clear button. `button_aria_label` wins when set."
386
+ },
387
+ "getter": false,
388
+ "setter": false,
389
+ "reflect": false,
390
+ "attribute": "clear_button_label",
391
+ "defaultValue": "'Clear search'"
392
+ },
358
393
  "search_button_name": {
359
394
  "type": "string",
360
395
  "mutable": false,
@@ -367,7 +402,7 @@ export class DdaSearchInput {
367
402
  "optional": false,
368
403
  "docs": {
369
404
  "tags": [],
370
- "text": ""
405
+ "text": "`name` of the \"Search\" button."
371
406
  },
372
407
  "getter": false,
373
408
  "setter": false,
@@ -61,10 +61,6 @@ export default {
61
61
  control: { type: 'text' },
62
62
  describe: 'Aria label for the clear button',
63
63
  },
64
- onchange: {
65
- control: { type: 'text' },
66
- description: 'onchange event for the search field',
67
- },
68
64
  search_input_name: {
69
65
  control: { type: 'text' },
70
66
  description: 'Name for the search input field',
@@ -99,7 +95,6 @@ export default {
99
95
  input_id="search"
100
96
  aria_label="search-input"
101
97
  button_aria_label="clear-search"
102
- onchange="console.log('changed')"
103
98
  search_input_name="search-input"
104
99
  close_button_name="close-button"
105
100
  search_button_name="search-button"
@@ -132,7 +127,6 @@ Default.args = {
132
127
  input_id: 'search',
133
128
  aria_label: 'search-input',
134
129
  button_aria_label: 'clear-search',
135
- onchange: '',
136
130
  search_input_name: "search-input",
137
131
  close_button_name: "close-button",
138
132
  search_button_name: "search-button",
@@ -152,7 +146,6 @@ WithButton.args = {
152
146
  input_id: 'search',
153
147
  aria_label: 'search-input',
154
148
  button_aria_label: 'clear-search',
155
- onchange: '',
156
149
  search_input_name: "search-input",
157
150
  close_button_name: "close-button",
158
151
  search_button_name: "search-button",
@@ -171,7 +164,6 @@ WithError.args = {
171
164
  input_id: 'search',
172
165
  aria_label: 'search-input',
173
166
  button_aria_label: 'clear-search',
174
- onchange: '',
175
167
  search_input_name: "search-input",
176
168
  close_button_name: "close-button",
177
169
  search_button_name: "search-button",
@@ -191,7 +183,6 @@ Disabled.args = {
191
183
  input_id: 'search',
192
184
  aria_label: 'search-input',
193
185
  button_aria_label: 'clear-search',
194
- onchange: '',
195
186
  search_input_name: "search-input",
196
187
  close_button_name: "close-button",
197
188
  search_button_name: "search-button",
@@ -1,14 +1,20 @@
1
1
  import { h, Host } from "@stencil/core";
2
+ import { uniqueId } from "../../utils/unique-id";
2
3
  export class Ddaselect {
3
4
  constructor() {
5
+ /** Disables the select: the list does not open and options cannot be picked. */
4
6
  this.disabled = false;
5
7
  this.is_open = false;
6
8
  //@Prop() validationtype?: string;
9
+ /** Extra CSS classes added to the field container. */
7
10
  this.custom_class = '';
8
11
  // F-014: focus target requested by a keyboard interaction (ArrowDown/Up
9
12
  // from the trigger) that fires before the listbox exists in the DOM.
10
13
  // Consumed by componentDidRender, then cleared.
11
14
  this.pendingFocusIndex = null;
15
+ // Fallback id so the label, list and messages are wired when no button_id
16
+ // is passed (otherwise ids became "undefined-listbox" and the label had for="").
17
+ this.fallbackId = uniqueId('dda-select');
12
18
  this.onTriggerKeyDown = (event) => {
13
19
  if (this.disabled) {
14
20
  return;
@@ -68,15 +74,21 @@ export class Ddaselect {
68
74
  }
69
75
  };
70
76
  }
77
+ get triggerId() {
78
+ return this.button_id || this.fallbackId;
79
+ }
80
+ get labelId() {
81
+ return `${this.triggerId}-label`;
82
+ }
71
83
  get listboxId() {
72
- return `${this.button_id}-listbox`;
84
+ return `${this.triggerId}-listbox`;
73
85
  }
74
- // F-016: same button_id-derived uniqueness pattern as listboxId above.
86
+ // F-016: same trigger-id-derived uniqueness pattern as listboxId above.
75
87
  get helperId() {
76
- return this.button_id ? `${this.button_id}-helper` : undefined;
88
+ return `${this.triggerId}-helper`;
77
89
  }
78
90
  get errorId() {
79
- return this.button_id ? `${this.button_id}-error` : undefined;
91
+ return `${this.triggerId}-error`;
80
92
  }
81
93
  get describedBy() {
82
94
  const ids = [
@@ -122,10 +134,28 @@ export class Ddaselect {
122
134
  trigger.focus();
123
135
  }
124
136
  }
137
+ // The label has no `for`: label[for] on a <button> replaces the button text
138
+ // as its name, so the selected value was not announced. A click on the label
139
+ // still acts on the trigger, like a native label click did.
140
+ onHostClick(event) {
141
+ const target = event.target;
142
+ if (!target || typeof target.closest !== 'function' || !target.closest('label.dda-input-label')) {
143
+ return;
144
+ }
145
+ const trigger = this.el.querySelector('.dda-select-header');
146
+ if (trigger) {
147
+ trigger.focus();
148
+ }
149
+ this.toggleSelect();
150
+ }
125
151
  selectOption(option) {
126
152
  if (!this.disabled) {
153
+ const changed = this.selected !== option;
127
154
  this.selected = option;
128
155
  this.closeAndReturnFocus();
156
+ if (changed) {
157
+ this.selectionChange.emit({ value: option });
158
+ }
129
159
  }
130
160
  }
131
161
  componentDidRender() {
@@ -136,7 +166,8 @@ export class Ddaselect {
136
166
  }
137
167
  }
138
168
  render() {
139
- return (h(Host, { key: '24112cb3263994d6e4b7c87a5a1ec75d010c6ee0' }, h("div", { key: '9d49fc8c1905079e83a8949ca8c1f46fa3255401', class: `dda-input-container ${this.custom_class} ${this.component_mode} ${this.disabled ? 'dda-input-disabled' : ''} ${this.is_open ? 'show' : 'hide'} dda-input-size-${this.size} dda-validation-${this.error} ` }, this.label && h("label", { key: '96d14ea8c1174032261945b9bef49f23e6ff55b6', htmlFor: this.button_id, class: "dda-input-label" }, this.label), h("div", { key: '0896838d28313f76b1938c225bdf5df1fdbc7849', class: "dda-dropdown-container" }, h("button", { key: 'a224ad80778a6e315735e806a0afbb4fc7c57e93', name: this.toggle_button_name, "aria-label": this.aria_label, id: this.button_id, type: "button", class: "dda-input-field dda-select-header", "aria-haspopup": "listbox", "aria-expanded": this.is_open ? 'true' : 'false', "aria-controls": this.is_open ? this.listboxId : undefined, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined, onClick: () => { this.toggleSelect(); }, onKeyDown: this.onTriggerKeyDown }, this.selected || 'Select an option', h("i", { key: '7ed3bdb440c0a892795af32b1b2f9105633d5af7', class: `material-icons` }, this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.is_open && (h("div", { key: '266c9fc8de36433de06bf289a854c22ab499f0ca', id: this.listboxId, role: "listbox", "aria-label": this.aria_label || this.label, class: "dda-input-dropdown-list dda-select-list" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map((option, index) => (h("button", { name: this.option_select_button_name, type: "button", role: "option", "aria-selected": this.selected === option ? 'true' : 'false', tabIndex: index === this.initialOptionIndex() ? 0 : -1, class: `dda-input-dropdown-item ${this.selected === option ? 'selected' : ''}`, onClick: () => this.selectOption(option), onKeyDown: (event) => this.onOptionKeyDown(event, option) }, option)))) : (h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.helper_text && h("span", { key: '62028ea0d45943d0728f71ec58122ab58a554ec7', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: '30f11a0804b15424e0ca7a8769477f5f4547b191', id: this.errorId, class: "dda-error-message" }, this.error_message))));
169
+ const id = this.triggerId;
170
+ return (h(Host, { key: '35fead649fe2206feb1749d1accbdddb2691d09d' }, h("div", { key: 'd41d81d1944c32c379f9289efd276bccf5f25a1a', class: `dda-input-container ${this.custom_class} ${this.component_mode} ${this.disabled ? 'dda-input-disabled' : ''} ${this.is_open ? 'show' : 'hide'} dda-input-size-${this.size} dda-validation-${this.error} ` }, this.label && h("label", { key: '8bd67c36aab4be42289b73f0f95466c0cc3da1f3', id: this.labelId, class: "dda-input-label" }, this.label), h("div", { key: 'a99b28ef07e8fa4577e12e964eaa4a55c73ced8b', class: "dda-dropdown-container" }, h("button", { key: 'a03cc3709395e13290d78fcbc497d56953fa16ae', name: this.toggle_button_name, "aria-label": this.aria_label, "aria-labelledby": this.label && !this.aria_label ? `${this.labelId} ${id}` : undefined, id: id, type: "button", class: "dda-input-field dda-select-header", "aria-haspopup": "listbox", "aria-expanded": this.is_open ? 'true' : 'false', "aria-controls": this.is_open ? this.listboxId : undefined, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined, onClick: () => { this.toggleSelect(); }, onKeyDown: this.onTriggerKeyDown }, this.selected || 'Select an option', h("i", { key: '6764cc54e1b60305b9a0f3bf528ec6d74dd8433d', class: `material-icons`, "aria-hidden": "true" }, this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.is_open && (h("div", { key: '418cae53a5351d92e5b55186d58b97bd62dc8bcb', id: this.listboxId, role: "listbox", "aria-label": this.aria_label || this.label, class: "dda-input-dropdown-list dda-select-list" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map((option, index) => (h("button", { name: this.option_select_button_name, type: "button", role: "option", "aria-selected": this.selected === option ? 'true' : 'false', tabIndex: index === this.initialOptionIndex() ? 0 : -1, class: `dda-input-dropdown-item ${this.selected === option ? 'selected' : ''}`, onClick: () => this.selectOption(option), onKeyDown: (event) => this.onOptionKeyDown(event, option) }, option)))) : (h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.helper_text && h("span", { key: '064eb06fc8dea8656c753aa4372be0a797241a22', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: 'fbe4f80920eac2f18c99177f2425b443f497e569', id: this.errorId, class: "dda-error-message" }, this.error_message))));
140
171
  }
141
172
  static get is() { return "dda-select"; }
142
173
  static get originalStyleUrls() {
@@ -163,7 +194,7 @@ export class Ddaselect {
163
194
  "optional": false,
164
195
  "docs": {
165
196
  "tags": [],
166
- "text": ""
197
+ "text": "Label shown above the field. The trigger button is named by the label and its current text."
167
198
  },
168
199
  "getter": false,
169
200
  "setter": false,
@@ -182,7 +213,7 @@ export class Ddaselect {
182
213
  "optional": false,
183
214
  "docs": {
184
215
  "tags": [],
185
- "text": ""
216
+ "text": "Options as a JSON array string, e.g. `'[\"Dubai\",\"Abu Dhabi\",\"Sharjah\"]'`. Invalid JSON shows \"No options available\"."
186
217
  },
187
218
  "getter": false,
188
219
  "setter": false,
@@ -191,7 +222,7 @@ export class Ddaselect {
191
222
  },
192
223
  "selected": {
193
224
  "type": "string",
194
- "mutable": false,
225
+ "mutable": true,
195
226
  "complexType": {
196
227
  "original": "string",
197
228
  "resolved": "string",
@@ -201,7 +232,7 @@ export class Ddaselect {
201
232
  "optional": false,
202
233
  "docs": {
203
234
  "tags": [],
204
- "text": ""
235
+ "text": "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."
205
236
  },
206
237
  "getter": false,
207
238
  "setter": false,
@@ -220,7 +251,7 @@ export class Ddaselect {
220
251
  "optional": false,
221
252
  "docs": {
222
253
  "tags": [],
223
- "text": ""
254
+ "text": "Disables the select: the list does not open and options cannot be picked."
224
255
  },
225
256
  "getter": false,
226
257
  "setter": false,
@@ -240,7 +271,7 @@ export class Ddaselect {
240
271
  "optional": true,
241
272
  "docs": {
242
273
  "tags": [],
243
- "text": ""
274
+ "text": "Validation state. `error` shows the error styling."
244
275
  },
245
276
  "getter": false,
246
277
  "setter": false,
@@ -259,7 +290,7 @@ export class Ddaselect {
259
290
  "optional": false,
260
291
  "docs": {
261
292
  "tags": [],
262
- "text": ""
293
+ "text": "Error text shown under the field. Also sets `aria-invalid` on the trigger."
263
294
  },
264
295
  "getter": false,
265
296
  "setter": false,
@@ -278,7 +309,7 @@ export class Ddaselect {
278
309
  "optional": false,
279
310
  "docs": {
280
311
  "tags": [],
281
- "text": ""
312
+ "text": "Helper text shown under the field."
282
313
  },
283
314
  "getter": false,
284
315
  "setter": false,
@@ -297,7 +328,7 @@ export class Ddaselect {
297
328
  "optional": true,
298
329
  "docs": {
299
330
  "tags": [],
300
- "text": ""
331
+ "text": "Field size. `small` gives the compact field; leave empty for the default size."
301
332
  },
302
333
  "getter": false,
303
334
  "setter": false,
@@ -316,7 +347,7 @@ export class Ddaselect {
316
347
  "optional": true,
317
348
  "docs": {
318
349
  "tags": [],
319
- "text": ""
350
+ "text": "Extra CSS classes added to the field container."
320
351
  },
321
352
  "getter": false,
322
353
  "setter": false,
@@ -336,7 +367,7 @@ export class Ddaselect {
336
367
  "optional": true,
337
368
  "docs": {
338
369
  "tags": [],
339
- "text": ""
370
+ "text": "Theme override class for the field, e.g. `light-mode`."
340
371
  },
341
372
  "getter": false,
342
373
  "setter": false,
@@ -355,7 +386,7 @@ export class Ddaselect {
355
386
  "optional": true,
356
387
  "docs": {
357
388
  "tags": [],
358
- "text": ""
389
+ "text": "Accessible name of the trigger button and the option list. The list falls back to `label`."
359
390
  },
360
391
  "getter": false,
361
392
  "setter": false,
@@ -374,7 +405,7 @@ export class Ddaselect {
374
405
  "optional": false,
375
406
  "docs": {
376
407
  "tags": [],
377
- "text": ""
408
+ "text": "`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."
378
409
  },
379
410
  "getter": false,
380
411
  "setter": false,
@@ -393,7 +424,7 @@ export class Ddaselect {
393
424
  "optional": false,
394
425
  "docs": {
395
426
  "tags": [],
396
- "text": ""
427
+ "text": "`name` of the trigger button."
397
428
  },
398
429
  "getter": false,
399
430
  "setter": false,
@@ -412,7 +443,7 @@ export class Ddaselect {
412
443
  "optional": false,
413
444
  "docs": {
414
445
  "tags": [],
415
- "text": ""
446
+ "text": "`name` of each option button in the list."
416
447
  },
417
448
  "getter": false,
418
449
  "setter": false,
@@ -426,5 +457,32 @@ export class Ddaselect {
426
457
  "is_open": {}
427
458
  };
428
459
  }
460
+ static get events() {
461
+ return [{
462
+ "method": "selectionChange",
463
+ "name": "selectionChange",
464
+ "bubbles": true,
465
+ "cancelable": true,
466
+ "composed": true,
467
+ "docs": {
468
+ "tags": [],
469
+ "text": "Emitted when the user picks an option other than the selected one, by mouse or keyboard. `detail.value` is the new option."
470
+ },
471
+ "complexType": {
472
+ "original": "{ value: string }",
473
+ "resolved": "{ value: string; }",
474
+ "references": {}
475
+ }
476
+ }];
477
+ }
429
478
  static get elementRef() { return "el"; }
479
+ static get listeners() {
480
+ return [{
481
+ "name": "click",
482
+ "method": "onHostClick",
483
+ "target": undefined,
484
+ "capture": false,
485
+ "passive": false
486
+ }];
487
+ }
430
488
  }