@design.estate/dees-catalog 3.91.0 → 3.93.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 (228) hide show
  1. package/dist_bundle/bundle.js +10531 -4765
  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 +6 -0
  7. package/dist_ts_web/elements/00group-button/dees-button/dees-button.demo.js +14 -1
  8. package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +49 -24
  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-harness/dees-harness-chat/dees-harness-chat.d.ts +64 -0
  25. package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.d.ts +1 -0
  26. package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.js +294 -0
  27. package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.js +485 -0
  28. package/dist_ts_web/elements/00group-harness/dees-harness-chat/index.d.ts +1 -0
  29. package/dist_ts_web/elements/00group-harness/dees-harness-chat/index.js +2 -0
  30. package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.d.ts +65 -0
  31. package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.d.ts +1 -0
  32. package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.js +55 -0
  33. package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.js +589 -0
  34. package/dist_ts_web/elements/00group-harness/dees-harness-composer/index.d.ts +1 -0
  35. package/dist_ts_web/elements/00group-harness/dees-harness-composer/index.js +2 -0
  36. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.d.ts +21 -0
  37. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.demo.d.ts +1 -0
  38. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.demo.js +41 -0
  39. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.js +215 -0
  40. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/index.d.ts +1 -0
  41. package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/index.js +2 -0
  42. package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.d.ts +58 -0
  43. package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.demo.d.ts +1 -0
  44. package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.demo.js +126 -0
  45. package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.js +551 -0
  46. package/dist_ts_web/elements/00group-harness/dees-harness-message/index.d.ts +1 -0
  47. package/dist_ts_web/elements/00group-harness/dees-harness-message/index.js +2 -0
  48. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.d.ts +50 -0
  49. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.demo.d.ts +1 -0
  50. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.demo.js +101 -0
  51. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.js +424 -0
  52. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/index.d.ts +1 -0
  53. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/index.js +2 -0
  54. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.d.ts +27 -0
  55. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.demo.d.ts +1 -0
  56. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.demo.js +46 -0
  57. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.js +282 -0
  58. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/index.d.ts +1 -0
  59. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/index.js +2 -0
  60. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.d.ts +24 -0
  61. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.demo.d.ts +1 -0
  62. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.demo.js +32 -0
  63. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.js +241 -0
  64. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/index.d.ts +1 -0
  65. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/index.js +2 -0
  66. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.d.ts +28 -0
  67. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.d.ts +1 -0
  68. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.js +56 -0
  69. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +279 -0
  70. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/index.d.ts +1 -0
  71. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/index.js +2 -0
  72. package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.d.ts +30 -0
  73. package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.demo.d.ts +1 -0
  74. package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.demo.js +35 -0
  75. package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.js +235 -0
  76. package/dist_ts_web/elements/00group-harness/dees-harness-status/index.d.ts +1 -0
  77. package/dist_ts_web/elements/00group-harness/dees-harness-status/index.js +2 -0
  78. package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.d.ts +27 -0
  79. package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.demo.d.ts +1 -0
  80. package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.demo.js +41 -0
  81. package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.js +258 -0
  82. package/dist_ts_web/elements/00group-harness/dees-harness-todos/index.d.ts +1 -0
  83. package/dist_ts_web/elements/00group-harness/dees-harness-todos/index.js +2 -0
  84. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.d.ts +35 -0
  85. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.demo.d.ts +1 -0
  86. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.demo.js +162 -0
  87. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +368 -0
  88. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/index.d.ts +2 -0
  89. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/index.js +3 -0
  90. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/renderers.d.ts +5 -0
  91. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/renderers.js +183 -0
  92. package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.d.ts +19 -0
  93. package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.demo.d.ts +1 -0
  94. package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.demo.js +25 -0
  95. package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.js +148 -0
  96. package/dist_ts_web/elements/00group-harness/dees-harness-usage/index.d.ts +1 -0
  97. package/dist_ts_web/elements/00group-harness/dees-harness-usage/index.js +2 -0
  98. package/dist_ts_web/elements/00group-harness/harness.demodata.d.ts +22 -0
  99. package/dist_ts_web/elements/00group-harness/harness.demodata.js +94 -0
  100. package/dist_ts_web/elements/00group-harness/harness.helpers.d.ts +37 -0
  101. package/dist_ts_web/elements/00group-harness/harness.helpers.js +221 -0
  102. package/dist_ts_web/elements/00group-harness/harness.markdown.d.ts +25 -0
  103. package/dist_ts_web/elements/00group-harness/harness.markdown.js +147 -0
  104. package/dist_ts_web/elements/00group-harness/harness.styles.d.ts +9 -0
  105. package/dist_ts_web/elements/00group-harness/harness.styles.js +94 -0
  106. package/dist_ts_web/elements/00group-harness/index.d.ts +18 -0
  107. package/dist_ts_web/elements/00group-harness/index.js +22 -0
  108. package/dist_ts_web/elements/00group-harness/interfaces.d.ts +210 -0
  109. package/dist_ts_web/elements/00group-harness/interfaces.js +11 -0
  110. package/dist_ts_web/elements/00group-harness/toolregistry.d.ts +76 -0
  111. package/dist_ts_web/elements/00group-harness/toolregistry.js +210 -0
  112. package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +30 -18
  113. package/dist_ts_web/elements/00group-input/dees-input-datepicker/datepicker-popup.js +73 -46
  114. package/dist_ts_web/elements/00group-input/dees-input-datepicker/styles.js +15 -16
  115. package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.js +2 -4
  116. package/dist_ts_web/elements/00group-input/dees-input-tags/dees-input-tags.js +36 -15
  117. package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.js +5 -4
  118. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/code.block.js +10 -89
  119. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +12 -8
  120. package/dist_ts_web/elements/00group-layout/dees-chips/dees-chips.js +1 -1
  121. package/dist_ts_web/elements/00group-layout/dees-pagination/dees-pagination.js +27 -12
  122. package/dist_ts_web/elements/00group-layout/dees-settings/dees-settings.js +1 -1
  123. package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.js +14 -18
  124. package/dist_ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.js +6 -7
  125. package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.js +6 -21
  126. package/dist_ts_web/elements/00group-overlay/dees-windowlayer/dees-windowlayer.d.ts +2 -1
  127. package/dist_ts_web/elements/00group-overlay/dees-windowlayer/dees-windowlayer.js +10 -4
  128. package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.js +1 -1
  129. package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +9 -8
  130. package/dist_ts_web/elements/00group-workspace/dees-workspace/dees-workspace.js +1 -1
  131. package/dist_ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.js +3 -4
  132. package/dist_ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.js +8 -78
  133. package/dist_ts_web/elements/00syntax.d.ts +28 -0
  134. package/dist_ts_web/elements/00syntax.js +98 -0
  135. package/dist_ts_web/elements/00theme.js +26 -14
  136. package/dist_ts_web/elements/index.d.ts +1 -0
  137. package/dist_ts_web/elements/index.js +2 -1
  138. package/dist_watch/bundle.js +234121 -0
  139. package/dist_watch/bundle.js.map +7 -0
  140. package/dist_watch/index.html +28 -0
  141. package/package.json +1 -1
  142. package/readme.hints.md +7 -1
  143. package/readme.md +112 -0
  144. package/readme.playbook.md +10 -0
  145. package/ts_web/00_commitinfo_data.ts +1 -1
  146. package/ts_web/elements/00group-appui/dees-appui/dees-appui.ts +4 -3
  147. package/ts_web/elements/00group-appui/dees-appui-profiledropdown/dees-appui-profiledropdown.ts +5 -6
  148. package/ts_web/elements/00group-appui/dees-appui-tabs/dees-appui-tabs.ts +3 -5
  149. package/ts_web/elements/00group-button/dees-button/dees-button.demo.ts +13 -0
  150. package/ts_web/elements/00group-button/dees-button/dees-button.ts +42 -22
  151. package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.ts +1 -1
  152. package/ts_web/elements/00group-dataview/dees-dataview-codebox/codebox.diff.ts +401 -0
  153. package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.demo.ts +132 -38
  154. package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.ts +649 -187
  155. package/ts_web/elements/00group-dataview/dees-dataview-codebox/index.ts +1 -0
  156. package/ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.ts +45 -30
  157. package/ts_web/elements/00group-dataview/dees-grouped-list/dees-grouped-list.ts +1 -1
  158. package/ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.ts +0 -1
  159. package/ts_web/elements/00group-dataview/dees-storage-browser/dees-storage-keys.ts +1 -1
  160. package/ts_web/elements/00group-dataview/dees-table/styles.ts +1 -1
  161. package/ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.ts +9 -9
  162. package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.ts +306 -0
  163. package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.ts +363 -0
  164. package/ts_web/elements/00group-harness/dees-harness-chat/index.ts +1 -0
  165. package/ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.ts +56 -0
  166. package/ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.ts +514 -0
  167. package/ts_web/elements/00group-harness/dees-harness-composer/index.ts +1 -0
  168. package/ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.demo.ts +44 -0
  169. package/ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.ts +172 -0
  170. package/ts_web/elements/00group-harness/dees-harness-content-blocks/index.ts +1 -0
  171. package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.demo.ts +129 -0
  172. package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.ts +498 -0
  173. package/ts_web/elements/00group-harness/dees-harness-message/index.ts +1 -0
  174. package/ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.demo.ts +105 -0
  175. package/ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.ts +342 -0
  176. package/ts_web/elements/00group-harness/dees-harness-message-list/index.ts +1 -0
  177. package/ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.demo.ts +47 -0
  178. package/ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.ts +225 -0
  179. package/ts_web/elements/00group-harness/dees-harness-permission-card/index.ts +1 -0
  180. package/ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.demo.ts +32 -0
  181. package/ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.ts +195 -0
  182. package/ts_web/elements/00group-harness/dees-harness-reasoning/index.ts +1 -0
  183. package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.ts +59 -0
  184. package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +222 -0
  185. package/ts_web/elements/00group-harness/dees-harness-session-list/index.ts +1 -0
  186. package/ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.demo.ts +35 -0
  187. package/ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.ts +187 -0
  188. package/ts_web/elements/00group-harness/dees-harness-status/index.ts +1 -0
  189. package/ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.demo.ts +43 -0
  190. package/ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.ts +206 -0
  191. package/ts_web/elements/00group-harness/dees-harness-todos/index.ts +1 -0
  192. package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.demo.ts +166 -0
  193. package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +315 -0
  194. package/ts_web/elements/00group-harness/dees-harness-tool-card/index.ts +2 -0
  195. package/ts_web/elements/00group-harness/dees-harness-tool-card/renderers.ts +205 -0
  196. package/ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.demo.ts +25 -0
  197. package/ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.ts +96 -0
  198. package/ts_web/elements/00group-harness/dees-harness-usage/index.ts +1 -0
  199. package/ts_web/elements/00group-harness/harness.demodata.ts +113 -0
  200. package/ts_web/elements/00group-harness/harness.helpers.ts +227 -0
  201. package/ts_web/elements/00group-harness/harness.markdown.ts +151 -0
  202. package/ts_web/elements/00group-harness/harness.styles.ts +96 -0
  203. package/ts_web/elements/00group-harness/index.ts +22 -0
  204. package/ts_web/elements/00group-harness/interfaces.ts +203 -0
  205. package/ts_web/elements/00group-harness/toolregistry.ts +264 -0
  206. package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +29 -17
  207. package/ts_web/elements/00group-input/dees-input-datepicker/datepicker-popup.ts +72 -45
  208. package/ts_web/elements/00group-input/dees-input-datepicker/styles.ts +14 -15
  209. package/ts_web/elements/00group-input/dees-input-list/dees-input-list.ts +1 -3
  210. package/ts_web/elements/00group-input/dees-input-tags/dees-input-tags.ts +35 -14
  211. package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.ts +4 -3
  212. package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/code.block.ts +9 -88
  213. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +11 -7
  214. package/ts_web/elements/00group-layout/dees-chips/dees-chips.ts +1 -1
  215. package/ts_web/elements/00group-layout/dees-pagination/dees-pagination.ts +26 -11
  216. package/ts_web/elements/00group-layout/dees-settings/dees-settings.ts +1 -1
  217. package/ts_web/elements/00group-layout/dees-stepper/dees-stepper.ts +13 -17
  218. package/ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.ts +5 -6
  219. package/ts_web/elements/00group-overlay/dees-modal/dees-modal.ts +5 -20
  220. package/ts_web/elements/00group-overlay/dees-windowlayer/dees-windowlayer.ts +10 -3
  221. package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.ts +1 -1
  222. package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +8 -7
  223. package/ts_web/elements/00group-workspace/dees-workspace/dees-workspace.ts +1 -1
  224. package/ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.ts +2 -3
  225. package/ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.ts +7 -77
  226. package/ts_web/elements/00syntax.ts +124 -0
  227. package/ts_web/elements/00theme.ts +25 -13
  228. package/ts_web/elements/index.ts +1 -0
