dap-design-system 0.62.4 → 0.63.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 (658) hide show
  1. package/README.md +5 -1
  2. package/dist/common/utils.js +46 -46
  3. package/dist/common/utils.js.map +1 -1
  4. package/dist/components/accordion/accordion-base-element.js +15 -19
  5. package/dist/components/accordion/accordion-base-element.js.map +1 -1
  6. package/dist/components/accordion/accordion.component.d.ts +1 -0
  7. package/dist/components/accordion/accordion.component.js.map +1 -1
  8. package/dist/components/accordion-group/accordion-group.component.js +20 -24
  9. package/dist/components/accordion-group/accordion-group.component.js.map +1 -1
  10. package/dist/components/anchor-heading/anchor-heading.component.d.ts +1 -0
  11. package/dist/components/anchor-heading/anchor-heading.component.js +20 -23
  12. package/dist/components/anchor-heading/anchor-heading.component.js.map +1 -1
  13. package/dist/components/avatar/avatar.component.js +51 -55
  14. package/dist/components/avatar/avatar.component.js.map +1 -1
  15. package/dist/components/avatar-group/avatar-group.component.js +18 -22
  16. package/dist/components/avatar-group/avatar-group.component.js.map +1 -1
  17. package/dist/components/badge/badge.component.js +17 -20
  18. package/dist/components/badge/badge.component.js.map +1 -1
  19. package/dist/components/banner/banner.component.d.ts +1 -1
  20. package/dist/components/banner/banner.component.js +18 -24
  21. package/dist/components/banner/banner.component.js.map +1 -1
  22. package/dist/components/breadcrumb/breadcrumb.component.d.ts +2 -1
  23. package/dist/components/breadcrumb/breadcrumb.component.js +32 -32
  24. package/dist/components/breadcrumb/breadcrumb.component.js.map +1 -1
  25. package/dist/components/breadcrumb-item/breadcrumb-item.component.d.ts +8 -0
  26. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +33 -28
  27. package/dist/components/breadcrumb-item/breadcrumb-item.component.js.map +1 -1
  28. package/dist/components/button/_styles/button.scss.js +1 -1
  29. package/dist/components/button/button.component.js +18 -22
  30. package/dist/components/button/button.component.js.map +1 -1
  31. package/dist/components/button-group/_styles/button-group-separator.scss.js +5 -0
  32. package/dist/components/button-group/_styles/button-group-separator.scss.js.map +1 -0
  33. package/dist/components/button-group/_styles/button-group-text.scss.js +5 -0
  34. package/dist/components/button-group/_styles/button-group-text.scss.js.map +1 -0
  35. package/dist/components/button-group/_styles/button-group.scss.js +5 -0
  36. package/dist/components/button-group/_styles/button-group.scss.js.map +1 -0
  37. package/dist/components/button-group/button-group-separator.component.d.ts +28 -0
  38. package/dist/components/button-group/button-group-separator.component.js +18 -0
  39. package/dist/components/button-group/button-group-separator.component.js.map +1 -0
  40. package/dist/components/button-group/button-group-separator.d.ts +8 -0
  41. package/dist/components/button-group/button-group-separator.js +6 -0
  42. package/dist/components/button-group/button-group-separator.js.map +1 -0
  43. package/dist/components/button-group/button-group-text.component.d.ts +33 -0
  44. package/dist/components/button-group/button-group-text.component.js +17 -0
  45. package/dist/components/button-group/button-group-text.component.js.map +1 -0
  46. package/dist/components/button-group/button-group-text.d.ts +8 -0
  47. package/dist/components/button-group/button-group-text.js +6 -0
  48. package/dist/components/button-group/button-group-text.js.map +1 -0
  49. package/dist/components/button-group/button-group.component.d.ts +52 -0
  50. package/dist/components/button-group/button-group.component.js +30 -0
  51. package/dist/components/button-group/button-group.component.js.map +1 -0
  52. package/dist/components/button-group/button-group.d.ts +8 -0
  53. package/dist/components/button-group/button-group.js +6 -0
  54. package/dist/components/button-group/button-group.js.map +1 -0
  55. package/dist/components/calendar/calendar-cell.component.js +26 -29
  56. package/dist/components/calendar/calendar-cell.component.js.map +1 -1
  57. package/dist/components/calendar/calendar.component.d.ts +10 -1
  58. package/dist/components/calendar/calendar.component.js +37 -46
  59. package/dist/components/calendar/calendar.component.js.map +1 -1
  60. package/dist/components/callout/callout.component.d.ts +4 -0
  61. package/dist/components/callout/callout.component.js +71 -69
  62. package/dist/components/callout/callout.component.js.map +1 -1
  63. package/dist/components/card/card-actions.component.js +8 -11
  64. package/dist/components/card/card-actions.component.js.map +1 -1
  65. package/dist/components/card/card-content.component.js +20 -23
  66. package/dist/components/card/card-content.component.js.map +1 -1
  67. package/dist/components/card/card-image.component.js +18 -21
  68. package/dist/components/card/card-image.component.js.map +1 -1
  69. package/dist/components/card/card-subtitle.component.js +18 -21
  70. package/dist/components/card/card-subtitle.component.js.map +1 -1
  71. package/dist/components/card/card-title.component.js +18 -21
  72. package/dist/components/card/card-title.component.js.map +1 -1
  73. package/dist/components/card/card.component.d.ts +1 -0
  74. package/dist/components/card/card.component.js +25 -28
  75. package/dist/components/card/card.component.js.map +1 -1
  76. package/dist/components/checkbox/_styles/checkbox.scss.js +1 -1
  77. package/dist/components/checkbox/checkbox.component.d.ts +7 -1
  78. package/dist/components/checkbox/checkbox.component.js +71 -74
  79. package/dist/components/checkbox/checkbox.component.js.map +1 -1
  80. package/dist/components/chip/chip.component.d.ts +1 -0
  81. package/dist/components/chip/chip.component.js +21 -26
  82. package/dist/components/chip/chip.component.js.map +1 -1
  83. package/dist/components/code-puncher/code-puncher-slot.component.js +34 -38
  84. package/dist/components/code-puncher/code-puncher-slot.component.js.map +1 -1
  85. package/dist/components/code-puncher/code-puncher.component.d.ts +4 -0
  86. package/dist/components/code-puncher/code-puncher.component.js +97 -102
  87. package/dist/components/code-puncher/code-puncher.component.js.map +1 -1
  88. package/dist/components/code-puncher/code-puncher.context.js +1 -1
  89. package/dist/components/code-puncher/code-puncher.context.js.map +1 -1
  90. package/dist/components/code-puncher/code-puncher.scss.js +1 -1
  91. package/dist/components/combobox/combobox.component.d.ts +9 -1
  92. package/dist/components/combobox/combobox.component.js.map +1 -1
  93. package/dist/components/combobox/combobox.scss.js +1 -1
  94. package/dist/components/combobox/comboboxBase.d.ts +21 -0
  95. package/dist/components/combobox/comboboxBase.js +176 -139
  96. package/dist/components/combobox/comboboxBase.js.map +1 -1
  97. package/dist/components/command/command-group.component.js +19 -23
  98. package/dist/components/command/command-group.component.js.map +1 -1
  99. package/dist/components/command/command-item.component.js +17 -22
  100. package/dist/components/command/command-item.component.js.map +1 -1
  101. package/dist/components/command/command.component.d.ts +3 -0
  102. package/dist/components/command/command.component.js +28 -33
  103. package/dist/components/command/command.component.js.map +1 -1
  104. package/dist/components/content-switcher/content-switcher-item.component.js +16 -19
  105. package/dist/components/content-switcher/content-switcher-item.component.js.map +1 -1
  106. package/dist/components/content-switcher/content-switcher.component.js +19 -22
  107. package/dist/components/content-switcher/content-switcher.component.js.map +1 -1
  108. package/dist/components/copybox-input/copybox-input.component.d.ts +11 -0
  109. package/dist/components/copybox-input/copybox-input.component.js +12 -16
  110. package/dist/components/copybox-input/copybox-input.component.js.map +1 -1
  111. package/dist/components/dap-badge/dap-badge.component.js +13 -18
  112. package/dist/components/dap-badge/dap-badge.component.js.map +1 -1
  113. package/dist/components/datatable/datatable.component.d.ts +17 -0
  114. package/dist/components/datatable/datatable.component.js +38 -42
  115. package/dist/components/datatable/datatable.component.js.map +1 -1
  116. package/dist/components/datatable/utils/cell-renderer.js +6 -8
  117. package/dist/components/datatable/utils/cell-renderer.js.map +1 -1
  118. package/dist/components/datepicker/datepicker.component.d.ts +8 -0
  119. package/dist/components/datepicker/datepicker.component.js +76 -81
  120. package/dist/components/datepicker/datepicker.component.js.map +1 -1
  121. package/dist/components/datepicker/datepicker.scss.js +1 -1
  122. package/dist/components/divider/divider.component.js +18 -21
  123. package/dist/components/divider/divider.component.js.map +1 -1
  124. package/dist/components/feedback/feedback.component.js +8 -11
  125. package/dist/components/feedback/feedback.component.js.map +1 -1
  126. package/dist/components/file-input/file-input-list-item.component.d.ts +1 -0
  127. package/dist/components/file-input/file-input-list-item.component.js +36 -40
  128. package/dist/components/file-input/file-input-list-item.component.js.map +1 -1
  129. package/dist/components/file-input/file-input-list.component.js +15 -20
  130. package/dist/components/file-input/file-input-list.component.js.map +1 -1
  131. package/dist/components/file-input/file-input-list.scss.js +1 -1
  132. package/dist/components/file-input/file-input.component.d.ts +3 -0
  133. package/dist/components/file-input/file-input.component.js +135 -142
  134. package/dist/components/file-input/file-input.component.js.map +1 -1
  135. package/dist/components/file-input/file-input.scss.js +1 -1
  136. package/dist/components/form/form-label/form-label.component.d.ts +1 -1
  137. package/dist/components/form/form-label/form-label.component.js +20 -23
  138. package/dist/components/form/form-label/form-label.component.js.map +1 -1
  139. package/dist/components/form/input-group/input-group.component.d.ts +4 -0
  140. package/dist/components/form/input-group/input-group.component.js +42 -42
  141. package/dist/components/form/input-group/input-group.component.js.map +1 -1
  142. package/dist/components/form/input-group/input-group.scss.js +2 -2
  143. package/dist/components/form/radio-group/radio-group.component.d.ts +5 -0
  144. package/dist/components/form/radio-group/radio-group.component.js +54 -55
  145. package/dist/components/form/radio-group/radio-group.component.js.map +1 -1
  146. package/dist/components/icon/icon.component.js +25 -28
  147. package/dist/components/icon/icon.component.js.map +1 -1
  148. package/dist/components/icon-button/icon-button.component.d.ts +1 -0
  149. package/dist/components/icon-button/icon-button.component.js +11 -14
  150. package/dist/components/icon-button/icon-button.component.js.map +1 -1
  151. package/dist/components/icon-button/icon-button.scss.js +1 -1
  152. package/dist/components/icons/arrows/arrows-arrow-down-line/arrows-arrow-down-line.component.js +9 -12
  153. package/dist/components/icons/arrows/arrows-arrow-down-line/arrows-arrow-down-line.component.js.map +1 -1
  154. package/dist/components/icons/arrows/arrows-arrow-down-s-fill/arrows-arrow-down-s-fill.component.js +7 -10
  155. package/dist/components/icons/arrows/arrows-arrow-down-s-fill/arrows-arrow-down-s-fill.component.js.map +1 -1
  156. package/dist/components/icons/arrows/arrows-arrow-down-s-line/arrows-arrow-down-s-line.component.js +12 -15
  157. package/dist/components/icons/arrows/arrows-arrow-down-s-line/arrows-arrow-down-s-line.component.js.map +1 -1
  158. package/dist/components/icons/arrows/arrows-arrow-left-down-line/arrows-arrow-left-down-line.component.js +8 -11
  159. package/dist/components/icons/arrows/arrows-arrow-left-down-line/arrows-arrow-left-down-line.component.js.map +1 -1
  160. package/dist/components/icons/arrows/arrows-arrow-left-l-line/arrows-arrow-left-l-line.component.js +15 -18
  161. package/dist/components/icons/arrows/arrows-arrow-left-l-line/arrows-arrow-left-l-line.component.js.map +1 -1
  162. package/dist/components/icons/arrows/arrows-arrow-left-line/arrows-arrow-left-line.component.js +7 -10
  163. package/dist/components/icons/arrows/arrows-arrow-left-line/arrows-arrow-left-line.component.js.map +1 -1
  164. package/dist/components/icons/arrows/arrows-arrow-left-s-fill/arrows-arrow-left-s-fill.component.js +10 -13
  165. package/dist/components/icons/arrows/arrows-arrow-left-s-fill/arrows-arrow-left-s-fill.component.js.map +1 -1
  166. package/dist/components/icons/arrows/arrows-arrow-left-s-line/arrows-arrow-left-s-line.component.js +7 -10
  167. package/dist/components/icons/arrows/arrows-arrow-left-s-line/arrows-arrow-left-s-line.component.js.map +1 -1
  168. package/dist/components/icons/arrows/arrows-arrow-left-up-line/arrows-arrow-left-up-line.component.js +6 -9
  169. package/dist/components/icons/arrows/arrows-arrow-left-up-line/arrows-arrow-left-up-line.component.js.map +1 -1
  170. package/dist/components/icons/arrows/arrows-arrow-right-down-line/arrows-arrow-right-down-line.component.js +18 -21
  171. package/dist/components/icons/arrows/arrows-arrow-right-down-line/arrows-arrow-right-down-line.component.js.map +1 -1
  172. package/dist/components/icons/arrows/arrows-arrow-right-l-line/arrows-arrow-right-l-line.component.js +15 -18
  173. package/dist/components/icons/arrows/arrows-arrow-right-l-line/arrows-arrow-right-l-line.component.js.map +1 -1
  174. package/dist/components/icons/arrows/arrows-arrow-right-line/arrows-arrow-right-line.component.js +17 -20
  175. package/dist/components/icons/arrows/arrows-arrow-right-line/arrows-arrow-right-line.component.js.map +1 -1
  176. package/dist/components/icons/arrows/arrows-arrow-right-s-fill/arrows-arrow-right-s-fill.component.js +17 -20
  177. package/dist/components/icons/arrows/arrows-arrow-right-s-fill/arrows-arrow-right-s-fill.component.js.map +1 -1
  178. package/dist/components/icons/arrows/arrows-arrow-right-s-line/arrows-arrow-right-s-line.component.js +17 -20
  179. package/dist/components/icons/arrows/arrows-arrow-right-s-line/arrows-arrow-right-s-line.component.js.map +1 -1
  180. package/dist/components/icons/arrows/arrows-arrow-right-up-line/arrows-arrow-right-up-line.component.js +18 -21
  181. package/dist/components/icons/arrows/arrows-arrow-right-up-line/arrows-arrow-right-up-line.component.js.map +1 -1
  182. package/dist/components/icons/arrows/arrows-arrow-up-line/arrows-arrow-up-line.component.js +9 -12
  183. package/dist/components/icons/arrows/arrows-arrow-up-line/arrows-arrow-up-line.component.js.map +1 -1
  184. package/dist/components/icons/arrows/arrows-arrow-up-s-fill/arrows-arrow-up-s-fill.component.js +8 -11
  185. package/dist/components/icons/arrows/arrows-arrow-up-s-fill/arrows-arrow-up-s-fill.component.js.map +1 -1
  186. package/dist/components/icons/arrows/arrows-arrow-up-s-line/arrows-arrow-up-s-line.component.js +9 -12
  187. package/dist/components/icons/arrows/arrows-arrow-up-s-line/arrows-arrow-up-s-line.component.js.map +1 -1
  188. package/dist/components/icons/arrows/arrows-expand-up-down-fill/arrows-expand-up-down-fill.component.js +11 -14
  189. package/dist/components/icons/arrows/arrows-expand-up-down-fill/arrows-expand-up-down-fill.component.js.map +1 -1
  190. package/dist/components/icons/buildings/buildings-home-6-line/buildings-home-6-line.component.js +10 -13
  191. package/dist/components/icons/buildings/buildings-home-6-line/buildings-home-6-line.component.js.map +1 -1
  192. package/dist/components/icons/business/business-calendar-line/business-calendar-line.component.js +11 -14
  193. package/dist/components/icons/business/business-calendar-line/business-calendar-line.component.js.map +1 -1
  194. package/dist/components/icons/design/design-edit-line/design-edit-line.component.js +6 -9
  195. package/dist/components/icons/design/design-edit-line/design-edit-line.component.js.map +1 -1
  196. package/dist/components/icons/design/design-tools-line/design-tools-line.component.js +12 -15
  197. package/dist/components/icons/design/design-tools-line/design-tools-line.component.js.map +1 -1
  198. package/dist/components/icons/device/device-computer-line/device-computer-line.component.js +16 -19
  199. package/dist/components/icons/device/device-computer-line/device-computer-line.component.js.map +1 -1
  200. package/dist/components/icons/document/document-clipboard-line/document-clipboard-line.component.js +11 -14
  201. package/dist/components/icons/document/document-clipboard-line/document-clipboard-line.component.js.map +1 -1
  202. package/dist/components/icons/document/document-file-copy-line/document-file-copy-line.component.js +10 -13
  203. package/dist/components/icons/document/document-file-copy-line/document-file-copy-line.component.js.map +1 -1
  204. package/dist/components/icons/document/document-file-image-line/document-file-image-line.component.js +11 -14
  205. package/dist/components/icons/document/document-file-image-line/document-file-image-line.component.js.map +1 -1
  206. package/dist/components/icons/document/document-file-music-line/document-file-music-line.component.js +11 -14
  207. package/dist/components/icons/document/document-file-music-line/document-file-music-line.component.js.map +1 -1
  208. package/dist/components/icons/document/document-file-text-line/document-file-text-line.component.js +10 -13
  209. package/dist/components/icons/document/document-file-text-line/document-file-text-line.component.js.map +1 -1
  210. package/dist/components/icons/document/document-file-video-line/document-file-video-line.component.js +11 -14
  211. package/dist/components/icons/document/document-file-video-line/document-file-video-line.component.js.map +1 -1
  212. package/dist/components/icons/document/document-folder-line/document-folder-line.component.js +11 -14
  213. package/dist/components/icons/document/document-folder-line/document-folder-line.component.js.map +1 -1
  214. package/dist/components/icons/document/document-folder-open-line/document-folder-open-line.component.js +10 -13
  215. package/dist/components/icons/document/document-folder-open-line/document-folder-open-line.component.js.map +1 -1
  216. package/dist/components/icons/editor/editor-separator/editor-separator.component.js +10 -13
  217. package/dist/components/icons/editor/editor-separator/editor-separator.component.js.map +1 -1
  218. package/dist/components/icons/health/health-heart-fill/health-heart-fill.component.js +8 -11
  219. package/dist/components/icons/health/health-heart-fill/health-heart-fill.component.js.map +1 -1
  220. package/dist/components/icons/health/health-heart-line/health-heart-line.component.js +10 -13
  221. package/dist/components/icons/health/health-heart-line/health-heart-line.component.js.map +1 -1
  222. package/dist/components/icons/others/others-cookie-line/others-cookie-line.component.js +6 -9
  223. package/dist/components/icons/others/others-cookie-line/others-cookie-line.component.js.map +1 -1
  224. package/dist/components/icons/system/system-add-line/system-add-line.component.js +11 -14
  225. package/dist/components/icons/system/system-add-line/system-add-line.component.js.map +1 -1
  226. package/dist/components/icons/system/system-alert-fill/system-alert-fill.component.js +9 -12
  227. package/dist/components/icons/system/system-alert-fill/system-alert-fill.component.js.map +1 -1
  228. package/dist/components/icons/system/system-alert-line/system-alert-line.component.js +11 -14
  229. package/dist/components/icons/system/system-alert-line/system-alert-line.component.js.map +1 -1
  230. package/dist/components/icons/system/system-check-line/system-check-line.component.js +9 -12
  231. package/dist/components/icons/system/system-check-line/system-check-line.component.js.map +1 -1
  232. package/dist/components/icons/system/system-check-line2/system-check-line2.component.js +11 -14
  233. package/dist/components/icons/system/system-check-line2/system-check-line2.component.js.map +1 -1
  234. package/dist/components/icons/system/system-checkbox-blank-circle-fill/system-checkbox-blank-circle-fill.component.js +9 -12
  235. package/dist/components/icons/system/system-checkbox-blank-circle-fill/system-checkbox-blank-circle-fill.component.js.map +1 -1
  236. package/dist/components/icons/system/system-checkbox-blank-circle-fill-check/system-checkbox-blank-circle-fill-check.component.js +12 -15
  237. package/dist/components/icons/system/system-checkbox-blank-circle-fill-check/system-checkbox-blank-circle-fill-check.component.js.map +1 -1
  238. package/dist/components/icons/system/system-checkbox-blank-circle-line/system-checkbox-blank-circle-line.component.js +13 -16
  239. package/dist/components/icons/system/system-checkbox-blank-circle-line/system-checkbox-blank-circle-line.component.js.map +1 -1
  240. package/dist/components/icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component.js +11 -14
  241. package/dist/components/icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component.js.map +1 -1
  242. package/dist/components/icons/system/system-checkbox-circle-line/system-checkbox-circle-line.component.js +11 -14
  243. package/dist/components/icons/system/system-checkbox-circle-line/system-checkbox-circle-line.component.js.map +1 -1
  244. package/dist/components/icons/system/system-close-circle-fill/system-close-circle-fill.component.js +11 -14
  245. package/dist/components/icons/system/system-close-circle-fill/system-close-circle-fill.component.js.map +1 -1
  246. package/dist/components/icons/system/system-close-circle-line/system-close-circle-line.component.js +7 -10
  247. package/dist/components/icons/system/system-close-circle-line/system-close-circle-line.component.js.map +1 -1
  248. package/dist/components/icons/system/system-close-fill/system-close-fill.component.js +11 -14
  249. package/dist/components/icons/system/system-close-fill/system-close-fill.component.js.map +1 -1
  250. package/dist/components/icons/system/system-close-line/system-close-line.component.js +11 -14
  251. package/dist/components/icons/system/system-close-line/system-close-line.component.js.map +1 -1
  252. package/dist/components/icons/system/system-delete-bin-fill/system-delete-bin-fill.component.js +7 -10
  253. package/dist/components/icons/system/system-delete-bin-fill/system-delete-bin-fill.component.js.map +1 -1
  254. package/dist/components/icons/system/system-delete-bin-line/system-delete-bin-line.component.js +9 -12
  255. package/dist/components/icons/system/system-delete-bin-line/system-delete-bin-line.component.js.map +1 -1
  256. package/dist/components/icons/system/system-download-line/system-download-line.component.js +9 -12
  257. package/dist/components/icons/system/system-download-line/system-download-line.component.js.map +1 -1
  258. package/dist/components/icons/system/system-error-warning-fill/system-error-warning-fill.component.js +7 -10
  259. package/dist/components/icons/system/system-error-warning-fill/system-error-warning-fill.component.js.map +1 -1
  260. package/dist/components/icons/system/system-error-warning-line/system-error-warning-line.component.js +11 -14
  261. package/dist/components/icons/system/system-error-warning-line/system-error-warning-line.component.js.map +1 -1
  262. package/dist/components/icons/system/system-external-link-line/system-external-link-line.component.js +9 -12
  263. package/dist/components/icons/system/system-external-link-line/system-external-link-line.component.js.map +1 -1
  264. package/dist/components/icons/system/system-eye-line/system-eye-line.component.js +11 -14
  265. package/dist/components/icons/system/system-eye-line/system-eye-line.component.js.map +1 -1
  266. package/dist/components/icons/system/system-eye-off-line/system-eye-off-line.component.js +6 -9
  267. package/dist/components/icons/system/system-eye-off-line/system-eye-off-line.component.js.map +1 -1
  268. package/dist/components/icons/system/system-forbid-fill/system-forbid-fill.component.js +9 -12
  269. package/dist/components/icons/system/system-forbid-fill/system-forbid-fill.component.js.map +1 -1
  270. package/dist/components/icons/system/system-information-2-fill/system-information-2-fill.component.js +9 -12
  271. package/dist/components/icons/system/system-information-2-fill/system-information-2-fill.component.js.map +1 -1
  272. package/dist/components/icons/system/system-information-fill/system-information-fill.component.js +9 -12
  273. package/dist/components/icons/system/system-information-fill/system-information-fill.component.js.map +1 -1
  274. package/dist/components/icons/system/system-information-line/system-information-line.component.js +9 -12
  275. package/dist/components/icons/system/system-information-line/system-information-line.component.js.map +1 -1
  276. package/dist/components/icons/system/system-lightbulb-fill/system-lightbulb-fill.component.js +9 -12
  277. package/dist/components/icons/system/system-lightbulb-fill/system-lightbulb-fill.component.js.map +1 -1
  278. package/dist/components/icons/system/system-loading-spinner/system-loading-spinner.component.js +9 -12
  279. package/dist/components/icons/system/system-loading-spinner/system-loading-spinner.component.js.map +1 -1
  280. package/dist/components/icons/system/system-lock-fill/system-lock-fill.component.js +13 -16
  281. package/dist/components/icons/system/system-lock-fill/system-lock-fill.component.js.map +1 -1
  282. package/dist/components/icons/system/system-lock-line/system-lock-line.component.js +10 -13
  283. package/dist/components/icons/system/system-lock-line/system-lock-line.component.js.map +1 -1
  284. package/dist/components/icons/system/system-menu-line/system-menu-line.component.js +9 -12
  285. package/dist/components/icons/system/system-menu-line/system-menu-line.component.js.map +1 -1
  286. package/dist/components/icons/system/system-menu-line-s/system-menu-line-s.component.js +9 -12
  287. package/dist/components/icons/system/system-menu-line-s/system-menu-line-s.component.js.map +1 -1
  288. package/dist/components/icons/system/system-more-2-line/system-more-2-line.component.js +10 -13
  289. package/dist/components/icons/system/system-more-2-line/system-more-2-line.component.js.map +1 -1
  290. package/dist/components/icons/system/system-more-line/system-more-line.component.js +16 -19
  291. package/dist/components/icons/system/system-more-line/system-more-line.component.js.map +1 -1
  292. package/dist/components/icons/system/system-search-line/system-search-line.component.js +11 -14
  293. package/dist/components/icons/system/system-search-line/system-search-line.component.js.map +1 -1
  294. package/dist/components/icons/system/system-share-line/system-share-line.component.js +9 -12
  295. package/dist/components/icons/system/system-share-line/system-share-line.component.js.map +1 -1
  296. package/dist/components/icons/system/system-shield-check-fill/system-shield-check-fill.component.js +8 -11
  297. package/dist/components/icons/system/system-shield-check-fill/system-shield-check-fill.component.js.map +1 -1
  298. package/dist/components/icons/system/system-shield-check-line/system-shield-check-line.component.js +6 -9
  299. package/dist/components/icons/system/system-shield-check-line/system-shield-check-line.component.js.map +1 -1
  300. package/dist/components/icons/system/system-star-fill/system-star-fill.component.js +13 -16
  301. package/dist/components/icons/system/system-star-fill/system-star-fill.component.js.map +1 -1
  302. package/dist/components/icons/system/system-subtract-line/system-subtract-line.component.js +11 -14
  303. package/dist/components/icons/system/system-subtract-line/system-subtract-line.component.js.map +1 -1
  304. package/dist/components/icons/system/system-subtract-line2/system-subtract-line2.component.js +7 -10
  305. package/dist/components/icons/system/system-subtract-line2/system-subtract-line2.component.js.map +1 -1
  306. package/dist/components/icons/system/system-time-fill/system-time-fill.component.js +11 -14
  307. package/dist/components/icons/system/system-time-fill/system-time-fill.component.js.map +1 -1
  308. package/dist/components/icons/system/system-time-line/system-time-line.component.js +11 -14
  309. package/dist/components/icons/system/system-time-line/system-time-line.component.js.map +1 -1
  310. package/dist/components/icons/system/system-upload-2-fill/system-upload-2-fill.component.js +5 -8
  311. package/dist/components/icons/system/system-upload-2-fill/system-upload-2-fill.component.js.map +1 -1
  312. package/dist/components/icons/system/system-upload-2-line/system-upload-2-line.component.js +7 -10
  313. package/dist/components/icons/system/system-upload-2-line/system-upload-2-line.component.js.map +1 -1
  314. package/dist/components/icons/system/system-upload-line/system-upload-line.component.js +9 -12
  315. package/dist/components/icons/system/system-upload-line/system-upload-line.component.js.map +1 -1
  316. package/dist/components/icons/system/system-zoom-in-line/system-zoom-in-line.component.js +9 -12
  317. package/dist/components/icons/system/system-zoom-in-line/system-zoom-in-line.component.js.map +1 -1
  318. package/dist/components/icons/system/system-zoom-out-line/system-zoom-out-line.component.js +11 -14
  319. package/dist/components/icons/system/system-zoom-out-line/system-zoom-out-line.component.js.map +1 -1
  320. package/dist/components/icons/user/user-account-circle-fill/user-account-circle-fill.component.js +16 -19
  321. package/dist/components/icons/user/user-account-circle-fill/user-account-circle-fill.component.js.map +1 -1
  322. package/dist/components/icons/user/user-account-circle-line/user-account-circle-line.component.js +13 -16
  323. package/dist/components/icons/user/user-account-circle-line/user-account-circle-line.component.js.map +1 -1
  324. package/dist/components/icons/user/user-user-fill/user-user-fill.component.js +8 -11
  325. package/dist/components/icons/user/user-user-fill/user-user-fill.component.js.map +1 -1
  326. package/dist/components/icons/user/user-user-line/user-user-line.component.js +11 -14
  327. package/dist/components/icons/user/user-user-line/user-user-line.component.js.map +1 -1
  328. package/dist/components/image-zoom/image-zoom.component.js +12 -17
  329. package/dist/components/image-zoom/image-zoom.component.js.map +1 -1
  330. package/dist/components/input/_styles/input.scss.js +1 -1
  331. package/dist/components/input/input-base-element.js +41 -47
  332. package/dist/components/input/input-base-element.js.map +1 -1
  333. package/dist/components/label/_styles/label.scss.js +1 -1
  334. package/dist/components/label/label.component.js +8 -11
  335. package/dist/components/label/label.component.js.map +1 -1
  336. package/dist/components/link/link.component.js +23 -27
  337. package/dist/components/link/link.component.js.map +1 -1
  338. package/dist/components/list-item/list-item.component.d.ts +2 -0
  339. package/dist/components/list-item/list-item.component.js +24 -29
  340. package/dist/components/list-item/list-item.component.js.map +1 -1
  341. package/dist/components/modal/modal-base-element.js +36 -42
  342. package/dist/components/modal/modal-base-element.js.map +1 -1
  343. package/dist/components/navigation-menu/navigation-menu-item.component.d.ts +9 -1
  344. package/dist/components/navigation-menu/navigation-menu-item.component.js +36 -31
  345. package/dist/components/navigation-menu/navigation-menu-item.component.js.map +1 -1
  346. package/dist/components/navigation-menu/navigation-menu.component.js +20 -24
  347. package/dist/components/navigation-menu/navigation-menu.component.js.map +1 -1
  348. package/dist/components/notification-badge/notification-badge.component.js +28 -32
  349. package/dist/components/notification-badge/notification-badge.component.js.map +1 -1
  350. package/dist/components/number-input/number-input.component.d.ts +7 -0
  351. package/dist/components/number-input/number-input.component.js +23 -29
  352. package/dist/components/number-input/number-input.component.js.map +1 -1
  353. package/dist/components/official-website-banner/official-website-banner.component.d.ts +1 -0
  354. package/dist/components/official-website-banner/official-website-banner.component.js +19 -24
  355. package/dist/components/official-website-banner/official-website-banner.component.js.map +1 -1
  356. package/dist/components/option-group/option-group.component.js +17 -20
  357. package/dist/components/option-group/option-group.component.js.map +1 -1
  358. package/dist/components/option-item/option-item.component.d.ts +10 -0
  359. package/dist/components/option-item/option-item.component.js +66 -60
  360. package/dist/components/option-item/option-item.component.js.map +1 -1
  361. package/dist/components/option-item/option-item.scss.js +1 -1
  362. package/dist/components/option-list/__test__/listbox-harness.d.ts +129 -0
  363. package/dist/components/option-list/listbox-state.d.ts +230 -0
  364. package/dist/components/option-list/listbox-state.js +312 -0
  365. package/dist/components/option-list/listbox-state.js.map +1 -0
  366. package/dist/components/option-list/option-data.d.ts +35 -0
  367. package/dist/components/option-list/option-data.js +34 -0
  368. package/dist/components/option-list/option-data.js.map +1 -0
  369. package/dist/components/option-list/option-list.component.d.ts +66 -14
  370. package/dist/components/option-list/option-list.component.js +381 -294
  371. package/dist/components/option-list/option-list.component.js.map +1 -1
  372. package/dist/components/overlay/overlay.component.js +10 -13
  373. package/dist/components/overlay/overlay.component.js.map +1 -1
  374. package/dist/components/pager/pager.component.js +31 -37
  375. package/dist/components/pager/pager.component.js.map +1 -1
  376. package/dist/components/password-input/password-input.component.d.ts +12 -5
  377. package/dist/components/password-input/password-input.component.js +24 -30
  378. package/dist/components/password-input/password-input.component.js.map +1 -1
  379. package/dist/components/popup/popup-base-element.js +21 -25
  380. package/dist/components/popup/popup-base-element.js.map +1 -1
  381. package/dist/components/progress/progress.component.js +17 -21
  382. package/dist/components/progress/progress.component.js.map +1 -1
  383. package/dist/components/radio-button/_styles/radio-button.scss.js +1 -1
  384. package/dist/components/radio-button/radio-button.component.d.ts +5 -0
  385. package/dist/components/radio-button/radio-button.component.js +58 -62
  386. package/dist/components/radio-button/radio-button.component.js.map +1 -1
  387. package/dist/components/rating/_styles/rating.scss.js +2 -2
  388. package/dist/components/rating/rating.component.js +37 -41
  389. package/dist/components/rating/rating.component.js.map +1 -1
  390. package/dist/components/scroll-area/scroll-area.component.d.ts +2 -1
  391. package/dist/components/scroll-area/scroll-area.component.js +25 -28
  392. package/dist/components/scroll-area/scroll-area.component.js.map +1 -1
  393. package/dist/components/scroll-progress/scroll-progress.component.js +13 -17
  394. package/dist/components/scroll-progress/scroll-progress.component.js.map +1 -1
  395. package/dist/components/search/search.component.d.ts +6 -1
  396. package/dist/components/search/search.component.js.map +1 -1
  397. package/dist/components/select/select.component.d.ts +47 -0
  398. package/dist/components/select/select.component.js +268 -157
  399. package/dist/components/select/select.component.js.map +1 -1
  400. package/dist/components/select/select.scss.js +1 -1
  401. package/dist/components/sidenav/sidenav-group.component.d.ts +1 -0
  402. package/dist/components/sidenav/sidenav-group.component.js +11 -14
  403. package/dist/components/sidenav/sidenav-group.component.js.map +1 -1
  404. package/dist/components/sidenav/sidenav-item.component.js +20 -23
  405. package/dist/components/sidenav/sidenav-item.component.js.map +1 -1
  406. package/dist/components/sidenav/sidenav.component.js +17 -20
  407. package/dist/components/sidenav/sidenav.component.js.map +1 -1
  408. package/dist/components/skeleton/skeleton.component.js +9 -12
  409. package/dist/components/skeleton/skeleton.component.js.map +1 -1
  410. package/dist/components/skip-link/skip-link.component.js +13 -16
  411. package/dist/components/skip-link/skip-link.component.js.map +1 -1
  412. package/dist/components/snackbar/snackbar-message.component.d.ts +3 -1
  413. package/dist/components/snackbar/snackbar-message.component.js +39 -44
  414. package/dist/components/snackbar/snackbar-message.component.js.map +1 -1
  415. package/dist/components/snackbar/snackbar.component.d.ts +0 -1
  416. package/dist/components/snackbar/snackbar.component.js +36 -42
  417. package/dist/components/snackbar/snackbar.component.js.map +1 -1
  418. package/dist/components/spinner/spinner.component.js +33 -38
  419. package/dist/components/spinner/spinner.component.js.map +1 -1
  420. package/dist/components/stack/stack.component.d.ts +2 -1
  421. package/dist/components/stack/stack.component.js +16 -19
  422. package/dist/components/stack/stack.component.js.map +1 -1
  423. package/dist/components/switch/switch.component.d.ts +6 -0
  424. package/dist/components/switch/switch.component.js +48 -51
  425. package/dist/components/switch/switch.component.js.map +1 -1
  426. package/dist/components/switch/switch.scss.js +1 -1
  427. package/dist/components/tab/tab-group.component.d.ts +8 -3
  428. package/dist/components/tab/tab-group.component.js +43 -33
  429. package/dist/components/tab/tab-group.component.js.map +1 -1
  430. package/dist/components/tab/tab.component.js +22 -25
  431. package/dist/components/tab/tab.component.js.map +1 -1
  432. package/dist/components/table/table-cell.component.d.ts +1 -1
  433. package/dist/components/table/table-cell.component.js +16 -19
  434. package/dist/components/table/table-cell.component.js.map +1 -1
  435. package/dist/components/table/table-header.component.js +21 -24
  436. package/dist/components/table/table-header.component.js.map +1 -1
  437. package/dist/components/table/table-row.component.js +15 -18
  438. package/dist/components/table/table-row.component.js.map +1 -1
  439. package/dist/components/table/table.component.d.ts +2 -0
  440. package/dist/components/table/table.component.js +18 -22
  441. package/dist/components/table/table.component.js.map +1 -1
  442. package/dist/components/textarea/textarea.component.d.ts +2 -0
  443. package/dist/components/textarea/textarea.component.js +42 -46
  444. package/dist/components/textarea/textarea.component.js.map +1 -1
  445. package/dist/components/textarea/textarea.scss.js +1 -1
  446. package/dist/components/timeline/timeline-item.component.js +7 -10
  447. package/dist/components/timeline/timeline-item.component.js.map +1 -1
  448. package/dist/components/timeline/timeline.component.js +5 -8
  449. package/dist/components/timeline/timeline.component.js.map +1 -1
  450. package/dist/components/timepicker/time-grid.component.d.ts +3 -0
  451. package/dist/components/timepicker/time-grid.component.js +12 -15
  452. package/dist/components/timepicker/time-grid.component.js.map +1 -1
  453. package/dist/components/timepicker/timepicker.component.d.ts +5 -0
  454. package/dist/components/timepicker/timepicker.component.js +90 -95
  455. package/dist/components/timepicker/timepicker.component.js.map +1 -1
  456. package/dist/components/timepicker/timepicker.scss.js +1 -1
  457. package/dist/components/toc/toc.component.d.ts +2 -0
  458. package/dist/components/toc/toc.component.js +58 -61
  459. package/dist/components/toc/toc.component.js.map +1 -1
  460. package/dist/components/toggle-button/toggle-button.component.js +9 -12
  461. package/dist/components/toggle-button/toggle-button.component.js.map +1 -1
  462. package/dist/components/tooltip/tooltip.component.d.ts +2 -0
  463. package/dist/components/tooltip/tooltip.component.js +16 -18
  464. package/dist/components/tooltip/tooltip.component.js.map +1 -1
  465. package/dist/components/tray/tray.component.d.ts +4 -1
  466. package/dist/components/tray/tray.component.js +13 -16
  467. package/dist/components/tray/tray.component.js.map +1 -1
  468. package/dist/components/typography/typography.component.js +38 -41
  469. package/dist/components/typography/typography.component.js.map +1 -1
  470. package/dist/components.d.ts +3 -0
  471. package/dist/components.js +204 -195
  472. package/dist/components.js.map +1 -1
  473. package/dist/components.native.css +5 -2
  474. package/dist/components.native.css.map +1 -1
  475. package/dist/dap-design-system.d.ts +3 -0
  476. package/dist/dds-preupgrade.css +57 -0
  477. package/dist/dds.js +383 -374
  478. package/dist/dds.js.map +1 -1
  479. package/dist/internal/dds-hu-element.d.ts +8 -0
  480. package/dist/internal/dds-hu-element.js +40 -41
  481. package/dist/internal/dds-hu-element.js.map +1 -1
  482. package/dist/internal/mixin/choiceElementMixin.js +7 -7
  483. package/dist/internal/mixin/feedbackMixin.js +13 -15
  484. package/dist/internal/mixin/feedbackMixin.js.map +1 -1
  485. package/dist/internal/mixin/focusableMixin.js +6 -6
  486. package/dist/internal/mixin/formElementMixin.js +1 -1
  487. package/dist/internal/mixin/labelPositionedMixin.js +1 -1
  488. package/dist/internal/mixin/labelableMixin.d.ts +1 -1
  489. package/dist/internal/mixin/labelableMixin.js +61 -63
  490. package/dist/internal/mixin/labelableMixin.js.map +1 -1
  491. package/dist/internal/mixin/sizedMixin.js +29 -27
  492. package/dist/internal/mixin/sizedMixin.js.map +1 -1
  493. package/dist/internal/templates/formLabel.d.ts +41 -0
  494. package/dist/internal/templates/formLabel.js +47 -0
  495. package/dist/internal/templates/formLabel.js.map +1 -0
  496. package/dist/localization/localization.d.ts +1 -2
  497. package/dist/localization/localization.js +77 -76
  498. package/dist/localization/localization.js.map +1 -1
  499. package/dist/localization/localize-controller.d.ts +12 -0
  500. package/dist/localization/localize-controller.js +51 -0
  501. package/dist/localization/localize-controller.js.map +1 -0
  502. package/dist/manifest/types/vue/index.d.ts +527 -312
  503. package/dist/manifest/vscode.html-custom-data.json +333 -279
  504. package/dist/manifest/web-types.json +723 -619
  505. package/dist/react/dap-ds-accordion/index.d.ts +1 -0
  506. package/dist/react/dap-ds-accordion/index.js.map +1 -1
  507. package/dist/react/dap-ds-anchor-heading/index.d.ts +1 -0
  508. package/dist/react/dap-ds-anchor-heading/index.js.map +1 -1
  509. package/dist/react/dap-ds-banner/index.d.ts +1 -1
  510. package/dist/react/dap-ds-banner/index.js.map +1 -1
  511. package/dist/react/dap-ds-breadcrumb/index.d.ts +1 -1
  512. package/dist/react/dap-ds-breadcrumb/index.js.map +1 -1
  513. package/dist/react/dap-ds-button-group/index.d.ts +45 -0
  514. package/dist/react/dap-ds-button-group/index.js +15 -0
  515. package/dist/react/dap-ds-button-group/index.js.map +1 -0
  516. package/dist/react/dap-ds-button-group-separator/index.d.ts +24 -0
  517. package/dist/react/dap-ds-button-group-separator/index.js +15 -0
  518. package/dist/react/dap-ds-button-group-separator/index.js.map +1 -0
  519. package/dist/react/dap-ds-button-group-text/index.d.ts +30 -0
  520. package/dist/react/dap-ds-button-group-text/index.js +15 -0
  521. package/dist/react/dap-ds-button-group-text/index.js.map +1 -0
  522. package/dist/react/dap-ds-calendar/index.d.ts +3 -0
  523. package/dist/react/dap-ds-calendar/index.js.map +1 -1
  524. package/dist/react/dap-ds-callout/index.d.ts +1 -0
  525. package/dist/react/dap-ds-callout/index.js.map +1 -1
  526. package/dist/react/dap-ds-card/index.d.ts +1 -0
  527. package/dist/react/dap-ds-card/index.js.map +1 -1
  528. package/dist/react/dap-ds-checkbox/index.d.ts +7 -1
  529. package/dist/react/dap-ds-checkbox/index.js.map +1 -1
  530. package/dist/react/dap-ds-chip/index.d.ts +1 -0
  531. package/dist/react/dap-ds-chip/index.js.map +1 -1
  532. package/dist/react/dap-ds-code-puncher/index.d.ts +4 -0
  533. package/dist/react/dap-ds-code-puncher/index.js.map +1 -1
  534. package/dist/react/dap-ds-combobox/index.d.ts +9 -1
  535. package/dist/react/dap-ds-combobox/index.js.map +1 -1
  536. package/dist/react/dap-ds-command/index.d.ts +3 -0
  537. package/dist/react/dap-ds-command/index.js.map +1 -1
  538. package/dist/react/dap-ds-copybox-input/index.d.ts +11 -0
  539. package/dist/react/dap-ds-copybox-input/index.js.map +1 -1
  540. package/dist/react/dap-ds-datatable/index.d.ts +17 -0
  541. package/dist/react/dap-ds-datatable/index.js.map +1 -1
  542. package/dist/react/dap-ds-datepicker/index.d.ts +8 -0
  543. package/dist/react/dap-ds-datepicker/index.js.map +1 -1
  544. package/dist/react/dap-ds-file-input/index.d.ts +3 -0
  545. package/dist/react/dap-ds-file-input/index.js.map +1 -1
  546. package/dist/react/dap-ds-file-input-list-item/index.d.ts +1 -0
  547. package/dist/react/dap-ds-file-input-list-item/index.js.map +1 -1
  548. package/dist/react/dap-ds-form-label/index.d.ts +1 -1
  549. package/dist/react/dap-ds-form-label/index.js.map +1 -1
  550. package/dist/react/dap-ds-icon-button/index.d.ts +1 -0
  551. package/dist/react/dap-ds-icon-button/index.js.map +1 -1
  552. package/dist/react/dap-ds-input-group/index.d.ts +4 -0
  553. package/dist/react/dap-ds-input-group/index.js.map +1 -1
  554. package/dist/react/dap-ds-list-item/index.d.ts +2 -0
  555. package/dist/react/dap-ds-list-item/index.js.map +1 -1
  556. package/dist/react/dap-ds-number-input/index.d.ts +7 -0
  557. package/dist/react/dap-ds-number-input/index.js.map +1 -1
  558. package/dist/react/dap-ds-official-website-banner/index.d.ts +1 -0
  559. package/dist/react/dap-ds-official-website-banner/index.js.map +1 -1
  560. package/dist/react/dap-ds-option-item/index.d.ts +1 -0
  561. package/dist/react/dap-ds-option-item/index.js.map +1 -1
  562. package/dist/react/dap-ds-option-list/index.d.ts +1 -1
  563. package/dist/react/dap-ds-option-list/index.js.map +1 -1
  564. package/dist/react/dap-ds-password-input/index.d.ts +12 -5
  565. package/dist/react/dap-ds-password-input/index.js.map +1 -1
  566. package/dist/react/dap-ds-radio-button/index.d.ts +5 -0
  567. package/dist/react/dap-ds-radio-button/index.js.map +1 -1
  568. package/dist/react/dap-ds-radio-group/index.d.ts +5 -0
  569. package/dist/react/dap-ds-radio-group/index.js.map +1 -1
  570. package/dist/react/dap-ds-scroll-area/index.d.ts +2 -1
  571. package/dist/react/dap-ds-scroll-area/index.js.map +1 -1
  572. package/dist/react/dap-ds-search/index.d.ts +6 -1
  573. package/dist/react/dap-ds-search/index.js.map +1 -1
  574. package/dist/react/dap-ds-select/index.d.ts +6 -0
  575. package/dist/react/dap-ds-select/index.js.map +1 -1
  576. package/dist/react/dap-ds-sidenav-group/index.d.ts +1 -0
  577. package/dist/react/dap-ds-sidenav-group/index.js.map +1 -1
  578. package/dist/react/dap-ds-snackbar/index.d.ts +0 -1
  579. package/dist/react/dap-ds-snackbar/index.js.map +1 -1
  580. package/dist/react/dap-ds-snackbar-message/index.d.ts +3 -1
  581. package/dist/react/dap-ds-snackbar-message/index.js.map +1 -1
  582. package/dist/react/dap-ds-stack/index.d.ts +2 -1
  583. package/dist/react/dap-ds-stack/index.js.map +1 -1
  584. package/dist/react/dap-ds-switch/index.d.ts +6 -0
  585. package/dist/react/dap-ds-switch/index.js.map +1 -1
  586. package/dist/react/dap-ds-tab-group/index.d.ts +4 -2
  587. package/dist/react/dap-ds-tab-group/index.js.map +1 -1
  588. package/dist/react/dap-ds-table/index.d.ts +2 -0
  589. package/dist/react/dap-ds-table/index.js.map +1 -1
  590. package/dist/react/dap-ds-table-cell/index.d.ts +1 -1
  591. package/dist/react/dap-ds-table-cell/index.js.map +1 -1
  592. package/dist/react/dap-ds-textarea/index.d.ts +2 -0
  593. package/dist/react/dap-ds-textarea/index.js.map +1 -1
  594. package/dist/react/dap-ds-time-grid/index.d.ts +3 -0
  595. package/dist/react/dap-ds-time-grid/index.js.map +1 -1
  596. package/dist/react/dap-ds-timepicker/index.d.ts +5 -0
  597. package/dist/react/dap-ds-timepicker/index.js.map +1 -1
  598. package/dist/react/dap-ds-toc/index.d.ts +2 -0
  599. package/dist/react/dap-ds-toc/index.js.map +1 -1
  600. package/dist/react/dap-ds-tooltip/index.d.ts +2 -0
  601. package/dist/react/dap-ds-tooltip/index.js.map +1 -1
  602. package/dist/react/dap-ds-tray/index.d.ts +4 -1
  603. package/dist/react/dap-ds-tray/index.js.map +1 -1
  604. package/dist/react/index.d.ts +11 -8
  605. package/dist/react-types.ts +11 -8
  606. package/dist/react.js +366 -360
  607. package/dist/react.js.map +1 -1
  608. package/package.json +14 -3
  609. package/dist/node_modules/@lit/context/lib/context-request-event.js +0 -14
  610. package/dist/node_modules/@lit/context/lib/context-request-event.js.map +0 -1
  611. package/dist/node_modules/@lit/context/lib/controllers/context-consumer.js +0 -31
  612. package/dist/node_modules/@lit/context/lib/controllers/context-consumer.js.map +0 -1
  613. package/dist/node_modules/@lit/context/lib/controllers/context-provider.js +0 -40
  614. package/dist/node_modules/@lit/context/lib/controllers/context-provider.js.map +0 -1
  615. package/dist/node_modules/@lit/context/lib/create-context.js +0 -12
  616. package/dist/node_modules/@lit/context/lib/create-context.js.map +0 -1
  617. package/dist/node_modules/@lit/context/lib/value-notifier.js +0 -37
  618. package/dist/node_modules/@lit/context/lib/value-notifier.js.map +0 -1
  619. package/dist/node_modules/@lit/reactive-element/css-tag.js +0 -51
  620. package/dist/node_modules/@lit/reactive-element/css-tag.js.map +0 -1
  621. package/dist/node_modules/@lit/reactive-element/decorators/base.js +0 -10
  622. package/dist/node_modules/@lit/reactive-element/decorators/base.js.map +0 -1
  623. package/dist/node_modules/@lit/reactive-element/decorators/property.js +0 -38
  624. package/dist/node_modules/@lit/reactive-element/decorators/property.js.map +0 -1
  625. package/dist/node_modules/@lit/reactive-element/decorators/query-all.js +0 -17
  626. package/dist/node_modules/@lit/reactive-element/decorators/query-all.js.map +0 -1
  627. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js +0 -20
  628. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js.map +0 -1
  629. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js +0 -20
  630. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js.map +0 -1
  631. package/dist/node_modules/@lit/reactive-element/decorators/query.js +0 -21
  632. package/dist/node_modules/@lit/reactive-element/decorators/query.js.map +0 -1
  633. package/dist/node_modules/@lit/reactive-element/decorators/state.js +0 -25
  634. package/dist/node_modules/@lit/reactive-element/decorators/state.js.map +0 -1
  635. package/dist/node_modules/@lit/reactive-element/reactive-element.js +0 -276
  636. package/dist/node_modules/@lit/reactive-element/reactive-element.js.map +0 -1
  637. package/dist/node_modules/lit-element/lit-element.js +0 -53
  638. package/dist/node_modules/lit-element/lit-element.js.map +0 -1
  639. package/dist/node_modules/lit-html/async-directive.js +0 -71
  640. package/dist/node_modules/lit-html/async-directive.js.map +0 -1
  641. package/dist/node_modules/lit-html/directive-helpers.js +0 -46
  642. package/dist/node_modules/lit-html/directive-helpers.js.map +0 -1
  643. package/dist/node_modules/lit-html/directive.js +0 -28
  644. package/dist/node_modules/lit-html/directive.js.map +0 -1
  645. package/dist/node_modules/lit-html/directives/if-defined.js +0 -11
  646. package/dist/node_modules/lit-html/directives/if-defined.js.map +0 -1
  647. package/dist/node_modules/lit-html/directives/map.js +0 -15
  648. package/dist/node_modules/lit-html/directives/map.js.map +0 -1
  649. package/dist/node_modules/lit-html/directives/repeat.js +0 -63
  650. package/dist/node_modules/lit-html/directives/repeat.js.map +0 -1
  651. package/dist/node_modules/lit-html/directives/style-map.js +0 -37
  652. package/dist/node_modules/lit-html/directives/style-map.js.map +0 -1
  653. package/dist/node_modules/lit-html/lit-html.js +0 -249
  654. package/dist/node_modules/lit-html/lit-html.js.map +0 -1
  655. package/dist/node_modules/lit-html/static.js +0 -34
  656. package/dist/node_modules/lit-html/static.js.map +0 -1
  657. package/dist/node_modules/lit-i18n/src/lit-i18n.js +0 -95
  658. package/dist/node_modules/lit-i18n/src/lit-i18n.js.map +0 -1
