dap-design-system 0.62.3 → 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 (663) hide show
  1. package/README.md +5 -1
  2. package/dist/common/utils.d.ts +8 -0
  3. package/dist/common/utils.js +53 -48
  4. package/dist/common/utils.js.map +1 -1
  5. package/dist/components/accordion/accordion-base-element.js +15 -19
  6. package/dist/components/accordion/accordion-base-element.js.map +1 -1
  7. package/dist/components/accordion/accordion.component.d.ts +1 -0
  8. package/dist/components/accordion/accordion.component.js.map +1 -1
  9. package/dist/components/accordion-group/accordion-group.component.js +20 -24
  10. package/dist/components/accordion-group/accordion-group.component.js.map +1 -1
  11. package/dist/components/anchor-heading/anchor-heading.component.d.ts +1 -0
  12. package/dist/components/anchor-heading/anchor-heading.component.js +20 -23
  13. package/dist/components/anchor-heading/anchor-heading.component.js.map +1 -1
  14. package/dist/components/avatar/avatar.component.js +51 -55
  15. package/dist/components/avatar/avatar.component.js.map +1 -1
  16. package/dist/components/avatar-group/avatar-group.component.js +18 -22
  17. package/dist/components/avatar-group/avatar-group.component.js.map +1 -1
  18. package/dist/components/badge/badge.component.js +17 -20
  19. package/dist/components/badge/badge.component.js.map +1 -1
  20. package/dist/components/banner/banner.component.d.ts +1 -1
  21. package/dist/components/banner/banner.component.js +18 -24
  22. package/dist/components/banner/banner.component.js.map +1 -1
  23. package/dist/components/breadcrumb/breadcrumb.component.d.ts +2 -1
  24. package/dist/components/breadcrumb/breadcrumb.component.js +32 -32
  25. package/dist/components/breadcrumb/breadcrumb.component.js.map +1 -1
  26. package/dist/components/breadcrumb-item/breadcrumb-item.component.d.ts +8 -0
  27. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +33 -28
  28. package/dist/components/breadcrumb-item/breadcrumb-item.component.js.map +1 -1
  29. package/dist/components/button/_styles/button.scss.js +1 -1
  30. package/dist/components/button/button.component.js +18 -22
  31. package/dist/components/button/button.component.js.map +1 -1
  32. package/dist/components/button-group/_styles/button-group-separator.scss.js +5 -0
  33. package/dist/components/button-group/_styles/button-group-separator.scss.js.map +1 -0
  34. package/dist/components/button-group/_styles/button-group-text.scss.js +5 -0
  35. package/dist/components/button-group/_styles/button-group-text.scss.js.map +1 -0
  36. package/dist/components/button-group/_styles/button-group.scss.js +5 -0
  37. package/dist/components/button-group/_styles/button-group.scss.js.map +1 -0
  38. package/dist/components/button-group/button-group-separator.component.d.ts +28 -0
  39. package/dist/components/button-group/button-group-separator.component.js +18 -0
  40. package/dist/components/button-group/button-group-separator.component.js.map +1 -0
  41. package/dist/components/button-group/button-group-separator.d.ts +8 -0
  42. package/dist/components/button-group/button-group-separator.js +6 -0
  43. package/dist/components/button-group/button-group-separator.js.map +1 -0
  44. package/dist/components/button-group/button-group-text.component.d.ts +33 -0
  45. package/dist/components/button-group/button-group-text.component.js +17 -0
  46. package/dist/components/button-group/button-group-text.component.js.map +1 -0
  47. package/dist/components/button-group/button-group-text.d.ts +8 -0
  48. package/dist/components/button-group/button-group-text.js +6 -0
  49. package/dist/components/button-group/button-group-text.js.map +1 -0
  50. package/dist/components/button-group/button-group.component.d.ts +52 -0
  51. package/dist/components/button-group/button-group.component.js +30 -0
  52. package/dist/components/button-group/button-group.component.js.map +1 -0
  53. package/dist/components/button-group/button-group.d.ts +8 -0
  54. package/dist/components/button-group/button-group.js +6 -0
  55. package/dist/components/button-group/button-group.js.map +1 -0
  56. package/dist/components/calendar/calendar-cell.component.js +26 -29
  57. package/dist/components/calendar/calendar-cell.component.js.map +1 -1
  58. package/dist/components/calendar/calendar.component.d.ts +10 -1
  59. package/dist/components/calendar/calendar.component.js +37 -46
  60. package/dist/components/calendar/calendar.component.js.map +1 -1
  61. package/dist/components/callout/callout.component.d.ts +4 -0
  62. package/dist/components/callout/callout.component.js +71 -69
  63. package/dist/components/callout/callout.component.js.map +1 -1
  64. package/dist/components/card/card-actions.component.js +8 -11
  65. package/dist/components/card/card-actions.component.js.map +1 -1
  66. package/dist/components/card/card-content.component.js +20 -23
  67. package/dist/components/card/card-content.component.js.map +1 -1
  68. package/dist/components/card/card-image.component.js +18 -21
  69. package/dist/components/card/card-image.component.js.map +1 -1
  70. package/dist/components/card/card-subtitle.component.js +18 -21
  71. package/dist/components/card/card-subtitle.component.js.map +1 -1
  72. package/dist/components/card/card-title.component.js +18 -21
  73. package/dist/components/card/card-title.component.js.map +1 -1
  74. package/dist/components/card/card.component.d.ts +1 -0
  75. package/dist/components/card/card.component.js +25 -28
  76. package/dist/components/card/card.component.js.map +1 -1
  77. package/dist/components/checkbox/_styles/checkbox.scss.js +1 -1
  78. package/dist/components/checkbox/checkbox.component.d.ts +7 -1
  79. package/dist/components/checkbox/checkbox.component.js +71 -74
  80. package/dist/components/checkbox/checkbox.component.js.map +1 -1
  81. package/dist/components/chip/chip.component.d.ts +1 -0
  82. package/dist/components/chip/chip.component.js +21 -26
  83. package/dist/components/chip/chip.component.js.map +1 -1
  84. package/dist/components/code-puncher/code-puncher-slot.component.js +34 -38
  85. package/dist/components/code-puncher/code-puncher-slot.component.js.map +1 -1
  86. package/dist/components/code-puncher/code-puncher.component.d.ts +4 -0
  87. package/dist/components/code-puncher/code-puncher.component.js +97 -102
  88. package/dist/components/code-puncher/code-puncher.component.js.map +1 -1
  89. package/dist/components/code-puncher/code-puncher.context.js +1 -1
  90. package/dist/components/code-puncher/code-puncher.context.js.map +1 -1
  91. package/dist/components/code-puncher/code-puncher.scss.js +1 -1
  92. package/dist/components/combobox/combobox.component.d.ts +9 -1
  93. package/dist/components/combobox/combobox.component.js.map +1 -1
  94. package/dist/components/combobox/combobox.scss.js +1 -1
  95. package/dist/components/combobox/comboboxBase.d.ts +29 -0
  96. package/dist/components/combobox/comboboxBase.js +218 -150
  97. package/dist/components/combobox/comboboxBase.js.map +1 -1
  98. package/dist/components/command/command-group.component.js +19 -23
  99. package/dist/components/command/command-group.component.js.map +1 -1
  100. package/dist/components/command/command-item.component.js +17 -22
  101. package/dist/components/command/command-item.component.js.map +1 -1
  102. package/dist/components/command/command.component.d.ts +3 -0
  103. package/dist/components/command/command.component.js +28 -33
  104. package/dist/components/command/command.component.js.map +1 -1
  105. package/dist/components/content-switcher/content-switcher-item.component.js +16 -19
  106. package/dist/components/content-switcher/content-switcher-item.component.js.map +1 -1
  107. package/dist/components/content-switcher/content-switcher.component.js +19 -22
  108. package/dist/components/content-switcher/content-switcher.component.js.map +1 -1
  109. package/dist/components/copybox-input/copybox-input.component.d.ts +11 -0
  110. package/dist/components/copybox-input/copybox-input.component.js +12 -16
  111. package/dist/components/copybox-input/copybox-input.component.js.map +1 -1
  112. package/dist/components/dap-badge/dap-badge.component.js +13 -18
  113. package/dist/components/dap-badge/dap-badge.component.js.map +1 -1
  114. package/dist/components/datatable/datatable.component.d.ts +17 -0
  115. package/dist/components/datatable/datatable.component.js +38 -42
  116. package/dist/components/datatable/datatable.component.js.map +1 -1
  117. package/dist/components/datatable/utils/cell-renderer.js +6 -8
  118. package/dist/components/datatable/utils/cell-renderer.js.map +1 -1
  119. package/dist/components/datepicker/datepicker.component.d.ts +8 -0
  120. package/dist/components/datepicker/datepicker.component.js +76 -81
  121. package/dist/components/datepicker/datepicker.component.js.map +1 -1
  122. package/dist/components/datepicker/datepicker.scss.js +1 -1
  123. package/dist/components/divider/divider.component.js +18 -21
  124. package/dist/components/divider/divider.component.js.map +1 -1
  125. package/dist/components/feedback/feedback.component.js +8 -11
  126. package/dist/components/feedback/feedback.component.js.map +1 -1
  127. package/dist/components/file-input/file-input-list-item.component.d.ts +1 -0
  128. package/dist/components/file-input/file-input-list-item.component.js +36 -40
  129. package/dist/components/file-input/file-input-list-item.component.js.map +1 -1
  130. package/dist/components/file-input/file-input-list.component.js +15 -20
  131. package/dist/components/file-input/file-input-list.component.js.map +1 -1
  132. package/dist/components/file-input/file-input-list.scss.js +1 -1
  133. package/dist/components/file-input/file-input.component.d.ts +3 -0
  134. package/dist/components/file-input/file-input.component.js +135 -142
  135. package/dist/components/file-input/file-input.component.js.map +1 -1
  136. package/dist/components/file-input/file-input.scss.js +1 -1
  137. package/dist/components/form/form-label/form-label.component.d.ts +1 -1
  138. package/dist/components/form/form-label/form-label.component.js +20 -23
  139. package/dist/components/form/form-label/form-label.component.js.map +1 -1
  140. package/dist/components/form/input-group/input-group.component.d.ts +4 -0
  141. package/dist/components/form/input-group/input-group.component.js +42 -42
  142. package/dist/components/form/input-group/input-group.component.js.map +1 -1
  143. package/dist/components/form/input-group/input-group.scss.js +2 -2
  144. package/dist/components/form/radio-group/radio-group.component.d.ts +5 -0
  145. package/dist/components/form/radio-group/radio-group.component.js +54 -55
  146. package/dist/components/form/radio-group/radio-group.component.js.map +1 -1
  147. package/dist/components/icon/icon.component.js +25 -28
  148. package/dist/components/icon/icon.component.js.map +1 -1
  149. package/dist/components/icon-button/icon-button.component.d.ts +1 -0
  150. package/dist/components/icon-button/icon-button.component.js +11 -14
  151. package/dist/components/icon-button/icon-button.component.js.map +1 -1
  152. package/dist/components/icon-button/icon-button.scss.js +1 -1
  153. package/dist/components/icons/arrows/arrows-arrow-down-line/arrows-arrow-down-line.component.js +9 -12
  154. package/dist/components/icons/arrows/arrows-arrow-down-line/arrows-arrow-down-line.component.js.map +1 -1
  155. package/dist/components/icons/arrows/arrows-arrow-down-s-fill/arrows-arrow-down-s-fill.component.js +7 -10
  156. package/dist/components/icons/arrows/arrows-arrow-down-s-fill/arrows-arrow-down-s-fill.component.js.map +1 -1
  157. package/dist/components/icons/arrows/arrows-arrow-down-s-line/arrows-arrow-down-s-line.component.js +12 -15
  158. package/dist/components/icons/arrows/arrows-arrow-down-s-line/arrows-arrow-down-s-line.component.js.map +1 -1
  159. package/dist/components/icons/arrows/arrows-arrow-left-down-line/arrows-arrow-left-down-line.component.js +8 -11
  160. package/dist/components/icons/arrows/arrows-arrow-left-down-line/arrows-arrow-left-down-line.component.js.map +1 -1
  161. package/dist/components/icons/arrows/arrows-arrow-left-l-line/arrows-arrow-left-l-line.component.js +15 -18
  162. package/dist/components/icons/arrows/arrows-arrow-left-l-line/arrows-arrow-left-l-line.component.js.map +1 -1
  163. package/dist/components/icons/arrows/arrows-arrow-left-line/arrows-arrow-left-line.component.js +7 -10
  164. package/dist/components/icons/arrows/arrows-arrow-left-line/arrows-arrow-left-line.component.js.map +1 -1
  165. package/dist/components/icons/arrows/arrows-arrow-left-s-fill/arrows-arrow-left-s-fill.component.js +10 -13
  166. package/dist/components/icons/arrows/arrows-arrow-left-s-fill/arrows-arrow-left-s-fill.component.js.map +1 -1
  167. package/dist/components/icons/arrows/arrows-arrow-left-s-line/arrows-arrow-left-s-line.component.js +7 -10
  168. package/dist/components/icons/arrows/arrows-arrow-left-s-line/arrows-arrow-left-s-line.component.js.map +1 -1
  169. package/dist/components/icons/arrows/arrows-arrow-left-up-line/arrows-arrow-left-up-line.component.js +6 -9
  170. package/dist/components/icons/arrows/arrows-arrow-left-up-line/arrows-arrow-left-up-line.component.js.map +1 -1
  171. package/dist/components/icons/arrows/arrows-arrow-right-down-line/arrows-arrow-right-down-line.component.js +18 -21
  172. package/dist/components/icons/arrows/arrows-arrow-right-down-line/arrows-arrow-right-down-line.component.js.map +1 -1
  173. package/dist/components/icons/arrows/arrows-arrow-right-l-line/arrows-arrow-right-l-line.component.js +15 -18
  174. package/dist/components/icons/arrows/arrows-arrow-right-l-line/arrows-arrow-right-l-line.component.js.map +1 -1
  175. package/dist/components/icons/arrows/arrows-arrow-right-line/arrows-arrow-right-line.component.js +17 -20
  176. package/dist/components/icons/arrows/arrows-arrow-right-line/arrows-arrow-right-line.component.js.map +1 -1
  177. package/dist/components/icons/arrows/arrows-arrow-right-s-fill/arrows-arrow-right-s-fill.component.js +17 -20
  178. package/dist/components/icons/arrows/arrows-arrow-right-s-fill/arrows-arrow-right-s-fill.component.js.map +1 -1
  179. package/dist/components/icons/arrows/arrows-arrow-right-s-line/arrows-arrow-right-s-line.component.js +17 -20
  180. package/dist/components/icons/arrows/arrows-arrow-right-s-line/arrows-arrow-right-s-line.component.js.map +1 -1
  181. package/dist/components/icons/arrows/arrows-arrow-right-up-line/arrows-arrow-right-up-line.component.js +18 -21
  182. package/dist/components/icons/arrows/arrows-arrow-right-up-line/arrows-arrow-right-up-line.component.js.map +1 -1
  183. package/dist/components/icons/arrows/arrows-arrow-up-line/arrows-arrow-up-line.component.js +9 -12
  184. package/dist/components/icons/arrows/arrows-arrow-up-line/arrows-arrow-up-line.component.js.map +1 -1
  185. package/dist/components/icons/arrows/arrows-arrow-up-s-fill/arrows-arrow-up-s-fill.component.js +8 -11
  186. package/dist/components/icons/arrows/arrows-arrow-up-s-fill/arrows-arrow-up-s-fill.component.js.map +1 -1
  187. package/dist/components/icons/arrows/arrows-arrow-up-s-line/arrows-arrow-up-s-line.component.js +9 -12
  188. package/dist/components/icons/arrows/arrows-arrow-up-s-line/arrows-arrow-up-s-line.component.js.map +1 -1
  189. package/dist/components/icons/arrows/arrows-expand-up-down-fill/arrows-expand-up-down-fill.component.js +11 -14
  190. package/dist/components/icons/arrows/arrows-expand-up-down-fill/arrows-expand-up-down-fill.component.js.map +1 -1
  191. package/dist/components/icons/buildings/buildings-home-6-line/buildings-home-6-line.component.js +10 -13
  192. package/dist/components/icons/buildings/buildings-home-6-line/buildings-home-6-line.component.js.map +1 -1
  193. package/dist/components/icons/business/business-calendar-line/business-calendar-line.component.js +11 -14
  194. package/dist/components/icons/business/business-calendar-line/business-calendar-line.component.js.map +1 -1
  195. package/dist/components/icons/design/design-edit-line/design-edit-line.component.js +6 -9
  196. package/dist/components/icons/design/design-edit-line/design-edit-line.component.js.map +1 -1
  197. package/dist/components/icons/design/design-tools-line/design-tools-line.component.js +12 -15
  198. package/dist/components/icons/design/design-tools-line/design-tools-line.component.js.map +1 -1
  199. package/dist/components/icons/device/device-computer-line/device-computer-line.component.js +16 -19
  200. package/dist/components/icons/device/device-computer-line/device-computer-line.component.js.map +1 -1
  201. package/dist/components/icons/document/document-clipboard-line/document-clipboard-line.component.js +11 -14
  202. package/dist/components/icons/document/document-clipboard-line/document-clipboard-line.component.js.map +1 -1
  203. package/dist/components/icons/document/document-file-copy-line/document-file-copy-line.component.js +10 -13
  204. package/dist/components/icons/document/document-file-copy-line/document-file-copy-line.component.js.map +1 -1
  205. package/dist/components/icons/document/document-file-image-line/document-file-image-line.component.js +11 -14
  206. package/dist/components/icons/document/document-file-image-line/document-file-image-line.component.js.map +1 -1
  207. package/dist/components/icons/document/document-file-music-line/document-file-music-line.component.js +11 -14
  208. package/dist/components/icons/document/document-file-music-line/document-file-music-line.component.js.map +1 -1
  209. package/dist/components/icons/document/document-file-text-line/document-file-text-line.component.js +10 -13
  210. package/dist/components/icons/document/document-file-text-line/document-file-text-line.component.js.map +1 -1
  211. package/dist/components/icons/document/document-file-video-line/document-file-video-line.component.js +11 -14
  212. package/dist/components/icons/document/document-file-video-line/document-file-video-line.component.js.map +1 -1
  213. package/dist/components/icons/document/document-folder-line/document-folder-line.component.js +11 -14
  214. package/dist/components/icons/document/document-folder-line/document-folder-line.component.js.map +1 -1
  215. package/dist/components/icons/document/document-folder-open-line/document-folder-open-line.component.js +10 -13
  216. package/dist/components/icons/document/document-folder-open-line/document-folder-open-line.component.js.map +1 -1
  217. package/dist/components/icons/editor/editor-separator/editor-separator.component.js +10 -13
  218. package/dist/components/icons/editor/editor-separator/editor-separator.component.js.map +1 -1
  219. package/dist/components/icons/health/health-heart-fill/health-heart-fill.component.js +8 -11
  220. package/dist/components/icons/health/health-heart-fill/health-heart-fill.component.js.map +1 -1
  221. package/dist/components/icons/health/health-heart-line/health-heart-line.component.js +10 -13
  222. package/dist/components/icons/health/health-heart-line/health-heart-line.component.js.map +1 -1
  223. package/dist/components/icons/others/others-cookie-line/others-cookie-line.component.js +6 -9
  224. package/dist/components/icons/others/others-cookie-line/others-cookie-line.component.js.map +1 -1
  225. package/dist/components/icons/system/system-add-line/system-add-line.component.js +11 -14
  226. package/dist/components/icons/system/system-add-line/system-add-line.component.js.map +1 -1
  227. package/dist/components/icons/system/system-alert-fill/system-alert-fill.component.js +9 -12
  228. package/dist/components/icons/system/system-alert-fill/system-alert-fill.component.js.map +1 -1
  229. package/dist/components/icons/system/system-alert-line/system-alert-line.component.js +11 -14
  230. package/dist/components/icons/system/system-alert-line/system-alert-line.component.js.map +1 -1
  231. package/dist/components/icons/system/system-check-line/system-check-line.component.js +9 -12
  232. package/dist/components/icons/system/system-check-line/system-check-line.component.js.map +1 -1
  233. package/dist/components/icons/system/system-check-line2/system-check-line2.component.js +11 -14
  234. package/dist/components/icons/system/system-check-line2/system-check-line2.component.js.map +1 -1
  235. package/dist/components/icons/system/system-checkbox-blank-circle-fill/system-checkbox-blank-circle-fill.component.js +9 -12
  236. package/dist/components/icons/system/system-checkbox-blank-circle-fill/system-checkbox-blank-circle-fill.component.js.map +1 -1
  237. package/dist/components/icons/system/system-checkbox-blank-circle-fill-check/system-checkbox-blank-circle-fill-check.component.js +12 -15
  238. package/dist/components/icons/system/system-checkbox-blank-circle-fill-check/system-checkbox-blank-circle-fill-check.component.js.map +1 -1
  239. package/dist/components/icons/system/system-checkbox-blank-circle-line/system-checkbox-blank-circle-line.component.js +13 -16
  240. package/dist/components/icons/system/system-checkbox-blank-circle-line/system-checkbox-blank-circle-line.component.js.map +1 -1
  241. package/dist/components/icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component.js +11 -14
  242. package/dist/components/icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component.js.map +1 -1
  243. package/dist/components/icons/system/system-checkbox-circle-line/system-checkbox-circle-line.component.js +11 -14
  244. package/dist/components/icons/system/system-checkbox-circle-line/system-checkbox-circle-line.component.js.map +1 -1
  245. package/dist/components/icons/system/system-close-circle-fill/system-close-circle-fill.component.js +11 -14
  246. package/dist/components/icons/system/system-close-circle-fill/system-close-circle-fill.component.js.map +1 -1
  247. package/dist/components/icons/system/system-close-circle-line/system-close-circle-line.component.js +7 -10
  248. package/dist/components/icons/system/system-close-circle-line/system-close-circle-line.component.js.map +1 -1
  249. package/dist/components/icons/system/system-close-fill/system-close-fill.component.js +11 -14
  250. package/dist/components/icons/system/system-close-fill/system-close-fill.component.js.map +1 -1
  251. package/dist/components/icons/system/system-close-line/system-close-line.component.js +11 -14
  252. package/dist/components/icons/system/system-close-line/system-close-line.component.js.map +1 -1
  253. package/dist/components/icons/system/system-delete-bin-fill/system-delete-bin-fill.component.js +7 -10
  254. package/dist/components/icons/system/system-delete-bin-fill/system-delete-bin-fill.component.js.map +1 -1
  255. package/dist/components/icons/system/system-delete-bin-line/system-delete-bin-line.component.js +9 -12
  256. package/dist/components/icons/system/system-delete-bin-line/system-delete-bin-line.component.js.map +1 -1
  257. package/dist/components/icons/system/system-download-line/system-download-line.component.js +9 -12
  258. package/dist/components/icons/system/system-download-line/system-download-line.component.js.map +1 -1
  259. package/dist/components/icons/system/system-error-warning-fill/system-error-warning-fill.component.js +7 -10
  260. package/dist/components/icons/system/system-error-warning-fill/system-error-warning-fill.component.js.map +1 -1
  261. package/dist/components/icons/system/system-error-warning-line/system-error-warning-line.component.js +11 -14
  262. package/dist/components/icons/system/system-error-warning-line/system-error-warning-line.component.js.map +1 -1
  263. package/dist/components/icons/system/system-external-link-line/system-external-link-line.component.js +9 -12
  264. package/dist/components/icons/system/system-external-link-line/system-external-link-line.component.js.map +1 -1
  265. package/dist/components/icons/system/system-eye-line/system-eye-line.component.js +11 -14
  266. package/dist/components/icons/system/system-eye-line/system-eye-line.component.js.map +1 -1
  267. package/dist/components/icons/system/system-eye-off-line/system-eye-off-line.component.js +6 -9
  268. package/dist/components/icons/system/system-eye-off-line/system-eye-off-line.component.js.map +1 -1
  269. package/dist/components/icons/system/system-forbid-fill/system-forbid-fill.component.js +9 -12
  270. package/dist/components/icons/system/system-forbid-fill/system-forbid-fill.component.js.map +1 -1
  271. package/dist/components/icons/system/system-information-2-fill/system-information-2-fill.component.js +9 -12
  272. package/dist/components/icons/system/system-information-2-fill/system-information-2-fill.component.js.map +1 -1
  273. package/dist/components/icons/system/system-information-fill/system-information-fill.component.js +9 -12
  274. package/dist/components/icons/system/system-information-fill/system-information-fill.component.js.map +1 -1
  275. package/dist/components/icons/system/system-information-line/system-information-line.component.js +9 -12
  276. package/dist/components/icons/system/system-information-line/system-information-line.component.js.map +1 -1
  277. package/dist/components/icons/system/system-lightbulb-fill/system-lightbulb-fill.component.js +9 -12
  278. package/dist/components/icons/system/system-lightbulb-fill/system-lightbulb-fill.component.js.map +1 -1
  279. package/dist/components/icons/system/system-loading-spinner/system-loading-spinner.component.js +9 -12
  280. package/dist/components/icons/system/system-loading-spinner/system-loading-spinner.component.js.map +1 -1
  281. package/dist/components/icons/system/system-lock-fill/system-lock-fill.component.js +13 -16
  282. package/dist/components/icons/system/system-lock-fill/system-lock-fill.component.js.map +1 -1
  283. package/dist/components/icons/system/system-lock-line/system-lock-line.component.js +10 -13
  284. package/dist/components/icons/system/system-lock-line/system-lock-line.component.js.map +1 -1
  285. package/dist/components/icons/system/system-menu-line/system-menu-line.component.js +9 -12
  286. package/dist/components/icons/system/system-menu-line/system-menu-line.component.js.map +1 -1
  287. package/dist/components/icons/system/system-menu-line-s/system-menu-line-s.component.js +9 -12
  288. package/dist/components/icons/system/system-menu-line-s/system-menu-line-s.component.js.map +1 -1
  289. package/dist/components/icons/system/system-more-2-line/system-more-2-line.component.js +10 -13
  290. package/dist/components/icons/system/system-more-2-line/system-more-2-line.component.js.map +1 -1
  291. package/dist/components/icons/system/system-more-line/system-more-line.component.js +16 -19
  292. package/dist/components/icons/system/system-more-line/system-more-line.component.js.map +1 -1
  293. package/dist/components/icons/system/system-search-line/system-search-line.component.js +11 -14
  294. package/dist/components/icons/system/system-search-line/system-search-line.component.js.map +1 -1
  295. package/dist/components/icons/system/system-share-line/system-share-line.component.js +9 -12
  296. package/dist/components/icons/system/system-share-line/system-share-line.component.js.map +1 -1
  297. package/dist/components/icons/system/system-shield-check-fill/system-shield-check-fill.component.js +8 -11
  298. package/dist/components/icons/system/system-shield-check-fill/system-shield-check-fill.component.js.map +1 -1
  299. package/dist/components/icons/system/system-shield-check-line/system-shield-check-line.component.js +6 -9
  300. package/dist/components/icons/system/system-shield-check-line/system-shield-check-line.component.js.map +1 -1
  301. package/dist/components/icons/system/system-star-fill/system-star-fill.component.js +13 -16
  302. package/dist/components/icons/system/system-star-fill/system-star-fill.component.js.map +1 -1
  303. package/dist/components/icons/system/system-subtract-line/system-subtract-line.component.js +11 -14
  304. package/dist/components/icons/system/system-subtract-line/system-subtract-line.component.js.map +1 -1
  305. package/dist/components/icons/system/system-subtract-line2/system-subtract-line2.component.js +7 -10
  306. package/dist/components/icons/system/system-subtract-line2/system-subtract-line2.component.js.map +1 -1
  307. package/dist/components/icons/system/system-time-fill/system-time-fill.component.js +11 -14
  308. package/dist/components/icons/system/system-time-fill/system-time-fill.component.js.map +1 -1
  309. package/dist/components/icons/system/system-time-line/system-time-line.component.js +11 -14
  310. package/dist/components/icons/system/system-time-line/system-time-line.component.js.map +1 -1
  311. package/dist/components/icons/system/system-upload-2-fill/system-upload-2-fill.component.js +5 -8
  312. package/dist/components/icons/system/system-upload-2-fill/system-upload-2-fill.component.js.map +1 -1
  313. package/dist/components/icons/system/system-upload-2-line/system-upload-2-line.component.js +7 -10
  314. package/dist/components/icons/system/system-upload-2-line/system-upload-2-line.component.js.map +1 -1
  315. package/dist/components/icons/system/system-upload-line/system-upload-line.component.js +9 -12
  316. package/dist/components/icons/system/system-upload-line/system-upload-line.component.js.map +1 -1
  317. package/dist/components/icons/system/system-zoom-in-line/system-zoom-in-line.component.js +9 -12
  318. package/dist/components/icons/system/system-zoom-in-line/system-zoom-in-line.component.js.map +1 -1
  319. package/dist/components/icons/system/system-zoom-out-line/system-zoom-out-line.component.js +11 -14
  320. package/dist/components/icons/system/system-zoom-out-line/system-zoom-out-line.component.js.map +1 -1
  321. package/dist/components/icons/user/user-account-circle-fill/user-account-circle-fill.component.js +16 -19
  322. package/dist/components/icons/user/user-account-circle-fill/user-account-circle-fill.component.js.map +1 -1
  323. package/dist/components/icons/user/user-account-circle-line/user-account-circle-line.component.js +13 -16
  324. package/dist/components/icons/user/user-account-circle-line/user-account-circle-line.component.js.map +1 -1
  325. package/dist/components/icons/user/user-user-fill/user-user-fill.component.js +8 -11
  326. package/dist/components/icons/user/user-user-fill/user-user-fill.component.js.map +1 -1
  327. package/dist/components/icons/user/user-user-line/user-user-line.component.js +11 -14
  328. package/dist/components/icons/user/user-user-line/user-user-line.component.js.map +1 -1
  329. package/dist/components/image-zoom/image-zoom.component.js +12 -17
  330. package/dist/components/image-zoom/image-zoom.component.js.map +1 -1
  331. package/dist/components/input/_styles/input.scss.js +1 -1
  332. package/dist/components/input/input-base-element.js +41 -47
  333. package/dist/components/input/input-base-element.js.map +1 -1
  334. package/dist/components/label/_styles/label.scss.js +1 -1
  335. package/dist/components/label/label.component.js +8 -11
  336. package/dist/components/label/label.component.js.map +1 -1
  337. package/dist/components/link/link.component.js +23 -27
  338. package/dist/components/link/link.component.js.map +1 -1
  339. package/dist/components/list-item/list-item.component.d.ts +2 -0
  340. package/dist/components/list-item/list-item.component.js +24 -29
  341. package/dist/components/list-item/list-item.component.js.map +1 -1
  342. package/dist/components/modal/modal-base-element.js +36 -42
  343. package/dist/components/modal/modal-base-element.js.map +1 -1
  344. package/dist/components/navigation-menu/navigation-menu-item.component.d.ts +9 -1
  345. package/dist/components/navigation-menu/navigation-menu-item.component.js +36 -31
  346. package/dist/components/navigation-menu/navigation-menu-item.component.js.map +1 -1
  347. package/dist/components/navigation-menu/navigation-menu.component.js +20 -24
  348. package/dist/components/navigation-menu/navigation-menu.component.js.map +1 -1
  349. package/dist/components/notification-badge/notification-badge.component.js +28 -32
  350. package/dist/components/notification-badge/notification-badge.component.js.map +1 -1
  351. package/dist/components/number-input/number-input.component.d.ts +7 -0
  352. package/dist/components/number-input/number-input.component.js +23 -29
  353. package/dist/components/number-input/number-input.component.js.map +1 -1
  354. package/dist/components/official-website-banner/official-website-banner.component.d.ts +1 -0
  355. package/dist/components/official-website-banner/official-website-banner.component.js +19 -24
  356. package/dist/components/official-website-banner/official-website-banner.component.js.map +1 -1
  357. package/dist/components/option-group/option-group.component.js +17 -20
  358. package/dist/components/option-group/option-group.component.js.map +1 -1
  359. package/dist/components/option-item/option-item.component.d.ts +10 -0
  360. package/dist/components/option-item/option-item.component.js +66 -60
  361. package/dist/components/option-item/option-item.component.js.map +1 -1
  362. package/dist/components/option-item/option-item.scss.js +1 -1
  363. package/dist/components/option-list/__test__/listbox-harness.d.ts +129 -0
  364. package/dist/components/option-list/listbox-state.d.ts +230 -0
  365. package/dist/components/option-list/listbox-state.js +312 -0
  366. package/dist/components/option-list/listbox-state.js.map +1 -0
  367. package/dist/components/option-list/option-data.d.ts +35 -0
  368. package/dist/components/option-list/option-data.js +34 -0
  369. package/dist/components/option-list/option-data.js.map +1 -0
  370. package/dist/components/option-list/option-list.component.d.ts +68 -14
  371. package/dist/components/option-list/option-list.component.js +364 -274
  372. package/dist/components/option-list/option-list.component.js.map +1 -1
  373. package/dist/components/overlay/overlay.component.js +10 -13
  374. package/dist/components/overlay/overlay.component.js.map +1 -1
  375. package/dist/components/pager/pager.component.js +31 -37
  376. package/dist/components/pager/pager.component.js.map +1 -1
  377. package/dist/components/password-input/password-input.component.d.ts +12 -5
  378. package/dist/components/password-input/password-input.component.js +24 -30
  379. package/dist/components/password-input/password-input.component.js.map +1 -1
  380. package/dist/components/popup/popup-base-element.d.ts +6 -0
  381. package/dist/components/popup/popup-base-element.js +96 -71
  382. package/dist/components/popup/popup-base-element.js.map +1 -1
  383. package/dist/components/progress/progress.component.js +17 -21
  384. package/dist/components/progress/progress.component.js.map +1 -1
  385. package/dist/components/radio-button/_styles/radio-button.scss.js +1 -1
  386. package/dist/components/radio-button/radio-button.component.d.ts +5 -0
  387. package/dist/components/radio-button/radio-button.component.js +58 -62
  388. package/dist/components/radio-button/radio-button.component.js.map +1 -1
  389. package/dist/components/rating/_styles/rating.scss.js +2 -2
  390. package/dist/components/rating/rating.component.js +37 -41
  391. package/dist/components/rating/rating.component.js.map +1 -1
  392. package/dist/components/scroll-area/scroll-area.component.d.ts +2 -1
  393. package/dist/components/scroll-area/scroll-area.component.js +25 -28
  394. package/dist/components/scroll-area/scroll-area.component.js.map +1 -1
  395. package/dist/components/scroll-progress/scroll-progress.component.js +13 -17
  396. package/dist/components/scroll-progress/scroll-progress.component.js.map +1 -1
  397. package/dist/components/search/search.component.d.ts +6 -1
  398. package/dist/components/search/search.component.js.map +1 -1
  399. package/dist/components/select/select.component.d.ts +47 -0
  400. package/dist/components/select/select.component.js +271 -157
  401. package/dist/components/select/select.component.js.map +1 -1
  402. package/dist/components/select/select.scss.js +1 -1
  403. package/dist/components/sidenav/sidenav-group.component.d.ts +1 -0
  404. package/dist/components/sidenav/sidenav-group.component.js +11 -14
  405. package/dist/components/sidenav/sidenav-group.component.js.map +1 -1
  406. package/dist/components/sidenav/sidenav-item.component.js +20 -23
  407. package/dist/components/sidenav/sidenav-item.component.js.map +1 -1
  408. package/dist/components/sidenav/sidenav.component.js +17 -20
  409. package/dist/components/sidenav/sidenav.component.js.map +1 -1
  410. package/dist/components/skeleton/skeleton.component.js +9 -12
  411. package/dist/components/skeleton/skeleton.component.js.map +1 -1
  412. package/dist/components/skip-link/skip-link.component.js +13 -16
  413. package/dist/components/skip-link/skip-link.component.js.map +1 -1
  414. package/dist/components/snackbar/snackbar-message.component.d.ts +3 -1
  415. package/dist/components/snackbar/snackbar-message.component.js +39 -44
  416. package/dist/components/snackbar/snackbar-message.component.js.map +1 -1
  417. package/dist/components/snackbar/snackbar.component.d.ts +0 -1
  418. package/dist/components/snackbar/snackbar.component.js +36 -42
  419. package/dist/components/snackbar/snackbar.component.js.map +1 -1
  420. package/dist/components/spinner/spinner.component.js +33 -38
  421. package/dist/components/spinner/spinner.component.js.map +1 -1
  422. package/dist/components/stack/stack.component.d.ts +2 -1
  423. package/dist/components/stack/stack.component.js +16 -19
  424. package/dist/components/stack/stack.component.js.map +1 -1
  425. package/dist/components/switch/switch.component.d.ts +6 -0
  426. package/dist/components/switch/switch.component.js +48 -51
  427. package/dist/components/switch/switch.component.js.map +1 -1
  428. package/dist/components/switch/switch.scss.js +1 -1
  429. package/dist/components/tab/tab-group.component.d.ts +8 -3
  430. package/dist/components/tab/tab-group.component.js +43 -33
  431. package/dist/components/tab/tab-group.component.js.map +1 -1
  432. package/dist/components/tab/tab.component.js +22 -25
  433. package/dist/components/tab/tab.component.js.map +1 -1
  434. package/dist/components/table/table-cell.component.d.ts +1 -1
  435. package/dist/components/table/table-cell.component.js +16 -19
  436. package/dist/components/table/table-cell.component.js.map +1 -1
  437. package/dist/components/table/table-header.component.js +21 -24
  438. package/dist/components/table/table-header.component.js.map +1 -1
  439. package/dist/components/table/table-row.component.js +15 -18
  440. package/dist/components/table/table-row.component.js.map +1 -1
  441. package/dist/components/table/table.component.d.ts +2 -0
  442. package/dist/components/table/table.component.js +18 -22
  443. package/dist/components/table/table.component.js.map +1 -1
  444. package/dist/components/textarea/textarea.component.d.ts +2 -0
  445. package/dist/components/textarea/textarea.component.js +42 -46
  446. package/dist/components/textarea/textarea.component.js.map +1 -1
  447. package/dist/components/textarea/textarea.scss.js +1 -1
  448. package/dist/components/timeline/timeline-item.component.js +7 -10
  449. package/dist/components/timeline/timeline-item.component.js.map +1 -1
  450. package/dist/components/timeline/timeline.component.js +5 -8
  451. package/dist/components/timeline/timeline.component.js.map +1 -1
  452. package/dist/components/timepicker/time-grid.component.d.ts +3 -0
  453. package/dist/components/timepicker/time-grid.component.js +12 -15
  454. package/dist/components/timepicker/time-grid.component.js.map +1 -1
  455. package/dist/components/timepicker/timepicker.component.d.ts +5 -0
  456. package/dist/components/timepicker/timepicker.component.js +90 -95
  457. package/dist/components/timepicker/timepicker.component.js.map +1 -1
  458. package/dist/components/timepicker/timepicker.scss.js +1 -1
  459. package/dist/components/toc/toc.component.d.ts +2 -0
  460. package/dist/components/toc/toc.component.js +58 -61
  461. package/dist/components/toc/toc.component.js.map +1 -1
  462. package/dist/components/toggle-button/toggle-button.component.js +9 -12
  463. package/dist/components/toggle-button/toggle-button.component.js.map +1 -1
  464. package/dist/components/tooltip/tooltip.component.d.ts +2 -0
  465. package/dist/components/tooltip/tooltip.component.js +16 -18
  466. package/dist/components/tooltip/tooltip.component.js.map +1 -1
  467. package/dist/components/tray/tray.component.d.ts +4 -1
  468. package/dist/components/tray/tray.component.js +13 -16
  469. package/dist/components/tray/tray.component.js.map +1 -1
  470. package/dist/components/typography/typography.component.js +38 -41
  471. package/dist/components/typography/typography.component.js.map +1 -1
  472. package/dist/components.d.ts +3 -0
  473. package/dist/components.js +204 -195
  474. package/dist/components.js.map +1 -1
  475. package/dist/components.native.css +5 -2
  476. package/dist/components.native.css.map +1 -1
  477. package/dist/dap-design-system.d.ts +3 -0
  478. package/dist/dds-preupgrade.css +57 -0
  479. package/dist/dds.js +383 -374
  480. package/dist/dds.js.map +1 -1
  481. package/dist/internal/dds-hu-element.d.ts +8 -0
  482. package/dist/internal/dds-hu-element.js +40 -41
  483. package/dist/internal/dds-hu-element.js.map +1 -1
  484. package/dist/internal/mixin/choiceElementMixin.js +7 -7
  485. package/dist/internal/mixin/feedbackMixin.js +13 -15
  486. package/dist/internal/mixin/feedbackMixin.js.map +1 -1
  487. package/dist/internal/mixin/focusableMixin.js +6 -6
  488. package/dist/internal/mixin/formElementMixin.js +1 -1
  489. package/dist/internal/mixin/labelPositionedMixin.js +1 -1
  490. package/dist/internal/mixin/labelableMixin.d.ts +1 -1
  491. package/dist/internal/mixin/labelableMixin.js +61 -63
  492. package/dist/internal/mixin/labelableMixin.js.map +1 -1
  493. package/dist/internal/mixin/sizedMixin.js +29 -27
  494. package/dist/internal/mixin/sizedMixin.js.map +1 -1
  495. package/dist/internal/templates/formLabel.d.ts +41 -0
  496. package/dist/internal/templates/formLabel.js +47 -0
  497. package/dist/internal/templates/formLabel.js.map +1 -0
  498. package/dist/localization/locales/de.json.js +7 -7
  499. package/dist/localization/locales/en.json.js +6 -6
  500. package/dist/localization/locales/hu.json.js +1 -1
  501. package/dist/localization/localization.d.ts +1 -2
  502. package/dist/localization/localization.js +77 -76
  503. package/dist/localization/localization.js.map +1 -1
  504. package/dist/localization/localize-controller.d.ts +12 -0
  505. package/dist/localization/localize-controller.js +51 -0
  506. package/dist/localization/localize-controller.js.map +1 -0
  507. package/dist/manifest/types/vue/index.d.ts +509 -292
  508. package/dist/manifest/vscode.html-custom-data.json +328 -269
  509. package/dist/manifest/web-types.json +834 -720
  510. package/dist/react/dap-ds-accordion/index.d.ts +1 -0
  511. package/dist/react/dap-ds-accordion/index.js.map +1 -1
  512. package/dist/react/dap-ds-anchor-heading/index.d.ts +1 -0
  513. package/dist/react/dap-ds-anchor-heading/index.js.map +1 -1
  514. package/dist/react/dap-ds-banner/index.d.ts +1 -1
  515. package/dist/react/dap-ds-banner/index.js.map +1 -1
  516. package/dist/react/dap-ds-breadcrumb/index.d.ts +1 -1
  517. package/dist/react/dap-ds-breadcrumb/index.js.map +1 -1
  518. package/dist/react/dap-ds-button-group/index.d.ts +45 -0
  519. package/dist/react/dap-ds-button-group/index.js +15 -0
  520. package/dist/react/dap-ds-button-group/index.js.map +1 -0
  521. package/dist/react/dap-ds-button-group-separator/index.d.ts +24 -0
  522. package/dist/react/dap-ds-button-group-separator/index.js +15 -0
  523. package/dist/react/dap-ds-button-group-separator/index.js.map +1 -0
  524. package/dist/react/dap-ds-button-group-text/index.d.ts +30 -0
  525. package/dist/react/dap-ds-button-group-text/index.js +15 -0
  526. package/dist/react/dap-ds-button-group-text/index.js.map +1 -0
  527. package/dist/react/dap-ds-calendar/index.d.ts +3 -0
  528. package/dist/react/dap-ds-calendar/index.js.map +1 -1
  529. package/dist/react/dap-ds-callout/index.d.ts +1 -0
  530. package/dist/react/dap-ds-callout/index.js.map +1 -1
  531. package/dist/react/dap-ds-card/index.d.ts +1 -0
  532. package/dist/react/dap-ds-card/index.js.map +1 -1
  533. package/dist/react/dap-ds-checkbox/index.d.ts +7 -1
  534. package/dist/react/dap-ds-checkbox/index.js.map +1 -1
  535. package/dist/react/dap-ds-chip/index.d.ts +1 -0
  536. package/dist/react/dap-ds-chip/index.js.map +1 -1
  537. package/dist/react/dap-ds-code-puncher/index.d.ts +4 -0
  538. package/dist/react/dap-ds-code-puncher/index.js.map +1 -1
  539. package/dist/react/dap-ds-combobox/index.d.ts +9 -1
  540. package/dist/react/dap-ds-combobox/index.js.map +1 -1
  541. package/dist/react/dap-ds-command/index.d.ts +3 -0
  542. package/dist/react/dap-ds-command/index.js.map +1 -1
  543. package/dist/react/dap-ds-copybox-input/index.d.ts +11 -0
  544. package/dist/react/dap-ds-copybox-input/index.js.map +1 -1
  545. package/dist/react/dap-ds-datatable/index.d.ts +17 -0
  546. package/dist/react/dap-ds-datatable/index.js.map +1 -1
  547. package/dist/react/dap-ds-datepicker/index.d.ts +8 -0
  548. package/dist/react/dap-ds-datepicker/index.js.map +1 -1
  549. package/dist/react/dap-ds-file-input/index.d.ts +3 -0
  550. package/dist/react/dap-ds-file-input/index.js.map +1 -1
  551. package/dist/react/dap-ds-file-input-list-item/index.d.ts +1 -0
  552. package/dist/react/dap-ds-file-input-list-item/index.js.map +1 -1
  553. package/dist/react/dap-ds-form-label/index.d.ts +1 -1
  554. package/dist/react/dap-ds-form-label/index.js.map +1 -1
  555. package/dist/react/dap-ds-icon-button/index.d.ts +1 -0
  556. package/dist/react/dap-ds-icon-button/index.js.map +1 -1
  557. package/dist/react/dap-ds-input-group/index.d.ts +4 -0
  558. package/dist/react/dap-ds-input-group/index.js.map +1 -1
  559. package/dist/react/dap-ds-list-item/index.d.ts +2 -0
  560. package/dist/react/dap-ds-list-item/index.js.map +1 -1
  561. package/dist/react/dap-ds-number-input/index.d.ts +7 -0
  562. package/dist/react/dap-ds-number-input/index.js.map +1 -1
  563. package/dist/react/dap-ds-official-website-banner/index.d.ts +1 -0
  564. package/dist/react/dap-ds-official-website-banner/index.js.map +1 -1
  565. package/dist/react/dap-ds-option-item/index.d.ts +1 -0
  566. package/dist/react/dap-ds-option-item/index.js.map +1 -1
  567. package/dist/react/dap-ds-option-list/index.d.ts +1 -1
  568. package/dist/react/dap-ds-option-list/index.js.map +1 -1
  569. package/dist/react/dap-ds-password-input/index.d.ts +12 -5
  570. package/dist/react/dap-ds-password-input/index.js.map +1 -1
  571. package/dist/react/dap-ds-radio-button/index.d.ts +5 -0
  572. package/dist/react/dap-ds-radio-button/index.js.map +1 -1
  573. package/dist/react/dap-ds-radio-group/index.d.ts +5 -0
  574. package/dist/react/dap-ds-radio-group/index.js.map +1 -1
  575. package/dist/react/dap-ds-scroll-area/index.d.ts +2 -1
  576. package/dist/react/dap-ds-scroll-area/index.js.map +1 -1
  577. package/dist/react/dap-ds-search/index.d.ts +6 -1
  578. package/dist/react/dap-ds-search/index.js.map +1 -1
  579. package/dist/react/dap-ds-select/index.d.ts +6 -0
  580. package/dist/react/dap-ds-select/index.js.map +1 -1
  581. package/dist/react/dap-ds-sidenav-group/index.d.ts +1 -0
  582. package/dist/react/dap-ds-sidenav-group/index.js.map +1 -1
  583. package/dist/react/dap-ds-snackbar/index.d.ts +0 -1
  584. package/dist/react/dap-ds-snackbar/index.js.map +1 -1
  585. package/dist/react/dap-ds-snackbar-message/index.d.ts +3 -1
  586. package/dist/react/dap-ds-snackbar-message/index.js.map +1 -1
  587. package/dist/react/dap-ds-stack/index.d.ts +2 -1
  588. package/dist/react/dap-ds-stack/index.js.map +1 -1
  589. package/dist/react/dap-ds-switch/index.d.ts +6 -0
  590. package/dist/react/dap-ds-switch/index.js.map +1 -1
  591. package/dist/react/dap-ds-tab-group/index.d.ts +4 -2
  592. package/dist/react/dap-ds-tab-group/index.js.map +1 -1
  593. package/dist/react/dap-ds-table/index.d.ts +2 -0
  594. package/dist/react/dap-ds-table/index.js.map +1 -1
  595. package/dist/react/dap-ds-table-cell/index.d.ts +1 -1
  596. package/dist/react/dap-ds-table-cell/index.js.map +1 -1
  597. package/dist/react/dap-ds-textarea/index.d.ts +2 -0
  598. package/dist/react/dap-ds-textarea/index.js.map +1 -1
  599. package/dist/react/dap-ds-time-grid/index.d.ts +3 -0
  600. package/dist/react/dap-ds-time-grid/index.js.map +1 -1
  601. package/dist/react/dap-ds-timepicker/index.d.ts +5 -0
  602. package/dist/react/dap-ds-timepicker/index.js.map +1 -1
  603. package/dist/react/dap-ds-toc/index.d.ts +2 -0
  604. package/dist/react/dap-ds-toc/index.js.map +1 -1
  605. package/dist/react/dap-ds-tooltip/index.d.ts +2 -0
  606. package/dist/react/dap-ds-tooltip/index.js.map +1 -1
  607. package/dist/react/dap-ds-tray/index.d.ts +4 -1
  608. package/dist/react/dap-ds-tray/index.js.map +1 -1
  609. package/dist/react/index.d.ts +11 -8
  610. package/dist/react-types.ts +11 -8
  611. package/dist/react.js +362 -356
  612. package/dist/react.js.map +1 -1
  613. package/package.json +17 -3
  614. package/dist/node_modules/@lit/context/lib/context-request-event.js +0 -14
  615. package/dist/node_modules/@lit/context/lib/context-request-event.js.map +0 -1
  616. package/dist/node_modules/@lit/context/lib/controllers/context-consumer.js +0 -31
  617. package/dist/node_modules/@lit/context/lib/controllers/context-consumer.js.map +0 -1
  618. package/dist/node_modules/@lit/context/lib/controllers/context-provider.js +0 -40
  619. package/dist/node_modules/@lit/context/lib/controllers/context-provider.js.map +0 -1
  620. package/dist/node_modules/@lit/context/lib/create-context.js +0 -12
  621. package/dist/node_modules/@lit/context/lib/create-context.js.map +0 -1
  622. package/dist/node_modules/@lit/context/lib/value-notifier.js +0 -37
  623. package/dist/node_modules/@lit/context/lib/value-notifier.js.map +0 -1
  624. package/dist/node_modules/@lit/reactive-element/css-tag.js +0 -51
  625. package/dist/node_modules/@lit/reactive-element/css-tag.js.map +0 -1
  626. package/dist/node_modules/@lit/reactive-element/decorators/base.js +0 -10
  627. package/dist/node_modules/@lit/reactive-element/decorators/base.js.map +0 -1
  628. package/dist/node_modules/@lit/reactive-element/decorators/property.js +0 -38
  629. package/dist/node_modules/@lit/reactive-element/decorators/property.js.map +0 -1
  630. package/dist/node_modules/@lit/reactive-element/decorators/query-all.js +0 -17
  631. package/dist/node_modules/@lit/reactive-element/decorators/query-all.js.map +0 -1
  632. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js +0 -20
  633. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js.map +0 -1
  634. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js +0 -20
  635. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js.map +0 -1
  636. package/dist/node_modules/@lit/reactive-element/decorators/query.js +0 -21
  637. package/dist/node_modules/@lit/reactive-element/decorators/query.js.map +0 -1
  638. package/dist/node_modules/@lit/reactive-element/decorators/state.js +0 -25
  639. package/dist/node_modules/@lit/reactive-element/decorators/state.js.map +0 -1
  640. package/dist/node_modules/@lit/reactive-element/reactive-element.js +0 -276
  641. package/dist/node_modules/@lit/reactive-element/reactive-element.js.map +0 -1
  642. package/dist/node_modules/lit-element/lit-element.js +0 -53
  643. package/dist/node_modules/lit-element/lit-element.js.map +0 -1
  644. package/dist/node_modules/lit-html/async-directive.js +0 -71
  645. package/dist/node_modules/lit-html/async-directive.js.map +0 -1
  646. package/dist/node_modules/lit-html/directive-helpers.js +0 -46
  647. package/dist/node_modules/lit-html/directive-helpers.js.map +0 -1
  648. package/dist/node_modules/lit-html/directive.js +0 -28
  649. package/dist/node_modules/lit-html/directive.js.map +0 -1
  650. package/dist/node_modules/lit-html/directives/if-defined.js +0 -11
  651. package/dist/node_modules/lit-html/directives/if-defined.js.map +0 -1
  652. package/dist/node_modules/lit-html/directives/map.js +0 -15
  653. package/dist/node_modules/lit-html/directives/map.js.map +0 -1
  654. package/dist/node_modules/lit-html/directives/repeat.js +0 -63
  655. package/dist/node_modules/lit-html/directives/repeat.js.map +0 -1
  656. package/dist/node_modules/lit-html/directives/style-map.js +0 -37
  657. package/dist/node_modules/lit-html/directives/style-map.js.map +0 -1
  658. package/dist/node_modules/lit-html/lit-html.js +0 -249
  659. package/dist/node_modules/lit-html/lit-html.js.map +0 -1
  660. package/dist/node_modules/lit-html/static.js +0 -34
  661. package/dist/node_modules/lit-html/static.js.map +0 -1
  662. package/dist/node_modules/lit-i18n/src/lit-i18n.js +0 -95
  663. package/dist/node_modules/lit-i18n/src/lit-i18n.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"badge.component.js","sources":["../../../src/components/badge/badge.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { nothing, PropertyValueMap, unsafeCSS } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { html } from 'lit/static-html.js'\n\nimport { DdsElement } from '../../internal/dds-hu-element'\nimport { SizedMixin } from '../../internal/mixin/sizedMixin'\nimport DapDSIcon from '../icon/icon.component'\nimport DapDSStack from '../stack/stack.component'\nimport styles from './badge.scss?inline'\n\nconst BadgeBaseWithSized = SizedMixin(DdsElement)\n\nexport type BadgeType =\n | 'neutral'\n | 'brand'\n | 'info'\n | 'positive'\n | 'warning'\n | 'negative'\n\nexport type BadgeSize = 'sm' | 'lg'\n\n/**\n * `dap-ds-badge`\n * @summary A badge is a small status descriptor for UI elements.\n * @element dap-ds-badge\n * @title - Badge\n *\n * @property { 'sm' | 'lg' } size - The size of the badge. Default is `sm`.\n * @property {string} sizeMap - Responsive size map (e.g. \"md:lg\").\n *\n * @slot - The content of the badge.\n * @slot icon - The icon of the badge.\n *\n * @csspart base - The main container of the badge.\n * @csspart icon - The icon of the badge.\n * @csspart content - The content of the badge.\n * @csspart icon-base - The base of the icon.\n *\n * @cssproperty --dds-badge-border-width - The width of the badge's border (default: var(--dds-border-width-base))\n * @cssproperty --dds-badge-border-style - The style of the badge's border (default: solid)\n * @cssproperty --dds-badge-border-radius - The border radius of the badge (default: var(--dds-radius-base))\n * @cssproperty --dds-badge-font-weight - The font weight of the badge text (default: var(--dds-font-weight-bold))\n * @cssproperty --dds-badge-line-height - The line height of the badge text (default: 1.2)\n * @cssproperty --dds-badge-transition - The transition property for the badge (default: all 0.2s ease-in-out)\n *\n * @cssproperty --dds-badge-padding-sm - The padding of the small badge (default: var(--dds-spacing-100) var(--dds-spacing-200))\n * @cssproperty --dds-badge-padding-lg - The padding of the large badge (default: var(--dds-spacing-100) var(--dds-spacing-300))\n * @cssproperty --dds-badge-font-size-sm - The font size of the small badge (default: var(--dds-font-xs))\n * @cssproperty --dds-badge-font-size-lg - The font size of the large badge (default: var(--dds-font-sm))\n *\n * @cssproperty --dds-badge-neutral-border-color - The border color of the neutral badge (default: var(--dds-border-neutral-base))\n * @cssproperty --dds-badge-neutral-background - The background color of the neutral badge (default: var(--dds-background-neutral-medium))\n * @cssproperty --dds-badge-neutral-color - The text color of the neutral badge (default: var(--dds-text-neutral-subtle))\n *\n * @cssproperty --dds-badge-brand-border-color - The border color of the brand badge (default: var(--dds-border-brand-base))\n * @cssproperty --dds-badge-brand-background - The background color of the brand badge (default: var(--dds-background-brand-medium))\n * @cssproperty --dds-badge-brand-color - The text color of the brand badge (default: var(--dds-text-brand-subtle))\n *\n * @cssproperty --dds-badge-info-border-color - The border color of the info badge (default: var(--dds-border-informative-base))\n * @cssproperty --dds-badge-info-background - The background color of the info badge (default: var(--dds-background-informative-medium))\n * @cssproperty --dds-badge-info-color - The text color of the info badge (default: var(--dds-text-informative-subtle))\n *\n * @cssproperty --dds-badge-positive-border-color - The border color of the positive badge (default: var(--dds-border-positive-base))\n * @cssproperty --dds-badge-positive-background - The background color of the positive badge (default: var(--dds-background-positive-medium))\n * @cssproperty --dds-badge-positive-color - The text color of the positive badge (default: var(--dds-text-positive-subtle))\n *\n * @cssproperty --dds-badge-warning-border-color - The border color of the warning badge (default: var(--dds-border-warning-subtle))\n * @cssproperty --dds-badge-warning-background - The background color of the warning badge (default: var(--dds-background-warning-medium))\n * @cssproperty --dds-badge-warning-color - The text color of the warning badge (default: var(--dds-text-warning-subtle))\n *\n * @cssproperty --dds-badge-negative-border-color - The border color of the negative badge (default: var(--dds-border-negative-base))\n * @cssproperty --dds-badge-negative-background - The background color of the negative badge (default: var(--dds-background-negative-medium))\n * @cssproperty --dds-badge-negative-color - The text color of the negative badge (default: var(--dds-text-negative-subtle))\n *\n */\nexport default class DapDSBadge extends BadgeBaseWithSized {\n static tagName = 'dap-ds-badge'\n\n static dependencies = {\n 'dap-ds-icon': DapDSIcon,\n 'dap-ds-stack': DapDSStack,\n }\n\n /** The type of the badge\n * @type { 'neutral' | 'brand' | 'info' | 'positive' | 'warning' | 'negative' }\n */\n @property() type: BadgeType = 'neutral'\n\n /** Maps effectiveSize from SizedMixin to the badge's two visual sizes (sm | lg). */\n private get badgeSize(): BadgeSize {\n const s = this.effectiveSize\n return s === 'lg' || s === 'md' ? 'lg' : 'sm'\n }\n\n /** The icon of the badge, this is a name of a built in icon */\n @property() icon?: string\n\n /** Whether the badge represents dynamic content that should announce changes */\n @property({ type: Boolean }) live = false\n\n private _hasSlottedIcon = false\n private _cachedIconSize = 12\n\n static readonly styles = unsafeCSS(styles)\n\n protected firstUpdated(\n _changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>,\n ): void {\n super.firstUpdated(_changedProperties)\n this.setAccessibilityAttributes()\n\n this._cachedIconSize = this.getIconSize(this.badgeSize)\n this.setupSlotListeners()\n this.updateIconSlot()\n }\n\n protected updated(\n _changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>,\n ): void {\n super.updated(_changedProperties)\n\n if (_changedProperties.has('size') || _changedProperties.has('sizeMap')) {\n this._cachedIconSize = this.getIconSize(this.badgeSize)\n this.updateIconSlot()\n }\n\n if (_changedProperties.has('live')) {\n this.setAccessibilityAttributes()\n }\n\n if (_changedProperties.has('icon')) {\n this.validateIcon()\n }\n }\n\n private setAccessibilityAttributes(): void {\n if (this.live) {\n this.setAttribute('role', 'status')\n this.setAttribute('aria-live', 'polite')\n } else {\n this.removeAttribute('role')\n this.removeAttribute('aria-live')\n }\n }\n\n private validateIcon(): void {\n if (this.icon && typeof this.icon === 'string' && this.icon.trim() === '') {\n console.warn('Badge: Empty icon name provided')\n }\n }\n\n private setupSlotListeners(): void {\n try {\n if (!this.shadowRoot) return\n\n const iconSlot = this.shadowRoot.querySelector(\n 'slot[name=\"icon\"]',\n ) as HTMLSlotElement\n\n if (!iconSlot) return\n\n iconSlot.addEventListener('slotchange', () => {\n this.updateIconSlot()\n this.requestUpdate()\n })\n } catch (error) {\n console.warn('Failed to setup slot listeners:', error)\n }\n }\n\n private updateIconSlot(): void {\n try {\n if (!this.shadowRoot) return\n\n const iconSlot = this.shadowRoot.querySelector(\n 'slot[name=\"icon\"]',\n ) as HTMLSlotElement\n\n if (!iconSlot) {\n this._hasSlottedIcon = false\n return\n }\n\n const assignedElements = iconSlot.assignedElements()\n this._hasSlottedIcon = assignedElements.length > 0\n\n if (assignedElements.length > 0) {\n assignedElements[0].setAttribute(\n 'staticSize',\n this._cachedIconSize.toString(),\n )\n }\n } catch (error) {\n console.warn('Failed to update icon slot:', error)\n this._hasSlottedIcon = false\n }\n }\n\n private getIconSize(size: BadgeSize): number {\n return size === 'sm' ? 12 : 16\n }\n\n private renderIcon() {\n if (this.icon) {\n return html`\n <dap-ds-icon\n part=\"icon\"\n exportparts=\"icon, base:icon-base\"\n name=\"${this.icon}\"\n staticSize=${this._cachedIconSize}>\n </dap-ds-icon>\n `\n }\n\n return html`<slot name=\"icon\" part=\"icon\"></slot>`\n }\n\n render() {\n const hasIcon = this.icon || this._hasSlottedIcon\n\n return html`\n <div\n part=\"base\"\n class=${clsx(\n 'badge',\n `badge--${this.type}`,\n `badge--${this.badgeSize}`,\n hasIcon && 'badge--has-icon',\n )}>\n <dap-ds-stack direction=\"row\" spacing=\"100\">\n ${hasIcon ? this.renderIcon() : nothing}\n <slot part=\"content\"></slot>\n </dap-ds-stack>\n </div>\n `\n }\n}\n"],"names":["BadgeBaseWithSized","SizedMixin","DdsElement","_DapDSBadge","s","_changedProperties","iconSlot","error","assignedElements","size","html","hasIcon","clsx","nothing","DapDSIcon","DapDSStack","unsafeCSS","styles","DapDSBadge","__decorateClass","property"],"mappings":";;;;;;;;;;;;;;;;;AAWA,MAAMA,IAAqBC,EAAWC,CAAU,GAkE3BC,IAArB,MAAqBA,UAAmBH,EAAmB;AAAA,EAA3D,cAAA;AAAA,UAAA,GAAA,SAAA,GAWgC,KAAA,OAAA,WAYM,KAAA,OAAA,IAEpC,KAAQ,kBAAkB,IAC1B,KAAQ,kBAAkB;AAAA,EAAA;AAAA;AAAA,EAZ1B,IAAY,YAAuB;AACjC,UAAMI,IAAI,KAAK;AACf,WAAOA,MAAM,QAAQA,MAAM,OAAO,OAAO;AAAA,EAAA;AAAA,EAcjC,aACRC,GACM;AACN,UAAM,aAAaA,CAAkB,GACrC,KAAK,2BAA2B,GAEhC,KAAK,kBAAkB,KAAK,YAAY,KAAK,SAAS,GACtD,KAAK,mBAAmB,GACxB,KAAK,eAAe;AAAA,EAAA;AAAA,EAGZ,QACRA,GACM;AACN,UAAM,QAAQA,CAAkB,IAE5BA,EAAmB,IAAI,MAAM,KAAKA,EAAmB,IAAI,SAAS,OACpE,KAAK,kBAAkB,KAAK,YAAY,KAAK,SAAS,GACtD,KAAK,eAAe,IAGlBA,EAAmB,IAAI,MAAM,KAC/B,KAAK,2BAA2B,GAG9BA,EAAmB,IAAI,MAAM,KAC/B,KAAK,aAAa;AAAA,EACpB;AAAA,EAGM,6BAAmC;AACzC,IAAI,KAAK,QACF,KAAA,aAAa,QAAQ,QAAQ,GAC7B,KAAA,aAAa,aAAa,QAAQ,MAEvC,KAAK,gBAAgB,MAAM,GAC3B,KAAK,gBAAgB,WAAW;AAAA,EAClC;AAAA,EAGM,eAAqB;AACvB,IAAA,KAAK,QAAQ,OAAO,KAAK,QAAS,YAAY,KAAK,KAAK,KAAK,MAAM,MACrE,QAAQ,KAAK,iCAAiC;AAAA,EAChD;AAAA,EAGM,qBAA2B;AAC7B,QAAA;AACE,UAAA,CAAC,KAAK,WAAY;AAEhB,YAAAC,IAAW,KAAK,WAAW;AAAA,QAC/B;AAAA,MACF;AAEA,UAAI,CAACA,EAAU;AAEN,MAAAA,EAAA,iBAAiB,cAAc,MAAM;AAC5C,aAAK,eAAe,GACpB,KAAK,cAAc;AAAA,MAAA,CACpB;AAAA,aACMC,GAAO;AACN,cAAA,KAAK,mCAAmCA,CAAK;AAAA,IAAA;AAAA,EACvD;AAAA,EAGM,iBAAuB;AACzB,QAAA;AACE,UAAA,CAAC,KAAK,WAAY;AAEhB,YAAAD,IAAW,KAAK,WAAW;AAAA,QAC/B;AAAA,MACF;AAEA,UAAI,CAACA,GAAU;AACb,aAAK,kBAAkB;AACvB;AAAA,MAAA;AAGI,YAAAE,IAAmBF,EAAS,iBAAiB;AAC9C,WAAA,kBAAkBE,EAAiB,SAAS,GAE7CA,EAAiB,SAAS,KAC5BA,EAAiB,CAAC,EAAE;AAAA,QAClB;AAAA,QACA,KAAK,gBAAgB,SAAS;AAAA,MAChC;AAAA,aAEKD,GAAO;AACN,cAAA,KAAK,+BAA+BA,CAAK,GACjD,KAAK,kBAAkB;AAAA,IAAA;AAAA,EACzB;AAAA,EAGM,YAAYE,GAAyB;AACpC,WAAAA,MAAS,OAAO,KAAK;AAAA,EAAA;AAAA,EAGtB,aAAa;AACnB,WAAI,KAAK,OACAC;AAAAA;AAAAA;AAAAA;AAAAA,kBAIK,KAAK,IAAI;AAAA,uBACJ,KAAK,eAAe;AAAA;AAAA,UAKhCA;AAAAA,EAAA;AAAA,EAGT,SAAS;AACD,UAAAC,IAAU,KAAK,QAAQ,KAAK;AAE3B,WAAAD;AAAAA;AAAAA;AAAAA,gBAGKE;AAAA,MACN;AAAA,MACA,UAAU,KAAK,IAAI;AAAA,MACnB,UAAU,KAAK,SAAS;AAAA,MACxBD,KAAW;AAAA,IAAA,CACZ;AAAA;AAAA,YAEGA,IAAU,KAAK,WAAW,IAAIE,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAMjD;AAhKEV,EAAO,UAAU,gBAEjBA,EAAO,eAAe;AAAA,EACpB,eAAeW;AAAA,EACf,gBAAgBC;AAClB,GAsBgBZ,EAAA,SAASa,EAAUC,CAAM;AA5B3C,IAAqBC,IAArBf;AAWcgB,EAAA;AAAA,EAAXC,EAAS;AAAA,GAXSF,EAWP,WAAA,MAAA;AASAC,EAAA;AAAA,EAAXC,EAAS;AAAA,GApBSF,EAoBP,WAAA,MAAA;AAGiBC,EAAA;AAAA,EAA5BC,EAAS,EAAE,MAAM,QAAS,CAAA;AAAA,GAvBRF,EAuBU,WAAA,MAAA;"}
