@design.estate/dees-catalog 3.90.1 → 3.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/dist_bundle/bundle.js +10399 -4790
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-appui/dees-appui/dees-appui.js +5 -4
  4. package/dist_ts_web/elements/00group-appui/dees-appui-profiledropdown/dees-appui-profiledropdown.js +6 -7
  5. package/dist_ts_web/elements/00group-appui/dees-appui-tabs/dees-appui-tabs.js +4 -6
  6. package/dist_ts_web/elements/00group-button/dees-button/dees-button.d.ts +7 -1
  7. package/dist_ts_web/elements/00group-button/dees-button/dees-button.demo.js +16 -2
  8. package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +65 -25
  9. package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.js +1 -1
  10. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/codebox.diff.d.ts +69 -0
  11. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/codebox.diff.js +342 -0
  12. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.d.ts +48 -3
  13. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.demo.js +128 -39
  14. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.js +663 -190
  15. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/index.d.ts +1 -0
  16. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/index.js +2 -1
  17. package/dist_ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.d.ts +3 -0
  18. package/dist_ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.js +48 -30
  19. package/dist_ts_web/elements/00group-dataview/dees-grouped-list/dees-grouped-list.js +1 -1
  20. package/dist_ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.js +1 -2
  21. package/dist_ts_web/elements/00group-dataview/dees-storage-browser/dees-storage-keys.js +1 -1
  22. package/dist_ts_web/elements/00group-dataview/dees-table/styles.js +1 -1
  23. package/dist_ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.js +9 -9
  24. package/dist_ts_web/elements/00group-form/dees-form-submit/dees-form-submit.d.ts +1 -1
  25. package/dist_ts_web/elements/00group-form/dees-form-submit/dees-form-submit.js +1 -1
  26. package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.d.ts +55 -0
  27. package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.d.ts +1 -0
  28. package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.js +183 -0
  29. package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.js +412 -0
  30. package/dist_ts_web/elements/00group-harness/dees-harness-chat/index.d.ts +1 -0
  31. package/dist_ts_web/elements/00group-harness/dees-harness-chat/index.js +2 -0
  32. package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.d.ts +65 -0
  33. package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.d.ts +1 -0
  34. package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.js +55 -0
  35. package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.js +589 -0
  36. package/dist_ts_web/elements/00group-harness/dees-harness-composer/index.d.ts +1 -0
  37. package/dist_ts_web/elements/00group-harness/dees-harness-composer/index.js +2 -0
  38. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.d.ts +21 -0
  39. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.demo.d.ts +1 -0
  40. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.demo.js +41 -0
  41. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.js +215 -0
  42. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/index.d.ts +1 -0
  43. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/index.js +2 -0
  44. package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.d.ts +58 -0
  45. package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.demo.d.ts +1 -0
  46. package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.demo.js +126 -0
  47. package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.js +551 -0
  48. package/dist_ts_web/elements/00group-harness/dees-harness-message/index.d.ts +1 -0
  49. package/dist_ts_web/elements/00group-harness/dees-harness-message/index.js +2 -0
  50. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.d.ts +50 -0
  51. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.demo.d.ts +1 -0
  52. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.demo.js +101 -0
  53. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.js +424 -0
  54. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/index.d.ts +1 -0
  55. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/index.js +2 -0
  56. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.d.ts +27 -0
  57. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.demo.d.ts +1 -0
  58. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.demo.js +46 -0
  59. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.js +282 -0
  60. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/index.d.ts +1 -0
  61. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/index.js +2 -0
  62. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.d.ts +24 -0
  63. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.demo.d.ts +1 -0
  64. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.demo.js +32 -0
  65. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.js +241 -0
  66. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/index.d.ts +1 -0
  67. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/index.js +2 -0
  68. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.d.ts +28 -0
  69. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.d.ts +1 -0
  70. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.js +56 -0
  71. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +279 -0
  72. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/index.d.ts +1 -0
  73. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/index.js +2 -0
  74. package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.d.ts +30 -0
  75. package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.demo.d.ts +1 -0
  76. package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.demo.js +35 -0
  77. package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.js +235 -0
  78. package/dist_ts_web/elements/00group-harness/dees-harness-status/index.d.ts +1 -0
  79. package/dist_ts_web/elements/00group-harness/dees-harness-status/index.js +2 -0
  80. package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.d.ts +27 -0
  81. package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.demo.d.ts +1 -0
  82. package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.demo.js +41 -0
  83. package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.js +258 -0
  84. package/dist_ts_web/elements/00group-harness/dees-harness-todos/index.d.ts +1 -0
  85. package/dist_ts_web/elements/00group-harness/dees-harness-todos/index.js +2 -0
  86. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.d.ts +35 -0
  87. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.demo.d.ts +1 -0
  88. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.demo.js +162 -0
  89. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +368 -0
  90. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/index.d.ts +2 -0
  91. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/index.js +3 -0
  92. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/renderers.d.ts +5 -0
  93. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/renderers.js +183 -0
  94. package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.d.ts +19 -0
  95. package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.demo.d.ts +1 -0
  96. package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.demo.js +25 -0
  97. package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.js +148 -0
  98. package/dist_ts_web/elements/00group-harness/dees-harness-usage/index.d.ts +1 -0
  99. package/dist_ts_web/elements/00group-harness/dees-harness-usage/index.js +2 -0
  100. package/dist_ts_web/elements/00group-harness/harness.demodata.d.ts +22 -0
  101. package/dist_ts_web/elements/00group-harness/harness.demodata.js +94 -0
  102. package/dist_ts_web/elements/00group-harness/harness.helpers.d.ts +37 -0
  103. package/dist_ts_web/elements/00group-harness/harness.helpers.js +221 -0
  104. package/dist_ts_web/elements/00group-harness/harness.markdown.d.ts +25 -0
  105. package/dist_ts_web/elements/00group-harness/harness.markdown.js +147 -0
  106. package/dist_ts_web/elements/00group-harness/harness.styles.d.ts +9 -0
  107. package/dist_ts_web/elements/00group-harness/harness.styles.js +94 -0
  108. package/dist_ts_web/elements/00group-harness/index.d.ts +18 -0
  109. package/dist_ts_web/elements/00group-harness/index.js +22 -0
  110. package/dist_ts_web/elements/00group-harness/interfaces.d.ts +210 -0
  111. package/dist_ts_web/elements/00group-harness/interfaces.js +11 -0
  112. package/dist_ts_web/elements/00group-harness/toolregistry.d.ts +76 -0
  113. package/dist_ts_web/elements/00group-harness/toolregistry.js +210 -0
  114. package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +30 -18
  115. package/dist_ts_web/elements/00group-input/dees-input-datepicker/datepicker-popup.js +73 -46
  116. package/dist_ts_web/elements/00group-input/dees-input-datepicker/styles.js +15 -16
  117. package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.js +2 -4
  118. package/dist_ts_web/elements/00group-input/dees-input-tags/dees-input-tags.js +36 -15
  119. package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.js +5 -4
  120. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/code.block.js +10 -89
  121. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +12 -8
  122. package/dist_ts_web/elements/00group-layout/dees-chips/dees-chips.js +1 -1
  123. package/dist_ts_web/elements/00group-layout/dees-pagination/dees-pagination.js +27 -12
  124. package/dist_ts_web/elements/00group-layout/dees-settings/dees-settings.js +1 -1
  125. package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.js +14 -18
  126. package/dist_ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.js +6 -7
  127. package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.js +6 -21
  128. package/dist_ts_web/elements/00group-overlay/dees-windowlayer/dees-windowlayer.d.ts +2 -1
  129. package/dist_ts_web/elements/00group-overlay/dees-windowlayer/dees-windowlayer.js +10 -4
  130. package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.js +1 -1
  131. package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +9 -8
  132. package/dist_ts_web/elements/00group-workspace/dees-workspace/dees-workspace.js +1 -1
  133. package/dist_ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.js +3 -4
  134. package/dist_ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.js +8 -78
  135. package/dist_ts_web/elements/00syntax.d.ts +28 -0
  136. package/dist_ts_web/elements/00syntax.js +98 -0
  137. package/dist_ts_web/elements/00theme.js +26 -14
  138. package/dist_ts_web/elements/index.d.ts +1 -0
  139. package/dist_ts_web/elements/index.js +2 -1
  140. package/dist_watch/bundle.js +233948 -0
  141. package/dist_watch/bundle.js.map +7 -0
  142. package/dist_watch/index.html +28 -0
  143. package/package.json +2 -2
  144. package/readme.hints.md +7 -1
  145. package/readme.md +116 -9
  146. package/readme.playbook.md +10 -0
  147. package/ts_web/00_commitinfo_data.ts +1 -1
  148. package/ts_web/elements/00group-appui/dees-appui/dees-appui.ts +4 -3
  149. package/ts_web/elements/00group-appui/dees-appui-profiledropdown/dees-appui-profiledropdown.ts +5 -6
  150. package/ts_web/elements/00group-appui/dees-appui-tabs/dees-appui-tabs.ts +3 -5
  151. package/ts_web/elements/00group-button/dees-button/dees-button.demo.ts +15 -1
  152. package/ts_web/elements/00group-button/dees-button/dees-button.ts +59 -24
  153. package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.ts +1 -1
  154. package/ts_web/elements/00group-dataview/dees-dataview-codebox/codebox.diff.ts +401 -0
  155. package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.demo.ts +132 -38
  156. package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.ts +649 -187
  157. package/ts_web/elements/00group-dataview/dees-dataview-codebox/index.ts +1 -0
  158. package/ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.ts +45 -30
  159. package/ts_web/elements/00group-dataview/dees-grouped-list/dees-grouped-list.ts +1 -1
  160. package/ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.ts +0 -1
  161. package/ts_web/elements/00group-dataview/dees-storage-browser/dees-storage-keys.ts +1 -1
  162. package/ts_web/elements/00group-dataview/dees-table/styles.ts +1 -1
  163. package/ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.ts +9 -9
  164. package/ts_web/elements/00group-form/dees-form-submit/dees-form-submit.ts +1 -1
  165. package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.ts +193 -0
  166. package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.ts +301 -0
  167. package/ts_web/elements/00group-harness/dees-harness-chat/index.ts +1 -0
  168. package/ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.ts +56 -0
  169. package/ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.ts +514 -0
  170. package/ts_web/elements/00group-harness/dees-harness-composer/index.ts +1 -0
  171. package/ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.demo.ts +44 -0
  172. package/ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.ts +172 -0
  173. package/ts_web/elements/00group-harness/dees-harness-content-blocks/index.ts +1 -0
  174. package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.demo.ts +129 -0
  175. package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.ts +498 -0
  176. package/ts_web/elements/00group-harness/dees-harness-message/index.ts +1 -0
  177. package/ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.demo.ts +105 -0
  178. package/ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.ts +342 -0
  179. package/ts_web/elements/00group-harness/dees-harness-message-list/index.ts +1 -0
  180. package/ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.demo.ts +47 -0
  181. package/ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.ts +225 -0
  182. package/ts_web/elements/00group-harness/dees-harness-permission-card/index.ts +1 -0
  183. package/ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.demo.ts +32 -0
  184. package/ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.ts +195 -0
  185. package/ts_web/elements/00group-harness/dees-harness-reasoning/index.ts +1 -0
  186. package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.ts +59 -0
  187. package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +222 -0
  188. package/ts_web/elements/00group-harness/dees-harness-session-list/index.ts +1 -0
  189. package/ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.demo.ts +35 -0
  190. package/ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.ts +187 -0
  191. package/ts_web/elements/00group-harness/dees-harness-status/index.ts +1 -0
  192. package/ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.demo.ts +43 -0
  193. package/ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.ts +206 -0
  194. package/ts_web/elements/00group-harness/dees-harness-todos/index.ts +1 -0
  195. package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.demo.ts +166 -0
  196. package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +315 -0
  197. package/ts_web/elements/00group-harness/dees-harness-tool-card/index.ts +2 -0
  198. package/ts_web/elements/00group-harness/dees-harness-tool-card/renderers.ts +205 -0
  199. package/ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.demo.ts +25 -0
  200. package/ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.ts +96 -0
  201. package/ts_web/elements/00group-harness/dees-harness-usage/index.ts +1 -0
  202. package/ts_web/elements/00group-harness/harness.demodata.ts +113 -0
  203. package/ts_web/elements/00group-harness/harness.helpers.ts +227 -0
  204. package/ts_web/elements/00group-harness/harness.markdown.ts +151 -0
  205. package/ts_web/elements/00group-harness/harness.styles.ts +96 -0
  206. package/ts_web/elements/00group-harness/index.ts +22 -0
  207. package/ts_web/elements/00group-harness/interfaces.ts +203 -0
  208. package/ts_web/elements/00group-harness/toolregistry.ts +264 -0
  209. package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +29 -17
  210. package/ts_web/elements/00group-input/dees-input-datepicker/datepicker-popup.ts +72 -45
  211. package/ts_web/elements/00group-input/dees-input-datepicker/styles.ts +14 -15
  212. package/ts_web/elements/00group-input/dees-input-list/dees-input-list.ts +1 -3
  213. package/ts_web/elements/00group-input/dees-input-tags/dees-input-tags.ts +35 -14
  214. package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.ts +4 -3
  215. package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/code.block.ts +9 -88
  216. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +11 -7
  217. package/ts_web/elements/00group-layout/dees-chips/dees-chips.ts +1 -1
  218. package/ts_web/elements/00group-layout/dees-pagination/dees-pagination.ts +26 -11
  219. package/ts_web/elements/00group-layout/dees-settings/dees-settings.ts +1 -1
  220. package/ts_web/elements/00group-layout/dees-stepper/dees-stepper.ts +13 -17
  221. package/ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.ts +5 -6
  222. package/ts_web/elements/00group-overlay/dees-modal/dees-modal.ts +5 -20
  223. package/ts_web/elements/00group-overlay/dees-windowlayer/dees-windowlayer.ts +10 -3
  224. package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.ts +1 -1
  225. package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +8 -7
  226. package/ts_web/elements/00group-workspace/dees-workspace/dees-workspace.ts +1 -1
  227. package/ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.ts +2 -3
  228. package/ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.ts +7 -77
  229. package/ts_web/elements/00syntax.ts +124 -0
  230. package/ts_web/elements/00theme.ts +25 -13
  231. package/ts_web/elements/index.ts +1 -0
