@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,301 @@
1
+ import { demoFunc } from './dees-harness-chat.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 {
13
+ IHarnessAttachment,
14
+ IHarnessMessage,
15
+ IHarnessPermissionRequest,
16
+ IHarnessStatus,
17
+ IHarnessUsage,
18
+ THarnessStreamDelta,
19
+ } from '../interfaces.js';
20
+ import { DeesHarnessToolRegistry } from '../toolregistry.js';
21
+ import { DeesHarnessMessageList } from '../dees-harness-message-list/dees-harness-message-list.js';
22
+ import { DeesHarnessComposer } from '../dees-harness-composer/dees-harness-composer.js';
23
+ import '../dees-harness-permission-card/dees-harness-permission-card.js';
24
+ import '../dees-harness-status/dees-harness-status.js';
25
+ import '../dees-harness-usage/dees-harness-usage.js';
26
+ import '../../00group-button/dees-button/dees-button.js';
27
+ import '../../00group-utility/dees-icon/dees-icon.js';
28
+
29
+ declare global {
30
+ interface HTMLElementTagNameMap {
31
+ 'dees-harness-chat': DeesHarnessChat;
32
+ }
33
+ }
34
+
35
+ // stable idle binding for the embedded list — a fresh object literal per
36
+ // render would re-trigger its follow logic on every chat render
37
+ const idleStatus: IHarnessStatus = { type: 'idle' };
38
+
39
+ /**
40
+ * The assembled agent chat: optional toolbar, streaming message list,
41
+ * pinned permission queue, status line, and composer. Owns no business
42
+ * logic — consumers feed `.messages`/`.permissions`/`.status` (and stream
43
+ * through `applyDelta()`), and listen for the bubbling harness-* events
44
+ * from the children plus `harness-new-session` / `harness-open-sessions`
45
+ * from the toolbar.
46
+ */
47
+ @customElement('dees-harness-chat')
48
+ export class DeesHarnessChat extends DeesElement {
49
+ public static demo = demoFunc;
50
+ public static demoGroups = ['Agent Chat'];
51
+
52
+ @property({ attribute: false })
53
+ accessor messages: IHarnessMessage[] = [];
54
+
55
+ @property({ attribute: false })
56
+ accessor permissions: IHarnessPermissionRequest[] = [];
57
+
58
+ @property({ attribute: false })
59
+ accessor status: IHarnessStatus = { type: 'idle' };
60
+
61
+ @property({ attribute: false })
62
+ accessor usage: IHarnessUsage = {};
63
+
64
+ @property()
65
+ accessor heading: string = '';
66
+
67
+ @property()
68
+ accessor subheading: string = '';
69
+
70
+ @property({ type: Boolean })
71
+ accessor showToolbar: boolean = true;
72
+
73
+ @property({ type: Boolean })
74
+ accessor showRoles: boolean = true;
75
+
76
+ @property({ type: Boolean })
77
+ accessor disabled: boolean = false;
78
+
79
+ @property({ type: Boolean })
80
+ accessor busy: boolean = false;
81
+
82
+ /** queued-message count while busy; enables the composer's "Steer now" */
83
+ @property({ type: Number })
84
+ accessor queuedCount: number = 0;
85
+
86
+ @property()
87
+ accessor composerValue: string = '';
88
+
89
+ @property({ attribute: false })
90
+ accessor attachments: IHarnessAttachment[] = [];
91
+
92
+ @property()
93
+ accessor model: string = '';
94
+
95
+ @property({ attribute: false })
96
+ accessor modelOptions: string[] = [];
97
+
98
+ @property()
99
+ accessor reasoningEffort: string = '';
100
+
101
+ @property({ attribute: false })
102
+ accessor effortOptions: string[] = [];
103
+
104
+ @property({ attribute: false })
105
+ accessor toolRegistry: DeesHarnessToolRegistry = DeesHarnessToolRegistry.default;
106
+
107
+ public static styles = [
108
+ themeDefaultStyles,
109
+ cssManager.defaultStyles,
110
+ css`
111
+ :host {
112
+ display: flex;
113
+ flex-direction: column;
114
+ min-height: 0;
115
+ height: 100%;
116
+ font-family: var(--dees-font-family);
117
+ color: var(--dees-color-text-primary);
118
+ background: var(--dees-color-bg-primary);
119
+ }
120
+
121
+ .toolbar {
122
+ flex: 0 0 auto;
123
+ display: flex;
124
+ align-items: center;
125
+ gap: var(--dees-spacing-md);
126
+ padding: var(--dees-spacing-sm) var(--dees-spacing-md);
127
+ border-bottom: 1px solid var(--dees-color-border-subtle);
128
+ background: var(--dees-color-bg-secondary);
129
+ }
130
+
131
+ .headingBlock {
132
+ min-width: 0;
133
+ flex: 1;
134
+ }
135
+
136
+ .headingText {
137
+ color: var(--dees-color-text-primary);
138
+ font-size: var(--dees-font-control-size, 13px);
139
+ font-weight: 600;
140
+ overflow: hidden;
141
+ text-overflow: ellipsis;
142
+ white-space: nowrap;
143
+ }
144
+
145
+ .subheadingText {
146
+ margin-top: 1px;
147
+ color: var(--dees-color-text-secondary);
148
+ font-size: var(--dees-font-caption1-size, 11px);
149
+ overflow: hidden;
150
+ text-overflow: ellipsis;
151
+ white-space: nowrap;
152
+ }
153
+
154
+ .toolbarActions {
155
+ display: flex;
156
+ align-items: center;
157
+ gap: var(--dees-spacing-xs);
158
+ flex: 0 0 auto;
159
+ }
160
+
161
+ dees-harness-message-list {
162
+ flex: 1;
163
+ min-height: 0;
164
+ }
165
+
166
+ .permissionQueue {
167
+ flex: 0 0 auto;
168
+ display: block;
169
+ padding: 0 var(--dees-spacing-md);
170
+ max-height: 40%;
171
+ overflow-y: auto;
172
+ }
173
+
174
+ .permissionQueue > * + * {
175
+ margin-top: var(--dees-spacing-xs);
176
+ }
177
+
178
+ /* always mounted so the status leave transition can play; the status
179
+ element renders empty when idle, collapsing the row to zero height */
180
+ .statusRow {
181
+ flex: 0 0 auto;
182
+ padding: 0 var(--dees-spacing-md);
183
+ }
184
+
185
+ .statusRow dees-harness-status {
186
+ margin: 0;
187
+ }
188
+
189
+ .composerRow {
190
+ flex: 0 0 auto;
191
+ padding: var(--dees-spacing-sm) var(--dees-spacing-md) var(--dees-spacing-md);
192
+ }
193
+ `,
194
+ ];
195
+
196
+ // ---------------------------------------------------------------- methods
197
+
198
+ /** Streams an incremental update into the message list. */
199
+ public applyDelta(delta: THarnessStreamDelta): void {
200
+ this.listElement?.applyDelta(delta);
201
+ }
202
+
203
+ public async focusComposer(): Promise<void> {
204
+ await this.updateComplete;
205
+ await this.composerElement?.focusPrompt();
206
+ }
207
+
208
+ public clearComposer(): void {
209
+ this.composerValue = '';
210
+ this.composerElement?.clear();
211
+ }
212
+
213
+ public scrollToBottom(force = false): void {
214
+ this.listElement?.scrollToBottom(force);
215
+ }
216
+
217
+ private get listElement(): DeesHarnessMessageList | undefined {
218
+ const element = this.shadowRoot?.querySelector('dees-harness-message-list');
219
+ return element instanceof DeesHarnessMessageList ? element : undefined;
220
+ }
221
+
222
+ private get composerElement(): DeesHarnessComposer | undefined {
223
+ const element = this.shadowRoot?.querySelector('dees-harness-composer');
224
+ return element instanceof DeesHarnessComposer ? element : undefined;
225
+ }
226
+
227
+ // ----------------------------------------------------------------- render
228
+
229
+ public render(): TemplateResult {
230
+ return html`
231
+ ${this.showToolbar ? this.renderToolbar() : ''}
232
+ <dees-harness-message-list
233
+ .messages=${this.messages}
234
+ .status=${idleStatus}
235
+ .showRoles=${this.showRoles}
236
+ .toolRegistry=${this.toolRegistry}
237
+ ></dees-harness-message-list>
238
+ ${this.permissions.length
239
+ ? html`
240
+ <div class="permissionQueue">
241
+ ${this.permissions.map(
242
+ (request) => html`
243
+ <dees-harness-permission-card .request=${request} .busy=${this.disabled}></dees-harness-permission-card>
244
+ `,
245
+ )}
246
+ </div>
247
+ `
248
+ : ''}
249
+ <div class="statusRow">
250
+ <dees-harness-status .status=${this.status}></dees-harness-status>
251
+ </div>
252
+ <div class="composerRow">
253
+ <dees-harness-composer
254
+ .value=${this.composerValue}
255
+ .attachments=${this.attachments}
256
+ .disabled=${this.disabled}
257
+ .busy=${this.busy || this.status.type === 'busy'}
258
+ .queuedCount=${this.queuedCount}
259
+ .model=${this.model}
260
+ .modelOptions=${this.modelOptions}
261
+ .reasoningEffort=${this.reasoningEffort}
262
+ .effortOptions=${this.effortOptions}
263
+ @harness-input=${(event: CustomEvent<{ value: string }>) => {
264
+ this.composerValue = event.detail?.value ?? '';
265
+ }}
266
+ @harness-attachments-change=${(event: CustomEvent<{ attachments: IHarnessAttachment[] }>) => {
267
+ this.attachments = event.detail?.attachments ?? [];
268
+ }}
269
+ @harness-model-change=${(event: CustomEvent<{ model?: string; reasoningEffort?: string }>) => {
270
+ if (event.detail?.model) this.model = event.detail.model;
271
+ if (event.detail?.reasoningEffort) this.reasoningEffort = event.detail.reasoningEffort;
272
+ }}
273
+ ></dees-harness-composer>
274
+ </div>
275
+ `;
276
+ }
277
+
278
+ private renderToolbar(): TemplateResult {
279
+ return html`
280
+ <div class="toolbar">
281
+ <div class="headingBlock">
282
+ <div class="headingText">${this.heading || 'Agent'}</div>
283
+ ${this.subheading ? html`<div class="subheadingText">${this.subheading}</div>` : ''}
284
+ </div>
285
+ <div class="toolbarActions">
286
+ <dees-harness-usage compact .usage=${this.usage}></dees-harness-usage>
287
+ <dees-button size="sm" type="ghost" title="Conversations" @clicked=${() => this.emit('harness-open-sessions')}>
288
+ <dees-icon icon="lucide:History" iconSize="14"></dees-icon>
289
+ </dees-button>
290
+ <dees-button size="sm" type="ghost" title="New conversation" @clicked=${() => this.emit('harness-new-session')}>
291
+ <dees-icon icon="lucide:SquarePen" iconSize="14"></dees-icon>
292
+ </dees-button>
293
+ </div>
294
+ </div>
295
+ `;
296
+ }
297
+
298
+ private emit(name: string): void {
299
+ this.dispatchEvent(new CustomEvent(name, { detail: {}, bubbles: true, composed: true }));
300
+ }
301
+ }
@@ -0,0 +1 @@
1
+ export * from './dees-harness-chat.js';
@@ -0,0 +1,56 @@
1
+ import { html } from '@design.estate/dees-element';
2
+
3
+ const logEvent = (event: CustomEvent) => {
4
+ console.log(event.type, event.detail);
5
+ };
6
+
7
+ export const demoFunc = () => html`
8
+ <style>
9
+ .composerDemo {
10
+ display: grid;
11
+ gap: 20px;
12
+ max-width: 680px;
13
+ margin: 40px auto;
14
+ padding: 24px;
15
+ border-radius: var(--dees-radius-xl);
16
+ background: var(--dees-color-bg-primary);
17
+ }
18
+ .composerDemo .label {
19
+ color: var(--dees-color-text-muted);
20
+ font-size: 11px;
21
+ text-transform: uppercase;
22
+ letter-spacing: 0.05em;
23
+ }
24
+ </style>
25
+ <div
26
+ class="composerDemo"
27
+ @harness-send=${logEvent}
28
+ @harness-abort=${logEvent}
29
+ @harness-input=${logEvent}
30
+ @harness-attachments-change=${logEvent}
31
+ @harness-attachment-error=${logEvent}
32
+ @harness-model-change=${logEvent}
33
+ >
34
+ <div class="label">default with model controls (events log to console)</div>
35
+ <dees-harness-composer
36
+ model="gpt-5.5"
37
+ reasoningEffort="high"
38
+ .modelOptions=${['gpt-5.5', 'gpt-5', 'o4-mini']}
39
+ .effortOptions=${['xhigh', 'high', 'medium', 'low']}
40
+ ></dees-harness-composer>
41
+ <div class="label">busy with text (Stop + Send — sends queue while running)</div>
42
+ <dees-harness-composer busy value="Refactor the sitemap job…"></dees-harness-composer>
43
+ <div class="label">busy, empty prompt, 2 queued (Stop + Steer now)</div>
44
+ <dees-harness-composer busy queuedCount="2"></dees-harness-composer>
45
+ <div class="label">disabled</div>
46
+ <dees-harness-composer disabled placeholder="Connect to a project to chat."></dees-harness-composer>
47
+ <div class="label">with pre-filled attachments, no model controls</div>
48
+ <dees-harness-composer
49
+ .showModelControls=${false}
50
+ .attachments=${[
51
+ { id: 'a1', name: 'build.log', mediaType: 'text/plain', size: 5120, kind: 'text' as const },
52
+ { id: 'a2', name: 'screenshot.png', mediaType: 'image/png', size: 44_000, kind: 'image' as const },
53
+ ]}
54
+ ></dees-harness-composer>
55
+ </div>
56
+ `;