dap-design-system 0.62.4 → 0.63.1

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 (660) 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 +11 -0
  119. package/dist/components/datepicker/datepicker.component.js +89 -82
  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 +7 -0
  454. package/dist/components/timepicker/timepicker.component.js +83 -85
  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.d.ts +1 -0
  487. package/dist/internal/mixin/formElementMixin.js +1 -1
  488. package/dist/internal/mixin/formElementMixin.js.map +1 -1
  489. package/dist/internal/mixin/labelPositionedMixin.js +1 -1
  490. package/dist/internal/mixin/labelableMixin.d.ts +1 -1
  491. package/dist/internal/mixin/labelableMixin.js +61 -63
  492. package/dist/internal/mixin/labelableMixin.js.map +1 -1
  493. package/dist/internal/mixin/sizedMixin.js +29 -27
  494. package/dist/internal/mixin/sizedMixin.js.map +1 -1
  495. package/dist/internal/templates/formLabel.d.ts +41 -0
  496. package/dist/internal/templates/formLabel.js +47 -0
  497. package/dist/internal/templates/formLabel.js.map +1 -0
  498. package/dist/localization/localization.d.ts +1 -2
  499. package/dist/localization/localization.js +77 -76
  500. package/dist/localization/localization.js.map +1 -1
  501. package/dist/localization/localize-controller.d.ts +12 -0
  502. package/dist/localization/localize-controller.js +51 -0
  503. package/dist/localization/localize-controller.js.map +1 -0
  504. package/dist/manifest/types/vue/index.d.ts +436 -221
  505. package/dist/manifest/vscode.html-custom-data.json +271 -217
  506. package/dist/manifest/web-types.json +549 -445
  507. package/dist/react/dap-ds-accordion/index.d.ts +1 -0
  508. package/dist/react/dap-ds-accordion/index.js.map +1 -1
  509. package/dist/react/dap-ds-anchor-heading/index.d.ts +1 -0
  510. package/dist/react/dap-ds-anchor-heading/index.js.map +1 -1
  511. package/dist/react/dap-ds-banner/index.d.ts +1 -1
  512. package/dist/react/dap-ds-banner/index.js.map +1 -1
  513. package/dist/react/dap-ds-breadcrumb/index.d.ts +1 -1
  514. package/dist/react/dap-ds-breadcrumb/index.js.map +1 -1
  515. package/dist/react/dap-ds-button-group/index.d.ts +45 -0
  516. package/dist/react/dap-ds-button-group/index.js +15 -0
  517. package/dist/react/dap-ds-button-group/index.js.map +1 -0
  518. package/dist/react/dap-ds-button-group-separator/index.d.ts +24 -0
  519. package/dist/react/dap-ds-button-group-separator/index.js +15 -0
  520. package/dist/react/dap-ds-button-group-separator/index.js.map +1 -0
  521. package/dist/react/dap-ds-button-group-text/index.d.ts +30 -0
  522. package/dist/react/dap-ds-button-group-text/index.js +15 -0
  523. package/dist/react/dap-ds-button-group-text/index.js.map +1 -0
  524. package/dist/react/dap-ds-calendar/index.d.ts +3 -0
  525. package/dist/react/dap-ds-calendar/index.js.map +1 -1
  526. package/dist/react/dap-ds-callout/index.d.ts +1 -0
  527. package/dist/react/dap-ds-callout/index.js.map +1 -1
  528. package/dist/react/dap-ds-card/index.d.ts +1 -0
  529. package/dist/react/dap-ds-card/index.js.map +1 -1
  530. package/dist/react/dap-ds-checkbox/index.d.ts +7 -1
  531. package/dist/react/dap-ds-checkbox/index.js.map +1 -1
  532. package/dist/react/dap-ds-chip/index.d.ts +1 -0
  533. package/dist/react/dap-ds-chip/index.js.map +1 -1
  534. package/dist/react/dap-ds-code-puncher/index.d.ts +4 -0
  535. package/dist/react/dap-ds-code-puncher/index.js.map +1 -1
  536. package/dist/react/dap-ds-combobox/index.d.ts +9 -1
  537. package/dist/react/dap-ds-combobox/index.js.map +1 -1
  538. package/dist/react/dap-ds-command/index.d.ts +3 -0
  539. package/dist/react/dap-ds-command/index.js.map +1 -1
  540. package/dist/react/dap-ds-copybox-input/index.d.ts +11 -0
  541. package/dist/react/dap-ds-copybox-input/index.js.map +1 -1
  542. package/dist/react/dap-ds-datatable/index.d.ts +17 -0
  543. package/dist/react/dap-ds-datatable/index.js.map +1 -1
  544. package/dist/react/dap-ds-datepicker/index.d.ts +8 -0
  545. package/dist/react/dap-ds-datepicker/index.js.map +1 -1
  546. package/dist/react/dap-ds-file-input/index.d.ts +3 -0
  547. package/dist/react/dap-ds-file-input/index.js.map +1 -1
  548. package/dist/react/dap-ds-file-input-list-item/index.d.ts +1 -0
  549. package/dist/react/dap-ds-file-input-list-item/index.js.map +1 -1
  550. package/dist/react/dap-ds-form-label/index.d.ts +1 -1
  551. package/dist/react/dap-ds-form-label/index.js.map +1 -1
  552. package/dist/react/dap-ds-icon-button/index.d.ts +1 -0
  553. package/dist/react/dap-ds-icon-button/index.js.map +1 -1
  554. package/dist/react/dap-ds-input-group/index.d.ts +4 -0
  555. package/dist/react/dap-ds-input-group/index.js.map +1 -1
  556. package/dist/react/dap-ds-list-item/index.d.ts +2 -0
  557. package/dist/react/dap-ds-list-item/index.js.map +1 -1
  558. package/dist/react/dap-ds-number-input/index.d.ts +7 -0
  559. package/dist/react/dap-ds-number-input/index.js.map +1 -1
  560. package/dist/react/dap-ds-official-website-banner/index.d.ts +1 -0
  561. package/dist/react/dap-ds-official-website-banner/index.js.map +1 -1
  562. package/dist/react/dap-ds-option-item/index.d.ts +1 -0
  563. package/dist/react/dap-ds-option-item/index.js.map +1 -1
  564. package/dist/react/dap-ds-option-list/index.d.ts +1 -1
  565. package/dist/react/dap-ds-option-list/index.js.map +1 -1
  566. package/dist/react/dap-ds-password-input/index.d.ts +12 -5
  567. package/dist/react/dap-ds-password-input/index.js.map +1 -1
  568. package/dist/react/dap-ds-radio-button/index.d.ts +5 -0
  569. package/dist/react/dap-ds-radio-button/index.js.map +1 -1
  570. package/dist/react/dap-ds-radio-group/index.d.ts +5 -0
  571. package/dist/react/dap-ds-radio-group/index.js.map +1 -1
  572. package/dist/react/dap-ds-scroll-area/index.d.ts +2 -1
  573. package/dist/react/dap-ds-scroll-area/index.js.map +1 -1
  574. package/dist/react/dap-ds-search/index.d.ts +6 -1
  575. package/dist/react/dap-ds-search/index.js.map +1 -1
  576. package/dist/react/dap-ds-select/index.d.ts +6 -0
  577. package/dist/react/dap-ds-select/index.js.map +1 -1
  578. package/dist/react/dap-ds-sidenav-group/index.d.ts +1 -0
  579. package/dist/react/dap-ds-sidenav-group/index.js.map +1 -1
  580. package/dist/react/dap-ds-snackbar/index.d.ts +0 -1
  581. package/dist/react/dap-ds-snackbar/index.js.map +1 -1
  582. package/dist/react/dap-ds-snackbar-message/index.d.ts +3 -1
  583. package/dist/react/dap-ds-snackbar-message/index.js.map +1 -1
  584. package/dist/react/dap-ds-stack/index.d.ts +2 -1
  585. package/dist/react/dap-ds-stack/index.js.map +1 -1
  586. package/dist/react/dap-ds-switch/index.d.ts +6 -0
  587. package/dist/react/dap-ds-switch/index.js.map +1 -1
  588. package/dist/react/dap-ds-tab-group/index.d.ts +4 -2
  589. package/dist/react/dap-ds-tab-group/index.js.map +1 -1
  590. package/dist/react/dap-ds-table/index.d.ts +2 -0
  591. package/dist/react/dap-ds-table/index.js.map +1 -1
  592. package/dist/react/dap-ds-table-cell/index.d.ts +1 -1
  593. package/dist/react/dap-ds-table-cell/index.js.map +1 -1
  594. package/dist/react/dap-ds-textarea/index.d.ts +2 -0
  595. package/dist/react/dap-ds-textarea/index.js.map +1 -1
  596. package/dist/react/dap-ds-time-grid/index.d.ts +3 -0
  597. package/dist/react/dap-ds-time-grid/index.js.map +1 -1
  598. package/dist/react/dap-ds-timepicker/index.d.ts +5 -0
  599. package/dist/react/dap-ds-timepicker/index.js.map +1 -1
  600. package/dist/react/dap-ds-toc/index.d.ts +2 -0
  601. package/dist/react/dap-ds-toc/index.js.map +1 -1
  602. package/dist/react/dap-ds-tooltip/index.d.ts +2 -0
  603. package/dist/react/dap-ds-tooltip/index.js.map +1 -1
  604. package/dist/react/dap-ds-tray/index.d.ts +4 -1
  605. package/dist/react/dap-ds-tray/index.js.map +1 -1
  606. package/dist/react/index.d.ts +8 -5
  607. package/dist/react-types.ts +8 -5
  608. package/dist/react.js +368 -362
  609. package/dist/react.js.map +1 -1
  610. package/package.json +14 -3
  611. package/dist/node_modules/@lit/context/lib/context-request-event.js +0 -14
  612. package/dist/node_modules/@lit/context/lib/context-request-event.js.map +0 -1
  613. package/dist/node_modules/@lit/context/lib/controllers/context-consumer.js +0 -31
  614. package/dist/node_modules/@lit/context/lib/controllers/context-consumer.js.map +0 -1
  615. package/dist/node_modules/@lit/context/lib/controllers/context-provider.js +0 -40
  616. package/dist/node_modules/@lit/context/lib/controllers/context-provider.js.map +0 -1
  617. package/dist/node_modules/@lit/context/lib/create-context.js +0 -12
  618. package/dist/node_modules/@lit/context/lib/create-context.js.map +0 -1
  619. package/dist/node_modules/@lit/context/lib/value-notifier.js +0 -37
  620. package/dist/node_modules/@lit/context/lib/value-notifier.js.map +0 -1
  621. package/dist/node_modules/@lit/reactive-element/css-tag.js +0 -51
  622. package/dist/node_modules/@lit/reactive-element/css-tag.js.map +0 -1
  623. package/dist/node_modules/@lit/reactive-element/decorators/base.js +0 -10
  624. package/dist/node_modules/@lit/reactive-element/decorators/base.js.map +0 -1
  625. package/dist/node_modules/@lit/reactive-element/decorators/property.js +0 -38
  626. package/dist/node_modules/@lit/reactive-element/decorators/property.js.map +0 -1
  627. package/dist/node_modules/@lit/reactive-element/decorators/query-all.js +0 -17
  628. package/dist/node_modules/@lit/reactive-element/decorators/query-all.js.map +0 -1
  629. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js +0 -20
  630. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js.map +0 -1
  631. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js +0 -20
  632. package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js.map +0 -1
  633. package/dist/node_modules/@lit/reactive-element/decorators/query.js +0 -21
  634. package/dist/node_modules/@lit/reactive-element/decorators/query.js.map +0 -1
  635. package/dist/node_modules/@lit/reactive-element/decorators/state.js +0 -25
  636. package/dist/node_modules/@lit/reactive-element/decorators/state.js.map +0 -1
  637. package/dist/node_modules/@lit/reactive-element/reactive-element.js +0 -276
  638. package/dist/node_modules/@lit/reactive-element/reactive-element.js.map +0 -1
  639. package/dist/node_modules/lit-element/lit-element.js +0 -53
  640. package/dist/node_modules/lit-element/lit-element.js.map +0 -1
  641. package/dist/node_modules/lit-html/async-directive.js +0 -71
  642. package/dist/node_modules/lit-html/async-directive.js.map +0 -1
  643. package/dist/node_modules/lit-html/directive-helpers.js +0 -46
  644. package/dist/node_modules/lit-html/directive-helpers.js.map +0 -1
  645. package/dist/node_modules/lit-html/directive.js +0 -28
  646. package/dist/node_modules/lit-html/directive.js.map +0 -1
  647. package/dist/node_modules/lit-html/directives/if-defined.js +0 -11
  648. package/dist/node_modules/lit-html/directives/if-defined.js.map +0 -1
  649. package/dist/node_modules/lit-html/directives/map.js +0 -15
  650. package/dist/node_modules/lit-html/directives/map.js.map +0 -1
  651. package/dist/node_modules/lit-html/directives/repeat.js +0 -63
  652. package/dist/node_modules/lit-html/directives/repeat.js.map +0 -1
  653. package/dist/node_modules/lit-html/directives/style-map.js +0 -37
  654. package/dist/node_modules/lit-html/directives/style-map.js.map +0 -1
  655. package/dist/node_modules/lit-html/lit-html.js +0 -249
  656. package/dist/node_modules/lit-html/lit-html.js.map +0 -1
  657. package/dist/node_modules/lit-html/static.js +0 -34
  658. package/dist/node_modules/lit-html/static.js.map +0 -1
  659. package/dist/node_modules/lit-i18n/src/lit-i18n.js +0 -95
  660. package/dist/node_modules/lit-i18n/src/lit-i18n.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.component.js","sources":["../../../src/components/calendar/calendar.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport dayjs, { Dayjs } from 'dayjs'\nimport { PropertyValueMap, unsafeCSS } from 'lit'\nimport { property, query, queryAll, state } from 'lit/decorators.js'\nimport { html } from 'lit/static-html.js'\n\nimport { DdsElement } from '@/internal/dds-hu-element'\nimport { t } from '@/localization/localization'\n\nimport DapDSIconButton from '../icon-button/icon-button.component'\nimport ArrowsExpandUpDownFill from '../icons/arrows/arrows-expand-up-down-fill/arrows-expand-up-down-fill.component'\nimport DapDSOptionItem from '../option-item/option-item.component'\nimport DapDSSelect from '../select/select.component'\nimport styles from './calendar.scss?inline'\nimport DapDSCalendarCell from './calendar-cell.component'\n\n/**\n * `dap-ds-calendar`\n * @summary A calendar is a visual representation of dates. It allows users to select a date.\n * @element dap-ds-calendar\n * @title - Calendar\n *\n * @event {{ value: Dayjs }} dds-change - Fired when the calendar value changes.\n *\n * @slot - The content of the calendar.\n *\n * @csspart base - The main calendar container.\n * @csspart calendar-header - The header of the calendar.\n * @csspart body - The body of the calendar.\n * @csspart calendar-grid-header - The header of the calendar grid.\n * @csspart calendar-grid-header-cell - The header cell of the calendar grid.\n * @csspart calendar-grid-cell - The cell of the calendar grid.\n * @csspart calendar-header-button-prev - The previous month button of the calendar header.\n * @csspart calendar-header-button-next - The next month button of the calendar header.\n * @csspart calendar-header-year-select - The year select of the calendar header.\n * @csspart calendar-header-month-select - The month select of the calendar header.\n *\n * @cssproperty --dds-calendar-display - The display property of the calendar container (default: flex)\n * @cssproperty --dds-calendar-isolation - The isolation property of the calendar (default: isolate)\n * @cssproperty --dds-calendar-block-display - The display property of the calendar block (default: block)\n * @cssproperty --dds-calendar-transition - The transition property for the calendar (default: all 0.2s ease-in-out)\n * @cssproperty --dds-calendar-header-display - The display property of the calendar header (default: grid)\n * @cssproperty --dds-calendar-header-grid-flow - The grid-auto-flow property of the calendar header (default: column)\n * @cssproperty --dds-calendar-header-width - The width of the calendar header (default: 100%)\n * @cssproperty --dds-calendar-header-gap - The gap between header items (default: var(--dds-spacing-100))\n * @cssproperty --dds-calendar-select-min-height - The minimum height of the select trigger (default: auto)\n * @cssproperty --dds-calendar-select-max-height - The maximum height of the select trigger (default: 32px)\n * @cssproperty --dds-calendar-select-padding - The padding of the select trigger (default: var(--dds-spacing-200))\n * @cssproperty --dds-calendar-select-border-radius - The border radius of the select trigger (default: var(--dds-radius-rounded))\n * @cssproperty --dds-calendar-select-border-color - The border color of the select trigger (default: var(--dds-border-neutral-transparent-interactive))\n * @cssproperty --dds-calendar-select-background - The background color of the select trigger (default: var(--dds-button-subtle-background-enabled))\n * @cssproperty --dds-calendar-select-color - The text color of the select trigger (default: var(--dds-button-subtle-text-enabled))\n * @cssproperty --dds-calendar-select-font-size - The font size of the select trigger (default: var(--dds-font-sm))\n * @cssproperty --dds-calendar-select-font-style - The font style of the select trigger (default: normal)\n * @cssproperty --dds-calendar-select-font-weight - The font weight of the select trigger (default: var(--dds-font-weight-bold))\n * @cssproperty --dds-calendar-nav-button-margin - The margin of the navigation buttons (default: var(--dds-spacing-200))\n * @cssproperty --dds-calendar-nav-button-color - The color of the navigation button icons (default: var(--dds-button-subtle-icon-enabled))\n */\nexport default class DapDSCalendar extends DdsElement {\n static tagName = 'dap-ds-calendar'\n\n static dependencies = {\n 'dap-ds-calendar-cell': DapDSCalendarCell,\n 'dap-ds-icon-button': DapDSIconButton,\n 'dap-ds-select': DapDSSelect,\n 'dap-ds-icon-expand-up-down-fill': ArrowsExpandUpDownFill,\n 'dap-ds-option-item': DapDSOptionItem,\n }\n\n @queryAll('dap-ds-calendar-cell:not([header])')\n private readonly cells: NodeListOf<DapDSCalendarCell>\n\n @query('#monthSelect')\n private readonly monthSelect: DapDSSelect\n\n /** The mode of the calendar - single date or range selection.\n * @type {'single' | 'range'}\n * @default 'single'\n */\n @property({ reflect: true }) mode: 'single' | 'range' = 'single'\n\n /** Whether to hide dates from adjacent months (previous/next) in the calendar grid. When not explicitly set, defaults to false for single mode and true for range mode.*/\n @property({ type: Boolean }) hideAdjacentMonths: boolean = false\n\n /** The value of the calendar.\n * @type {Dayjs}\n */\n @property({ attribute: false }) value?: Dayjs\n\n /** The start date of the range selection (only used in range mode).\n * @type {Dayjs}\n */\n @property({ attribute: false }) rangeStart?: Dayjs\n\n /** The end date of the range selection (only used in range mode).\n * @type {Dayjs}\n */\n @property({ attribute: false }) rangeEnd?: Dayjs\n\n /** The current visible date of the calendar. Only the month and year are considered.\n * @type {Dayjs}\n * @default dayjs()\n */\n @property({ attribute: false }) currentDate = dayjs()\n\n /** The minimum date of the calendar. Only the month and year are considered.\n * @type {Dayjs}\n * @default dayjs().subtract(50, 'year')\n */\n @property({ attribute: false }) minDate = dayjs().subtract(50, 'year')\n\n /** The maximum date of the calendar. Only the month and year are considered.\n * @type {Dayjs}\n * @default dayjs().add(50, 'year')\n */\n @property({ attribute: false }) maxDate = dayjs().add(50, 'year')\n\n /** The function to determine if the date is disabled.\n * @type {Function}\n * @default () => false\n */\n @property({ attribute: false }) disabledDate = (date: Dayjs) => {\n return !date\n }\n\n /** The locale of the calendar.\n * @type {'hu' | 'en' | 'de'}\n * @default dayjs.locale()\n */\n @property({ reflect: true }) locale: string = dayjs.locale()\n\n /** `data-testid` for the previous-month button. */\n @property() prevButtonTestId = 'calendar-prev-button'\n\n /** `data-testid` for the next-month button. */\n @property() nextButtonTestId = 'calendar-next-button'\n\n @state() private _currentCell: DapDSCalendarCell\n @state() private _yearOptionsLoaded = false\n\n private instanceLocalData = dayjs().localeData()\n\n async connectedCallback(): Promise<void> {\n super.connectedCallback()\n\n if (!dayjs.isDayjs(this.currentDate)) {\n this.currentDate = dayjs(this.currentDate)\n }\n\n if (this.locale) {\n this.instanceLocalData = dayjs().locale(this.locale).localeData()\n this.currentDate = dayjs(this.currentDate).locale(this.locale)\n // Remove requestUpdate() - let Lit handle the update cycle\n }\n }\n\n static readonly styles = unsafeCSS(styles)\n\n get startDate() {\n if (dayjs.isDayjs(this.currentDate)) {\n return dayjs(this.currentDate.toDate())\n .locale(this.locale)\n .startOf('month')\n }\n return dayjs(this.currentDate).locale(this.locale).startOf('month')\n }\n\n get endDate() {\n return dayjs(this.currentDate).locale(this.locale).endOf('month')\n }\n\n get shouldHideAdjacentMonths() {\n // If explicitly set, use that value\n if (this.mode === 'range') {\n return true\n }\n // Default: false for single mode, true for range mode\n return this.hideAdjacentMonths\n }\n\n protected firstUpdated(\n _changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>,\n ): void {\n super.firstUpdated(_changedProperties)\n const documentElementObserver = new MutationObserver(\n this.updateLocaleFromHtml,\n )\n\n documentElementObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir', 'lang'],\n })\n\n this.setValue(this.value, false)\n\n // Load year options after initial render to improve startup performance\n // but ensure they're available for user interaction\n queueMicrotask(() => this.loadYearOptions())\n }\n\n protected updated(\n _changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>,\n ): void {\n super.updated(_changedProperties)\n\n if (_changedProperties.has('value')) {\n this.setValue(this.value, false)\n }\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null,\n ): void {\n super.attributeChangedCallback(name, _old, value)\n\n if (name === 'locale') {\n this.updateLocale(value)\n }\n }\n\n private readonly updateLocale = (locale?: string | null) => {\n if (!locale) {\n this.locale = dayjs.locale()\n } else {\n this.instanceLocalData = dayjs().locale(locale).localeData()\n this.locale = locale\n\n // Defer DOM manipulation to avoid update cycles\n this.updateComplete.then(() => {\n this.monthSelect\n ?.querySelectorAll('dap-ds-option-item')\n .forEach(item => item.remove())\n\n const monthOptions = this.getAllowedMonths(\n dayjs(this.currentDate).locale(this.locale),\n ).map(month => {\n const option = document.createElement('dap-ds-option-item')\n option.value = `${this.instanceLocalData.months().indexOf(month) + 1}`\n option.appendChild(document.createTextNode(month))\n return option\n })\n\n monthOptions.forEach(monthOption =>\n this.monthSelect?.appendChild(monthOption),\n )\n })\n }\n // Remove manual requestUpdate() - locale property change will trigger update\n }\n\n private readonly updateLocaleFromHtml = (mutationList: any) => {\n this.updateLocale(mutationList[0].target[mutationList[0].attributeName])\n }\n\n setValue(value?: Dayjs, setFocus = true) {\n if (value) {\n if (\n this.isOutOfRange(\n dayjs(this.currentDate).locale(this.locale),\n dayjs(value),\n )\n ) {\n this.setToFirstDayOfMonth()\n } else {\n const selectedCell = this.getCellByDate(dayjs(value))\n this.setCurrentCell(selectedCell!, setFocus)\n }\n } else if (\n this.isOutOfRange(dayjs(this.currentDate).locale(this.locale), dayjs())\n ) {\n this.setToFirstAllowedDayOfMonth()\n } else {\n this.setToToday()\n }\n }\n\n private readonly getWeeksInMonth = (date: Dayjs) => {\n const days = date.daysInMonth()\n const weekday = date.weekday()\n\n return Math.ceil((days + weekday) / 7)\n }\n\n private loadYearOptions() {\n if (!this._yearOptionsLoaded) {\n this._yearOptionsLoaded = true\n // Immediate update for better UX\n this.requestUpdate()\n }\n }\n\n isOutOfRange(currentDate: Dayjs, date: Dayjs) {\n return !dayjs(currentDate).locale(this.locale).isSame(date, 'month')\n }\n\n isToday(date: Dayjs) {\n return date.isSame(new Date(), 'day')\n }\n\n isSelected(date: Dayjs) {\n if (this.mode === 'range') {\n return this.isRangeStart(date) || this.isRangeEnd(date)\n }\n\n if (!this.value) {\n return false\n }\n\n return date.isSame(this.value, 'day')\n }\n\n isRangeStart(date: Dayjs) {\n if (this.mode !== 'range' || !this.rangeStart) {\n return false\n }\n return date.isSame(this.rangeStart, 'day')\n }\n\n isRangeEnd(date: Dayjs) {\n if (this.mode !== 'range' || !this.rangeEnd) {\n return false\n }\n return date.isSame(this.rangeEnd, 'day')\n }\n\n isInRange(date: Dayjs) {\n if (this.mode !== 'range' || !this.rangeStart || !this.rangeEnd) {\n return false\n }\n return (\n date.isAfter(this.rangeStart, 'day') &&\n date.isBefore(this.rangeEnd, 'day')\n )\n }\n\n getDatesInWeek(week: number, from: Dayjs) {\n let date = from.startOf('week').add(week, 'week')\n const dates: Dayjs[] = []\n\n while (dates.length < 7) {\n dates.push(date)\n const nextDate = date.add(1, 'day')\n if (date.isSame(from.endOf('month'))) {\n break\n }\n date = nextDate\n }\n\n return dates\n }\n\n isDateInAllowedRange(date: Dayjs) {\n const minDate = dayjs(this.minDate).locale(this.locale)\n const maxDate = dayjs(this.maxDate).locale(this.locale)\n return !date.isBefore(minDate, 'day') && !date.isAfter(maxDate, 'day')\n }\n\n isMonthInAllowedRange(year: number, month: number) {\n const monthStart = dayjs(new Date(year, month, 1)).locale(this.locale)\n const monthEnd = monthStart.endOf('month')\n const minDate = dayjs(this.minDate).locale(this.locale)\n const maxDate = dayjs(this.maxDate).locale(this.locale)\n\n // A month is allowed if it intersects the [minDate, maxDate] range.\n return (\n !monthEnd.isBefore(minDate, 'day') && !monthStart.isAfter(maxDate, 'day')\n )\n }\n\n isDateInAllowedRangeByDate(year: number, month: number, date: number) {\n return this.isDateInAllowedRange(dayjs(new Date(year, month, date)))\n }\n\n getAllowedMonths(currentDate: Dayjs) {\n const minDate = dayjs(this.minDate).locale(this.locale)\n const maxDate = dayjs(this.maxDate).locale(this.locale)\n const minYear = minDate.year()\n const maxYear = maxDate.year()\n const minMonth = minDate.month()\n const maxMonth = maxDate.month()\n\n if (currentDate.year() === minYear && currentDate.year() === maxYear) {\n return Array.from(\n { length: maxMonth - minMonth + 1 },\n (_, i) => this.instanceLocalData.months()[i + minMonth],\n )\n }\n\n if (currentDate.year() === minYear) {\n return Array.from(\n { length: 12 - minMonth },\n (_, i) => this.instanceLocalData.months()[i + minMonth],\n )\n }\n\n if (currentDate.year() === maxYear) {\n return Array.from(\n { length: maxMonth + 1 },\n (_, i) => this.instanceLocalData.months()[i],\n )\n }\n\n const months = Array.from(\n { length: 12 },\n (_, i) => this.instanceLocalData.months()[i],\n )\n\n return months\n }\n\n setMonth(month: number) {\n if (\n month < 0 &&\n this.isMonthInAllowedRange(dayjs(this.currentDate).year() - 1, 11)\n ) {\n this.setYear(dayjs(this.currentDate).locale(this.locale).year() - 1)\n this.currentDate = this.currentDate.locale(this.locale).set('month', 11)\n return\n }\n\n if (\n month > 11 &&\n this.isMonthInAllowedRange(\n dayjs(this.currentDate).locale(this.locale).year() + 1,\n 0,\n )\n ) {\n this.setYear(dayjs(this.currentDate).year() + 1)\n this.currentDate = this.currentDate.set('month', 0)\n return\n }\n\n if (\n !this.isMonthInAllowedRange(\n dayjs(this.currentDate).locale(this.locale).year(),\n month,\n )\n ) {\n return\n }\n\n this.currentDate = dayjs(this.currentDate)\n .locale(this.locale)\n .set('month', month)\n // Remove requestUpdate() - currentDate property change will trigger update\n }\n\n setDay(day: number) {\n const date = dayjs(this.currentDate).locale(this.locale)\n\n if (!this.isDateInAllowedRangeByDate(date.year(), date.month(), day)) {\n return\n }\n\n this.currentDate = date.set('date', day)\n // Remove requestUpdate() - currentDate property change will trigger update\n }\n\n setYear(year: number) {\n const date = dayjs(this.currentDate).locale(this.locale)\n\n this.currentDate = date.set('year', year)\n // Remove requestUpdate() - currentDate property change will trigger update\n }\n\n setSelectedDate(date: Dayjs) {\n if (this.disabledDate(date)) {\n return\n }\n\n if (!this.isDateInAllowedRange(date)) {\n return\n }\n\n if (this.isOutOfRange(dayjs(this.currentDate).locale(this.locale), date)) {\n this.setMonth(date.month())\n }\n\n if (this.mode === 'range') {\n // Range selection logic\n if (!this.rangeStart || (this.rangeStart && this.rangeEnd)) {\n // Start new range selection\n this.rangeStart = date\n this.rangeEnd = undefined\n // Update currentDate to show the start date's month\n this.currentDate = dayjs(date).locale(this.locale)\n } else if (this.rangeStart && !this.rangeEnd) {\n // Complete range selection\n if (date.isBefore(this.rangeStart)) {\n // If end date is before start date, swap them\n this.rangeEnd = this.rangeStart\n this.rangeStart = date\n } else {\n this.rangeEnd = date\n }\n\n // Update currentDate to show the start date's month in the first calendar\n this.currentDate = dayjs(this.rangeStart).locale(this.locale)\n\n // Emit range-change event\n this.emit('dds-range-change', {\n startDate: this.rangeStart,\n endDate: this.rangeEnd,\n })\n }\n\n this.setCurrentCell(this.getCellByDate(date)!)\n } else {\n // Single date selection\n this.value = date\n this.setCurrentCell(this.getCellByDate(date)!)\n\n this.emit('dds-change', {\n value: this.value,\n type: 'value',\n })\n }\n }\n\n getFirstDayOfMonthCell() {\n return [...this.cells].find(cell => {\n return dayjs(cell.value).locale(this.locale).isSame(this.startDate, 'day')\n })\n }\n\n getCellByDate(date: Dayjs) {\n return [...this.cells].find(cell => {\n return dayjs(cell.value).locale(this.locale).isSame(date, 'day')\n })\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n return\n }\n\n event.preventDefault()\n const element = event.composedPath()[0]\n if (element instanceof DapDSCalendarCell) {\n switch (event.code) {\n case 'ArrowLeft':\n this.focusNextCell(element, -1)\n break\n case 'ArrowRight':\n this.focusNextCell(element, 1)\n break\n case 'ArrowUp':\n this.focusNextCell(element, -7)\n break\n case 'ArrowDown':\n this.focusNextCell(element, 7)\n break\n case 'PageUp':\n this.setMonth(dayjs(this.currentDate).locale(this.locale).month() - 1)\n break\n case 'PageDown':\n this.setMonth(dayjs(this.currentDate).locale(this.locale).month() + 1)\n break\n case 'Enter':\n this.setSelectedDate(element.value)\n break\n case 'Escape':\n this.emit('dds-close')\n break\n }\n } else if (event.key === 'Escape') {\n this.emit('dds-close')\n }\n }\n\n setCurrentCell(cell: DapDSCalendarCell, setFocus = true) {\n if (this._currentCell) {\n this._currentCell.setAttribute('tabindex', '-1')\n }\n this._currentCell = cell\n if (this._currentCell) {\n this._currentCell.setAttribute('tabindex', '0')\n }\n\n if (setFocus && this._currentCell) {\n this.setFocusToCurrentCell()\n }\n }\n\n setFocusToCurrentCell() {\n this._currentCell.focus()\n }\n\n setToFirstDayOfMonth() {\n const firstDayofMonth = this.getFirstDayOfMonthCell()\n firstDayofMonth?.setAttribute('tabindex', '0')\n this._currentCell = firstDayofMonth!\n }\n\n setToToday() {\n const today = this.getCellByDate(dayjs())\n today?.setAttribute('tabindex', '0')\n this._currentCell = today!\n }\n\n setToFirstAllowedDayOfMonth(currentDate = this.currentDate) {\n const firstAllowedDay = this.getCellByDate(\n dayjs(currentDate).locale(this.locale).startOf('month'),\n )\n firstAllowedDay?.setAttribute('tabindex', '0')\n this._currentCell = firstAllowedDay!\n }\n\n focusNextCell(element: DapDSCalendarCell, offset: number) {\n const index = [...this.cells].indexOf(element)\n const nextIndex = index + offset\n const currentMonth = dayjs(this.currentDate).locale(this.locale).month()\n\n if (nextIndex >= 0 && nextIndex < this.cells.length) {\n const cell = this.cells[nextIndex]\n this.setCurrentCell(cell)\n } else if (nextIndex < 0) {\n this.setMonth(currentMonth - 1)\n\n if (this.currentDate.month() < currentMonth) {\n this.updateComplete.then(() => {\n const lastDay = dayjs(this.currentDate)\n .locale(this.locale)\n .endOf('month')\n const lastDayCell = this.getCellByDate(lastDay)\n this.setCurrentCell(lastDayCell!)\n })\n }\n } else if (nextIndex >= this.cells.length) {\n this.setMonth(currentMonth + 1)\n\n if (this.currentDate.month() > currentMonth) {\n this.updateComplete.then(() => {\n const firstDay = dayjs(this.currentDate)\n .locale(this.locale)\n .startOf('month')\n const firstDayCell = this.getCellByDate(firstDay)\n this.setCurrentCell(firstDayCell!)\n })\n }\n }\n }\n\n public captureFocus(): void {\n this.focus()\n this.setFocusToCurrentCell()\n }\n\n private getWeekdaysMin() {\n const firstDay = this.instanceLocalData.firstDayOfWeek()\n const weekdays = this.instanceLocalData.weekdaysMin()\n return weekdays.slice(firstDay).concat(weekdays.slice(0, firstDay))\n }\n\n renderCalendarGridHeader() {\n return html`<thead part=\"calendar-grid-header\" class=\"calendar-grid-header\">\n <tr class=\"calendar-grid-header-row\">\n ${this.getWeekdaysMin().map(\n day =>\n html`<th class=\"calendar-cell\">\n <dap-ds-calendar-cell\n header\n part=\"calendar-grid-header-cell\"\n exportparts=\"base: calendar-grid-header-cell-base\"\n locale=${this.locale}\n >${day}</dap-ds-calendar-cell\n >\n </th>`,\n )}\n </tr>\n </thead>`\n }\n\n renderCalendarGridBody(date: Dayjs) {\n return html`<tbody part=\"body\" class=\"calendar-grid-body\">\n ${[\n ...new Array(\n this.getWeeksInMonth(date || dayjs().locale(this.locale)),\n ).keys(),\n ].map(\n week =>\n html`<tr class=\"calendar-grid-row\">\n ${this.getDatesInWeek(week, date).map(d => {\n const isOutOfRange = this.isOutOfRange(date, d)\n const isDisabled =\n !this.isDateInAllowedRange(d) || this.disabledDate(d)\n\n const isRangeStart = this.isRangeStart(d)\n const isRangeEnd = this.isRangeEnd(d)\n const isInRange = this.isInRange(d)\n\n // Hide dates from adjacent months if shouldHideAdjacentMonths is true\n if (this.shouldHideAdjacentMonths && isOutOfRange) {\n return html`<td\n role=\"gridcell\"\n class=\"${clsx('calendar-cell calendar-cell--empty')}\"></td>`\n }\n\n return html`<td\n role=\"gridcell\"\n class=\"${clsx('calendar-cell')}\"\n aria-disabled=${isDisabled}>\n <dap-ds-calendar-cell\n part=\"calendar-grid-cell\"\n exportparts=\"base: calendar-grid-cell-base, today-mark: calendar-grid-cell-today-mark\"\n ?outofrange=${isOutOfRange}\n ?today=${this.isToday(d)}\n ?selected=${this.isSelected(d)}\n ?rangestart=${isRangeStart}\n ?rangeend=${isRangeEnd}\n ?inrange=${isInRange}\n .value=${d}\n locale=${this.locale}\n ?disabledDay=${isDisabled}\n role=\"button\"\n aria-pressed=${this.isSelected(d)}\n aria-disabled=${isDisabled}\n @click=${() => !isDisabled && this.setSelectedDate(d)}\n @keydown=${this.handleKeyDown}\n >${d.date()}</dap-ds-calendar-cell\n >\n </td>`\n })}\n </tr> `,\n )}\n </tbody>`\n }\n\n renderCalendarHeader() {\n return html`\n <header\n part=\"calendar-header\"\n class=\"calendar__header\"\n @keydown=${this.handleKeyDown}>\n <dap-ds-icon-button\n part=\"calendar-header-button-prev\"\n class=\"calendar__header-button-prev\"\n data-testid=${this.prevButtonTestId}\n clean\n size=\"lg\"\n variant=\"brand\"\n icon=\"arrow-left-l-line\"\n @keydown=${this.handleKeyDown}\n aria-label=${t('calendar.prevMonth', { lng: this.locale })}\n @click=${() => {\n this.setMonth(this.currentDate.month() - 1)\n }}>\n </dap-ds-icon-button>\n <dap-ds-select\n part=\"calendar-header-year-select\"\n floatingStrategy=\"fixed\"\n class=${clsx(\n 'calendar__header-select',\n 'calendar__header-year-select',\n )}\n @dds-keydown=${this.handleKeyDown}\n size=\"sm\"\n noAnimation\n aria-label=${t('calendar.year', { lng: this.locale })}\n value=${dayjs(this.currentDate).year()}\n @dds-change=${(e: CustomEvent) => {\n e.preventDefault()\n e.stopPropagation()\n if (\n e.detail.value &&\n !isNaN(parseInt(e.detail.value)) &&\n parseInt(e.detail.value) !==\n dayjs(this.currentDate).locale(this.locale).year()\n ) {\n this.currentDate = dayjs(this.currentDate)\n .locale(this.locale)\n .set('year', parseInt(e.detail.value))\n // Remove requestUpdate() - currentDate property change will trigger update\n }\n }}>\n <dap-ds-icon-expand-up-down-fill\n slot=\"indicator-icon\"\n size=\"16\"></dap-ds-icon-expand-up-down-fill>\n ${this._yearOptionsLoaded\n ? [\n ...new Array(\n dayjs(this.maxDate).locale(this.locale).year() -\n dayjs(this.minDate).locale(this.locale).year() +\n 1,\n ).keys(),\n ].map(\n year =>\n html`<dap-ds-option-item\n value=${dayjs(this.minDate).locale(this.locale).year() +\n year}>\n ${dayjs(this.minDate).locale(this.locale).year() + year}\n </dap-ds-option-item>`,\n )\n : html`<dap-ds-option-item value=${dayjs(this.currentDate).year()}>\n ${dayjs(this.currentDate).year()}\n </dap-ds-option-item>`}\n </dap-ds-select>\n <dap-ds-select\n id=\"monthSelect\"\n part=\"calendar-header-month-select\"\n floatingStrategy=\"fixed\"\n class=${clsx(\n 'calendar__header-select',\n 'calendar__header-month-select',\n )}\n size=\"sm\"\n noAnimation\n aria-label=${t('calendar.month', { lng: this.locale })}\n value=${dayjs(this.currentDate).locale(this.locale).month() + 1}\n @dds-change=${(e: CustomEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (\n e.detail.value &&\n !isNaN(parseInt(e.detail.value)) &&\n parseInt(e.detail.value) !==\n dayjs(this.currentDate).locale(this.locale).month() + 1\n ) {\n this.setMonth(parseInt(e.detail.value) - 1)\n }\n }}>\n <dap-ds-icon-expand-up-down-fill\n slot=\"indicator-icon\"\n size=\"16\"></dap-ds-icon-expand-up-down-fill>\n ${this.getAllowedMonths(\n dayjs(this.currentDate).locale(this.locale),\n ).map(\n month =>\n html`<dap-ds-option-item\n value=${this.instanceLocalData.months().indexOf(month) + 1}>\n ${month}\n </dap-ds-option-item>`,\n )}\n </dap-ds-select>\n <dap-ds-icon-button\n part=\"calendar-header-button-next\"\n class=\"calendar__header-button-next\"\n data-testid=${this.nextButtonTestId}\n clean\n size=\"lg\"\n variant=\"brand\"\n icon=\"arrow-right-l-line\"\n aria-label=${t('calendar.nextMonth', { lng: this.locale })}\n @click=${() => {\n this.setMonth(\n dayjs(this.currentDate).locale(this.locale).month() + 1,\n )\n }}>\n </dap-ds-icon-button>\n </header>\n `\n }\n\n render() {\n if (this.mode === 'range') {\n // Render two calendars side-by-side for range mode\n const currentMonth = dayjs(this.currentDate).locale(this.locale)\n const nextMonth = currentMonth.add(1, 'month')\n\n return html` <div class=\"calendar calendar--range\">\n ${this.renderCalendarHeader()}\n <div class=\"calendar__months\">\n <div class=\"calendar__month\">\n <table\n part=\"base\"\n class=\"calendar__grid\"\n role=\"grid\"\n aria-label=${`${this.rangeStart ? dayjs(this.rangeStart).locale(this.locale).format('LL, dddd') : ''}`}>\n ${this.renderCalendarGridHeader()}\n ${this.renderCalendarGridBody(this.startDate)}\n </table>\n </div>\n <div class=\"calendar__month calendar__month--next\">\n <table\n part=\"base\"\n class=\"calendar__grid\"\n role=\"grid\"\n aria-label=${`${this.rangeEnd ? dayjs(this.rangeEnd).locale(this.locale).format('LL, dddd') : ''}`}>\n ${this.renderCalendarGridHeader()}\n ${this.renderCalendarGridBody(nextMonth.startOf('month'))}\n </table>\n </div>\n </div>\n </div>`\n }\n\n // Single date mode\n return html` <div class=\"calendar\">\n ${this.renderCalendarHeader()}\n <table\n part=\"base\"\n class=\"calendar__grid\"\n role=\"grid\"\n aria-label=${`${this.value ? dayjs(this.value).locale(this.locale).format('LL, dddd') : ''}`}>\n ${this.renderCalendarGridHeader()}\n ${this.renderCalendarGridBody(this.startDate)}\n </table>\n </div>`\n }\n}\n"],"names":["_DapDSCalendar","DdsElement","dayjs","date","locale","_a","item","month","option","monthOption","mutationList","days","weekday","__async","__superGet","_changedProperties","name","_old","value","setFocus","selectedCell","currentDate","week","from","dates","nextDate","minDate","maxDate","year","monthStart","monthEnd","minYear","maxYear","minMonth","maxMonth","_","i","day","cell","event","element","DapDSCalendarCell","firstDayofMonth","today","firstAllowedDay","offset","nextIndex","currentMonth","lastDay","lastDayCell","firstDay","firstDayCell","weekdays","html","d","isOutOfRange","isDisabled","isRangeStart","isRangeEnd","isInRange","clsx","t","nextMonth","DapDSIconButton","DapDSSelect","ArrowsExpandUpDownFill","DapDSOptionItem","unsafeCSS","styles","DapDSCalendar","__decorateClass","queryAll","query","property","state"],"mappings":"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"}
1
+ {"version":3,"file":"calendar.component.js","sources":["../../../src/components/calendar/calendar.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport dayjs, { Dayjs } from 'dayjs'\nimport { PropertyValueMap, unsafeCSS } from 'lit'\nimport { property, query, queryAll, state } from 'lit/decorators.js'\nimport { html } from 'lit/static-html.js'\n\nimport { DdsElement } from '@/internal/dds-hu-element'\nimport { t } from '@/localization/localization'\n\nimport DapDSIconButton from '../icon-button/icon-button.component'\nimport ArrowsExpandUpDownFill from '../icons/arrows/arrows-expand-up-down-fill/arrows-expand-up-down-fill.component'\nimport DapDSOptionItem from '../option-item/option-item.component'\nimport DapDSSelect from '../select/select.component'\nimport styles from './calendar.scss?inline'\nimport DapDSCalendarCell from './calendar-cell.component'\n\n/**\n * `dap-ds-calendar`\n * @summary A calendar is a visual representation of dates. It allows users to select a date.\n * @element dap-ds-calendar\n * @title - Calendar\n *\n * @event {{ value: Dayjs }} dds-change - Fired when the calendar value changes.\n *\n * @slot - The content of the calendar.\n *\n * @csspart base - The main calendar container.\n * @csspart calendar-header - The header of the calendar.\n * @csspart body - The body of the calendar.\n * @csspart calendar-grid-header - The header of the calendar grid.\n * @csspart calendar-grid-header-cell - The header cell of the calendar grid.\n * @csspart calendar-grid-cell - The cell of the calendar grid.\n * @csspart calendar-header-button-prev - The previous month button of the calendar header.\n * @csspart calendar-header-button-next - The next month button of the calendar header.\n * @csspart calendar-header-year-select - The year select of the calendar header.\n * @csspart calendar-header-month-select - The month select of the calendar header.\n * @csspart calendar-grid-header-cell-base - The base of the calendar grid header cell.\n * @csspart calendar-grid-cell-base - The base of the calendar grid cell.\n * @csspart calendar-grid-cell-today-mark - The today mark of the calendar grid cell.\n *\n * @cssproperty --dds-calendar-display - The display property of the calendar container (default: flex)\n * @cssproperty --dds-calendar-isolation - The isolation property of the calendar (default: isolate)\n * @cssproperty --dds-calendar-block-display - The display property of the calendar block (default: block)\n * @cssproperty --dds-calendar-transition - The transition property for the calendar (default: all 0.2s ease-in-out)\n * @cssproperty --dds-calendar-header-display - The display property of the calendar header (default: grid)\n * @cssproperty --dds-calendar-header-grid-flow - The grid-auto-flow property of the calendar header (default: column)\n * @cssproperty --dds-calendar-header-width - The width of the calendar header (default: 100%)\n * @cssproperty --dds-calendar-header-gap - The gap between header items (default: var(--dds-spacing-100))\n * @cssproperty --dds-calendar-select-min-height - The minimum height of the select trigger (default: auto)\n * @cssproperty --dds-calendar-select-max-height - The maximum height of the select trigger (default: 32px)\n * @cssproperty --dds-calendar-select-padding - The padding of the select trigger (default: var(--dds-spacing-200))\n * @cssproperty --dds-calendar-select-border-radius - The border radius of the select trigger (default: var(--dds-radius-rounded))\n * @cssproperty --dds-calendar-select-border-color - The border color of the select trigger (default: var(--dds-border-neutral-transparent-interactive))\n * @cssproperty --dds-calendar-select-background - The background color of the select trigger (default: var(--dds-button-subtle-background-enabled))\n * @cssproperty --dds-calendar-select-color - The text color of the select trigger (default: var(--dds-button-subtle-text-enabled))\n * @cssproperty --dds-calendar-select-font-size - The font size of the select trigger (default: var(--dds-font-sm))\n * @cssproperty --dds-calendar-select-font-style - The font style of the select trigger (default: normal)\n * @cssproperty --dds-calendar-select-font-weight - The font weight of the select trigger (default: var(--dds-font-weight-bold))\n * @cssproperty --dds-calendar-nav-button-margin - The margin of the navigation buttons (default: var(--dds-spacing-200))\n * @cssproperty --dds-calendar-nav-button-color - The color of the navigation button icons (default: var(--dds-button-subtle-icon-enabled))\n */\nexport default class DapDSCalendar extends DdsElement {\n static tagName = 'dap-ds-calendar'\n\n static dependencies = {\n 'dap-ds-calendar-cell': DapDSCalendarCell,\n 'dap-ds-icon-button': DapDSIconButton,\n 'dap-ds-select': DapDSSelect,\n 'dap-ds-icon-expand-up-down-fill': ArrowsExpandUpDownFill,\n 'dap-ds-option-item': DapDSOptionItem,\n }\n\n @queryAll('dap-ds-calendar-cell:not([header])')\n private readonly cells: NodeListOf<DapDSCalendarCell>\n\n @query('#monthSelect')\n private readonly monthSelect: DapDSSelect\n\n /** The mode of the calendar - single date or range selection.\n * @type {'single' | 'range'}\n * @default 'single'\n */\n @property({ reflect: true }) mode: 'single' | 'range' = 'single'\n\n /** Whether to hide dates from adjacent months (previous/next) in the calendar grid. When not explicitly set, defaults to false for single mode and true for range mode.*/\n @property({ type: Boolean }) hideAdjacentMonths: boolean = false\n\n /** The value of the calendar.\n * @type {Dayjs}\n */\n @property({ attribute: false }) value?: Dayjs\n\n /** The start date of the range selection (only used in range mode).\n * @type {Dayjs}\n */\n @property({ attribute: false }) rangeStart?: Dayjs\n\n /** The end date of the range selection (only used in range mode).\n * @type {Dayjs}\n */\n @property({ attribute: false }) rangeEnd?: Dayjs\n\n /** The current visible date of the calendar. Only the month and year are considered.\n * @type {Dayjs}\n * @default dayjs()\n */\n @property({ attribute: false }) currentDate = dayjs()\n\n /** The minimum date of the calendar. Only the month and year are considered.\n * @type {Dayjs}\n * @default dayjs().subtract(50, 'year')\n */\n @property({ attribute: false }) minDate = dayjs().subtract(50, 'year')\n\n /** The maximum date of the calendar. Only the month and year are considered.\n * @type {Dayjs}\n * @default dayjs().add(50, 'year')\n */\n @property({ attribute: false }) maxDate = dayjs().add(50, 'year')\n\n /** The function to determine if the date is disabled.\n * @type {Function}\n * @default () => false\n */\n @property({ attribute: false }) disabledDate = (date: Dayjs) => {\n return !date\n }\n\n /** The locale of the calendar.\n * @type {'hu' | 'en' | 'de'}\n * @default dayjs.locale()\n */\n @property({ reflect: true }) locale: string = dayjs.locale()\n\n /** `data-testid` for the previous-month button. */\n @property() prevButtonTestId = 'calendar-prev-button'\n\n /** `data-testid` for the next-month button. */\n @property() nextButtonTestId = 'calendar-next-button'\n\n @state() private _currentCell: DapDSCalendarCell\n @state() private _yearOptionsLoaded = false\n\n /** Locale-aware month/weekday data. Derived from `this.locale` (a reactive\n * property Lit sets from the attribute during SSR) so the weekday/month names\n * are correct in the SERVER render. The old approach set this field only from\n * `connectedCallback`/`attributeChangedCallback`, neither of which takes effect\n * on the server, so SSR rendered English names that then mismatched the\n * Hungarian client hydration render. */\n private get instanceLocalData() {\n return dayjs()\n .locale(this.locale || dayjs.locale())\n .localeData()\n }\n\n async connectedCallback(): Promise<void> {\n super.connectedCallback()\n\n if (!dayjs.isDayjs(this.currentDate)) {\n this.currentDate = dayjs(this.currentDate)\n }\n\n if (this.locale) {\n this.currentDate = dayjs(this.currentDate).locale(this.locale)\n // Remove requestUpdate() - let Lit handle the update cycle\n }\n }\n\n static readonly styles = unsafeCSS(styles)\n\n get startDate() {\n if (dayjs.isDayjs(this.currentDate)) {\n return dayjs(this.currentDate.toDate())\n .locale(this.locale)\n .startOf('month')\n }\n return dayjs(this.currentDate).locale(this.locale).startOf('month')\n }\n\n get endDate() {\n return dayjs(this.currentDate).locale(this.locale).endOf('month')\n }\n\n get shouldHideAdjacentMonths() {\n // If explicitly set, use that value\n if (this.mode === 'range') {\n return true\n }\n // Default: false for single mode, true for range mode\n return this.hideAdjacentMonths\n }\n\n protected firstUpdated(\n _changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>,\n ): void {\n super.firstUpdated(_changedProperties)\n const documentElementObserver = new MutationObserver(\n this.updateLocaleFromHtml,\n )\n\n documentElementObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir', 'lang'],\n })\n\n this.setValue(this.value, false)\n\n // Load year options after initial render to improve startup performance\n // but ensure they're available for user interaction\n queueMicrotask(() => this.loadYearOptions())\n }\n\n protected updated(\n _changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>,\n ): void {\n super.updated(_changedProperties)\n\n if (_changedProperties.has('value')) {\n this.setValue(this.value, false)\n }\n\n if (_changedProperties.has('locale')) {\n // The month select's displayed (collapsed) label is derived from its\n // slotted option-item text, which we relabel on locale change. Relabeling\n // existing option text nodes does NOT fire `slotchange`, and the select's\n // own `value` is unchanged, so it won't re-render on its own — its trigger\n // keeps the previous language's month name even though the options are\n // correct. Force it to re-read the now-localized selected option text.\n // (The year select shows a locale-independent number, so it needs nothing.)\n this.monthSelect?.requestUpdate()\n }\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null,\n ): void {\n super.attributeChangedCallback(name, _old, value)\n\n if (name === 'locale') {\n this.updateLocale(value)\n }\n }\n\n private readonly updateLocale = (locale?: string | null) => {\n if (!locale) {\n this.locale = dayjs.locale()\n } else {\n this.locale = locale\n }\n // Re-render so the month/year options pick up the new locale. The options\n // are declared in the template (getAllowedMonths / year range), so we let\n // Lit re-render them declaratively instead of imperatively removing and\n // re-creating <dap-ds-option-item> nodes — imperative DOM surgery on\n // template-managed nodes breaks Lit hydration under SSR (the month/year\n // selects then render blank even though the value is set).\n this.requestUpdate()\n }\n\n private readonly updateLocaleFromHtml = (mutationList: any) => {\n this.updateLocale(mutationList[0].target[mutationList[0].attributeName])\n }\n\n setValue(value?: Dayjs, setFocus = true) {\n if (value) {\n if (\n this.isOutOfRange(\n dayjs(this.currentDate).locale(this.locale),\n dayjs(value),\n )\n ) {\n this.setToFirstDayOfMonth()\n } else {\n const selectedCell = this.getCellByDate(dayjs(value))\n this.setCurrentCell(selectedCell!, setFocus)\n }\n } else if (\n this.isOutOfRange(dayjs(this.currentDate).locale(this.locale), dayjs())\n ) {\n this.setToFirstAllowedDayOfMonth()\n } else {\n this.setToToday()\n }\n }\n\n private readonly getWeeksInMonth = (date: Dayjs) => {\n const days = date.daysInMonth()\n const weekday = date.weekday()\n\n return Math.ceil((days + weekday) / 7)\n }\n\n private loadYearOptions() {\n if (!this._yearOptionsLoaded) {\n this._yearOptionsLoaded = true\n // Immediate update for better UX\n this.requestUpdate()\n }\n }\n\n isOutOfRange(currentDate: Dayjs, date: Dayjs) {\n return !dayjs(currentDate).locale(this.locale).isSame(date, 'month')\n }\n\n isToday(date: Dayjs) {\n return date.isSame(new Date(), 'day')\n }\n\n isSelected(date: Dayjs) {\n if (this.mode === 'range') {\n return this.isRangeStart(date) || this.isRangeEnd(date)\n }\n\n if (!this.value) {\n return false\n }\n\n return date.isSame(this.value, 'day')\n }\n\n isRangeStart(date: Dayjs) {\n if (this.mode !== 'range' || !this.rangeStart) {\n return false\n }\n return date.isSame(this.rangeStart, 'day')\n }\n\n isRangeEnd(date: Dayjs) {\n if (this.mode !== 'range' || !this.rangeEnd) {\n return false\n }\n return date.isSame(this.rangeEnd, 'day')\n }\n\n isInRange(date: Dayjs) {\n if (this.mode !== 'range' || !this.rangeStart || !this.rangeEnd) {\n return false\n }\n return (\n date.isAfter(this.rangeStart, 'day') &&\n date.isBefore(this.rangeEnd, 'day')\n )\n }\n\n getDatesInWeek(week: number, from: Dayjs) {\n let date = from.startOf('week').add(week, 'week')\n const dates: Dayjs[] = []\n\n while (dates.length < 7) {\n dates.push(date)\n const nextDate = date.add(1, 'day')\n if (date.isSame(from.endOf('month'))) {\n break\n }\n date = nextDate\n }\n\n return dates\n }\n\n isDateInAllowedRange(date: Dayjs) {\n const minDate = dayjs(this.minDate).locale(this.locale)\n const maxDate = dayjs(this.maxDate).locale(this.locale)\n return !date.isBefore(minDate, 'day') && !date.isAfter(maxDate, 'day')\n }\n\n isMonthInAllowedRange(year: number, month: number) {\n const monthStart = dayjs(new Date(year, month, 1)).locale(this.locale)\n const monthEnd = monthStart.endOf('month')\n const minDate = dayjs(this.minDate).locale(this.locale)\n const maxDate = dayjs(this.maxDate).locale(this.locale)\n\n // A month is allowed if it intersects the [minDate, maxDate] range.\n return (\n !monthEnd.isBefore(minDate, 'day') && !monthStart.isAfter(maxDate, 'day')\n )\n }\n\n isDateInAllowedRangeByDate(year: number, month: number, date: number) {\n return this.isDateInAllowedRange(dayjs(new Date(year, month, date)))\n }\n\n getAllowedMonths(currentDate: Dayjs) {\n const minDate = dayjs(this.minDate).locale(this.locale)\n const maxDate = dayjs(this.maxDate).locale(this.locale)\n const minYear = minDate.year()\n const maxYear = maxDate.year()\n const minMonth = minDate.month()\n const maxMonth = maxDate.month()\n\n if (currentDate.year() === minYear && currentDate.year() === maxYear) {\n return Array.from(\n { length: maxMonth - minMonth + 1 },\n (_, i) => this.instanceLocalData.months()[i + minMonth],\n )\n }\n\n if (currentDate.year() === minYear) {\n return Array.from(\n { length: 12 - minMonth },\n (_, i) => this.instanceLocalData.months()[i + minMonth],\n )\n }\n\n if (currentDate.year() === maxYear) {\n return Array.from(\n { length: maxMonth + 1 },\n (_, i) => this.instanceLocalData.months()[i],\n )\n }\n\n const months = Array.from(\n { length: 12 },\n (_, i) => this.instanceLocalData.months()[i],\n )\n\n return months\n }\n\n setMonth(month: number) {\n if (\n month < 0 &&\n this.isMonthInAllowedRange(dayjs(this.currentDate).year() - 1, 11)\n ) {\n this.setYear(dayjs(this.currentDate).locale(this.locale).year() - 1)\n this.currentDate = this.currentDate.locale(this.locale).set('month', 11)\n return\n }\n\n if (\n month > 11 &&\n this.isMonthInAllowedRange(\n dayjs(this.currentDate).locale(this.locale).year() + 1,\n 0,\n )\n ) {\n this.setYear(dayjs(this.currentDate).year() + 1)\n this.currentDate = this.currentDate.set('month', 0)\n return\n }\n\n if (\n !this.isMonthInAllowedRange(\n dayjs(this.currentDate).locale(this.locale).year(),\n month,\n )\n ) {\n return\n }\n\n this.currentDate = dayjs(this.currentDate)\n .locale(this.locale)\n .set('month', month)\n // Remove requestUpdate() - currentDate property change will trigger update\n }\n\n setDay(day: number) {\n const date = dayjs(this.currentDate).locale(this.locale)\n\n if (!this.isDateInAllowedRangeByDate(date.year(), date.month(), day)) {\n return\n }\n\n this.currentDate = date.set('date', day)\n // Remove requestUpdate() - currentDate property change will trigger update\n }\n\n setYear(year: number) {\n const date = dayjs(this.currentDate).locale(this.locale)\n\n this.currentDate = date.set('year', year)\n // Remove requestUpdate() - currentDate property change will trigger update\n }\n\n setSelectedDate(date: Dayjs) {\n if (this.disabledDate(date)) {\n return\n }\n\n if (!this.isDateInAllowedRange(date)) {\n return\n }\n\n if (this.isOutOfRange(dayjs(this.currentDate).locale(this.locale), date)) {\n this.setMonth(date.month())\n }\n\n if (this.mode === 'range') {\n // Range selection logic\n if (!this.rangeStart || (this.rangeStart && this.rangeEnd)) {\n // Start new range selection\n this.rangeStart = date\n this.rangeEnd = undefined\n // Update currentDate to show the start date's month\n this.currentDate = dayjs(date).locale(this.locale)\n } else if (this.rangeStart && !this.rangeEnd) {\n // Complete range selection\n if (date.isBefore(this.rangeStart)) {\n // If end date is before start date, swap them\n this.rangeEnd = this.rangeStart\n this.rangeStart = date\n } else {\n this.rangeEnd = date\n }\n\n // Update currentDate to show the start date's month in the first calendar\n this.currentDate = dayjs(this.rangeStart).locale(this.locale)\n\n // Emit range-change event\n this.emit('dds-range-change', {\n startDate: this.rangeStart,\n endDate: this.rangeEnd,\n })\n }\n\n this.setCurrentCell(this.getCellByDate(date)!)\n } else {\n // Single date selection\n this.value = date\n this.setCurrentCell(this.getCellByDate(date)!)\n\n this.emit('dds-change', {\n value: this.value,\n type: 'value',\n })\n }\n }\n\n getFirstDayOfMonthCell() {\n return [...this.cells].find(cell => {\n return dayjs(cell.value).locale(this.locale).isSame(this.startDate, 'day')\n })\n }\n\n getCellByDate(date: Dayjs) {\n return [...this.cells].find(cell => {\n return dayjs(cell.value).locale(this.locale).isSame(date, 'day')\n })\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n return\n }\n\n event.preventDefault()\n const element = event.composedPath()[0]\n if (element instanceof DapDSCalendarCell) {\n switch (event.code) {\n case 'ArrowLeft':\n this.focusNextCell(element, -1)\n break\n case 'ArrowRight':\n this.focusNextCell(element, 1)\n break\n case 'ArrowUp':\n this.focusNextCell(element, -7)\n break\n case 'ArrowDown':\n this.focusNextCell(element, 7)\n break\n case 'PageUp':\n this.setMonth(dayjs(this.currentDate).locale(this.locale).month() - 1)\n break\n case 'PageDown':\n this.setMonth(dayjs(this.currentDate).locale(this.locale).month() + 1)\n break\n case 'Enter':\n this.setSelectedDate(element.value)\n break\n case 'Escape':\n this.emit('dds-close')\n break\n }\n } else if (event.key === 'Escape') {\n this.emit('dds-close')\n }\n }\n\n setCurrentCell(cell: DapDSCalendarCell, setFocus = true) {\n if (this._currentCell) {\n this._currentCell.setAttribute('tabindex', '-1')\n }\n this._currentCell = cell\n if (this._currentCell) {\n this._currentCell.setAttribute('tabindex', '0')\n }\n\n if (setFocus && this._currentCell) {\n this.setFocusToCurrentCell()\n }\n }\n\n setFocusToCurrentCell() {\n this._currentCell.focus()\n }\n\n setToFirstDayOfMonth() {\n const firstDayofMonth = this.getFirstDayOfMonthCell()\n firstDayofMonth?.setAttribute('tabindex', '0')\n this._currentCell = firstDayofMonth!\n }\n\n setToToday() {\n const today = this.getCellByDate(dayjs())\n today?.setAttribute('tabindex', '0')\n this._currentCell = today!\n }\n\n setToFirstAllowedDayOfMonth(currentDate = this.currentDate) {\n const firstAllowedDay = this.getCellByDate(\n dayjs(currentDate).locale(this.locale).startOf('month'),\n )\n firstAllowedDay?.setAttribute('tabindex', '0')\n this._currentCell = firstAllowedDay!\n }\n\n focusNextCell(element: DapDSCalendarCell, offset: number) {\n const index = [...this.cells].indexOf(element)\n const nextIndex = index + offset\n const currentMonth = dayjs(this.currentDate).locale(this.locale).month()\n\n if (nextIndex >= 0 && nextIndex < this.cells.length) {\n const cell = this.cells[nextIndex]\n this.setCurrentCell(cell)\n } else if (nextIndex < 0) {\n this.setMonth(currentMonth - 1)\n\n if (this.currentDate.month() < currentMonth) {\n this.updateComplete.then(() => {\n const lastDay = dayjs(this.currentDate)\n .locale(this.locale)\n .endOf('month')\n const lastDayCell = this.getCellByDate(lastDay)\n this.setCurrentCell(lastDayCell!)\n })\n }\n } else if (nextIndex >= this.cells.length) {\n this.setMonth(currentMonth + 1)\n\n if (this.currentDate.month() > currentMonth) {\n this.updateComplete.then(() => {\n const firstDay = dayjs(this.currentDate)\n .locale(this.locale)\n .startOf('month')\n const firstDayCell = this.getCellByDate(firstDay)\n this.setCurrentCell(firstDayCell!)\n })\n }\n }\n }\n\n public captureFocus(): void {\n this.focus()\n this.setFocusToCurrentCell()\n }\n\n private getWeekdaysMin() {\n const firstDay = this.instanceLocalData.firstDayOfWeek()\n const weekdays = this.instanceLocalData.weekdaysMin()\n return weekdays.slice(firstDay).concat(weekdays.slice(0, firstDay))\n }\n\n renderCalendarGridHeader() {\n return html`<thead part=\"calendar-grid-header\" class=\"calendar-grid-header\">\n <tr class=\"calendar-grid-header-row\">\n ${this.getWeekdaysMin().map(\n day =>\n html`<th class=\"calendar-cell\">\n <dap-ds-calendar-cell\n header\n part=\"calendar-grid-header-cell\"\n exportparts=\"base: calendar-grid-header-cell-base\"\n locale=${this.locale}\n >${day}</dap-ds-calendar-cell\n >\n </th>`,\n )}\n </tr>\n </thead>`\n }\n\n renderCalendarGridBody(date: Dayjs) {\n return html`<tbody part=\"body\" class=\"calendar-grid-body\">\n ${[\n ...new Array(\n this.getWeeksInMonth(date || dayjs().locale(this.locale)),\n ).keys(),\n ].map(\n week =>\n html`<tr class=\"calendar-grid-row\">\n ${this.getDatesInWeek(week, date).map(d => {\n const isOutOfRange = this.isOutOfRange(date, d)\n const isDisabled =\n !this.isDateInAllowedRange(d) || this.disabledDate(d)\n\n const isRangeStart = this.isRangeStart(d)\n const isRangeEnd = this.isRangeEnd(d)\n const isInRange = this.isInRange(d)\n\n // Hide dates from adjacent months if shouldHideAdjacentMonths is true\n if (this.shouldHideAdjacentMonths && isOutOfRange) {\n return html`<td\n role=\"gridcell\"\n class=\"${clsx('calendar-cell calendar-cell--empty')}\"></td>`\n }\n\n return html`<td\n role=\"gridcell\"\n class=\"${clsx('calendar-cell')}\"\n aria-disabled=${isDisabled}>\n <dap-ds-calendar-cell\n part=\"calendar-grid-cell\"\n exportparts=\"base: calendar-grid-cell-base, today-mark: calendar-grid-cell-today-mark\"\n ?outofrange=${isOutOfRange}\n ?today=${this.isToday(d)}\n ?selected=${this.isSelected(d)}\n ?rangestart=${isRangeStart}\n ?rangeend=${isRangeEnd}\n ?inrange=${isInRange}\n .value=${d}\n locale=${this.locale}\n ?disabledDay=${isDisabled}\n role=\"button\"\n aria-pressed=${this.isSelected(d)}\n aria-disabled=${isDisabled}\n @click=${() => !isDisabled && this.setSelectedDate(d)}\n @keydown=${this.handleKeyDown}\n >${d.date()}</dap-ds-calendar-cell\n >\n </td>`\n })}\n </tr> `,\n )}\n </tbody>`\n }\n\n renderCalendarHeader() {\n return html`\n <header\n part=\"calendar-header\"\n class=\"calendar__header\"\n @keydown=${this.handleKeyDown}>\n <dap-ds-icon-button\n part=\"calendar-header-button-prev\"\n class=\"calendar__header-button-prev\"\n data-testid=${this.prevButtonTestId}\n clean\n size=\"lg\"\n variant=\"brand\"\n icon=\"arrow-left-l-line\"\n @keydown=${this.handleKeyDown}\n aria-label=${t('calendar.prevMonth', { lng: this.locale })}\n @click=${() => {\n this.setMonth(this.currentDate.month() - 1)\n }}>\n </dap-ds-icon-button>\n <dap-ds-select\n part=\"calendar-header-year-select\"\n floatingStrategy=\"fixed\"\n class=${clsx(\n 'calendar__header-select',\n 'calendar__header-year-select',\n )}\n @dds-keydown=${this.handleKeyDown}\n size=\"sm\"\n noAnimation\n aria-label=${t('calendar.year', { lng: this.locale })}\n value=${dayjs(this.currentDate).year()}\n @dds-change=${(e: CustomEvent) => {\n e.preventDefault()\n e.stopPropagation()\n if (\n e.detail.value &&\n !isNaN(parseInt(e.detail.value)) &&\n parseInt(e.detail.value) !==\n dayjs(this.currentDate).locale(this.locale).year()\n ) {\n this.currentDate = dayjs(this.currentDate)\n .locale(this.locale)\n .set('year', parseInt(e.detail.value))\n // Remove requestUpdate() - currentDate property change will trigger update\n }\n }}>\n <dap-ds-icon-expand-up-down-fill\n slot=\"indicator-icon\"\n size=\"16\"></dap-ds-icon-expand-up-down-fill>\n ${this._yearOptionsLoaded\n ? [\n ...new Array(\n dayjs(this.maxDate).locale(this.locale).year() -\n dayjs(this.minDate).locale(this.locale).year() +\n 1,\n ).keys(),\n ].map(\n year =>\n html`<dap-ds-option-item\n value=${dayjs(this.minDate).locale(this.locale).year() +\n year}>\n ${dayjs(this.minDate).locale(this.locale).year() + year}\n </dap-ds-option-item>`,\n )\n : html`<dap-ds-option-item value=${dayjs(this.currentDate).year()}>\n ${dayjs(this.currentDate).year()}\n </dap-ds-option-item>`}\n </dap-ds-select>\n <dap-ds-select\n id=\"monthSelect\"\n part=\"calendar-header-month-select\"\n floatingStrategy=\"fixed\"\n class=${clsx(\n 'calendar__header-select',\n 'calendar__header-month-select',\n )}\n size=\"sm\"\n noAnimation\n aria-label=${t('calendar.month', { lng: this.locale })}\n value=${dayjs(this.currentDate).locale(this.locale).month() + 1}\n @dds-change=${(e: CustomEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (\n e.detail.value &&\n !isNaN(parseInt(e.detail.value)) &&\n parseInt(e.detail.value) !==\n dayjs(this.currentDate).locale(this.locale).month() + 1\n ) {\n this.setMonth(parseInt(e.detail.value) - 1)\n }\n }}>\n <dap-ds-icon-expand-up-down-fill\n slot=\"indicator-icon\"\n size=\"16\"></dap-ds-icon-expand-up-down-fill>\n ${this.getAllowedMonths(\n dayjs(this.currentDate).locale(this.locale),\n ).map(\n month =>\n html`<dap-ds-option-item\n value=${this.instanceLocalData.months().indexOf(month) + 1}>\n ${month}\n </dap-ds-option-item>`,\n )}\n </dap-ds-select>\n <dap-ds-icon-button\n part=\"calendar-header-button-next\"\n class=\"calendar__header-button-next\"\n data-testid=${this.nextButtonTestId}\n clean\n size=\"lg\"\n variant=\"brand\"\n icon=\"arrow-right-l-line\"\n aria-label=${t('calendar.nextMonth', { lng: this.locale })}\n @click=${() => {\n this.setMonth(\n dayjs(this.currentDate).locale(this.locale).month() + 1,\n )\n }}>\n </dap-ds-icon-button>\n </header>\n `\n }\n\n render() {\n if (this.mode === 'range') {\n // Render two calendars side-by-side for range mode\n const currentMonth = dayjs(this.currentDate).locale(this.locale)\n const nextMonth = currentMonth.add(1, 'month')\n\n return html` <div class=\"calendar calendar--range\">\n ${this.renderCalendarHeader()}\n <div class=\"calendar__months\">\n <div class=\"calendar__month\">\n <table\n part=\"base\"\n class=\"calendar__grid\"\n role=\"grid\"\n aria-label=${`${this.rangeStart ? dayjs(this.rangeStart).locale(this.locale).format('LL, dddd') : ''}`}>\n ${this.renderCalendarGridHeader()}\n ${this.renderCalendarGridBody(this.startDate)}\n </table>\n </div>\n <div class=\"calendar__month calendar__month--next\">\n <table\n part=\"base\"\n class=\"calendar__grid\"\n role=\"grid\"\n aria-label=${`${this.rangeEnd ? dayjs(this.rangeEnd).locale(this.locale).format('LL, dddd') : ''}`}>\n ${this.renderCalendarGridHeader()}\n ${this.renderCalendarGridBody(nextMonth.startOf('month'))}\n </table>\n </div>\n </div>\n </div>`\n }\n\n // Single date mode\n return html` <div class=\"calendar\">\n ${this.renderCalendarHeader()}\n <table\n part=\"base\"\n class=\"calendar__grid\"\n role=\"grid\"\n aria-label=${`${this.value ? dayjs(this.value).locale(this.locale).format('LL, dddd') : ''}`}>\n ${this.renderCalendarGridHeader()}\n ${this.renderCalendarGridBody(this.startDate)}\n </table>\n </div>`\n }\n}\n"],"names":["_DapDSCalendar","DdsElement","dayjs","date","locale","mutationList","days","weekday","__async","__superGet","_changedProperties","_a","name","_old","value","setFocus","selectedCell","currentDate","week","from","dates","nextDate","minDate","maxDate","year","month","monthStart","monthEnd","minYear","maxYear","minMonth","maxMonth","_","i","day","cell","event","element","DapDSCalendarCell","firstDayofMonth","today","firstAllowedDay","offset","nextIndex","currentMonth","lastDay","lastDayCell","firstDay","firstDayCell","weekdays","html","d","isOutOfRange","isDisabled","isRangeStart","isRangeEnd","isInRange","clsx","t","nextMonth","DapDSIconButton","DapDSSelect","ArrowsExpandUpDownFill","DapDSOptionItem","unsafeCSS","styles","DapDSCalendar","__decorateClass","queryAll","query","property","state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,MAAqBA,IAArB,MAAqBA,UAAsBC,EAAW;AAAA,EAAtD,cAAA;AAAA,UAAA,GAAA,SAAA,GAqB0D,KAAA,OAAA,UAGG,KAAA,qBAAA,IAqB3B,KAAA,cAAcC,EAAM,GAMpB,KAAA,UAAUA,EAAM,EAAE,SAAS,IAAI,MAAM,GAMrC,KAAA,UAAUA,EAAM,EAAE,IAAI,IAAI,MAAM,GAMhC,KAAA,eAAe,CAACC,MACvC,CAACA,GAOmB,KAAA,SAAiBD,EAAM,OAAO,GAG5B,KAAA,mBAAA,wBAGA,KAAA,mBAAA,wBAGtB,KAAQ,qBAAqB,IAwGrB,KAAA,eAAe,CAACE,MAA2B;AAC1D,MAAKA,IAGH,KAAK,SAASA,IAFT,KAAA,SAASF,EAAM,OAAO,GAU7B,KAAK,cAAc;AAAA,IACrB,GAEiB,KAAA,uBAAuB,CAACG,MAAsB;AACxD,WAAA,aAAaA,EAAa,CAAC,EAAE,OAAOA,EAAa,CAAC,EAAE,aAAa,CAAC;AAAA,IACzE,GAwBiB,KAAA,kBAAkB,CAACF,MAAgB;AAC5C,YAAAG,IAAOH,EAAK,YAAY,GACxBI,IAAUJ,EAAK,QAAQ;AAE7B,aAAO,KAAK,MAAMG,IAAOC,KAAW,CAAC;AAAA,IACvC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA9IA,IAAY,oBAAoB;AACvB,WAAAL,EAAA,EACJ,OAAO,KAAK,UAAUA,EAAM,QAAQ,EACpC,WAAW;AAAA,EAAA;AAAA,EAGV,oBAAmC;AAAA,WAAAM,EAAA;AACvC,MAAAC,EAAAT,EAAA,iBAAM,0BAAN,IAAwB,GAEnBE,EAAM,QAAQ,KAAK,WAAW,MAC5B,KAAA,cAAcA,EAAM,KAAK,WAAW,IAGvC,KAAK,WACP,KAAK,cAAcA,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM;AAAA,IAE/D;AAAA;AAAA,EAKF,IAAI,YAAY;AACd,WAAIA,EAAM,QAAQ,KAAK,WAAW,IACzBA,EAAM,KAAK,YAAY,OAAQ,CAAA,EACnC,OAAO,KAAK,MAAM,EAClB,QAAQ,OAAO,IAEbA,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,QAAQ,OAAO;AAAA,EAAA;AAAA,EAGpE,IAAI,UAAU;AACL,WAAAA,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,MAAM,OAAO;AAAA,EAAA;AAAA,EAGlE,IAAI,2BAA2B;AAEzB,WAAA,KAAK,SAAS,UACT,KAGF,KAAK;AAAA,EAAA;AAAA,EAGJ,aACRQ,GACM;AACN,UAAM,aAAaA,CAAkB,GACL,IAAI;AAAA,MAClC,KAAK;AAAA,IACP,EAEwB,QAAQ,SAAS,iBAAiB;AAAA,MACxD,YAAY;AAAA,MACZ,iBAAiB,CAAC,OAAO,MAAM;AAAA,IAAA,CAChC,GAEI,KAAA,SAAS,KAAK,OAAO,EAAK,GAIhB,eAAA,MAAM,KAAK,iBAAiB;AAAA,EAAA;AAAA,EAGnC,QACRA,GACM;;AACN,UAAM,QAAQA,CAAkB,GAE5BA,EAAmB,IAAI,OAAO,KAC3B,KAAA,SAAS,KAAK,OAAO,EAAK,GAG7BA,EAAmB,IAAI,QAAQ,OAQjCC,IAAA,KAAK,gBAAL,QAAAA,EAAkB;AAAA,EACpB;AAAA,EAGF,yBACEC,GACAC,GACAC,GACM;AACA,UAAA,yBAAyBF,GAAMC,GAAMC,CAAK,GAE5CF,MAAS,YACX,KAAK,aAAaE,CAAK;AAAA,EACzB;AAAA,EAsBF,SAASA,GAAeC,IAAW,IAAM;AACvC,QAAID;AACF,UACE,KAAK;AAAA,QACHZ,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM;AAAA,QAC1CA,EAAMY,CAAK;AAAA,MAAA;AAGb,aAAK,qBAAqB;AAAA,WACrB;AACL,cAAME,IAAe,KAAK,cAAcd,EAAMY,CAAK,CAAC;AAC/C,aAAA,eAAeE,GAAeD,CAAQ;AAAA,MAAA;AAAA,QAG7C,CAAA,KAAK,aAAab,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,GAAGA,EAAO,CAAA,IAEtE,KAAK,4BAA4B,IAEjC,KAAK,WAAW;AAAA,EAClB;AAAA,EAUM,kBAAkB;AACpB,IAAC,KAAK,uBACR,KAAK,qBAAqB,IAE1B,KAAK,cAAc;AAAA,EACrB;AAAA,EAGF,aAAae,GAAoBd,GAAa;AACrC,WAAA,CAACD,EAAMe,CAAW,EAAE,OAAO,KAAK,MAAM,EAAE,OAAOd,GAAM,OAAO;AAAA,EAAA;AAAA,EAGrE,QAAQA,GAAa;AACnB,WAAOA,EAAK,OAAW,oBAAA,KAAA,GAAQ,KAAK;AAAA,EAAA;AAAA,EAGtC,WAAWA,GAAa;AAClB,WAAA,KAAK,SAAS,UACT,KAAK,aAAaA,CAAI,KAAK,KAAK,WAAWA,CAAI,IAGnD,KAAK,QAIHA,EAAK,OAAO,KAAK,OAAO,KAAK,IAH3B;AAAA,EAG2B;AAAA,EAGtC,aAAaA,GAAa;AACxB,WAAI,KAAK,SAAS,WAAW,CAAC,KAAK,aAC1B,KAEFA,EAAK,OAAO,KAAK,YAAY,KAAK;AAAA,EAAA;AAAA,EAG3C,WAAWA,GAAa;AACtB,WAAI,KAAK,SAAS,WAAW,CAAC,KAAK,WAC1B,KAEFA,EAAK,OAAO,KAAK,UAAU,KAAK;AAAA,EAAA;AAAA,EAGzC,UAAUA,GAAa;AACjB,WAAA,KAAK,SAAS,WAAW,CAAC,KAAK,cAAc,CAAC,KAAK,WAC9C,KAGPA,EAAK,QAAQ,KAAK,YAAY,KAAK,KACnCA,EAAK,SAAS,KAAK,UAAU,KAAK;AAAA,EAAA;AAAA,EAItC,eAAee,GAAcC,GAAa;AACxC,QAAIhB,IAAOgB,EAAK,QAAQ,MAAM,EAAE,IAAID,GAAM,MAAM;AAChD,UAAME,IAAiB,CAAC;AAEjB,WAAAA,EAAM,SAAS,KAAG;AACvB,MAAAA,EAAM,KAAKjB,CAAI;AACf,YAAMkB,IAAWlB,EAAK,IAAI,GAAG,KAAK;AAClC,UAAIA,EAAK,OAAOgB,EAAK,MAAM,OAAO,CAAC;AACjC;AAEK,MAAAhB,IAAAkB;AAAA,IAAA;AAGF,WAAAD;AAAA,EAAA;AAAA,EAGT,qBAAqBjB,GAAa;AAChC,UAAMmB,IAAUpB,EAAM,KAAK,OAAO,EAAE,OAAO,KAAK,MAAM,GAChDqB,IAAUrB,EAAM,KAAK,OAAO,EAAE,OAAO,KAAK,MAAM;AAC/C,WAAA,CAACC,EAAK,SAASmB,GAAS,KAAK,KAAK,CAACnB,EAAK,QAAQoB,GAAS,KAAK;AAAA,EAAA;AAAA,EAGvE,sBAAsBC,GAAcC,GAAe;AAC3C,UAAAC,IAAaxB,EAAM,IAAI,KAAKsB,GAAMC,GAAO,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,GAC/DE,IAAWD,EAAW,MAAM,OAAO,GACnCJ,IAAUpB,EAAM,KAAK,OAAO,EAAE,OAAO,KAAK,MAAM,GAChDqB,IAAUrB,EAAM,KAAK,OAAO,EAAE,OAAO,KAAK,MAAM;AAIpD,WAAA,CAACyB,EAAS,SAASL,GAAS,KAAK,KAAK,CAACI,EAAW,QAAQH,GAAS,KAAK;AAAA,EAAA;AAAA,EAI5E,2BAA2BC,GAAcC,GAAetB,GAAc;AAC7D,WAAA,KAAK,qBAAqBD,EAAM,IAAI,KAAKsB,GAAMC,GAAOtB,CAAI,CAAC,CAAC;AAAA,EAAA;AAAA,EAGrE,iBAAiBc,GAAoB;AACnC,UAAMK,IAAUpB,EAAM,KAAK,OAAO,EAAE,OAAO,KAAK,MAAM,GAChDqB,IAAUrB,EAAM,KAAK,OAAO,EAAE,OAAO,KAAK,MAAM,GAChD0B,IAAUN,EAAQ,KAAK,GACvBO,IAAUN,EAAQ,KAAK,GACvBO,IAAWR,EAAQ,MAAM,GACzBS,IAAWR,EAAQ,MAAM;AAE/B,WAAIN,EAAY,WAAWW,KAAWX,EAAY,WAAWY,IACpD,MAAM;AAAA,MACX,EAAE,QAAQE,IAAWD,IAAW,EAAE;AAAA,MAClC,CAACE,GAAGC,MAAM,KAAK,kBAAkB,OAAO,EAAEA,IAAIH,CAAQ;AAAA,IACxD,IAGEb,EAAY,KAAK,MAAMW,IAClB,MAAM;AAAA,MACX,EAAE,QAAQ,KAAKE,EAAS;AAAA,MACxB,CAACE,GAAGC,MAAM,KAAK,kBAAkB,OAAO,EAAEA,IAAIH,CAAQ;AAAA,IACxD,IAGEb,EAAY,KAAK,MAAMY,IAClB,MAAM;AAAA,MACX,EAAE,QAAQE,IAAW,EAAE;AAAA,MACvB,CAACC,GAAGC,MAAM,KAAK,kBAAkB,SAASA,CAAC;AAAA,IAC7C,IAGa,MAAM;AAAA,MACnB,EAAE,QAAQ,GAAG;AAAA,MACb,CAACD,GAAGC,MAAM,KAAK,kBAAkB,SAASA,CAAC;AAAA,IAC7C;AAAA,EAEO;AAAA,EAGT,SAASR,GAAe;AACtB,QACEA,IAAQ,KACR,KAAK,sBAAsBvB,EAAM,KAAK,WAAW,EAAE,KAAK,IAAI,GAAG,EAAE,GACjE;AACK,WAAA,QAAQA,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,IAAI,CAAC,GAC9D,KAAA,cAAc,KAAK,YAAY,OAAO,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE;AACvE;AAAA,IAAA;AAIA,QAAAuB,IAAQ,MACR,KAAK;AAAA,MACHvB,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,KAAA,IAAS;AAAA,MACrD;AAAA,IAAA,GAEF;AACA,WAAK,QAAQA,EAAM,KAAK,WAAW,EAAE,SAAS,CAAC,GAC/C,KAAK,cAAc,KAAK,YAAY,IAAI,SAAS,CAAC;AAClD;AAAA,IAAA;AAGF,IACG,KAAK;AAAA,MACJA,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;AAAA,MACjDuB;AAAA,IAAA,MAMC,KAAA,cAAcvB,EAAM,KAAK,WAAW,EACtC,OAAO,KAAK,MAAM,EAClB,IAAI,SAASuB,CAAK;AAAA,EAAA;AAAA,EAIvB,OAAOS,GAAa;AAClB,UAAM/B,IAAOD,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM;AAEnD,IAAC,KAAK,2BAA2BC,EAAK,QAAQA,EAAK,SAAS+B,CAAG,MAInE,KAAK,cAAc/B,EAAK,IAAI,QAAQ+B,CAAG;AAAA,EAAA;AAAA,EAIzC,QAAQV,GAAc;AACpB,UAAMrB,IAAOD,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM;AAEvD,SAAK,cAAcC,EAAK,IAAI,QAAQqB,CAAI;AAAA,EAAA;AAAA,EAI1C,gBAAgBrB,GAAa;AACvB,IAAA,KAAK,aAAaA,CAAI,KAIrB,KAAK,qBAAqBA,CAAI,MAI/B,KAAK,aAAaD,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,GAAGC,CAAI,KAChE,KAAA,SAASA,EAAK,OAAO,GAGxB,KAAK,SAAS,WAEZ,CAAC,KAAK,cAAe,KAAK,cAAc,KAAK,YAE/C,KAAK,aAAaA,GAClB,KAAK,WAAW,QAEhB,KAAK,cAAcD,EAAMC,CAAI,EAAE,OAAO,KAAK,MAAM,KACxC,KAAK,cAAc,CAAC,KAAK,aAE9BA,EAAK,SAAS,KAAK,UAAU,KAE/B,KAAK,WAAW,KAAK,YACrB,KAAK,aAAaA,KAElB,KAAK,WAAWA,GAIlB,KAAK,cAAcD,EAAM,KAAK,UAAU,EAAE,OAAO,KAAK,MAAM,GAG5D,KAAK,KAAK,oBAAoB;AAAA,MAC5B,WAAW,KAAK;AAAA,MAChB,SAAS,KAAK;AAAA,IAAA,CACf,IAGH,KAAK,eAAe,KAAK,cAAcC,CAAI,CAAE,MAG7C,KAAK,QAAQA,GACb,KAAK,eAAe,KAAK,cAAcA,CAAI,CAAE,GAE7C,KAAK,KAAK,cAAc;AAAA,MACtB,OAAO,KAAK;AAAA,MACZ,MAAM;AAAA,IAAA,CACP;AAAA,EACH;AAAA,EAGF,yBAAyB;AACvB,WAAO,CAAC,GAAG,KAAK,KAAK,EAAE,KAAK,CAAQgC,MAC3BjC,EAAMiC,EAAK,KAAK,EAAE,OAAO,KAAK,MAAM,EAAE,OAAO,KAAK,WAAW,KAAK,CAC1E;AAAA,EAAA;AAAA,EAGH,cAAchC,GAAa;AACzB,WAAO,CAAC,GAAG,KAAK,KAAK,EAAE,KAAK,CAAQgC,MAC3BjC,EAAMiC,EAAK,KAAK,EAAE,OAAO,KAAK,MAAM,EAAE,OAAOhC,GAAM,KAAK,CAChE;AAAA,EAAA;AAAA,EAGH,cAAciC,GAAsB;AAC9B,QAAAA,EAAM,QAAQ;AAChB;AAGF,IAAAA,EAAM,eAAe;AACrB,UAAMC,IAAUD,EAAM,aAAa,EAAE,CAAC;AACtC,QAAIC,aAAmBC;AACrB,cAAQF,EAAM,MAAM;AAAA,QAClB,KAAK;AACE,eAAA,cAAcC,GAAS,EAAE;AAC9B;AAAA,QACF,KAAK;AACE,eAAA,cAAcA,GAAS,CAAC;AAC7B;AAAA,QACF,KAAK;AACE,eAAA,cAAcA,GAAS,EAAE;AAC9B;AAAA,QACF,KAAK;AACE,eAAA,cAAcA,GAAS,CAAC;AAC7B;AAAA,QACF,KAAK;AACE,eAAA,SAASnC,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,MAAM,IAAI,CAAC;AACrE;AAAA,QACF,KAAK;AACE,eAAA,SAASA,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,MAAM,IAAI,CAAC;AACrE;AAAA,QACF,KAAK;AACE,eAAA,gBAAgBmC,EAAQ,KAAK;AAClC;AAAA,QACF,KAAK;AACH,eAAK,KAAK,WAAW;AACrB;AAAA,MAAA;AAAA,QAEN,CAAWD,EAAM,QAAQ,YACvB,KAAK,KAAK,WAAW;AAAA,EACvB;AAAA,EAGF,eAAeD,GAAyBpB,IAAW,IAAM;AACvD,IAAI,KAAK,gBACF,KAAA,aAAa,aAAa,YAAY,IAAI,GAEjD,KAAK,eAAeoB,GAChB,KAAK,gBACF,KAAA,aAAa,aAAa,YAAY,GAAG,GAG5CpB,KAAY,KAAK,gBACnB,KAAK,sBAAsB;AAAA,EAC7B;AAAA,EAGF,wBAAwB;AACtB,SAAK,aAAa,MAAM;AAAA,EAAA;AAAA,EAG1B,uBAAuB;AACf,UAAAwB,IAAkB,KAAK,uBAAuB;AACnC,IAAAA,KAAA,QAAAA,EAAA,aAAa,YAAY,MAC1C,KAAK,eAAeA;AAAA,EAAA;AAAA,EAGtB,aAAa;AACX,UAAMC,IAAQ,KAAK,cAActC,EAAA,CAAO;AACjC,IAAAsC,KAAA,QAAAA,EAAA,aAAa,YAAY,MAChC,KAAK,eAAeA;AAAA,EAAA;AAAA,EAGtB,4BAA4BvB,IAAc,KAAK,aAAa;AAC1D,UAAMwB,IAAkB,KAAK;AAAA,MAC3BvC,EAAMe,CAAW,EAAE,OAAO,KAAK,MAAM,EAAE,QAAQ,OAAO;AAAA,IACxD;AACiB,IAAAwB,KAAA,QAAAA,EAAA,aAAa,YAAY,MAC1C,KAAK,eAAeA;AAAA,EAAA;AAAA,EAGtB,cAAcJ,GAA4BK,GAAgB;AAExD,UAAMC,IADQ,CAAC,GAAG,KAAK,KAAK,EAAE,QAAQN,CAAO,IACnBK,GACpBE,IAAe1C,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,MAAM;AAEvE,QAAIyC,KAAa,KAAKA,IAAY,KAAK,MAAM,QAAQ;AAC7C,YAAAR,IAAO,KAAK,MAAMQ,CAAS;AACjC,WAAK,eAAeR,CAAI;AAAA,IAAA,MAC1B,CAAWQ,IAAY,KAChB,KAAA,SAASC,IAAe,CAAC,GAE1B,KAAK,YAAY,MAAM,IAAIA,KACxB,KAAA,eAAe,KAAK,MAAM;AACvB,YAAAC,IAAU3C,EAAM,KAAK,WAAW,EACnC,OAAO,KAAK,MAAM,EAClB,MAAM,OAAO,GACV4C,IAAc,KAAK,cAAcD,CAAO;AAC9C,WAAK,eAAeC,CAAY;AAAA,IAAA,CACjC,KAEMH,KAAa,KAAK,MAAM,WAC5B,KAAA,SAASC,IAAe,CAAC,GAE1B,KAAK,YAAY,MAAM,IAAIA,KACxB,KAAA,eAAe,KAAK,MAAM;AACvB,YAAAG,IAAW7C,EAAM,KAAK,WAAW,EACpC,OAAO,KAAK,MAAM,EAClB,QAAQ,OAAO,GACZ8C,IAAe,KAAK,cAAcD,CAAQ;AAChD,WAAK,eAAeC,CAAa;AAAA,IAAA,CAClC;AAAA,EAEL;AAAA,EAGK,eAAqB;AAC1B,SAAK,MAAM,GACX,KAAK,sBAAsB;AAAA,EAAA;AAAA,EAGrB,iBAAiB;AACjB,UAAAD,IAAW,KAAK,kBAAkB,eAAe,GACjDE,IAAW,KAAK,kBAAkB,YAAY;AAC7C,WAAAA,EAAS,MAAMF,CAAQ,EAAE,OAAOE,EAAS,MAAM,GAAGF,CAAQ,CAAC;AAAA,EAAA;AAAA,EAGpE,2BAA2B;AAClB,WAAAG;AAAA;AAAA,UAED,KAAK,iBAAiB;AAAA,MACtB,CACEhB,MAAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,yBAKa,KAAK,MAAM;AAAA,mBACjBhB,CAAG;AAAA;AAAA;AAAA,IAGb,CAAA;AAAA;AAAA;AAAA,EAAA;AAAA,EAKP,uBAAuB/B,GAAa;AAC3B,WAAA+C;AAAA,QACH;AAAA,MACA,GAAG,IAAI;AAAA,QACL,KAAK,gBAAgB/C,KAAQD,IAAQ,OAAO,KAAK,MAAM,CAAC;AAAA,MAAA,EACxD,KAAK;AAAA,IAAA,EACP;AAAA,MACA,CACEgB,MAAAgC;AAAA,cACI,KAAK,eAAehC,GAAMf,CAAI,EAAE,IAAI,CAAKgD,MAAA;AACzC,cAAMC,IAAe,KAAK,aAAajD,GAAMgD,CAAC,GACxCE,IACJ,CAAC,KAAK,qBAAqBF,CAAC,KAAK,KAAK,aAAaA,CAAC,GAEhDG,IAAe,KAAK,aAAaH,CAAC,GAClCI,IAAa,KAAK,WAAWJ,CAAC,GAC9BK,IAAY,KAAK,UAAUL,CAAC;AAG9B,eAAA,KAAK,4BAA4BC,IAC5BF;AAAA;AAAA,2BAEIO,EAAK,oCAAoC,CAAC,YAGhDP;AAAA;AAAA,yBAEIO,EAAK,eAAe,CAAC;AAAA,gCACdJ,CAAU;AAAA;AAAA;AAAA;AAAA,gCAIVD,CAAY;AAAA,2BACjB,KAAK,QAAQD,CAAC,CAAC;AAAA,8BACZ,KAAK,WAAWA,CAAC,CAAC;AAAA,gCAChBG,CAAY;AAAA,8BACdC,CAAU;AAAA,6BACXC,CAAS;AAAA,2BACXL,CAAC;AAAA,2BACD,KAAK,MAAM;AAAA,iCACLE,CAAU;AAAA;AAAA,iCAEV,KAAK,WAAWF,CAAC,CAAC;AAAA,kCACjBE,CAAU;AAAA,2BACjB,MAAM,CAACA,KAAc,KAAK,gBAAgBF,CAAC,CAAC;AAAA,6BAC1C,KAAK,aAAa;AAAA,qBAC1BA,EAAE,MAAM;AAAA;AAAA;AAAA,MAAA,CAGhB,CAAC;AAAA;AAAA,IAEP,CAAA;AAAA;AAAA,EAAA;AAAA,EAIL,uBAAuB;AACd,WAAAD;AAAA;AAAA;AAAA;AAAA,mBAIQ,KAAK,aAAa;AAAA;AAAA;AAAA;AAAA,wBAIb,KAAK,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKxB,KAAK,aAAa;AAAA,uBAChBQ,EAAE,sBAAsB,EAAE,KAAK,KAAK,OAAA,CAAQ,CAAC;AAAA,mBACjD,MAAM;AACb,WAAK,SAAS,KAAK,YAAY,MAAA,IAAU,CAAC;AAAA,IAAA,CAC3C;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKOD;AAAA,MACN;AAAA,MACA;AAAA,IACD,CAAA;AAAA,yBACc,KAAK,aAAa;AAAA;AAAA;AAAA,uBAGpBC,EAAE,iBAAiB,EAAE,KAAK,KAAK,OAAA,CAAQ,CAAC;AAAA,kBAC7CxD,EAAM,KAAK,WAAW,EAAE,KAAM,CAAA;AAAA,wBACxB,CAAC,MAAmB;AAChC,QAAE,eAAe,GACjB,EAAE,gBAAgB,GAEhB,EAAE,OAAO,SACT,CAAC,MAAM,SAAS,EAAE,OAAO,KAAK,CAAC,KAC/B,SAAS,EAAE,OAAO,KAAK,MACrBA,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,KAAA,MAE9C,KAAK,cAAcA,EAAM,KAAK,WAAW,EACtC,OAAO,KAAK,MAAM,EAClB,IAAI,QAAQ,SAAS,EAAE,OAAO,KAAK,CAAC;AAAA,IAEzC,CACD;AAAA;AAAA;AAAA;AAAA,YAIC,KAAK,qBACH;AAAA,MACE,GAAG,IAAI;AAAA,QACLA,EAAM,KAAK,OAAO,EAAE,OAAO,KAAK,MAAM,EAAE,KAAA,IACtCA,EAAM,KAAK,OAAO,EAAE,OAAO,KAAK,MAAM,EAAE,SACxC;AAAA,MAAA,EACF,KAAK;AAAA,IAAA,EACP;AAAA,MACA,CACEsB,MAAA0B;AAAA,4BACUhD,EAAM,KAAK,OAAO,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,IACrDsB,CAAI;AAAA,sBACFtB,EAAM,KAAK,OAAO,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,IAAIsB,CAAI;AAAA;AAAA,IAAA,IAG7D0B,8BAAiChD,EAAM,KAAK,WAAW,EAAE,MAAM;AAAA,kBAC3DA,EAAM,KAAK,WAAW,EAAE,KAAM,CAAA;AAAA,oCACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMlBuD;AAAA,MACN;AAAA,MACA;AAAA,IACD,CAAA;AAAA;AAAA;AAAA,uBAGYC,EAAE,kBAAkB,EAAE,KAAK,KAAK,OAAA,CAAQ,CAAC;AAAA,kBAC9CxD,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,MAAM,IAAI,CAAC;AAAA,wBACjD,CAAC,MAAmB;AAChC,QAAE,eAAe,GACjB,EAAE,gBAAgB,GAGhB,EAAE,OAAO,SACT,CAAC,MAAM,SAAS,EAAE,OAAO,KAAK,CAAC,KAC/B,SAAS,EAAE,OAAO,KAAK,MACrBA,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,MAAM,IAAI,KAExD,KAAK,SAAS,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;AAAA,IAC5C,CACD;AAAA;AAAA;AAAA;AAAA,YAIC,KAAK;AAAA,MACLA,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM;AAAA,IAAA,EAC1C;AAAA,MACA,CACEuB,MAAAyB;AAAA,wBACU,KAAK,kBAAkB,OAAA,EAAS,QAAQzB,CAAK,IAAI,CAAC;AAAA,kBACxDA,CAAK;AAAA;AAAA,IAEZ,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKa,KAAK,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,uBAKtBiC,EAAE,sBAAsB,EAAE,KAAK,KAAK,OAAA,CAAQ,CAAC;AAAA,mBACjD,MAAM;AACR,WAAA;AAAA,QACHxD,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,UAAU;AAAA,MACxD;AAAA,IAAA,CACD;AAAA;AAAA;AAAA;AAAA,EAAA;AAAA,EAMT,SAAS;AACH,QAAA,KAAK,SAAS,SAAS;AAGzB,YAAMyD,IADezD,EAAM,KAAK,WAAW,EAAE,OAAO,KAAK,MAAM,EAChC,IAAI,GAAG,OAAO;AAEtC,aAAAgD;AAAA,UACH,KAAK,qBAAsB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAOV,GAAG,KAAK,aAAahD,EAAM,KAAK,UAAU,EAAE,OAAO,KAAK,MAAM,EAAE,OAAO,UAAU,IAAI,EAAE,EAAE;AAAA,gBACpG,KAAK,yBAA0B,CAAA;AAAA,gBAC/B,KAAK,uBAAuB,KAAK,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAQhC,GAAG,KAAK,WAAWA,EAAM,KAAK,QAAQ,EAAE,OAAO,KAAK,MAAM,EAAE,OAAO,UAAU,IAAI,EAAE,EAAE;AAAA,gBAChG,KAAK,yBAA0B,CAAA;AAAA,gBAC/B,KAAK,uBAAuByD,EAAU,QAAQ,OAAO,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAQ5D,WAAAT;AAAA,QACH,KAAK,qBAAsB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKd,GAAG,KAAK,QAAQhD,EAAM,KAAK,KAAK,EAAE,OAAO,KAAK,MAAM,EAAE,OAAO,UAAU,IAAI,EAAE,EAAE;AAAA,UAC1F,KAAK,yBAA0B,CAAA;AAAA,UAC/B,KAAK,uBAAuB,KAAK,SAAS,CAAC;AAAA;AAAA;AAAA,EAAA;AAIrD;AAh1BEF,EAAO,UAAU,mBAEjBA,EAAO,eAAe;AAAA,EACpB,wBAAwBsC;AAAA,EACxB,sBAAsBsB;AAAA,EACtB,iBAAiBC;AAAA,EACjB,mCAAmCC;AAAA,EACnC,sBAAsBC;AACxB,GAkGgB/D,EAAA,SAASgE,EAAUC,CAAM;AA3G3C,IAAqBC,IAArBlE;AAYmBmE,EAAA;AAAA,EADhBC,EAAS,oCAAoC;AAAA,GAX3BF,EAYF,WAAA,OAAA;AAGAC,EAAA;AAAA,EADhBE,EAAM,cAAc;AAAA,GAdFH,EAeF,WAAA,aAAA;AAMYC,EAAA;AAAA,EAA5BG,EAAS,EAAE,SAAS,GAAM,CAAA;AAAA,GArBRJ,EAqBU,WAAA,MAAA;AAGAC,EAAA;AAAA,EAA5BG,EAAS,EAAE,MAAM,QAAS,CAAA;AAAA,GAxBRJ,EAwBU,WAAA,oBAAA;AAKGC,EAAA;AAAA,EAA/BG,EAAS,EAAE,WAAW,GAAO,CAAA;AAAA,GA7BXJ,EA6Ba,WAAA,OAAA;AAKAC,EAAA;AAAA,EAA/BG,EAAS,EAAE,WAAW,GAAO,CAAA;AAAA,GAlCXJ,EAkCa,WAAA,YAAA;AAKAC,EAAA;AAAA,EAA/BG,EAAS,EAAE,WAAW,GAAO,CAAA;AAAA,GAvCXJ,EAuCa,WAAA,UAAA;AAMAC,EAAA;AAAA,EAA/BG,EAAS,EAAE,WAAW,GAAO,CAAA;AAAA,GA7CXJ,EA6Ca,WAAA,aAAA;AAMAC,EAAA;AAAA,EAA/BG,EAAS,EAAE,WAAW,GAAO,CAAA;AAAA,GAnDXJ,EAmDa,WAAA,SAAA;AAMAC,EAAA;AAAA,EAA/BG,EAAS,EAAE,WAAW,GAAO,CAAA;AAAA,GAzDXJ,EAyDa,WAAA,SAAA;AAMAC,EAAA;AAAA,EAA/BG,EAAS,EAAE,WAAW,GAAO,CAAA;AAAA,GA/DXJ,EA+Da,WAAA,cAAA;AAQHC,EAAA;AAAA,EAA5BG,EAAS,EAAE,SAAS,GAAM,CAAA;AAAA,GAvERJ,EAuEU,WAAA,QAAA;AAGjBC,EAAA;AAAA,EAAXG,EAAS;AAAA,GA1ESJ,EA0EP,WAAA,kBAAA;AAGAC,EAAA;AAAA,EAAXG,EAAS;AAAA,GA7ESJ,EA6EP,WAAA,kBAAA;AAEKC,EAAA;AAAA,EAAhBI,EAAM;AAAA,GA/EYL,EA+EF,WAAA,cAAA;AACAC,EAAA;AAAA,EAAhBI,EAAM;AAAA,GAhFYL,EAgFF,WAAA,oBAAA;"}
@@ -30,6 +30,7 @@ import { default as SystemInformation2Fill } from '../icons/system/system-inform
30
30
  * @csspart description - The description of the callout.
31
31
  * @csspart actions - The actions of the callout.
32
32
  * @csspart close - The close button of the callout.
33
+ * @csspart icon-base - The base of the icon.
33
34
  *
34
35
  * @cssproperty --dds-callout-padding - Padding of the callout content. (default: var(--dds-spacing-300))
35
36
  * @cssproperty --dds-callout-gap - Gap between elements in horizontal layout. (default: var(--dds-spacing-300))
@@ -117,8 +118,11 @@ export default class DapDSCallout extends DdsElement {
117
118
  /** If the callout is opened */
118
119
  opened: string;
119
120
  static readonly styles: import('lit').CSSResult;
121
+ /** @ignore */
122
+ actionsSlot: HTMLSlotElement;
120
123
  private _hasActions;
121
124
  private get hasActions();
125
+ protected firstUpdated(): void;
122
126
  private handleActionsSlotChange;
123
127
  private static readonly defaultIcons;
124
128
  getDefaultIcon(variant: CalloutVariant): import('lit-html').TemplateResult;
@@ -1,35 +1,34 @@
1
- import { clsx as m } from "../../node_modules/clsx/dist/clsx.js";
2
- import "../../node_modules/@lit/reactive-element/reactive-element.js";
3
- import { nothing as r } from "../../node_modules/lit-html/lit-html.js";
4
- import "../../node_modules/lit-element/lit-element.js";
5
- import { property as s } from "../../node_modules/@lit/reactive-element/decorators/property.js";
6
- import { html as i } from "../../node_modules/lit-html/static.js";
7
- import { normalizeStringProperty as f, stringPropertyConverter as u } from "../../common/utils.js";
8
- import { DdsElement as b } from "../../internal/dds-hu-element.js";
9
- import "../../localization/localization.js";
10
- import g from "../card/card.component.js";
11
- import y from "../card/card-content.component.js";
12
- import $ from "../icon/icon.component.js";
13
- import v from "../icon-button/icon-button.component.js";
1
+ import { clsx as u } from "../../node_modules/clsx/dist/clsx.js";
2
+ import { unsafeCSS as f, nothing as r } from "lit";
3
+ import { property as i, query as m } from "lit/decorators.js";
4
+ import { html as a } from "lit/static-html.js";
5
+ import { normalizeStringProperty as b, stringPropertyConverter as g } from "../../common/utils.js";
6
+ import { DdsElement as y } from "../../internal/dds-hu-element.js";
7
+ import $ from "../card/card.component.js";
8
+ import S from "../card/card-content.component.js";
9
+ import v from "../icon/icon.component.js";
10
+ import _ from "../icon-button/icon-button.component.js";
14
11
  import x from "../icons/system/system-alert-fill/system-alert-fill.component.js";
15
12
  import B from "../icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component.js";
16
- import S from "../icons/system/system-error-warning-fill/system-error-warning-fill.component.js";
17
- import _ from "../icons/system/system-information-2-fill/system-information-2-fill.component.js";
18
- import C from "./callout.scss.js";
19
- import { unsafeCSS as D } from "../../node_modules/@lit/reactive-element/css-tag.js";
20
- import { translate as I } from "../../node_modules/lit-i18n/src/lit-i18n.js";
21
- var w = Object.defineProperty, a = (d, t, n, p) => {
13
+ import C from "../icons/system/system-error-warning-fill/system-error-warning-fill.component.js";
14
+ import D from "../icons/system/system-information-2-fill/system-information-2-fill.component.js";
15
+ import I from "./callout.scss.js";
16
+ var A = Object.defineProperty, o = (d, t, n, p) => {
22
17
  for (var l = void 0, c = d.length - 1, h; c >= 0; c--)
23
18
  (h = d[c]) && (l = h(t, n, l) || l);
24
- return l && w(t, n, l), l;
19
+ return l && A(t, n, l), l;
25
20
  }, e;
26
- const o = (e = class extends b {
21
+ const s = (e = class extends y {
27
22
  constructor() {
28
23
  super(...arguments), this.variant = "brand", this.alignment = "horizontal", this.shade = "base", this.noBorder = "true", this.closeable = !1, this.closeButtonTestId = "callout-close-button", this.opened = "true", this._hasActions = !1;
29
24
  }
30
25
  get hasActions() {
31
26
  return this._hasActions;
32
27
  }
28
+ firstUpdated() {
29
+ var t;
30
+ (t = this.actionsSlot) != null && t.assignedElements().length && (this._hasActions = !0, this.requestUpdate());
31
+ }
33
32
  handleActionsSlotChange(t) {
34
33
  const p = t.target.assignedElements();
35
34
  this._hasActions = p.length > 0, this.requestUpdate();
@@ -45,10 +44,10 @@ const o = (e = class extends b {
45
44
  t.key === "Escape" && this.closeable && (t.preventDefault(), this.handleClose());
46
45
  }
47
46
  updated(t) {
48
- super.updated(t), t.has("title") && (this.title = f(this.title));
47
+ super.updated(t), t.has("title") && (this.title = b(this.title));
49
48
  }
50
49
  render() {
51
- return this.opened !== "false" ? i`
50
+ return this.opened !== "false" ? a`
52
51
  <dap-ds-card
53
52
  part="base"
54
53
  role="region"
@@ -56,7 +55,7 @@ const o = (e = class extends b {
56
55
  aria-labelledby=${this.title && typeof this.title == "string" && this.title.trim() && this.title !== "null" && this.title !== "undefined" ? "callout-title" : r}
57
56
  @keydown=${this.handleKeyDown}
58
57
  .noBorder=${this.noBorder === "true"}
59
- class=${m(
58
+ class=${u(
60
59
  "callout",
61
60
  `callout--${this.variant}`,
62
61
  `callout--${this.alignment}`,
@@ -74,7 +73,7 @@ const o = (e = class extends b {
74
73
  </slot>
75
74
  </span>
76
75
  <span class="callout__content-wrapper">
77
- ${this.title && typeof this.title == "string" && this.title.trim() && this.title !== "null" && this.title !== "undefined" ? i`<span
76
+ ${this.title && typeof this.title == "string" && this.title.trim() && this.title !== "null" && this.title !== "undefined" ? a`<span
78
77
  part="title"
79
78
  class="callout__title"
80
79
  id="callout-title">
@@ -93,12 +92,12 @@ const o = (e = class extends b {
93
92
  @slotchange=${this.handleActionsSlotChange}></slot>
94
93
  </span>
95
94
  </span>
96
- ${this.closeable ? i` <span part="close" class="callout__close">
95
+ ${this.closeable ? a` <span part="close" class="callout__close">
97
96
  <slot name="close">
98
97
  <dap-ds-icon-button
99
98
  clean
100
99
  data-testid=${this.closeButtonTestId}
101
- aria-label=${this.closeButtonLabel ? this.closeButtonLabel : I("close")}
100
+ aria-label=${this.closeButtonLabel ? this.closeButtonLabel : this.localize.t("close")}
102
101
  @click=${this.handleClose}>
103
102
  <dap-ds-icon name="close-line"></dap-ds-icon>
104
103
  </dap-ds-icon-button>
@@ -109,62 +108,65 @@ const o = (e = class extends b {
109
108
  ` : r;
110
109
  }
111
110
  }, e.tagName = "dap-ds-callout", e.dependencies = {
112
- "dap-ds-icon-information-2-fill": _,
111
+ "dap-ds-icon-information-2-fill": D,
113
112
  "dap-ds-icon-checkbox-circle-fill": B,
114
113
  "dap-ds-icon-alert-fill": x,
115
- "dap-ds-icon-error-warning-fill": S,
116
- "dap-ds-card": g,
117
- "dap-ds-card-content": y,
118
- "dap-ds-icon-button": v,
119
- "dap-ds-icon": $
120
- }, e.styles = D(C), e.defaultIcons = {
121
- brand: i`<dap-ds-icon-information-2-fill
114
+ "dap-ds-icon-error-warning-fill": C,
115
+ "dap-ds-card": $,
116
+ "dap-ds-card-content": S,
117
+ "dap-ds-icon-button": _,
118
+ "dap-ds-icon": v
119
+ }, e.styles = f(I), e.defaultIcons = {
120
+ brand: a`<dap-ds-icon-information-2-fill
122
121
  aria-hidden="true"
123
122
  exportparts="base:icon-base"></dap-ds-icon-information-2-fill>`,
124
- info: i`<dap-ds-icon-information-2-fill
123
+ info: a`<dap-ds-icon-information-2-fill
125
124
  aria-hidden="true"
126
125
  exportparts="base:icon-base"></dap-ds-icon-information-2-fill>`,
127
- positive: i`<dap-ds-icon-checkbox-circle-fill
126
+ positive: a`<dap-ds-icon-checkbox-circle-fill
128
127
  aria-hidden="true"
129
128
  exportparts="base:icon-base"></dap-ds-icon-checkbox-circle-fill>`,
130
- warning: i`<dap-ds-icon-alert-fill
129
+ warning: a`<dap-ds-icon-alert-fill
131
130
  aria-hidden="true"
132
131
  exportparts="base:icon-base"></dap-ds-icon-alert-fill>`,
133
- negative: i`<dap-ds-icon-error-warning-fill
132
+ negative: a`<dap-ds-icon-error-warning-fill
134
133
  aria-hidden="true"
135
134
  exportparts="base:icon-base"></dap-ds-icon-error-warning-fill>`
136
135
  }, e);
137
- a([
138
- s()
139
- ], o.prototype, "variant");
140
- a([
141
- s()
142
- ], o.prototype, "alignment");
143
- a([
144
- s()
145
- ], o.prototype, "shade");
146
- a([
147
- s({ type: String })
148
- ], o.prototype, "noBorder");
149
- a([
150
- s({ type: Boolean })
151
- ], o.prototype, "closeable");
152
- a([
153
- s({
154
- converter: u
136
+ o([
137
+ i()
138
+ ], s.prototype, "variant");
139
+ o([
140
+ i()
141
+ ], s.prototype, "alignment");
142
+ o([
143
+ i()
144
+ ], s.prototype, "shade");
145
+ o([
146
+ i({ type: String })
147
+ ], s.prototype, "noBorder");
148
+ o([
149
+ i({ type: Boolean })
150
+ ], s.prototype, "closeable");
151
+ o([
152
+ i({
153
+ converter: g
155
154
  })
156
- ], o.prototype, "title");
157
- a([
158
- s()
159
- ], o.prototype, "closeButtonLabel");
160
- a([
161
- s()
162
- ], o.prototype, "closeButtonTestId");
163
- a([
164
- s({ reflect: !0 })
165
- ], o.prototype, "opened");
166
- let R = o;
155
+ ], s.prototype, "title");
156
+ o([
157
+ i()
158
+ ], s.prototype, "closeButtonLabel");
159
+ o([
160
+ i()
161
+ ], s.prototype, "closeButtonTestId");
162
+ o([
163
+ i({ reflect: !0 })
164
+ ], s.prototype, "opened");
165
+ o([
166
+ m('slot[name="actions"]')
167
+ ], s.prototype, "actionsSlot");
168
+ let G = s;
167
169
  export {
168
- R as default
170
+ G as default
169
171
  };
170
172
  //# sourceMappingURL=callout.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callout.component.js","sources":["../../../src/components/callout/callout.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { nothing, unsafeCSS } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { html } from 'lit/static-html.js'\n\nimport { Alignment, BackgroundShade, CalloutVariant } from '@/common/types'\nimport {\n normalizeStringProperty,\n stringPropertyConverter,\n} from '@/common/utils'\nimport { DdsElement } from '@/internal/dds-hu-element'\nimport { translate } from '@/localization/localization'\n\nimport DapDSCard from '../card/card.component'\nimport DapDSCardContent from '../card/card-content.component'\nimport DapDSIcon from '../icon/icon.component'\nimport DapDSIconButton from '../icon-button/icon-button.component'\nimport SystemAlertFill from '../icons/system/system-alert-fill/system-alert-fill.component'\nimport SystemCheckboxCircleFill from '../icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component'\nimport SystemErrorWarningFill from '../icons/system/system-error-warning-fill/system-error-warning-fill.component'\nimport SystemInformation2Fill from '../icons/system/system-information-2-fill/system-information-2-fill.component'\nimport styles from './callout.scss?inline'\n\n/**\n * `dap-ds-callout` is a custom callout component.\n * @element dap-ds-callout\n * @title - Callout\n *\n * @event {{ void }} dds-close - Fired when the close button is clicked.\n *\n * @slot - The content of the callout.\n * @slot title - The title of the callout.\n * @slot icon - The icon of the callout.\n * @slot actions - The actions of the callout.\n * @slot close - The close button of the callout.\n *\n * @csspart base - The main callout container.\n * @csspart content - The content of the callout.\n * @csspart card-content - The content of the card.\n * @csspart icon - The icon of the callout.\n * @csspart title - The title of the callout.\n * @csspart description - The description of the callout.\n * @csspart actions - The actions of the callout.\n * @csspart close - The close button of the callout.\n *\n * @cssproperty --dds-callout-padding - Padding of the callout content. (default: var(--dds-spacing-300))\n * @cssproperty --dds-callout-gap - Gap between elements in horizontal layout. (default: var(--dds-spacing-300))\n * @cssproperty --dds-callout-icon-size - Size of the icon. (default: var(--dds-spacing-600))\n * @cssproperty --dds-callout-title-color - Color of the title text. (default: var(--dds-text-neutral-strong))\n * @cssproperty --dds-callout-description-color - Color of the description text. (default: var(--dds-text-neutral-base))\n * @cssproperty --dds-callout-title-font-size - Font size of the title. (default: var(--dds-font-base))\n * @cssproperty --dds-callout-description-font-size - Font size of the description. (default: var(--dds-font-base))\n * @cssproperty --dds-callout-title-font-weight - Font weight of the title. (default: var(--dds-font-weight-bold))\n * @cssproperty --dds-callout-description-font-weight - Font weight of the description. (default: var(--dds-font-weight-medium))\n * @cssproperty --dds-callout-actions-font-weight - Font weight of the actions. (default: var(--dds-font-weight-bold))\n * @cssproperty --dds-callout-actions-gap - Gap between action items. (default: var(--dds-spacing-400))\n * @cssproperty --dds-callout-content-gap - Gap between content elements. (default: var(--dds-spacing-100))\n * @cssproperty --dds-callout-border-radius - Border radius of the callout. (default: var(--dds-radius-base))\n *\n * @cssproperty --dds-callout-brand-background - Brand variant background color. (default: var(--dds-background-brand-base))\n * @cssproperty --dds-callout-brand-background-subtle - Brand variant subtle background color. (default: var(--dds-background-brand-subtle))\n * @cssproperty --dds-callout-brand-background-medium - Brand variant medium background color. (default: var(--dds-background-brand-medium))\n * @cssproperty --dds-callout-brand-background-strong - Brand variant strong background color. (default: var(--dds-background-brand-strong))\n * @cssproperty --dds-callout-brand-icon - Brand variant icon color. (default: var(--dds-icon-brand-subtle))\n * @cssproperty --dds-callout-brand-border - Brand variant border color. (default: var(--dds-border-brand-subtle))\n *\n * @cssproperty --dds-callout-info-background - Info variant background color. (default: var(--dds-background-informative-base))\n * @cssproperty --dds-callout-info-background-subtle - Info variant subtle background color. (default: var(--dds-background-informative-subtle))\n * @cssproperty --dds-callout-info-background-medium - Info variant medium background color. (default: var(--dds-background-informative-medium))\n * @cssproperty --dds-callout-info-background-strong - Info variant strong background color. (default: var(--dds-background-informative-strong))\n * @cssproperty --dds-callout-info-icon - Info variant icon color. (default: var(--dds-icon-informative-subtle))\n * @cssproperty --dds-callout-info-border - Info variant border color. (default: var(--dds-border-informative-subtle))\n *\n * @cssproperty --dds-callout-positive-background - Positive variant background color. (default: var(--dds-background-positive-base))\n * @cssproperty --dds-callout-positive-background-subtle - Positive variant subtle background color. (default: var(--dds-background-positive-subtle))\n * @cssproperty --dds-callout-positive-background-medium - Positive variant medium background color. (default: var(--dds-background-positive-medium))\n * @cssproperty --dds-callout-positive-background-strong - Positive variant strong background color. (default: var(--dds-background-positive-strong))\n * @cssproperty --dds-callout-positive-icon - Positive variant icon color. (default: var(--dds-icon-positive-subtle))\n * @cssproperty --dds-callout-positive-border - Positive variant border color. (default: var(--dds-border-positive-subtle))\n *\n * @cssproperty --dds-callout-warning-background - Warning variant background color. (default: var(--dds-background-warning-base))\n * @cssproperty --dds-callout-warning-background-subtle - Warning variant subtle background color. (default: var(--dds-background-warning-subtle))\n * @cssproperty --dds-callout-warning-background-medium - Warning variant medium background color. (default: var(--dds-background-warning-medium))\n * @cssproperty --dds-callout-warning-background-strong - Warning variant strong background color. (default: var(--dds-background-warning-strong))\n * @cssproperty --dds-callout-warning-icon - Warning variant icon color. (default: var(--dds-icon-neutral-strong))\n * @cssproperty --dds-callout-warning-border - Warning variant border color. (default: var(--dds-border-warning-subtle))\n *\n * @cssproperty --dds-callout-negative-background - Negative variant background color. (default: var(--dds-background-negative-base))\n * @cssproperty --dds-callout-negative-background-subtle - Negative variant subtle background color. (default: var(--dds-background-negative-subtle))\n * @cssproperty --dds-callout-negative-background-medium - Negative variant medium background color. (default: var(--dds-background-negative-medium))\n * @cssproperty --dds-callout-negative-background-strong - Negative variant strong background color. (default: var(--dds-background-negative-strong))\n * @cssproperty --dds-callout-negative-icon - Negative variant icon color. (default: var(--dds-icon-negative-subtle))\n * @cssproperty --dds-callout-negative-border - Negative variant border color. (default: var(--dds-border-negative-subtle))\n */\nexport default class DapDSCallout extends DdsElement {\n static tagName = 'dap-ds-callout'\n\n static dependencies = {\n 'dap-ds-icon-information-2-fill': SystemInformation2Fill,\n 'dap-ds-icon-checkbox-circle-fill': SystemCheckboxCircleFill,\n 'dap-ds-icon-alert-fill': SystemAlertFill,\n 'dap-ds-icon-error-warning-fill': SystemErrorWarningFill,\n 'dap-ds-card': DapDSCard,\n 'dap-ds-card-content': DapDSCardContent,\n 'dap-ds-icon-button': DapDSIconButton,\n 'dap-ds-icon': DapDSIcon,\n }\n\n /** The variant of the callout\n * @type { 'brand' | 'positive' | 'info' | 'warning' | 'negative' }\n */\n @property() variant: CalloutVariant = 'brand'\n\n /** The alignment of the callout. Can be `vertical` or `horizontal`.\n * @type { 'vertical' | 'horizontal' }\n */\n @property() alignment: Alignment = 'horizontal'\n\n /** The strongness of the callout colors. Can be `subtle`, `base`, `medium`, or `strong`.\n * @type { 'subtle' | 'base' | 'medium' | 'strong' }\n */\n @property() shade: BackgroundShade = 'base'\n\n /** If the callout has a border */\n @property({ type: String }) noBorder: string = 'true'\n\n /** If the callout has a close button */\n @property({ type: Boolean }) closeable: boolean = false\n\n /** The header of the callout */\n @property({\n converter: stringPropertyConverter,\n })\n title: string\n\n /** The label of the close button */\n @property() closeButtonLabel: string\n\n /** `data-testid` for the default close button. */\n @property() closeButtonTestId = 'callout-close-button'\n\n /** If the callout is opened */\n @property({ reflect: true }) opened: string = 'true'\n\n static readonly styles = unsafeCSS(styles)\n\n private _hasActions: boolean = false\n\n private get hasActions(): boolean {\n return this._hasActions\n }\n\n private handleActionsSlotChange(event: Event): void {\n const slot = event.target as HTMLSlotElement\n const assignedElements = slot.assignedElements()\n this._hasActions = assignedElements.length > 0\n this.requestUpdate()\n }\n\n private static readonly defaultIcons = {\n brand: html`<dap-ds-icon-information-2-fill\n aria-hidden=\"true\"\n exportparts=\"base:icon-base\"></dap-ds-icon-information-2-fill>`,\n info: html`<dap-ds-icon-information-2-fill\n aria-hidden=\"true\"\n exportparts=\"base:icon-base\"></dap-ds-icon-information-2-fill>`,\n positive: html`<dap-ds-icon-checkbox-circle-fill\n aria-hidden=\"true\"\n exportparts=\"base:icon-base\"></dap-ds-icon-checkbox-circle-fill>`,\n warning: html`<dap-ds-icon-alert-fill\n aria-hidden=\"true\"\n exportparts=\"base:icon-base\"></dap-ds-icon-alert-fill>`,\n negative: html`<dap-ds-icon-error-warning-fill\n aria-hidden=\"true\"\n exportparts=\"base:icon-base\"></dap-ds-icon-error-warning-fill>`,\n } as const\n\n getDefaultIcon(variant: CalloutVariant) {\n return DapDSCallout.defaultIcons[variant] ?? DapDSCallout.defaultIcons.brand\n }\n\n handleClose() {\n this.emit('dds-close')\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.closeable) {\n event.preventDefault()\n this.handleClose()\n }\n }\n\n protected updated(changedProperties: Map<PropertyKey, unknown>): void {\n super.updated(changedProperties)\n\n if (changedProperties.has('title')) {\n this.title = normalizeStringProperty(this.title)\n }\n }\n\n render() {\n return this.opened !== 'false'\n ? html`\n <dap-ds-card\n part=\"base\"\n role=\"region\"\n aria-live=\"polite\"\n aria-labelledby=${this.title &&\n typeof this.title === 'string' &&\n this.title.trim() &&\n this.title !== 'null' &&\n this.title !== 'undefined'\n ? 'callout-title'\n : nothing}\n @keydown=${this.handleKeyDown}\n .noBorder=${this.noBorder === 'true'}\n class=${clsx(\n 'callout',\n `callout--${this.variant}`,\n `callout--${this.alignment}`,\n `callout--${this.shade}`,\n { [`callout--border`]: this.noBorder === 'false' },\n )}>\n <dap-ds-card-content\n class=\"callout__content\"\n spacing=\"none\"\n part=\"content\"\n exportparts=\"base:card-content\">\n <span class=\"callout__icon\" aria-hidden=\"true\">\n <slot name=\"icon\" part=\"icon\">\n ${this.getDefaultIcon(this.variant)}\n </slot>\n </span>\n <span class=\"callout__content-wrapper\">\n ${this.title &&\n typeof this.title === 'string' &&\n this.title.trim() &&\n this.title !== 'null' &&\n this.title !== 'undefined'\n ? html`<span\n part=\"title\"\n class=\"callout__title\"\n id=\"callout-title\">\n <slot name=\"title\">${this.title}</slot>\n </span>`\n : nothing}\n <span part=\"description\" class=\"callout__description\">\n <slot></slot>\n </span>\n <span\n part=\"actions\"\n class=\"callout__actions\"\n ?hidden=${!this.hasActions}>\n <slot\n name=\"actions\"\n part=\"actions\"\n @slotchange=${this.handleActionsSlotChange}></slot>\n </span>\n </span>\n ${this.closeable\n ? html` <span part=\"close\" class=\"callout__close\">\n <slot name=\"close\">\n <dap-ds-icon-button\n clean\n data-testid=${this.closeButtonTestId}\n aria-label=${this.closeButtonLabel\n ? this.closeButtonLabel\n : translate('close')}\n @click=${this.handleClose}>\n <dap-ds-icon name=\"close-line\"></dap-ds-icon>\n </dap-ds-icon-button>\n </slot>\n </span>`\n : nothing}\n </dap-ds-card-content>\n </dap-ds-card>\n `\n : nothing\n }\n}\n"],"names":["_DapDSCallout","_a","DdsElement","event","assignedElements","variant","changedProperties","normalizeStringProperty","html","nothing","clsx","translate","SystemInformation2Fill","SystemCheckboxCircleFill","SystemAlertFill","SystemErrorWarningFill","DapDSCard","DapDSCardContent","DapDSIconButton","DapDSIcon","unsafeCSS","styles","__decorateClass","property","stringPropertyConverter","DapDSCallout"],"mappings":"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"}
1
+ {"version":3,"file":"callout.component.js","sources":["../../../src/components/callout/callout.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { nothing, unsafeCSS } from 'lit'\nimport { property, query } from 'lit/decorators.js'\nimport { html } from 'lit/static-html.js'\n\nimport { Alignment, BackgroundShade, CalloutVariant } from '@/common/types'\nimport {\n normalizeStringProperty,\n stringPropertyConverter,\n} from '@/common/utils'\nimport { DdsElement } from '@/internal/dds-hu-element'\n\nimport DapDSCard from '../card/card.component'\nimport DapDSCardContent from '../card/card-content.component'\nimport DapDSIcon from '../icon/icon.component'\nimport DapDSIconButton from '../icon-button/icon-button.component'\nimport SystemAlertFill from '../icons/system/system-alert-fill/system-alert-fill.component'\nimport SystemCheckboxCircleFill from '../icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component'\nimport SystemErrorWarningFill from '../icons/system/system-error-warning-fill/system-error-warning-fill.component'\nimport SystemInformation2Fill from '../icons/system/system-information-2-fill/system-information-2-fill.component'\nimport styles from './callout.scss?inline'\n\n/**\n * `dap-ds-callout` is a custom callout component.\n * @element dap-ds-callout\n * @title - Callout\n *\n * @event {{ void }} dds-close - Fired when the close button is clicked.\n *\n * @slot - The content of the callout.\n * @slot title - The title of the callout.\n * @slot icon - The icon of the callout.\n * @slot actions - The actions of the callout.\n * @slot close - The close button of the callout.\n *\n * @csspart base - The main callout container.\n * @csspart content - The content of the callout.\n * @csspart card-content - The content of the card.\n * @csspart icon - The icon of the callout.\n * @csspart title - The title of the callout.\n * @csspart description - The description of the callout.\n * @csspart actions - The actions of the callout.\n * @csspart close - The close button of the callout.\n * @csspart icon-base - The base of the icon.\n *\n * @cssproperty --dds-callout-padding - Padding of the callout content. (default: var(--dds-spacing-300))\n * @cssproperty --dds-callout-gap - Gap between elements in horizontal layout. (default: var(--dds-spacing-300))\n * @cssproperty --dds-callout-icon-size - Size of the icon. (default: var(--dds-spacing-600))\n * @cssproperty --dds-callout-title-color - Color of the title text. (default: var(--dds-text-neutral-strong))\n * @cssproperty --dds-callout-description-color - Color of the description text. (default: var(--dds-text-neutral-base))\n * @cssproperty --dds-callout-title-font-size - Font size of the title. (default: var(--dds-font-base))\n * @cssproperty --dds-callout-description-font-size - Font size of the description. (default: var(--dds-font-base))\n * @cssproperty --dds-callout-title-font-weight - Font weight of the title. (default: var(--dds-font-weight-bold))\n * @cssproperty --dds-callout-description-font-weight - Font weight of the description. (default: var(--dds-font-weight-medium))\n * @cssproperty --dds-callout-actions-font-weight - Font weight of the actions. (default: var(--dds-font-weight-bold))\n * @cssproperty --dds-callout-actions-gap - Gap between action items. (default: var(--dds-spacing-400))\n * @cssproperty --dds-callout-content-gap - Gap between content elements. (default: var(--dds-spacing-100))\n * @cssproperty --dds-callout-border-radius - Border radius of the callout. (default: var(--dds-radius-base))\n *\n * @cssproperty --dds-callout-brand-background - Brand variant background color. (default: var(--dds-background-brand-base))\n * @cssproperty --dds-callout-brand-background-subtle - Brand variant subtle background color. (default: var(--dds-background-brand-subtle))\n * @cssproperty --dds-callout-brand-background-medium - Brand variant medium background color. (default: var(--dds-background-brand-medium))\n * @cssproperty --dds-callout-brand-background-strong - Brand variant strong background color. (default: var(--dds-background-brand-strong))\n * @cssproperty --dds-callout-brand-icon - Brand variant icon color. (default: var(--dds-icon-brand-subtle))\n * @cssproperty --dds-callout-brand-border - Brand variant border color. (default: var(--dds-border-brand-subtle))\n *\n * @cssproperty --dds-callout-info-background - Info variant background color. (default: var(--dds-background-informative-base))\n * @cssproperty --dds-callout-info-background-subtle - Info variant subtle background color. (default: var(--dds-background-informative-subtle))\n * @cssproperty --dds-callout-info-background-medium - Info variant medium background color. (default: var(--dds-background-informative-medium))\n * @cssproperty --dds-callout-info-background-strong - Info variant strong background color. (default: var(--dds-background-informative-strong))\n * @cssproperty --dds-callout-info-icon - Info variant icon color. (default: var(--dds-icon-informative-subtle))\n * @cssproperty --dds-callout-info-border - Info variant border color. (default: var(--dds-border-informative-subtle))\n *\n * @cssproperty --dds-callout-positive-background - Positive variant background color. (default: var(--dds-background-positive-base))\n * @cssproperty --dds-callout-positive-background-subtle - Positive variant subtle background color. (default: var(--dds-background-positive-subtle))\n * @cssproperty --dds-callout-positive-background-medium - Positive variant medium background color. (default: var(--dds-background-positive-medium))\n * @cssproperty --dds-callout-positive-background-strong - Positive variant strong background color. (default: var(--dds-background-positive-strong))\n * @cssproperty --dds-callout-positive-icon - Positive variant icon color. (default: var(--dds-icon-positive-subtle))\n * @cssproperty --dds-callout-positive-border - Positive variant border color. (default: var(--dds-border-positive-subtle))\n *\n * @cssproperty --dds-callout-warning-background - Warning variant background color. (default: var(--dds-background-warning-base))\n * @cssproperty --dds-callout-warning-background-subtle - Warning variant subtle background color. (default: var(--dds-background-warning-subtle))\n * @cssproperty --dds-callout-warning-background-medium - Warning variant medium background color. (default: var(--dds-background-warning-medium))\n * @cssproperty --dds-callout-warning-background-strong - Warning variant strong background color. (default: var(--dds-background-warning-strong))\n * @cssproperty --dds-callout-warning-icon - Warning variant icon color. (default: var(--dds-icon-neutral-strong))\n * @cssproperty --dds-callout-warning-border - Warning variant border color. (default: var(--dds-border-warning-subtle))\n *\n * @cssproperty --dds-callout-negative-background - Negative variant background color. (default: var(--dds-background-negative-base))\n * @cssproperty --dds-callout-negative-background-subtle - Negative variant subtle background color. (default: var(--dds-background-negative-subtle))\n * @cssproperty --dds-callout-negative-background-medium - Negative variant medium background color. (default: var(--dds-background-negative-medium))\n * @cssproperty --dds-callout-negative-background-strong - Negative variant strong background color. (default: var(--dds-background-negative-strong))\n * @cssproperty --dds-callout-negative-icon - Negative variant icon color. (default: var(--dds-icon-negative-subtle))\n * @cssproperty --dds-callout-negative-border - Negative variant border color. (default: var(--dds-border-negative-subtle))\n */\nexport default class DapDSCallout extends DdsElement {\n static tagName = 'dap-ds-callout'\n\n static dependencies = {\n 'dap-ds-icon-information-2-fill': SystemInformation2Fill,\n 'dap-ds-icon-checkbox-circle-fill': SystemCheckboxCircleFill,\n 'dap-ds-icon-alert-fill': SystemAlertFill,\n 'dap-ds-icon-error-warning-fill': SystemErrorWarningFill,\n 'dap-ds-card': DapDSCard,\n 'dap-ds-card-content': DapDSCardContent,\n 'dap-ds-icon-button': DapDSIconButton,\n 'dap-ds-icon': DapDSIcon,\n }\n\n /** The variant of the callout\n * @type { 'brand' | 'positive' | 'info' | 'warning' | 'negative' }\n */\n @property() variant: CalloutVariant = 'brand'\n\n /** The alignment of the callout. Can be `vertical` or `horizontal`.\n * @type { 'vertical' | 'horizontal' }\n */\n @property() alignment: Alignment = 'horizontal'\n\n /** The strongness of the callout colors. Can be `subtle`, `base`, `medium`, or `strong`.\n * @type { 'subtle' | 'base' | 'medium' | 'strong' }\n */\n @property() shade: BackgroundShade = 'base'\n\n /** If the callout has a border */\n @property({ type: String }) noBorder: string = 'true'\n\n /** If the callout has a close button */\n @property({ type: Boolean }) closeable: boolean = false\n\n /** The header of the callout */\n @property({\n converter: stringPropertyConverter,\n })\n title: string\n\n /** The label of the close button */\n @property() closeButtonLabel: string\n\n /** `data-testid` for the default close button. */\n @property() closeButtonTestId = 'callout-close-button'\n\n /** If the callout is opened */\n @property({ reflect: true }) opened: string = 'true'\n\n static readonly styles = unsafeCSS(styles)\n\n /** @ignore */\n @query('slot[name=\"actions\"]') actionsSlot!: HTMLSlotElement\n\n private _hasActions: boolean = false\n\n private get hasActions(): boolean {\n return this._hasActions\n }\n\n protected firstUpdated(): void {\n // On SSR hydration `slotchange` does not fire, so `_hasActions` stays false\n // and the actions wrapper keeps its server-rendered `hidden` attribute even\n // when actions were slotted. Resolve once here from the assigned elements.\n if (this.actionsSlot?.assignedElements().length) {\n this._hasActions = true\n this.requestUpdate()\n }\n }\n\n private handleActionsSlotChange(event: Event): void {\n const slot = event.target as HTMLSlotElement\n const assignedElements = slot.assignedElements()\n this._hasActions = assignedElements.length > 0\n this.requestUpdate()\n }\n\n private static readonly defaultIcons = {\n brand: html`<dap-ds-icon-information-2-fill\n aria-hidden=\"true\"\n exportparts=\"base:icon-base\"></dap-ds-icon-information-2-fill>`,\n info: html`<dap-ds-icon-information-2-fill\n aria-hidden=\"true\"\n exportparts=\"base:icon-base\"></dap-ds-icon-information-2-fill>`,\n positive: html`<dap-ds-icon-checkbox-circle-fill\n aria-hidden=\"true\"\n exportparts=\"base:icon-base\"></dap-ds-icon-checkbox-circle-fill>`,\n warning: html`<dap-ds-icon-alert-fill\n aria-hidden=\"true\"\n exportparts=\"base:icon-base\"></dap-ds-icon-alert-fill>`,\n negative: html`<dap-ds-icon-error-warning-fill\n aria-hidden=\"true\"\n exportparts=\"base:icon-base\"></dap-ds-icon-error-warning-fill>`,\n } as const\n\n getDefaultIcon(variant: CalloutVariant) {\n return DapDSCallout.defaultIcons[variant] ?? DapDSCallout.defaultIcons.brand\n }\n\n handleClose() {\n this.emit('dds-close')\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.closeable) {\n event.preventDefault()\n this.handleClose()\n }\n }\n\n protected updated(changedProperties: Map<PropertyKey, unknown>): void {\n super.updated(changedProperties)\n\n if (changedProperties.has('title')) {\n this.title = normalizeStringProperty(this.title)\n }\n }\n\n render() {\n return this.opened !== 'false'\n ? html`\n <dap-ds-card\n part=\"base\"\n role=\"region\"\n aria-live=\"polite\"\n aria-labelledby=${this.title &&\n typeof this.title === 'string' &&\n this.title.trim() &&\n this.title !== 'null' &&\n this.title !== 'undefined'\n ? 'callout-title'\n : nothing}\n @keydown=${this.handleKeyDown}\n .noBorder=${this.noBorder === 'true'}\n class=${clsx(\n 'callout',\n `callout--${this.variant}`,\n `callout--${this.alignment}`,\n `callout--${this.shade}`,\n { [`callout--border`]: this.noBorder === 'false' },\n )}>\n <dap-ds-card-content\n class=\"callout__content\"\n spacing=\"none\"\n part=\"content\"\n exportparts=\"base:card-content\">\n <span class=\"callout__icon\" aria-hidden=\"true\">\n <slot name=\"icon\" part=\"icon\">\n ${this.getDefaultIcon(this.variant)}\n </slot>\n </span>\n <span class=\"callout__content-wrapper\">\n ${this.title &&\n typeof this.title === 'string' &&\n this.title.trim() &&\n this.title !== 'null' &&\n this.title !== 'undefined'\n ? html`<span\n part=\"title\"\n class=\"callout__title\"\n id=\"callout-title\">\n <slot name=\"title\">${this.title}</slot>\n </span>`\n : nothing}\n <span part=\"description\" class=\"callout__description\">\n <slot></slot>\n </span>\n <span\n part=\"actions\"\n class=\"callout__actions\"\n ?hidden=${!this.hasActions}>\n <slot\n name=\"actions\"\n part=\"actions\"\n @slotchange=${this.handleActionsSlotChange}></slot>\n </span>\n </span>\n ${this.closeable\n ? html` <span part=\"close\" class=\"callout__close\">\n <slot name=\"close\">\n <dap-ds-icon-button\n clean\n data-testid=${this.closeButtonTestId}\n aria-label=${this.closeButtonLabel\n ? this.closeButtonLabel\n : this.localize.t('close')}\n @click=${this.handleClose}>\n <dap-ds-icon name=\"close-line\"></dap-ds-icon>\n </dap-ds-icon-button>\n </slot>\n </span>`\n : nothing}\n </dap-ds-card-content>\n </dap-ds-card>\n `\n : nothing\n }\n}\n"],"names":["_DapDSCallout","_a","DdsElement","event","assignedElements","variant","changedProperties","normalizeStringProperty","html","nothing","clsx","SystemInformation2Fill","SystemCheckboxCircleFill","SystemAlertFill","SystemErrorWarningFill","DapDSCard","DapDSCardContent","DapDSIconButton","DapDSIcon","unsafeCSS","styles","__decorateClass","property","stringPropertyConverter","query","DapDSCallout"],"mappings":"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"}
@@ -1,18 +1,15 @@
1
1
  import { clsx as i } from "../../node_modules/clsx/dist/clsx.js";
2
- import "../../node_modules/@lit/reactive-element/reactive-element.js";
3
- import "../../node_modules/lit-html/lit-html.js";
4
- import "../../node_modules/lit-element/lit-element.js";
5
- import { html as r } from "../../node_modules/lit-html/static.js";
6
- import { DdsElement as e } from "../../internal/dds-hu-element.js";
7
- import { SizedMixin as o } from "../../internal/mixin/sizedMixin.js";
8
- import a from "./_styles/card-actions.scss.js";
9
- import { unsafeCSS as m } from "../../node_modules/@lit/reactive-element/css-tag.js";
10
- const t = class t extends o(e) {
2
+ import { unsafeCSS as r } from "lit";
3
+ import { html as e } from "lit/static-html.js";
4
+ import { DdsElement as o } from "../../internal/dds-hu-element.js";
5
+ import { SizedMixin as a } from "../../internal/mixin/sizedMixin.js";
6
+ import c from "./_styles/card-actions.scss.js";
7
+ const t = class t extends a(o) {
11
8
  constructor() {
12
9
  super(), this.spacing = "bottom", this.parentSized = "true";
13
10
  }
14
11
  render() {
15
- return r`
12
+ return e`
16
13
  <div
17
14
  part="base"
18
15
  class=${i(
@@ -25,7 +22,7 @@ const t = class t extends o(e) {
25
22
  `;
26
23
  }
27
24
  };
28
- t.tagName = "dap-ds-card-actions", t.styles = m(a);
25
+ t.tagName = "dap-ds-card-actions", t.styles = r(c);
29
26
  let s = t;
30
27
  export {
31
28
  s as default
@@ -1 +1 @@
1
- {"version":3,"file":"card-actions.component.js","sources":["../../../src/components/card/card-actions.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { unsafeCSS } from 'lit'\nimport { html } from 'lit/static-html.js'\n\nimport { DdsElement } from '@/internal/dds-hu-element'\nimport { SizedMixin } from '@/internal/mixin/sizedMixin'\n\nimport styles from './_styles/card-actions.scss?inline'\n\n/**\n * `dap-ds-card-actions`\n * @summary A card actions is a container for actions in a card.\n * @element dap-ds-card-actions\n * @title - Card actions\n * @group card\n *\n * @property {'sm' | 'md' | 'lg'} size - The size of the card actions. Default is `sm`.\n * @property {'top' | 'bottom' | 'both' | 'none'} spacing - The spacing of the card actions. This adds a margin to the card actions. Default is `bottom`.\n * @property {string} sizeMap - Responsive size map (e.g. \"md:lg\").\n *\n * @slot - The content of the card actions.\n *\n * @csspart base - The main card actions container.\n *\n * @cssproperty --dds-card-actions-gap - The gap between items in the card actions. (default: var(--dds-spacing-200))\n * @cssproperty --dds-card-actions-padding-lg - The padding for large size card actions. (default: var(--dds-spacing-600))\n * @cssproperty --dds-card-actions-padding-md - The padding for medium size card actions. (default: var(--dds-spacing-400))\n * @cssproperty --dds-card-actions-padding-sm - The padding for small size card actions. (default: var(--dds-spacing-400))\n * @cssproperty --dds-card-actions-margin-lg - The margin for large size card actions spacing. (default: var(--dds-spacing-600))\n * @cssproperty --dds-card-actions-margin-md - The margin for medium size card actions spacing. (default: var(--dds-spacing-400))\n * @cssproperty --dds-card-actions-margin-sm - The margin for small size card actions spacing. (default: var(--dds-spacing-400))\n */\nexport default class DapDSCardActions extends SizedMixin(DdsElement) {\n static tagName = 'dap-ds-card-actions'\n\n static readonly styles = unsafeCSS(styles)\n\n constructor() {\n super()\n this.spacing = 'bottom'\n this.parentSized = 'true'\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${clsx(\n 'card-actions',\n `card-actions--${this.effectiveSize}`,\n `card-actions-spacing--${this.spacing}`,\n )}>\n <slot> </slot>\n </div>\n `\n }\n}\n"],"names":["_DapDSCardActions","SizedMixin","DdsElement","html","clsx","unsafeCSS","styles","DapDSCardActions"],"mappings":";;;;;;;;;AAgCqB,MAAAA,IAAA,MAAAA,UAAyBC,EAAWC,CAAU,EAAE;AAAA,EAKnE,cAAc;AACN,UAAA,GACN,KAAK,UAAU,UACf,KAAK,cAAc;AAAA,EAAA;AAAA,EAGrB,SAAS;AACA,WAAAC;AAAAA;AAAAA;AAAAA,gBAGKC;AAAA,MACN;AAAA,MACA,iBAAiB,KAAK,aAAa;AAAA,MACnC,yBAAyB,KAAK,OAAO;AAAA,IAAA,CACtC;AAAA;AAAA;AAAA;AAAA,EAAA;AAKT;AAvBEJ,EAAO,UAAU,uBAEDA,EAAA,SAASK,EAAUC,CAAM;AAHtB,IAAAC,IAAAP;"}
1
+ {"version":3,"file":"card-actions.component.js","sources":["../../../src/components/card/card-actions.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { unsafeCSS } from 'lit'\nimport { html } from 'lit/static-html.js'\n\nimport { DdsElement } from '@/internal/dds-hu-element'\nimport { SizedMixin } from '@/internal/mixin/sizedMixin'\n\nimport styles from './_styles/card-actions.scss?inline'\n\n/**\n * `dap-ds-card-actions`\n * @summary A card actions is a container for actions in a card.\n * @element dap-ds-card-actions\n * @title - Card actions\n * @group card\n *\n * @property {'sm' | 'md' | 'lg'} size - The size of the card actions. Default is `sm`.\n * @property {'top' | 'bottom' | 'both' | 'none'} spacing - The spacing of the card actions. This adds a margin to the card actions. Default is `bottom`.\n * @property {string} sizeMap - Responsive size map (e.g. \"md:lg\").\n *\n * @slot - The content of the card actions.\n *\n * @csspart base - The main card actions container.\n *\n * @cssproperty --dds-card-actions-gap - The gap between items in the card actions. (default: var(--dds-spacing-200))\n * @cssproperty --dds-card-actions-padding-lg - The padding for large size card actions. (default: var(--dds-spacing-600))\n * @cssproperty --dds-card-actions-padding-md - The padding for medium size card actions. (default: var(--dds-spacing-400))\n * @cssproperty --dds-card-actions-padding-sm - The padding for small size card actions. (default: var(--dds-spacing-400))\n * @cssproperty --dds-card-actions-margin-lg - The margin for large size card actions spacing. (default: var(--dds-spacing-600))\n * @cssproperty --dds-card-actions-margin-md - The margin for medium size card actions spacing. (default: var(--dds-spacing-400))\n * @cssproperty --dds-card-actions-margin-sm - The margin for small size card actions spacing. (default: var(--dds-spacing-400))\n */\nexport default class DapDSCardActions extends SizedMixin(DdsElement) {\n static tagName = 'dap-ds-card-actions'\n\n static readonly styles = unsafeCSS(styles)\n\n constructor() {\n super()\n this.spacing = 'bottom'\n this.parentSized = 'true'\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${clsx(\n 'card-actions',\n `card-actions--${this.effectiveSize}`,\n `card-actions-spacing--${this.spacing}`,\n )}>\n <slot> </slot>\n </div>\n `\n }\n}\n"],"names":["_DapDSCardActions","SizedMixin","DdsElement","html","clsx","unsafeCSS","styles","DapDSCardActions"],"mappings":";;;;;;AAgCqB,MAAAA,IAAA,MAAAA,UAAyBC,EAAWC,CAAU,EAAE;AAAA,EAKnE,cAAc;AACN,UAAA,GACN,KAAK,UAAU,UACf,KAAK,cAAc;AAAA,EAAA;AAAA,EAGrB,SAAS;AACA,WAAAC;AAAA;AAAA;AAAA,gBAGKC;AAAA,MACN;AAAA,MACA,iBAAiB,KAAK,aAAa;AAAA,MACnC,yBAAyB,KAAK,OAAO;AAAA,IAAA,CACtC;AAAA;AAAA;AAAA;AAAA,EAAA;AAKT;AAvBEJ,EAAO,UAAU,uBAEDA,EAAA,SAASK,EAAUC,CAAM;AAHtB,IAAAC,IAAAP;"}