dap-design-system 0.62.4 → 0.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (658) hide show
  1. package/README.md +5 -1
  2. package/dist/common/utils.js +46 -46
  3. package/dist/common/utils.js.map +1 -1
  4. package/dist/components/accordion/accordion-base-element.js +15 -19
  5. package/dist/components/accordion/accordion-base-element.js.map +1 -1
  6. package/dist/components/accordion/accordion.component.d.ts +1 -0
  7. package/dist/components/accordion/accordion.component.js.map +1 -1
  8. package/dist/components/accordion-group/accordion-group.component.js +20 -24
  9. package/dist/components/accordion-group/accordion-group.component.js.map +1 -1
  10. package/dist/components/anchor-heading/anchor-heading.component.d.ts +1 -0
  11. package/dist/components/anchor-heading/anchor-heading.component.js +20 -23
  12. package/dist/components/anchor-heading/anchor-heading.component.js.map +1 -1
  13. package/dist/components/avatar/avatar.component.js +51 -55
  14. package/dist/components/avatar/avatar.component.js.map +1 -1
  15. package/dist/components/avatar-group/avatar-group.component.js +18 -22
  16. package/dist/components/avatar-group/avatar-group.component.js.map +1 -1
  17. package/dist/components/badge/badge.component.js +17 -20
  18. package/dist/components/badge/badge.component.js.map +1 -1
  19. package/dist/components/banner/banner.component.d.ts +1 -1
  20. package/dist/components/banner/banner.component.js +18 -24
  21. package/dist/components/banner/banner.component.js.map +1 -1
  22. package/dist/components/breadcrumb/breadcrumb.component.d.ts +2 -1
  23. package/dist/components/breadcrumb/breadcrumb.component.js +32 -32
  24. package/dist/components/breadcrumb/breadcrumb.component.js.map +1 -1
  25. package/dist/components/breadcrumb-item/breadcrumb-item.component.d.ts +8 -0
  26. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +33 -28
  27. package/dist/components/breadcrumb-item/breadcrumb-item.component.js.map +1 -1
  28. package/dist/components/button/_styles/button.scss.js +1 -1
  29. package/dist/components/button/button.component.js +18 -22
  30. package/dist/components/button/button.component.js.map +1 -1
  31. package/dist/components/button-group/_styles/button-group-separator.scss.js +5 -0
  32. package/dist/components/button-group/_styles/button-group-separator.scss.js.map +1 -0
  33. package/dist/components/button-group/_styles/button-group-text.scss.js +5 -0
  34. package/dist/components/button-group/_styles/button-group-text.scss.js.map +1 -0
  35. package/dist/components/button-group/_styles/button-group.scss.js +5 -0
  36. package/dist/components/button-group/_styles/button-group.scss.js.map +1 -0
  37. package/dist/components/button-group/button-group-separator.component.d.ts +28 -0
  38. package/dist/components/button-group/button-group-separator.component.js +18 -0
  39. package/dist/components/button-group/button-group-separator.component.js.map +1 -0
  40. package/dist/components/button-group/button-group-separator.d.ts +8 -0
  41. package/dist/components/button-group/button-group-separator.js +6 -0
  42. package/dist/components/button-group/button-group-separator.js.map +1 -0
  43. package/dist/components/button-group/button-group-text.component.d.ts +33 -0
  44. package/dist/components/button-group/button-group-text.component.js +17 -0
  45. package/dist/components/button-group/button-group-text.component.js.map +1 -0
  46. package/dist/components/button-group/button-group-text.d.ts +8 -0
  47. package/dist/components/button-group/button-group-text.js +6 -0
  48. package/dist/components/button-group/button-group-text.js.map +1 -0
  49. package/dist/components/button-group/button-group.component.d.ts +52 -0
  50. package/dist/components/button-group/button-group.component.js +30 -0
  51. package/dist/components/button-group/button-group.component.js.map +1 -0
  52. package/dist/components/button-group/button-group.d.ts +8 -0
  53. package/dist/components/button-group/button-group.js +6 -0
  54. package/dist/components/button-group/button-group.js.map +1 -0
  55. package/dist/components/calendar/calendar-cell.component.js +26 -29
  56. package/dist/components/calendar/calendar-cell.component.js.map +1 -1
  57. package/dist/components/calendar/calendar.component.d.ts +10 -1
  58. package/dist/components/calendar/calendar.component.js +37 -46
  59. package/dist/components/calendar/calendar.component.js.map +1 -1
  60. package/dist/components/callout/callout.component.d.ts +4 -0
  61. package/dist/components/callout/callout.component.js +71 -69
  62. package/dist/components/callout/callout.component.js.map +1 -1
  63. package/dist/components/card/card-actions.component.js +8 -11
  64. package/dist/components/card/card-actions.component.js.map +1 -1
  65. package/dist/components/card/card-content.component.js +20 -23
  66. package/dist/components/card/card-content.component.js.map +1 -1
  67. package/dist/components/card/card-image.component.js +18 -21
  68. package/dist/components/card/card-image.component.js.map +1 -1
  69. package/dist/components/card/card-subtitle.component.js +18 -21
  70. package/dist/components/card/card-subtitle.component.js.map +1 -1
  71. package/dist/components/card/card-title.component.js +18 -21
  72. package/dist/components/card/card-title.component.js.map +1 -1
  73. package/dist/components/card/card.component.d.ts +1 -0
  74. package/dist/components/card/card.component.js +25 -28
  75. package/dist/components/card/card.component.js.map +1 -1
  76. package/dist/components/checkbox/_styles/checkbox.scss.js +1 -1
  77. package/dist/components/checkbox/checkbox.component.d.ts +7 -1
  78. package/dist/components/checkbox/checkbox.component.js +71 -74
  79. package/dist/components/checkbox/checkbox.component.js.map +1 -1
  80. package/dist/components/chip/chip.component.d.ts +1 -0
  81. package/dist/components/chip/chip.component.js +21 -26
  82. package/dist/components/chip/chip.component.js.map +1 -1
  83. package/dist/components/code-puncher/code-puncher-slot.component.js +34 -38
  84. package/dist/components/code-puncher/code-puncher-slot.component.js.map +1 -1
  85. package/dist/components/code-puncher/code-puncher.component.d.ts +4 -0
  86. package/dist/components/code-puncher/code-puncher.component.js +97 -102
  87. package/dist/components/code-puncher/code-puncher.component.js.map +1 -1
  88. package/dist/components/code-puncher/code-puncher.context.js +1 -1
  89. package/dist/components/code-puncher/code-puncher.context.js.map +1 -1
  90. package/dist/components/code-puncher/code-puncher.scss.js +1 -1
  91. package/dist/components/combobox/combobox.component.d.ts +9 -1
  92. package/dist/components/combobox/combobox.component.js.map +1 -1
  93. package/dist/components/combobox/combobox.scss.js +1 -1
  94. package/dist/components/combobox/comboboxBase.d.ts +21 -0
  95. package/dist/components/combobox/comboboxBase.js +176 -139
  96. package/dist/components/combobox/comboboxBase.js.map +1 -1
  97. package/dist/components/command/command-group.component.js +19 -23
  98. package/dist/components/command/command-group.component.js.map +1 -1
  99. package/dist/components/command/command-item.component.js +17 -22
  100. package/dist/components/command/command-item.component.js.map +1 -1
  101. package/dist/components/command/command.component.d.ts +3 -0
  102. package/dist/components/command/command.component.js +28 -33
  103. package/dist/components/command/command.component.js.map +1 -1
  104. package/dist/components/content-switcher/content-switcher-item.component.js +16 -19
  105. package/dist/components/content-switcher/content-switcher-item.component.js.map +1 -1
  106. package/dist/components/content-switcher/content-switcher.component.js +19 -22
  107. package/dist/components/content-switcher/content-switcher.component.js.map +1 -1
  108. package/dist/components/copybox-input/copybox-input.component.d.ts +11 -0
  109. package/dist/components/copybox-input/copybox-input.component.js +12 -16
  110. package/dist/components/copybox-input/copybox-input.component.js.map +1 -1
  111. package/dist/components/dap-badge/dap-badge.component.js +13 -18
  112. package/dist/components/dap-badge/dap-badge.component.js.map +1 -1
  113. package/dist/components/datatable/datatable.component.d.ts +17 -0
  114. package/dist/components/datatable/datatable.component.js +38 -42
  115. package/dist/components/datatable/datatable.component.js.map +1 -1
  116. package/dist/components/datatable/utils/cell-renderer.js +6 -8
  117. package/dist/components/datatable/utils/cell-renderer.js.map +1 -1
  118. package/dist/components/datepicker/datepicker.component.d.ts +8 -0
  119. package/dist/components/datepicker/datepicker.component.js +76 -81
  120. package/dist/components/datepicker/datepicker.component.js.map +1 -1
  121. package/dist/components/datepicker/datepicker.scss.js +1 -1
  122. package/dist/components/divider/divider.component.js +18 -21
  123. package/dist/components/divider/divider.component.js.map +1 -1
  124. package/dist/components/feedback/feedback.component.js +8 -11
  125. package/dist/components/feedback/feedback.component.js.map +1 -1
  126. package/dist/components/file-input/file-input-list-item.component.d.ts +1 -0
  127. package/dist/components/file-input/file-input-list-item.component.js +36 -40
  128. package/dist/components/file-input/file-input-list-item.component.js.map +1 -1
  129. package/dist/components/file-input/file-input-list.component.js +15 -20
  130. package/dist/components/file-input/file-input-list.component.js.map +1 -1
  131. package/dist/components/file-input/file-input-list.scss.js +1 -1
  132. package/dist/components/file-input/file-input.component.d.ts +3 -0
  133. package/dist/components/file-input/file-input.component.js +135 -142
  134. package/dist/components/file-input/file-input.component.js.map +1 -1
  135. package/dist/components/file-input/file-input.scss.js +1 -1
  136. package/dist/components/form/form-label/form-label.component.d.ts +1 -1
  137. package/dist/components/form/form-label/form-label.component.js +20 -23
  138. package/dist/components/form/form-label/form-label.component.js.map +1 -1
  139. package/dist/components/form/input-group/input-group.component.d.ts +4 -0
  140. package/dist/components/form/input-group/input-group.component.js +42 -42
  141. package/dist/components/form/input-group/input-group.component.js.map +1 -1
  142. package/dist/components/form/input-group/input-group.scss.js +2 -2
  143. package/dist/components/form/radio-group/radio-group.component.d.ts +5 -0
  144. package/dist/components/form/radio-group/radio-group.component.js +54 -55
  145. package/dist/components/form/radio-group/radio-group.component.js.map +1 -1
  146. package/dist/components/icon/icon.component.js +25 -28
  147. package/dist/components/icon/icon.component.js.map +1 -1
  148. package/dist/components/icon-button/icon-button.component.d.ts +1 -0
  149. package/dist/components/icon-button/icon-button.component.js +11 -14
  150. package/dist/components/icon-button/icon-button.component.js.map +1 -1
  151. package/dist/components/icon-button/icon-button.scss.js +1 -1
  152. package/dist/components/icons/arrows/arrows-arrow-down-line/arrows-arrow-down-line.component.js +9 -12
  153. package/dist/components/icons/arrows/arrows-arrow-down-line/arrows-arrow-down-line.component.js.map +1 -1
  154. package/dist/components/icons/arrows/arrows-arrow-down-s-fill/arrows-arrow-down-s-fill.component.js +7 -10
  155. package/dist/components/icons/arrows/arrows-arrow-down-s-fill/arrows-arrow-down-s-fill.component.js.map +1 -1
  156. package/dist/components/icons/arrows/arrows-arrow-down-s-line/arrows-arrow-down-s-line.component.js +12 -15
  157. package/dist/components/icons/arrows/arrows-arrow-down-s-line/arrows-arrow-down-s-line.component.js.map +1 -1
  158. package/dist/components/icons/arrows/arrows-arrow-left-down-line/arrows-arrow-left-down-line.component.js +8 -11
  159. package/dist/components/icons/arrows/arrows-arrow-left-down-line/arrows-arrow-left-down-line.component.js.map +1 -1
  160. package/dist/components/icons/arrows/arrows-arrow-left-l-line/arrows-arrow-left-l-line.component.js +15 -18
  161. package/dist/components/icons/arrows/arrows-arrow-left-l-line/arrows-arrow-left-l-line.component.js.map +1 -1
  162. package/dist/components/icons/arrows/arrows-arrow-left-line/arrows-arrow-left-line.component.js +7 -10
  163. package/dist/components/icons/arrows/arrows-arrow-left-line/arrows-arrow-left-line.component.js.map +1 -1
  164. package/dist/components/icons/arrows/arrows-arrow-left-s-fill/arrows-arrow-left-s-fill.component.js +10 -13
  165. package/dist/components/icons/arrows/arrows-arrow-left-s-fill/arrows-arrow-left-s-fill.component.js.map +1 -1
  166. package/dist/components/icons/arrows/arrows-arrow-left-s-line/arrows-arrow-left-s-line.component.js +7 -10
  167. package/dist/components/icons/arrows/arrows-arrow-left-s-line/arrows-arrow-left-s-line.component.js.map +1 -1
  168. package/dist/components/icons/arrows/arrows-arrow-left-up-line/arrows-arrow-left-up-line.component.js +6 -9
  169. package/dist/components/icons/arrows/arrows-arrow-left-up-line/arrows-arrow-left-up-line.component.js.map +1 -1
  170. package/dist/components/icons/arrows/arrows-arrow-right-down-line/arrows-arrow-right-down-line.component.js +18 -21
  171. package/dist/components/icons/arrows/arrows-arrow-right-down-line/arrows-arrow-right-down-line.component.js.map +1 -1
  172. package/dist/components/icons/arrows/arrows-arrow-right-l-line/arrows-arrow-right-l-line.component.js +15 -18
  173. package/dist/components/icons/arrows/arrows-arrow-right-l-line/arrows-arrow-right-l-line.component.js.map +1 -1
  174. package/dist/components/icons/arrows/arrows-arrow-right-line/arrows-arrow-right-line.component.js +17 -20
  175. package/dist/components/icons/arrows/arrows-arrow-right-line/arrows-arrow-right-line.component.js.map +1 -1
  176. package/dist/components/icons/arrows/arrows-arrow-right-s-fill/arrows-arrow-right-s-fill.component.js +17 -20
  177. package/dist/components/icons/arrows/arrows-arrow-right-s-fill/arrows-arrow-right-s-fill.component.js.map +1 -1
  178. package/dist/components/icons/arrows/arrows-arrow-right-s-line/arrows-arrow-right-s-line.component.js +17 -20
  179. package/dist/components/icons/arrows/arrows-arrow-right-s-line/arrows-arrow-right-s-line.component.js.map +1 -1
  180. package/dist/components/icons/arrows/arrows-arrow-right-up-line/arrows-arrow-right-up-line.component.js +18 -21
  181. package/dist/components/icons/arrows/arrows-arrow-right-up-line/arrows-arrow-right-up-line.component.js.map +1 -1
  182. package/dist/components/icons/arrows/arrows-arrow-up-line/arrows-arrow-up-line.component.js +9 -12
  183. package/dist/components/icons/arrows/arrows-arrow-up-line/arrows-arrow-up-line.component.js.map +1 -1
  184. package/dist/components/icons/arrows/arrows-arrow-up-s-fill/arrows-arrow-up-s-fill.component.js +8 -11
  185. package/dist/components/icons/arrows/arrows-arrow-up-s-fill/arrows-arrow-up-s-fill.component.js.map +1 -1
  186. package/dist/components/icons/arrows/arrows-arrow-up-s-line/arrows-arrow-up-s-line.component.js +9 -12
  187. package/dist/components/icons/arrows/arrows-arrow-up-s-line/arrows-arrow-up-s-line.component.js.map +1 -1
  188. package/dist/components/icons/arrows/arrows-expand-up-down-fill/arrows-expand-up-down-fill.component.js +11 -14
  189. package/dist/components/icons/arrows/arrows-expand-up-down-fill/arrows-expand-up-down-fill.component.js.map +1 -1
  190. package/dist/components/icons/buildings/buildings-home-6-line/buildings-home-6-line.component.js +10 -13
  191. package/dist/components/icons/buildings/buildings-home-6-line/buildings-home-6-line.component.js.map +1 -1
  192. package/dist/components/icons/business/business-calendar-line/business-calendar-line.component.js +11 -14
  193. package/dist/components/icons/business/business-calendar-line/business-calendar-line.component.js.map +1 -1
  194. package/dist/components/icons/design/design-edit-line/design-edit-line.component.js +6 -9
  195. package/dist/components/icons/design/design-edit-line/design-edit-line.component.js.map +1 -1
  196. package/dist/components/icons/design/design-tools-line/design-tools-line.component.js +12 -15
  197. package/dist/components/icons/design/design-tools-line/design-tools-line.component.js.map +1 -1
  198. package/dist/components/icons/device/device-computer-line/device-computer-line.component.js +16 -19
  199. package/dist/components/icons/device/device-computer-line/device-computer-line.component.js.map +1 -1
  200. package/dist/components/icons/document/document-clipboard-line/document-clipboard-line.component.js +11 -14
  201. package/dist/components/icons/document/document-clipboard-line/document-clipboard-line.component.js.map +1 -1
  202. package/dist/components/icons/document/document-file-copy-line/document-file-copy-line.component.js +10 -13
  203. package/dist/components/icons/document/document-file-copy-line/document-file-copy-line.component.js.map +1 -1
  204. package/dist/components/icons/document/document-file-image-line/document-file-image-line.component.js +11 -14
  205. package/dist/components/icons/document/document-file-image-line/document-file-image-line.component.js.map +1 -1
  206. package/dist/components/icons/document/document-file-music-line/document-file-music-line.component.js +11 -14
  207. package/dist/components/icons/document/document-file-music-line/document-file-music-line.component.js.map +1 -1
  208. package/dist/components/icons/document/document-file-text-line/document-file-text-line.component.js +10 -13
  209. package/dist/components/icons/document/document-file-text-line/document-file-text-line.component.js.map +1 -1
  210. package/dist/components/icons/document/document-file-video-line/document-file-video-line.component.js +11 -14
  211. package/dist/components/icons/document/document-file-video-line/document-file-video-line.component.js.map +1 -1
  212. package/dist/components/icons/document/document-folder-line/document-folder-line.component.js +11 -14
  213. package/dist/components/icons/document/document-folder-line/document-folder-line.component.js.map +1 -1
  214. package/dist/components/icons/document/document-folder-open-line/document-folder-open-line.component.js +10 -13
  215. package/dist/components/icons/document/document-folder-open-line/document-folder-open-line.component.js.map +1 -1
  216. package/dist/components/icons/editor/editor-separator/editor-separator.component.js +10 -13
  217. package/dist/components/icons/editor/editor-separator/editor-separator.component.js.map +1 -1
  218. package/dist/components/icons/health/health-heart-fill/health-heart-fill.component.js +8 -11
  219. package/dist/components/icons/health/health-heart-fill/health-heart-fill.component.js.map +1 -1
  220. package/dist/components/icons/health/health-heart-line/health-heart-line.component.js +10 -13
  221. package/dist/components/icons/health/health-heart-line/health-heart-line.component.js.map +1 -1
  222. package/dist/components/icons/others/others-cookie-line/others-cookie-line.component.js +6 -9
  223. package/dist/components/icons/others/others-cookie-line/others-cookie-line.component.js.map +1 -1
  224. package/dist/components/icons/system/system-add-line/system-add-line.component.js +11 -14
  225. package/dist/components/icons/system/system-add-line/system-add-line.component.js.map +1 -1
  226. package/dist/components/icons/system/system-alert-fill/system-alert-fill.component.js +9 -12
  227. package/dist/components/icons/system/system-alert-fill/system-alert-fill.component.js.map +1 -1
  228. package/dist/components/icons/system/system-alert-line/system-alert-line.component.js +11 -14
  229. package/dist/components/icons/system/system-alert-line/system-alert-line.component.js.map +1 -1
  230. package/dist/components/icons/system/system-check-line/system-check-line.component.js +9 -12
  231. package/dist/components/icons/system/system-check-line/system-check-line.component.js.map +1 -1
  232. package/dist/components/icons/system/system-check-line2/system-check-line2.component.js +11 -14
  233. package/dist/components/icons/system/system-check-line2/system-check-line2.component.js.map +1 -1
  234. package/dist/components/icons/system/system-checkbox-blank-circle-fill/system-checkbox-blank-circle-fill.component.js +9 -12
  235. package/dist/components/icons/system/system-checkbox-blank-circle-fill/system-checkbox-blank-circle-fill.component.js.map +1 -1
  236. package/dist/components/icons/system/system-checkbox-blank-circle-fill-check/system-checkbox-blank-circle-fill-check.component.js +12 -15
  237. package/dist/components/icons/system/system-checkbox-blank-circle-fill-check/system-checkbox-blank-circle-fill-check.component.js.map +1 -1
  238. package/dist/components/icons/system/system-checkbox-blank-circle-line/system-checkbox-blank-circle-line.component.js +13 -16
  239. package/dist/components/icons/system/system-checkbox-blank-circle-line/system-checkbox-blank-circle-line.component.js.map +1 -1
  240. package/dist/components/icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component.js +11 -14
  241. package/dist/components/icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component.js.map +1 -1
  242. package/dist/components/icons/system/system-checkbox-circle-line/system-checkbox-circle-line.component.js +11 -14
  243. package/dist/components/icons/system/system-checkbox-circle-line/system-checkbox-circle-line.component.js.map +1 -1
  244. package/dist/components/icons/system/system-close-circle-fill/system-close-circle-fill.component.js +11 -14
  245. package/dist/components/icons/system/system-close-circle-fill/system-close-circle-fill.component.js.map +1 -1
  246. package/dist/components/icons/system/system-close-circle-line/system-close-circle-line.component.js +7 -10
  247. package/dist/components/icons/system/system-close-circle-line/system-close-circle-line.component.js.map +1 -1
  248. package/dist/components/icons/system/system-close-fill/system-close-fill.component.js +11 -14
  249. package/dist/components/icons/system/system-close-fill/system-close-fill.component.js.map +1 -1
  250. package/dist/components/icons/system/system-close-line/system-close-line.component.js +11 -14
  251. package/dist/components/icons/system/system-close-line/system-close-line.component.js.map +1 -1
  252. package/dist/components/icons/system/system-delete-bin-fill/system-delete-bin-fill.component.js +7 -10
  253. package/dist/components/icons/system/system-delete-bin-fill/system-delete-bin-fill.component.js.map +1 -1
  254. package/dist/components/icons/system/system-delete-bin-line/system-delete-bin-line.component.js +9 -12
  255. package/dist/components/icons/system/system-delete-bin-line/system-delete-bin-line.component.js.map +1 -1
  256. package/dist/components/icons/system/system-download-line/system-download-line.component.js +9 -12
  257. package/dist/components/icons/system/system-download-line/system-download-line.component.js.map +1 -1
  258. package/dist/components/icons/system/system-error-warning-fill/system-error-warning-fill.component.js +7 -10
  259. package/dist/components/icons/system/system-error-warning-fill/system-error-warning-fill.component.js.map +1 -1
  260. package/dist/components/icons/system/system-error-warning-line/system-error-warning-line.component.js +11 -14
  261. package/dist/components/icons/system/system-error-warning-line/system-error-warning-line.component.js.map +1 -1
  262. package/dist/components/icons/system/system-external-link-line/system-external-link-line.component.js +9 -12
  263. package/dist/components/icons/system/system-external-link-line/system-external-link-line.component.js.map +1 -1
  264. package/dist/components/icons/system/system-eye-line/system-eye-line.component.js +11 -14
  265. package/dist/components/icons/system/system-eye-line/system-eye-line.component.js.map +1 -1
  266. package/dist/components/icons/system/system-eye-off-line/system-eye-off-line.component.js +6 -9
  267. package/dist/components/icons/system/system-eye-off-line/system-eye-off-line.component.js.map +1 -1
  268. package/dist/components/icons/system/system-forbid-fill/system-forbid-fill.component.js +9 -12
  269. package/dist/components/icons/system/system-forbid-fill/system-forbid-fill.component.js.map +1 -1
  270. package/dist/components/icons/system/system-information-2-fill/system-information-2-fill.component.js +9 -12
  271. package/dist/components/icons/system/system-information-2-fill/system-information-2-fill.component.js.map +1 -1
  272. package/dist/components/icons/system/system-information-fill/system-information-fill.component.js +9 -12
  273. package/dist/components/icons/system/system-information-fill/system-information-fill.component.js.map +1 -1
  274. package/dist/components/icons/system/system-information-line/system-information-line.component.js +9 -12
  275. package/dist/components/icons/system/system-information-line/system-information-line.component.js.map +1 -1
  276. package/dist/components/icons/system/system-lightbulb-fill/system-lightbulb-fill.component.js +9 -12
  277. package/dist/components/icons/system/system-lightbulb-fill/system-lightbulb-fill.component.js.map +1 -1
  278. package/dist/components/icons/system/system-loading-spinner/system-loading-spinner.component.js +9 -12
  279. package/dist/components/icons/system/system-loading-spinner/system-loading-spinner.component.js.map +1 -1
  280. package/dist/components/icons/system/system-lock-fill/system-lock-fill.component.js +13 -16
  281. package/dist/components/icons/system/system-lock-fill/system-lock-fill.component.js.map +1 -1
  282. package/dist/components/icons/system/system-lock-line/system-lock-line.component.js +10 -13
  283. package/dist/components/icons/system/system-lock-line/system-lock-line.component.js.map +1 -1
  284. package/dist/components/icons/system/system-menu-line/system-menu-line.component.js +9 -12
  285. package/dist/components/icons/system/system-menu-line/system-menu-line.component.js.map +1 -1
  286. package/dist/components/icons/system/system-menu-line-s/system-menu-line-s.component.js +9 -12
  287. package/dist/components/icons/system/system-menu-line-s/system-menu-line-s.component.js.map +1 -1
  288. package/dist/components/icons/system/system-more-2-line/system-more-2-line.component.js +10 -13
  289. package/dist/components/icons/system/system-more-2-line/system-more-2-line.component.js.map +1 -1
  290. package/dist/components/icons/system/system-more-line/system-more-line.component.js +16 -19
  291. package/dist/components/icons/system/system-more-line/system-more-line.component.js.map +1 -1
  292. package/dist/components/icons/system/system-search-line/system-search-line.component.js +11 -14
  293. package/dist/components/icons/system/system-search-line/system-search-line.component.js.map +1 -1
  294. package/dist/components/icons/system/system-share-line/system-share-line.component.js +9 -12
  295. package/dist/components/icons/system/system-share-line/system-share-line.component.js.map +1 -1
  296. package/dist/components/icons/system/system-shield-check-fill/system-shield-check-fill.component.js +8 -11
  297. package/dist/components/icons/system/system-shield-check-fill/system-shield-check-fill.component.js.map +1 -1
  298. package/dist/components/icons/system/system-shield-check-line/system-shield-check-line.component.js +6 -9
  299. package/dist/components/icons/system/system-shield-check-line/system-shield-check-line.component.js.map +1 -1
  300. package/dist/components/icons/system/system-star-fill/system-star-fill.component.js +13 -16
  301. package/dist/components/icons/system/system-star-fill/system-star-fill.component.js.map +1 -1
  302. package/dist/components/icons/system/system-subtract-line/system-subtract-line.component.js +11 -14
  303. package/dist/components/icons/system/system-subtract-line/system-subtract-line.component.js.map +1 -1
  304. package/dist/components/icons/system/system-subtract-line2/system-subtract-line2.component.js +7 -10
  305. package/dist/components/icons/system/system-subtract-line2/system-subtract-line2.component.js.map +1 -1
  306. package/dist/components/icons/system/system-time-fill/system-time-fill.component.js +11 -14
  307. package/dist/components/icons/system/system-time-fill/system-time-fill.component.js.map +1 -1
  308. package/dist/components/icons/system/system-time-line/system-time-line.component.js +11 -14
  309. package/dist/components/icons/system/system-time-line/system-time-line.component.js.map +1 -1
  310. package/dist/components/icons/system/system-upload-2-fill/system-upload-2-fill.component.js +5 -8
  311. package/dist/components/icons/system/system-upload-2-fill/system-upload-2-fill.component.js.map +1 -1
  312. package/dist/components/icons/system/system-upload-2-line/system-upload-2-line.component.js +7 -10
  313. package/dist/components/icons/system/system-upload-2-line/system-upload-2-line.component.js.map +1 -1
  314. package/dist/components/icons/system/system-upload-line/system-upload-line.component.js +9 -12
  315. package/dist/components/icons/system/system-upload-line/system-upload-line.component.js.map +1 -1
  316. package/dist/components/icons/system/system-zoom-in-line/system-zoom-in-line.component.js +9 -12
  317. package/dist/components/icons/system/system-zoom-in-line/system-zoom-in-line.component.js.map +1 -1
  318. package/dist/components/icons/system/system-zoom-out-line/system-zoom-out-line.component.js +11 -14
  319. package/dist/components/icons/system/system-zoom-out-line/system-zoom-out-line.component.js.map +1 -1
  320. package/dist/components/icons/user/user-account-circle-fill/user-account-circle-fill.component.js +16 -19
  321. package/dist/components/icons/user/user-account-circle-fill/user-account-circle-fill.component.js.map +1 -1
  322. package/dist/components/icons/user/user-account-circle-line/user-account-circle-line.component.js +13 -16
  323. package/dist/components/icons/user/user-account-circle-line/user-account-circle-line.component.js.map +1 -1
  324. package/dist/components/icons/user/user-user-fill/user-user-fill.component.js +8 -11
  325. package/dist/components/icons/user/user-user-fill/user-user-fill.component.js.map +1 -1
  326. package/dist/components/icons/user/user-user-line/user-user-line.component.js +11 -14
  327. package/dist/components/icons/user/user-user-line/user-user-line.component.js.map +1 -1
  328. package/dist/components/image-zoom/image-zoom.component.js +12 -17
  329. package/dist/components/image-zoom/image-zoom.component.js.map +1 -1
  330. package/dist/components/input/_styles/input.scss.js +1 -1
  331. package/dist/components/input/input-base-element.js +41 -47
  332. package/dist/components/input/input-base-element.js.map +1 -1
  333. package/dist/components/label/_styles/label.scss.js +1 -1
  334. package/dist/components/label/label.component.js +8 -11
  335. package/dist/components/label/label.component.js.map +1 -1
  336. package/dist/components/link/link.component.js +23 -27
  337. package/dist/components/link/link.component.js.map +1 -1
  338. package/dist/components/list-item/list-item.component.d.ts +2 -0
  339. package/dist/components/list-item/list-item.component.js +24 -29
  340. package/dist/components/list-item/list-item.component.js.map +1 -1
  341. package/dist/components/modal/modal-base-element.js +36 -42
  342. package/dist/components/modal/modal-base-element.js.map +1 -1
  343. package/dist/components/navigation-menu/navigation-menu-item.component.d.ts +9 -1
  344. package/dist/components/navigation-menu/navigation-menu-item.component.js +36 -31
  345. package/dist/components/navigation-menu/navigation-menu-item.component.js.map +1 -1
  346. package/dist/components/navigation-menu/navigation-menu.component.js +20 -24
  347. package/dist/components/navigation-menu/navigation-menu.component.js.map +1 -1
  348. package/dist/components/notification-badge/notification-badge.component.js +28 -32
  349. package/dist/components/notification-badge/notification-badge.component.js.map +1 -1
  350. package/dist/components/number-input/number-input.component.d.ts +7 -0
  351. package/dist/components/number-input/number-input.component.js +23 -29
  352. package/dist/components/number-input/number-input.component.js.map +1 -1
  353. package/dist/components/official-website-banner/official-website-banner.component.d.ts +1 -0
  354. package/dist/components/official-website-banner/official-website-banner.component.js +19 -24
  355. package/dist/components/official-website-banner/official-website-banner.component.js.map +1 -1
  356. package/dist/components/option-group/option-group.component.js +17 -20
  357. package/dist/components/option-group/option-group.component.js.map +1 -1
  358. package/dist/components/option-item/option-item.component.d.ts +10 -0
  359. package/dist/components/option-item/option-item.component.js +66 -60
  360. package/dist/components/option-item/option-item.component.js.map +1 -1
  361. package/dist/components/option-item/option-item.scss.js +1 -1
  362. package/dist/components/option-list/__test__/listbox-harness.d.ts +129 -0
  363. package/dist/components/option-list/listbox-state.d.ts +230 -0
  364. package/dist/components/option-list/listbox-state.js +312 -0
  365. package/dist/components/option-list/listbox-state.js.map +1 -0
  366. package/dist/components/option-list/option-data.d.ts +35 -0
  367. package/dist/components/option-list/option-data.js +34 -0
  368. package/dist/components/option-list/option-data.js.map +1 -0
  369. package/dist/components/option-list/option-list.component.d.ts +66 -14
  370. package/dist/components/option-list/option-list.component.js +381 -294
  371. package/dist/components/option-list/option-list.component.js.map +1 -1
  372. package/dist/components/overlay/overlay.component.js +10 -13
  373. package/dist/components/overlay/overlay.component.js.map +1 -1
  374. package/dist/components/pager/pager.component.js +31 -37
  375. package/dist/components/pager/pager.component.js.map +1 -1
  376. package/dist/components/password-input/password-input.component.d.ts +12 -5
  377. package/dist/components/password-input/password-input.component.js +24 -30
  378. package/dist/components/password-input/password-input.component.js.map +1 -1
  379. package/dist/components/popup/popup-base-element.js +21 -25
  380. package/dist/components/popup/popup-base-element.js.map +1 -1
  381. package/dist/components/progress/progress.component.js +17 -21
  382. package/dist/components/progress/progress.component.js.map +1 -1
  383. package/dist/components/radio-button/_styles/radio-button.scss.js +1 -1
  384. package/dist/components/radio-button/radio-button.component.d.ts +5 -0
  385. package/dist/components/radio-button/radio-button.component.js +58 -62
  386. package/dist/components/radio-button/radio-button.component.js.map +1 -1
  387. package/dist/components/rating/_styles/rating.scss.js +2 -2
  388. package/dist/components/rating/rating.component.js +37 -41
  389. package/dist/components/rating/rating.component.js.map +1 -1
  390. package/dist/components/scroll-area/scroll-area.component.d.ts +2 -1
  391. package/dist/components/scroll-area/scroll-area.component.js +25 -28
  392. package/dist/components/scroll-area/scroll-area.component.js.map +1 -1
  393. package/dist/components/scroll-progress/scroll-progress.component.js +13 -17
  394. package/dist/components/scroll-progress/scroll-progress.component.js.map +1 -1
  395. package/dist/components/search/search.component.d.ts +6 -1
  396. package/dist/components/search/search.component.js.map +1 -1
  397. package/dist/components/select/select.component.d.ts +47 -0
  398. package/dist/components/select/select.component.js +268 -157
  399. package/dist/components/select/select.component.js.map +1 -1
  400. package/dist/components/select/select.scss.js +1 -1
  401. package/dist/components/sidenav/sidenav-group.component.d.ts +1 -0
  402. package/dist/components/sidenav/sidenav-group.component.js +11 -14
  403. package/dist/components/sidenav/sidenav-group.component.js.map +1 -1
  404. package/dist/components/sidenav/sidenav-item.component.js +20 -23
  405. package/dist/components/sidenav/sidenav-item.component.js.map +1 -1
  406. package/dist/components/sidenav/sidenav.component.js +17 -20
  407. package/dist/components/sidenav/sidenav.component.js.map +1 -1
  408. package/dist/components/skeleton/skeleton.component.js +9 -12
  409. package/dist/components/skeleton/skeleton.component.js.map +1 -1
  410. package/dist/components/skip-link/skip-link.component.js +13 -16
  411. package/dist/components/skip-link/skip-link.component.js.map +1 -1
  412. package/dist/components/snackbar/snackbar-message.component.d.ts +3 -1
  413. package/dist/components/snackbar/snackbar-message.component.js +39 -44
  414. package/dist/components/snackbar/snackbar-message.component.js.map +1 -1
  415. package/dist/components/snackbar/snackbar.component.d.ts +0 -1
  416. package/dist/components/snackbar/snackbar.component.js +36 -42
  417. package/dist/components/snackbar/snackbar.component.js.map +1 -1
  418. package/dist/components/spinner/spinner.component.js +33 -38
  419. package/dist/components/spinner/spinner.component.js.map +1 -1
  420. package/dist/components/stack/stack.component.d.ts +2 -1
  421. package/dist/components/stack/stack.component.js +16 -19
  422. package/dist/components/stack/stack.component.js.map +1 -1
  423. package/dist/components/switch/switch.component.d.ts +6 -0
  424. package/dist/components/switch/switch.component.js +48 -51
  425. package/dist/components/switch/switch.component.js.map +1 -1
  426. package/dist/components/switch/switch.scss.js +1 -1
  427. package/dist/components/tab/tab-group.component.d.ts +8 -3
  428. package/dist/components/tab/tab-group.component.js +43 -33
  429. package/dist/components/tab/tab-group.component.js.map +1 -1
  430. package/dist/components/tab/tab.component.js +22 -25
  431. package/dist/components/tab/tab.component.js.map +1 -1
  432. package/dist/components/table/table-cell.component.d.ts +1 -1
  433. package/dist/components/table/table-cell.component.js +16 -19
  434. package/dist/components/table/table-cell.component.js.map +1 -1
  435. package/dist/components/table/table-header.component.js +21 -24
  436. package/dist/components/table/table-header.component.js.map +1 -1
  437. package/dist/components/table/table-row.component.js +15 -18
  438. package/dist/components/table/table-row.component.js.map +1 -1
  439. package/dist/components/table/table.component.d.ts +2 -0
  440. package/dist/components/table/table.component.js +18 -22
  441. package/dist/components/table/table.component.js.map +1 -1
  442. package/dist/components/textarea/textarea.component.d.ts +2 -0
  443. package/dist/components/textarea/textarea.component.js +42 -46
  444. package/dist/components/textarea/textarea.component.js.map +1 -1
  445. package/dist/components/textarea/textarea.scss.js +1 -1
  446. package/dist/components/timeline/timeline-item.component.js +7 -10
  447. package/dist/components/timeline/timeline-item.component.js.map +1 -1
  448. package/dist/components/timeline/timeline.component.js +5 -8
  449. package/dist/components/timeline/timeline.component.js.map +1 -1
  450. package/dist/components/timepicker/time-grid.component.d.ts +3 -0
  451. package/dist/components/timepicker/time-grid.component.js +12 -15
  452. package/dist/components/timepicker/time-grid.component.js.map +1 -1
  453. package/dist/components/timepicker/timepicker.component.d.ts +5 -0
  454. package/dist/components/timepicker/timepicker.component.js +90 -95
  455. package/dist/components/timepicker/timepicker.component.js.map +1 -1
  456. package/dist/components/timepicker/timepicker.scss.js +1 -1
  457. package/dist/components/toc/toc.component.d.ts +2 -0
  458. package/dist/components/toc/toc.component.js +58 -61
  459. package/dist/components/toc/toc.component.js.map +1 -1
  460. package/dist/components/toggle-button/toggle-button.component.js +9 -12
  461. package/dist/components/toggle-button/toggle-button.component.js.map +1 -1
  462. package/dist/components/tooltip/tooltip.component.d.ts +2 -0
  463. package/dist/components/tooltip/tooltip.component.js +16 -18
  464. package/dist/components/tooltip/tooltip.component.js.map +1 -1
  465. package/dist/components/tray/tray.component.d.ts +4 -1
  466. package/dist/components/tray/tray.component.js +13 -16
  467. package/dist/components/tray/tray.component.js.map +1 -1
  468. package/dist/components/typography/typography.component.js +38 -41
  469. package/dist/components/typography/typography.component.js.map +1 -1
  470. package/dist/components.d.ts +3 -0
  471. package/dist/components.js +204 -195
  472. package/dist/components.js.map +1 -1
  473. package/dist/components.native.css +5 -2
  474. package/dist/components.native.css.map +1 -1
  475. package/dist/dap-design-system.d.ts +3 -0
  476. package/dist/dds-preupgrade.css +57 -0
  477. package/dist/dds.js +383 -374
  478. package/dist/dds.js.map +1 -1
  479. package/dist/internal/dds-hu-element.d.ts +8 -0
  480. package/dist/internal/dds-hu-element.js +40 -41
  481. package/dist/internal/dds-hu-element.js.map +1 -1
  482. package/dist/internal/mixin/choiceElementMixin.js +7 -7
  483. package/dist/internal/mixin/feedbackMixin.js +13 -15
  484. package/dist/internal/mixin/feedbackMixin.js.map +1 -1
  485. package/dist/internal/mixin/focusableMixin.js +6 -6
  486. package/dist/internal/mixin/formElementMixin.js +1 -1
  487. package/dist/internal/mixin/labelPositionedMixin.js +1 -1
  488. package/dist/internal/mixin/labelableMixin.d.ts +1 -1
  489. package/dist/internal/mixin/labelableMixin.js +61 -63
  490. package/dist/internal/mixin/labelableMixin.js.map +1 -1
  491. package/dist/internal/mixin/sizedMixin.js +29 -27
  492. package/dist/internal/mixin/sizedMixin.js.map +1 -1
  493. package/dist/internal/templates/formLabel.d.ts +41 -0
  494. package/dist/internal/templates/formLabel.js +47 -0
  495. package/dist/internal/templates/formLabel.js.map +1 -0
  496. package/dist/localization/localization.d.ts +1 -2
  497. package/dist/localization/localization.js +77 -76
  498. package/dist/localization/localization.js.map +1 -1
  499. package/dist/localization/localize-controller.d.ts +12 -0
  500. package/dist/localization/localize-controller.js +51 -0
  501. package/dist/localization/localize-controller.js.map +1 -0
  502. package/dist/manifest/types/vue/index.d.ts +527 -312
  503. package/dist/manifest/vscode.html-custom-data.json +333 -279
  504. package/dist/manifest/web-types.json +723 -619
  505. package/dist/react/dap-ds-accordion/index.d.ts +1 -0
  506. package/dist/react/dap-ds-accordion/index.js.map +1 -1
  507. package/dist/react/dap-ds-anchor-heading/index.d.ts +1 -0
  508. package/dist/react/dap-ds-anchor-heading/index.js.map +1 -1
  509. package/dist/react/dap-ds-banner/index.d.ts +1 -1
  510. package/dist/react/dap-ds-banner/index.js.map +1 -1
  511. package/dist/react/dap-ds-breadcrumb/index.d.ts +1 -1
  512. package/dist/react/dap-ds-breadcrumb/index.js.map +1 -1
  513. package/dist/react/dap-ds-button-group/index.d.ts +45 -0
  514. package/dist/react/dap-ds-button-group/index.js +15 -0
  515. package/dist/react/dap-ds-button-group/index.js.map +1 -0
  516. package/dist/react/dap-ds-button-group-separator/index.d.ts +24 -0
  517. package/dist/react/dap-ds-button-group-separator/index.js +15 -0
  518. package/dist/react/dap-ds-button-group-separator/index.js.map +1 -0
  519. package/dist/react/dap-ds-button-group-text/index.d.ts +30 -0
  520. package/dist/react/dap-ds-button-group-text/index.js +15 -0
  521. package/dist/react/dap-ds-button-group-text/index.js.map +1 -0
  522. package/dist/react/dap-ds-calendar/index.d.ts +3 -0
  523. package/dist/react/dap-ds-calendar/index.js.map +1 -1
  524. package/dist/react/dap-ds-callout/index.d.ts +1 -0
  525. package/dist/react/dap-ds-callout/index.js.map +1 -1
  526. package/dist/react/dap-ds-card/index.d.ts +1 -0
  527. package/dist/react/dap-ds-card/index.js.map +1 -1
  528. package/dist/react/dap-ds-checkbox/index.d.ts +7 -1
  529. package/dist/react/dap-ds-checkbox/index.js.map +1 -1
  530. package/dist/react/dap-ds-chip/index.d.ts +1 -0
  531. package/dist/react/dap-ds-chip/index.js.map +1 -1
  532. package/dist/react/dap-ds-code-puncher/index.d.ts +4 -0
  533. package/dist/react/dap-ds-code-puncher/index.js.map +1 -1
  534. package/dist/react/dap-ds-combobox/index.d.ts +9 -1
  535. package/dist/react/dap-ds-combobox/index.js.map +1 -1
  536. package/dist/react/dap-ds-command/index.d.ts +3 -0
  537. package/dist/react/dap-ds-command/index.js.map +1 -1
  538. package/dist/react/dap-ds-copybox-input/index.d.ts +11 -0
  539. package/dist/react/dap-ds-copybox-input/index.js.map +1 -1
  540. package/dist/react/dap-ds-datatable/index.d.ts +17 -0
  541. package/dist/react/dap-ds-datatable/index.js.map +1 -1
  542. package/dist/react/dap-ds-datepicker/index.d.ts +8 -0
  543. package/dist/react/dap-ds-datepicker/index.js.map +1 -1
  544. package/dist/react/dap-ds-file-input/index.d.ts +3 -0
  545. package/dist/react/dap-ds-file-input/index.js.map +1 -1
  546. package/dist/react/dap-ds-file-input-list-item/index.d.ts +1 -0
  547. package/dist/react/dap-ds-file-input-list-item/index.js.map +1 -1
  548. package/dist/react/dap-ds-form-label/index.d.ts +1 -1
  549. package/dist/react/dap-ds-form-label/index.js.map +1 -1
  550. package/dist/react/dap-ds-icon-button/index.d.ts +1 -0
  551. package/dist/react/dap-ds-icon-button/index.js.map +1 -1
  552. package/dist/react/dap-ds-input-group/index.d.ts +4 -0
  553. package/dist/react/dap-ds-input-group/index.js.map +1 -1
  554. package/dist/react/dap-ds-list-item/index.d.ts +2 -0
  555. package/dist/react/dap-ds-list-item/index.js.map +1 -1
  556. package/dist/react/dap-ds-number-input/index.d.ts +7 -0
  557. package/dist/react/dap-ds-number-input/index.js.map +1 -1
  558. package/dist/react/dap-ds-official-website-banner/index.d.ts +1 -0
  559. package/dist/react/dap-ds-official-website-banner/index.js.map +1 -1
  560. package/dist/react/dap-ds-option-item/index.d.ts +1 -0
  561. package/dist/react/dap-ds-option-item/index.js.map +1 -1
  562. package/dist/react/dap-ds-option-list/index.d.ts +1 -1
  563. package/dist/react/dap-ds-option-list/index.js.map +1 -1
  564. package/dist/react/dap-ds-password-input/index.d.ts +12 -5
  565. package/dist/react/dap-ds-password-input/index.js.map +1 -1
  566. package/dist/react/dap-ds-radio-button/index.d.ts +5 -0
  567. package/dist/react/dap-ds-radio-button/index.js.map +1 -1
  568. package/dist/react/dap-ds-radio-group/index.d.ts +5 -0
  569. package/dist/react/dap-ds-radio-group/index.js.map +1 -1
  570. package/dist/react/dap-ds-scroll-area/index.d.ts +2 -1
  571. package/dist/react/dap-ds-scroll-area/index.js.map +1 -1
  572. package/dist/react/dap-ds-search/index.d.ts +6 -1
  573. package/dist/react/dap-ds-search/index.js.map +1 -1
  574. package/dist/react/dap-ds-select/index.d.ts +6 -0
  575. package/dist/react/dap-ds-select/index.js.map +1 -1
  576. package/dist/react/dap-ds-sidenav-group/index.d.ts +1 -0
  577. package/dist/react/dap-ds-sidenav-group/index.js.map +1 -1
  578. package/dist/react/dap-ds-snackbar/index.d.ts +0 -1
  579. package/dist/react/dap-ds-snackbar/index.js.map +1 -1
  580. package/dist/react/dap-ds-snackbar-message/index.d.ts +3 -1
  581. package/dist/react/dap-ds-snackbar-message/index.js.map +1 -1
  582. package/dist/react/dap-ds-stack/index.d.ts +2 -1
  583. package/dist/react/dap-ds-stack/index.js.map +1 -1
  584. package/dist/react/dap-ds-switch/index.d.ts +6 -0
  585. package/dist/react/dap-ds-switch/index.js.map +1 -1
  586. package/dist/react/dap-ds-tab-group/index.d.ts +4 -2
  587. package/dist/react/dap-ds-tab-group/index.js.map +1 -1
  588. package/dist/react/dap-ds-table/index.d.ts +2 -0
  589. package/dist/react/dap-ds-table/index.js.map +1 -1
  590. package/dist/react/dap-ds-table-cell/index.d.ts +1 -1
  591. package/dist/react/dap-ds-table-cell/index.js.map +1 -1
  592. package/dist/react/dap-ds-textarea/index.d.ts +2 -0
  593. package/dist/react/dap-ds-textarea/index.js.map +1 -1
  594. package/dist/react/dap-ds-time-grid/index.d.ts +3 -0
  595. package/dist/react/dap-ds-time-grid/index.js.map +1 -1
  596. package/dist/react/dap-ds-timepicker/index.d.ts +5 -0
  597. package/dist/react/dap-ds-timepicker/index.js.map +1 -1
  598. package/dist/react/dap-ds-toc/index.d.ts +2 -0
  599. package/dist/react/dap-ds-toc/index.js.map +1 -1
  600. package/dist/react/dap-ds-tooltip/index.d.ts +2 -0
  601. package/dist/react/dap-ds-tooltip/index.js.map +1 -1
  602. package/dist/react/dap-ds-tray/index.d.ts +4 -1
  603. package/dist/react/dap-ds-tray/index.js.map +1 -1
  604. package/dist/react/index.d.ts +11 -8
  605. package/dist/react-types.ts +11 -8
  606. package/dist/react.js +366 -360
  607. package/dist/react.js.map +1 -1
  608. package/package.json +14 -3
  609. package/dist/node_modules/@lit/context/lib/context-request-event.js +0 -14
  610. package/dist/node_modules/@lit/context/lib/context-request-event.js.map +0 -1
  611. package/dist/node_modules/@lit/context/lib/controllers/context-consumer.js +0 -31
  612. package/dist/node_modules/@lit/context/lib/controllers/context-consumer.js.map +0 -1
  613. package/dist/node_modules/@lit/context/lib/controllers/context-provider.js +0 -40
  614. package/dist/node_modules/@lit/context/lib/controllers/context-provider.js.map +0 -1
  615. package/dist/node_modules/@lit/context/lib/create-context.js +0 -12
  616. package/dist/node_modules/@lit/context/lib/create-context.js.map +0 -1
  617. package/dist/node_modules/@lit/context/lib/value-notifier.js +0 -37
  618. package/dist/node_modules/@lit/context/lib/value-notifier.js.map +0 -1
  619. package/dist/node_modules/@lit/reactive-element/css-tag.js +0 -51
  620. package/dist/node_modules/@lit/reactive-element/css-tag.js.map +0 -1
  621. package/dist/node_modules/@lit/reactive-element/decorators/base.js +0 -10
  622. package/dist/node_modules/@lit/reactive-element/decorators/base.js.map +0 -1
  623. package/dist/node_modules/@lit/reactive-element/decorators/property.js +0 -38
  624. package/dist/node_modules/@lit/reactive-element/decorators/property.js.map +0 -1
  625. package/dist/node_modules/@lit/reactive-element/decorators/query-all.js +0 -17
  626. package/dist/node_modules/@lit/reactive-element/decorators/query-all.js.map +0 -1
  627. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js +0 -20
  628. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js.map +0 -1
  629. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js +0 -20
  630. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js.map +0 -1
  631. package/dist/node_modules/@lit/reactive-element/decorators/query.js +0 -21
  632. package/dist/node_modules/@lit/reactive-element/decorators/query.js.map +0 -1
  633. package/dist/node_modules/@lit/reactive-element/decorators/state.js +0 -25
  634. package/dist/node_modules/@lit/reactive-element/decorators/state.js.map +0 -1
  635. package/dist/node_modules/@lit/reactive-element/reactive-element.js +0 -276
  636. package/dist/node_modules/@lit/reactive-element/reactive-element.js.map +0 -1
  637. package/dist/node_modules/lit-element/lit-element.js +0 -53
  638. package/dist/node_modules/lit-element/lit-element.js.map +0 -1
  639. package/dist/node_modules/lit-html/async-directive.js +0 -71
  640. package/dist/node_modules/lit-html/async-directive.js.map +0 -1
  641. package/dist/node_modules/lit-html/directive-helpers.js +0 -46
  642. package/dist/node_modules/lit-html/directive-helpers.js.map +0 -1
  643. package/dist/node_modules/lit-html/directive.js +0 -28
  644. package/dist/node_modules/lit-html/directive.js.map +0 -1
  645. package/dist/node_modules/lit-html/directives/if-defined.js +0 -11
  646. package/dist/node_modules/lit-html/directives/if-defined.js.map +0 -1
  647. package/dist/node_modules/lit-html/directives/map.js +0 -15
  648. package/dist/node_modules/lit-html/directives/map.js.map +0 -1
  649. package/dist/node_modules/lit-html/directives/repeat.js +0 -63
  650. package/dist/node_modules/lit-html/directives/repeat.js.map +0 -1
  651. package/dist/node_modules/lit-html/directives/style-map.js +0 -37
  652. package/dist/node_modules/lit-html/directives/style-map.js.map +0 -1
  653. package/dist/node_modules/lit-html/lit-html.js +0 -249
  654. package/dist/node_modules/lit-html/lit-html.js.map +0 -1
  655. package/dist/node_modules/lit-html/static.js +0 -34
  656. package/dist/node_modules/lit-html/static.js.map +0 -1
  657. package/dist/node_modules/lit-i18n/src/lit-i18n.js +0 -95
  658. package/dist/node_modules/lit-i18n/src/lit-i18n.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"switch.component.js","sources":["../../../src/components/switch/switch.component.ts"],"sourcesContent":["import { clsx } from 'clsx'\nimport { unsafeCSS } from 'lit'\nimport { property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { html } from 'lit/static-html.js'\n\nimport { LabeledChoiceElement } from '@/internal/mixin/labeledChoiceElement'\n\nimport { CommonFormElementSize, CommonSize } from '../../common/types'\nimport DapDSFeedback from '../feedback/feedback.component'\nimport DapDSFormLabel from '../form/form-label/form-label.component'\nimport DapDSIcon from '../icon/icon.component'\nimport DapDSTypography from '../typography/typography.component'\nimport styles from './switch.scss?inline'\n\n/**\n * `dap-ds-switch`\n * @summary A switch is a graphical control element that allows the user to toggle between two states.\n * @element dap-ds-switch\n * @title - Switch\n *\n * @property {string} name - The name of the switch.\n * @property {string} value - The value of the switch.\n * @property {string} label - The label of the switch.\n * @property {boolean} hideLabel - Visually hides the label while keeping it available to assistive technology. (default: false)\n * @property {string} description - The description of the switch.\n * @property {boolean} checked - The checked state of the switch.\n * @property {'xs' | 'sm' | 'lg'} size - The size of the switch.\n * @property {boolean} disabled - The disabled state of the switch.\n * @property {boolean} readonly - Whether the switch is readonly (cannot be changed but value is submitted with form).\n * @property {boolean} required - The required state of the switch.\n * @property {'left' | 'right'} labelPlacement - The placement of the label.\n * @property {'top' | 'bottom'} descriptionPlacement - The placement of the description.\n * @property {boolean} subtle - The weight of the label.\n * @property {string} feedback - The feedback of the switch.\n * @property {'negative' | 'positive' | 'warning'} feedbackType - The feedback type of the switch.\n * @property {boolean} optional - The optional state of the switch.\n * @property {string} optionalLabel - The optional label of the switch.\n * @property {string} requiredLabel - The required indicator of the switch. (default: '*')\n *\n * @cssProperty --dds-switch-width - Width of the switch control (default: var(--dds-spacing-1000)\n * @cssProperty --dds-switch-height - Height of the switch control (default: var(--dds-spacing-600))\n * @cssProperty --dds-switch-thumb-width - Width of the switch thumb (default: var(--dds-spacing-500))\n * @cssProperty --dds-switch-thumb-height - Height of the switch thumb (default: var(--dds-spacing-500))\n * @cssProperty --dds-switch-thumb-margin - Margin around the switch thumb (default: 0.125rem)\n * @cssProperty --dds-switch-thumb-color - Color of the switch thumb (default: var(--dds-button-primary-icon-enabled))\n * @cssProperty --dds-switch-unchecked-bg - Background color of the switch when unchecked (default: var(--dds-background-neutral-base-inverted))\n * @cssProperty --dds-switch-checked-bg - Background color of the switch when checked (default: var(--dds-background-brand-base-inverted))\n * @cssProperty --dds-switch-invalid-bg - Background color of the switch when invalid (default: var(--dds-background-negative-base-inverted))\n * @cssProperty --dds-switch-disabled-bg - Background color of the switch when disabled (default: var(--dds-background-neutral-disabled))\n * @cssProperty --dds-switch-readonly-bg - Background color of the switch when readonly (default: var(--dds-background-neutral-disabled))\n * @cssProperty --dds-switch-wrapper-padding - Padding of the switch wrapper (default: var(--dds-spacing-400))\n * @cssProperty --dds-switch-wrapper-bg - Background color of the switch wrapper (default: var(--dds-background-neutral-subtle))\n * @cssProperty --dds-switch-border-color - Border color of the switch (default: var(--dds-border-neutral-subtle))\n * @cssProperty --dds-switch-high-contrast-border-color - Border color of the switch in high contrast mode (default: var(--dds-border-neutral-transparent-interactive, #fff500))\n *\n * @event {{ value: string }} dds-change - Fired when the input value changes.\n * @event {{ void }} dds-blur - Emitted when the input loses focus.\n * @event {{ void }} dds-focus - Emitted when the input gains focus.\n * @event {{ value: string }} dds-input - Emitted when the input receives input.\n *\n * @csspart base - The main switch container.\n * @csspart baselabel - The main label container\n * @csspart label - The label of the switch.\n * @csspart input - The native input of the switch.\n * @csspart control - The control of the switch.\n * @csspart description - The description of the switch.\n */\nexport default class DapDSSwitch extends LabeledChoiceElement {\n static tagName = 'dap-ds-switch'\n\n static dependencies = {\n 'dap-ds-icon': DapDSIcon,\n 'dap-ds-form-label': DapDSFormLabel,\n 'dap-ds-typography': DapDSTypography,\n 'dap-ds-feedback': DapDSFeedback,\n }\n\n private static nextId = 0\n\n private readonly inputId: string\n private readonly labelId: string\n private readonly descriptionId: string\n\n @query('.input') private readonly input!: HTMLInputElement\n\n /** This sets up border around the switch, when true. */\n @property({ type: Boolean }) border: boolean = false\n\n /** The type of the switch\n * @type {'normal' | 'background'}\n */\n @property({ type: String }) type: 'normal' | 'background' = 'normal'\n\n static readonly styles = unsafeCSS(styles)\n\n constructor() {\n super()\n DapDSSwitch.nextId++\n const uniqueSuffix =\n typeof crypto !== 'undefined' && crypto.randomUUID\n ? crypto.randomUUID().slice(0, 8)\n : Date.now().toString(36)\n this.inputId = `input-${DapDSSwitch.nextId}-${uniqueSuffix}`\n this.labelId = `label-${DapDSSwitch.nextId}-${uniqueSuffix}`\n this.descriptionId = `description-${DapDSSwitch.nextId}-${uniqueSuffix}`\n // Initialize the feedbackId from FeedbackMixin\n this.feedbackId = `feedback-${DapDSSwitch.nextId}-${uniqueSuffix}`\n }\n\n /**\n * Validates property combinations and logs warnings for invalid states.\n * @private\n */\n private validateProperties(): void {\n // Add any switch-specific validation here\n if (this.required && !this.checked) {\n // This will be handled by form validation, but we can provide early feedback\n }\n }\n\n /**\n * Gets the aria-describedby attribute value by combining description and feedback IDs.\n * @returns {string | undefined} Space-separated IDs or undefined if none exist\n * @private\n */\n private getAriaDescribedBy(): string | undefined {\n const ids: string[] = []\n\n if (this.description) {\n ids.push(this.descriptionId)\n }\n\n if (this.feedback) {\n ids.push(this.feedbackId!)\n }\n\n return ids.length > 0 ? ids.join(' ') : undefined\n }\n\n /**\n * Handles click events on the switch.\n * Manages the checked state transitions and emits change events.\n * @private\n */\n private readonly handleClick = (event?: Event): void => {\n // Early return if component is disabled or readonly\n if (this.disabled || this.readonly) {\n if (this.readonly && event) {\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n // Validate property combinations before state change\n this.validateProperties()\n\n // Toggle the checked state\n this.checked = !this.checked\n\n const { checked, value, disabled } = this\n\n // Emit change event with error handling\n try {\n const event = new CustomEvent('dds-change', {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {\n checked,\n value: value || '',\n disabled,\n readonly: this.readonly,\n },\n })\n\n this.dispatchEvent(event)\n } catch (error) {\n console.error('Error emitting switch change event:', error)\n }\n\n // Update validity state with error handling\n try {\n this.setValidity()\n } catch (error) {\n console.error('Error setting switch validity:', error)\n }\n }\n\n public get focusElement(): HTMLInputElement {\n if (!this.input) {\n throw new Error(\n 'Switch input element not found. Component may not be properly initialized.',\n )\n }\n return this.input\n }\n\n /**\n * Programmatically focuses the switch input element.\n * @public\n */\n public focus(): void {\n if (this.input && !this.disabled && !this.readonly) {\n this.input.focus()\n }\n }\n\n /**\n * Programmatically blurs the switch input element.\n * @public\n */\n public blur(): void {\n if (this.input) {\n this.input.blur()\n }\n }\n\n /**\n * Handles invalid events on the switch input.\n * Prevents the default browser validation UI from showing and manages invalid state.\n * @param {Event} event - The invalid event\n * @private\n */\n public handleInvalid(event: Event): void {\n event.preventDefault()\n // Set invalid state if not already set\n if (!this.invalid) {\n this.invalid = true\n }\n }\n\n /**\n * Handles keyboard events on the switch.\n * Provides enhanced keyboard navigation and accessibility.\n * @param {KeyboardEvent} event - The keyboard event\n * @private\n */\n private handleKeyDown(event: KeyboardEvent): void {\n // Early return if readonly\n if (this.readonly) {\n return\n }\n\n // Handle Space key to toggle switch (in addition to default behavior)\n if (event.code === 'Space') {\n // Allow default Space behavior for switch input\n // This ensures proper accessibility and form behavior\n return\n }\n\n // Handle Enter key to toggle switch (custom behavior)\n if (event.code === 'Enter') {\n event.preventDefault()\n this.handleClick()\n }\n }\n\n render() {\n return html`\n <div part=\"base\">\n <label\n part=\"baselabel\"\n class=${clsx('switch choice', `switch--${this.size}`, {\n 'switch--checked': this.checked,\n 'switch--disabled': this.disabled,\n 'switch--readonly': this.readonly,\n 'switch--required': this.required,\n 'choice--readonly': this.readonly,\n 'choice--disabled': this.disabled,\n 'choice__label--right': this.labelPlacement === 'right',\n 'choice__label--left': this.labelPlacement === 'left',\n })}>\n <div\n class=${clsx('input__wrapper', {\n 'input__wrapper--background': this.type === 'background',\n 'input__wrapper--border': this.border,\n })}>\n <input\n part=\"input\"\n type=\"checkbox\"\n class=\"input\"\n id=${this.inputId}\n role=\"switch\"\n .checked=${this.checked}\n .required=${this.required}\n .disabled=${this.disabled}\n .readonly=${this.readonly}\n aria-labelledby=${ifDefined(\n !this.ariaLabel && this.label ? this.labelId : undefined,\n )}\n aria-describedby=${!this.ariaLabel\n ? ifDefined(this.getAriaDescribedBy())\n : ''}\n aria-checked=${this.checked ? 'true' : 'false'}\n .aria-invalid=${this.invalid ? 'true' : null}\n @invalid=${this.handleInvalid}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n @focus=${this.onFocus}\n @blur=${this.onBlur}\n @input=${this.onInput} />\n <span\n part=\"control\"\n class=${clsx(\n 'input__control',\n { 'input__control--disabled': this.disabled },\n { 'input__control--readonly': this.readonly },\n { 'input__control--invalid': this.invalid },\n { 'input__control--checked': this.checked },\n )}>\n <span class=\"input__control-toggle\">\n <dap-ds-icon\n name=\"checkbox-blank-circle-fill\"\n class=\"input__control-toggle-thumb\"\n aria-hidden=\"true\"></dap-ds-icon\n ><dap-ds-icon\n name=\"checkbox-circle-fill\"\n class=${clsx(\n 'input__control-toggle-thumb',\n 'check-indicator',\n )}\n aria-hidden=\"true\"></dap-ds-icon>\n </span>\n <span\n part=\"high-contrast\"\n aria-hidden=\"true\"\n class=${clsx(\n 'input__control-high-contrast',\n `input__control-high-contrast--${this.size}`,\n {\n 'input__control-high-contrast--disabled': this.disabled,\n 'input__control-high-contrast--readonly': this.readonly,\n },\n )}></span>\n </span>\n <div\n part=\"label-container\"\n class=${clsx('choice__label-container', {\n 'choice__label-container--disabled': this.disabled,\n 'choice__label-container--readonly': this.readonly,\n 'choice__label--bottom': this.descriptionPlacement === 'top',\n 'choice__label--top': this.descriptionPlacement === 'bottom',\n })}>\n ${this.label &&\n html`<dap-ds-form-label\n id=${this.labelId}\n class=\"label\"\n part=\"label\"\n .size=${this.size}\n .required=${this.required}\n .requiredLabel=${this.requiredLabel}\n .optional=${this.optional}\n .optionalLabel=${this.optionalLabel}\n aria-hidden=\"true\"\n subtle\n .disabled=${this.disabled || this.readonly}\n .readonly=${this.readonly}\n .hideLabel=${this.hideLabel}\n label=${ifDefined(this.label)}\n renderAs=\"span\">\n </dap-ds-form-label>`}\n ${this.description &&\n html`\n <dap-ds-typography\n part=\"description\"\n class=\"description\"\n variant=\"description\"\n aria-hidden=\"true\"\n size=${ifDefined(this.size as CommonFormElementSize)}\n id=${this.descriptionId}>\n ${this.description}\n </dap-ds-typography>\n `}\n </div>\n </div>\n ${this.feedback &&\n html`\n <dap-ds-feedback\n part=\"feedback\"\n feedbackType=${ifDefined(this.feedbackType)}\n feedbackSize=${ifDefined(this.size) as CommonSize}\n id=\"feedback\"\n .subtle=${this.subtle}>\n ${this.feedback}\n </dap-ds-feedback>\n `}\n </label>\n </div>\n `\n }\n}\n"],"names":["_DapDSSwitch","_a","LabeledChoiceElement","event","checked","value","disabled","error","uniqueSuffix","ids","html","clsx","ifDefined","DapDSIcon","DapDSFormLabel","DapDSTypography","DapDSFeedback","unsafeCSS","styles","__decorateClass","query","property","DapDSSwitch"],"mappings":"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"}