@@ -0,0 +1,43 @@
1
+ import { html } from '@design.estate/dees-element';
2
+ import type { IHarnessTodoItem } from '../interfaces.js';
3
+
4
+ const demoTodos: IHarnessTodoItem[] = [
5
+ { id: 't1', content: 'Pin sitemap cache key to the route manifest hash', status: 'completed' },
6
+ { id: 't2', content: 'Add regression test for locale rollouts', status: 'completed' },
7
+ { id: 't3', content: 'Wire the deploy pipeline to the new cache key', status: 'in_progress' },
8
+ { id: 't4', content: 'Verify staging deploy timings against baseline', status: 'pending' },
9
+ { id: 't5', content: 'Roll out to production', status: 'pending' },
10
+ ];
11
+
12
+ export const demoFunc = () => html`
13
+ <style>
14
+ .todosDemo {
15
+ display: grid;
16
+ grid-template-columns: 280px 1fr;
17
+ gap: 24px;
18
+ max-width: 760px;
19
+ margin: 40px auto;
20
+ align-items: start;
21
+ }
22
+ .todosDemo .sidebarPanel {
23
+ padding: 12px;
24
+ border: 1px solid var(--dees-color-border-subtle);
25
+ border-radius: var(--dees-radius-lg);
26
+ background: var(--dees-color-bg-secondary);
27
+ }
28
+ .todosDemo .empty-panel {
29
+ padding: 12px;
30
+ border: 1px solid var(--dees-color-border-subtle);
31
+ border-radius: var(--dees-radius-lg);
32
+ background: var(--dees-color-bg-secondary);
33
+ }
34
+ </style>
35
+ <div class="todosDemo">
36
+ <div class="sidebarPanel">
37
+ <dees-harness-todos heading="Current tasks" .todos=${demoTodos}></dees-harness-todos>
38
+ </div>
39
+ <div class="empty-panel">
40
+ <dees-harness-todos heading="Current tasks"></dees-harness-todos>
41
+ </div>
42
+ </div>
43
+ `;
@@ -0,0 +1,206 @@
1
+ import { demoFunc } from './dees-harness-todos.demo.js';
2
+ import {
3
+ DeesElement,
4
+ html,
5
+ css,
6
+ customElement,
7
+ type TemplateResult,
8
+ property,
9
+ cssManager,
10
+ directives,
11
+ } from '@design.estate/dees-element';
12
+ import { themeDefaultStyles } from '../../00theme.js';
13
+ import type { IHarnessTodoItem } from '../interfaces.js';
14
+ import '../../00group-utility/dees-icon/dees-icon.js';
15
+
16
+ const { repeat } = directives;
17
+
18
+ declare global {
19
+ interface HTMLElementTagNameMap {
20
+ 'dees-harness-todos': DeesHarnessTodos;
21
+ }
22
+ }
23
+
24
+ /**
25
+ * Agent task list: renders IHarnessTodoItem[] as a checklist. Used both as
26
+ * the todo tool-card body and standalone (e.g. a "current tasks" sidebar
27
+ * panel fed from the latest todowrite call). Keyed rows animate status
28
+ * changes; completed items dim with a check, the in-progress item leads
29
+ * with an accent marker.
30
+ */
31
+ @customElement('dees-harness-todos')
32
+ export class DeesHarnessTodos extends DeesElement {
33
+ public static demo = demoFunc;
34
+ public static demoGroups = ['Agent Chat'];
35
+
36
+ @property({ attribute: false })
37
+ accessor todos: IHarnessTodoItem[] = [];
38
+
39
+ @property()
40
+ accessor heading: string = '';
41
+
42
+ /** tighter paddings for tool-card bodies */
43
+ @property({ type: Boolean })
44
+ accessor compact: boolean = false;
45
+
46
+ @property({ type: Boolean })
47
+ accessor showProgress: boolean = true;
48
+
49
+ public static styles = [
50
+ themeDefaultStyles,
51
+ cssManager.defaultStyles,
52
+ css`
53
+ :host {
54
+ display: block;
55
+ font-family: var(--dees-font-family);
56
+ }
57
+
58
+ .headingRow {
59
+ display: flex;
60
+ align-items: baseline;
61
+ gap: var(--dees-spacing-sm);
62
+ padding: var(--dees-spacing-xs) var(--dees-spacing-xs) var(--dees-spacing-sm);
63
+ }
64
+
65
+ .headingText {
66
+ color: var(--dees-color-text-primary);
67
+ font-size: var(--dees-font-control-size-sm, 12px);
68
+ font-weight: 600;
69
+ }
70
+
71
+ .progressText {
72
+ margin-left: auto;
73
+ color: var(--dees-color-text-muted);
74
+ font-size: var(--dees-font-caption1-size, 11px);
75
+ font-variant-numeric: tabular-nums;
76
+ }
77
+
78
+ .list {
79
+ display: block;
80
+ }
81
+
82
+ .item {
83
+ display: flex;
84
+ align-items: flex-start;
85
+ gap: var(--dees-spacing-sm);
86
+ padding: 3px var(--dees-spacing-xs);
87
+ border-radius: var(--dees-radius-sm);
88
+ corner-shape: var(--dees-corner-shape);
89
+ color: var(--dees-color-text-primary);
90
+ font-size: var(--dees-font-control-size-sm, 12px);
91
+ line-height: 1.45;
92
+ transition: opacity var(--dees-transition-default) var(--dees-ease-standard);
93
+ }
94
+
95
+ :host([compact]) .item {
96
+ padding: 2px 0;
97
+ }
98
+
99
+ .marker {
100
+ flex: 0 0 14px;
101
+ display: grid;
102
+ place-items: center;
103
+ width: 14px;
104
+ height: 14px;
105
+ margin-top: 2px;
106
+ border-radius: var(--dees-radius-full);
107
+ }
108
+
109
+ .item.pending .marker {
110
+ border: 1.5px solid var(--dees-color-border-strong);
111
+ }
112
+
113
+ .item.in_progress .marker {
114
+ border: 1.5px solid var(--dees-color-accent-primary);
115
+ }
116
+
117
+ .item.in_progress .marker::after {
118
+ content: '';
119
+ width: 6px;
120
+ height: 6px;
121
+ border-radius: var(--dees-radius-full);
122
+ background: var(--dees-color-accent-primary);
123
+ animation: harness-todo-active 1.4s ease-in-out infinite;
124
+ }
125
+
126
+ @keyframes harness-todo-active {
127
+ 0%, 100% { opacity: 1; transform: scale(1); }
128
+ 50% { opacity: 0.45; transform: scale(0.75); }
129
+ }
130
+
131
+ .item.completed .marker {
132
+ background: var(--dees-color-accent-success);
133
+ color: #fff;
134
+ }
135
+
136
+ .item.in_progress .content {
137
+ font-weight: 600;
138
+ }
139
+
140
+ .item.completed {
141
+ opacity: 0.62;
142
+ }
143
+
144
+ .item.completed .content {
145
+ text-decoration: line-through;
146
+ text-decoration-color: var(--dees-color-text-muted);
147
+ }
148
+
149
+ .content {
150
+ min-width: 0;
151
+ overflow-wrap: anywhere;
152
+ }
153
+
154
+ .empty {
155
+ padding: var(--dees-spacing-sm) var(--dees-spacing-xs);
156
+ color: var(--dees-color-text-secondary);
157
+ font-size: var(--dees-font-caption1-size, 11px);
158
+ }
159
+
160
+ @media (prefers-reduced-motion: reduce) {
161
+ .item.in_progress .marker::after {
162
+ animation: none;
163
+ }
164
+ }
165
+ `,
166
+ ];
167
+
168
+ public get completedCount(): number {
169
+ return this.todos.filter((todo) => todo.status === 'completed').length;
170
+ }
171
+
172
+ public render(): TemplateResult {
173
+ return html`
174
+ ${this.heading
175
+ ? html`
176
+ <div class="headingRow">
177
+ <span class="headingText">${this.heading}</span>
178
+ ${this.showProgress && this.todos.length
179
+ ? html`<span class="progressText">${this.completedCount}/${this.todos.length}</span>`
180
+ : ''}
181
+ </div>
182
+ `
183
+ : ''}
184
+ ${this.todos.length
185
+ ? html`
186
+ <div class="list" role="list">
187
+ ${repeat(
188
+ this.todos,
189
+ (todo, index) => todo.id ?? `${index}-${todo.content}`,
190
+ (todo) => html`
191
+ <div class="item ${todo.status}" role="listitem">
192
+ <span class="marker">
193
+ ${todo.status === 'completed'
194
+ ? html`<dees-icon icon="lucide:Check" iconSize="10"></dees-icon>`
195
+ : ''}
196
+ </span>
197
+ <span class="content">${todo.content}</span>
198
+ </div>
199
+ `,
200
+ )}
201
+ </div>
202
+ `
203
+ : html`<div class="empty">No tasks yet.</div>`}
204
+ `;
205
+ }
206
+ }
@@ -0,0 +1 @@
1
+ export * from './dees-harness-todos.js';
@@ -0,0 +1,166 @@
1
+ import { html } from '@design.estate/dees-element';
2
+ import type { IHarnessToolCall } from '../interfaces.js';
3
+
4
+ const now = Date.now();
5
+
6
+ const demoCalls: IHarnessToolCall[] = [
7
+ {
8
+ id: 't1',
9
+ name: 'run_command',
10
+ status: 'completed',
11
+ input: { command: 'pnpm test --filter ui', cwd: '/srv/app' },
12
+ output: { exitCode: 0, stdout: '212 tests passed\n0 failed', stderr: '' },
13
+ startedAt: now - 9200,
14
+ finishedAt: now - 1200,
15
+ },
16
+ {
17
+ id: 't2',
18
+ name: 'run_command',
19
+ status: 'error',
20
+ input: { command: 'pnpm build' },
21
+ output: { exitCode: 1, stdout: '', stderr: 'error TS2304: Cannot find name `foo`.' },
22
+ startedAt: now - 5200,
23
+ finishedAt: now - 4100,
24
+ },
25
+ {
26
+ id: 't3',
27
+ name: 'read_file',
28
+ status: 'completed',
29
+ input: { path: '/srv/app/src/config.ts', startLine: 1, endLine: 6 },
30
+ output: "export const config = {\n retries: 3,\n verbose: false,\n};",
31
+ startedAt: now - 4000,
32
+ finishedAt: now - 3900,
33
+ },
34
+ {
35
+ id: 't4',
36
+ name: 'write_file',
37
+ status: 'completed',
38
+ input: {
39
+ path: '/srv/app/src/config.ts',
40
+ oldContent: 'export const config = {\n retries: 3,\n verbose: false,\n};',
41
+ content: 'export const config = {\n retries: 5,\n timeoutMs: 30_000,\n verbose: false,\n};',
42
+ },
43
+ startedAt: now - 3800,
44
+ finishedAt: now - 3700,
45
+ },
46
+ {
47
+ id: 't5',
48
+ name: 'delete_file',
49
+ status: 'running',
50
+ input: { path: '/srv/app/tmp/cache.bin' },
51
+ startedAt: now - 800,
52
+ },
53
+ {
54
+ id: 't6',
55
+ name: 'list_directory',
56
+ status: 'completed',
57
+ input: { path: 'src', recursive: false },
58
+ output: ['index.ts', 'config.ts', 'jobs/', 'util/'],
59
+ startedAt: now - 3000,
60
+ finishedAt: now - 2950,
61
+ },
62
+ {
63
+ id: 't7',
64
+ name: 'browser',
65
+ status: 'completed',
66
+ input: { action: 'screenshot', url: 'https://example.com' },
67
+ output: {
68
+ screenshotBase64:
69
+ 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==',
70
+ },
71
+ startedAt: now - 2500,
72
+ finishedAt: now - 2100,
73
+ },
74
+ {
75
+ id: 't8',
76
+ name: 'http_get',
77
+ status: 'completed',
78
+ input: { url: 'https://api.example.com/status' },
79
+ output: { status: 'ok', uptimeSeconds: 86_400 },
80
+ startedAt: now - 2000,
81
+ finishedAt: now - 1900,
82
+ },
83
+ {
84
+ id: 't9',
85
+ name: 'grep',
86
+ status: 'completed',
87
+ input: { pattern: 'TODO', path: 'src/' },
88
+ output: 'src/jobs/sitemap.ts:12: // TODO pin cache key\nsrc/util/log.ts:3: // TODO levels',
89
+ startedAt: now - 1500,
90
+ finishedAt: now - 1400,
91
+ },
92
+ {
93
+ id: 't10',
94
+ name: 'todowrite',
95
+ status: 'completed',
96
+ input: {
97
+ todos: [
98
+ { content: 'Pin sitemap cache key', status: 'completed' },
99
+ { content: 'Add regression test', status: 'in_progress' },
100
+ { content: 'Deploy to staging', status: 'pending' },
101
+ ],
102
+ },
103
+ startedAt: now - 1200,
104
+ finishedAt: now - 1100,
105
+ },
106
+ {
107
+ id: 't11',
108
+ name: 'kb__lookup_article',
109
+ status: 'completed',
110
+ mcp: {
111
+ serverName: 'kb',
112
+ toolName: 'lookup_article',
113
+ annotations: { title: 'Knowledge Lookup', readOnlyHint: true, openWorldHint: true },
114
+ },
115
+ input: { query: 'sitemap cache key' },
116
+ contentBlocks: [
117
+ { type: 'text', text: 'Found 1 article: “Deterministic sitemap builds”.' },
118
+ {
119
+ type: 'resource_link',
120
+ uri: 'https://kb.example.com/articles/812',
121
+ name: 'deterministic-sitemap-builds',
122
+ title: 'Deterministic sitemap builds',
123
+ mimeType: 'text/html',
124
+ },
125
+ ],
126
+ startedAt: now - 900,
127
+ finishedAt: now - 700,
128
+ },
129
+ {
130
+ id: 't12',
131
+ name: 'fleet__restart_service',
132
+ status: 'completed',
133
+ mcp: {
134
+ serverName: 'fleet',
135
+ toolName: 'restart_service',
136
+ annotations: { destructiveHint: true, idempotentHint: true },
137
+ },
138
+ input: { service: 'sitemap-worker' },
139
+ structuredContent: { restarted: true, tookMs: 3200 },
140
+ startedAt: now - 600,
141
+ finishedAt: now - 300,
142
+ },
143
+ {
144
+ id: 't13',
145
+ name: 'mystery_tool',
146
+ status: 'pending',
147
+ input: { anything: 'goes', level: 3 },
148
+ },
149
+ ];
150
+
151
+ export const demoFunc = () => html`
152
+ <style>
153
+ .toolDemo {
154
+ display: grid;
155
+ gap: 12px;
156
+ max-width: 760px;
157
+ margin: 40px auto;
158
+ padding: 24px;
159
+ border-radius: var(--dees-radius-xl);
160
+ background: var(--dees-color-bg-primary);
161
+ }
162
+ </style>
163
+ <div class="toolDemo">
164
+ ${demoCalls.map((call) => html`<dees-harness-tool-card .call=${call}></dees-harness-tool-card>`)}
165
+ </div>
166
+ `;