1
+ {"version":3,"file":"badge.component.js","sources":["../../../src/components/badge/badge.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { nothing, PropertyValueMap, unsafeCSS } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { html } from 'lit/static-html.js'\n\nimport { DdsElement } from '../../internal/dds-hu-element'\nimport { SizedMixin } from '../../internal/mixin/sizedMixin'\nimport DapDSIcon from '../icon/icon.component'\nimport DapDSStack from '../stack/stack.component'\nimport styles from './badge.scss?inline'\n\nconst BadgeBaseWithSized = SizedMixin(DdsElement)\n\nexport type BadgeType =\n | 'neutral'\n | 'brand'\n | 'info'\n | 'positive'\n | 'warning'\n | 'negative'\n\nexport type BadgeSize = 'sm' | 'lg'\n\n/**\n * `dap-ds-badge`\n * @summary A badge is a small status descriptor for UI elements.\n * @element dap-ds-badge\n * @title - Badge\n *\n * @property { 'sm' | 'lg' } size - The size of the badge. Default is `sm`.\n * @property {string} sizeMap - Responsive size map (e.g. \"md:lg\").\n *\n * @slot - The content of the badge.\n * @slot icon - The icon of the badge.\n *\n * @csspart base - The main container of the badge.\n * @csspart icon - The icon of the badge.\n * @csspart content - The content of the badge.\n * @csspart icon-base - The base of the icon.\n *\n * @cssproperty --dds-badge-border-width - The width of the badge's border (default: var(--dds-border-width-base))\n * @cssproperty --dds-badge-border-style - The style of the badge's border (default: solid)\n * @cssproperty --dds-badge-border-radius - The border radius of the badge (default: var(--dds-radius-base))\n * @cssproperty --dds-badge-font-weight - The font weight of the badge text (default: var(--dds-font-weight-bold))\n * @cssproperty --dds-badge-line-height - The line height of the badge text (default: 1.2)\n * @cssproperty --dds-badge-transition - The transition property for the badge (default: all 0.2s ease-in-out)\n *\n * @cssproperty --dds-badge-padding-sm - The padding of the small badge (default: var(--dds-spacing-100) var(--dds-spacing-200))\n * @cssproperty --dds-badge-padding-lg - The padding of the large badge (default: var(--dds-spacing-100) var(--dds-spacing-300))\n * @cssproperty --dds-badge-font-size-sm - The font size of the small badge (default: var(--dds-font-xs))\n * @cssproperty --dds-badge-font-size-lg - The font size of the large badge (default: var(--dds-font-sm))\n *\n * @cssproperty --dds-badge-neutral-border-color - The border color of the neutral badge (default: var(--dds-border-neutral-base))\n * @cssproperty --dds-badge-neutral-background - The background color of the neutral badge (default: var(--dds-background-neutral-medium))\n * @cssproperty --dds-badge-neutral-color - The text color of the neutral badge (default: var(--dds-text-neutral-subtle))\n *\n * @cssproperty --dds-badge-brand-border-color - The border color of the brand badge (default: var(--dds-border-brand-base))\n * @cssproperty --dds-badge-brand-background - The background color of the brand badge (default: var(--dds-background-brand-medium))\n * @cssproperty --dds-badge-brand-color - The text color of the brand badge (default: var(--dds-text-brand-subtle))\n *\n * @cssproperty --dds-badge-info-border-color - The border color of the info badge (default: var(--dds-border-informative-base))\n * @cssproperty --dds-badge-info-background - The background color of the info badge (default: var(--dds-background-informative-medium))\n * @cssproperty --dds-badge-info-color - The text color of the info badge (default: var(--dds-text-informative-subtle))\n *\n * @cssproperty --dds-badge-positive-border-color - The border color of the positive badge (default: var(--dds-border-positive-base))\n * @cssproperty --dds-badge-positive-background - The background color of the positive badge (default: var(--dds-background-positive-medium))\n * @cssproperty --dds-badge-positive-color - The text color of the positive badge (default: var(--dds-text-positive-subtle))\n *\n * @cssproperty --dds-badge-warning-border-color - The border color of the warning badge (default: var(--dds-border-warning-subtle))\n * @cssproperty --dds-badge-warning-background - The background color of the warning badge (default: var(--dds-background-warning-medium))\n * @cssproperty --dds-badge-warning-color - The text color of the warning badge (default: var(--dds-text-warning-subtle))\n *\n * @cssproperty --dds-badge-negative-border-color - The border color of the negative badge (default: var(--dds-border-negative-base))\n * @cssproperty --dds-badge-negative-background - The background color of the negative badge (default: var(--dds-background-negative-medium))\n * @cssproperty --dds-badge-negative-color - The text color of the negative badge (default: var(--dds-text-negative-subtle))\n *\n */\nexport default class DapDSBadge extends BadgeBaseWithSized {\n static tagName = 'dap-ds-badge'\n\n static dependencies = {\n 'dap-ds-icon': DapDSIcon,\n 'dap-ds-stack': DapDSStack,\n }\n\n /** The type of the badge\n * @type { 'neutral' | 'brand' | 'info' | 'positive' | 'warning' | 'negative' }\n */\n @property() type: BadgeType = 'neutral'\n\n /** Maps effectiveSize from SizedMixin to the badge's two visual sizes (sm | lg). */\n private get badgeSize(): BadgeSize {\n const s = this.effectiveSize\n return s === 'lg' || s === 'md' ? 'lg' : 'sm'\n }\n\n /** The icon of the badge, this is a name of a built in icon */\n @property() icon?: string\n\n /** Whether the badge represents dynamic content that should announce changes */\n @property({ type: Boolean }) live = false\n\n private _hasSlottedIcon = false\n private _cachedIconSize = 12\n\n static readonly styles = unsafeCSS(styles)\n\n protected firstUpdated(\n _changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>,\n ): void {\n super.firstUpdated(_changedProperties)\n this.setAccessibilityAttributes()\n\n this._cachedIconSize = this.getIconSize(this.badgeSize)\n this.setupSlotListeners()\n this.updateIconSlot()\n }\n\n protected updated(\n _changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>,\n ): void {\n super.updated(_changedProperties)\n\n if (_changedProperties.has('size') || _changedProperties.has('sizeMap')) {\n this._cachedIconSize = this.getIconSize(this.badgeSize)\n this.updateIconSlot()\n }\n\n if (_changedProperties.has('live')) {\n this.setAccessibilityAttributes()\n }\n\n if (_changedProperties.has('icon')) {\n this.validateIcon()\n }\n }\n\n private setAccessibilityAttributes(): void {\n if (this.live) {\n this.setAttribute('role', 'status')\n this.setAttribute('aria-live', 'polite')\n } else {\n this.removeAttribute('role')\n this.removeAttribute('aria-live')\n }\n }\n\n private validateIcon(): void {\n if (this.icon && typeof this.icon === 'string' && this.icon.trim() === '') {\n console.warn('Badge: Empty icon name provided')\n }\n }\n\n private setupSlotListeners(): void {\n try {\n if (!this.shadowRoot) return\n\n const iconSlot = this.shadowRoot.querySelector(\n 'slot[name=\"icon\"]',\n ) as HTMLSlotElement\n\n if (!iconSlot) return\n\n iconSlot.addEventListener('slotchange', () => {\n this.updateIconSlot()\n this.requestUpdate()\n })\n } catch (error) {\n console.warn('Failed to setup slot listeners:', error)\n }\n }\n\n private updateIconSlot(): void {\n try {\n if (!this.shadowRoot) return\n\n const iconSlot = this.shadowRoot.querySelector(\n 'slot[name=\"icon\"]',\n ) as HTMLSlotElement\n\n if (!iconSlot) {\n this._hasSlottedIcon = false\n return\n }\n\n const assignedElements = iconSlot.assignedElements()\n this._hasSlottedIcon = assignedElements.length > 0\n\n if (assignedElements.length > 0) {\n assignedElements[0].setAttribute(\n 'staticSize',\n this._cachedIconSize.toString(),\n )\n }\n } catch (error) {\n console.warn('Failed to update icon slot:', error)\n this._hasSlottedIcon = false\n }\n }\n\n private getIconSize(size: BadgeSize): number {\n return size === 'sm' ? 12 : 16\n }\n\n private renderIcon() {\n if (this.icon) {\n return html`\n <dap-ds-icon\n part=\"icon\"\n exportparts=\"icon, base:icon-base\"\n name=\"${this.icon}\"\n staticSize=${this._cachedIconSize}>\n </dap-ds-icon>\n `\n }\n\n return html`<slot name=\"icon\" part=\"icon\"></slot>`\n }\n\n render() {\n const hasIcon = this.icon || this._hasSlottedIcon\n\n return html`\n <div\n part=\"base\"\n class=${clsx(\n 'badge',\n `badge--${this.type}`,\n `badge--${this.badgeSize}`,\n hasIcon && 'badge--has-icon',\n )}>\n <dap-ds-stack direction=\"row\" spacing=\"100\">\n ${hasIcon ? this.renderIcon() : nothing}\n <slot part=\"content\"></slot>\n </dap-ds-stack>\n </div>\n `\n }\n}\n"],"names":["BadgeBaseWithSized","SizedMixin","DdsElement","_DapDSBadge","s","_changedProperties","iconSlot","error","assignedElements","size","html","hasIcon","clsx","nothing","DapDSIcon","DapDSStack","unsafeCSS","styles","DapDSBadge","__decorateClass","property"],"mappings":";;;;;;;;;;;;;;AAWA,MAAMA,IAAqBC,EAAWC,CAAU,GAkE3BC,IAArB,MAAqBA,UAAmBH,EAAmB;AAAA,EAA3D,cAAA;AAAA,UAAA,GAAA,SAAA,GAWgC,KAAA,OAAA,WAYM,KAAA,OAAA,IAEpC,KAAQ,kBAAkB,IAC1B,KAAQ,kBAAkB;AAAA,EAAA;AAAA;AAAA,EAZ1B,IAAY,YAAuB;AACjC,UAAMI,IAAI,KAAK;AACf,WAAOA,MAAM,QAAQA,MAAM,OAAO,OAAO;AAAA,EAAA;AAAA,EAcjC,aACRC,GACM;AACN,UAAM,aAAaA,CAAkB,GACrC,KAAK,2BAA2B,GAEhC,KAAK,kBAAkB,KAAK,YAAY,KAAK,SAAS,GACtD,KAAK,mBAAmB,GACxB,KAAK,eAAe;AAAA,EAAA;AAAA,EAGZ,QACRA,GACM;AACN,UAAM,QAAQA,CAAkB,IAE5BA,EAAmB,IAAI,MAAM,KAAKA,EAAmB,IAAI,SAAS,OACpE,KAAK,kBAAkB,KAAK,YAAY,KAAK,SAAS,GACtD,KAAK,eAAe,IAGlBA,EAAmB,IAAI,MAAM,KAC/B,KAAK,2BAA2B,GAG9BA,EAAmB,IAAI,MAAM,KAC/B,KAAK,aAAa;AAAA,EACpB;AAAA,EAGM,6BAAmC;AACzC,IAAI,KAAK,QACF,KAAA,aAAa,QAAQ,QAAQ,GAC7B,KAAA,aAAa,aAAa,QAAQ,MAEvC,KAAK,gBAAgB,MAAM,GAC3B,KAAK,gBAAgB,WAAW;AAAA,EAClC;AAAA,EAGM,eAAqB;AACvB,IAAA,KAAK,QAAQ,OAAO,KAAK,QAAS,YAAY,KAAK,KAAK,KAAK,MAAM,MACrE,QAAQ,KAAK,iCAAiC;AAAA,EAChD;AAAA,EAGM,qBAA2B;AAC7B,QAAA;AACE,UAAA,CAAC,KAAK,WAAY;AAEhB,YAAAC,IAAW,KAAK,WAAW;AAAA,QAC/B;AAAA,MACF;AAEA,UAAI,CAACA,EAAU;AAEN,MAAAA,EAAA,iBAAiB,cAAc,MAAM;AAC5C,aAAK,eAAe,GACpB,KAAK,cAAc;AAAA,MAAA,CACpB;AAAA,aACMC,GAAO;AACN,cAAA,KAAK,mCAAmCA,CAAK;AAAA,IAAA;AAAA,EACvD;AAAA,EAGM,iBAAuB;AACzB,QAAA;AACE,UAAA,CAAC,KAAK,WAAY;AAEhB,YAAAD,IAAW,KAAK,WAAW;AAAA,QAC/B;AAAA,MACF;AAEA,UAAI,CAACA,GAAU;AACb,aAAK,kBAAkB;AACvB;AAAA,MAAA;AAGI,YAAAE,IAAmBF,EAAS,iBAAiB;AAC9C,WAAA,kBAAkBE,EAAiB,SAAS,GAE7CA,EAAiB,SAAS,KAC5BA,EAAiB,CAAC,EAAE;AAAA,QAClB;AAAA,QACA,KAAK,gBAAgB,SAAS;AAAA,MAChC;AAAA,aAEKD,GAAO;AACN,cAAA,KAAK,+BAA+BA,CAAK,GACjD,KAAK,kBAAkB;AAAA,IAAA;AAAA,EACzB;AAAA,EAGM,YAAYE,GAAyB;AACpC,WAAAA,MAAS,OAAO,KAAK;AAAA,EAAA;AAAA,EAGtB,aAAa;AACnB,WAAI,KAAK,OACAC;AAAA;AAAA;AAAA;AAAA,kBAIK,KAAK,IAAI;AAAA,uBACJ,KAAK,eAAe;AAAA;AAAA,UAKhCA;AAAA,EAAA;AAAA,EAGT,SAAS;AACD,UAAAC,IAAU,KAAK,QAAQ,KAAK;AAE3B,WAAAD;AAAA;AAAA;AAAA,gBAGKE;AAAA,MACN;AAAA,MACA,UAAU,KAAK,IAAI;AAAA,MACnB,UAAU,KAAK,SAAS;AAAA,MACxBD,KAAW;AAAA,IAAA,CACZ;AAAA;AAAA,YAEGA,IAAU,KAAK,WAAW,IAAIE,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAMjD;AAhKEV,EAAO,UAAU,gBAEjBA,EAAO,eAAe;AAAA,EACpB,eAAeW;AAAA,EACf,gBAAgBC;AAClB,GAsBgBZ,EAAA,SAASa,EAAUC,CAAM;AA5B3C,IAAqBC,IAArBf;AAWcgB,EAAA;AAAA,EAAXC,EAAS;AAAA,GAXSF,EAWP,WAAA,MAAA;AASAC,EAAA;AAAA,EAAXC,EAAS;AAAA,GApBSF,EAoBP,WAAA,MAAA;AAGiBC,EAAA;AAAA,EAA5BC,EAAS,EAAE,MAAM,QAAS,CAAA;AAAA,GAvBRF,EAuBU,WAAA,MAAA;"}
@@ -27,7 +27,7 @@ export type BannerVariant = 'brand' | 'positive' | 'info' | 'warning' | 'negativ
27
27
  * @csspart close-icon-element - The icon element of the close button.