1
+ {"version":3,"file":"switch.component.js","sources":["../../../src/components/switch/switch.component.ts"],"sourcesContent":["import { clsx } from 'clsx'\nimport { unsafeCSS } from 'lit'\nimport { property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { html } from 'lit/static-html.js'\n\nimport { LabeledChoiceElement } from '@/internal/mixin/labeledChoiceElement'\nimport { formLabelTemplate } from '@/internal/templates/formLabel'\n\nimport { CommonFormElementSize, CommonSize } from '../../common/types'\nimport DapDSFeedback from '../feedback/feedback.component'\nimport DapDSFormLabel from '../form/form-label/form-label.component'\nimport DapDSIcon from '../icon/icon.component'\nimport DapDSTypography from '../typography/typography.component'\nimport styles from './switch.scss?inline'\n\n/**\n * `dap-ds-switch`\n * @summary A switch is a graphical control element that allows the user to toggle between two states.\n * @element dap-ds-switch\n * @title - Switch\n *\n * @property {string} name - The name of the switch.\n * @property {string} value - The value of the switch.\n * @property {string} label - The label of the switch.\n * @property {boolean} hideLabel - Visually hides the label while keeping it available to assistive technology. (default: false)\n * @property {string} description - The description of the switch.\n * @property {boolean} checked - The checked state of the switch.\n * @property {'xs' | 'sm' | 'lg'} size - The size of the switch.\n * @property {boolean} disabled - The disabled state of the switch.\n * @property {boolean} readonly - Whether the switch is readonly (cannot be changed but value is submitted with form).\n * @property {boolean} required - The required state of the switch.\n * @property {'left' | 'right'} labelPlacement - The placement of the label.\n * @property {'top' | 'bottom'} descriptionPlacement - The placement of the description.\n * @property {boolean} subtle - The weight of the label.\n * @property {string} feedback - The feedback of the switch.\n * @property {'negative' | 'positive' | 'warning'} feedbackType - The feedback type of the switch.\n * @property {boolean} optional - The optional state of the switch.\n * @property {string} optionalLabel - The optional label of the switch.\n * @property {string} requiredLabel - The required indicator of the switch. (default: '*')\n *\n * @cssProperty --dds-switch-width - Width of the switch control (default: var(--dds-spacing-1000)\n * @cssProperty --dds-switch-height - Height of the switch control (default: var(--dds-spacing-600))\n * @cssProperty --dds-switch-thumb-width - Width of the switch thumb (default: var(--dds-spacing-500))\n * @cssProperty --dds-switch-thumb-height - Height of the switch thumb (default: var(--dds-spacing-500))\n * @cssProperty --dds-switch-thumb-margin - Margin around the switch thumb (default: 0.125rem)\n * @cssProperty --dds-switch-thumb-color - Color of the switch thumb (default: var(--dds-button-primary-icon-enabled))\n * @cssProperty --dds-switch-unchecked-bg - Background color of the switch when unchecked (default: var(--dds-background-neutral-base-inverted))\n * @cssProperty --dds-switch-checked-bg - Background color of the switch when checked (default: var(--dds-background-brand-base-inverted))\n * @cssProperty --dds-switch-invalid-bg - Background color of the switch when invalid (default: var(--dds-background-negative-base-inverted))\n * @cssProperty --dds-switch-disabled-bg - Background color of the switch when disabled (default: var(--dds-background-neutral-disabled))\n * @cssProperty --dds-switch-readonly-bg - Background color of the switch when readonly (default: var(--dds-background-neutral-disabled))\n * @cssProperty --dds-switch-wrapper-padding - Padding of the switch wrapper (default: var(--dds-spacing-400))\n * @cssProperty --dds-switch-wrapper-bg - Background color of the switch wrapper (default: var(--dds-background-neutral-subtle))\n * @cssProperty --dds-switch-border-color - Border color of the switch (default: var(--dds-border-neutral-subtle))\n * @cssProperty --dds-switch-high-contrast-border-color - Border color of the switch in high contrast mode (default: var(--dds-border-neutral-transparent-interactive, #fff500))\n *\n * @event {{ value: string }} dds-change - Fired when the input value changes.\n * @event {{ void }} dds-blur - Emitted when the input loses focus.\n * @event {{ void }} dds-focus - Emitted when the input gains focus.\n * @event {{ value: string }} dds-input - Emitted when the input receives input.\n *\n * @csspart base - The main switch container.\n * @csspart baselabel - The main label container\n * @csspart label - The label of the switch.\n * @csspart input - The native input of the switch.\n * @csspart control - The control of the switch.\n * @csspart description - The description of the switch.\n * @csspart label-container - The label container of the switch.\n * @csspart feedback - The feedback of the switch.\n * @csspart high-contrast - The high contrast indicator of the switch.\n * @csspart label-base - The base of the label.\n * @csspart label-required - The required indicator of the label.\n * @csspart label-optional - The optional indicator of the label.\n */\nexport default class DapDSSwitch extends LabeledChoiceElement {\n static tagName = 'dap-ds-switch'\n\n static dependencies = {\n 'dap-ds-icon': DapDSIcon,\n 'dap-ds-form-label': DapDSFormLabel,\n 'dap-ds-typography': DapDSTypography,\n 'dap-ds-feedback': DapDSFeedback,\n }\n\n private static nextId = 0\n\n private readonly inputId: string\n private readonly labelId: string\n private readonly descriptionId: string\n\n @query('.input') private readonly input!: HTMLInputElement\n\n /** This sets up border around the switch, when true. */\n @property({ type: Boolean }) border: boolean = false\n\n /** The type of the switch\n * @type {'normal' | 'background'}\n */\n @property({ type: String }) type: 'normal' | 'background' = 'normal'\n\n static readonly styles = unsafeCSS(styles)\n\n constructor() {\n super()\n DapDSSwitch.nextId++\n const uniqueSuffix =\n typeof crypto !== 'undefined' && crypto.randomUUID\n ? crypto.randomUUID().slice(0, 8)\n : Date.now().toString(36)\n this.inputId = `input-${DapDSSwitch.nextId}-${uniqueSuffix}`\n this.labelId = `label-${DapDSSwitch.nextId}-${uniqueSuffix}`\n this.descriptionId = `description-${DapDSSwitch.nextId}-${uniqueSuffix}`\n // Initialize the feedbackId from FeedbackMixin\n this.feedbackId = `feedback-${DapDSSwitch.nextId}-${uniqueSuffix}`\n }\n\n /**\n * Validates property combinations and logs warnings for invalid states.\n * @private\n */\n private validateProperties(): void {\n // Add any switch-specific validation here\n if (this.required && !this.checked) {\n // This will be handled by form validation, but we can provide early feedback\n }\n }\n\n /**\n * Gets the aria-describedby attribute value by combining description and feedback IDs.\n * @returns {string | undefined} Space-separated IDs or undefined if none exist\n * @private\n */\n private getAriaDescribedBy(): string | undefined {\n const ids: string[] = []\n\n if (this.description) {\n ids.push(this.descriptionId)\n }\n\n if (this.feedback) {\n ids.push(this.feedbackId!)\n }\n\n return ids.length > 0 ? ids.join(' ') : undefined\n }\n\n /**\n * Handles click events on the switch.\n * Manages the checked state transitions and emits change events.\n * @private\n */\n private readonly handleClick = (event?: Event): void => {\n // Early return if component is disabled or readonly\n if (this.disabled || this.readonly) {\n if (this.readonly && event) {\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n // Validate property combinations before state change\n this.validateProperties()\n\n // Toggle the checked state\n this.checked = !this.checked\n\n const { checked, value, disabled } = this\n\n // Emit change event with error handling\n try {\n const event = new CustomEvent('dds-change', {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {\n checked,\n value: value || '',\n disabled,\n readonly: this.readonly,\n },\n })\n\n this.dispatchEvent(event)\n } catch (error) {\n console.error('Error emitting switch change event:', error)\n }\n\n // Update validity state with error handling\n try {\n this.setValidity()\n } catch (error) {\n console.error('Error setting switch validity:', error)\n }\n }\n\n public get focusElement(): HTMLInputElement {\n if (!this.input) {\n throw new Error(\n 'Switch input element not found. Component may not be properly initialized.',\n )\n }\n return this.input\n }\n\n /**\n * Programmatically focuses the switch input element.\n * @public\n */\n public focus(): void {\n if (this.input && !this.disabled && !this.readonly) {\n this.input.focus()\n }\n }\n\n /**\n * Programmatically blurs the switch input element.\n * @public\n */\n public blur(): void {\n if (this.input) {\n this.input.blur()\n }\n }\n\n /**\n * Handles invalid events on the switch input.\n * Prevents the default browser validation UI from showing and manages invalid state.\n * @param {Event} event - The invalid event\n * @private\n */\n public handleInvalid(event: Event): void {\n event.preventDefault()\n // Set invalid state if not already set\n if (!this.invalid) {\n this.invalid = true\n }\n }\n\n /**\n * Handles keyboard events on the switch.\n * Provides enhanced keyboard navigation and accessibility.\n * @param {KeyboardEvent} event - The keyboard event\n * @private\n */\n private handleKeyDown(event: KeyboardEvent): void {\n // Early return if readonly\n if (this.readonly) {\n return\n }\n\n // Handle Space key to toggle switch (in addition to default behavior)\n if (event.code === 'Space') {\n // Allow default Space behavior for switch input\n // This ensures proper accessibility and form behavior\n return\n }\n\n // Handle Enter key to toggle switch (custom behavior)\n if (event.code === 'Enter') {\n event.preventDefault()\n this.handleClick()\n }\n }\n\n render() {\n return html`\n <div part=\"base\">\n <label\n part=\"baselabel\"\n class=${clsx('switch choice', `switch--${this.size}`, {\n 'switch--checked': this.checked,\n 'switch--disabled': this.disabled,\n 'switch--readonly': this.readonly,\n 'switch--required': this.required,\n 'choice--readonly': this.readonly,\n 'choice--disabled': this.disabled,\n 'choice__label--right': this.labelPlacement === 'right',\n 'choice__label--left': this.labelPlacement === 'left',\n })}>\n <div\n class=${clsx('input__wrapper', {\n 'input__wrapper--background': this.type === 'background',\n 'input__wrapper--border': this.border,\n })}>\n <input\n part=\"input\"\n type=\"checkbox\"\n class=\"input\"\n id=${this.inputId}\n role=\"switch\"\n .checked=${this.checked}\n .required=${this.required}\n .disabled=${this.disabled}\n .readonly=${this.readonly}\n aria-labelledby=${ifDefined(\n !this.ariaLabel && this.label ? this.labelId : undefined,\n )}\n aria-describedby=${!this.ariaLabel\n ? ifDefined(this.getAriaDescribedBy())\n : ''}\n aria-checked=${this.checked ? 'true' : 'false'}\n .aria-invalid=${this.invalid ? 'true' : null}\n @invalid=${this.handleInvalid}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n @focus=${this.onFocus}\n @blur=${this.onBlur}\n @input=${this.onInput} />\n <span\n part=\"control\"\n class=${clsx(\n 'input__control',\n { 'input__control--disabled': this.disabled },\n { 'input__control--readonly': this.readonly },\n { 'input__control--invalid': this.invalid },\n { 'input__control--checked': this.checked },\n )}>\n <span class=\"input__control-toggle\">\n <dap-ds-icon\n name=\"checkbox-blank-circle-fill\"\n class=\"input__control-toggle-thumb\"\n aria-hidden=\"true\"></dap-ds-icon\n ><dap-ds-icon\n name=\"checkbox-circle-fill\"\n class=${clsx(\n 'input__control-toggle-thumb',\n 'check-indicator',\n )}\n aria-hidden=\"true\"></dap-ds-icon>\n </span>\n <span\n part=\"high-contrast\"\n aria-hidden=\"true\"\n class=${clsx(\n 'input__control-high-contrast',\n `input__control-high-contrast--${this.size}`,\n {\n 'input__control-high-contrast--disabled': this.disabled,\n 'input__control-high-contrast--readonly': this.readonly,\n },\n )}></span>\n </span>\n <div\n part=\"label-container\"\n class=${clsx('choice__label-container', {\n 'choice__label-container--disabled': this.disabled,\n 'choice__label-container--readonly': this.readonly,\n 'choice__label--bottom': this.descriptionPlacement === 'top',\n 'choice__label--top': this.descriptionPlacement === 'bottom',\n })}>\n ${formLabelTemplate({\n label: this.label,\n id: this.labelId,\n size: this.size,\n required: this.required,\n requiredLabel: this.requiredLabel,\n optional: this.optional,\n optionalLabel: this.optionalLabel,\n disabled: this.disabled || this.readonly,\n hideLabel: this.hideLabel,\n subtle: true,\n // Rendered as a decorative <span> (not a <label>): checkbox/switch\n // already wrap the input in an outer <label>, and the accessible\n // name comes from the input's aria-labelledby=${labelId}.\n as: 'span',\n ariaHidden: true,\n })}\n ${this.description &&\n html`\n <dap-ds-typography\n part=\"description\"\n class=\"description\"\n variant=\"description\"\n aria-hidden=\"true\"\n size=${ifDefined(this.size as CommonFormElementSize)}\n id=${this.descriptionId}>\n ${this.description}\n </dap-ds-typography>\n `}\n </div>\n </div>\n ${this.feedback &&\n html`\n <dap-ds-feedback\n part=\"feedback\"\n feedbackType=${ifDefined(this.feedbackType)}\n feedbackSize=${ifDefined(this.size) as CommonSize}\n id=\"feedback\"\n .subtle=${this.subtle}>\n ${this.feedback}\n </dap-ds-feedback>\n `}\n </label>\n </div>\n `\n }\n}\n"],"names":["_DapDSSwitch","_a","LabeledChoiceElement","event","checked","value","disabled","error","uniqueSuffix","ids","html","clsx","ifDefined","formLabelTemplate","DapDSIcon","DapDSFormLabel","DapDSTypography","DapDSFeedback","unsafeCSS","styles","__decorateClass","query","property","DapDSSwitch"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const t = '*,*:before,*:after{box-sizing:border-box;outline:none}* :not(dap-ds-table-cell,dap-ds-table-header){margin:0;padding:0}html:focus-within{scroll-behavior:smooth}a:not([class]){text-decoration-skip-ink:auto}img,picture,svg,video,canvas{max-width:100%;height:auto;background-repeat:no-repeat;background-size:cover;font-style:italic;vertical-align:middle}input,button,textarea,select{font:inherit}[hidden]{display:none!important}@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{transition:none;transition-duration:.01ms!important;transition-delay:1ms!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important}}body,html{height:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=number]{appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{appearance:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.input-description{display:block;margin-bottom:var(--dds-spacing-200)}@keyframes dds-spin{to{transform:rotate(360deg)}}@keyframes dds-fade{0%,to{opacity:.3}50%{opacity:1}}:root{--dds-form-label-font-weight: var(--dds-font-weight-bold);--dds-form-label-line-height: var(--dds-font-line-height-xlarge);--dds-form-label-color: var(--dds-text-neutral-base);--dds-form-label-disabled-color: var(--dds-text-neutral-disabled);--dds-form-label-required-color: var(--dds-text-negative-subtle);--dds-form-label-optional-color: var(--dds-text-neutral-subtle);--dds-form-label-margin-bottom: var(--dds-spacing-200)}dap-ds-form-label .dds-label{display:block;margin-bottom:var(--dds-form-label-margin-bottom);color:var(--dds-form-label-color);font-weight:var(--dds-form-label-font-weight);line-height:var(--dds-form-label-line-height)}dap-ds-form-label .dds-label--no-margin{margin-bottom:0}dap-ds-form-label .dds-label--hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}dap-ds-form-label .dds-label--disabled{color:var(--dds-form-label-disabled-color)}dap-ds-form-label .dds-label--xs{font-size:var(--dds-font-sm)}dap-ds-form-label .dds-label--sm{font-size:var(--dds-font-base)}dap-ds-form-label .dds-label--lg{font-size:var(--dds-font-lg)}dap-ds-form-label .dds-label--subtle{font-weight:var(--dds-font-weight-medium)}dap-ds-form-label .dds-label .dds-label__required-indicator{order:2;color:var(--dds-form-label-required-color);font-weight:var(--dds-font-weight-bold);line-height:var(--dds-form-label-line-height)}dap-ds-form-label .dds-label .dds-label__optional-indicator{order:3;color:var(--dds-form-label-optional-color);font-weight:var(--dds-font-weight-medium);line-height:var(--dds-form-label-line-height)}dap-ds-form-label .dds-label .dds-label__optional-indicator--xs{font-size:var(--dds-font-sm)}dap-ds-form-label .dds-label .dds-label__optional-indicator--lg{font-size:var(--dds-font-lg)}.label-container{display:flex;align-items:center;justify-content:space-between}.label--has-description{margin-bottom:var(--dds-spacing-200)}dap-ds-form-label+dap-ds-typography{display:block}.info-button{fill:var(--dds-button-subtle-icon-neutral-enabled);color:var(--dds-button-subtle-icon-neutral-enabled)}.choice{display:flex;flex-direction:column;cursor:pointer}.choice:focus-visible{outline:none}.choice--disabled,.choice--readonly{cursor:not-allowed}.choice.choice__label--right .choice__label-container{order:4}.choice.choice__label--right .input__control{margin-right:var(--dds-spacing-200);margin-left:0}.choice.choice__label--left{justify-content:space-between}.choice.choice__label--left .choice__label-container{order:-1}.choice.choice__label--left .input__control{margin-right:0;margin-left:var(--dds-spacing-200)}.choice>div{display:flex}.label{font-weight:400;line-height:150%}.choice__label-container{display:flex;flex-direction:column}.choice__label-container .label,.choice__label-container .description{margin:0}.choice__label-container dap-ds-tooltip::part(icon){order:2}.choice__label-container--disabled,.choice__label-container--readonly{cursor:default}.choice__label-container.choice__label--top .description{order:4}.choice__label-container.choice__label--top .label{order:1}.choice__label-container.choice__label--top dap-ds-tooltip::part(icon){margin-left:var(--dds-spacing-400)}.choice__label-container.choice__label--bottom .description{order:1}.choice__label-container.choice__label--bottom .label{order:4}.choice__label-container.choice__label--bottom dap-ds-tooltip::part(icon){margin-right:var(--dds-spacing-400)}:root{--font-family: "Inter", sans-serif}:host{--dds-text-color: var(--dds-text-neutral-base);--dds-text-color-inverted: var(--dds-text-neutral-on-inverted);--dds-text-heading-color: var(--dds-text-neutral-strong);--dds-text-heading-color-inverted: var(--dds-text-neutral-on-inverted);--dds-text-description-color: var(--dds-text-neutral-subtle);--dds-text-description-color-inverted: var(--dds-text-neutral-on-inverted);--dds-text-font-family: var(--font-family);--dds-text-font-weight-medium: var(--dds-font-weight-medium);--dds-text-font-weight-bold: var(--dds-font-weight-bold);--dds-text-font-size-h1: var(--dds-font-7xl);--dds-text-font-size-h2: var(--dds-font-4xl);--dds-text-font-size-h3: var(--dds-font-2xl);--dds-text-font-size-h4: var(--dds-font-xl);--dds-text-font-size-h5: var(--dds-font-lg);--dds-text-font-size-h6: var(--dds-font-base);--dds-text-font-size-body: var(--dds-font-base);--dds-text-font-size-caption: var(--dds-font-xs);--dds-text-font-size-description: var(--dds-font-base);--dds-text-font-size-description-lg: var(--dds-font-base);--dds-text-font-size-description-sm: var(--dds-font-sm);--dds-text-font-size-lg: var(--dds-font-lg);--dds-text-font-size-md: var(--dds-font-base);--dds-text-font-size-sm: var(--dds-font-sm);--dds-text-font-size-xs: var(--dds-font-xs)}:host([variant=h1]),:host([variant=h2]),:host([variant=h3]),:host([variant=h4]),:host([variant=h5]),:host([variant=h6]){color:var(--dds-text-heading-color)}:host([inverted]) :host([variant=h1]),:host([inverted]) :host([variant=h2]),:host([inverted]) :host([variant=h3]),:host([inverted]) :host([variant=h4]),:host([inverted]) :host([variant=h5]),:host([inverted]) :host([variant=h6]){color:var(--dds-text-heading-color-inverted)}:host([variant=description]){color:var(--dds-text-description-color)}:host([inverted]) :host([variant=description]){color:var(--dds-text-description-color-inverted)}:host([variant=body]){color:var(--dds-text-color)}:host([inverted]) :host([variant=body]){color:var(--dds-text-color-inverted)}:host([variant=caption]){color:var(--dds-text-description-color)}:host([inverted]) :host([variant=caption]){color:var(--dds-text-description-color-inverted)}.typography{margin:0;font-family:var(--dds-text-font-family);font-weight:var(--dds-text-font-weight-medium);letter-spacing:0}.heading{font-weight:var(--dds-text-font-weight-bold);line-height:var(--dds-font-line-height-large)}.typography-h1{font-size:var(--dds-text-font-size-h1);letter-spacing:-.72px}@media (width >= 768px){.typography-h1{font-size:var(--dds-text-font-size-h1);letter-spacing:-.8px;line-height:var(--dds-font-line-height-xlarge)}}.typography-h2{font-size:var(--dds-text-font-size-h2);letter-spacing:-.56px}.typography-h3{font-size:var(--dds-text-font-size-h3);letter-spacing:-.48px}.typography-h4{font-size:var(--dds-text-font-size-h4);letter-spacing:-.4px}.typography-h5{font-size:var(--dds-text-font-size-h5)}.typography-h6{font-size:var(--dds-text-font-size-h6)}.typography-body{font-size:var(--dds-text-font-size-body);line-height:var(--dds-font-line-height-xlarge)}.typography-caption{font-size:var(--dds-text-font-size-caption);line-height:var(--dds-font-line-height-xlarge)}.typography-description{font-size:var(--dds-text-font-size-description);line-height:var(--dds-font-line-height-xlarge)}.typography-description-lg{font-size:var(--dds-text-font-size-description-lg);line-height:var(--dds-font-line-height-xlarge)}.typography-description-sm{font-size:var(--dds-text-font-size-description-sm);line-height:var(--dds-font-line-height-xlarge)}.typography-size-lg{font-size:var(--dds-text-font-size-lg);letter-spacing:0;line-height:var(--dds-font-line-height-xlarge)}.typography-size-md{font-size:var(--dds-text-font-size-md);letter-spacing:0;line-height:var(--dds-font-line-height-xlarge)}.typography-size-sm{font-size:var(--dds-text-font-size-sm);letter-spacing:0;line-height:var(--dds-font-line-height-xlarge)}.typography-size-xs{font-size:var(--dds-text-font-size-xs);letter-spacing:0;line-height:var(--dds-font-line-height-xlarge)}.typography-inverted{color:var(--dds-text-color-inverted)}.typography-heading-inverted{color:var(--dds-text-heading-color-inverted)}.typography-description-inverted{color:var(--dds-text-description-color-inverted)}:host{--dds-switch-width: var(--dds-spacing-1000);--dds-switch-height: var(--dds-spacing-600);--dds-switch-thumb-width: var(--dds-spacing-500);--dds-switch-thumb-height: var(--dds-spacing-500);--dds-switch-thumb-margin: .125rem;--dds-switch-thumb-color: var(--dds-button-primary-icon-enabled);--dds-switch-unchecked-bg: var(--dds-background-neutral-base-inverted);--dds-switch-checked-bg: var(--dds-background-brand-base-inverted);--dds-switch-invalid-bg: var(--dds-background-negative-base-inverted);--dds-switch-disabled-bg: var(--dds-background-neutral-disabled);--dds-switch-readonly-bg: var(--dds-background-neutral-disabled);--dds-switch-wrapper-padding: var(--dds-spacing-400);--dds-switch-wrapper-bg: var(--dds-background-neutral-subtle);--dds-switch-border-color: var(--dds-border-neutral-subtle);--dds-switch-high-contrast-border-color: var( --dds-border-neutral-transparent-interactive, #fff500 )}.input__control-high-contrast{display:inline-flex;position:absolute;box-sizing:border-box;flex:0 0 auto;width:var(--dds-switch-width);min-width:var(--dds-switch-width);height:var(--dds-switch-height);border:var(--dds-border-width-large) solid var(--dds-switch-high-contrast-border-color);border-radius:var(--dds-radius-rounded)}.input__control-high-contrast:hover{border-width:var(--dds-border-width-large)}.input__control-high-contrast:active{border-width:var(--dds-border-width-xlarge)}.input__control-high-contrast.input__control-high-contrast--disabled{border-color:var(--dds-border-neutral-transparent-disabled);cursor:not-allowed}.input__control-high-contrast.input__control-high-contrast--readonly{border-color:var(--dds-border-neutral-transparent-interactive);cursor:default}.input__wrapper{position:relative;border:var(--dds-border-width-base) solid transparent}.input__wrapper--border,.input__wrapper--background{padding:var(--dds-switch-wrapper-padding);border-radius:var(--dds-radius-base)}.input__wrapper--background{background-color:var(--dds-switch-wrapper-bg)}.input__wrapper--border{border:var(--dds-border-width-base) solid var(--dds-switch-border-color)}.input__control-toggle-thumb{transition-property:all;transition-duration:var(--dds-transition-fast);transition-timing-function:var(--dds-easing-ease-in-out);display:inline-block;position:absolute;min-width:var(--dds-switch-thumb-width);height:var(--dds-switch-thumb-height);margin-top:var(--dds-switch-thumb-margin);margin-left:var(--dds-switch-thumb-margin);fill:var(--dds-switch-thumb-color);color:var(--dds-switch-thumb-color)}.input__control-toggle-thumb.check-indicator{display:flex;justify-content:center;opacity:0}input:focus-visible+.input__control{outline-color:var(--dds-focus-outer-ring);outline-offset:var(--dds-spacing-50);outline-width:var(--dds-border-width-large);outline-style:solid}.input__control{display:inline-flex;min-width:var(--dds-switch-width);height:var(--dds-switch-height);border-width:0;border-radius:var(--dds-radius-rounded);background-color:var(--dds-switch-unchecked-bg)}.input__control:hover{background-color:var(--dds-background-neutral-medium-inverted)}.input__control:active{background-color:var(--dds-background-neutral-strong-inverted)}.input__control--checked{background-color:var(--dds-switch-checked-bg)}.input__control--checked .input__control-toggle-thumb{margin-left:1.125rem;opacity:0}.input__control--checked .input__control-toggle-thumb.check-indicator{opacity:1}.input__control--checked:hover{background-color:var(--dds-background-brand-medium-inverted)}.input__control--checked:active{background-color:var(--dds-background-brand-strong-inverted)}.input__control--invalid{background-color:var(--dds-switch-invalid-bg)}.input__control--invalid:hover{background-color:var(--dds-background-negative-medium-inverted)}.input__control--invalid:active{background-color:var(--dds-background-negative-strong-inverted)}.input__control--disabled{background-color:var(--dds-switch-disabled-bg);cursor:not-allowed}.input__control--disabled:hover,.input__control--disabled:active{background-color:var(--dds-switch-disabled-bg)}.input__control--disabled .input__control-toggle-thumb{fill:var(--dds-background-neutral-stronger);color:var(--dds-background-neutral-stronger)}.input__control--readonly{background-color:var(--dds-switch-readonly-bg);cursor:default}.input__control--readonly:hover,.input__control--readonly:active{background-color:var(--dds-switch-readonly-bg)}.input__control--readonly .input__control-toggle-thumb{fill:var(--dds-background-neutral-stronger);color:var(--dds-background-neutral-stronger)}.input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.input:focus-visible~.switch__toggle-wrap{outline-style:solid}.switch--checked .input__wrapper--background{border-color:var(--dds-switch-checked-bg)}.switch--disabled .input__wrapper--background,.switch--readonly .input__wrapper--background{background-color:var(--dds-background-neutral-disabled-inverted)}';
1
+ const t = '*,*:before,*:after{box-sizing:border-box;outline:none}* :not(dap-ds-table-cell,dap-ds-table-header){margin:0;padding:0}html:focus-within{scroll-behavior:smooth}a:not([class]){text-decoration-skip-ink:auto}img,picture,svg,video,canvas{max-width:100%;height:auto;background-repeat:no-repeat;background-size:cover;font-style:italic;vertical-align:middle}input,button,textarea,select{font:inherit}[hidden]{display:none!important}@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{transition:none;transition-duration:.01ms!important;transition-delay:1ms!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important}}body,html{height:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=number]{appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{appearance:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.input-description{display:block;margin-bottom:var(--dds-spacing-200)}@keyframes dds-spin{to{transform:rotate(360deg)}}@keyframes dds-fade{0%,to{opacity:.3}50%{opacity:1}}:root{--dds-form-label-font-weight: var(--dds-font-weight-bold);--dds-form-label-line-height: var(--dds-font-line-height-xlarge);--dds-form-label-color: var(--dds-text-neutral-base);--dds-form-label-disabled-color: var(--dds-text-neutral-disabled);--dds-form-label-required-color: var(--dds-text-negative-subtle);--dds-form-label-optional-color: var(--dds-text-neutral-subtle);--dds-form-label-margin-bottom: var(--dds-spacing-200)}dap-ds-form-label .dds-label{display:block;margin-bottom:var(--dds-form-label-margin-bottom);color:var(--dds-form-label-color);font-weight:var(--dds-form-label-font-weight);line-height:var(--dds-form-label-line-height)}dap-ds-form-label .dds-label--no-margin{margin-bottom:0}dap-ds-form-label .dds-label--hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}dap-ds-form-label .dds-label--disabled{color:var(--dds-form-label-disabled-color)}dap-ds-form-label .dds-label--xs{font-size:var(--dds-font-sm)}dap-ds-form-label .dds-label--sm{font-size:var(--dds-font-base)}dap-ds-form-label .dds-label--lg{font-size:var(--dds-font-lg)}dap-ds-form-label .dds-label--subtle{font-weight:var(--dds-font-weight-medium)}dap-ds-form-label .dds-label .dds-label__required-indicator{order:2;color:var(--dds-form-label-required-color);font-weight:var(--dds-font-weight-bold);line-height:var(--dds-form-label-line-height)}dap-ds-form-label .dds-label .dds-label__optional-indicator{order:3;color:var(--dds-form-label-optional-color);font-weight:var(--dds-font-weight-medium);line-height:var(--dds-form-label-line-height)}dap-ds-form-label .dds-label .dds-label__optional-indicator--xs{font-size:var(--dds-font-sm)}dap-ds-form-label .dds-label .dds-label__optional-indicator--lg{font-size:var(--dds-font-lg)}.label-container{display:flex;align-items:center;justify-content:space-between}.label--has-description{margin-bottom:var(--dds-spacing-200)}dap-ds-form-label+dap-ds-typography{display:block}.info-button{fill:var(--dds-button-subtle-icon-neutral-enabled);color:var(--dds-button-subtle-icon-neutral-enabled)}.choice{display:flex;flex-direction:column;cursor:pointer}.choice:focus-visible{outline:none}.choice--disabled,.choice--readonly{cursor:not-allowed}.choice.choice__label--right .choice__label-container{order:4}.choice.choice__label--right .input__control{margin-right:var(--dds-spacing-200);margin-left:0}.choice.choice__label--left{justify-content:space-between}.choice.choice__label--left .choice__label-container{order:-1}.choice.choice__label--left .input__control{margin-right:0;margin-left:var(--dds-spacing-200)}.choice>div{display:flex}.label{font-weight:400;line-height:150%}.choice__label-container{display:flex;flex-direction:column}.choice__label-container .label,.choice__label-container .description{margin:0}.choice__label-container dap-ds-tooltip::part(icon){order:2}.choice__label-container--disabled,.choice__label-container--readonly{cursor:default}.choice__label-container.choice__label--top .description{order:4}.choice__label-container.choice__label--top .label{order:1}.choice__label-container.choice__label--top dap-ds-tooltip::part(icon){margin-left:var(--dds-spacing-400)}.choice__label-container.choice__label--bottom .description{order:1}.choice__label-container.choice__label--bottom .label{order:4}.choice__label-container.choice__label--bottom dap-ds-tooltip::part(icon){margin-right:var(--dds-spacing-400)}:root{--font-family: "Inter", sans-serif}:host{--dds-text-color: var(--dds-text-neutral-base);--dds-text-color-inverted: var(--dds-text-neutral-on-inverted);--dds-text-heading-color: var(--dds-text-neutral-strong);--dds-text-heading-color-inverted: var(--dds-text-neutral-on-inverted);--dds-text-description-color: var(--dds-text-neutral-subtle);--dds-text-description-color-inverted: var(--dds-text-neutral-on-inverted);--dds-text-font-family: var(--font-family);--dds-text-font-weight-medium: var(--dds-font-weight-medium);--dds-text-font-weight-bold: var(--dds-font-weight-bold);--dds-text-font-size-h1: var(--dds-font-7xl);--dds-text-font-size-h2: var(--dds-font-4xl);--dds-text-font-size-h3: var(--dds-font-2xl);--dds-text-font-size-h4: var(--dds-font-xl);--dds-text-font-size-h5: var(--dds-font-lg);--dds-text-font-size-h6: var(--dds-font-base);--dds-text-font-size-body: var(--dds-font-base);--dds-text-font-size-caption: var(--dds-font-xs);--dds-text-font-size-description: var(--dds-font-base);--dds-text-font-size-description-lg: var(--dds-font-base);--dds-text-font-size-description-sm: var(--dds-font-sm);--dds-text-font-size-lg: var(--dds-font-lg);--dds-text-font-size-md: var(--dds-font-base);--dds-text-font-size-sm: var(--dds-font-sm);--dds-text-font-size-xs: var(--dds-font-xs)}:host([variant=h1]),:host([variant=h2]),:host([variant=h3]),:host([variant=h4]),:host([variant=h5]),:host([variant=h6]){color:var(--dds-text-heading-color)}:host([inverted]) :host([variant=h1]),:host([inverted]) :host([variant=h2]),:host([inverted]) :host([variant=h3]),:host([inverted]) :host([variant=h4]),:host([inverted]) :host([variant=h5]),:host([inverted]) :host([variant=h6]){color:var(--dds-text-heading-color-inverted)}:host([variant=description]){color:var(--dds-text-description-color)}:host([inverted]) :host([variant=description]){color:var(--dds-text-description-color-inverted)}:host([variant=body]){color:var(--dds-text-color)}:host([inverted]) :host([variant=body]){color:var(--dds-text-color-inverted)}:host([variant=caption]){color:var(--dds-text-description-color)}:host([inverted]) :host([variant=caption]){color:var(--dds-text-description-color-inverted)}.typography{margin:0;font-family:var(--dds-text-font-family);font-weight:var(--dds-text-font-weight-medium);letter-spacing:0}.heading{font-weight:var(--dds-text-font-weight-bold);line-height:var(--dds-font-line-height-large)}.typography-h1{font-size:var(--dds-text-font-size-h1);letter-spacing:-.72px}@media (width >= 768px){.typography-h1{font-size:var(--dds-text-font-size-h1);letter-spacing:-.8px;line-height:var(--dds-font-line-height-xlarge)}}.typography-h2{font-size:var(--dds-text-font-size-h2);letter-spacing:-.56px}.typography-h3{font-size:var(--dds-text-font-size-h3);letter-spacing:-.48px}.typography-h4{font-size:var(--dds-text-font-size-h4);letter-spacing:-.4px}.typography-h5{font-size:var(--dds-text-font-size-h5)}.typography-h6{font-size:var(--dds-text-font-size-h6)}.typography-body{font-size:var(--dds-text-font-size-body);line-height:var(--dds-font-line-height-xlarge)}.typography-caption{font-size:var(--dds-text-font-size-caption);line-height:var(--dds-font-line-height-xlarge)}.typography-description{font-size:var(--dds-text-font-size-description);line-height:var(--dds-font-line-height-xlarge)}.typography-description-lg{font-size:var(--dds-text-font-size-description-lg);line-height:var(--dds-font-line-height-xlarge)}.typography-description-sm{font-size:var(--dds-text-font-size-description-sm);line-height:var(--dds-font-line-height-xlarge)}.typography-size-lg{font-size:var(--dds-text-font-size-lg);letter-spacing:0;line-height:var(--dds-font-line-height-xlarge)}.typography-size-md{font-size:var(--dds-text-font-size-md);letter-spacing:0;line-height:var(--dds-font-line-height-xlarge)}.typography-size-sm{font-size:var(--dds-text-font-size-sm);letter-spacing:0;line-height:var(--dds-font-line-height-xlarge)}.typography-size-xs{font-size:var(--dds-text-font-size-xs);letter-spacing:0;line-height:var(--dds-font-line-height-xlarge)}.typography-inverted{color:var(--dds-text-color-inverted)}.typography-heading-inverted{color:var(--dds-text-heading-color-inverted)}.typography-description-inverted{color:var(--dds-text-description-color-inverted)}:host{--dds-form-label-font-weight: var(--dds-font-weight-bold);--dds-form-label-line-height: var(--dds-font-line-height-xlarge);--dds-form-label-color: var(--dds-text-neutral-base);--dds-form-label-disabled-color: var(--dds-text-neutral-disabled);--dds-form-label-required-color: var(--dds-text-negative-subtle);--dds-form-label-optional-color: var(--dds-text-neutral-subtle);--dds-form-label-margin-bottom: var(--dds-spacing-200)}.dds-label{display:block;margin-bottom:var(--dds-form-label-margin-bottom);color:var(--dds-form-label-color);font-weight:var(--dds-form-label-font-weight);line-height:var(--dds-form-label-line-height)}.dds-label--no-margin{margin-bottom:0}.dds-label--hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.dds-label--disabled{color:var(--dds-form-label-disabled-color)}.dds-label--xs{font-size:var(--dds-font-sm)}.dds-label--sm{font-size:var(--dds-font-base)}.dds-label--lg{font-size:var(--dds-font-lg)}.dds-label--subtle{font-weight:var(--dds-font-weight-medium)}.dds-label .dds-label__required-indicator{order:2;color:var(--dds-form-label-required-color);font-weight:var(--dds-font-weight-bold);line-height:var(--dds-form-label-line-height)}.dds-label .dds-label__optional-indicator{order:3;color:var(--dds-form-label-optional-color);font-weight:var(--dds-font-weight-medium);line-height:var(--dds-form-label-line-height)}.dds-label .dds-label__optional-indicator--xs{font-size:var(--dds-font-sm)}.dds-label .dds-label__optional-indicator--lg{font-size:var(--dds-font-lg)}:host{--dds-switch-width: var(--dds-spacing-1000);--dds-switch-height: var(--dds-spacing-600);--dds-switch-thumb-width: var(--dds-spacing-500);--dds-switch-thumb-height: var(--dds-spacing-500);--dds-switch-thumb-margin: .125rem;--dds-switch-thumb-color: var(--dds-button-primary-icon-enabled);--dds-switch-unchecked-bg: var(--dds-background-neutral-base-inverted);--dds-switch-checked-bg: var(--dds-background-brand-base-inverted);--dds-switch-invalid-bg: var(--dds-background-negative-base-inverted);--dds-switch-disabled-bg: var(--dds-background-neutral-disabled);--dds-switch-readonly-bg: var(--dds-background-neutral-disabled);--dds-switch-wrapper-padding: var(--dds-spacing-400);--dds-switch-wrapper-bg: var(--dds-background-neutral-subtle);--dds-switch-border-color: var(--dds-border-neutral-subtle);--dds-switch-high-contrast-border-color: var( --dds-border-neutral-transparent-interactive, #fff500 )}.input__control-high-contrast{display:inline-flex;position:absolute;box-sizing:border-box;flex:0 0 auto;width:var(--dds-switch-width);min-width:var(--dds-switch-width);height:var(--dds-switch-height);border:var(--dds-border-width-large) solid var(--dds-switch-high-contrast-border-color);border-radius:var(--dds-radius-rounded)}.input__control-high-contrast:hover{border-width:var(--dds-border-width-large)}.input__control-high-contrast:active{border-width:var(--dds-border-width-xlarge)}.input__control-high-contrast.input__control-high-contrast--disabled{border-color:var(--dds-border-neutral-transparent-disabled);cursor:not-allowed}.input__control-high-contrast.input__control-high-contrast--readonly{border-color:var(--dds-border-neutral-transparent-interactive);cursor:default}.input__wrapper{position:relative;border:var(--dds-border-width-base) solid transparent}.input__wrapper--border,.input__wrapper--background{padding:var(--dds-switch-wrapper-padding);border-radius:var(--dds-radius-base)}.input__wrapper--background{background-color:var(--dds-switch-wrapper-bg)}.input__wrapper--border{border:var(--dds-border-width-base) solid var(--dds-switch-border-color)}.input__control-toggle-thumb{transition-property:all;transition-duration:var(--dds-transition-fast);transition-timing-function:var(--dds-easing-ease-in-out);display:inline-block;position:absolute;min-width:var(--dds-switch-thumb-width);height:var(--dds-switch-thumb-height);margin-top:var(--dds-switch-thumb-margin);margin-left:var(--dds-switch-thumb-margin);fill:var(--dds-switch-thumb-color);color:var(--dds-switch-thumb-color)}.input__control-toggle-thumb.check-indicator{display:flex;justify-content:center;opacity:0}input:focus-visible+.input__control{outline-color:var(--dds-focus-outer-ring);outline-offset:var(--dds-spacing-50);outline-width:var(--dds-border-width-large);outline-style:solid}.input__control{display:inline-flex;min-width:var(--dds-switch-width);height:var(--dds-switch-height);border-width:0;border-radius:var(--dds-radius-rounded);background-color:var(--dds-switch-unchecked-bg)}.input__control:hover{background-color:var(--dds-background-neutral-medium-inverted)}.input__control:active{background-color:var(--dds-background-neutral-strong-inverted)}.input__control--checked{background-color:var(--dds-switch-checked-bg)}.input__control--checked .input__control-toggle-thumb{margin-left:1.125rem;opacity:0}.input__control--checked .input__control-toggle-thumb.check-indicator{opacity:1}.input__control--checked:hover{background-color:var(--dds-background-brand-medium-inverted)}.input__control--checked:active{background-color:var(--dds-background-brand-strong-inverted)}.input__control--invalid{background-color:var(--dds-switch-invalid-bg)}.input__control--invalid:hover{background-color:var(--dds-background-negative-medium-inverted)}.input__control--invalid:active{background-color:var(--dds-background-negative-strong-inverted)}.input__control--disabled{background-color:var(--dds-switch-disabled-bg);cursor:not-allowed}.input__control--disabled:hover,.input__control--disabled:active{background-color:var(--dds-switch-disabled-bg)}.input__control--disabled .input__control-toggle-thumb{fill:var(--dds-background-neutral-stronger);color:var(--dds-background-neutral-stronger)}.input__control--readonly{background-color:var(--dds-switch-readonly-bg);cursor:default}.input__control--readonly:hover,.input__control--readonly:active{background-color:var(--dds-switch-readonly-bg)}.input__control--readonly .input__control-toggle-thumb{fill:var(--dds-background-neutral-stronger);color:var(--dds-background-neutral-stronger)}.input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.input:focus-visible~.switch__toggle-wrap{outline-style:solid}.switch--checked .input__wrapper--background{border-color:var(--dds-switch-checked-bg)}.switch--disabled .input__wrapper--background,.switch--readonly .input__wrapper--background{background-color:var(--dds-background-neutral-disabled-inverted)}';
2
2
  export {
3
3
  t as default
4
4
  };
@@ -12,8 +12,10 @@ import { DdsElement } from '../../internal/dds-hu-element';
12
12
  * @slot - The tab items.
13
13
  *
14
14
  * @csspart base - The main container.
15
- * @csspart tab-nav - The tab navigation container.
16
- * @csspart tab-content - The tab content container.
15
+ * @csspart tab-list - The tab list container (role="tablist") holding the tab buttons.
16
+ * @csspart tab-nav - The individual tab buttons.
17
+ * @csspart high-contrast - The high contrast indicator inside the tab buttons.
18
+ * @csspart tab-group-content - The tab content container.
17
19
  *
18
20
  * @cssproperty --dds-tab-group-border-radius - Border radius of the tab group container (default: var(--dds-radius-base))
19
21
  * @cssproperty --dds-tab-border-radius - Border radius for tab items (default: var(--dds-radius-base) var(--dds-radius-base) 0 0)
@@ -62,7 +64,10 @@ export default class DapDSTabGroup extends DdsElement {
62
64
  * @ignore
63
65
  */
64
66
  private getTabTitleNodes;
65
- handleSlotChange(event: Event): void;
67
+ protected firstUpdated(changedProps: Map<string, unknown>): void;
68
+ /** The `dap-ds-tab` elements assigned to the default slot. */
69
+ private getSlottedTabs;
70
+ handleSlotChange(event?: Event): void;
66
71
  handleClick(tabId: string | null): void;
67
72
  handleKeyDown(event: KeyboardEvent): void;
68
73
  render(): import('lit-html').TemplateResult<1>;
@@ -1,21 +1,17 @@
1
- import { clsx as c } from "../../node_modules/clsx/dist/clsx.js";
2
- import "../../node_modules/@lit/reactive-element/reactive-element.js";
3
- import { html as f } from "../../node_modules/lit-html/lit-html.js";
4
- import "../../node_modules/lit-element/lit-element.js";
5
- import { property as h } from "../../node_modules/@lit/reactive-element/decorators/property.js";
6
- import { query as p } from "../../node_modules/@lit/reactive-element/decorators/query.js";
7
- import { queryAll as u } from "../../node_modules/@lit/reactive-element/decorators/query-all.js";
8
- import { ifDefined as I } from "../../node_modules/lit-html/directives/if-defined.js";
9
- import { map as T } from "../../node_modules/lit-html/directives/map.js";
10
- import { DdsElement as g } from "../../internal/dds-hu-element.js";
11
- import v from "./tab-group.scss.js";
12
- import { unsafeCSS as _ } from "../../node_modules/@lit/reactive-element/css-tag.js";
13
- var y = Object.defineProperty, d = (b, t, e, s) => {
14
- for (var a = void 0, r = b.length - 1, i; r >= 0; r--)
15
- (i = b[r]) && (a = i(t, e, a) || a);
16
- return a && y(t, e, a), a;
1
+ import { clsx as h } from "../../node_modules/clsx/dist/clsx.js";
2
+ import { unsafeCSS as f } from "lit";
3
+ import { query as p, queryAll as u, property as n } from "lit/decorators.js";
4
+ import { ifDefined as g } from "lit/directives/if-defined.js";
5
+ import { map as T } from "lit/directives/map.js";
6
+ import { html as m } from "lit-element";
7
+ import { DdsElement as I } from "../../internal/dds-hu-element.js";
8
+ import _ from "./tab-group.scss.js";
9
+ var v = Object.defineProperty, d = (c, t, e, s) => {
10
+ for (var a = void 0, i = c.length - 1, r; i >= 0; i--)
11
+ (r = c[i]) && (a = r(t, e, a) || a);
12
+ return a && v(t, e, a), a;
17
13
  };
18
- const o = class o extends g {
14
+ const o = class o extends I {
19
15
  constructor() {
20
16
  super(...arguments), this.size = "sm", this.mobile = !1, this._tabNavItems = [], this._activeTabIds = [], this._initialEmit = !0;
21
17
  }
@@ -43,19 +39,32 @@ const o = class o extends g {
43
39
  getTabTitleNodes(t) {
44
40
  return Array.from(t.childNodes).filter((e) => !(e instanceof Element && e.slot)).map((e) => e.cloneNode(!0));
45
41
  }
42
+ firstUpdated(t) {
43
+ super.firstUpdated(t), requestAnimationFrame(() => {
44
+ var e;
45
+ this._tabNavItems.length || (e = this.getSlottedTabs()) != null && e.length && this.handleSlotChange();
46
+ });
47
+ }
48
+ /** The `dap-ds-tab` elements assigned to the default slot. */
49
+ getSlottedTabs(t) {
50
+ var s;
51
+ const e = t != null ? t : (s = this.shadowRoot) == null ? void 0 : s.querySelector("slot");
52
+ return e == null ? void 0 : e.assignedElements({ flatten: !0 }).filter((a) => a.tagName.toLowerCase() === "dap-ds-tab");
53
+ }
46
54
  handleSlotChange(t) {
47
- var r;
48
- const e = (r = t.target) == null ? void 0 : r.assignedElements({ flatten: !0 }).filter((i) => i.tagName.toLowerCase() === "dap-ds-tab");
55
+ const e = this.getSlottedTabs(
56
+ t == null ? void 0 : t.target
57
+ );
49
58
  if (!e)
50
59
  return;
51
60
  const s = [], a = [];
52
61
  e.forEach((i) => {
53
- const n = i.getAttribute("tabId"), m = i.hasAttribute("disabled");
62
+ const r = i.getAttribute("tabId"), b = i.hasAttribute("disabled");
54
63
  s.push({
55
64
  titleTemplate: this.getTabTitleNodes(i),
56
- disabled: m,
57
- tabId: n
58
- }), !m && n && a.push(n);
65
+ disabled: b,
66
+ tabId: r
67
+ }), !b && r && a.push(r);
59
68
  }), this._tabNavItems = s, this._activeTabIds = a, !this.selectedTabId && this._activeTabIds.length ? this.selectedTabId = this._activeTabIds[0] : this._initialEmit && this.emitTabSelect(this.selectedTabId), this.requestUpdate();
60
69
  }
61
70
  handleClick(t) {
@@ -95,27 +104,28 @@ const o = class o extends g {
95
104
  s && (t.stopPropagation(), t.preventDefault());
96
105
  }
97
106
  render() {
98
- return f`
107
+ return m`
99
108
  <div part="base" class="tab-group">
100
109
  <div
110
+ part="tab-list"
101
111
  role="tablist"
102
- class=" ${c("tab-group__nav", {
112
+ class="${h("tab-group__nav", {
103
113
  "tab-group--mobile": this.mobile
104
114
  })}">
105
115
  ${T(
106
116
  this._tabNavItems,
107
117
  (t) => {
108
118
  var e;
109
- return f`
119
+ return m`
110
120
  <button
111
121
  part="tab-nav"
112
122
  ?disabled="${t.disabled}"
113
123
  role="tab"
114
- aria-controls=${I((e = t.tabId) != null ? e : void 0)}
124
+ aria-controls=${g((e = t.tabId) != null ? e : void 0)}
115
125
  aria-selected="${this.selectedTabId === t.tabId}"
116
126
  tabindex="${this.selectedTabId === t.tabId ? 0 : -1}"
117
127
  type="button"
118
- class=${c("tab", {
128
+ class=${h("tab", {
119
129
  "tab--selected": this.selectedTabId === t.tabId,
120
130
  "tab--disabled": t.disabled,
121
131
  "tab--sm": this.size === "sm",
@@ -127,7 +137,7 @@ const o = class o extends g {
127
137
  @keydown=${this.handleKeyDown}>
128
138
  <span
129
139
  part="high-contrast"
130
- class=${c(
140
+ class=${h(
131
141
  "tab__high-contrast",
132
142
  {
133
143
  "tab__high-contrast--selected": this.selectedTabId === t.tabId
@@ -148,7 +158,7 @@ const o = class o extends g {
148
158
  `;
149
159
  }
150
160
  };
151
- o.tagName = "dap-ds-tab-group", o.styles = _(v);
161
+ o.tagName = "dap-ds-tab-group", o.styles = f(_);
152
162
  let l = o;
153
163
  d([
154
164
  p("slot")
@@ -157,16 +167,16 @@ d([
157
167
  u(".tab:not(.tab--disabled)")
158
168
  ], l.prototype, "tabNavElements");
159
169
  d([
160
- h({
170
+ n({
161
171
  type: String,
162
172
  reflect: !0
163
173
  })
164
174
  ], l.prototype, "selectedTabId");
165
175
  d([
166
- h({ type: String, reflect: !0 })
176
+ n({ type: String, reflect: !0 })
167
177
  ], l.prototype, "size");
168
178
  d([
169
- h({ type: Boolean, reflect: !0 })
179
+ n({ type: Boolean, reflect: !0 })
170
180
  ], l.prototype, "mobile");
171
181
  export {
172
182
  l as default
@@ -1 +1 @@
1
- {"version":3,"file":"tab-group.component.js","sources":["../../../src/components/tab/tab-group.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { unsafeCSS } from 'lit'\nimport { property, query, queryAll } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { map } from 'lit/directives/map.js'\nimport { html } from 'lit-element'\n\nimport { CommonSize } from '@/common/types'\nimport DapDSTab from '@/components/tab/tab.component'\nimport { DdsElement } from '@/internal/dds-hu-element'\n\nimport styles from './tab-group.scss?inline'\n\ninterface TabNavItem {\n titleTemplate: Node[]\n disabled: boolean\n tabId: string | null\n}\n\n/**\n * `dap-ds-tab-group`\n * @summary A tab group component. It is used with dap-ds-tab component to create a tab group.\n * @element dap-ds-tab-group\n * @title - Tab group\n * @group tab\n *\n * @event dds-tab-select - Fired when select a new tab.\n *\n * @slot - The tab items.\n *\n * @csspart base - The main container.\n * @csspart tab-nav - The tab navigation container.\n * @csspart tab-content - The tab content container.\n *\n * @cssproperty --dds-tab-group-border-radius - Border radius of the tab group container (default: var(--dds-radius-base))\n * @cssproperty --dds-tab-border-radius - Border radius for tab items (default: var(--dds-radius-base) var(--dds-radius-base) 0 0)\n * @cssproperty --dds-tab-group-border-width - Border width of the tab navigation (default: var(--dds-border-width-base))\n * @cssproperty --dds-tab-group-border-color - Border color of the tab navigation (default: var(--dds-border-neutral-subtle))\n * @cssproperty --dds-tab-height-sm - Height of small tabs (default: 40px)\n * @cssproperty --dds-tab-height-lg - Height of large tabs (default: 50px)\n * @cssproperty --dds-tab-font-size-sm - Font size of small tabs (default: var(--dds-font-base))\n * @cssproperty --dds-tab-font-size-lg - Font size of large tabs (default: var(--dds-font-lg))\n * @cssproperty --dds-tab-padding - Padding of the tab buttons (default: 0 var(--dds-spacing-400))\n * @cssproperty --dds-tab-border-width - Border width for tabs (default: var(--dds-border-width-large))\n * @cssproperty --dds-tab-selected-border-color - Border color for selected tabs (default: var(--dds-border-brand-base))\n * @cssproperty --dds-tab-text-color - Text color for tabs (default: var(--dds-button-subtle-text-neutral-enabled))\n * @cssproperty --dds-tab-hover-text-color - Text color for tabs on hover (default: var(--dds-text-brand-subtle))\n * @cssproperty --dds-tab-disabled-text-color - Text color for disabled tabs (default: var(--dds-text-neutral-disabled))\n * @cssproperty --dds-tab-hover-background - Background color for tabs on hover (default: var(--dds-transparent-black-subtle))\n * @cssproperty --dds-tab-active-background - Background color for active tabs (default: var(--dds-transparent-black-base))\n */\nexport default class DapDSTabGroup extends DdsElement {\n static tagName = 'dap-ds-tab-group'\n\n /**@ignore */\n @query('slot') defaultSlot: HTMLSlotElement\n /**@ignore */\n @queryAll('.tab:not(.tab--disabled)') tabNavElements: HTMLElement[]\n\n /** The selected tab id. */\n @property({\n type: String,\n reflect: true,\n })\n selectedTabId: string\n\n /** The size of the tab buttons. Default is `sm`. Can be `sm` or `lg`.\n * @type {'sm' | 'lg'}\n */\n @property({ type: String, reflect: true }) size: CommonSize = 'sm'\n\n /** If true, the tab group will be displayed in mobile mode. */\n @property({ type: Boolean, reflect: true }) mobile: boolean = false\n\n static readonly styles = unsafeCSS(styles)\n\n private _tabNavItems: TabNavItem[] = []\n private _activeTabIds: string[] = []\n private _initialEmit = true\n\n emitTabSelect(tabId: string) {\n if (!tabId) {\n console.warn('Empty tab id!')\n return\n }\n\n this.emit('dds-tab-select', { tabId }, { bubbles: false })\n\n if (this._initialEmit) {\n this._initialEmit = false\n }\n }\n\n attributeChangedCallback(\n name: string,\n oldValue: string | null,\n value: string | null,\n ): void {\n super.attributeChangedCallback(name, oldValue, value)\n if (name.toLocaleLowerCase() === 'selectedtabid' && value !== oldValue) {\n customElements.whenDefined('dap-ds-tab').then(() => {\n if (value && this._activeTabIds.includes(value)) {\n this.emitTabSelect(value)\n }\n })\n }\n }\n\n /**\n * Collects the title nodes of a tab (every light DOM child that is not\n * slotted into the tab content).\n *\n * The nodes are cloned: rendering the original nodes into the nav would move\n * them out of the tab's light DOM, so any later slotchange would find the tab\n * title empty and the nav labels would disappear.\n * @ignore\n */\n private getTabTitleNodes(tab: DapDSTab): Node[] {\n return Array.from(tab.childNodes)\n .filter(node => !(node instanceof Element && node.slot))\n .map(node => node.cloneNode(true))\n }\n\n handleSlotChange(event: Event) {\n const tabElements = (event.target as HTMLSlotElement | null)\n ?.assignedElements({ flatten: true })\n .filter(el => el.tagName.toLowerCase() === 'dap-ds-tab') as\n | DapDSTab[]\n | undefined\n\n if (!tabElements) {\n return\n }\n\n const tabNavItems: TabNavItem[] = []\n const tabElementsList: DapDSTab[] = []\n const activeTabIds: string[] = []\n\n tabElements.forEach(tab => {\n const tabId = tab.getAttribute('tabId')\n const disabled = tab.hasAttribute('disabled')\n\n tabNavItems.push({\n titleTemplate: this.getTabTitleNodes(tab),\n disabled,\n tabId,\n })\n\n tabElementsList.push(tab)\n\n if (!disabled && tabId) {\n activeTabIds.push(tabId)\n }\n })\n\n this._tabNavItems = tabNavItems\n this._activeTabIds = activeTabIds\n\n if (!this.selectedTabId && this._activeTabIds.length) {\n this.selectedTabId = this._activeTabIds[0]\n } else if (this._initialEmit) {\n this.emitTabSelect(this.selectedTabId)\n }\n\n this.requestUpdate()\n }\n\n handleClick(tabId: string | null) {\n if (tabId === this.selectedTabId || !tabId) return\n\n this.selectedTabId = tabId\n this.emitTabSelect(tabId)\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const currentTabIndex = this._activeTabIds.indexOf(this.selectedTabId)\n let flag = false\n\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n {\n if (currentTabIndex > 0) {\n const newTabIndex = currentTabIndex - 1\n this.handleClick(this._activeTabIds[newTabIndex])\n this.tabNavElements[newTabIndex].focus()\n }\n flag = true\n }\n break\n\n case 'ArrowRight':\n case 'ArrowDown':\n {\n if (currentTabIndex < this._activeTabIds.length - 1) {\n const newTabIndex = currentTabIndex + 1\n this.handleClick(this._activeTabIds[newTabIndex])\n this.tabNavElements[newTabIndex].focus()\n }\n flag = true\n }\n break\n\n case 'Home':\n this.handleClick(this._activeTabIds[0])\n this.tabNavElements[0].focus()\n flag = true\n break\n\n case 'End':\n this.handleClick(this._activeTabIds[this._activeTabIds.length - 1])\n this.tabNavElements[this._activeTabIds.length - 1].focus()\n flag = true\n break\n\n default:\n break\n }\n\n if (flag) {\n event.stopPropagation()\n event.preventDefault()\n }\n }\n\n render() {\n return html`\n <div part=\"base\" class=\"tab-group\">\n <div\n role=\"tablist\"\n class=\" ${clsx('tab-group__nav', {\n 'tab-group--mobile': this.mobile,\n })}\">\n ${map(\n this._tabNavItems,\n tab => html`\n <button\n part=\"tab-nav\"\n ?disabled=\"${tab.disabled}\"\n role=\"tab\"\n aria-controls=${ifDefined(tab.tabId ?? undefined)}\n aria-selected=\"${this.selectedTabId === tab.tabId}\"\n tabindex=\"${this.selectedTabId === tab.tabId ? 0 : -1}\"\n type=\"button\"\n class=${clsx('tab', {\n 'tab--selected': this.selectedTabId === tab.tabId,\n 'tab--disabled': tab.disabled,\n 'tab--sm': this.size === 'sm',\n 'tab--lg': this.size === 'lg',\n })}\n @click=${() => {\n this.handleClick(tab.tabId)\n }}\n @keydown=${this.handleKeyDown}>\n <span\n part=\"high-contrast\"\n class=${clsx(\n 'tab__high-contrast',\n {\n 'tab__high-contrast--selected':\n this.selectedTabId === tab.tabId,\n },\n `tab__high-contrast--${this.size}`,\n )}></span>\n ${tab.titleTemplate}\n </button>\n `,\n )}\n </div>\n\n <div part=\"tab-group-content\" class=\"tab-group__content\">\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n </div>\n `\n }\n}\n"],"names":["_DapDSTabGroup","DdsElement","tabId","name","oldValue","value","tab","node","event","tabElements","_a","el","tabNavItems","activeTabIds","disabled","currentTabIndex","flag","newTabIndex","html","clsx","map","ifDefined","unsafeCSS","styles","DapDSTabGroup","__decorateClass","query","queryAll","property"],"mappings":"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"}
1
+ {"version":3,"file":"tab-group.component.js","sources":["../../../src/components/tab/tab-group.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { unsafeCSS } from 'lit'\nimport { property, query, queryAll } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { map } from 'lit/directives/map.js'\nimport { html } from 'lit-element'\n\nimport { CommonSize } from '@/common/types'\nimport DapDSTab from '@/components/tab/tab.component'\nimport { DdsElement } from '@/internal/dds-hu-element'\n\nimport styles from './tab-group.scss?inline'\n\ninterface TabNavItem {\n titleTemplate: Node[]\n disabled: boolean\n tabId: string | null\n}\n\n/**\n * `dap-ds-tab-group`\n * @summary A tab group component. It is used with dap-ds-tab component to create a tab group.\n * @element dap-ds-tab-group\n * @title - Tab group\n * @group tab\n *\n * @event dds-tab-select - Fired when select a new tab.\n *\n * @slot - The tab items.\n *\n * @csspart base - The main container.\n * @csspart tab-list - The tab list container (role=\"tablist\") holding the tab buttons.\n * @csspart tab-nav - The individual tab buttons.\n * @csspart high-contrast - The high contrast indicator inside the tab buttons.\n * @csspart tab-group-content - The tab content container.\n *\n * @cssproperty --dds-tab-group-border-radius - Border radius of the tab group container (default: var(--dds-radius-base))\n * @cssproperty --dds-tab-border-radius - Border radius for tab items (default: var(--dds-radius-base) var(--dds-radius-base) 0 0)\n * @cssproperty --dds-tab-group-border-width - Border width of the tab navigation (default: var(--dds-border-width-base))\n * @cssproperty --dds-tab-group-border-color - Border color of the tab navigation (default: var(--dds-border-neutral-subtle))\n * @cssproperty --dds-tab-height-sm - Height of small tabs (default: 40px)\n * @cssproperty --dds-tab-height-lg - Height of large tabs (default: 50px)\n * @cssproperty --dds-tab-font-size-sm - Font size of small tabs (default: var(--dds-font-base))\n * @cssproperty --dds-tab-font-size-lg - Font size of large tabs (default: var(--dds-font-lg))\n * @cssproperty --dds-tab-padding - Padding of the tab buttons (default: 0 var(--dds-spacing-400))\n * @cssproperty --dds-tab-border-width - Border width for tabs (default: var(--dds-border-width-large))\n * @cssproperty --dds-tab-selected-border-color - Border color for selected tabs (default: var(--dds-border-brand-base))\n * @cssproperty --dds-tab-text-color - Text color for tabs (default: var(--dds-button-subtle-text-neutral-enabled))\n * @cssproperty --dds-tab-hover-text-color - Text color for tabs on hover (default: var(--dds-text-brand-subtle))\n * @cssproperty --dds-tab-disabled-text-color - Text color for disabled tabs (default: var(--dds-text-neutral-disabled))\n * @cssproperty --dds-tab-hover-background - Background color for tabs on hover (default: var(--dds-transparent-black-subtle))\n * @cssproperty --dds-tab-active-background - Background color for active tabs (default: var(--dds-transparent-black-base))\n */\nexport default class DapDSTabGroup extends DdsElement {\n static tagName = 'dap-ds-tab-group'\n\n /**@ignore */\n @query('slot') defaultSlot: HTMLSlotElement\n /**@ignore */\n @queryAll('.tab:not(.tab--disabled)') tabNavElements: HTMLElement[]\n\n /** The selected tab id. */\n @property({\n type: String,\n reflect: true,\n })\n selectedTabId: string\n\n /** The size of the tab buttons. Default is `sm`. Can be `sm` or `lg`.\n * @type {'sm' | 'lg'}\n */\n @property({ type: String, reflect: true }) size: CommonSize = 'sm'\n\n /** If true, the tab group will be displayed in mobile mode. */\n @property({ type: Boolean, reflect: true }) mobile: boolean = false\n\n static readonly styles = unsafeCSS(styles)\n\n private _tabNavItems: TabNavItem[] = []\n private _activeTabIds: string[] = []\n private _initialEmit = true\n\n emitTabSelect(tabId: string) {\n if (!tabId) {\n console.warn('Empty tab id!')\n return\n }\n\n this.emit('dds-tab-select', { tabId }, { bubbles: false })\n\n if (this._initialEmit) {\n this._initialEmit = false\n }\n }\n\n attributeChangedCallback(\n name: string,\n oldValue: string | null,\n value: string | null,\n ): void {\n super.attributeChangedCallback(name, oldValue, value)\n if (name.toLocaleLowerCase() === 'selectedtabid' && value !== oldValue) {\n customElements.whenDefined('dap-ds-tab').then(() => {\n if (value && this._activeTabIds.includes(value)) {\n this.emitTabSelect(value)\n }\n })\n }\n }\n\n /**\n * Collects the title nodes of a tab (every light DOM child that is not\n * slotted into the tab content).\n *\n * The nodes are cloned: rendering the original nodes into the nav would move\n * them out of the tab's light DOM, so any later slotchange would find the tab\n * title empty and the nav labels would disappear.\n * @ignore\n */\n private getTabTitleNodes(tab: DapDSTab): Node[] {\n return Array.from(tab.childNodes)\n .filter(node => !(node instanceof Element && node.slot))\n .map(node => node.cloneNode(true))\n }\n\n protected firstUpdated(changedProps: Map<string, unknown>): void {\n super.firstUpdated(changedProps)\n\n // On SSR hydration `slotchange` does not fire, so `_tabNavItems` stays empty\n // and the tab nav bar renders nothing (only the tab content is visible).\n // Defer to the next frame: if a real `slotchange` still hasn't populated the\n // nav by then (the hydration case), resolve it from the already-assigned\n // slot. On a normal client render `slotchange` fires first, so the guard\n // makes this a no-op (avoids double-running the selection/emit logic).\n requestAnimationFrame(() => {\n if (this._tabNavItems.length) {\n return\n }\n if (this.getSlottedTabs()?.length) {\n this.handleSlotChange()\n }\n })\n }\n\n /** The `dap-ds-tab` elements assigned to the default slot. */\n private getSlottedTabs(\n slot?: HTMLSlotElement | null,\n ): DapDSTab[] | undefined {\n const target = slot ?? this.shadowRoot?.querySelector('slot')\n return target\n ?.assignedElements({ flatten: true })\n .filter(el => el.tagName.toLowerCase() === 'dap-ds-tab') as\n | DapDSTab[]\n | undefined\n }\n\n handleSlotChange(event?: Event) {\n const tabElements = this.getSlottedTabs(\n event?.target as HTMLSlotElement | undefined,\n )\n\n if (!tabElements) {\n return\n }\n\n const tabNavItems: TabNavItem[] = []\n const tabElementsList: DapDSTab[] = []\n const activeTabIds: string[] = []\n\n tabElements.forEach(tab => {\n const tabId = tab.getAttribute('tabId')\n const disabled = tab.hasAttribute('disabled')\n\n tabNavItems.push({\n titleTemplate: this.getTabTitleNodes(tab),\n disabled,\n tabId,\n })\n\n tabElementsList.push(tab)\n\n if (!disabled && tabId) {\n activeTabIds.push(tabId)\n }\n })\n\n this._tabNavItems = tabNavItems\n this._activeTabIds = activeTabIds\n\n if (!this.selectedTabId && this._activeTabIds.length) {\n this.selectedTabId = this._activeTabIds[0]\n } else if (this._initialEmit) {\n this.emitTabSelect(this.selectedTabId)\n }\n\n this.requestUpdate()\n }\n\n handleClick(tabId: string | null) {\n if (tabId === this.selectedTabId || !tabId) return\n\n this.selectedTabId = tabId\n this.emitTabSelect(tabId)\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const currentTabIndex = this._activeTabIds.indexOf(this.selectedTabId)\n let flag = false\n\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n {\n if (currentTabIndex > 0) {\n const newTabIndex = currentTabIndex - 1\n this.handleClick(this._activeTabIds[newTabIndex])\n this.tabNavElements[newTabIndex].focus()\n }\n flag = true\n }\n break\n\n case 'ArrowRight':\n case 'ArrowDown':\n {\n if (currentTabIndex < this._activeTabIds.length - 1) {\n const newTabIndex = currentTabIndex + 1\n this.handleClick(this._activeTabIds[newTabIndex])\n this.tabNavElements[newTabIndex].focus()\n }\n flag = true\n }\n break\n\n case 'Home':\n this.handleClick(this._activeTabIds[0])\n this.tabNavElements[0].focus()\n flag = true\n break\n\n case 'End':\n this.handleClick(this._activeTabIds[this._activeTabIds.length - 1])\n this.tabNavElements[this._activeTabIds.length - 1].focus()\n flag = true\n break\n\n default:\n break\n }\n\n if (flag) {\n event.stopPropagation()\n event.preventDefault()\n }\n }\n\n render() {\n return html`\n <div part=\"base\" class=\"tab-group\">\n <div\n part=\"tab-list\"\n role=\"tablist\"\n class=\"${clsx('tab-group__nav', {\n 'tab-group--mobile': this.mobile,\n })}\">\n ${map(\n this._tabNavItems,\n tab => html`\n <button\n part=\"tab-nav\"\n ?disabled=\"${tab.disabled}\"\n role=\"tab\"\n aria-controls=${ifDefined(tab.tabId ?? undefined)}\n aria-selected=\"${this.selectedTabId === tab.tabId}\"\n tabindex=\"${this.selectedTabId === tab.tabId ? 0 : -1}\"\n type=\"button\"\n class=${clsx('tab', {\n 'tab--selected': this.selectedTabId === tab.tabId,\n 'tab--disabled': tab.disabled,\n 'tab--sm': this.size === 'sm',\n 'tab--lg': this.size === 'lg',\n })}\n @click=${() => {\n this.handleClick(tab.tabId)\n }}\n @keydown=${this.handleKeyDown}>\n <span\n part=\"high-contrast\"\n class=${clsx(\n 'tab__high-contrast',\n {\n 'tab__high-contrast--selected':\n this.selectedTabId === tab.tabId,\n },\n `tab__high-contrast--${this.size}`,\n )}></span>\n ${tab.titleTemplate}\n </button>\n `,\n )}\n </div>\n\n <div part=\"tab-group-content\" class=\"tab-group__content\">\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n </div>\n `\n }\n}\n"],"names":["_DapDSTabGroup","DdsElement","tabId","name","oldValue","value","tab","node","changedProps","_a","slot","target","el","event","tabElements","tabNavItems","activeTabIds","disabled","currentTabIndex","flag","newTabIndex","html","clsx","map","ifDefined","unsafeCSS","styles","DapDSTabGroup","__decorateClass","query","queryAll","property"],"mappings":"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"}
@@ -1,18 +1,15 @@
1
1
  import { clsx as n } 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 p } from "../../node_modules/@lit/reactive-element/decorators/property.js";
6
- import { state as f } from "../../node_modules/@lit/reactive-element/decorators/state.js";
7
- import { DdsElement as m } from "../../internal/dds-hu-element.js";
8
- import b from "./tab.scss.js";
9
- import { unsafeCSS as h } from "../../node_modules/@lit/reactive-element/css-tag.js";
10
- var u = Object.defineProperty, a = (d, t, s, _) => {
11
- for (var e = void 0, l = d.length - 1, o; l >= 0; l--)
12
- (o = d[l]) && (e = o(t, s, e) || e);
2
+ import { unsafeCSS as f } from "lit";
3
+ import { property as c, state as p } from "lit/decorators.js";
4
+ import { html as b } from "lit-element";
5
+ import { DdsElement as h } from "../../internal/dds-hu-element.js";
6
+ import m from "./tab.scss.js";
7
+ var u = Object.defineProperty, r = (a, t, s, _) => {
8
+ for (var e = void 0, d = a.length - 1, o; d >= 0; d--)
9
+ (o = a[d]) && (e = o(t, s, e) || e);
13
10
  return e && u(t, s, e), e;
14
11
  };
15
- const i = class i extends m {
12
+ const i = class i extends h {
16
13
  constructor() {
17
14
  super(...arguments), this.disabled = !1, this._selected = !1;
18
15
  }
@@ -24,7 +21,7 @@ const i = class i extends m {
24
21
  }), (t == null ? void 0 : t.selectedTabId) === this.tabId && (this._selected = !0);
25
22
  }
26
23
  render() {
27
- return c`<div
24
+ return b`<div
28
25
  id=${this.tabId}
29
26
  part="base"
30
27
  tabindex=${this._selected ? 0 : -1}
@@ -38,18 +35,18 @@ const i = class i extends m {
38
35
  </div>`;
39
36
  }
40
37
  };
41
- i.tagName = "dap-ds-tab", i.styles = h(b);
42
- let r = i;
43
- a([
44
- p({ type: String, reflect: !0 })
45
- ], r.prototype, "tabId");
46
- a([
47
- p({ type: Boolean, reflect: !0 })
48
- ], r.prototype, "disabled");
49
- a([
50
- f()
51
- ], r.prototype, "_selected");
38
+ i.tagName = "dap-ds-tab", i.styles = f(m);
39
+ let l = i;
40
+ r([
41
+ c({ type: String, reflect: !0 })
42
+ ], l.prototype, "tabId");
43
+ r([
44
+ c({ type: Boolean, reflect: !0 })
45
+ ], l.prototype, "disabled");
46
+ r([
47
+ p()
48
+ ], l.prototype, "_selected");
52
49
  export {
53
- r as default
50
+ l as default
54
51
  };
55
52
  //# sourceMappingURL=tab.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab.component.js","sources":["../../../src/components/tab/tab.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { unsafeCSS } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { html } from 'lit-element'\n\nimport { DdsTabSelectEvent } from '@/dap-design-system'\nimport { DdsElement } from '@/internal/dds-hu-element'\n\nimport styles from './tab.scss?inline'\n\n/**\n * `dap-ds-tab`\n * @summary A tab item component. It is used in dap-ds-tab-group component slot to create a tab item.\n * @element dap-ds-tab\n * @title - Tab\n * *\n * @slot - The tab title template.\n * @slot content - The tab content.\n *\n * @csspart base - The main tab content container.\n */\nexport default class DapDSTab extends DdsElement {\n static tagName = 'dap-ds-tab'\n\n static readonly styles = unsafeCSS(styles)\n\n /** The tab id. Required */\n @property({ type: String, reflect: true }) tabId: string\n /** The disabled state of the tab. */\n @property({ type: Boolean, reflect: true }) disabled = false\n\n @state() private _selected: boolean = false\n\n firstUpdated() {\n this.setAttribute('id', this.tabId)\n\n const parent = this.parentElement as\n | (HTMLElement & { selectedTabId?: string })\n | null\n\n parent?.addEventListener('dds-tab-select', (e: DdsTabSelectEvent) => {\n if (e.detail && this.tabId === e.detail.tabId) {\n this._selected = true\n } else if (this._selected) {\n this._selected = false\n }\n })\n\n // The group's initial `dds-tab-select` event can be emitted before this\n // listener is registered (e.g. when `selectedTabId` is set in markup), so\n // reconcile the selected state from the group's current selection here.\n if (parent?.selectedTabId === this.tabId) {\n this._selected = true\n }\n }\n\n render() {\n return html`<div\n id=${this.tabId}\n part=\"base\"\n tabindex=${this._selected ? 0 : -1}\n class=${clsx('tab-panel', {\n 'tab-panel--selected': this._selected,\n })}\n role=\"tabpanel\"\n aria-labelledby=${this.tabId}>\n <slot class=\"tab-panel__title\"></slot>\n <slot name=\"content\"></slot>\n </div>`\n }\n}\n"],"names":["_DapDSTab","DdsElement","parent","e","html","clsx","unsafeCSS","styles","DapDSTab","__decorateClass","property","state"],"mappings":";;;;;;;;;;;;;;AAqBA,MAAqBA,IAArB,MAAqBA,UAAiBC,EAAW;AAAA,EAAjD,cAAA;AAAA,UAAA,GAAA,SAAA,GAQyD,KAAA,WAAA,IAE9C,KAAQ,YAAqB;AAAA,EAAA;AAAA,EAEtC,eAAe;AACR,SAAA,aAAa,MAAM,KAAK,KAAK;AAElC,UAAMC,IAAS,KAAK;AAIZ,IAAAA,KAAA,QAAAA,EAAA,iBAAiB,kBAAkB,CAACC,MAAyB;AACnE,MAAIA,EAAE,UAAU,KAAK,UAAUA,EAAE,OAAO,QACtC,KAAK,YAAY,KACR,KAAK,cACd,KAAK,YAAY;AAAA,IACnB,KAMED,KAAA,gBAAAA,EAAQ,mBAAkB,KAAK,UACjC,KAAK,YAAY;AAAA,EACnB;AAAA,EAGF,SAAS;AACA,WAAAE;AAAAA,WACA,KAAK,KAAK;AAAA;AAAA,iBAEJ,KAAK,YAAY,IAAI,EAAE;AAAA,cAC1BC,EAAK,aAAa;AAAA,MACxB,uBAAuB,KAAK;AAAA,IAAA,CAC7B,CAAC;AAAA;AAAA,wBAEgB,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA,EAAA;AAKlC;AAhDEL,EAAO,UAAU,cAEDA,EAAA,SAASM,EAAUC,CAAM;AAH3C,IAAqBC,IAArBR;AAM6CS,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,GAAM,CAAA;AAAA,GANtBF,EAMwB,WAAA,OAAA;AAECC,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,GAAM,CAAA;AAAA,GARvBF,EAQyB,WAAA,UAAA;AAE3BC,EAAA;AAAA,EAAhBE,EAAM;AAAA,GAVYH,EAUF,WAAA,WAAA;"}
1
+ {"version":3,"file":"tab.component.js","sources":["../../../src/components/tab/tab.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { unsafeCSS } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { html } from 'lit-element'\n\nimport { DdsTabSelectEvent } from '@/dap-design-system'\nimport { DdsElement } from '@/internal/dds-hu-element'\n\nimport styles from './tab.scss?inline'\n\n/**\n * `dap-ds-tab`\n * @summary A tab item component. It is used in dap-ds-tab-group component slot to create a tab item.\n * @element dap-ds-tab\n * @title - Tab\n * *\n * @slot - The tab title template.\n * @slot content - The tab content.\n *\n * @csspart base - The main tab content container.\n */\nexport default class DapDSTab extends DdsElement {\n static tagName = 'dap-ds-tab'\n\n static readonly styles = unsafeCSS(styles)\n\n /** The tab id. Required */\n @property({ type: String, reflect: true }) tabId: string\n /** The disabled state of the tab. */\n @property({ type: Boolean, reflect: true }) disabled = false\n\n @state() private _selected: boolean = false\n\n firstUpdated() {\n this.setAttribute('id', this.tabId)\n\n const parent = this.parentElement as\n | (HTMLElement & { selectedTabId?: string })\n | null\n\n parent?.addEventListener('dds-tab-select', (e: DdsTabSelectEvent) => {\n if (e.detail && this.tabId === e.detail.tabId) {\n this._selected = true\n } else if (this._selected) {\n this._selected = false\n }\n })\n\n // The group's initial `dds-tab-select` event can be emitted before this\n // listener is registered (e.g. when `selectedTabId` is set in markup), so\n // reconcile the selected state from the group's current selection here.\n if (parent?.selectedTabId === this.tabId) {\n this._selected = true\n }\n }\n\n render() {\n return html`<div\n id=${this.tabId}\n part=\"base\"\n tabindex=${this._selected ? 0 : -1}\n class=${clsx('tab-panel', {\n 'tab-panel--selected': this._selected,\n })}\n role=\"tabpanel\"\n aria-labelledby=${this.tabId}>\n <slot class=\"tab-panel__title\"></slot>\n <slot name=\"content\"></slot>\n </div>`\n }\n}\n"],"names":["_DapDSTab","DdsElement","parent","e","html","clsx","unsafeCSS","styles","DapDSTab","__decorateClass","property","state"],"mappings":";;;;;;;;;;;AAqBA,MAAqBA,IAArB,MAAqBA,UAAiBC,EAAW;AAAA,EAAjD,cAAA;AAAA,UAAA,GAAA,SAAA,GAQyD,KAAA,WAAA,IAE9C,KAAQ,YAAqB;AAAA,EAAA;AAAA,EAEtC,eAAe;AACR,SAAA,aAAa,MAAM,KAAK,KAAK;AAElC,UAAMC,IAAS,KAAK;AAIZ,IAAAA,KAAA,QAAAA,EAAA,iBAAiB,kBAAkB,CAACC,MAAyB;AACnE,MAAIA,EAAE,UAAU,KAAK,UAAUA,EAAE,OAAO,QACtC,KAAK,YAAY,KACR,KAAK,cACd,KAAK,YAAY;AAAA,IACnB,KAMED,KAAA,gBAAAA,EAAQ,mBAAkB,KAAK,UACjC,KAAK,YAAY;AAAA,EACnB;AAAA,EAGF,SAAS;AACA,WAAAE;AAAA,WACA,KAAK,KAAK;AAAA;AAAA,iBAEJ,KAAK,YAAY,IAAI,EAAE;AAAA,cAC1BC,EAAK,aAAa;AAAA,MACxB,uBAAuB,KAAK;AAAA,IAAA,CAC7B,CAAC;AAAA;AAAA,wBAEgB,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA,EAAA;AAKlC;AAhDEL,EAAO,UAAU,cAEDA,EAAA,SAASM,EAAUC,CAAM;AAH3C,IAAqBC,IAArBR;AAM6CS,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,GAAM,CAAA;AAAA,GANtBF,EAMwB,WAAA,OAAA;AAECC,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,GAAM,CAAA;AAAA,GARvBF,EAQyB,WAAA,UAAA;AAE3BC,EAAA;AAAA,EAAhBE,EAAM;AAAA,GAVYH,EAUF,WAAA,WAAA;"}
@@ -7,7 +7,6 @@ import { DdsElement } from '../../internal/dds-hu-element';
7
7
  *
8
8
  * @slot - The default slot.
9
9
  *
10
- * @csspart base - The main cell container.
11
10
  *
12
11
  * @cssproperty --dds-table-cell-padding-block - Padding for the top and bottom of the cell. (default: var(--dds-spacing-200))
13
12
  * @cssproperty --dds-table-cell-padding-inline-start - Padding for the start (left in LTR) of the cell. (default: var(--dds-spacing-500))
@@ -17,6 +16,7 @@ import { DdsElement } from '../../internal/dds-hu-element';
17
16
  * @cssproperty --dds-table-cell-text-color - Text color of the cell. (default: var(--dds-text-neutral-base))
18
17
  * @cssproperty --dds-table-cell-line-height - Line height of the cell text. (default: 1.5)
19
18
  * @cssproperty --dds-table-cell-text-align - Text alignment in the cell. (default: left)
19
+ *
20
20
  */
21
21
  export default class DapDSTableCell extends DdsElement {
22
22
  static tagName: string;
@@ -1,31 +1,28 @@
1
- import "../../node_modules/@lit/reactive-element/reactive-element.js";
2
- import "../../node_modules/lit-html/lit-html.js";
3
- import "../../node_modules/lit-element/lit-element.js";
4
- import { property as f } from "../../node_modules/@lit/reactive-element/decorators/property.js";
5
- import { html as l } from "../../node_modules/lit-html/static.js";
6
- import { DdsElement as n } from "../../internal/dds-hu-element.js";
7
- import u from "./table-cell.scss.js";
8
- import { unsafeCSS as c } from "../../node_modules/@lit/reactive-element/css-tag.js";
9
- var d = Object.defineProperty, a = (s, m, p, y) => {
10
- for (var t = void 0, o = s.length - 1, i; o >= 0; o--)
11
- (i = s[o]) && (t = i(m, p, t) || t);
12
- return t && d(m, p, t), t;
1
+ import { unsafeCSS as n } from "lit";
2
+ import { property as i } from "lit/decorators.js";
3
+ import { html as a } from "lit/static-html.js";
4
+ import { DdsElement as u } from "../../internal/dds-hu-element.js";
5
+ import c from "./table-cell.scss.js";
6
+ var d = Object.defineProperty, l = (s, f, m, y) => {
7
+ for (var t = void 0, o = s.length - 1, p; o >= 0; o--)
8
+ (p = s[o]) && (t = p(f, m, t) || t);
9
+ return t && d(f, m, t), t;
13
10
  };
14
- const e = class e extends n {
11
+ const e = class e extends u {
15
12
  constructor() {
16
13
  super(...arguments), this.role = "cell";
17
14
  }
18
15
  render() {
19
- return l` <slot></slot> `;
16
+ return a` <slot></slot> `;
20
17
  }
21
18
  };
22
- e.tagName = "dap-ds-table-cell", e.styles = c(u);
19
+ e.tagName = "dap-ds-table-cell", e.styles = n(c);
23
20
  let r = e;
24
- a([
25
- f({ type: Boolean, reflect: !0 })
21
+ l([
22
+ i({ type: Boolean, reflect: !0 })
26
23
  ], r.prototype, "last");
27
- a([
28
- f({ reflect: !0 })
24
+ l([
25
+ i({ reflect: !0 })
29
26
  ], r.prototype, "role");
30
27
  export {
31
28
  r as default
@@ -1 +1 @@
1
- {"version":3,"file":"table-cell.component.js","sources":["../../../src/components/table/table-cell.component.ts"],"sourcesContent":["import { 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 styles from './table-cell.scss?inline'\n\n/**\n * Table cell component.\n * @element dap-ds-table-cell\n * @title - Table cell\n * @group table\n *\n * @slot - The default slot.\n *\n * @csspart base - The main cell container.\n *\n * @cssproperty --dds-table-cell-padding-block - Padding for the top and bottom of the cell. (default: var(--dds-spacing-200))\n * @cssproperty --dds-table-cell-padding-inline-start - Padding for the start (left in LTR) of the cell. (default: var(--dds-spacing-500))\n * @cssproperty --dds-table-cell-padding-inline-end - Padding for the end (right in LTR) of the cell. (default: var(--dds-spacing-500))\n * @cssproperty --dds-table-cell-border-width - Width of the cell's bottom border. (default: var(--dds-border-width-base))\n * @cssproperty --dds-table-cell-border-color - Color of the cell's bottom border. (default: var(--dds-border-neutral-subtle))\n * @cssproperty --dds-table-cell-text-color - Text color of the cell. (default: var(--dds-text-neutral-base))\n * @cssproperty --dds-table-cell-line-height - Line height of the cell text. (default: 1.5)\n * @cssproperty --dds-table-cell-text-align - Text alignment in the cell. (default: left)\n */\nexport default class DapDSTableCell extends DdsElement {\n static tagName = 'dap-ds-table-cell'\n\n static readonly styles = unsafeCSS(styles)\n\n /**If the cell is the last one.*/\n @property({ type: Boolean, reflect: true }) last: boolean\n /** The html role of the cell */\n @property({ reflect: true })\n public role = 'cell'\n\n render() {\n return html` <slot></slot> `\n }\n}\n"],"names":["_DapDSTableCell","DdsElement","html","unsafeCSS","styles","DapDSTableCell","__decorateClass","property"],"mappings":";;;;;;;;;;;;;AA0BA,MAAqBA,IAArB,MAAqBA,UAAuBC,EAAW;AAAA,EAAvD,cAAA;AAAA,UAAA,GAAA,SAAA,GASE,KAAO,OAAO;AAAA,EAAA;AAAA,EAEd,SAAS;AACA,WAAAC;AAAAA,EAAA;AAEX;AAbEF,EAAO,UAAU,qBAEDA,EAAA,SAASG,EAAUC,CAAM;AAH3C,IAAqBC,IAArBL;AAM8CM,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,GAAM,CAAA;AAAA,GANvBF,EAMyB,WAAA,MAAA;AAGrCC,EAAA;AAAA,EADNC,EAAS,EAAE,SAAS,GAAM,CAAA;AAAA,GARRF,EASZ,WAAA,MAAA;"}
1
+ {"version":3,"file":"table-cell.component.js","sources":["../../../src/components/table/table-cell.component.ts"],"sourcesContent":["import { 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 styles from './table-cell.scss?inline'\n\n/**\n * Table cell component.\n * @element dap-ds-table-cell\n * @title - Table cell\n * @group table\n *\n * @slot - The default slot.\n *\n *\n * @cssproperty --dds-table-cell-padding-block - Padding for the top and bottom of the cell. (default: var(--dds-spacing-200))\n * @cssproperty --dds-table-cell-padding-inline-start - Padding for the start (left in LTR) of the cell. (default: var(--dds-spacing-500))\n * @cssproperty --dds-table-cell-padding-inline-end - Padding for the end (right in LTR) of the cell. (default: var(--dds-spacing-500))\n * @cssproperty --dds-table-cell-border-width - Width of the cell's bottom border. (default: var(--dds-border-width-base))\n * @cssproperty --dds-table-cell-border-color - Color of the cell's bottom border. (default: var(--dds-border-neutral-subtle))\n * @cssproperty --dds-table-cell-text-color - Text color of the cell. (default: var(--dds-text-neutral-base))\n * @cssproperty --dds-table-cell-line-height - Line height of the cell text. (default: 1.5)\n * @cssproperty --dds-table-cell-text-align - Text alignment in the cell. (default: left)\n *\n */\nexport default class DapDSTableCell extends DdsElement {\n static tagName = 'dap-ds-table-cell'\n\n static readonly styles = unsafeCSS(styles)\n\n /**If the cell is the last one.*/\n @property({ type: Boolean, reflect: true }) last: boolean\n /** The html role of the cell */\n @property({ reflect: true })\n public role = 'cell'\n\n render() {\n return html` <slot></slot> `\n }\n}\n"],"names":["_DapDSTableCell","DdsElement","html","unsafeCSS","styles","DapDSTableCell","__decorateClass","property"],"mappings":";;;;;;;;;;AA0BA,MAAqBA,IAArB,MAAqBA,UAAuBC,EAAW;AAAA,EAAvD,cAAA;AAAA,UAAA,GAAA,SAAA,GASE,KAAO,OAAO;AAAA,EAAA;AAAA,EAEd,SAAS;AACA,WAAAC;AAAA,EAAA;AAEX;AAbEF,EAAO,UAAU,qBAEDA,EAAA,SAASG,EAAUC,CAAM;AAH3C,IAAqBC,IAArBL;AAM8CM,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,GAAM,CAAA;AAAA,GANvBF,EAMyB,WAAA,MAAA;AAGrCC,EAAA;AAAA,EADNC,EAAS,EAAE,SAAS,GAAM,CAAA;AAAA,GARRF,EASZ,WAAA,MAAA;"}