@@ -1,353 +1,440 @@
1
- var m = Object.defineProperty;
2
- var u = Object.getOwnPropertySymbols;
3
- var b = Object.prototype.hasOwnProperty, x = Object.prototype.propertyIsEnumerable;
4
- var f = (o, e, t) => e in o ? m(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t, h = (o, e) => {
5
- for (var t in e || (e = {}))
6
- b.call(e, t) && f(o, t, e[t]);
7
- if (u)
8
- for (var t of u(e))
9
- x.call(e, t) && f(o, t, e[t]);
10
- return o;
1
+ var S = Object.defineProperty, w = Object.defineProperties;
2
+ var C = Object.getOwnPropertyDescriptors;
3
+ var f = Object.getOwnPropertySymbols;
4
+ var T = Object.prototype.hasOwnProperty, I = Object.prototype.propertyIsEnumerable;
5
+ var y = (l, t, e) => t in l ? S(l, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : l[t] = e, p = (l, t) => {
6
+ for (var e in t || (t = {}))
7
+ T.call(t, e) && y(l, e, t[e]);
8
+ if (f)
9
+ for (var e of f(t))
10
+ I.call(t, e) && y(l, e, t[e]);
11
+ return l;
12
+ }, v = (l, t) => w(l, C(t));
13
+ import { clsx as k } from "../../node_modules/clsx/dist/clsx.js";
14
+ import { unsafeCSS as $ } from "lit";
15
+ import { property as h, state as c } from "lit/decorators.js";
16
+ import { ifDefined as b } from "lit/directives/if-defined.js";
17
+ import { unsafeStatic as F, html as g } from "lit/static-html.js";
18
+ import { scrollIntoContainer as O } from "../../common/utils.js";
19
+ import { DdsElement as R } from "../../internal/dds-hu-element.js";
20
+ import { SizedMixin as q } from "../../internal/mixin/sizedMixin.js";
21
+ import D from "../option-item/option-item.component.js";
22
+ import { TYPEAHEAD_RESET_MS as L, isAutoCompleteMode as M, filterOptions as U, reduceListbox as V } from "./listbox-state.js";
23
+ import { toOptionItems as N, optionElementsFor as z, optionDataOf as A, optionItemsConverter as B } from "./option-data.js";
24
+ import K from "./option-list.scss.js";
25
+ var H = Object.defineProperty, j = Object.getOwnPropertyDescriptor, a = (l, t, e, i) => {
26
+ for (var s = i > 1 ? void 0 : i ? j(t, e) : t, o = l.length - 1, n; o >= 0; o--)
27
+ (n = l[o]) && (s = (i ? n(t, e, s) : n(s)) || s);
28
+ return i && s && H(t, e, s), s;
11
29
  };
12
- import { clsx as g } from "../../node_modules/clsx/dist/clsx.js";
13
- import "../../node_modules/@lit/reactive-element/reactive-element.js";
14
- import "../../node_modules/lit-html/lit-html.js";
15
- import "../../node_modules/lit-element/lit-element.js";
16
- import { property as d } from "../../node_modules/@lit/reactive-element/decorators/property.js";
17
- import { state as p } from "../../node_modules/@lit/reactive-element/decorators/state.js";
18
- import { ifDefined as O } from "../../node_modules/lit-html/directives/if-defined.js";
19
- import { unsafeStatic as y, html as v } from "../../node_modules/lit-html/static.js";
20
- import { scrollIntoContainer as I } from "../../common/utils.js";
21
- import { DdsElement as C } from "../../internal/dds-hu-element.js";
22
- import { SizedMixin as S } from "../../internal/mixin/sizedMixin.js";
23
- import A from "../option-item/option-item.component.js";
24
- import E from "./option-list.scss.js";
25
- import { unsafeCSS as T } from "../../node_modules/@lit/reactive-element/css-tag.js";
26
- var w = Object.defineProperty, n = (o, e, t, i) => {
27
- for (var s = void 0, l = o.length - 1, c; l >= 0; l--)
28
- (c = o[l]) && (s = c(e, t, s) || s);
29
- return s && w(e, t, s), s;
30
- };
31
- const r = class r extends S(C) {
30
+ const _ = 10, x = ["wheel", "touchstart", "pointerdown", "keydown"], P = [
31
+ "value",
32
+ "focused",
33
+ "selectedIndex",
34
+ "currentOption",
35
+ "availableOptions",
36
+ "optionEls"
37
+ ], u = class u extends q(R) {
32
38
  constructor() {
33
- super(...arguments), this.filterText = "", this.focused = !1, this.search = !1, this.searchMode = "none", this.searchOnValueSet = "true", this.selectable = "true", this.disableDelaySet = !1, this.multiselectable = !1, this.queryString = "", this.firstLoad = !0, this.optionEls = [], this.availableOptions = [], this.handleOptionClick = (e) => {
34
- this.focused = !0;
35
- const t = e.target;
36
- if (t && !t.disabled) {
37
- const i = e.ctrlKey || e.metaKey, s = t.selected;
38
- if (i && s) {
39
- const l = this.availableOptions.find(
40
- (c) => c.hasAttribute("empty")
41
- );
42
- l ? (this.setSelectedOption(l), this.setCurrentOption(l), this.value = l.value, this.selectedIndex = this.findIndexByValue(
43
- this.availableOptions,
44
- l.value
45
- ), this.emit("dds-option-change", h({}, this.getEventDetails(l)))) : (this.setSelectedOption(void 0), this.setCurrentOption(null), this.value = void 0, this.selectedIndex = -1, this.emit("dds-option-deselect", {
46
- option: t,
47
- value: void 0,
48
- index: -1,
49
- text: t.optionText
50
- }));
51
- return;
52
- }
53
- this.setCurrentOption(t), this.setSelectedOption(t), this.selectionChanged(t), this.updateComplete.then(() => {
54
- this.selectedIndex = this.findIndexByValue(
55
- this.availableOptions,
56
- this.value
57
- ), this.disableDelaySet || this.emit("dds-option-change", h({}, this.getEventDetails(this.currentOption)));
58
- });
59
- } else
60
- e.preventDefault(), e.stopPropagation();
61
- }, this.getSearchString = (e) => (typeof this.queryTimeout == "number" && window.clearTimeout(this.queryTimeout), this.queryTimeout = window.setTimeout(() => {
62
- this.queryString = "";
63
- }, 500), this.queryString += e, this.queryString), this.buildQueryString = (e) => {
64
- const t = this.getSearchString(e);
65
- for (const i of this.availableOptions)
66
- if (i.optionText.toLowerCase().startsWith(t.toLowerCase())) {
67
- this.selectedIndex = this.findIndexByValue(
68
- this.availableOptions,
69
- i.value
70
- ), this.setCurrentOption(i);
71
- break;
72
- }
39
+ super(...arguments), this.filterText = "", this.focused = !1, this.search = !1, this.searchMode = "none", this.searchOnValueSet = "true", this.selectable = "true", this.disableDelaySet = !1, this.multiselectable = !1, this.queryString = "", this.firstLoad = !0, this.optionEls = [], this.availableOptions = [], this.markedOption = null, this.flaggedOption = null, this.ownValue = null, this.serverRendered = !!this.shadowRoot, this.warnedChildren = !1, this.warnedLabels = !1, this.handleOptionClick = (t) => {
40
+ const e = t.target;
41
+ this.dispatch(
42
+ {
43
+ type: "click",
44
+ option: e,
45
+ selected: !!(e != null && e.selected),
46
+ modifier: t.ctrlKey || t.metaKey
47
+ },
48
+ t
49
+ );
50
+ }, this.getSearchString = (t) => (this.restartTypeaheadTimer(L), this.queryString += t, this.queryString), this.buildQueryString = (t) => {
51
+ this.dispatch({ type: "typeahead", char: t });
73
52
  };
74
53
  }
54
+ get items() {
55
+ return this._items;
56
+ }
57
+ set items(t) {
58
+ this._items = N(t);
59
+ }
75
60
  get isAutoComplete() {
76
- return this.searchMode === "autocomplete" || this.searchMode === "manual";
61
+ return M(this.searchMode);
77
62
  }
78
- firstUpdated(e) {
79
- super.firstUpdated(e), this.setAttribute("role", "listbox");
63
+ firstUpdated(t) {
64
+ if (super.firstUpdated(t), this.setAttribute("role", "listbox"), this.serverRendered && !this.items) {
65
+ const e = this.getSlottedOptions();
66
+ e.length > 0 && this.dispatch({ type: "slotChanged", options: e });
67
+ }
80
68
  }
81
69
  getAllOptions() {
70
+ return this.items ? z(this.items) : this.getSlottedOptions();
71
+ }
72
+ getSlottedOptions() {
82
73
  var s;
83
- const e = (s = this.shadowRoot) == null ? void 0 : s.querySelector("slot"), t = e == null ? void 0 : e.assignedElements()[0], i = (t == null ? void 0 : t.nodeName) === "SLOT" ? (e == null ? void 0 : e.assignedElements()[0]).assignedElements() : e == null ? void 0 : e.assignedElements();
74
+ const t = (s = this.shadowRoot) == null ? void 0 : s.querySelector("slot"), e = t == null ? void 0 : t.assignedElements()[0], i = (e == null ? void 0 : e.nodeName) === "SLOT" ? (t == null ? void 0 : t.assignedElements()[0]).assignedElements() : t == null ? void 0 : t.assignedElements();
84
75
  return i ? [...i] : [...this.querySelectorAll("dap-ds-option-item")];
85
76
  }
86
77
  getAllRenderedOptions() {
87
- var t;
88
- const e = (t = this.shadowRoot) == null ? void 0 : t.querySelectorAll("dap-ds-option-item");
89
- return e ? [...e] : [];
78
+ var e;
79
+ const t = (e = this.shadowRoot) == null ? void 0 : e.querySelectorAll("dap-ds-option-item");
80
+ return t ? [...t] : [];
90
81
  }
91
82
  getAllAvailabeOptions() {
92
83
  return this.availableOptions;
93
84
  }
94
85
  getActiveOption() {
95
86
  return this.currentOption ? this.getAllRenderedOptions().find(
96
- (t) => t.value === this.currentOption.value
87
+ (e) => e.value === this.currentOption.value
97
88
  ) : null;
98
89
  }
99
- updated(e) {
100
- if (super.updated(e), e.has("multiselectable") && (this.multiselectable ? this.setAttribute("aria-multiselectable", "true") : this.removeAttribute("aria-multiselectable")), e.has("value") && !e.has("currentOption") && this.searchOnValueSet === "true") {
101
- const t = this.availableOptions.find(
102
- (i) => i.value === this.value
103
- );
104
- t && (this.changeOption(t, e.get("value")), this.selectedIndex = this.findIndexByValue(
105
- this.availableOptions,
106
- this.value
107
- ), this.emit("dds-option-change", h({}, this.getEventDetails(this.currentOption))));
108
- }
109
- (e.has("options") || e.has("optionEls")) && (this.availableOptions = this.options || this.optionEls, this.emit("dds-list-changed", { elements: this.availableOptions }));
90
+ updated(t) {
91
+ super.updated(t), t.has("multiselectable") && (this.multiselectable ? this.setAttribute("aria-multiselectable", "true") : this.removeAttribute("aria-multiselectable")), t.has("value") && !t.has("currentOption") && this.dispatch({
92
+ type: "valueUpdated",
93
+ previous: t.get("value")
94
+ }), (t.has("options") || t.has("optionEls")) && this.dispatch({ type: "optionsUpdated" }), t.has("items") && (this.items || t.get("items")) && (this.dispatch({ type: "slotChanged", options: this.getAllOptions() }), this.warnIgnoredChildren()), this.items && this.renderOption && this.warnMissingLabels();
95
+ }
96
+ warnIgnoredChildren() {
97
+ !this.warnedChildren && this.items && this.getSlottedOptions().length > 0 && (this.warnedChildren = !0, console.warn(
98
+ `${this.localName}: both \`items\` and dap-ds-option-item children are given; the children are ignored.`
99
+ ));
100
+ }
101
+ /** The visible text is the option's accessible name, so it should contain the label. */
102
+ warnMissingLabels() {
103
+ if (this.warnedLabels) return;
104
+ const t = this.getAllRenderedOptions().find((e) => {
105
+ var s, o;
106
+ const i = (s = e.getAttribute("label")) != null ? s : "";
107
+ return i && !((o = e.textContent) != null ? o : "").includes(i);
108
+ });
109
+ t && (this.warnedLabels = !0, console.warn(
110
+ `${this.localName}: renderOption output for "${t.getAttribute("label")}" does not contain its label; the visible text is the option's accessible name.`
111
+ ));
110
112
  }
111
- shouldUpdate(e) {
112
- return e.has("filterText") && (this.filterText && this.searchMode !== "none" && this.searchMode !== "manual" ? (this.filterAvailableOptions(), this.selectedIndex = 0, this.setCurrentOption(this.availableOptions[0], !1), this.emit("dds-list-changed", { elements: this.availableOptions })) : this.filterText && this.searchMode === "manual" ? this.selectedIndex === -1 && this.availableOptions.length > 0 && (this.selectedIndex = 0, this.setCurrentOption(this.availableOptions[0], !1)) : this.filterText && this.searchMode === "none" ? (this.filterAvailableOptions(), this.selectedIndex = -1, this.setCurrentOption(null, !1), this.setSelectedOption(), this.emit("dds-list-changed", { elements: this.availableOptions })) : (this.availableOptions = this.options || this.optionEls, this.selectedIndex = -1, this.setCurrentOption(null, !1), this.emit("dds-list-changed", { elements: this.availableOptions }))), super.shouldUpdate(e);
113
+ shouldUpdate(t) {
114
+ return t.has("filterText") && this.dispatch({ type: "filterChanged" }), super.shouldUpdate(t);
113
115
  }
114
116
  filterAvailableOptions() {
115
- const e = this.filterText.toLowerCase();
116
- this.availableOptions = (this.options || this.optionEls).filter((t) => {
117
- if (!t.disabled)
118
- return t.optionText.toLowerCase().startsWith(e);
119
- });
117
+ this.availableOptions = U(
118
+ this.options || this.optionEls,
119
+ this.filterText
120
+ );
120
121
  }
121
- attributeChangedCallback(e, t, i) {
122
- if (super.attributeChangedCallback(e, t, i), e === "value" && t !== i && this.searchOnValueSet === "true")
123
- if (i) {
124
- const s = this.availableOptions.find((l) => l.value === i);
125
- this.setSelectedOption(s), this.selectionChanged(s), this.emit("dds-option-change", h({}, this.getEventDetails(this.currentOption)));
126
- } else
127
- this.setSelectedOption(), this.selectionChanged();
122
+ attributeChangedCallback(t, e, i) {
123
+ super.attributeChangedCallback(t, e, i), t === "value" && e !== i && this.searchOnValueSet === "true" && this.dispatch({ type: "valueAttributeChanged", value: i });
128
124
  }
129
125
  setOptionsFromSlottedItems() {
130
- const e = this.getAllOptions();
131
- this.availableOptions = e, this.optionEls = e;
126
+ const t = this.getAllOptions();
127
+ this.availableOptions = t, this.optionEls = t;
132
128
  }
133
- handleKeydown(e) {
134
- if (this.focused = !0, e.key === "Tab" || e.key === "Escape") {
135
- e.key === "Escape" && (e.preventDefault(), this.emit("dds-cancel")), this.emit("dds-keydown", { key: e.key, code: e.code });
136
- return;
137
- }
138
- e.preventDefault(), this.handleKeyCodes(e.key, e.code);
129
+ handleKeydown(t) {
130
+ this.dispatch({ type: "keydown", key: t.key, code: t.code }, t);
139
131
  }
140
- scrollToActiveOption() {
141
- if (!this.currentOption)
132
+ scrollToActiveOption(t = this.currentOption) {
133
+ if (!t)
142
134
  return;
143
135
  const e = this.getAllRenderedOptions().find(
144
- (t) => t.value === this.currentOption.value
136
+ (i) => i.value === t.value
145
137
  );
146
- e && I(e);
147
- }
148
- handleNavigationKey(e) {
149
- var t;
150
- if (e === "ArrowDown")
151
- this.selectedIndex = this.findNearestEnabled(
152
- this.availableOptions,
153
- this.selectedIndex,
154
- 1
155
- );
156
- else if (e === "ArrowUp") {
157
- const i = this.findNearestEnabled(
158
- this.availableOptions,
159
- this.selectedIndex,
160
- this.selectedIndex === -1 ? 1 : -1
161
- );
162
- this.selectedIndex = i === this.availableOptions.length ? -1 : i;
163
- } else if (e === "Home")
164
- this.selectedIndex = (t = this.availableOptions[0]) != null && t.disabled ? this.findNearestEnabled(this.availableOptions, -1, 1) : 0;
165
- else if (e === "End") {
166
- const i = this.findNearestEnabled(
167
- this.availableOptions,
168
- this.availableOptions.length,
169
- -1
170
- );
171
- this.selectedIndex = i === this.availableOptions.length ? -1 : i;
172
- }
173
- }
174
- handleActionKey(e) {
175
- e === "Enter" && (this.setSelectedOption(this.availableOptions[this.selectedIndex]), this.selectionChanged(this.availableOptions[this.selectedIndex]), this.emit("dds-option-change", h({}, this.getEventDetails(this.currentOption))));
138
+ e && O(e);
176
139
  }
177
- handleTypeheadKey(e) {
178
- this.searchMode === "typehead" && ((e == null ? void 0 : e.length) === 1 || e === "Backspace") && this.buildQueryString(e);
179
- }
180
- handleKeyCodes(e, t) {
181
- if (this.focused && (this.handleNavigationKey(e), this.handleActionKey(e), this.handleTypeheadKey(e), this.selectedIndex >= 0)) {
182
- const i = this.availableOptions[this.selectedIndex];
183
- this.setCurrentOption(i), this.emit("dds-keydown", h({
184
- code: t,
185
- key: e
186
- }, this.getEventDetails(i)));
187
- }
140
+ getEventDetails(t, e = this.selectedIndex) {
141
+ if (!t)
142
+ return;
143
+ let i = t;
144
+ return t.tagName !== "DAP-DS-OPTION-ITEM" && (i = t.closest("dap-ds-option-item")), p({
145
+ opt: i,
146
+ value: i == null ? void 0 : i.value,
147
+ text: i == null ? void 0 : i.optionText,
148
+ index: e
149
+ }, this.itemDetail(i));
150
+ }
151
+ /** `{ item }` for an option that came from `items`, else nothing (child payloads stay as they were). */
152
+ itemDetail(t) {
153
+ var s;
154
+ if (!this.items || !t) return {};
155
+ const e = t.value, i = (s = A(t)) != null ? s : this.items.find((o) => o.value === e);
156
+ return i ? { item: i } : {};
188
157
  }
189
- getEventDetails(e) {
190
- if (!e)
158
+ setFocusedOption(t) {
159
+ const e = this.getAllRenderedOptions().find(
160
+ (i) => i.value === t.value
161
+ );
162
+ e && (e.focus({ preventScroll: !0 }), O(e));
163
+ }
164
+ /**
165
+ * The popup constrains its scroll container's max-height asynchronously
166
+ * (floating-ui, re-run when the content changes), so there is no single
167
+ * frame after which the container is final. Keep the active option in view
168
+ * for a few frames, and stop as soon as the user scrolls, touches or types.
169
+ */
170
+ revealOverFrames(t = _) {
171
+ var o;
172
+ if (typeof requestAnimationFrame != "function")
191
173
  return;
192
- let t = e;
193
- return e.tagName !== "DAP-DS-OPTION-ITEM" && (t = e.closest("dap-ds-option-item")), {
194
- opt: t,
195
- value: t == null ? void 0 : t.value,
196
- text: t == null ? void 0 : t.optionText,
197
- index: this.selectedIndex
174
+ (o = this.revealAbort) == null || o.call(this);
175
+ let e = !1;
176
+ const i = () => {
177
+ e = !0;
178
+ for (const n of x)
179
+ this.removeEventListener(n, i, !0);
180
+ this.revealAbort === i && (this.revealAbort = void 0);
198
181
  };
199
- }
200
- findNearestEnabled(e, t, i) {
201
- let s = t, l;
202
- do
203
- if (s += i, l = e[s], l === void 0)
204
- break;
205
- while (l != null && l.disabled);
206
- return l ? s : t;
207
- }
208
- findIndexByValue(e, t) {
209
- return e.findIndex((i) => i.value === t);
210
- }
211
- clearItemFocusStates() {
212
- this.availableOptions.forEach((e) => {
213
- e.focused = !1, e.tabIndex = -1;
182
+ for (const n of x)
183
+ this.addEventListener(n, i, { capture: !0, passive: !0 });
184
+ this.revealAbort = i;
185
+ const s = (n) => requestAnimationFrame(() => {
186
+ e || (this.scrollToActiveOption(), n > 1 ? s(n - 1) : i());
214
187
  });
188
+ s(t);
215
189
  }
216
- // Only set the current option without selecting it, eg: focus
217
- setCurrentOption(e, t = !0) {
218
- this.clearItemFocusStates(), e ? (this.currentOption = e, e.focused = !0, e.tabIndex = 0, this.emit("dds-current-change", h({}, this.getEventDetails(e))), t ? this.setFocusedOption(e) : this.scrollToActiveOption()) : (this.currentOption = null, this.emit("dds-current-change", null));
219
- }
220
- setFocusedOption(e) {
221
- const t = this.getAllRenderedOptions().find(
222
- (i) => i.value === e.value
223
- );
224
- t && t.focus({ preventScroll: !0 });
225
- }
226
- setSelectedOption(e) {
227
- this.availableOptions.forEach((t) => t.selected = !1), e && (this.currentOption = e, e.selected = !0);
228
- }
229
- selectionChanged(e, t) {
230
- const i = t || this.value;
231
- e && e.value !== i && (this.value = e.value);
232
- }
233
- changeOption(e, t) {
234
- e && !e.disabled && (this.selectedIndex = this.findIndexByValue(
235
- this.availableOptions,
236
- e.value
237
- ), this.setSelectedOption(e), this.setCurrentOption(e), this.selectionChanged(e, t));
238
- }
239
- handleInitialFocus() {
240
- if (!this.value && this.selectedIndex < 0)
241
- this.selectedIndex = 0;
242
- else {
243
- const e = this.value ? this.findIndexByValue(this.availableOptions, this.value) : this.selectedIndex;
244
- e !== -1 && !this.isAutoComplete && (this.selectedIndex = e, this.setCurrentOption(this.availableOptions[this.selectedIndex]), this.setSelectedOption(this.availableOptions[this.selectedIndex]), this.value && this.selectionChanged(this.availableOptions[this.selectedIndex]));
245
- }
246
- this.selectedIndex || (this.setCurrentOption(this.availableOptions[0]), this.setSelectedOption(this.availableOptions[0]));
190
+ /**
191
+ * Scroll the active option into view once the popup has laid out. For hosts
192
+ * that open the list without moving focus into it.
193
+ * @internal
194
+ */
195
+ revealActiveOption() {
196
+ this.runEffect({ type: "scrollActiveNextFrame" });
247
197
  }
248
- handleKeyFocus(e) {
249
- (this.isAutoComplete || this.searchMode === "none") && (this.handleKeyCodes(e), this.setCurrentOption(this.availableOptions[this.selectedIndex], !1), this.setSelectedOption(this.availableOptions[this.selectedIndex])), this.searchMode === "typehead" && this.buildQueryString(e);
198
+ /** (Re)start the timer that clears the typeahead query. */
199
+ restartTypeaheadTimer(t) {
200
+ typeof this.queryTimeout == "number" && window.clearTimeout(this.queryTimeout), this.queryTimeout = window.setTimeout(() => {
201
+ this.dispatch({ type: "typeaheadElapsed" });
202
+ }, t);
250
203
  }
251
- captureFocus(e) {
252
- this.focused = !0, this.focus(), e ? this.handleKeyFocus(e) : this.handleInitialFocus(), typeof requestAnimationFrame == "function" && requestAnimationFrame(() => this.scrollToActiveOption());
204
+ captureFocus(t) {
205
+ this.dispatch({ type: "open", key: t });
253
206
  }
254
207
  removeFocus() {
255
- this.focused = !1, this.clearItemFocusStates();
208
+ this.dispatch({ type: "close" });
256
209
  }
257
210
  handleSlotChange() {
258
- const e = this.getAllOptions();
259
- if (this.setOptionsFromSlottedItems(), e.length > 0 && this.searchOnValueSet === "true") {
260
- const t = e.find((i) => i.value === this.value);
261
- this.setSelectedOption(t), this.selectionChanged(t), this.currentOption && (this.selectedIndex = this.findIndexByValue(e, this.value), this.emit("dds-option-change", h({}, this.getEventDetails(this.currentOption))));
262
- } else if (e.length > 0 && !this.search && !this.isAutoComplete) {
263
- const t = e.find((i) => !i.disabled);
264
- this.selectedIndex = 0, this.setCurrentOption(t, !1), this.emit("dds-current-change", h({}, this.getEventDetails(t)));
265
- } else if (e.length > 0 && (this.search || this.isAutoComplete)) {
266
- const t = e.find((i) => !i.disabled);
267
- (!this.currentOption || this.currentOption.value !== (t == null ? void 0 : t.value)) && (this.selectedIndex = 0, this.setCurrentOption(t, !1));
211
+ if (this.items) {
212
+ this.warnIgnoredChildren();
213
+ return;
214
+ }
215
+ this.dispatch({ type: "slotChanged", options: this.getAllOptions() });
216
+ }
217
+ // ---------------------------------------------------------------------------
218
+ // Listbox state wiring
219
+ // ---------------------------------------------------------------------------
220
+ toListboxState() {
221
+ return {
222
+ value: this.value,
223
+ filterText: this.filterText,
224
+ searchMode: this.searchMode,
225
+ search: this.search,
226
+ searchOnValueSet: this.searchOnValueSet,
227
+ disableDelaySet: this.disableDelaySet,
228
+ focused: this.focused,
229
+ options: this.options,
230
+ optionEls: this.optionEls,
231
+ availableOptions: this.availableOptions,
232
+ selectedIndex: this.selectedIndex,
233
+ currentOption: this.currentOption,
234
+ marked: this.markedOption,
235
+ flagged: this.flaggedOption,
236
+ query: this.queryString,
237
+ ownValue: this.ownValue
238
+ };
239
+ }
240
+ /**
241
+ * Reduce, apply the new state, then run the effects in order. Fields that
242
+ * changed and changed back within one reduction are still reported to Lit,
243
+ * exactly as the former sequence of assignments did.
244
+ */
245
+ dispatch(t, e) {
246
+ const { state: i, effects: s, changed: o, flags: n } = V(
247
+ this.toListboxState(),
248
+ t
249
+ );
250
+ for (const d of P) {
251
+ if (!o.includes(d)) continue;
252
+ const m = this;
253
+ if (m[d] !== i[d])
254
+ m[d] = i[d];
255
+ else {
256
+ const E = this.constructor.getPropertyOptions(d);
257
+ this.requestUpdate(d, m[d], v(p({}, E), {
258
+ hasChanged: () => !0
259
+ }));
260
+ }
268
261
  }
262
+ this.applyOptionFlags(n, i), this.markedOption = i.marked, this.flaggedOption = i.flagged, this.queryString = i.query, this.ownValue = i.ownValue;
263
+ for (const d of s)
264
+ this.runEffect(d, e);
265
+ }
266
+ /**
267
+ * Option flags follow Listbox state. On the caller's option items (the
268
+ * source of truth for what is selected / focusable) the marked option is
269
+ * `selected`, the flagged option is `focused` with tabindex 0, and every
270
+ * other item is cleared. A rendered clone (a click passes the clone) is only
271
+ * ever set, never cleared: its flags otherwise come from its render bindings.
272
+ */
273
+ applyOptionFlags(t, e) {
274
+ var s;
275
+ if (!t.selected && !t.focus) return;
276
+ const i = /* @__PURE__ */ new Set([
277
+ ...this.optionEls,
278
+ ...(s = this.options) != null ? s : []
279
+ ]);
280
+ t.selected && (i.forEach((o) => o.selected = o === e.marked), e.marked && (e.marked.selected = !0)), t.focus && (i.forEach((o) => {
281
+ const n = o === e.flagged;
282
+ o.focused = n, o.tabIndex = n ? 0 : -1;
283
+ }), e.flagged && (e.flagged.focused = !0, e.flagged.tabIndex = 0));
284
+ }
285
+ runEffect(t, e) {
286
+ switch (t.type) {
287
+ case "emit":
288
+ return this.emitListboxEvent(t);
289
+ case "focusOption":
290
+ return this.setFocusedOption(t.option);
291
+ case "scrollActive":
292
+ return this.scrollToActiveOption(t.option);
293
+ case "scrollActiveNextFrame":
294
+ return this.revealOverFrames();
295
+ case "focusHost":
296
+ return this.focus();
297
+ case "preventDefault":
298
+ return e == null ? void 0 : e.preventDefault();
299
+ case "stopPropagation":
300
+ return e == null ? void 0 : e.stopPropagation();
301
+ case "scheduleTypeaheadReset":
302
+ return this.restartTypeaheadTimer(t.ms);
303
+ case "afterUpdate":
304
+ this.updateComplete.then(() => this.dispatch(t.action));
305
+ return;
306
+ }
307
+ }
308
+ emitListboxEvent(t) {
309
+ const e = t.detail;
310
+ switch (e.kind) {
311
+ case "details":
312
+ return this.emit(t.name, p({}, this.getEventDetails(e.option, e.index)));
313
+ case "null":
314
+ return this.emit(t.name, null);
315
+ case "key":
316
+ return this.emit(t.name, { key: e.key, code: e.code });
317
+ case "keyDetails":
318
+ return this.emit(t.name, p({
319
+ code: e.code,
320
+ key: e.key
321
+ }, this.getEventDetails(e.option, e.index)));
322
+ case "none":
323
+ return this.emit(t.name);
324
+ case "elements":
325
+ return this.emit(t.name, { elements: e.elements });
326
+ case "deselect":
327
+ return this.emit(t.name, p({
328
+ option: e.option,
329
+ value: void 0,
330
+ index: -1,
331
+ text: e.option.optionText
332
+ }, this.itemDetail(e.option)));
333
+ }
334
+ }
335
+ renderOptionContent(t, e) {
336
+ const i = this.items ? A(t) : void 0;
337
+ return i ? this.renderOption ? this.renderOption(i, {
338
+ index: e,
339
+ selected: this.value === t.value,
340
+ active: e === this.selectedIndex,
341
+ disabled: !!i.disabled
342
+ }) : i.label : F(t.innerHTML);
269
343
  }
270
344
  render() {
271
- return v`<div
345
+ return g`<div
272
346
  part="base"
273
- class=${g("option-list", {
347
+ class=${k("option-list", {
274
348
  "option-list--sm": this.size === "sm",
275
349
  "option-list--lg": this.size === "lg"
276
350
  })}
277
351
  @keydown=${this.handleKeydown}
278
352
  @focus=${this.captureFocus}>
279
- ${this.availableOptions.map(
280
- (e, t) => v`
281
- <dap-ds-option-item
282
- size=${this.size}
283
- part="option-item"
284
- exportparts="base: option-item-base, label: option-item-label, prefix: option-item-prefix, suffix: option-item-suffix"
285
- ?disabled=${e.disabled}
286
- ?selected=${this.value === e.value}
287
- ?focused=${t === this.selectedIndex}
288
- label=${O(e.label)}
289
- role="option"
290
- value=${e.value}
291
- tabIndex=${e.tabIndex}
292
- id=${e.id || `dap-ds-option-${e.value}`}
293
- data-testid=${O(e.dataset.testid || void 0)}
294
- selectable=${this.selectable}
295
- @click=${this.handleOptionClick}>
296
- ${y(e.innerHTML)}
297
- </dap-ds-option-item>
298
- `
353
+ ${// No copied options before the first update: the server render and the
354
+ // client's hydration render then match (both empty). Options always
355
+ // arrive after it anyway (slotchange / items).
356
+ (this.hasUpdated ? this.availableOptions : []).map(
357
+ (t, e) => g`
358
+ <dap-ds-option-item
359
+ size=${this.size}
360
+ part="option-item"
361
+ exportparts="base: option-item-base, label: option-item-label, prefix: option-item-prefix, suffix: option-item-suffix"
362
+ ?disabled=${t.disabled}
363
+ ?selected=${this.value === t.value}
364
+ ?focused=${e === this.selectedIndex}
365
+ label=${b(t.label)}
366
+ role="option"
367
+ value=${t.value}
368
+ tabIndex=${t.tabIndex}
369
+ id=${t.id || `dap-ds-option-${t.value}`}
370
+ data-testid=${b(t.dataset.testid || void 0)}
371
+ selectable=${this.selectable}
372
+ @click=${this.handleOptionClick}>
373
+ ${this.renderOptionContent(t, e)}
374
+ </dap-ds-option-item>
375
+ `
299
376
  )}
300
- <slot hidden @slotchange=${this.handleSlotChange}></slot>
377
+ <!-- The caller's options are only the data source (the copies above
378
+ are what is shown), so keep them out of the accessibility tree. -->
379
+ <div hidden aria-hidden="true">
380
+ <slot @slotchange=${this.handleSlotChange}></slot>
381
+ </div>
301
382
  </div> `;
302
383
  }
303
384
  };
304
- r.tagName = "dap-ds-option-list", r.dependencies = {
305
- "dap-ds-option-item": A
306
- }, r.styles = T(E);
307
- let a = r;
308
- n([
309
- d()
310
- ], a.prototype, "filterText");
311
- n([
312
- d({ type: String, reflect: !0 })
313
- ], a.prototype, "value");
314
- n([
315
- d({ type: Boolean })
316
- ], a.prototype, "focused");
317
- n([
318
- d({ type: Boolean })
319
- ], a.prototype, "search");
320
- n([
321
- d()
322
- ], a.prototype, "searchMode");
323
- n([
324
- d({ type: String })
325
- ], a.prototype, "searchOnValueSet");
326
- n([
327
- d({ type: String })
328
- ], a.prototype, "selectable");
329
- n([
330
- d({ type: Array })
331
- ], a.prototype, "options");
332
- n([
333
- d({ type: Boolean })
334
- ], a.prototype, "disableDelaySet");
335
- n([
336
- d({ type: Boolean })
337
- ], a.prototype, "multiselectable");
338
- n([
339
- p()
340
- ], a.prototype, "currentOption");
341
- n([
342
- p()
343
- ], a.prototype, "selectedIndex");
344
- n([
345
- p()
346
- ], a.prototype, "optionEls");
347
- n([
348
- p()
349
- ], a.prototype, "availableOptions");
385
+ u.tagName = "dap-ds-option-list", u.dependencies = {
386
+ "dap-ds-option-item": D
387
+ }, u.styles = $(K);
388
+ let r = u;
389
+ a([
390
+ h()
391
+ ], r.prototype, "filterText", 2);
392
+ a([
393
+ h({ type: String, reflect: !0 })
394
+ ], r.prototype, "value", 2);
395
+ a([
396
+ h({ type: Boolean })
397
+ ], r.prototype, "focused", 2);
398
+ a([
399
+ h({ type: Boolean })
400
+ ], r.prototype, "search", 2);
401
+ a([
402
+ h()
403
+ ], r.prototype, "searchMode", 2);
404
+ a([
405
+ h({ type: String })
406
+ ], r.prototype, "searchOnValueSet", 2);
407
+ a([
408
+ h({ type: String })
409
+ ], r.prototype, "selectable", 2);
410
+ a([
411
+ h({ type: Array })
412
+ ], r.prototype, "options", 2);
413
+ a([
414
+ h({ type: Boolean })
415
+ ], r.prototype, "disableDelaySet", 2);
416
+ a([
417
+ h({ converter: B })
418
+ ], r.prototype, "items", 1);
419
+ a([
420
+ h({ attribute: !1 })
421
+ ], r.prototype, "renderOption", 2);
422
+ a([
423
+ h({ type: Boolean })
424
+ ], r.prototype, "multiselectable", 2);
425
+ a([
426
+ c()
427
+ ], r.prototype, "currentOption", 2);
428
+ a([
429
+ c()
430
+ ], r.prototype, "selectedIndex", 2);
431
+ a([
432
+ c()
433
+ ], r.prototype, "optionEls", 2);
434
+ a([
435
+ c()
436
+ ], r.prototype, "availableOptions", 2);
350
437
  export {
351
- a as default
438
+ r as default
352
439
  };
353
440
  //# sourceMappingURL=option-list.component.js.map