28
28
  * @csspart close-icon-base - The base of the close button icon.
29
29
  * @csspart actions - The actions of the banner.
30
- * @csspart title - The title of the banner.
30
+ * @csspart close-button - The close button wrapper of the banner.
31
31
  *
32
32
  * @cssproperty --dds-banner-gap - The gap between banner elements (default: var(--dds-spacing-200))
33
33
  * @cssproperty --dds-banner-line-height - The line height of the banner text (default: var(--dds-font-line-height-xlarge))
@@ -1,25 +1,19 @@
1
- import { clsx as m } from "../../node_modules/clsx/dist/clsx.js";
2
- import "../../node_modules/@lit/reactive-element/reactive-element.js";
3
- import { nothing as f } from "../../node_modules/lit-html/lit-html.js";
4
- import "../../node_modules/lit-element/lit-element.js";
5
- import { property as a } from "../../node_modules/@lit/reactive-element/decorators/property.js";
6
- import { query as h } from "../../node_modules/@lit/reactive-element/decorators/query.js";
7
- import { queryAssignedElements as b } from "../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.js";
8
- import { html as r } from "../../node_modules/lit-html/static.js";
9
- import { translate as u } from "../../node_modules/lit-i18n/src/lit-i18n.js";
1
+ import { clsx as h } from "../../node_modules/clsx/dist/clsx.js";
2
+ import { unsafeCSS as m, nothing as b } from "lit";
3
+ import { queryAssignedElements as f, query as u, property as a } from "lit/decorators.js";
4
+ import { html as r } from "lit/static-html.js";
10
5
  import { DdsElement as v } from "../../internal/dds-hu-element.js";