@@ -0,0 +1,172 @@
1
+ import { demoFunc } from './dees-harness-content-blocks.demo.js';
2
+ import {
3
+ DeesElement,
4
+ html,
5
+ css,
6
+ customElement,
7
+ type TemplateResult,
8
+ property,
9
+ cssManager,
10
+ } from '@design.estate/dees-element';
11
+ import { themeDefaultStyles } from '../../00theme.js';
12
+ import type { THarnessContentBlock } from '../interfaces.js';
13
+ import { harnessFormatBytes } from '../harness.helpers.js';
14
+ import { harnessMonoStyles } from '../harness.styles.js';
15
+ import '../../00group-utility/dees-icon/dees-icon.js';
16
+
17
+ declare global {
18
+ interface HTMLElementTagNameMap {
19
+ 'dees-harness-content-blocks': DeesHarnessContentBlocks;
20
+ }
21
+ }
22
+
23
+ /**
24
+ * Structural renderer for MCP CallToolResult content blocks: text, image,
25
+ * audio, embedded resources, and resource links keep their nature instead of
26
+ * being flattened to strings.
27
+ */
28
+ @customElement('dees-harness-content-blocks')
29
+ export class DeesHarnessContentBlocks extends DeesElement {
30
+ public static demo = demoFunc;
31
+ public static demoGroups = ['Agent Chat'];
32
+
33
+ @property({ attribute: false })
34
+ accessor blocks: THarnessContentBlock[] = [];
35
+
36
+ public static styles = [
37
+ themeDefaultStyles,
38
+ cssManager.defaultStyles,
39
+ harnessMonoStyles,
40
+ css`
41
+ :host {
42
+ display: grid;
43
+ gap: var(--dees-spacing-sm);
44
+ font-family: var(--dees-font-family);
45
+ }
46
+
47
+ .textBlock {
48
+ color: var(--dees-color-text-primary);
49
+ white-space: pre-wrap;
50
+ overflow-wrap: anywhere;
51
+ font-size: var(--dees-font-control-size-sm, 12px);
52
+ line-height: 1.5;
53
+ }
54
+
55
+ img {
56
+ display: block;
57
+ max-width: 100%;
58
+ max-height: 420px;
59
+ border-radius: var(--dees-radius-md);
60
+ border: 1px solid var(--dees-color-border-subtle);
61
+ }
62
+
63
+ audio {
64
+ width: 100%;
65
+ }
66
+
67
+ .resourceLink {
68
+ display: flex;
69
+ align-items: center;
70
+ gap: var(--dees-spacing-sm);
71
+ padding: var(--dees-spacing-xs) var(--dees-spacing-sm);
72
+ border: 1px solid var(--dees-color-border-subtle);
73
+ border-radius: var(--dees-radius-md);
74
+ corner-shape: var(--dees-corner-shape);
75
+ background: var(--dees-color-bg-tertiary);
76
+ color: var(--dees-color-text-primary);
77
+ text-decoration: none;
78
+ font-size: var(--dees-font-control-size-sm, 12px);
79
+ }
80
+
81
+ .resourceLink:hover {
82
+ background: var(--dees-color-hover);
83
+ }
84
+
85
+ .resourceLink dees-icon {
86
+ color: var(--dees-color-accent-primary);
87
+ }
88
+
89
+ .resourceInfo {
90
+ min-width: 0;
91
+ }
92
+
93
+ .resourceName {
94
+ overflow: hidden;
95
+ text-overflow: ellipsis;
96
+ white-space: nowrap;
97
+ font-weight: 500;
98
+ }
99
+
100
+ .resourceMeta {
101
+ margin-top: 1px;
102
+ color: var(--dees-color-text-secondary);
103
+ font-size: var(--dees-font-caption1-size, 11px);
104
+ overflow: hidden;
105
+ text-overflow: ellipsis;
106
+ white-space: nowrap;
107
+ }
108
+
109
+ .resourceUri {
110
+ color: var(--dees-color-text-muted);
111
+ font-size: var(--dees-font-caption1-size, 11px);
112
+ font-family: var(--dees-font-family-mono);
113
+ overflow-wrap: anywhere;
114
+ }
115
+ `,
116
+ ];
117
+
118
+ public render(): TemplateResult {
119
+ return html`${this.blocks.map((block) => this.renderBlock(block))}`;
120
+ }
121
+
122
+ private renderBlock(block: THarnessContentBlock): TemplateResult {
123
+ switch (block.type) {
124
+ case 'text':
125
+ return html`<div class="textBlock">${block.text}</div>`;
126
+ case 'image':
127
+ return html`<img src=${`data:${block.mimeType};base64,${block.data}`} alt="tool result image" />`;
128
+ case 'audio':
129
+ return html`<audio controls src=${`data:${block.mimeType};base64,${block.data}`}></audio>`;
130
+ case 'resource': {
131
+ const resource = block.resource;
132
+ if (resource.text !== undefined) {
133
+ return html`
134
+ <div>
135
+ <div class="resourceUri">${resource.uri}</div>
136
+ <pre class="harness-mono">${resource.text}</pre>
137
+ </div>
138
+ `;
139
+ }
140
+ return html`
141
+ <a
142
+ class="resourceLink"
143
+ href=${`data:${resource.mimeType ?? 'application/octet-stream'};base64,${resource.blob ?? ''}`}
144
+ download
145
+ >
146
+ <dees-icon icon="lucide:FileDown" iconSize="16"></dees-icon>
147
+ <div class="resourceInfo">
148
+ <div class="resourceName">${resource.uri}</div>
149
+ <div class="resourceMeta">${resource.mimeType ?? 'binary resource'}</div>
150
+ </div>
151
+ </a>
152
+ `;
153
+ }
154
+ case 'resource_link':
155
+ return html`
156
+ <a class="resourceLink" href=${block.uri} target="_blank" rel="noopener noreferrer">
157
+ <dees-icon icon="lucide:Link" iconSize="16"></dees-icon>
158
+ <div class="resourceInfo">
159
+ <div class="resourceName">${block.title || block.name}</div>
160
+ <div class="resourceMeta">
161
+ ${[block.description, block.mimeType, block.size !== undefined ? harnessFormatBytes(block.size) : '']
162
+ .filter(Boolean)
163
+ .join(' · ') || block.uri}
164
+ </div>
165
+ </div>
166
+ </a>
167
+ `;
168
+ default:
169
+ return html``;
170
+ }
171
+ }
172
+ }
@@ -0,0 +1 @@
1
+ export * from './dees-harness-content-blocks.js';
@@ -0,0 +1,129 @@
1
+ import { html } from '@design.estate/dees-element';
2
+ import type { DeesHarnessMessage } from './dees-harness-message.js';
3
+
4
+ const markdownSample = [
5
+ '## Findings',
6
+ '',
7
+ 'The failing test compares against a **stale fixture**. Two options:',
8
+ '',
9
+ '1. Regenerate the fixture from the current schema',
10
+ '2. Pin the schema version in the test setup',
11
+ '',
12
+ '| Option | Effort | Risk |',
13
+ '| --- | --- | --- |',
14
+ '| Regenerate | low | drifts again |',
15
+ '| Pin version | medium | stays honest |',
16
+ '',
17
+ '```typescript',
18
+ 'const fixture = await loadFixture({ schemaVersion: 3 });',
19
+ 'expect(result).toEqual(fixture);',
20
+ '```',
21
+ '',
22
+ 'I recommend pinning — see [the docs](https://example.com/docs).',
23
+ ].join('\n');
24
+
25
+ const streamSource = 'Let me look at the build output. The bundler resolved the entry, but the **css tokens** were emitted twice — once from the theme and once from the component. Deduplicating the emission fixes the double-border artifact you saw.';
26
+
27
+ const startStreamingDemo = (event: MouseEvent) => {
28
+ const container = (event.target as HTMLElement).closest('.messageDemo');
29
+ const target = container?.querySelector<DeesHarnessMessage>('#streamingMessage');
30
+ if (!target) return;
31
+ target.message = {
32
+ id: 'streaming-demo',
33
+ role: 'assistant',
34
+ text: '',
35
+ createdAt: Date.now(),
36
+ streaming: true,
37
+ };
38
+ target.requestUpdate();
39
+ let offset = 0;
40
+ const interval = setInterval(() => {
41
+ const chunk = streamSource.slice(offset, offset + 6);
42
+ offset += 6;
43
+ if (!chunk) {
44
+ clearInterval(interval);
45
+ target.endStream({ inputTokens: 412, outputTokens: 96, totalTokens: 508 });
46
+ return;
47
+ }
48
+ target.appendTextDelta(chunk);
49
+ }, 40);
50
+ };
51
+
52
+ export const demoFunc = () => html`
53
+ <style>
54
+ .messageDemo {
55
+ display: grid;
56
+ gap: 16px;
57
+ max-width: 720px;
58
+ margin: 40px auto;
59
+ padding: 24px;
60
+ border-radius: var(--dees-radius-xl);
61
+ background: var(--dees-color-bg-primary);
62
+ }
63
+ </style>
64
+ <div class="messageDemo">
65
+ <dees-harness-message
66
+ .message=${{
67
+ id: 'u1',
68
+ role: 'user' as const,
69
+ text: 'Why does the badge render with a double border in dark mode?',
70
+ createdAt: Date.now() - 90_000,
71
+ attachments: [
72
+ {
73
+ id: 'a1',
74
+ name: 'screenshot.png',
75
+ mediaType: 'image/png',
76
+ size: 48_213,
77
+ kind: 'image' as const,
78
+ },
79
+ {
80
+ id: 'a2',
81
+ name: 'build.log',
82
+ mediaType: 'text/plain',
83
+ size: 5_120,
84
+ kind: 'text' as const,
85
+ truncated: true,
86
+ },
87
+ ],
88
+ }}
89
+ showTimestamp
90
+ ></dees-harness-message>
91
+ <dees-harness-message
92
+ .message=${{
93
+ id: 'a1',
94
+ role: 'assistant' as const,
95
+ text: markdownSample,
96
+ createdAt: Date.now() - 60_000,
97
+ reasoning: [
98
+ {
99
+ id: 'r1',
100
+ text: 'Compare fixture timestamps against the schema migration dates first.',
101
+ startedAt: Date.now() - 64_000,
102
+ endedAt: Date.now() - 61_500,
103
+ },
104
+ ],
105
+ usage: { inputTokens: 1200, outputTokens: 340, totalTokens: 1540 },
106
+ }}
107
+ ></dees-harness-message>
108
+ <dees-harness-message
109
+ .message=${{
110
+ id: 'e1',
111
+ role: 'assistant' as const,
112
+ text: '',
113
+ createdAt: Date.now() - 30_000,
114
+ error: 'The model endpoint returned 429 — retry in 20s.',
115
+ }}
116
+ ></dees-harness-message>
117
+ <dees-button @clicked=${startStreamingDemo}>Simulate streaming</dees-button>
118
+ <dees-harness-message
119
+ id="streamingMessage"
120
+ .message=${{
121
+ id: 'streaming-demo',
122
+ role: 'assistant' as const,
123
+ text: 'Press “Simulate streaming” above.',
124
+ createdAt: Date.now(),
125
+ markdown: false,
126
+ }}
127
+ ></dees-harness-message>
128
+ </div>
129
+ `;