@design.estate/dees-catalog 3.91.0 → 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 (228) hide show
  1. package/dist_bundle/bundle.js +10381 -4788
  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 +55 -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 +183 -0
  27. package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.js +412 -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 +233948 -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 +110 -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 +193 -0
  163. package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.ts +301 -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,589 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { demoFunc } from './dees-harness-composer.demo.js';
36
+ import { DeesElement, html, css, customElement, property, cssManager, } from '@design.estate/dees-element';
37
+ import { themeDefaultStyles } from '../../00theme.js';
38
+ import { harnessFileToBase64, harnessFormatBytes, harnessIsSupportedAttachmentType, harnessMaxAttachmentBytes, harnessMaxTotalAttachmentBytes, harnessMediaTypeForFile, harnessSupportedImageTypes, } from '../harness.helpers.js';
39
+ import '../../00group-button/dees-button/dees-button.js';
40
+ import '../../00group-input/dees-input-dropdown/dees-input-dropdown.js';
41
+ import '../../00group-utility/dees-icon/dees-icon.js';
42
+ const toDropdownOptions = (values) => values.map((value) => ({ option: value, key: value }));
43
+ /**
44
+ * Prompt composer: autogrow textarea, attachments (picker / paste /
45
+ * drag-drop with per-file and total size limits), optional model and
46
+ * reasoning-effort dropdowns. Cmd/Ctrl+Enter sends. While busy, Stop is an
47
+ * additional button and Send stays available for queueing; an empty prompt
48
+ * with queued messages offers "Steer now".
49
+ *
50
+ * Controlled component: `value` and `attachments` are owned by the host;
51
+ * the composer emits `harness-input`, `harness-attachments-change`,
52
+ * `harness-attachment-error`, `harness-model-change`, `harness-send`,
53
+ * `harness-steer`, and `harness-abort` (all bubbling + composed).
54
+ */
55
+ let DeesHarnessComposer = (() => {
56
+ let _classDecorators = [customElement('dees-harness-composer')];
57
+ let _classDescriptor;
58
+ let _classExtraInitializers = [];
59
+ let _classThis;
60
+ let _classSuper = DeesElement;
61
+ let _value_decorators;
62
+ let _value_initializers = [];
63
+ let _value_extraInitializers = [];
64
+ let _placeholder_decorators;
65
+ let _placeholder_initializers = [];
66
+ let _placeholder_extraInitializers = [];
67
+ let _disabled_decorators;
68
+ let _disabled_initializers = [];
69
+ let _disabled_extraInitializers = [];
70
+ let _busy_decorators;
71
+ let _busy_initializers = [];
72
+ let _busy_extraInitializers = [];
73
+ let _queuedCount_decorators;
74
+ let _queuedCount_initializers = [];
75
+ let _queuedCount_extraInitializers = [];
76
+ let _attachments_decorators;
77
+ let _attachments_initializers = [];
78
+ let _attachments_extraInitializers = [];
79
+ let _maxAttachmentBytes_decorators;
80
+ let _maxAttachmentBytes_initializers = [];
81
+ let _maxAttachmentBytes_extraInitializers = [];
82
+ let _maxTotalAttachmentBytes_decorators;
83
+ let _maxTotalAttachmentBytes_initializers = [];
84
+ let _maxTotalAttachmentBytes_extraInitializers = [];
85
+ let _model_decorators;
86
+ let _model_initializers = [];
87
+ let _model_extraInitializers = [];
88
+ let _modelOptions_decorators;
89
+ let _modelOptions_initializers = [];
90
+ let _modelOptions_extraInitializers = [];
91
+ let _reasoningEffort_decorators;
92
+ let _reasoningEffort_initializers = [];
93
+ let _reasoningEffort_extraInitializers = [];
94
+ let _effortOptions_decorators;
95
+ let _effortOptions_initializers = [];
96
+ let _effortOptions_extraInitializers = [];
97
+ let _showModelControls_decorators;
98
+ let _showModelControls_initializers = [];
99
+ let _showModelControls_extraInitializers = [];
100
+ var DeesHarnessComposer = class extends _classSuper {
101
+ static { _classThis = this; }
102
+ static {
103
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
104
+ _value_decorators = [property()];
105
+ _placeholder_decorators = [property()];
106
+ _disabled_decorators = [property({ type: Boolean })];
107
+ _busy_decorators = [property({ type: Boolean })];
108
+ _queuedCount_decorators = [property({ type: Number })];
109
+ _attachments_decorators = [property({ attribute: false })];
110
+ _maxAttachmentBytes_decorators = [property({ type: Number })];
111
+ _maxTotalAttachmentBytes_decorators = [property({ type: Number })];
112
+ _model_decorators = [property()];
113
+ _modelOptions_decorators = [property({ attribute: false })];
114
+ _reasoningEffort_decorators = [property()];
115
+ _effortOptions_decorators = [property({ attribute: false })];
116
+ _showModelControls_decorators = [property({ type: Boolean })];
117
+ __esDecorate(this, null, _value_decorators, { kind: "accessor", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
118
+ __esDecorate(this, null, _placeholder_decorators, { kind: "accessor", name: "placeholder", static: false, private: false, access: { has: obj => "placeholder" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_extraInitializers);
119
+ __esDecorate(this, null, _disabled_decorators, { kind: "accessor", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
120
+ __esDecorate(this, null, _busy_decorators, { kind: "accessor", name: "busy", static: false, private: false, access: { has: obj => "busy" in obj, get: obj => obj.busy, set: (obj, value) => { obj.busy = value; } }, metadata: _metadata }, _busy_initializers, _busy_extraInitializers);
121
+ __esDecorate(this, null, _queuedCount_decorators, { kind: "accessor", name: "queuedCount", static: false, private: false, access: { has: obj => "queuedCount" in obj, get: obj => obj.queuedCount, set: (obj, value) => { obj.queuedCount = value; } }, metadata: _metadata }, _queuedCount_initializers, _queuedCount_extraInitializers);
122
+ __esDecorate(this, null, _attachments_decorators, { kind: "accessor", name: "attachments", static: false, private: false, access: { has: obj => "attachments" in obj, get: obj => obj.attachments, set: (obj, value) => { obj.attachments = value; } }, metadata: _metadata }, _attachments_initializers, _attachments_extraInitializers);
123
+ __esDecorate(this, null, _maxAttachmentBytes_decorators, { kind: "accessor", name: "maxAttachmentBytes", static: false, private: false, access: { has: obj => "maxAttachmentBytes" in obj, get: obj => obj.maxAttachmentBytes, set: (obj, value) => { obj.maxAttachmentBytes = value; } }, metadata: _metadata }, _maxAttachmentBytes_initializers, _maxAttachmentBytes_extraInitializers);
124
+ __esDecorate(this, null, _maxTotalAttachmentBytes_decorators, { kind: "accessor", name: "maxTotalAttachmentBytes", static: false, private: false, access: { has: obj => "maxTotalAttachmentBytes" in obj, get: obj => obj.maxTotalAttachmentBytes, set: (obj, value) => { obj.maxTotalAttachmentBytes = value; } }, metadata: _metadata }, _maxTotalAttachmentBytes_initializers, _maxTotalAttachmentBytes_extraInitializers);
125
+ __esDecorate(this, null, _model_decorators, { kind: "accessor", name: "model", static: false, private: false, access: { has: obj => "model" in obj, get: obj => obj.model, set: (obj, value) => { obj.model = value; } }, metadata: _metadata }, _model_initializers, _model_extraInitializers);
126
+ __esDecorate(this, null, _modelOptions_decorators, { kind: "accessor", name: "modelOptions", static: false, private: false, access: { has: obj => "modelOptions" in obj, get: obj => obj.modelOptions, set: (obj, value) => { obj.modelOptions = value; } }, metadata: _metadata }, _modelOptions_initializers, _modelOptions_extraInitializers);
127
+ __esDecorate(this, null, _reasoningEffort_decorators, { kind: "accessor", name: "reasoningEffort", static: false, private: false, access: { has: obj => "reasoningEffort" in obj, get: obj => obj.reasoningEffort, set: (obj, value) => { obj.reasoningEffort = value; } }, metadata: _metadata }, _reasoningEffort_initializers, _reasoningEffort_extraInitializers);
128
+ __esDecorate(this, null, _effortOptions_decorators, { kind: "accessor", name: "effortOptions", static: false, private: false, access: { has: obj => "effortOptions" in obj, get: obj => obj.effortOptions, set: (obj, value) => { obj.effortOptions = value; } }, metadata: _metadata }, _effortOptions_initializers, _effortOptions_extraInitializers);
129
+ __esDecorate(this, null, _showModelControls_decorators, { kind: "accessor", name: "showModelControls", static: false, private: false, access: { has: obj => "showModelControls" in obj, get: obj => obj.showModelControls, set: (obj, value) => { obj.showModelControls = value; } }, metadata: _metadata }, _showModelControls_initializers, _showModelControls_extraInitializers);
130
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
131
+ DeesHarnessComposer = _classThis = _classDescriptor.value;
132
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
133
+ }
134
+ static demo = demoFunc;
135
+ static demoGroups = ['Agent Chat'];
136
+ #value_accessor_storage = __runInitializers(this, _value_initializers, '');
137
+ get value() { return this.#value_accessor_storage; }
138
+ set value(value) { this.#value_accessor_storage = value; }
139
+ #placeholder_accessor_storage = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _placeholder_initializers, 'Message the agent — drop or paste files to attach…'));
140
+ get placeholder() { return this.#placeholder_accessor_storage; }
141
+ set placeholder(value) { this.#placeholder_accessor_storage = value; }
142
+ #disabled_accessor_storage = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _disabled_initializers, false));
143
+ get disabled() { return this.#disabled_accessor_storage; }
144
+ set disabled(value) { this.#disabled_accessor_storage = value; }
145
+ #busy_accessor_storage = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _busy_initializers, false));
146
+ /**
147
+ * busy = a run is in flight. Sending stays available (hosts queue the
148
+ * messages); Stop renders as an additional button. With an empty prompt
149
+ * and queued messages waiting, the primary action becomes "Steer now"
150
+ * (harness-steer) to force the agent to continue with the queue.
151
+ */
152
+ get busy() { return this.#busy_accessor_storage; }
153
+ set busy(value) { this.#busy_accessor_storage = value; }
154
+ #queuedCount_accessor_storage = (__runInitializers(this, _busy_extraInitializers), __runInitializers(this, _queuedCount_initializers, 0));
155
+ /** number of messages the host has queued while the run is busy */
156
+ get queuedCount() { return this.#queuedCount_accessor_storage; }
157
+ set queuedCount(value) { this.#queuedCount_accessor_storage = value; }
158
+ #attachments_accessor_storage = (__runInitializers(this, _queuedCount_extraInitializers), __runInitializers(this, _attachments_initializers, []));
159
+ get attachments() { return this.#attachments_accessor_storage; }
160
+ set attachments(value) { this.#attachments_accessor_storage = value; }
161
+ #maxAttachmentBytes_accessor_storage = (__runInitializers(this, _attachments_extraInitializers), __runInitializers(this, _maxAttachmentBytes_initializers, harnessMaxAttachmentBytes));
162
+ get maxAttachmentBytes() { return this.#maxAttachmentBytes_accessor_storage; }
163
+ set maxAttachmentBytes(value) { this.#maxAttachmentBytes_accessor_storage = value; }
164
+ #maxTotalAttachmentBytes_accessor_storage = (__runInitializers(this, _maxAttachmentBytes_extraInitializers), __runInitializers(this, _maxTotalAttachmentBytes_initializers, harnessMaxTotalAttachmentBytes));
165
+ get maxTotalAttachmentBytes() { return this.#maxTotalAttachmentBytes_accessor_storage; }
166
+ set maxTotalAttachmentBytes(value) { this.#maxTotalAttachmentBytes_accessor_storage = value; }
167
+ #model_accessor_storage = (__runInitializers(this, _maxTotalAttachmentBytes_extraInitializers), __runInitializers(this, _model_initializers, ''));
168
+ get model() { return this.#model_accessor_storage; }
169
+ set model(value) { this.#model_accessor_storage = value; }
170
+ #modelOptions_accessor_storage = (__runInitializers(this, _model_extraInitializers), __runInitializers(this, _modelOptions_initializers, []));
171
+ get modelOptions() { return this.#modelOptions_accessor_storage; }
172
+ set modelOptions(value) { this.#modelOptions_accessor_storage = value; }
173
+ #reasoningEffort_accessor_storage = (__runInitializers(this, _modelOptions_extraInitializers), __runInitializers(this, _reasoningEffort_initializers, ''));
174
+ get reasoningEffort() { return this.#reasoningEffort_accessor_storage; }
175
+ set reasoningEffort(value) { this.#reasoningEffort_accessor_storage = value; }
176
+ #effortOptions_accessor_storage = (__runInitializers(this, _reasoningEffort_extraInitializers), __runInitializers(this, _effortOptions_initializers, []));
177
+ get effortOptions() { return this.#effortOptions_accessor_storage; }
178
+ set effortOptions(value) { this.#effortOptions_accessor_storage = value; }
179
+ #showModelControls_accessor_storage = (__runInitializers(this, _effortOptions_extraInitializers), __runInitializers(this, _showModelControls_initializers, true));
180
+ get showModelControls() { return this.#showModelControls_accessor_storage; }
181
+ set showModelControls(value) { this.#showModelControls_accessor_storage = value; }
182
+ static styles = [
183
+ themeDefaultStyles,
184
+ cssManager.defaultStyles,
185
+ css `
186
+ :host {
187
+ display: block;
188
+ font-family: var(--dees-font-family);
189
+ }
190
+
191
+ .composer {
192
+ display: grid;
193
+ gap: var(--dees-spacing-sm);
194
+ padding: var(--dees-spacing-sm);
195
+ border: 1px solid var(--dees-color-border-subtle);
196
+ border-radius: var(--dees-radius-xl);
197
+ corner-shape: var(--dees-corner-shape);
198
+ background: var(--dees-color-bg-secondary);
199
+ }
200
+
201
+ .composer.dragOver {
202
+ border-color: var(--dees-color-accent-primary);
203
+ box-shadow: 0 0 0 3px var(--dees-color-focus-ring);
204
+ }
205
+
206
+ .fileInput {
207
+ display: none;
208
+ }
209
+
210
+ textarea {
211
+ width: 100%;
212
+ min-height: 64px;
213
+ max-height: 40vh;
214
+ resize: none;
215
+ padding: var(--dees-spacing-sm) var(--dees-spacing-md);
216
+ border: 0;
217
+ background: transparent;
218
+ color: var(--dees-color-text-primary);
219
+ font-family: inherit;
220
+ font-size: var(--dees-font-control-size, 13px);
221
+ line-height: 1.5;
222
+ outline: none;
223
+ box-sizing: border-box;
224
+ }
225
+
226
+ textarea::placeholder {
227
+ color: var(--dees-color-label-quaternary, var(--dees-color-text-muted));
228
+ }
229
+
230
+ textarea:disabled {
231
+ opacity: 0.55;
232
+ }
233
+
234
+ .attachmentRow {
235
+ display: flex;
236
+ gap: var(--dees-spacing-xs);
237
+ flex-wrap: wrap;
238
+ }
239
+
240
+ .attachmentChip {
241
+ max-width: 100%;
242
+ display: inline-flex;
243
+ align-items: center;
244
+ gap: var(--dees-spacing-xs);
245
+ padding: 3px var(--dees-spacing-xs) 3px var(--dees-spacing-sm);
246
+ border: 1px solid var(--dees-color-border-subtle);
247
+ border-radius: var(--dees-radius-full);
248
+ background: var(--dees-color-bg-tertiary);
249
+ color: var(--dees-color-text-primary);
250
+ font-size: var(--dees-font-caption1-size, 11px);
251
+ }
252
+
253
+ .attachmentChip img {
254
+ width: 20px;
255
+ height: 20px;
256
+ border-radius: var(--dees-radius-full);
257
+ object-fit: cover;
258
+ }
259
+
260
+ .attachmentChip dees-icon {
261
+ color: var(--dees-color-accent-primary);
262
+ }
263
+
264
+ .chipName {
265
+ max-width: 160px;
266
+ overflow: hidden;
267
+ text-overflow: ellipsis;
268
+ white-space: nowrap;
269
+ }
270
+
271
+ .chipSize {
272
+ color: var(--dees-color-text-secondary);
273
+ }
274
+
275
+ .chipRemove {
276
+ display: grid;
277
+ place-items: center;
278
+ width: 16px;
279
+ height: 16px;
280
+ border: 0;
281
+ border-radius: var(--dees-radius-full);
282
+ background: transparent;
283
+ color: var(--dees-color-text-secondary);
284
+ cursor: pointer;
285
+ padding: 0;
286
+ }
287
+
288
+ .chipRemove:hover {
289
+ background: var(--dees-color-fill-secondary);
290
+ color: var(--dees-color-text-primary);
291
+ }
292
+
293
+ .controlsRow {
294
+ display: flex;
295
+ align-items: center;
296
+ gap: var(--dees-spacing-sm);
297
+ }
298
+
299
+ .modelControls {
300
+ display: flex;
301
+ gap: var(--dees-spacing-xs);
302
+ min-width: 0;
303
+ }
304
+
305
+ .modelControls dees-input-dropdown {
306
+ margin: 0;
307
+ }
308
+
309
+ .modelSelect {
310
+ width: 150px;
311
+ }
312
+
313
+ .effortSelect {
314
+ width: 110px;
315
+ }
316
+
317
+ .spacer {
318
+ flex: 1;
319
+ }
320
+ `,
321
+ ];
322
+ async focusPrompt() {
323
+ await this.updateComplete;
324
+ this.shadowRoot?.querySelector('textarea')?.focus();
325
+ }
326
+ clear() {
327
+ this.value = '';
328
+ this.emitInput('');
329
+ this.autogrow();
330
+ }
331
+ render() {
332
+ return html `
333
+ <div
334
+ class="composer"
335
+ @dragover=${this.handleDragOver}
336
+ @dragleave=${this.handleDragLeave}
337
+ @drop=${this.handleDrop}
338
+ >
339
+ <input
340
+ class="fileInput"
341
+ type="file"
342
+ multiple
343
+ accept="image/png,image/jpeg,image/webp,image/gif,text/*,application/json,application/xml,application/yaml,application/csv"
344
+ @change=${this.handleFileInputChange}
345
+ />
346
+ ${this.attachments.length
347
+ ? html `
348
+ <div class="attachmentRow">
349
+ ${this.attachments.map((attachment) => this.renderChip(attachment))}
350
+ </div>
351
+ `
352
+ : ''}
353
+ <textarea
354
+ .value=${this.value}
355
+ placeholder=${this.placeholder}
356
+ ?disabled=${this.disabled}
357
+ rows="1"
358
+ @input=${this.handleTextInput}
359
+ @keydown=${this.handleKeydown}
360
+ @paste=${this.handlePaste}
361
+ ></textarea>
362
+ <div class="controlsRow">
363
+ <dees-button
364
+ size="sm"
365
+ type="ghost"
366
+ ?disabled=${this.disabled}
367
+ @clicked=${() => this.shadowRoot?.querySelector('.fileInput')?.click()}
368
+ >
369
+ <dees-icon icon="lucide:Paperclip" iconSize="14"></dees-icon>
370
+ </dees-button>
371
+ ${this.showModelControls && (this.modelOptions.length || this.effortOptions.length)
372
+ ? html `
373
+ <div class="modelControls">
374
+ ${this.modelOptions.length
375
+ ? html `
376
+ <dees-input-dropdown
377
+ class="modelSelect"
378
+ .options=${toDropdownOptions(this.modelOptions)}
379
+ .selectedOption=${this.model ? { option: this.model, key: this.model } : null}
380
+ .disabled=${this.disabled}
381
+ @selectedOption=${(event) => {
382
+ this.model = event.detail?.key ?? this.model;
383
+ this.emitModelChange();
384
+ }}
385
+ ></dees-input-dropdown>
386
+ `
387
+ : ''}
388
+ ${this.effortOptions.length
389
+ ? html `
390
+ <dees-input-dropdown
391
+ class="effortSelect"
392
+ .options=${toDropdownOptions(this.effortOptions)}
393
+ .selectedOption=${this.reasoningEffort
394
+ ? { option: this.reasoningEffort, key: this.reasoningEffort }
395
+ : null}
396
+ .disabled=${this.disabled}
397
+ @selectedOption=${(event) => {
398
+ this.reasoningEffort = event.detail?.key ?? this.reasoningEffort;
399
+ this.emitModelChange();
400
+ }}
401
+ ></dees-input-dropdown>
402
+ `
403
+ : ''}
404
+ </div>
405
+ `
406
+ : ''}
407
+ <span class="spacer"></span>
408
+ ${this.busy
409
+ ? html `
410
+ <dees-button type="destructive" size="sm" @clicked=${() => this.emit('harness-abort', {})}>
411
+ Stop
412
+ </dees-button>
413
+ `
414
+ : ''}
415
+ ${this.busy && !this.value.trim() && this.queuedCount > 0
416
+ ? html `
417
+ <dees-button type="accent" size="sm" @clicked=${() => this.emit('harness-steer', { queuedCount: this.queuedCount })}>
418
+ Steer now
419
+ </dees-button>
420
+ `
421
+ : html `
422
+ <dees-button
423
+ type="accent"
424
+ size="sm"
425
+ ?disabled=${this.disabled || (this.busy && !this.value.trim())}
426
+ @clicked=${() => this.send()}
427
+ >
428
+ Send
429
+ </dees-button>
430
+ `}
431
+ </div>
432
+ </div>
433
+ `;
434
+ }
435
+ renderChip(attachment) {
436
+ const imageUrl = attachment.kind === 'image' && attachment.dataBase64
437
+ ? `data:${attachment.mediaType};base64,${attachment.dataBase64}`
438
+ : '';
439
+ return html `
440
+ <span class="attachmentChip">
441
+ ${imageUrl
442
+ ? html `<img src=${imageUrl} alt=${attachment.name} />`
443
+ : html `<dees-icon icon="lucide:FileText" iconSize="13"></dees-icon>`}
444
+ <span class="chipName" title=${attachment.name}>${attachment.name}</span>
445
+ <span class="chipSize">${harnessFormatBytes(attachment.size)}</span>
446
+ <button
447
+ class="chipRemove"
448
+ type="button"
449
+ title="Remove attachment"
450
+ @click=${() => {
451
+ this.emitAttachments(this.attachments.filter((candidate) => candidate.id !== attachment.id));
452
+ }}
453
+ >
454
+ <dees-icon icon="lucide:X" iconSize="11"></dees-icon>
455
+ </button>
456
+ </span>
457
+ `;
458
+ }
459
+ // ------------------------------------------------------------------ input
460
+ handleTextInput = (__runInitializers(this, _showModelControls_extraInitializers), (event) => {
461
+ this.value = event.currentTarget.value;
462
+ this.emitInput(this.value);
463
+ this.autogrow();
464
+ });
465
+ handleKeydown = (event) => {
466
+ if (event.key === 'Enter' && (event.metaKey || event.ctrlKey)) {
467
+ event.preventDefault();
468
+ this.send();
469
+ }
470
+ };
471
+ autogrow() {
472
+ const textarea = this.shadowRoot?.querySelector('textarea');
473
+ if (!textarea)
474
+ return;
475
+ textarea.style.height = 'auto';
476
+ textarea.style.height = `${Math.min(textarea.scrollHeight, window.innerHeight * 0.4)}px`;
477
+ }
478
+ // ------------------------------------------------------------ attachments
479
+ handleFileInputChange = (event) => {
480
+ const input = event.currentTarget;
481
+ void this.addFiles(input.files);
482
+ input.value = '';
483
+ };
484
+ handlePaste = (event) => {
485
+ const files = Array.from(event.clipboardData?.files ?? []);
486
+ if (!files.length)
487
+ return;
488
+ event.preventDefault();
489
+ void this.addFiles(files);
490
+ };
491
+ handleDragOver = (event) => {
492
+ if (!event.dataTransfer?.types.includes('Files'))
493
+ return;
494
+ event.preventDefault();
495
+ this.shadowRoot?.querySelector('.composer')?.classList.add('dragOver');
496
+ };
497
+ handleDragLeave = () => {
498
+ this.shadowRoot?.querySelector('.composer')?.classList.remove('dragOver');
499
+ };
500
+ handleDrop = (event) => {
501
+ this.shadowRoot?.querySelector('.composer')?.classList.remove('dragOver');
502
+ const files = Array.from(event.dataTransfer?.files ?? []);
503
+ if (!files.length)
504
+ return;
505
+ event.preventDefault();
506
+ void this.addFiles(files);
507
+ };
508
+ async addFiles(fileList) {
509
+ const files = Array.from(fileList ?? []);
510
+ if (!files.length)
511
+ return;
512
+ const added = [];
513
+ let totalBytes = this.attachments.reduce((sum, attachment) => sum + attachment.size, 0);
514
+ for (const file of files) {
515
+ const mediaType = harnessMediaTypeForFile(file);
516
+ if (!harnessIsSupportedAttachmentType(mediaType)) {
517
+ this.emit('harness-attachment-error', {
518
+ message: `Unsupported attachment type for ${file.name || 'file'}: ${mediaType}`,
519
+ });
520
+ continue;
521
+ }
522
+ if (file.size > this.maxAttachmentBytes) {
523
+ this.emit('harness-attachment-error', {
524
+ message: `${file.name || 'file'} is too large. Max per attachment is ${harnessFormatBytes(this.maxAttachmentBytes)}.`,
525
+ });
526
+ continue;
527
+ }
528
+ if (totalBytes + file.size > this.maxTotalAttachmentBytes) {
529
+ this.emit('harness-attachment-error', {
530
+ message: `Attachments exceed the ${harnessFormatBytes(this.maxTotalAttachmentBytes)} total limit.`,
531
+ });
532
+ break;
533
+ }
534
+ try {
535
+ const dataBase64 = await harnessFileToBase64(file);
536
+ const isImage = harnessSupportedImageTypes.has(mediaType);
537
+ added.push({
538
+ id: globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(16).slice(2)}`,
539
+ name: file.name || (isImage ? `pasted-image-${Date.now()}` : `attachment-${Date.now()}`),
540
+ mediaType,
541
+ size: file.size,
542
+ kind: isImage ? 'image' : 'text',
543
+ dataBase64,
544
+ });
545
+ totalBytes += file.size;
546
+ }
547
+ catch (error) {
548
+ this.emit('harness-attachment-error', {
549
+ message: error instanceof Error ? error.message : String(error),
550
+ });
551
+ }
552
+ }
553
+ if (added.length) {
554
+ this.emitAttachments([...this.attachments, ...added]);
555
+ }
556
+ }
557
+ // ------------------------------------------------------------------ emits
558
+ send() {
559
+ if (this.disabled)
560
+ return;
561
+ const detail = {
562
+ text: this.value,
563
+ attachments: this.attachments,
564
+ model: this.model || undefined,
565
+ reasoningEffort: this.reasoningEffort || undefined,
566
+ };
567
+ this.emit('harness-send', detail);
568
+ }
569
+ emitInput(value) {
570
+ this.emit('harness-input', { value });
571
+ }
572
+ emitAttachments(attachments) {
573
+ this.attachments = attachments;
574
+ this.emit('harness-attachments-change', { attachments });
575
+ }
576
+ emitModelChange() {
577
+ this.emit('harness-model-change', { model: this.model, reasoningEffort: this.reasoningEffort });
578
+ }
579
+ emit(name, detail) {
580
+ this.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));
581
+ }
582
+ static {
583
+ __runInitializers(_classThis, _classExtraInitializers);
584
+ }
585
+ };
586
+ return DeesHarnessComposer = _classThis;
587
+ })();
588
+ export { DeesHarnessComposer };
589
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNvbXBvc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLWhhcm5lc3MtY29tcG9zZXIvZGVlcy1oYXJuZXNzLWNvbXBvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsVUFBVSxHQUNYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsZ0NBQWdDLEVBQ2hDLHlCQUF5QixFQUN6Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixHQUMzQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8saURBQWlELENBQUM7QUFDekQsT0FBTyxnRUFBZ0UsQ0FBQztBQUN4RSxPQUFPLDhDQUE4QyxDQUFDO0FBVXRELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxNQUFnQixFQUFxQixFQUFFLENBQ2hFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFekQ7Ozs7Ozs7Ozs7O0dBV0c7SUFFVSxtQkFBbUI7NEJBRC9CLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQzs7OztzQkFDRSxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21DQUFuQixTQUFRLFdBQVc7Ozs7aUNBSWpE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
@@ -0,0 +1 @@
1
+ export * from './dees-harness-composer.js';
@@ -0,0 +1,2 @@
1
+ export * from './dees-harness-composer.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1jb21wb3Nlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIn0=
@@ -0,0 +1,21 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import type { THarnessContentBlock } from '../interfaces.js';
3
+ import '../../00group-utility/dees-icon/dees-icon.js';
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ 'dees-harness-content-blocks': DeesHarnessContentBlocks;
7
+ }
8
+ }
9
+ /**
10
+ * Structural renderer for MCP CallToolResult content blocks: text, image,
11
+ * audio, embedded resources, and resource links keep their nature instead of
12
+ * being flattened to strings.
13
+ */
14
+ export declare class DeesHarnessContentBlocks extends DeesElement {
15
+ static demo: () => TemplateResult<1>;
16
+ static demoGroups: string[];
17
+ accessor blocks: THarnessContentBlock[];
18
+ static styles: import("@design.estate/dees-element").CSSResult[];
19
+ render(): TemplateResult;
20
+ private renderBlock;
21
+ }
@@ -0,0 +1 @@
1
+ export declare const demoFunc: () => import("@design.estate/dees-element").TemplateResult<1>;