11
6
  import y from "../card/card.component.js";
12
7
  import g from "../card/card-content.component.js";
13
8
  import _ from "../icon/icon.component.js";
14
9
  import C from "../icon-button/icon-button.component.js";
15
10
  import S from "./banner.scss.js";
16
- import { unsafeCSS as $ } from "../../node_modules/@lit/reactive-element/css-tag.js";
17
- var x = Object.defineProperty, e = (p, i, n, c) => {
18
- for (var t = void 0, l = p.length - 1, d; l >= 0; l--)
19
- (d = p[l]) && (t = d(i, n, t) || t);
20
- return t && x(i, n, t), t;
11
+ var $ = Object.defineProperty, e = (d, i, n, c) => {
12
+ for (var t = void 0, l = d.length - 1, p; l >= 0; l--)
13
+ (p = d[l]) && (t = p(i, n, t) || t);
14
+ return t && $(i, n, t), t;
21
15
  };
22
- const E = {
16
+ const x = {
23
17
  brand: "information-2-fill",
24
18
  info: "information-fill",
25
19
  positive: "checkbox-circle-fill",
@@ -42,14 +36,14 @@ const E = {
42
36
  }
43
37
  render() {
44
38
  var n;
45
- const i = E[this.variant];
46
- return this.opened === "false" ? f : r`
39
+ const i = x[this.variant];
40
+ return this.opened === "false" ? b : r`
47
41
  <dap-ds-card size="lg">
48
42
  <dap-ds-card-content
49
- class=${m(`banner--${this.variant}`)}
43
+ class=${h(`banner--${this.variant}`)}
50
44
  part="card-base"
51
45
  spacing="none">
52
- <div class=${m("banner", `banner--${this.variant}`)} part="base">
46
+ <div class=${h("banner", `banner--${this.variant}`)} part="base">
53
47
  <div class="banner__icon-container">
54
48
  ${this.icon || i ? r`<slot part="icon" name="icon">
55
49
  <dap-ds-icon
@@ -81,9 +75,9 @@ const E = {
81
75
  icon="close-line"
82
76
  part="closebutton"
83
77
  @click="${this.onCloseClick}"
84
- aria-label=${(n = this.closeButtonLabel) != null ? n : u("close")}>
78
+ aria-label=${(n = this.closeButtonLabel) != null ? n : this.localize.t("close")}>
85
79
  </dap-ds-icon-button>
86
- ` : f}
80
+ ` : b}
87
81
  </div>
88
82
  </dap-ds-card-content>
89
83
  </dap-ds-card>
@@ -95,13 +89,13 @@ s.tagName = "dap-ds-banner", s.dependencies = {
95
89
  "dap-ds-card-content": g,
96
90
  "dap-ds-icon": _,
97
91
  "dap-ds-icon-button": C
98
- }, s.styles = $(S);
92
+ }, s.styles = m(S);
99
93
  let o = s;
100
94
  e([
101
- b({ slot: "actions" })
95
+ f({ slot: "actions" })
102
96
  ], o.prototype, "actionSlot");
103
97
  e([
104
- h(".banner__actions")
98
+ u(".banner__actions")
105
99
  ], o.prototype, "actionContainer");
106
100
  e([
107
101
  a()
@@ -1 +1 @@
1
- {"version":3,"file":"banner.component.js","sources":["../../../src/components/banner/banner.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { nothing, PropertyValueMap, unsafeCSS } from 'lit'\nimport { property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { html } from 'lit/static-html.js'\nimport { translate } from 'lit-i18n'\n\nimport { DdsElement } from '@/internal/dds-hu-element'\n\nimport DapDSCard from '../card/card.component'\nimport DapDSCardContent from '../card/card-content.component'\nimport DapDSIcon from '../icon/icon.component'\nimport DapDSIconButton from '../icon-button/icon-button.component'\nimport styles from './banner.scss?inline'\n\nexport type BannerTheme = 'clean' | 'normal'\n\nexport type BannerVariant =\n | 'brand'\n | 'positive'\n | 'info'\n | 'warning'\n | 'negative'\n\nconst iconNameMap = {\n brand: 'information-2-fill',\n info: 'information-fill',\n positive: 'checkbox-circle-fill',\n warning: 'alert-fill',\n negative: 'error-warning-fill',\n}\n\n/**\n * `dap-ds-banner` is a custom banner component.\n * @element dap-ds-banner\n * @summary A banner is a message displayed at the top of the page to provide important information to the user.\n * @title - Banner\n *\n * @event {{ void }} dds-close - Event fired when the banner is closed.\n *\n * @slot - The content of the banner.\n * @slot actions - Actions of banner\n * @slot icon - The icon of the banner.\n *\n * @csspart base - The main banner container.\n * @csspart card-base - The wrapper card container.\n * @csspart icon - The icon of the banner.\n * @csspart icon-element - The icon element of the banner.\n * @csspart icon-base - The base of the icon.\n * @csspart closebutton - The close button of the banner.\n * @csspart close-icon-element - The icon element of the close button.\n * @csspart close-icon-base - The base of the close button icon.\n * @csspart actions - The actions of the banner.\n * @csspart title - The title of the banner.\n *\n * @cssproperty --dds-banner-gap - The gap between banner elements (default: var(--dds-spacing-200))\n * @cssproperty --dds-banner-line-height - The line height of the banner text (default: var(--dds-font-line-height-xlarge))\n * @cssproperty --dds-banner-transition - The transition property for the banner (default: all 0.2s ease-in-out)\n *\n * @cssproperty --dds-banner-brand-background - The background color of the brand banner (default: var(--dds-banner-background-brand))\n * @cssproperty --dds-banner-brand-icon-color - The color of the brand banner icon (default: var(--dds-banner-icon-brand))\n * @cssproperty --dds-banner-brand-text-color - The text color of the brand banner (default: var(--dds-banner-text-brand))\n * @cssproperty --dds-banner-brand-action-color - The color of the brand banner actions (default: var(--dds-banner-action-enabled))\n *\n * @cssproperty --dds-banner-info-background - The background color of the info banner (default: var(--dds-banner-background-informative))\n * @cssproperty --dds-banner-info-icon-color - The color of the info banner icon (default: var(--dds-banner-icon-informative))\n * @cssproperty --dds-banner-info-text-color - The text color of the info banner (default: var(--dds-banner-text-informative))\n * @cssproperty --dds-banner-info-action-color - The color of the info banner actions (default: var(--dds-banner-action-enabled))\n *\n * @cssproperty --dds-banner-positive-background - The background color of the positive banner (default: var(--dds-banner-background-positive))\n * @cssproperty --dds-banner-positive-icon-color - The color of the positive banner icon (default: var(--dds-banner-icon-positive))\n * @cssproperty --dds-banner-positive-text-color - The text color of the positive banner (default: var(--dds-banner-text-positive))\n * @cssproperty --dds-banner-positive-action-color - The color of the positive banner actions (default: var(--dds-banner-action-enabled))\n *\n * @cssproperty --dds-banner-warning-background - The background color of the warning banner (default: var(--dds-banner-background-warning))\n * @cssproperty --dds-banner-warning-icon-color - The color of the warning banner icon (default: var(--dds-banner-icon-warning))\n * @cssproperty --dds-banner-warning-text-color - The text color of the warning banner (default: var(--dds-banner-text-warning))\n * @cssproperty --dds-banner-warning-action-color - The color of the warning banner actions (default: var(--dds-banner-action-inverted-enabled))\n *\n * @cssproperty --dds-banner-negative-background - The background color of the negative banner (default: var(--dds-banner-background-negative))\n * @cssproperty --dds-banner-negative-icon-color - The color of the negative banner icon (default: var(--dds-banner-icon-negative))\n * @cssproperty --dds-banner-negative-text-color - The text color of the negative banner (default: var(--dds-banner-text-negative))\n * @cssproperty --dds-banner-negative-action-color - The color of the negative banner actions (default: var(--dds-banner-action-inverted-enabled))\n */\nexport default class DapDSBanner extends DdsElement {\n static tagName = 'dap-ds-banner'\n\n static dependencies = {\n 'dap-ds-card': DapDSCard,\n 'dap-ds-card-content': DapDSCardContent,\n 'dap-ds-icon': DapDSIcon,\n 'dap-ds-icon-button': DapDSIconButton,\n }\n\n /** @ignore */\n @queryAssignedElements({ slot: 'actions' }) actionSlot: HTMLElement[]\n /** @ignore */\n @query('.banner__actions') actionContainer: HTMLElement\n\n /** The variant of the banner\n * @type { 'brand' | 'positive' | 'info' | 'warning' | 'negative' }\n */\n @property() variant: BannerVariant = 'brand'\n\n /** Whether the banner is closeable */\n @property({ type: Boolean }) closeable: boolean\n\n /** State of the banner. If false banner is hidden */\n @property({ reflect: true }) opened: string = 'true'\n\n /** The aria-label for the close button */\n @property({ type: String })\n closeButtonLabel = 'close'\n\n /** `data-testid` for the close button. */\n @property() closeButtonTestId = 'banner-close-button'\n\n /** The icon of the banner, this is a name of a built icon icon */\n @property({ type: String }) icon: string\n\n static readonly styles = unsafeCSS(styles)\n\n protected firstUpdated(\n _changedProperties:\n | PropertyValueMap<DapDSBanner>\n | Map<PropertyKey, unknown>,\n ): void {\n if (this.actionSlot?.length) {\n if (this.actionSlot?.length && this.variant !== 'warning') {\n this.actionSlot.forEach(element => {\n element.setAttribute('variant', 'inverted')\n })\n } else {\n this.actionSlot.forEach(element => {\n element.setAttribute('variant', 'warning')\n })\n }\n }\n\n if (this.actionSlot && !this.actionSlot.length && this.actionContainer) {\n this.actionContainer.style.display = 'none'\n }\n }\n\n private onCloseClick() {\n this.emit('dds-close')\n }\n\n render() {\n const icon = iconNameMap[this.variant]\n\n if (this.opened === 'false') {\n return nothing\n }\n return html`\n <dap-ds-card size=\"lg\">\n <dap-ds-card-content\n class=${clsx(`banner--${this.variant}`)}\n part=\"card-base\"\n spacing=\"none\">\n <div class=${clsx('banner', `banner--${this.variant}`)} part=\"base\">\n <div class=\"banner__icon-container\">\n ${this.icon || icon\n ? html`<slot part=\"icon\" name=\"icon\">\n <dap-ds-icon\n part=\"icon\"\n exportparts=\"icon:icon-element, base:icon-base\"\n class=\"banner__icon\"\n aria-hidden=\"true\"\n name=\"${this.icon || icon}\">\n </dap-ds-icon\n ></slot>`\n : html`<slot name=\"icon\" part=\"icon\"></slot>`}\n </div>\n <div>\n <slot class=\"banner__content\"></slot>\n\n <div class=\"banner__actions\">\n <slot name=\"actions\" part=\"actions\"></slot>\n </div>\n </div>\n\n ${this.closeable\n ? html`\n <dap-ds-icon-button\n class=\"banner__close\"\n part=\"close-button\"\n data-testid=${this.closeButtonTestId}\n exportparts=\"icon-base:close-icon-element, base:close-icon-base\"\n variant=\"inverted\"\n clean\n size=\"md\"\n icon=\"close-line\"\n part=\"closebutton\"\n @click=\"${this.onCloseClick}\"\n aria-label=${this.closeButtonLabel ?? translate('close')}>\n </dap-ds-icon-button>\n `\n : nothing}\n </div>\n </dap-ds-card-content>\n </dap-ds-card>\n `\n }\n}\n"],"names":["iconNameMap","_DapDSBanner","DdsElement","_changedProperties","_a","_b","element","icon","nothing","html","clsx","translate","DapDSCard","DapDSCardContent","DapDSIcon","DapDSIconButton","unsafeCSS","styles","DapDSBanner","__decorateClass","queryAssignedElements","query","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAuBA,MAAMA,IAAc;AAAA,EAClB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AACZ,GAsDqBC,IAArB,MAAqBA,UAAoBC,EAAW;AAAA,EAApD,cAAA;AAAA,UAAA,GAAA,SAAA,GAkBuC,KAAA,UAAA,SAMS,KAAA,SAAA,QAI3B,KAAA,mBAAA,SAGa,KAAA,oBAAA;AAAA,EAAA;AAAA,EAOtB,aACRC,GAGM;;AACF,KAAAC,IAAA,KAAK,eAAL,QAAAA,EAAiB,YACfC,IAAA,KAAK,eAAL,QAAAA,EAAiB,UAAU,KAAK,YAAY,YACzC,KAAA,WAAW,QAAQ,CAAWC,MAAA;AACzB,MAAAA,EAAA,aAAa,WAAW,UAAU;AAAA,IAAA,CAC3C,IAEI,KAAA,WAAW,QAAQ,CAAWA,MAAA;AACzB,MAAAA,EAAA,aAAa,WAAW,SAAS;AAAA,IAAA,CAC1C,IAID,KAAK,cAAc,CAAC,KAAK,WAAW,UAAU,KAAK,oBAChD,KAAA,gBAAgB,MAAM,UAAU;AAAA,EACvC;AAAA,EAGM,eAAe;AACrB,SAAK,KAAK,WAAW;AAAA,EAAA;AAAA,EAGvB,SAAS;;AACD,UAAAC,IAAOP,EAAY,KAAK,OAAO;AAEjC,WAAA,KAAK,WAAW,UACXQ,IAEFC;AAAAA;AAAAA;AAAAA,kBAGOC,EAAK,WAAW,KAAK,OAAO,EAAE,CAAC;AAAA;AAAA;AAAA,uBAG1BA,EAAK,UAAU,WAAW,KAAK,OAAO,EAAE,CAAC;AAAA;AAAA,gBAEhD,KAAK,QAAQH,IACXE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,8BAMY,KAAK,QAAQF,CAAI;AAAA;AAAA,8BAG7BE,wCAA2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAU/C,KAAK,YACHA;AAAAA;AAAAA;AAAAA;AAAAA,kCAIkB,KAAK,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAO1B,KAAK,YAAY;AAAA,kCACdL,IAAA,KAAK,qBAAL,OAAAA,IAAyBO,EAAU,OAAO,CAAC;AAAA;AAAA,oBAG5DH,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAMvB;AAvHEP,EAAO,UAAU,iBAEjBA,EAAO,eAAe;AAAA,EACpB,eAAeW;AAAA,EACf,uBAAuBC;AAAA,EACvB,eAAeC;AAAA,EACf,sBAAsBC;AACxB,GA4BgBd,EAAA,SAASe,EAAUC,CAAM;AApC3C,IAAqBC,IAArBjB;AAW8CkB,EAAA;AAAA,EAA3CC,EAAsB,EAAE,MAAM,UAAW,CAAA;AAAA,GAXvBF,EAWyB,WAAA,YAAA;AAEjBC,EAAA;AAAA,EAA1BE,EAAM,kBAAkB;AAAA,GAbNH,EAaQ,WAAA,iBAAA;AAKfC,EAAA;AAAA,EAAXG,EAAS;AAAA,GAlBSJ,EAkBP,WAAA,SAAA;AAGiBC,EAAA;AAAA,EAA5BG,EAAS,EAAE,MAAM,QAAS,CAAA;AAAA,GArBRJ,EAqBU,WAAA,WAAA;AAGAC,EAAA;AAAA,EAA5BG,EAAS,EAAE,SAAS,GAAM,CAAA;AAAA,GAxBRJ,EAwBU,WAAA,QAAA;AAI7BC,EAAA;AAAA,EADCG,EAAS,EAAE,MAAM,OAAQ,CAAA;AAAA,GA3BPJ,EA4BnB,WAAA,kBAAA;AAGYC,EAAA;AAAA,EAAXG,EAAS;AAAA,GA/BSJ,EA+BP,WAAA,mBAAA;AAGgBC,EAAA;AAAA,EAA3BG,EAAS,EAAE,MAAM,OAAQ,CAAA;AAAA,GAlCPJ,EAkCS,WAAA,MAAA;"}
1
+ {"version":3,"file":"banner.component.js","sources":["../../../src/components/banner/banner.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { nothing, PropertyValueMap, unsafeCSS } from 'lit'\nimport { property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { html } from 'lit/static-html.js'\n\nimport { DdsElement } from '@/internal/dds-hu-element'\n\nimport DapDSCard from '../card/card.component'\nimport DapDSCardContent from '../card/card-content.component'\nimport DapDSIcon from '../icon/icon.component'\nimport DapDSIconButton from '../icon-button/icon-button.component'\nimport styles from './banner.scss?inline'\n\nexport type BannerTheme = 'clean' | 'normal'\n\nexport type BannerVariant =\n | 'brand'\n | 'positive'\n | 'info'\n | 'warning'\n | 'negative'\n\nconst iconNameMap = {\n brand: 'information-2-fill',\n info: 'information-fill',\n positive: 'checkbox-circle-fill',\n warning: 'alert-fill',\n negative: 'error-warning-fill',\n}\n\n/**\n * `dap-ds-banner` is a custom banner component.\n * @element dap-ds-banner\n * @summary A banner is a message displayed at the top of the page to provide important information to the user.\n * @title - Banner\n *\n * @event {{ void }} dds-close - Event fired when the banner is closed.\n *\n * @slot - The content of the banner.\n * @slot actions - Actions of banner\n * @slot icon - The icon of the banner.\n *\n * @csspart base - The main banner container.\n * @csspart card-base - The wrapper card container.\n * @csspart icon - The icon of the banner.\n * @csspart icon-element - The icon element of the banner.\n * @csspart icon-base - The base of the icon.\n * @csspart closebutton - The close button of the banner.\n * @csspart close-icon-element - The icon element of the close button.\n * @csspart close-icon-base - The base of the close button icon.\n * @csspart actions - The actions of the banner.\n * @csspart close-button - The close button wrapper of the banner.\n *\n * @cssproperty --dds-banner-gap - The gap between banner elements (default: var(--dds-spacing-200))\n * @cssproperty --dds-banner-line-height - The line height of the banner text (default: var(--dds-font-line-height-xlarge))\n * @cssproperty --dds-banner-transition - The transition property for the banner (default: all 0.2s ease-in-out)\n *\n * @cssproperty --dds-banner-brand-background - The background color of the brand banner (default: var(--dds-banner-background-brand))\n * @cssproperty --dds-banner-brand-icon-color - The color of the brand banner icon (default: var(--dds-banner-icon-brand))\n * @cssproperty --dds-banner-brand-text-color - The text color of the brand banner (default: var(--dds-banner-text-brand))\n * @cssproperty --dds-banner-brand-action-color - The color of the brand banner actions (default: var(--dds-banner-action-enabled))\n *\n * @cssproperty --dds-banner-info-background - The background color of the info banner (default: var(--dds-banner-background-informative))\n * @cssproperty --dds-banner-info-icon-color - The color of the info banner icon (default: var(--dds-banner-icon-informative))\n * @cssproperty --dds-banner-info-text-color - The text color of the info banner (default: var(--dds-banner-text-informative))\n * @cssproperty --dds-banner-info-action-color - The color of the info banner actions (default: var(--dds-banner-action-enabled))\n *\n * @cssproperty --dds-banner-positive-background - The background color of the positive banner (default: var(--dds-banner-background-positive))\n * @cssproperty --dds-banner-positive-icon-color - The color of the positive banner icon (default: var(--dds-banner-icon-positive))\n * @cssproperty --dds-banner-positive-text-color - The text color of the positive banner (default: var(--dds-banner-text-positive))\n * @cssproperty --dds-banner-positive-action-color - The color of the positive banner actions (default: var(--dds-banner-action-enabled))\n *\n * @cssproperty --dds-banner-warning-background - The background color of the warning banner (default: var(--dds-banner-background-warning))\n * @cssproperty --dds-banner-warning-icon-color - The color of the warning banner icon (default: var(--dds-banner-icon-warning))\n * @cssproperty --dds-banner-warning-text-color - The text color of the warning banner (default: var(--dds-banner-text-warning))\n * @cssproperty --dds-banner-warning-action-color - The color of the warning banner actions (default: var(--dds-banner-action-inverted-enabled))\n *\n * @cssproperty --dds-banner-negative-background - The background color of the negative banner (default: var(--dds-banner-background-negative))\n * @cssproperty --dds-banner-negative-icon-color - The color of the negative banner icon (default: var(--dds-banner-icon-negative))\n * @cssproperty --dds-banner-negative-text-color - The text color of the negative banner (default: var(--dds-banner-text-negative))\n * @cssproperty --dds-banner-negative-action-color - The color of the negative banner actions (default: var(--dds-banner-action-inverted-enabled))\n */\nexport default class DapDSBanner extends DdsElement {\n static tagName = 'dap-ds-banner'\n\n static dependencies = {\n 'dap-ds-card': DapDSCard,\n 'dap-ds-card-content': DapDSCardContent,\n 'dap-ds-icon': DapDSIcon,\n 'dap-ds-icon-button': DapDSIconButton,\n }\n\n /** @ignore */\n @queryAssignedElements({ slot: 'actions' }) actionSlot: HTMLElement[]\n /** @ignore */\n @query('.banner__actions') actionContainer: HTMLElement\n\n /** The variant of the banner\n * @type { 'brand' | 'positive' | 'info' | 'warning' | 'negative' }\n */\n @property() variant: BannerVariant = 'brand'\n\n /** Whether the banner is closeable */\n @property({ type: Boolean }) closeable: boolean\n\n /** State of the banner. If false banner is hidden */\n @property({ reflect: true }) opened: string = 'true'\n\n /** The aria-label for the close button */\n @property({ type: String })\n closeButtonLabel = 'close'\n\n /** `data-testid` for the close button. */\n @property() closeButtonTestId = 'banner-close-button'\n\n /** The icon of the banner, this is a name of a built icon icon */\n @property({ type: String }) icon: string\n\n static readonly styles = unsafeCSS(styles)\n\n protected firstUpdated(\n _changedProperties:\n | PropertyValueMap<DapDSBanner>\n | Map<PropertyKey, unknown>,\n ): void {\n if (this.actionSlot?.length) {\n if (this.actionSlot?.length && this.variant !== 'warning') {\n this.actionSlot.forEach(element => {\n element.setAttribute('variant', 'inverted')\n })\n } else {\n this.actionSlot.forEach(element => {\n element.setAttribute('variant', 'warning')\n })\n }\n }\n\n if (this.actionSlot && !this.actionSlot.length && this.actionContainer) {\n this.actionContainer.style.display = 'none'\n }\n }\n\n private onCloseClick() {\n this.emit('dds-close')\n }\n\n render() {\n const icon = iconNameMap[this.variant]\n\n if (this.opened === 'false') {\n return nothing\n }\n return html`\n <dap-ds-card size=\"lg\">\n <dap-ds-card-content\n class=${clsx(`banner--${this.variant}`)}\n part=\"card-base\"\n spacing=\"none\">\n <div class=${clsx('banner', `banner--${this.variant}`)} part=\"base\">\n <div class=\"banner__icon-container\">\n ${this.icon || icon\n ? html`<slot part=\"icon\" name=\"icon\">\n <dap-ds-icon\n part=\"icon\"\n exportparts=\"icon:icon-element, base:icon-base\"\n class=\"banner__icon\"\n aria-hidden=\"true\"\n name=\"${this.icon || icon}\">\n </dap-ds-icon\n ></slot>`\n : html`<slot name=\"icon\" part=\"icon\"></slot>`}\n </div>\n <div>\n <slot class=\"banner__content\"></slot>\n\n <div class=\"banner__actions\">\n <slot name=\"actions\" part=\"actions\"></slot>\n </div>\n </div>\n\n ${this.closeable\n ? html`\n <dap-ds-icon-button\n class=\"banner__close\"\n part=\"close-button\"\n data-testid=${this.closeButtonTestId}\n exportparts=\"icon-base:close-icon-element, base:close-icon-base\"\n variant=\"inverted\"\n clean\n size=\"md\"\n icon=\"close-line\"\n part=\"closebutton\"\n @click=\"${this.onCloseClick}\"\n aria-label=${this.closeButtonLabel ??\n this.localize.t('close')}>\n </dap-ds-icon-button>\n `\n : nothing}\n </div>\n </dap-ds-card-content>\n </dap-ds-card>\n `\n }\n}\n"],"names":["iconNameMap","_DapDSBanner","DdsElement","_changedProperties","_a","_b","element","icon","nothing","html","clsx","DapDSCard","DapDSCardContent","DapDSIcon","DapDSIconButton","unsafeCSS","styles","DapDSBanner","__decorateClass","queryAssignedElements","query","property"],"mappings":";;;;;;;;;;;;;;;AAsBA,MAAMA,IAAc;AAAA,EAClB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AACZ,GAsDqBC,IAArB,MAAqBA,UAAoBC,EAAW;AAAA,EAApD,cAAA;AAAA,UAAA,GAAA,SAAA,GAkBuC,KAAA,UAAA,SAMS,KAAA,SAAA,QAI3B,KAAA,mBAAA,SAGa,KAAA,oBAAA;AAAA,EAAA;AAAA,EAOtB,aACRC,GAGM;;AACF,KAAAC,IAAA,KAAK,eAAL,QAAAA,EAAiB,YACfC,IAAA,KAAK,eAAL,QAAAA,EAAiB,UAAU,KAAK,YAAY,YACzC,KAAA,WAAW,QAAQ,CAAWC,MAAA;AACzB,MAAAA,EAAA,aAAa,WAAW,UAAU;AAAA,IAAA,CAC3C,IAEI,KAAA,WAAW,QAAQ,CAAWA,MAAA;AACzB,MAAAA,EAAA,aAAa,WAAW,SAAS;AAAA,IAAA,CAC1C,IAID,KAAK,cAAc,CAAC,KAAK,WAAW,UAAU,KAAK,oBAChD,KAAA,gBAAgB,MAAM,UAAU;AAAA,EACvC;AAAA,EAGM,eAAe;AACrB,SAAK,KAAK,WAAW;AAAA,EAAA;AAAA,EAGvB,SAAS;;AACD,UAAAC,IAAOP,EAAY,KAAK,OAAO;AAEjC,WAAA,KAAK,WAAW,UACXQ,IAEFC;AAAA;AAAA;AAAA,kBAGOC,EAAK,WAAW,KAAK,OAAO,EAAE,CAAC;AAAA;AAAA;AAAA,uBAG1BA,EAAK,UAAU,WAAW,KAAK,OAAO,EAAE,CAAC;AAAA;AAAA,gBAEhD,KAAK,QAAQH,IACXE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAMY,KAAK,QAAQF,CAAI;AAAA;AAAA,8BAG7BE,wCAA2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAU/C,KAAK,YACHA;AAAA;AAAA;AAAA;AAAA,kCAIkB,KAAK,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAO1B,KAAK,YAAY;AAAA,kCACdL,IAAA,KAAK,qBAAL,OAAAA,IACb,KAAK,SAAS,EAAE,OAAO,CAAC;AAAA;AAAA,oBAG5BI,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAMvB;AAxHEP,EAAO,UAAU,iBAEjBA,EAAO,eAAe;AAAA,EACpB,eAAeU;AAAA,EACf,uBAAuBC;AAAA,EACvB,eAAeC;AAAA,EACf,sBAAsBC;AACxB,GA4BgBb,EAAA,SAASc,EAAUC,CAAM;AApC3C,IAAqBC,IAArBhB;AAW8CiB,EAAA;AAAA,EAA3CC,EAAsB,EAAE,MAAM,UAAW,CAAA;AAAA,GAXvBF,EAWyB,WAAA,YAAA;AAEjBC,EAAA;AAAA,EAA1BE,EAAM,kBAAkB;AAAA,GAbNH,EAaQ,WAAA,iBAAA;AAKfC,EAAA;AAAA,EAAXG,EAAS;AAAA,GAlBSJ,EAkBP,WAAA,SAAA;AAGiBC,EAAA;AAAA,EAA5BG,EAAS,EAAE,MAAM,QAAS,CAAA;AAAA,GArBRJ,EAqBU,WAAA,WAAA;AAGAC,EAAA;AAAA,EAA5BG,EAAS,EAAE,SAAS,GAAM,CAAA;AAAA,GAxBRJ,EAwBU,WAAA,QAAA;AAI7BC,EAAA;AAAA,EADCG,EAAS,EAAE,MAAM,OAAQ,CAAA;AAAA,GA3BPJ,EA4BnB,WAAA,kBAAA;AAGYC,EAAA;AAAA,EAAXG,EAAS;AAAA,GA/BSJ,EA+BP,WAAA,mBAAA;AAGgBC,EAAA;AAAA,EAA3BG,EAAS,EAAE,MAAM,OAAQ,CAAA;AAAA,GAlCPJ,EAkCS,WAAA,MAAA;"}
@@ -9,7 +9,7 @@ import { DdsElement } from '../../internal/dds-hu-element';
9
9
  * @slot separator - The separator between breadcrumb items. Default is '/'.
10
10
  *
11
11
  * @csspart base - The main breadcrumb container.
12
- * @csspart separator - The separator of the breadcrumb.
12
+ * @csspart list - The ordered list holding the breadcrumb items.
13
13
  *
14
14
  * @cssproperty --dds-breadcrumb-width - The width of the breadcrumb container (default: 100%)
15
15
  * @cssproperty --dds-breadcrumb-overflow-x - The horizontal overflow behavior of the breadcrumb (default: auto)
@@ -33,6 +33,7 @@ export default class DapDSBreadcrumb extends DdsElement {
33
33
  ariaLabelledBy?: string;
34
34
  private _cachedItems;
35
35
  private _debounceTimeout?;
36
+ protected firstUpdated(): void;
36
37
  private cloneSeparator;
37
38
  private handleSlotChange;
38
39
  private _updateBreadcrumbItems;
@@ -1,23 +1,23 @@
1
1
  import { clsx as u } from "../../node_modules/clsx/dist/clsx.js";
2
- import "../../node_modules/@lit/reactive-element/reactive-element.js";
3
- import { html as c } from "../../node_modules/lit-html/lit-html.js";
4
- import "../../node_modules/lit-element/lit-element.js";
5
- import { property as n } from "../../node_modules/@lit/reactive-element/decorators/property.js";
6
- import { query as h } from "../../node_modules/@lit/reactive-element/decorators/query.js";
7
- import { ifDefined as m } from "../../node_modules/lit-html/directives/if-defined.js";
8
- import { DdsElement as f } from "../../internal/dds-hu-element.js";
9
- import b from "../breadcrumb-item/breadcrumb-item.component.js";
2
+ import { unsafeCSS as c, html as f } from "lit";
3
+ import { query as m, property as n } from "lit/decorators.js";
4
+ import { ifDefined as h } from "lit/directives/if-defined.js";
5
+ import { DdsElement as b } from "../../internal/dds-hu-element.js";
6
+ import g from "../breadcrumb-item/breadcrumb-item.component.js";
10
7
  import y from "./breadcrumb.scss.js";
11
- import { unsafeCSS as g } from "../../node_modules/@lit/reactive-element/css-tag.js";
12
- var v = Object.defineProperty, o = (p, r, l, t) => {
13
- for (var e = void 0, a = p.length - 1, d; a >= 0; a--)
14
- (d = p[a]) && (e = d(r, l, e) || e);
15
- return e && v(r, l, e), e;
8
+ var v = Object.defineProperty, i = (d, e, l, t) => {
9
+ for (var a = void 0, r = d.length - 1, p; r >= 0; r--)
10
+ (p = d[r]) && (a = p(e, l, a) || a);
11
+ return a && v(e, l, a), a;
16
12
  };
17
- const i = class i extends f {
13
+ const o = class o extends b {
18
14
  constructor() {
19
15
  super(...arguments), this.variant = "normal", this.mobile = !1, this._cachedItems = [];
20
16
  }
17
+ firstUpdated() {
18
+ var e;
19
+ (e = this.defaultSlot) != null && e.assignedElements({ flatten: !0 }).length && this._updateBreadcrumbItems();
20
+ }
21
21
  cloneSeparator() {
22
22
  return this.separatorSlot.assignedElements({
23
23
  flatten: !0
@@ -29,27 +29,27 @@ const i = class i extends f {
29
29
  }, 16);
30
30
  }
31
31
  _updateBreadcrumbItems() {
32
- const r = Array.from(
32
+ const e = Array.from(
33
33
  this.defaultSlot.assignedElements({ flatten: !0 })
34
34
  ).filter(
35
- (t) => t instanceof b
35
+ (t) => t instanceof g
36
36
  );
37
- (r.length !== this._cachedItems.length || r.some((t, e) => t !== this._cachedItems[e])) && (this._cachedItems = r, r.forEach((t, e) => {
38
- const a = e === r.length - 1;
39
- if (this.mobile && e !== 0 && !a) {
37
+ (e.length !== this._cachedItems.length || e.some((t, a) => t !== this._cachedItems[a])) && (this._cachedItems = e, e.forEach((t, a) => {
38
+ const r = a === e.length - 1;
39
+ if (this.mobile && a !== 0 && !r) {
40
40
  t.style.display = "none";
41
41
  return;
42
42
  } else
43
43
  t.style.display = "";
44
- t.toggleAttribute("inverted", this.variant === "inverted"), t.variant = this.variant, a ? t.setAttribute("aria-current", "page") : t.removeAttribute("aria-current"), t.toggleAttribute("disabled", a), t.inheritedSeparator = a ? void 0 : this.cloneSeparator();
44
+ t.toggleAttribute("inverted", this.variant === "inverted"), t.variant = this.variant, r ? t.setAttribute("aria-current", "page") : t.removeAttribute("aria-current"), t.toggleAttribute("disabled", r), t.inheritedSeparator = r ? void 0 : this.cloneSeparator();
45
45
  }));
46
46
  }
47
47
  render() {
48
- return c`
48
+ return f`
49
49
  <nav
50
50
  part="base"
51
- aria-label="${m(this.ariaLabel) || ""}"
52
- aria-labelledby="${m(this.ariaLabelledBy) || ""}"
51
+ aria-label="${h(this.ariaLabel) || ""}"
52
+ aria-labelledby="${h(this.ariaLabelledBy) || ""}"
53
53
  class="${u("breadcrumb")}">
54
54
  <ol class="breadcrumb__list" part="list">
55
55
  <slot @slotchange="${this.handleSlotChange}"></slot>
@@ -61,21 +61,21 @@ const i = class i extends f {
61
61
  `;
62
62
  }
63
63
  };
64
- i.tagName = "dap-ds-breadcrumb", i.styles = g(y);
65
- let s = i;
66
- o([
67
- h("slot")
64
+ o.tagName = "dap-ds-breadcrumb", o.styles = c(y);
65
+ let s = o;
66
+ i([
67
+ m("slot")
68
68
  ], s.prototype, "defaultSlot");
69
- o([
70
- h('slot[name="separator"]')
69
+ i([
70
+ m('slot[name="separator"]')
71
71
  ], s.prototype, "separatorSlot");
72
- o([
72
+ i([
73
73
  n({ type: String })
74
74
  ], s.prototype, "variant");
75
- o([
75
+ i([
76
76
  n({ type: Boolean })
77
77
  ], s.prototype, "mobile");
78
- o([
78
+ i([
79
79
  n({ type: String, attribute: "aria-labelledby" })
80
80
  ], s.prototype, "ariaLabelledBy");
81
81
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.component.js","sources":["../../../src/components/breadcrumb/breadcrumb.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { html, unsafeCSS } from 'lit'\nimport { property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { DdsElement } from '@/internal/dds-hu-element'\n\nimport DapDSBreadcrumbItem from '../breadcrumb-item/breadcrumb-item.component'\nimport styles from './breadcrumb.scss?inline'\n\n/**\n * `dap-ds-breadcrumb`\n * @summary A breadcrumb is a secondary navigation scheme that reveals the user's location in a website or Web application.\n * @element dap-ds-breadcrumb\n * @title - Breadcrumb\n *\n * @slot - The content of the breadcrumb.\n * @slot separator - The separator between breadcrumb items. Default is '/'.\n *\n * @csspart base - The main breadcrumb container.\n * @csspart separator - The separator of the breadcrumb.\n *\n * @cssproperty --dds-breadcrumb-width - The width of the breadcrumb container (default: 100%)\n * @cssproperty --dds-breadcrumb-overflow-x - The horizontal overflow behavior of the breadcrumb (default: auto)\n * @cssproperty --dds-breadcrumb-transition - The transition property for the breadcrumb (default: all 0.2s ease-in-out)\n * @cssproperty --dds-breadcrumb-list-display - The display property of the breadcrumb list (default: flex)\n * @cssproperty --dds-breadcrumb-list-flex-wrap - The flex-wrap property of the breadcrumb list (default: nowrap)\n * @cssproperty --dds-breadcrumb-list-align-items - The align-items property of the breadcrumb list (default: center)\n * @cssproperty --dds-breadcrumb-list-min-width - The minimum width of the breadcrumb list (default: max-content)\n */\nexport default class DapDSBreadcrumb extends DdsElement {\n static tagName = 'dap-ds-breadcrumb'\n\n static readonly styles = unsafeCSS(styles)\n /** @ignore */\n @query('slot') defaultSlot!: HTMLSlotElement\n /** @ignore */\n @query('slot[name=\"separator\"]') separatorSlot!: HTMLSlotElement\n\n /* Variant of the breadcrumb\n * @type {'normal' | 'inverted'}\n */\n @property({ type: String }) variant = 'normal'\n\n /** Mobile version of the breadcrumb */\n @property({ type: Boolean }) mobile = false\n\n /** The aria-labelledby of the breadcrumb */\n @property({ type: String, attribute: 'aria-labelledby' })\n ariaLabelledBy?: string\n\n private _cachedItems: DapDSBreadcrumbItem[] = []\n private _debounceTimeout?: number\n\n private cloneSeparator() {\n const separator = this.separatorSlot.assignedElements({\n flatten: true,\n })[0] as HTMLElement\n\n return separator.cloneNode(true) as HTMLElement\n }\n\n private handleSlotChange(): void {\n if (this._debounceTimeout) {\n clearTimeout(this._debounceTimeout)\n }\n\n this._debounceTimeout = window.setTimeout(() => {\n this._updateBreadcrumbItems()\n }, 16) // One frame delay for batching\n }\n\n private _updateBreadcrumbItems(): void {\n const items = Array.from(\n this.defaultSlot.assignedElements({ flatten: true }),\n ).filter(\n (el): el is DapDSBreadcrumbItem => el instanceof DapDSBreadcrumbItem,\n )\n\n // Check if items have actually changed to avoid unnecessary work\n const itemsChanged =\n items.length !== this._cachedItems.length ||\n items.some((item, index) => item !== this._cachedItems[index])\n\n if (!itemsChanged) return\n\n this._cachedItems = items\n\n items.forEach((item, index) => {\n const isLast = index === items.length - 1\n\n if (this.mobile && index !== 0 && !isLast) {\n item.style.display = 'none'\n return\n } else {\n item.style.display = ''\n }\n\n item.toggleAttribute('inverted', this.variant === 'inverted')\n item.variant = this.variant\n if (isLast) {\n item.setAttribute('aria-current', 'page')\n } else {\n item.removeAttribute('aria-current')\n }\n item.toggleAttribute('disabled', isLast)\n\n // Hand the separator down as a property rather than appending it to the\n // item's light DOM. The item renders it as the fallback of its own\n // `separator` slot, so the children the consumer wrote stay untouched —\n // appending here corrupts hydration in SSR frameworks that own that DOM\n // (React discards the server markup and re-renders the whole tree).\n // An item that carries its own `[slot=\"separator\"]` still wins, because\n // slotted content always takes precedence over slot fallback content.\n item.inheritedSeparator = isLast ? undefined : this.cloneSeparator()\n })\n }\n\n render() {\n return html`\n <nav\n part=\"base\"\n aria-label=\"${ifDefined(this.ariaLabel) || ''}\"\n aria-labelledby=\"${ifDefined(this.ariaLabelledBy) || ''}\"\n class=\"${clsx('breadcrumb')}\">\n <ol class=\"breadcrumb__list\" part=\"list\">\n <slot @slotchange=\"${this.handleSlotChange}\"></slot>\n </ol>\n </nav>\n <span hidden aria-hidden=\"true\">\n <slot name=\"separator\"> <span>/</span> </slot>\n </span>\n `\n }\n}\n"],"names":["_DapDSBreadcrumb","DdsElement","items","el","DapDSBreadcrumbItem","item","index","isLast","html","ifDefined","clsx","unsafeCSS","styles","DapDSBreadcrumb","__decorateClass","query","property"],"mappings":";;;;;;;;;;;;;;;;AA8BA,MAAqBA,IAArB,MAAqBA,UAAwBC,EAAW;AAAA,EAAxD,cAAA;AAAA,UAAA,GAAA,SAAA,GAYwC,KAAA,UAAA,UAGA,KAAA,SAAA,IAMtC,KAAQ,eAAsC,CAAC;AAAA,EAAA;AAAA,EAGvC,iBAAiB;AAKhB,WAJW,KAAK,cAAc,iBAAiB;AAAA,MACpD,SAAS;AAAA,IACV,CAAA,EAAE,CAAC,EAEa,UAAU,EAAI;AAAA,EAAA;AAAA,EAGzB,mBAAyB;AAC/B,IAAI,KAAK,oBACP,aAAa,KAAK,gBAAgB,GAG/B,KAAA,mBAAmB,OAAO,WAAW,MAAM;AAC9C,WAAK,uBAAuB;AAAA,OAC3B,EAAE;AAAA,EAAA;AAAA,EAGC,yBAA+B;AACrC,UAAMC,IAAQ,MAAM;AAAA,MAClB,KAAK,YAAY,iBAAiB,EAAE,SAAS,GAAM,CAAA;AAAA,IAAA,EACnD;AAAA,MACA,CAACC,MAAkCA,aAAcC;AAAA,IACnD;AAOA,KAHEF,EAAM,WAAW,KAAK,aAAa,UACnCA,EAAM,KAAK,CAACG,GAAMC,MAAUD,MAAS,KAAK,aAAaC,CAAK,CAAC,OAI/D,KAAK,eAAeJ,GAEdA,EAAA,QAAQ,CAACG,GAAMC,MAAU;AACvB,YAAAC,IAASD,MAAUJ,EAAM,SAAS;AAExC,UAAI,KAAK,UAAUI,MAAU,KAAK,CAACC,GAAQ;AACzC,QAAAF,EAAK,MAAM,UAAU;AACrB;AAAA,MAAA;AAEA,QAAAA,EAAK,MAAM,UAAU;AAGvB,MAAAA,EAAK,gBAAgB,YAAY,KAAK,YAAY,UAAU,GAC5DA,EAAK,UAAU,KAAK,SAChBE,IACGF,EAAA,aAAa,gBAAgB,MAAM,IAExCA,EAAK,gBAAgB,cAAc,GAEhCA,EAAA,gBAAgB,YAAYE,CAAM,GASvCF,EAAK,qBAAqBE,IAAS,SAAY,KAAK,eAAe;AAAA,IAAA,CACpE;AAAA,EAAA;AAAA,EAGH,SAAS;AACA,WAAAC;AAAAA;AAAAA;AAAAA,sBAGWC,EAAU,KAAK,SAAS,KAAK,EAAE;AAAA,2BAC1BA,EAAU,KAAK,cAAc,KAAK,EAAE;AAAA,iBAC9CC,EAAK,YAAY,CAAC;AAAA;AAAA,+BAEJ,KAAK,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAQpD;AAvGEV,EAAO,UAAU,qBAEDA,EAAA,SAASW,EAAUC,CAAM;AAH3C,IAAqBC,IAArBb;AAKiBc,EAAA;AAAA,EAAdC,EAAM,MAAM;AAAA,GALMF,EAKJ,WAAA,aAAA;AAEkBC,EAAA;AAAA,EAAhCC,EAAM,wBAAwB;AAAA,GAPZF,EAOc,WAAA,eAAA;AAKLC,EAAA;AAAA,EAA3BE,EAAS,EAAE,MAAM,OAAQ,CAAA;AAAA,GAZPH,EAYS,WAAA,SAAA;AAGCC,EAAA;AAAA,EAA5BE,EAAS,EAAE,MAAM,QAAS,CAAA;AAAA,GAfRH,EAeU,WAAA,QAAA;AAI7BC,EAAA;AAAA,EADCE,EAAS,EAAE,MAAM,QAAQ,WAAW,kBAAmB,CAAA;AAAA,GAlBrCH,EAmBnB,WAAA,gBAAA;"}
1
+ {"version":3,"file":"breadcrumb.component.js","sources":["../../../src/components/breadcrumb/breadcrumb.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { html, unsafeCSS } from 'lit'\nimport { property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { DdsElement } from '@/internal/dds-hu-element'\n\nimport DapDSBreadcrumbItem from '../breadcrumb-item/breadcrumb-item.component'\nimport styles from './breadcrumb.scss?inline'\n\n/**\n * `dap-ds-breadcrumb`\n * @summary A breadcrumb is a secondary navigation scheme that reveals the user's location in a website or Web application.\n * @element dap-ds-breadcrumb\n * @title - Breadcrumb\n *\n * @slot - The content of the breadcrumb.\n * @slot separator - The separator between breadcrumb items. Default is '/'.\n *\n * @csspart base - The main breadcrumb container.\n * @csspart list - The ordered list holding the breadcrumb items.\n *\n * @cssproperty --dds-breadcrumb-width - The width of the breadcrumb container (default: 100%)\n * @cssproperty --dds-breadcrumb-overflow-x - The horizontal overflow behavior of the breadcrumb (default: auto)\n * @cssproperty --dds-breadcrumb-transition - The transition property for the breadcrumb (default: all 0.2s ease-in-out)\n * @cssproperty --dds-breadcrumb-list-display - The display property of the breadcrumb list (default: flex)\n * @cssproperty --dds-breadcrumb-list-flex-wrap - The flex-wrap property of the breadcrumb list (default: nowrap)\n * @cssproperty --dds-breadcrumb-list-align-items - The align-items property of the breadcrumb list (default: center)\n * @cssproperty --dds-breadcrumb-list-min-width - The minimum width of the breadcrumb list (default: max-content)\n */\nexport default class DapDSBreadcrumb extends DdsElement {\n static tagName = 'dap-ds-breadcrumb'\n\n static readonly styles = unsafeCSS(styles)\n /** @ignore */\n @query('slot') defaultSlot!: HTMLSlotElement\n /** @ignore */\n @query('slot[name=\"separator\"]') separatorSlot!: HTMLSlotElement\n\n /* Variant of the breadcrumb\n * @type {'normal' | 'inverted'}\n */\n @property({ type: String }) variant = 'normal'\n\n /** Mobile version of the breadcrumb */\n @property({ type: Boolean }) mobile = false\n\n /** The aria-labelledby of the breadcrumb */\n @property({ type: String, attribute: 'aria-labelledby' })\n ariaLabelledBy?: string\n\n private _cachedItems: DapDSBreadcrumbItem[] = []\n private _debounceTimeout?: number\n\n protected firstUpdated(): void {\n // On SSR hydration `slotchange` does not fire, so the separators (injected\n // imperatively into the slotted items) are never added — the breadcrumb\n // renders without its `/`s. Resolve once here if items are already assigned.\n if (this.defaultSlot?.assignedElements({ flatten: true }).length) {\n this._updateBreadcrumbItems()\n }\n }\n\n private cloneSeparator() {\n const separator = this.separatorSlot.assignedElements({\n flatten: true,\n })[0] as HTMLElement\n\n return separator.cloneNode(true) as HTMLElement\n }\n\n private handleSlotChange(): void {\n if (this._debounceTimeout) {\n clearTimeout(this._debounceTimeout)\n }\n\n this._debounceTimeout = window.setTimeout(() => {\n this._updateBreadcrumbItems()\n }, 16) // One frame delay for batching\n }\n\n private _updateBreadcrumbItems(): void {\n const items = Array.from(\n this.defaultSlot.assignedElements({ flatten: true }),\n ).filter(\n (el): el is DapDSBreadcrumbItem => el instanceof DapDSBreadcrumbItem,\n )\n\n // Check if items have actually changed to avoid unnecessary work\n const itemsChanged =\n items.length !== this._cachedItems.length ||\n items.some((item, index) => item !== this._cachedItems[index])\n\n if (!itemsChanged) return\n\n this._cachedItems = items\n\n items.forEach((item, index) => {\n const isLast = index === items.length - 1\n\n if (this.mobile && index !== 0 && !isLast) {\n item.style.display = 'none'\n return\n } else {\n item.style.display = ''\n }\n\n item.toggleAttribute('inverted', this.variant === 'inverted')\n item.variant = this.variant\n if (isLast) {\n item.setAttribute('aria-current', 'page')\n } else {\n item.removeAttribute('aria-current')\n }\n item.toggleAttribute('disabled', isLast)\n\n // Hand the separator down as a property rather than appending it to the\n // item's light DOM. The item renders it as the fallback of its own\n // `separator` slot, so the children the consumer wrote stay untouched —\n // appending here corrupts hydration in SSR frameworks that own that DOM\n // (React discards the server markup and re-renders the whole tree).\n // An item that carries its own `[slot=\"separator\"]` still wins, because\n // slotted content always takes precedence over slot fallback content.\n item.inheritedSeparator = isLast ? undefined : this.cloneSeparator()\n })\n }\n\n render() {\n return html`\n <nav\n part=\"base\"\n aria-label=\"${ifDefined(this.ariaLabel) || ''}\"\n aria-labelledby=\"${ifDefined(this.ariaLabelledBy) || ''}\"\n class=\"${clsx('breadcrumb')}\">\n <ol class=\"breadcrumb__list\" part=\"list\">\n <slot @slotchange=\"${this.handleSlotChange}\"></slot>\n </ol>\n </nav>\n <span hidden aria-hidden=\"true\">\n <slot name=\"separator\"> <span>/</span> </slot>\n </span>\n `\n }\n}\n"],"names":["_DapDSBreadcrumb","DdsElement","_a","items","el","DapDSBreadcrumbItem","item","index","isLast","html","ifDefined","clsx","unsafeCSS","styles","DapDSBreadcrumb","__decorateClass","query","property"],"mappings":";;;;;;;;;;;;AA8BA,MAAqBA,IAArB,MAAqBA,UAAwBC,EAAW;AAAA,EAAxD,cAAA;AAAA,UAAA,GAAA,SAAA,GAYwC,KAAA,UAAA,UAGA,KAAA,SAAA,IAMtC,KAAQ,eAAsC,CAAC;AAAA,EAAA;AAAA,EAGrC,eAAqB;;AAIzB,KAAAC,IAAA,KAAK,gBAAL,QAAAA,EAAkB,iBAAiB,EAAE,SAAS,GAAK,GAAG,UACxD,KAAK,uBAAuB;AAAA,EAC9B;AAAA,EAGM,iBAAiB;AAKhB,WAJW,KAAK,cAAc,iBAAiB;AAAA,MACpD,SAAS;AAAA,IACV,CAAA,EAAE,CAAC,EAEa,UAAU,EAAI;AAAA,EAAA;AAAA,EAGzB,mBAAyB;AAC/B,IAAI,KAAK,oBACP,aAAa,KAAK,gBAAgB,GAG/B,KAAA,mBAAmB,OAAO,WAAW,MAAM;AAC9C,WAAK,uBAAuB;AAAA,OAC3B,EAAE;AAAA,EAAA;AAAA,EAGC,yBAA+B;AACrC,UAAMC,IAAQ,MAAM;AAAA,MAClB,KAAK,YAAY,iBAAiB,EAAE,SAAS,GAAM,CAAA;AAAA,IAAA,EACnD;AAAA,MACA,CAACC,MAAkCA,aAAcC;AAAA,IACnD;AAOA,KAHEF,EAAM,WAAW,KAAK,aAAa,UACnCA,EAAM,KAAK,CAACG,GAAMC,MAAUD,MAAS,KAAK,aAAaC,CAAK,CAAC,OAI/D,KAAK,eAAeJ,GAEdA,EAAA,QAAQ,CAACG,GAAMC,MAAU;AACvB,YAAAC,IAASD,MAAUJ,EAAM,SAAS;AAExC,UAAI,KAAK,UAAUI,MAAU,KAAK,CAACC,GAAQ;AACzC,QAAAF,EAAK,MAAM,UAAU;AACrB;AAAA,MAAA;AAEA,QAAAA,EAAK,MAAM,UAAU;AAGvB,MAAAA,EAAK,gBAAgB,YAAY,KAAK,YAAY,UAAU,GAC5DA,EAAK,UAAU,KAAK,SAChBE,IACGF,EAAA,aAAa,gBAAgB,MAAM,IAExCA,EAAK,gBAAgB,cAAc,GAEhCA,EAAA,gBAAgB,YAAYE,CAAM,GASvCF,EAAK,qBAAqBE,IAAS,SAAY,KAAK,eAAe;AAAA,IAAA,CACpE;AAAA,EAAA;AAAA,EAGH,SAAS;AACA,WAAAC;AAAA;AAAA;AAAA,sBAGWC,EAAU,KAAK,SAAS,KAAK,EAAE;AAAA,2BAC1BA,EAAU,KAAK,cAAc,KAAK,EAAE;AAAA,iBAC9CC,EAAK,YAAY,CAAC;AAAA;AAAA,+BAEJ,KAAK,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAQpD;AAhHEX,EAAO,UAAU,qBAEDA,EAAA,SAASY,EAAUC,CAAM;AAH3C,IAAqBC,IAArBd;AAKiBe,EAAA;AAAA,EAAdC,EAAM,MAAM;AAAA,GALMF,EAKJ,WAAA,aAAA;AAEkBC,EAAA;AAAA,EAAhCC,EAAM,wBAAwB;AAAA,GAPZF,EAOc,WAAA,eAAA;AAKLC,EAAA;AAAA,EAA3BE,EAAS,EAAE,MAAM,OAAQ,CAAA;AAAA,GAZPH,EAYS,WAAA,SAAA;AAGCC,EAAA;AAAA,EAA5BE,EAAS,EAAE,MAAM,QAAS,CAAA;AAAA,GAfRH,EAeU,WAAA,QAAA;AAI7BC,EAAA;AAAA,EADCE,EAAS,EAAE,MAAM,QAAQ,WAAW,kBAAmB,CAAA;AAAA,GAlBrCH,EAmBnB,WAAA,gBAAA;"}
@@ -1,3 +1,4 @@
1
+ import { PropertyValues } from 'lit';
1
2
  import { LinkTarget } from '../../common/types';
2
3
  import { DdsElement } from '../../internal/dds-hu-element.js';
3
4
  import { default as DapDSIcon } from '../icon/icon.component';
@@ -62,6 +63,13 @@ export default class DapDSBreadcrumbItem extends DdsElement {
62
63
  */
63
64
  inheritedSeparator?: HTMLElement;
64
65
  static readonly styles: import('lit').CSSResult;
66
+ /**
67
+ * The inherited separator is a DOM node, so it is only rendered after the
68
+ * first update: the first render (and so an SSR hydration render) always
69
+ * shows the default icon, matching the server output. A separator handed
70
+ * down before that is picked up by this follow-up render.
71
+ */
72
+ protected firstUpdated(changedProperties: PropertyValues): void;
65
73
  render(): import('lit-html').TemplateResult<1>;
66
74
  private _shouldIncludeRel;
67
75
  }
@@ -1,29 +1,34 @@
1
- import { clsx as m } from "../../node_modules/clsx/dist/clsx.js";
2
- import "../../node_modules/@lit/reactive-element/reactive-element.js";
3
- import { html as o } from "../../node_modules/lit-html/lit-html.js";
4
- import "../../node_modules/lit-element/lit-element.js";
5
- import { property as e } from "../../node_modules/@lit/reactive-element/decorators/property.js";
6
- import { ifDefined as h } from "../../node_modules/lit-html/directives/if-defined.js";
7
- import { DdsElement as f } from "../../internal/dds-hu-element.js";
1
+ import { clsx as f } from "../../node_modules/clsx/dist/clsx.js";
2
+ import { unsafeCSS as m, html as o } from "lit";
3
+ import { property as r } from "lit/decorators.js";
4
+ import { ifDefined as h } from "lit/directives/if-defined.js";
5
+ import { DdsElement as u } from "../../internal/dds-hu-element.js";
8
6
  import c from "../icon/icon.component.js";
9
- import u from "../link/link.component.js";
10
- import b from "./breadcrumb-item.scss.js";
11
- import { unsafeCSS as v } from "../../node_modules/@lit/reactive-element/css-tag.js";
12
- var y = Object.defineProperty, s = (p, i, l, g) => {
13
- for (var r = void 0, n = p.length - 1, d; n >= 0; n--)
14
- (d = p[n]) && (r = d(i, l, r) || r);
15
- return r && y(i, l, r), r;
7
+ import b from "../link/link.component.js";
8
+ import v from "./breadcrumb-item.scss.js";
9
+ var y = Object.defineProperty, s = (n, a, d, g) => {
10
+ for (var e = void 0, p = n.length - 1, l; p >= 0; p--)
11
+ (l = n[p]) && (e = l(a, d, e) || e);
12
+ return e && y(a, d, e), e;
16
13
  };
17
- const a = class a extends f {
14
+ const i = class i extends u {
18
15
  constructor() {
19
16
  super(...arguments), this.rel = "noreferrer noopener", this.disabled = !1, this.variant = "normal";
20
17
  }
18
+ /**
19
+ * The inherited separator is a DOM node, so it is only rendered after the
20
+ * first update: the first render (and so an SSR hydration render) always
21
+ * shows the default icon, matching the server output. A separator handed
22
+ * down before that is picked up by this follow-up render.
23
+ */
24
+ firstUpdated(a) {
25
+ super.firstUpdated(a), this.inheritedSeparator && this.requestUpdate();
26
+ }
21
27
  render() {
22
- var i;
23
28
  return o`
24
29
  <li
25
30
  part="base"
26
- class=${m("breadcrumb-item", {
31
+ class=${f("breadcrumb-item", {
27
32
  "breadcrumb-item--inverted": this.variant === "inverted"
28
33
  })}>
29
34
  ${this.href ? o`
@@ -50,7 +55,7 @@ const a = class a extends f {
50
55
  aria-hidden="true"
51
56
  role="presentation">
52
57
  <slot name="separator">
53
- ${(i = this.inheritedSeparator) != null ? i : o`<dap-ds-icon name="arrow-right-s-line"></dap-ds-icon>`}
58
+ ${this.hasUpdated && this.inheritedSeparator || o`<dap-ds-icon name="arrow-right-s-line"></dap-ds-icon>`}
54
59
  </slot>
55
60
  </span>
56
61
  </li>
@@ -60,28 +65,28 @@ const a = class a extends f {
60
65
  return this.href ? this.target !== void 0 || this.href.startsWith("http") : !1;
61
66
  }
62
67
  };
63
- a.tagName = "dap-ds-breadcrumb-item", a.dependencies = {
64
- "dap-ds-link": u,
68
+ i.tagName = "dap-ds-breadcrumb-item", i.dependencies = {
69
+ "dap-ds-link": b,
65
70
  "dap-ds-icon": c
66
- }, a.styles = v(b);
67
- let t = a;
71
+ }, i.styles = m(v);
72
+ let t = i;
68
73
  s([
69
- e()
74
+ r()
70
75
  ], t.prototype, "href");
71
76
  s([
72
- e()
77
+ r()
73
78
  ], t.prototype, "target");
74
79
  s([
75
- e()
80
+ r()
76
81
  ], t.prototype, "rel");
77
82
  s([
78
- e({ type: Boolean })
83
+ r({ type: Boolean })
79
84
  ], t.prototype, "disabled");
80
85
  s([
81
- e({ type: String, reflect: !0 })
86
+ r({ type: String, reflect: !0 })
82
87
  ], t.prototype, "variant");
83
88
  s([
84
- e({ attribute: !1 })
89
+ r({ attribute: !1 })
85
90
  ], t.prototype, "inheritedSeparator");
86
91
  export {
87
92
  t as default
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb-item.component.js","sources":["../../../src/components/breadcrumb-item/breadcrumb-item.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { html, unsafeCSS } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { LinkTarget } from '@/common/types'\nimport { DdsElement } from '@/internal/dds-hu-element.js'\n\nimport DapDSIcon from '../icon/icon.component'\nimport DapDSLink from '../link/link.component'\nimport styles from './breadcrumb-item.scss?inline'\n\n/**\n * `dap-ds-breadcrumb-item` custom element.\n * @element dap-ds-breadcrumb-item\n * @summary A breadcrumb item is a secondary navigation scheme that reveals the user's location in a website or Web application.\n * @title - Breadcrumb item\n * @group breadcrumb\n *\n * @slot - The content of the breadcrumb item.\n * @slot separator - The separator between breadcrumb items. Default is an arrow-right-s-line icon.\n *\n * @csspart base - The main breadcrumb item container. The li element.\n * @csspart link - The link of the breadcrumb item. The dds-link component.\n * @csspart link-base - The base part of the link part. The dds-link components base part.\n * @csspart item-nolink - The item of the breadcrumb item without a link. The span element.\n * @csspart separator - The separator of the breadcrumb item.\n *\n * @cssproperty --dds-breadcrumb-item-display - The display property of the breadcrumb item (default: inline-flex)\n * @cssproperty --dds-breadcrumb-item-flex-wrap - The flex-wrap property of the breadcrumb item (default: nowrap)\n * @cssproperty --dds-breadcrumb-item-align-items - The align-items property of the breadcrumb item (default: center)\n * @cssproperty --dds-breadcrumb-item-color - The text color of the breadcrumb item (default: var(--dds-text-neutral-base))\n * @cssproperty --dds-breadcrumb-item-transition - The transition property for the breadcrumb item (default: all 0.2s ease-in-out)\n * @cssproperty --dds-breadcrumb-item-gap - The gap between the breadcrumb item and the separator (default: var(--dds-spacing-200))\n * @cssproperty --dds-breadcrumb-item-padding - The padding of the breadcrumb item (default: var(--dds-spacing-200))\n * @cssproperty --dds-breadcrumb-item-font-size - The font size of the breadcrumb item (default: var(--dds-font-sm))\n * @cssproperty --dds-breadcrumb-item-font-weight - The font weight of the breadcrumb item (default: var(--dds-font-weight-medium))\n * @cssproperty --dds-breadcrumb-item-font-weight-bold - The bold font weight of the breadcrumb item (default: var(--dds-font-weight-bold))\n * @cssproperty --dds-breadcrumb-item-separator-color - The color of the separator (default: var(--dds-text-neutral-disabled))\n * @cssproperty --dds-breadcrumb-item-link-color - The color of the link (default: var(--dds-link-neutral-enabled))\n * @cssproperty --dds-breadcrumb-item-inverted-color - The text color when inverted (default: var(--dds-text-neutral-inverted))\n * @cssproperty --dds-breadcrumb-item-inverted-link-color - The link color when inverted (default: var(--dds-text-neutral-inverted))\n */\nexport default class DapDSBreadcrumbItem extends DdsElement {\n static tagName = 'dap-ds-breadcrumb-item'\n\n static dependencies = {\n 'dap-ds-link': DapDSLink,\n 'dap-ds-icon': DapDSIcon,\n }\n\n /** The URL of the breadcrumb item. */\n @property() href?: string\n /** The target of the breadcrumb item.\n * @type {'_blank' | '_self' | '_parent' | '_top'}\n */\n @property() target?: LinkTarget\n /** The rel of the breadcrumb item link. */\n @property() rel = 'noreferrer noopener'\n /** Whether the breadcrumb item is disabled. */\n @property({ type: Boolean }) disabled = false\n /** The variant of the breadcrumb item.\n * @type {'normal' | 'inverted'}\n */\n @property({ type: String, reflect: true }) variant = 'normal'\n\n /**\n * The separator handed down by the parent `dap-ds-breadcrumb`, rendered as\n * the fallback content of this item's `separator` slot. Set by the parent —\n * not part of the public API, and deliberately property-only so nothing is\n * written into the item's light DOM.\n * @ignore\n */\n @property({ attribute: false }) inheritedSeparator?: HTMLElement\n\n static readonly styles = unsafeCSS(styles)\n\n render() {\n return html`\n <li\n part=\"base\"\n class=${clsx('breadcrumb-item', {\n 'breadcrumb-item--inverted': this.variant === 'inverted',\n })}>\n ${this.href\n ? html`\n <dap-ds-link\n theme=\"brand\"\n bold\n part=\"link\"\n exportparts=\"base:link-base\"\n href=${this.href}\n target=${ifDefined(this.target)}\n rel=${ifDefined(\n this._shouldIncludeRel() ? this.rel : undefined,\n )}\n .disabled=${this.disabled}>\n <slot></slot>\n </dap-ds-link>\n `\n : html`<span part=\"item-nolink\" class=\"breadcrumb-item-nolink\">\n <slot></slot>\n </span>`}\n\n <span\n part=\"separator\"\n class=\"breadcrumb-item__separator\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <slot name=\"separator\">\n ${this.inheritedSeparator ??\n html`<dap-ds-icon name=\"arrow-right-s-line\"></dap-ds-icon>`}\n </slot>\n </span>\n </li>\n `\n }\n\n private _shouldIncludeRel(): boolean {\n if (!this.href) return false\n // Include rel for external links or when target is specified\n return this.target !== undefined || this.href.startsWith('http')\n }\n}\n"],"names":["_DapDSBreadcrumbItem","DdsElement","html","clsx","ifDefined","_a","DapDSLink","DapDSIcon","unsafeCSS","styles","DapDSBreadcrumbItem","__decorateClass","property"],"mappings":";;;;;;;;;;;;;;;;AA2CA,MAAqBA,IAArB,MAAqBA,UAA4BC,EAAW;AAAA,EAA5D,cAAA;AAAA,UAAA,GAAA,SAAA,GAeoB,KAAA,MAAA,uBAEsB,KAAA,WAAA,IAIa,KAAA,UAAA;AAAA,EAAA;AAAA,EAarD,SAAS;;AACA,WAAAC;AAAAA;AAAAA;AAAAA,gBAGKC,EAAK,mBAAmB;AAAA,MAC9B,6BAA6B,KAAK,YAAY;AAAA,IAAA,CAC/C,CAAC;AAAA,UACA,KAAK,OACHD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,uBAMW,KAAK,IAAI;AAAA,yBACPE,EAAU,KAAK,MAAM,CAAC;AAAA,sBACzBA;AAAAA,MACJ,KAAK,kBAAA,IAAsB,KAAK,MAAM;AAAA,IACvC,CAAA;AAAA,4BACW,KAAK,QAAQ;AAAA;AAAA;AAAA,gBAI7BF;AAAAA;AAAAA,oBAEQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAQNG,IAAA,KAAK,uBAAL,OAAAA,IACFH,wDAA2D;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAAA,EAO7D,oBAA6B;AAC/B,WAAC,KAAK,OAEH,KAAK,WAAW,UAAa,KAAK,KAAK,WAAW,MAAM,IAFxC;AAAA,EAEwC;AAEnE;AA/EEF,EAAO,UAAU,0BAEjBA,EAAO,eAAe;AAAA,EACpB,eAAeM;AAAA,EACf,eAAeC;AACjB,GA0BgBP,EAAA,SAASQ,EAAUC,CAAM;AAhC3C,IAAqBC,IAArBV;AAScW,EAAA;AAAA,EAAXC,EAAS;AAAA,GATSF,EASP,WAAA,MAAA;AAIAC,EAAA;AAAA,EAAXC,EAAS;AAAA,GAbSF,EAaP,WAAA,QAAA;AAEAC,EAAA;AAAA,EAAXC,EAAS;AAAA,GAfSF,EAeP,WAAA,KAAA;AAEiBC,EAAA;AAAA,EAA5BC,EAAS,EAAE,MAAM,QAAS,CAAA;AAAA,GAjBRF,EAiBU,WAAA,UAAA;AAIcC,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,GAAM,CAAA;AAAA,GArBtBF,EAqBwB,WAAA,SAAA;AASXC,EAAA;AAAA,EAA/BC,EAAS,EAAE,WAAW,GAAO,CAAA;AAAA,GA9BXF,EA8Ba,WAAA,oBAAA;"}
1
+ {"version":3,"file":"breadcrumb-item.component.js","sources":["../../../src/components/breadcrumb-item/breadcrumb-item.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { html, PropertyValues, unsafeCSS } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { LinkTarget } from '@/common/types'\nimport { DdsElement } from '@/internal/dds-hu-element.js'\n\nimport DapDSIcon from '../icon/icon.component'\nimport DapDSLink from '../link/link.component'\nimport styles from './breadcrumb-item.scss?inline'\n\n/**\n * `dap-ds-breadcrumb-item` custom element.\n * @element dap-ds-breadcrumb-item\n * @summary A breadcrumb item is a secondary navigation scheme that reveals the user's location in a website or Web application.\n * @title - Breadcrumb item\n * @group breadcrumb\n *\n * @slot - The content of the breadcrumb item.\n * @slot separator - The separator between breadcrumb items. Default is an arrow-right-s-line icon.\n *\n * @csspart base - The main breadcrumb item container. The li element.\n * @csspart link - The link of the breadcrumb item. The dds-link component.\n * @csspart link-base - The base part of the link part. The dds-link components base part.\n * @csspart item-nolink - The item of the breadcrumb item without a link. The span element.\n * @csspart separator - The separator of the breadcrumb item.\n *\n * @cssproperty --dds-breadcrumb-item-display - The display property of the breadcrumb item (default: inline-flex)\n * @cssproperty --dds-breadcrumb-item-flex-wrap - The flex-wrap property of the breadcrumb item (default: nowrap)\n * @cssproperty --dds-breadcrumb-item-align-items - The align-items property of the breadcrumb item (default: center)\n * @cssproperty --dds-breadcrumb-item-color - The text color of the breadcrumb item (default: var(--dds-text-neutral-base))\n * @cssproperty --dds-breadcrumb-item-transition - The transition property for the breadcrumb item (default: all 0.2s ease-in-out)\n * @cssproperty --dds-breadcrumb-item-gap - The gap between the breadcrumb item and the separator (default: var(--dds-spacing-200))\n * @cssproperty --dds-breadcrumb-item-padding - The padding of the breadcrumb item (default: var(--dds-spacing-200))\n * @cssproperty --dds-breadcrumb-item-font-size - The font size of the breadcrumb item (default: var(--dds-font-sm))\n * @cssproperty --dds-breadcrumb-item-font-weight - The font weight of the breadcrumb item (default: var(--dds-font-weight-medium))\n * @cssproperty --dds-breadcrumb-item-font-weight-bold - The bold font weight of the breadcrumb item (default: var(--dds-font-weight-bold))\n * @cssproperty --dds-breadcrumb-item-separator-color - The color of the separator (default: var(--dds-text-neutral-disabled))\n * @cssproperty --dds-breadcrumb-item-link-color - The color of the link (default: var(--dds-link-neutral-enabled))\n * @cssproperty --dds-breadcrumb-item-inverted-color - The text color when inverted (default: var(--dds-text-neutral-inverted))\n * @cssproperty --dds-breadcrumb-item-inverted-link-color - The link color when inverted (default: var(--dds-text-neutral-inverted))\n */\nexport default class DapDSBreadcrumbItem extends DdsElement {\n static tagName = 'dap-ds-breadcrumb-item'\n\n static dependencies = {\n 'dap-ds-link': DapDSLink,\n 'dap-ds-icon': DapDSIcon,\n }\n\n /** The URL of the breadcrumb item. */\n @property() href?: string\n /** The target of the breadcrumb item.\n * @type {'_blank' | '_self' | '_parent' | '_top'}\n */\n @property() target?: LinkTarget\n /** The rel of the breadcrumb item link. */\n @property() rel = 'noreferrer noopener'\n /** Whether the breadcrumb item is disabled. */\n @property({ type: Boolean }) disabled = false\n /** The variant of the breadcrumb item.\n * @type {'normal' | 'inverted'}\n */\n @property({ type: String, reflect: true }) variant = 'normal'\n\n /**\n * The separator handed down by the parent `dap-ds-breadcrumb`, rendered as\n * the fallback content of this item's `separator` slot. Set by the parent —\n * not part of the public API, and deliberately property-only so nothing is\n * written into the item's light DOM.\n * @ignore\n */\n @property({ attribute: false }) inheritedSeparator?: HTMLElement\n\n static readonly styles = unsafeCSS(styles)\n\n /**\n * The inherited separator is a DOM node, so it is only rendered after the\n * first update: the first render (and so an SSR hydration render) always\n * shows the default icon, matching the server output. A separator handed\n * down before that is picked up by this follow-up render.\n */\n protected firstUpdated(changedProperties: PropertyValues): void {\n super.firstUpdated(changedProperties)\n if (this.inheritedSeparator) {\n this.requestUpdate()\n }\n }\n\n render() {\n return html`\n <li\n part=\"base\"\n class=${clsx('breadcrumb-item', {\n 'breadcrumb-item--inverted': this.variant === 'inverted',\n })}>\n ${this.href\n ? html`\n <dap-ds-link\n theme=\"brand\"\n bold\n part=\"link\"\n exportparts=\"base:link-base\"\n href=${this.href}\n target=${ifDefined(this.target)}\n rel=${ifDefined(\n this._shouldIncludeRel() ? this.rel : undefined,\n )}\n .disabled=${this.disabled}>\n <slot></slot>\n </dap-ds-link>\n `\n : html`<span part=\"item-nolink\" class=\"breadcrumb-item-nolink\">\n <slot></slot>\n </span>`}\n\n <span\n part=\"separator\"\n class=\"breadcrumb-item__separator\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <slot name=\"separator\">\n ${(this.hasUpdated && this.inheritedSeparator) ||\n html`<dap-ds-icon name=\"arrow-right-s-line\"></dap-ds-icon>`}\n </slot>\n </span>\n </li>\n `\n }\n\n private _shouldIncludeRel(): boolean {\n if (!this.href) return false\n // Include rel for external links or when target is specified\n return this.target !== undefined || this.href.startsWith('http')\n }\n}\n"],"names":["_DapDSBreadcrumbItem","DdsElement","changedProperties","html","clsx","ifDefined","DapDSLink","DapDSIcon","unsafeCSS","styles","DapDSBreadcrumbItem","__decorateClass","property"],"mappings":";;;;;;;;;;;;;AA2CA,MAAqBA,IAArB,MAAqBA,UAA4BC,EAAW;AAAA,EAA5D,cAAA;AAAA,UAAA,GAAA,SAAA,GAeoB,KAAA,MAAA,uBAEsB,KAAA,WAAA,IAIa,KAAA,UAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmB3C,aAAaC,GAAyC;AAC9D,UAAM,aAAaA,CAAiB,GAChC,KAAK,sBACP,KAAK,cAAc;AAAA,EACrB;AAAA,EAGF,SAAS;AACA,WAAAC;AAAA;AAAA;AAAA,gBAGKC,EAAK,mBAAmB;AAAA,MAC9B,6BAA6B,KAAK,YAAY;AAAA,IAAA,CAC/C,CAAC;AAAA,UACA,KAAK,OACHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAMW,KAAK,IAAI;AAAA,yBACPE,EAAU,KAAK,MAAM,CAAC;AAAA,sBACzBA;AAAA,MACJ,KAAK,kBAAA,IAAsB,KAAK,MAAM;AAAA,IACvC,CAAA;AAAA,4BACW,KAAK,QAAQ;AAAA;AAAA;AAAA,gBAI7BF;AAAA;AAAA,oBAEQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAQL,KAAK,cAAc,KAAK,sBAC3BA,wDAA2D;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAAA,EAO7D,oBAA6B;AAC/B,WAAC,KAAK,OAEH,KAAK,WAAW,UAAa,KAAK,KAAK,WAAW,MAAM,IAFxC;AAAA,EAEwC;AAEnE;AA5FEH,EAAO,UAAU,0BAEjBA,EAAO,eAAe;AAAA,EACpB,eAAeM;AAAA,EACf,eAAeC;AACjB,GA0BgBP,EAAA,SAASQ,EAAUC,CAAM;AAhC3C,IAAqBC,IAArBV;AAScW,EAAA;AAAA,EAAXC,EAAS;AAAA,GATSF,EASP,WAAA,MAAA;AAIAC,EAAA;AAAA,EAAXC,EAAS;AAAA,GAbSF,EAaP,WAAA,QAAA;AAEAC,EAAA;AAAA,EAAXC,EAAS;AAAA,GAfSF,EAeP,WAAA,KAAA;AAEiBC,EAAA;AAAA,EAA5BC,EAAS,EAAE,MAAM,QAAS,CAAA;AAAA,GAjBRF,EAiBU,WAAA,UAAA;AAIcC,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,GAAM,CAAA;AAAA,GArBtBF,EAqBwB,WAAA,SAAA;AASXC,EAAA;AAAA,EAA/BC,EAAS,EAAE,WAAW,GAAO,CAAA;AAAA,GA9BXF,EA8Ba,WAAA,oBAAA;"}